import-run fails when there are duplicate metric values with SQL backend store

Running import-run with the attached directory succeeds with MLFLOW_TRACKING_URI set to some local directory, but fails when it's set to a tracking server that is backed by SQL.
I get this error:
Options:
  input_dir: /tmp/mlflow-export-9198135f4a4c40ccb76a8c2ae8c61d8a
  experiment_name: instinct
  mlmodel_fix: True
  use_src_user_id: False
  dst_notebook_dir: None
  dst_notebook_dir_add_run_id: None
in_databricks: False
importing_into_databricks: False
Importing run from '/tmp/mlflow-export-9198135f4a4c40ccb76a8c2ae8c61d8a'
Traceback (most recent call last):
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow_export_import/site-packages/mlflow_export_import/run/import_run.py", line 70, in _import_run
    self._import_run_data(src_run_dct, run_id, src_run_dct["info"]["user_id"])
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow_export_import/site-packages/mlflow_export_import/run/import_run.py", line 105, in _import_run_data
    run_data_importer.log_metrics(self.mlflow_client, run_dct, run_id, MAX_METRICS_PER_BATCH)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow_export_import/site-packages/mlflow_export_import/run/run_data_importer.py", line 38, in log_metrics
    _log_data(run_dct, run_id, batch_size, get_data, log_data)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow_export_import/site-packages/mlflow_export_import/run/run_data_importer.py", line 19, in _log_data
    log_data(run_id, batch)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow_export_import/site-packages/mlflow_export_import/run/run_data_importer.py", line 37, in log_data
    client.log_batch(run_id, metrics=metrics)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/tracking/client.py", line 1099, in log_batch
    self._tracking_client.log_batch(run_id, metrics, params, tags)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/tracking/_tracking_service/client.py", line 415, in log_batch
    self.store.log_batch(run_id=run_id, metrics=metrics_batch, params=[], tags=[])
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/store/tracking/rest_store.py", line 341, in log_batch
    self._call_endpoint(LogBatch, req_body)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/store/tracking/rest_store.py", line 57, in _call_endpoint
    return call_endpoint(self.get_host_creds(), endpoint, method, json_body, response_proto)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/utils/rest_utils.py", line 280, in call_endpoint
    response = verify_rest_response(response, endpoint)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/utils/rest_utils.py", line 206, in verify_rest_response
    raise RestException(json.loads(response.text))
mlflow.exceptions.RestException: BAD_REQUEST: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely)
(pymysql.err.IntegrityError) (1062, "Duplicate entry 'inside_3-16686312949540-0-557f04b0a45c4486b067a7e4205bb1b9-0-1' for key 'metrics.PRIMARY'")
[SQL: INSERT INTO metrics (`key`, value, timestamp, step, is_nan, run_uuid) VALUES (%(key)s, %(value)s, %(timestamp)s, %(step)s, %(is_nan)s, %(run_uuid)s)]
[parameters: ({'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4150, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4160, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4170, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4180, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4190, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4200, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0166667, 'timestamp':<PHONE_NUMBER>4200, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.016, 'timestamp':<PHONE_NUMBER>4210, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}  ... displaying 10 of 891 total bound parameter sets ...  {'key': 'inside_3', 'value': 0, 'timestamp':<PHONE_NUMBER>9680, 'step': 0, 'is_nan': 1, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_3', 'value': 0, 'timestamp':<PHONE_NUMBER>9690, 'step': 0, 'is_nan': 1, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'})]
(Background on this error at: https://sqlalche.me/e/14/gkpj)
Traceback (most recent call last):
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow_export_import/site-packages/mlflow_export_import/run/import_run.py", line 70, in _import_run
    self._import_run_data(src_run_dct, run_id, src_run_dct["info"]["user_id"])
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow_export_import/site-packages/mlflow_export_import/run/import_run.py", line 105, in _import_run_data
    run_data_importer.log_metrics(self.mlflow_client, run_dct, run_id, MAX_METRICS_PER_BATCH)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow_export_import/site-packages/mlflow_export_import/run/run_data_importer.py", line 38, in log_metrics
    _log_data(run_dct, run_id, batch_size, get_data, log_data)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow_export_import/site-packages/mlflow_export_import/run/run_data_importer.py", line 19, in _log_data
    log_data(run_id, batch)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow_export_import/site-packages/mlflow_export_import/run/run_data_importer.py", line 37, in log_data
    client.log_batch(run_id, metrics=metrics)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/tracking/client.py", line 1099, in log_batch
    self._tracking_client.log_batch(run_id, metrics, params, tags)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/tracking/_tracking_service/client.py", line 415, in log_batch
    self.store.log_batch(run_id=run_id, metrics=metrics_batch, params=[], tags=[])
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/store/tracking/rest_store.py", line 341, in log_batch
    self._call_endpoint(LogBatch, req_body)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/store/tracking/rest_store.py", line 57, in _call_endpoint
    return call_endpoint(self.get_host_creds(), endpoint, method, json_body, response_proto)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/utils/rest_utils.py", line 280, in call_endpoint
    response = verify_rest_response(response, endpoint)
  File "/Users/garymm/src/Astera-org/obelisk/bazel-bin/external/pip_mlflow_export_import/rules_python_wheel_entry_point_import-run.runfiles/pip_mlflow/site-packages/mlflow/utils/rest_utils.py", line 206, in verify_rest_response
    raise RestException(json.loads(response.text))
mlflow.exceptions.RestException: BAD_REQUEST: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely)
(pymysql.err.IntegrityError) (1062, "Duplicate entry 'inside_3-16686312949540-0-557f04b0a45c4486b067a7e4205bb1b9-0-1' for key 'metrics.PRIMARY'")
[SQL: INSERT INTO metrics (`key`, value, timestamp, step, is_nan, run_uuid) VALUES (%(key)s, %(value)s, %(timestamp)s, %(step)s, %(is_nan)s, %(run_uuid)s)]
[parameters: ({'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4150, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4160, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4170, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4180, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4190, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0, 'timestamp':<PHONE_NUMBER>4200, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.0166667, 'timestamp':<PHONE_NUMBER>4200, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_2', 'value': 0.016, 'timestamp':<PHONE_NUMBER>4210, 'step': 0, 'is_nan': 0, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}  ... displaying 10 of 891 total bound parameter sets ...  {'key': 'inside_3', 'value': 0, 'timestamp':<PHONE_NUMBER>9680, 'step': 0, 'is_nan': 1, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'}, {'key': 'inside_3', 'value': 0, 'timestamp':<PHONE_NUMBER>9690, 'step': 0, 'is_nan': 1, 'run_uuid': '557f04b0a45c4486b067a7e4205bb1b9'})]
(Background on this error at: https://sqlalche.me/e/14/gkpj)

mlflow-export-9198135f4a4c40ccb76a8c2ae8c61d8a.tar.gz

I guess this is an issue with MLFlow behaving differently with different backend stores and not the import. In theory the import could try to work around this by de-duplicating metric values when exporting and / or importing. I'll try to do that on my own before exporting.

I have managed to reproduce the error. Most probably an underlying MLflow issue since the export-import tool simply calls public APIs. Can you send the source code that creates the run?
Here's the MLflow tracking server schema: https://github.com/amesar/mlflow-resources/blob/master/MLflow_FAQ.md#mlflow-database-schema-mysql

CREATE TABLE `metrics` (
  `key` varchar(250) NOT NULL,
  `value` double NOT NULL,
  `timestamp` bigint(20) NOT NULL,
  `run_uuid` varchar(32) NOT NULL,
  `step` bigint(20) NOT NULL DEFAULT '0',
  `is_nan` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`key`,`timestamp`,`step`,`run_uuid`,`value`,`is_nan`),
  KEY `index_metrics_run_uuid` (`run_uuid`),
  CONSTRAINT `metrics_ibfk_1` FOREIGN KEY (`run_uuid`) REFERENCES `runs` (`run_uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

The primary key is PRIMARY KEY (`key`,`timestamp`,`step`,`run_uuid`,`value`,`is_nan`).
There is a primary key constraint violation. Not sure how that could happen since the tool simply reads in the previous values that were correctly stored into the previous database.
BTW, before you bomb:
select count(*) from metrics;
+----------+
| count(*) |
+----------+
|    70074 |
+----------+

So I dropped the primary key on the metrics table in the "imported database" and loaded all your metrics.  There are 4630 instances of clashing primary keys (see attachment). How this got into the original database is weird. If you want to debug it, I'd suggest you set up a scratch database and drop the primary key with alter table metrics DROP PRIMARY KEY;. Then train your model and execute this query to see if there any duplicates:
SELECT `key`, `timestamp`, `step`, `run_uuid`, `value`, `is_nan`, count(*)
FROM metrics
GROUP BY `key`, `timestamp`, `step`, `run_uuid`, `value`, `is_nan`
HAVING COUNT(*) > 1

query_mlflow_garymm.log

OK, I found a problem. The timestamps in your imported metrics table are not legitimate "milliseconds since the Unix epoch". There seems to be extra zero at the end. For example,<PHONE_NUMBER>9530 instead of legitimate<PHONE_NUMBER>953.  If I convert the timestamp to datetime I get: Tuesday, October 7, 2498 10:55:49.570 AM [GMT-04:00]. Without the trailing 0 I get Wednesday, November 16, 2022 3:41:34.957 PM [GMT-05:00].  How that happened beats me. I would check the original timestamps in your source database: select timestamp from metrics limit 10.

Thanks for looking into this!
The source is not a database, it's a file store. The file store doesn't have any constraint on duplicate entries.
I fixed the bug that was causing the invalid timestamps but even then the database rejects duplicate entries.
I think the root cause here is different behavior between the file store and SQL store, which is an MLFlow issue, not an import-export issue, but the import could in theory sanitize the inputs by removing duplicates.
Anyways I've changed my code to do this sanitization, so I'm not blocked.
You can feel free to keep this open if you want to do the sanitization, or close it if you don't.
Thanks again!

I would never the file store - it certainly isn't meant to be production quality. Besides, it doesn't even support the model registry. Never understood why MLflow has such a weird creature. The simplest and safe way is to just use en embedded sqlite database.


Yaml config

Store launch config information in yaml files.
path: tool/test.dart
type: cli

cli:
  args: one two three
  checked: true
  debug: true

fix https://github.com/dart-atom/dartlang/issues/524, fix https://github.com/dart-atom/dartlang/issues/513, fox https://github.com/dart-atom/dartlang/issues/359,


Cannot install through bower

Hi,
I have a problem with installing your repo with bower.
It returns
" Failed to execute 'git clone https://github.com/justjohn/twig.js.git -b v0.9.5 --progress . --depth 1' exit code of #128
It fails during checkout, because of detached HEAD.
Is there anything I should change?
In by bower.json it is set this way    "twig.js": "^0.8.9",

IMHO, Bower install should be replaced by using npm install anyway.   Bower is "old school" :-)

@OndrejPiza we're discussing Bower (and @mikeerickson the question of what parts of the development world do and don't still use it;) in #374

@olets it was a tongue and cheek comment.  I still have projects that use bower (but all new projects only use npm)

Thank you for pointing me to that thread.
If I understand correctly, bower is not or at least won't be in nearest future supported anymore. So we should migrate to npm instead.

@OndrejPiza while not an "official" statement, trends state otherwise.

@mikeerickson yes understood :)
@OndrejPiza that's right, twig.js doesn't currently support Bower

OK, I tried it experimentaly on other PC and even pure Git (TortoiseGit in my case) cannot clone this repository.
But other guys, who are working on Linux don't have this type of problem, only I work on Windows. So it look like this has something to do with Windows.
error: unable to create file test/templates/namespaces_::.twig (Invalid argument)
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

Hi @OndrejPiza. As you have said this looks like a Windows specific issue. I'll open a seperate Issue for this as its unrelated to bower.


When a user content is too long, it will only output system content

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[x] I am running the latest code. Development is very rapid so there are no tagged versions as of now.
[x] I carefully followed the README.md.
[x] I searched using keywords relevant to my issue to make sure that I am creating a new issue that is not already open (or closed).
[x] I reviewed the Discussions, and have a new bug or useful enhancement to share.

Expected Behavior
In [1]: from llama_cpp import Llama
In [2]: llm = Llama('../../Chinese-LLaMA-Alpaca-Plus-13b-merge/ggml-model-q4_0.bin')
llama.cpp: loading model from ../../Chinese-LLaMA-Alpaca-Plus-13b-merge/ggml-model-q4_0.bin
llama_model_load_internal: format     = ggjt v3 (latest)
llama_model_load_internal: n_vocab    = 49954
llama_model_load_internal: n_ctx      = 512
llama_model_load_internal: n_embd     = 5120
llama_model_load_internal: n_mult     = 256
llama_model_load_internal: n_head     = 40
llama_model_load_internal: n_layer    = 40
llama_model_load_internal: n_rot      = 128
llama_model_load_internal: ftype      = 2 (mostly Q4_0)
llama_model_load_internal: n_ff       = 13824
llama_model_load_internal: model size = 13B
llama_model_load_internal: ggml ctx size =    0.09 MB
llama_model_load_internal: mem required  = 9130.33 MB (+ 1608.00 MB per state)
llama_new_context_with_model: kv self size  =  400.00 MB
AVX = 1 | AVX2 = 1 | AVX512 = 1 | AVX512_VBMI = 1 | AVX512_VNNI = 1 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 1 | VSX = 0 |

system content is to tell llama to translate English to Chinese. If user content is too long, it will only output system content.
In [3]: llm.create_chat_completion([{'role': 'system', 'content': '请将以下 pod 文档从英文翻译为中文，只输出翻译结果'}, {'role': 'user', 'content': 'As with the com
      1 mands described in Section 1, the commands described in this section terminate with an exit status that indicates whether the command succeeded or failed.
   ...: See B<intro>(1)  for more information.'}])

llama_print_timings:        load time = 52504.15 ms
llama_print_timings:      sample time =    38.44 ms /    17 runs   (    2.26 ms per token,   442.25 tokens per second)
llama_print_timings: prompt eval time = 52504.10 ms /    75 tokens (  700.05 ms per token,     1.43 tokens per second)
llama_print_timings:        eval time = 12056.55 ms /    16 runs   (  753.53 ms per token,     1.33 tokens per second)
llama_print_timings:       total time = 64719.20 ms
{
    'id': 'chatcmpl-0aa570ad-5b91-46f8-963f-bab69e014ba4',
    'object': 'chat.completion',
    'created':<PHONE_NUMBER>,
    'model': '../../Chinese-LLaMA-Alpaca-Plus-13b-merge/ggml-model-q4_0.bin',
    'choices': [{'index': 0, 'message': {'role': 'assistant', 'content': '请将以下 pod 文档从英文翻译为中文，只输出翻译结果'}, 'finish_reason': 'stop'}],
    'usage': {'prompt_tokens': 75, 'completion_tokens': 16, 'total_tokens': 91}
}

If user content is not too long, it can work.
In [4]: llm.create_chat_completion([{'role': 'system', 'content': '请将以下 pod 文档从英文翻译为中文，只输出翻译结果'}, {'role': 'user', 'content': 'As with the com
      1 mands described in Section 1'}])
Llama.generate: prefix-match hit

llama_print_timings:        load time = 52504.15 ms
llama_print_timings:      sample time =    24.76 ms /    11 runs   (    2.25 ms per token,   444.32 tokens per second)
llama_print_timings: prompt eval time =  3333.00 ms /     7 tokens (  476.14 ms per token,     2.10 tokens per second)
llama_print_timings:        eval time = 11144.95 ms /    10 runs   ( 1114.50 ms per token,     0.90 tokens per second)
llama_print_timings:       total time = 14593.32 ms
{
    'id': 'chatcmpl-18277df7-f659-459c-a436-b84c498308cc',
    'object': 'chat.completion',
    'created':<PHONE_NUMBER>,
    'model': '../../Chinese-LLaMA-Alpaca-Plus-13b-merge/ggml-model-q4_0.bin',
    'choices': [{'index': 0, 'message': {'role': 'assistant', 'content': '正如在第1章中描述的命令一样'}, 'finish_reason': 'stop'}],
    'usage': {'prompt_tokens': 42, 'completion_tokens': 10, 'total_tokens': 52}
}

I am not sure is it a bug of llama-cpp-python or a bug of llama-cpp or it is just an expected behaviour, so I report it.

Try increasing n_ctx to 2048, the current maximum supported by llama models.

Is it related to model size? I try n_ctx=2048 can work for 7B model, but it still output system content.
Does changing large n_ctx will slow the inference speed?
BTW, why not output a warning to tell user to enlarge n_ctx when n_ctx is not enough large? output system content is very confusing.

Larger n_ctx improve the quality of output at a significant performance hit and somewhat more memory usage:
https://docs.google.com/spreadsheets/d/1UsbivogLMrQbBA-Fk0ESRGTrvCsknBUieSykfWn6D9Q/edit#gid=0

Lower perplexities are better.
Lower perf (run time for the perplexity test) are better.


Change project name to ngx-busy

Thus this project going to be aligned with other Angular projects.
Do you agree?

@LFeh this is dupe of https://github.com/devyumao/angular2-busy/issues/51

Ahh, sorry. I did not view this issue.


Upgrade xorm to v1.0.3

As title. This may fix some backup / restore problems.

:rocket:

ping LG-TM


feat(frontend): Page for Terms and Conditions

Motivation
We need a Terms and Condition page for OISY. The text was approved by Legal team. So, we set an independent page, agnostic to signed in or not.
https://github.com/user-attachments/assets/f457db63-d6e8-48d8-9982-f93f71376baf

[OISY-122]

@peterpeterparker you are right, new PR for the route:

PR #3120


chore: bump dfx version

Updates the version of dfx to 0.22.0 in the project's dfx.json file.

Pending next dfx release per internal Slack conversation.


Updates to Webpack 4

@dmitmel I'm giving you a PR as an update to your PR. It resolves the conflicts in the package.json files and hopefully get's merged.

Thanks, @jeremy-clearlabs!


Page not refreshed after backend request

In some instances, the content of the page is not refreshed after getting results back from the backend. Moving to another tab will finally force the page to refresh. This might have something to do with the way newer version of react-native-router-flux behaves.

After further investigation, this issue seems to be iOS specific.

Issue seems to be fixed after updating react-native version


confused SharedMountPoint with StorPool information in log files

ISSUE TYPE

Improvement Request

COMPONENT NAME

Logging

CLOUDSTACK VERSION

4.17.1

CONFIGURATION

kvm
SharedMountPoint (CephFS)
OS / ENVIRONMENT

CentOS Linux release 7.9.2009 (Core) 3.10.0-1160.45.1.el7.x86_64
libvirt-4.5.0-36.el7_9.5.x86_64
qemu-kvm-ev-2.12.0-44.1.el7_8.1.x86_64
qemu-img-ev-2.12.0-44.1.el7_8.1.x86_64
qemu-kvm-common-ev-2.12.0-44.1.el7_8.1.x86_64
libvirt-daemon-driver-qemu-4.5.0-36.el7_9.5.x86_64
SUMMARY

Having upgrade from 4.16.1 to 4.17.1 recently, "Storpool" class/component name throwing around in the log, which is inaccurate for the setup are NOT involving StorPool.
eg:

new agent logs
/var/log/cloudstack/agent/storpool-agent.log
[excerpt]

2022-10-04 15:00:48,048 StorpooolStorageAdaptor.disconnectPhysicalDiskByPath: localPath=/cloudstack/sg1/d0126a5a-62c9-4935-b6f8-bba159d6fbae
2022-10-04 16:19:00,190 StorpooolStorageAdaptor.disconnectPhysicalDiskByPath: localPath=/cloudstack/sg1/d0126a5a-62c9-4935-b6f8-bba159d6fbae

managemnet log
[excerpt]

snapshot=worker-2_ROOT-1136_20211122045039, uuid=bdc1c054-f455-46cb-a457-d3cf912bedba, op=REVERT
2022-10-04 17:05:47,664 DEBUG [o.a.c.s.s.StorPoolSnapshotStrategy] (qtp775386112-1654:ctx-5092e9c6 ctx-b3a05d56) (logid:bdc75a7c) StorpoolSnapshotStrategy.canHandle: snapshot=worker-1_ROOT-821_20211122045029, uuid=614277a3-980c-444f-b3bc-753e82a63e19, op=REVERT
2022-10-04 17:05:47,671 DEBUG [o.a.c.s.s.StorPoolSnapshotStrategy] (qtp775386112-1654:ctx-5092e9c6 ctx-b3a05d56) (logid:bdc75a7c) StorpoolSnapshotStrategy.canHandle: snapshot=worker-0_ROOT-820_20211122045019, uuid=9b142e93-52a0-40e0-ba70-9a8f08628821, op=REVERT
2022-10-04 17:05:47,688 DEBUG [o.a.c.s.s.StorPoolSnapshotStrategy] (qtp775386112-1654:ctx-5092e9c6 ctx-b3a05d56) (logid:bdc75a7c) StorpoolSnapshotStrategy.canHandle: snapshot=master-2_ROOT-819_20211122044950, uuid=21e94baa-7487-4b9b-8e36-cbbc65b34a5d, op=REVERT

STEPS TO REPRODUCE

1. Upgrade to 4.17.1
2. Examine the logs

EXPECTED RESULTS

Should report accurate log information of current component

ACTUAL RESULTS

Mixed up SharedMountPoint with StorPool

Besides, classname StorpooolStorageAdaptor should be StorpoolStorageAdaptor

cc @slavkap can you help us triage/investigate this? Thanks.

yes, @rohityadavcloud, I did some investigation.
Actually, we do not mix anymore with the SharedMoutPoint.
@levindecaro, the disconnectPhysicalDiskByPath is invoked for all StorageAdaptors till one returns true:
    public boolean disconnectPhysicalDiskByPath(String path) {
        s_logger.debug(String.format("Disconnect physical disk by path: %s", path));
        for (Map.Entry<String, StorageAdaptor> set : _storageMapper.entrySet()) {
            StorageAdaptor adaptor = set.getValue();

            if (adaptor.disconnectPhysicalDiskByPath(path)) {
                s_logger.debug(String.format("Disconnected physical disk by local path: %s, using the storage adaptor for pool type: %s", path, set.getKey()));
                return true;
            }
        }

        return false;
    }

Which is not the best option instead of providing the correct StorageAdaptor.
Because we are logging everything which invokes our functionality, the storpool-agent.log is created in this case. I'll change this to be logged in the agent.log
For the management.log the situation is the same -  the canHandle method is invoked for all Storage plugins that implement the SnapshotStrategy. You don't see logs for the rest because there aren't any.
For me, the more logs, the better, but to avoid any confusion, I will remove them.
Thanks!

@slavkap
Thanks for your explanation, I agree more verbose logging help for troubleshooting, for this case, it was leading myself to dig into source code for an error which is not relate to my current infrastructure. Since upgrade 4.17.1, I'd hard time to verify every component functionality, especially on kvm snapshot change.

and is only extra logging needed, or should/can we make the dismount more intelligent?
BTW this is true for more storage/network/hypervisorguru operations.

@DaanHoogland, yes, I will prepare a PR that removes the logging to a StorPool's file when CS invokes our functionality, and it's not related to a StorPool storage

@slavkap is this issue still relevant?

hey @DaanHoogland, the creation of the storpool-agent.log file is removed if there isn't a StorPool storage in PR 6661

hey @DaanHoogland, the creation of the storpool-agent.log file is removed if there isn't a StorPool storage in PR 6661

So it can be closed?

fixed in #6661


New option: keep my indentation as is

I would love to have an option like 'keep-indent': true
To keep indentation in file as it is.
Example:
.block {
    somerules: somevals
    }
    .block-inner {
        somerules: somevals
        }
    .block-close {
        somerules: somevals
        }

And I don't want to change indentation at all according to code guide of company i work at.

You might also want to remove "space-after-selector-delimiter".

It doesn't work. To remove the option make all indentation to be removed.


AIs building economic buildings too close to an enemy player (and trying to defend them)

I think that perhaps the AI should not build, or at least try and defend, farms, woodcutters, mines or quarries too close to an enemy castle, unless the enemy is weak and the buildings can be defended. They tend to simply waste gold on making archers or crossbowmen to try and defend them, which drains their economy, especially for Arabian AIs who can produce and send groups of up to about 15-20 Arabian archers, or in the case of Wazir, 15-20 horse archers, to try and defend a building, which is expensive.
The archers, crossbowmen or horse archers can do some damage to tower mounted missile troops but, unless the enemy is quite weak, it isn't usually worth the expense of sending them to try and defend an economic building within range of an enemy castle.

Another good thing would be:
If is it changed so that AIs can't build economic buildings too close to an enemy and as a result of this, an AI isn't able to build all the farms they can build (especially with the AIs who build loads of farms), they could build an additional quarry or iron mines instead if they have a iron or stone supply close to their castle so they don't have a hit to their economy.
Although this would be very hard to mod I think :(

I have also thought about that, but it's probably pretty complex to implement.

Sounds cool, but indeed complex to implement.
And it might reduce "uniqueness" of AI characters a bit - I mean, the Wolf, King of the Quarries, depending largely on stone selling, and the Abbot, God of the Wheat Farms, depending largely on selling wheat and bread, would lose a bit of their character if they could just "swap places" in terms of economy. And for those AI characters relying on dairy farms mainly, they would not really gain much from more dairy farms, I fear (balancing issue).
The ability to use unbalanced maps on purpose, in order to set up more interesting matches - e.g. Wolf without the ability to build all of his quarries, vs someone weaker like the Abbot, with plenty of farmland - would be reduced as well I guess, if Wolf just takes Abbot's farmland for his own then.
Overall, it could still be a positive change though, if doable that is.


2023-JUN-15 - Add Get Product Book which returns a list of bids and asks.

2023-JUN-15 - Add Get Product Book which returns a list of bids and asks.
see: https://docs.cloud.coinbase.com/advanced-trade-api/docs/changelog

Appreciate the feedback, addressed in 1.2.0


Fixes array without items for custom fields

Reasons for making this change
The jsonschema of an array may omit the items property, similarly to #589, with this fix it's possible to create a field for custom arrays without items defined by the schema.

:+1:


Handle defaults in service config in a uniform manner in the orchestrator

This issue is created based off of this discussion. Currently, the generic client checks the absence of key fields in the builder's build method for the integrity of the client.
When a service config is created all the way from ConfigLoader, this usually is not an issue because proper defaults will be provided along the way. But as mentioned above, creating a generic client can run into those missing fields without guardrails. In the orchestrator, we can afford to design a new way to provide proper defaults prior to the execution of the orchestrator.

I think the way defaults work have been redone since this was filed.


Catalog Next + RC

This is the overall implementation plan for the first stage of Catalog Next.

[x] Create DB table in DCS
[x] Populate the DB table with RC metadata

[x] Database migration routine checks all repos and adds valid ones to the door43_catalog table
[x] Hook into Gitea DB update routine for any commit/tag/repo event
[x] Repo, branch, tag deletions removes it from door43_catalog table

[ ] Create DCS repo badges

[x] Visible on /releases page
[x] Visible on repo “snapshot” listing in /explore or in /org_name/
[x] Catalog badge at top of repo in the Watch/Fork/Star area that links to the latest release page
[x] Catalog page

[ ] Create Catalog page at /catalog

[ ] Add Language: $lang_name and Description and Released: $prod_date

[ ] Create the new API endpoints for catalog next

A repo listing on the catalog page should look like this:
$title (version tag)
$subject_value
Released: 2020-06-10
Language: English (en)


Add AmazonMQ Grafana dashboard

Trello card
Replicate as much as possible from the existing RabbitMQ dashboard into a new AWS/AmazonMQ dashboard, pulling metrics from CloudWatch.
This new dashboard shows message counts (ready / unack'ed / total) and consumer counts for each queue.
It was not possible to bring across the exchange publish rates from the existing RabbitMQ dashboard, as CloudWatch does not expose those metrics.
It's been deployed on integration and works (although there hasn't been much activity to graph, we published some docs around 12 noon on Jan 12th):

No longer shows up on integration Grafana, but screenshots look good so 👍


3.9.0-preview2: Fix preview version

Pull Request Template
Description
3.9.0 hasn't been released so the preview version should be 3.9.0-preview2
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How is 'preview2" suffix generated?

How is 'preview2" suffix generated?

The way it has been done in the past is modifying the csproj to add it. I will add it when I create the release branch. As part of my PR to refactor the csproj I will fix this so it can be passed in.


Official page game loading forever

I see multiple dots moving in circles.

This dots

This dots

#35 related?

#35 related?

Yes, i'm working on that issue ; D Thank for report

Yes, i'm working on that issue ; D Thank for report


Hardcoded Base URL in alerts.html

Hardcoded URL needs to be altered to, well, not be...

Added site framework and now pulling domain for URL from db.


[FORK] Minimal CI pipeline

As we are private currently we cant run GitHub actions. This should be fixed asap.
PR to remove workflows: #15
PR to revert removal: #16

The repository is not public, and CI seems to be running fine.


feat: extend epoch quote validation

Please read contributing guidelines and remove this line.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#10863  👈 (View in Graphite)
#10734
#10695
#10694
#10672
master

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


Trendline is different if points are away from X origin

I'm trying to add a trend line on a highcharts chart. However, the trend line is different If I set the points away from X axis origin.
It's easier to explain with an example.
This is my code:
var serieData = [
        [1000, 0.82],
        [240000, 0.85],
        [480000, 0.83],
        [1920000, 0.78],
        [3000000, 0.81]
    ];

  Highcharts.chart('container', {
            title: {
                text: "Speed"
            },
            chart: {
                type: 'scatter',
                zoomType: 'xy'
            },
            yAxis: {
                title: {
                    text: "Speed m/s"
                }
            },
            xAxis: {
                type: 'datetime',
                title: {
                    text: "Time hh:mm"
                }
            },

            series: [{
                regression: true,
                regressionSettings: {
                    name: 'Tendencia',
                    type: 'polynomial',
                    order: 3,
                    color: 'rgba(223, 183, 83, .9)',
                    dashStyle: 'dash'
                },
                name: "Sample",
                color: 'rgba(223, 83, 83, .5)',
                data: serieData
            }],
            responsive: {
                rules: [{
                    condition: {
                        maxWidth: 500
                    },
                    chartOptions: {
                        legend: {
                            layout: 'horizontal',
                            align: 'center',
                            verticalAlign: 'bottom'
                        }
                    }
                }]
            }
        });

That code produces the next chart:

Now I want to move the points to their correct timestamp. So:
serieData = [
        [1519810440000, 0.82],
        [1519810800000, 0.85],
        [1519811280000, 0.83],
        [1519812480000, 0.78],
        [1519813620000, 0.81]
    ];

However, with that UTC values, the trend line is different:

You can reproduce the behaviour here: https://jsfiddle.net/5vLuwba8/
Any ideas?

Thanks for reporting it
Definitely we have issues with timestamps in the x-axis. Not sure if
related with precision on the equation, when x values are high, I need to
analyze it carefully - If you have any thoughts let me know please
El jue., 29 ago. 2019 a las 7:11, Rumpelstinsk<EMAIL_ADDRESS>escribió:

I'm trying to add a trend line on a highcharts chart. However, the trend
line is different If I set the points away from X axis origin.
It's easier to explain with an example.
This is my code:
var serieData = [
[1000, 0.82],
[240000, 0.85],
[480000, 0.83],
[1920000, 0.78],
[3000000, 0.81]
];
Highcharts.chart('container', {
title: {
text: "Speed"
},
chart: {
type: 'scatter',
zoomType: 'xy'
},
yAxis: {
title: {
text: "Speed m/s"
}
},
xAxis: {
type: 'datetime',
title: {
text: "Time hh:mm"
}
},
        series: [{
            regression: true,
            regressionSettings: {
                name: 'Tendencia',
                type: 'polynomial',
                order: 3,
                color: 'rgba(223, 183, 83, .9)',
                dashStyle: 'dash'
            },
            name: "Sample",
            color: 'rgba(223, 83, 83, .5)',
            data: serieData
        }],
        responsive: {
            rules: [{
                condition: {
                    maxWidth: 500
                },
                chartOptions: {
                    legend: {
                        layout: 'horizontal',
                        align: 'center',
                        verticalAlign: 'bottom'
                    }
                }
            }]
        }
    });

That code produces the next chart:
[image: enter image description here]
https://i.stack.imgur.com/MqEeT.png
Now I want to move the points to their correct timestamp. So:
serieData = [
[1519810440000, 0.82],
[1519810800000, 0.85],
[1519811280000, 0.83],
[1519812480000, 0.78],
[1519813620000, 0.81]
];
However, with that UTC values, the trend line is different:
[image: enter image description here]
https://i.stack.imgur.com/pM8rT.png
You can reproduce the behaviour here: https://jsfiddle.net/5vLuwba8/
Any ideas?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/streamlinesocial/highcharts-regression/issues/95?email_source=notifications&email_token=AAP5GLUUXTFFDVISXINYAA3QG6OEBA5CNFSM4ISANG5KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HIE7WBQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAP5GLSVDKC6OPHZUCK2ACDQG6OEBANCNFSM4ISANG5A
.


chore: remove gorilla mux and add chi

Changes

:broom: Remove gorilla mux ( depreacted )
:gift: Add chi

/kind

Fixes https://github.com/knative/func/issues/1469

Release Note

- Remove [gorilla mux](https://github.com/gorilla/mux) dependency.
- Add [chi](https://github.com/go-chi/chi) router.

Docs

Hi @lance,
I am trying to test it, but without success:
kn func create chi -l go -t func-go --repository https://github.com/mcruzdev/func-go
Error: language runtime not found
Error: exit status 1

should this repo have the same directory tree as func-tastic?

Thank you @lance, I will do it :)


Format tool raises exception

Bug Report
Machine specs

Crystal 1.10.1
LLVM: 15.0.7
Default target: x86_64-apple-macosx
MacOS 13.6

found a bug with the format CLI tool
Example code:
# format_bug.cr

id = 1
alarm_id = "100"
active = true

String::Builder.new("") << id << ", " \
  << alarm_id << ", " \
  << active

Running crystal tool format gives the response:
there's a bug formatting './format_bug.cr', to show more information, please run:

$ crystal tool format --show-backtrace './format_bug.cr'

running crystal tool format --show-backtrace './format_bug.cr' gives the response:
expecting DELIMITER_START, not `<<, `, at :6:3 (Exception)
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'raise<Exception>:NoReturn'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'raise<String>:NoReturn'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::Formatter#visit<Crystal::StringLiteral>:Bool'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::Formatter#visit<Crystal::StringLiteral>:Bool'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::Formatter>:(Bool | Nil)'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::Formatter#visit<Crystal::Call>:Bool'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::Formatter>:(Bool | Nil)'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::Formatter#visit<Crystal::Call>:Bool'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::Formatter>:(Bool | Nil)'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::Formatter#visit<Crystal::Call>:Bool'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::Formatter>:(Bool | Nil)'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::Formatter#visit<Crystal::Call>:Bool'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::Formatter>:(Bool | Nil)'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::Formatter#visit<Crystal::Expressions>:Bool'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::Formatter>:(Bool | Nil)'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::Command::FormatCommand#format_source<String, String>:(IO+ | Int32 | Nil)'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::Command::FormatCommand#format_many<Array(String)>:Nil'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::Command#format:NoReturn'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'Crystal::Command#tool:(Bool | Nil)'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in '__crystal_main'
  from /Users/joesharpe/.asdf/installs/crystal/1.10.1/embedded/bin/crystal in 'main'
  from /usr/lib/dyld in 'start'

couldn't format './format_bug.cr', please report a bug including the contents of it: https://github.com/crystal-lang/crystal/issues

After playing around I suspect it's to do with the \ character splitting the command over multiple lines. Running as one long line doesn't give an error

Minimized:
"a" \
+ 1

You can concatenate strings using a backslash in crystal:
a = "This is a" \
" long string"

It seems that the formatter assumes that this is what you want to do.

oh ok that explains why it's not understanding the code
Due to the initial object being a String::Builder object, it does need to be concatenated with a << symbol, but moving the symbol up to the line above then puts it in the expected format
String::Builder.new("Hello ") << \
"world"

The bug just happens because the formatter finds a backslash right after a ".
The following works:
# format_bug.cr

id = 1
alarm_id = "100"
active = true

String::Builder.new("") << id << (", ") \
  << alarm_id << (", ") \
  << active


RHIROS-1125 use psi_enabled value from recommendations object

Codecov Report
Patch coverage: 50.00% and project coverage change: -0.94 :warning:

Comparison is base (ddfcf9f) 18.75% compared to head (1ed84bb) 17.81%.

:exclamation: Current head 1ed84bb differs from pull request most recent head 8f3a75a. Consider uploading reports for the commit 8f3a75a to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #227      +/-   ##
==========================================
- Coverage   18.75%   17.81%   -0.94%
==========================================
  Files          39       39
  Lines         816      814       -2
  Branches      148      147       -1
==========================================
- Hits          153      145       -8
- Misses        614      619       +5
- Partials       49       50       +1

Impacted Files
Coverage Δ

...c/Components/SystemDetail/SystemRecommendations.js
0.00% <0.00%> (ø)

src/Routes/RosSystemDetail/RosSystemDetail.js
0.00% <0.00%> (ø)

...rc/Components/SystemDetail/RecommendationsTable.js
80.76% <100.00%> (-4.42%)
:arrow_down:

... and 1 file with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[LIBCLOUD-602] improve gce.image_list()

Improves the GCE driver's list_images() method to actually return what the user would expect; a list of vendor supported operating system images including what they have on their own project.  The default behavior now returns on non-deprectated images, but a full list can be returned using the ex_include_deprecated param.
Although this changes the behavior of list_images(), it more closely matches the behavior of GCE's command-line utility gcloud compute that is part of the Cloud SDK package[1]. It is also more likely what the user wants to see anyway.
[1] https://cloud.google.com/sdk/

+1, better than search manually images from every projects.
By default, driver.list_images actually returns an empty list.


L7 DNS policy does not work with IPv6 DNS server

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
When creating a L7 DNS policy (i.e. toPorts[].rules.dns)), that policy allows traffic to IPv4 DNS servers, but not IPv6 DNS servers.
 Without any network policy, this works with both IPv4 and IPv6.
$ kubectl -n cilium-test exec client-84bfddc76b-5sr8l -- nslookup localhost <IP_ADDRESS>
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
Name:	localhost.cilium-test.svc.cluster.local
Address: <IP_ADDRESS>
Name:	localhost.cilium-test.svc.cluster.local
Address: ::1
$ kubectl -n cilium-testexec client-84bfddc76b-5sr8l -- nslookup localhost fd00::222
Server:		fd00::222
Address:	fd00::222#53

Non-authoritative answer:
Name:	localhost.cilium-test.svc.cluster.local
Address: <IP_ADDRESS>
Name:	localhost.cilium-test.svc.cluster.local
Address: ::1

However, as soon as I apply a L7 DNS policy on that pod, IPv6 lookups stop working (IPv4 is fine):
$ kubectl -n cilium-test apply -f - <<EOF
apiVersion: cilium.io/v2
kind: CiliumNetworkPolicy
metadata:
  name: dns-via-proxy-for-client
spec:
  endpointSelector:
    matchLabels:
      kind: client
  egress:
    - toPorts:
        - ports:
            - port: "53"
              protocol: ANY
          rules:
            dns:
              - matchPattern: "*"
      toEndpoints:
        - matchLabels:
            io.kubernetes.pod.namespace: cilium-test
            kind: echo
EOF
$ kubectl -n cilium-test exec client-84bfddc76b-5sr8l -- nslookup localhost <IP_ADDRESS>
Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
Name:	localhost.cilium-test.svc.cluster.local
Address: <IP_ADDRESS>
Name:	localhost.cilium-test.svc.cluster.local
Address: ::1
$ kubectl -n cilium-test exec client-84bfddc76b-5sr8l -- nslookup localhost fd00::222
;; communications error to fd00::222#53: timed out
;; communications error to fd00::222#53: timed out
;; communications error to fd00::222#53: timed out
;; no servers could be reached

command terminated with exit code 1

Just using toPorts (without any DNS rule) behaves the same a no policy. It only stops working for IPv6 if I add the dns rule.
Cilium Version
Cilium 1.15.0-dev aa10d940 2023-10-17T23:18:44+07:00 go version go1.21.3 linux/amd64 (i.e. current main)
I've also been able to reproduce this with Cilium v1.13.7.
Kernel Version
6.5.7-arch1-1
Kubernetes Version
v1.25.3 (used our kind.sh script to set up a dual-stack cluster)
Sysdump
cilium-sysdump-20231018-150416.zip
Relevant log output
No response
Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hubble does not show any drops (I used echo-same-node here to avoid issues with events being shown out of order), and the packet is forwarded to the proxy. It seems that the response is somehow not properly delivered:
$ hubble observe -f --protocol udp
Oct 18 13:19:43.775: cilium-test/client-84bfddc76b-5sr8l:45346 (ID:21399) -> cilium-test/echo-same-node-58bfcdb7f5-vpbt7:53 (ID:27145) policy-verdict:L3-L4 EGRESS ALLOWED (UDP)
Oct 18 13:19:43.775: cilium-test/client-84bfddc76b-5sr8l:45346 (ID:21399) -> cilium-test/echo-same-node-58bfcdb7f5-vpbt7:53 (ID:27145) to-proxy FORWARDED (UDP)
Oct 18 13:19:43.775: cilium-test/client-84bfddc76b-5sr8l:45346 (ID:21399) -> :53 (ID:27145) dns-request proxy FORWARDED (DNS Query localhost.cilium-test.svc.cluster.local. A)
Oct 18 13:19:43.776: [fd00::123]:43803 (ID:21399) -> cilium-test/echo-same-node-58bfcdb7f5-vpbt7:53 (ID:27145) to-endpoint FORWARDED (UDP)
Oct 18 13:19:43.777: [fd00::123]:43803 (host) <- cilium-test/echo-same-node-58bfcdb7f5-vpbt7:53 (ID:27145) to-stack FORWARDED (UDP)
Oct 18 13:19:43.778: :45346 (ID:21399) <- :53 (ID:27145) dns-response proxy FORWARDED (DNS Answer "<IP_ADDRESS>" TTL: 604800 (Proxy localhost.cilium-test.svc.cluster.local. A))
Oct 18 13:19:43.779: cilium-test/client-84bfddc76b-5sr8l:45346 (ID:21399) <- cilium-test/echo-same-node-58bfcdb7f5-vpbt7:53 (ID:27145) to-endpoint FORWARDED (UDP)

The DNS proxy is not setting the checksum (defaults to 0) in the UDP header when writing a response:

This is causing IPv6 receivers to discard the response from the DNS proxy. Per RFC 2460, the checksum must be set when originating a UDP packet:

Unlike IPv4, when UDP packets are originated by an IPv6 node,
the UDP checksum is not optional.  That is, whenever
originating a UDP packet, an IPv6 node must compute a UDP
checksum over the packet and the pseudo-header, and, if that
computation yields a result of zero, it must be changed to hex
FFFF for placement in the UDP header.  IPv6 receivers must
discard UDP packets containing a zero checksum, and should log
the error.


[iOS export] Add support for privacy manifest configuration.

Adds export settings to configure iOS privacy manifest.

Click to expand

Fixes https://github.com/godotengine/godot/issues/90323

I'm a bit concerned about the usability of having to fill all these fields.
Are all those new fields things that users can leave empty as long as they don't make use of those features? How will they realize which fields they need to fill based on Godot's internal usage of some of those APIs?
What's the process like when doing a native iOS app in Xcode? Do devs also need to deal with all this there even for simple apps?

Collected data is fully about users code, internals do nothing, as for APIs there are default values selected (only boot time api is used for timing, the rest is just exposed to the scripting, so default value is as generic as possible).
But I guess we can make it a bit more complicated and move some calls from the static lib to a separate Obj-C wrapper source file (GDExtension init already does something like this), this way it should be possible to exclude any restricted API calls if nothing is selected.

But I guess we can make it a bit more complicated and move some calls from the static lib to a separate Obj-C wrapper source file (GDExtension init already does something like this), this way it should be possible to exclude any restricted API calls if nothing is selected.

On the other hand, it might be more confusing that some functions do not work without something selected in the export settings (file timestamp for example include all stat calls, regardless of usage).

What's the process like when doing a native iOS app in Xcode?

It's about the same (create privacy manifest and edit it with the plist editor), Xcode interface for the privacy manifest is even less clear than this change.

Do devs also need to deal with all this there even for simple apps?

Seems like it will be required for apps starting from May.

Thanks!


Settings page does not load on iPhone / Safari

Reported by 1 user.
Will need to find a Mac with Safari to debug settings page.

For your infomation: When I try in developer.homey.com now, it does not work. (tried FireFox and Edge)

@Genghes I can access my settings page on mobile (android) and via the developer pages with a paired car on Homey v 2.4.1 and App v 2.1.0 (the beta one)

FYI. This is probably becaus NOT setting the 'Show on setting screen' to ON under the device.
After setting this ON this works fine. Turning it OFF anf the settings page under the app just spins.
Maby catch that in some way and present a message that they need to activate this option under the device?


Answer sorted by creation time from old to new

Is your feature request related to a problem? Please describe
Answer sorted by creation time from old to new. This is a common way to sort posts.
Describe the solution you'd like
Add a order filter called "Oldest" in answer, Sort by creation time from old to new.

Can you assign this to me?

@fenbox Newest and older as storing by time. Thoughts of using button. Maybe like clicking it again would change from newest to oldest etc.

Never Mind. I see @here-tunan has already made code changes, and came up with MR.

@here-tunan Thank you for the PR, you can read this article to better participate in community contributions.

Thanks. @fenbox I'm down.


is that rebuild all md ?

i was used  hugo -w ,i change one md file ,but bugo rebuild all md file to html?

Unfortunately, I don't know the specific implementation of hugo, maybe you can go to the hugo forum to ask this hugo question.


Update the game over message

Update the game over message so people know how to play again!

Everything works fine.


Can't install from pip

(.venv) (0) rharwood@seton:/tmp$ pip install shouldbe
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Collecting shouldbe
  Using cached https://files.pythonhosted.org/packages/89/bf/8a52bdb657f4aa160325e594ea1ffbe2e84eda7f50f13db35a9ff21bd7b6/shouldbe-0.1.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-P84HGo/shouldbe/setup.py", line 11, in <module>
        long_description=open('README.txt').read(),
    IOError: [Errno 2] No such file or directory: 'README.txt'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-P84HGo/shouldbe/
(.venv) {1} (1) rharwood@seton:/tmp$

fixed in 0.1.2.  setuptools started traversing symlinks and also appears to stop bundling README.txt when it can bundle README.rst.


Don't show map if transform is missing

If AerialMapDisplay/Status/Transform shows the error Fixed Frame [map] does not exist then the map shouldn't be drawn at all. This leads to confusing results, see #48

Could be done by using MessageFilterDisplay, like most display plugins do.

I encountered the same while working on #55
The easiest would be to set scene_node->setVisible(false); but the problem I see is that there are cached tiles that are made invisible, and when setting scene_node->setVisible(true); after successful transformations, they are all set to true, so also old/irrelevant tiles are shown.

From #72:

When you set an invalid ff, for example "asdfasdfsf", then the map will jump. (It will not jitter, but jump). The status shows that there is an error, but the map is still displayed. I think we should hide the map if the ff is invalid?


Search by Reverse Chaining

Hello,
It is possible to do 'reverse chain' search queries?
Like that:
GET [base]/Patient?_has:Observation:patient:code=1234-5
Reference
http://hl7.org/fhir/R4/search.html#has

Now I found this issue
https://github.com/medplum/medplum/issues/1975
Congratulations by this project, Medplum is amazing.


Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

Coverage remained the same at 100.0% when pulling c28785761c76038d0fad8fc511c2d49126b6f4f8 on analysis-XlJ2bO into b056e41d2293885cb9eaecbb59097f5284250ea2 on develop.


Is there a reason that snackbar posititioning keeps getting put off?  Can we please have this feature it is important to our build

Bug, feature request, or proposal:
Feature request... I hope this doesn't get closed in 2 seconds but there has been quit a long wait for the feature of being able to explicitly position the toast notification on the screen.
What is the expected behavior?
to be able to position the toast notification at least in a few different positions such as top left right than what is the default which is the bottom
What is the current behavior?
defaults to bottom
What are the steps to reproduce?
use it
Providing a Plunker (or similar) is the best way to get the team to see your issue.
Plunker template: https://goo.gl/DlHd6U
What is the use-case or motivation for changing an existing behavior?
because on the bottom is not always desirable for some people
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
latest 4.3.6
Is there anything else we should know?
We waited for a super long time for beta .10 and why was .9 not released?

#4045 had some remaining issues and the author was on vacation

@jelbourn lol i need a google vacation!!! jk


Support NO_PROXY environment variable

Is your feature request related to a problem? Please describe.
Debugged a proxy issue with a customer and it turned out that they have to rely on NO_PROXY being available to fully configure their network requirements.
Describe the solution you'd like
Similar to the environment variables HTTP_PROXY and HTTPS_PROXY, NO_PROXY should be supported.
Describe alternatives you've considered
The customer and I found a workaround and I have since found a fix to include in our own code, but I still wanted to report this issue here. (https://github.com/microsoft/vscode/issues/117054)
Additional context
None.

Fixed by #441

This is now supported in released v2.3.0.


Make range track visible on FireFox 80/81 on MacOS.

A possible fix for https://github.com/google/neuroglancer/issues/245 .
The sliders now look like this with FireFox 80 on MacOS dark mode:

These changes appear to have no effect on MacOS Chrome. I have not tested on Windows or Linux.

Thanks!


Add init command to create a new environment config file

When creating a new environment settings file I end up copying and pasting an existing one. Not a big issue, but would nice if there was a command to init one for you:
$ heroku-tools init dev
What is the name of the Heroku application: foo-bar
Which branch should be deployed by default: master
Do you deploy to this environment using a pipeline: Y
What is the name of the upstream application: foo-bar-uat
...

Settings file 'settings/dev.conf' has been created with the following settings:

application:
    name: foo-bar
    branch: master
    pipeline: True
    upstream: foo-bar-uat

As a phase two the CLI could be used to edit existing files, but that is a secondary concern.

Closed by PR.


reality capturing & processing tool

use agent & agentcontroller8
create a launch tool which schedules jobs to

read disk stats
read process stats (create a process reality object for all processes with same name, DO NOT work with pids !, id= name of process)
read vm stats
read docker stats
read nic stats
read reality info: disks, nics, vms, dockers, cpu, ....
read / clean logs e.g. syslog, dmesg send to log
remark: at least everything we do in openvcloud + more should be done

do this by creating a tool j.tools.realitycapture....

this does the reading of all info, use the models, send to redis

use models as defined in: https://github.com/Jumpscale/jumpscale_core8/tree/master/lib/JumpScale/data/models

expand the models where required

create a tool j.tools.realityprocess

this reads from the redis
stats to influxdb
logs to tar files for reference
eco & reality objects to mongodb

create the scaleton first (classes with empty methods & documentation), let @despiegk review

also need to make sure that the pages from the portal (grid portal space) shows all this info

I just created the skeleton for the realitycapture extension here.
https://github.com/Jumpscale/jumpscale_core8/blob/master/lib/JumpScale/tools/realitycapture/RealityCapture.py
The extension is just a factory to the Monitor class which only allows the caller to schedule monitoring tasks on remote node (over the agentcontroller8 and the agent8).
The scheduled jumpscript will then run according to the given crons, and then report stats (or reality objects) over the provided redis address.
could you please take a look?

@despiegk
Also the realitprocess extension is implemented here  https://github.com/Jumpscale/jumpscale_core8/blob/master/lib/JumpScale/tools/aggregator/RealityProcess.py
It starts influxdumper and mongodumper, both logs and ecos dumpers are under development.

skeleton should be much more
what are the methods to launch a monitoring task
how do you define on which nodes
which monitoring actions ...
On Sun, Feb 21, 2016 at 3:13 PM, Muhamad Azmy<EMAIL_ADDRESS>wrote:

I just created the skeleton for the realitycapture extension here.
https://github.com/Jumpscale/jumpscale_core8/blob/master/lib/JumpScale/tools/realitycapture/RealityCapture.py
The extension is just a factory to the Monitor class which only allows the
caller to schedule monitoring tasks on remote node (over the
agentcontroller8 and the agent8).
The scheduled jumpscript will then run according to the given crons, and
then report stats (or reality objects) over the provided redis address.
could you please take a look?
—
Reply to this email directly or view it on GitHub
https://github.com/Jumpscale/Home/issues/3#issuecomment-186828817.

--
Kristof De Spiegeleer
+971525609014
+201206927877
+32 475405474
skype: despiegk

@despiegk The reality process class only defines the factory, the methods to launch the monitoring tasks are defined here
https://github.com/Jumpscale/jumpscale_core8/blob/master/lib/JumpScale/tools/realitycapture/Monitor.py
As you can see, all methods accepts gid and nid combination which perfectly defines what nodes the monitor task should run on.

how far are we with this story?

@despiegk

The realityprocess is done, all data from redis is processed and stored to reality databases (mongo and influxdb).
The scripts we have already in jumpscale has been updated to use the aggregator extension to report statistics and reality objects.
We will make sure that after https://github.com/0-complexity/home/issues/4 that all monitor jumpscripts will auto-schedule on the agents
TODO: Build more jumpscripts to monitor VMs and Dockers (I personally think this should be part of OVC migration to JS8)

OVC migration to JS8 is not planned soon
but we want already monitoring in js8 from controllers, its a step by step approach

but we want already monitoring in js8 from controllers, its a step by step approach
What do you mean with this?
Monitor what from the controller exactly?


Filter legend Show/Hide in Pie Chart

Hello,
I would like use this function in a Pie chart.
onClick: function(e, legendItem) {
			var index = legendItem.datasetIndex;
			var ci = this.chart;
			var meta = ci.getDatasetMeta(index);

			// See controller.isDatasetVisible comment
			meta.hidden = meta.hidden === null? !ci.data.datasets[index].hidden : null;

			// We hid a dataset ... rerender the chart
			ci.update();
		},

Can you tell me how to do please?
Thanks

@Jysui that is triggered when a user clicks on an item in the on-canvas legend

Closing as answered

Thank you for your reply. I want to make this work on "generateLegend"


Integrate OpenSearch/ElasticSearch features directly into Amplify Gen 2 without external instances

Environment information
NPM Packages:
  @aws-amplify/backend: 1.0.0
  @aws-amplify/backend-cli: 1.0.1
  aws-amplify: 6.2.0
  aws-cdk: 2.140.0
  aws-cdk-lib: 2.140.0
  typescript: 5.4.5
AWS environment variables:
  AWS_NODEJS_CONNECTION_REUSE_ENABLED = 1
  AWS_SDK_LOAD_CONFIG = 1
  AWS_STS_REGIONAL_ENDPOINTS = regional
No CDK environment variables

Description
This feature request aims to enhance AWS Amplify by integrating specific search capabilities currently available in OpenSearch/ElasticSearch directly into the Amplify framework, without the need for setting up and managing external OpenSearch instances.
Integrating advanced search features such as sorting, wildcard, and full-text searches requires setting up external instances of OpenSearch or ElasticSearch. Directly integrating these capabilities into Amplify could significantly streamline development processes and reduce overheads associated with maintaining external services.

Hey👋 thanks for raising this feature request! I'm going to transfer this over to our API repository for further evaluation.


add missing import statement

this function is called without being properly imported.

hm, its not yet all done. so please don't pull this yet.

Yikes, thanks for catching this. We really need Travis to run flake8 to catch this stuff :)

I've tagged v1.4.0 with this change and pushed it to PyPI. Thank you!


[tests] Make all the tests reusable

As of now only api and admin tests are reusable. We might need to make the others reusable too.

We should also move the tests in something like tests.base and create one file for each class, otherwise tests.utils would become too long and hard to read.

True @nemesisdesign.

👍


[BUG] Left click not workingas expected

I've encountered an issue where I was not able to properly interact with the global screen. Trying to link node just move the screen and opening group with a double click doesn't work either. Left click also just move the screen instead of moving the node. Right click seems to work as intended. Space bar does not start/stop animation.
This seems to happen when you right click and while keeping the menu open you alt+tab. I managed to make it work again by right clicking and node and doing alt+tab only another app.
I managed to reproduce it more than once. To make it happen, only a right click and alt+tab seems to broke it. For it to work again, it seems like you need to open an app OVER Pixel Composer.

Okay, I've got a report about this problem before. I'm looking into it.


WaterfoxLimited.Waterfox version G5.1.5

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Closing due to wrong identifier

Help, I creates 2 PRs, one with different identifier (this one) and with the correct one, both fails


Add priorityClassName to Helm Charts - Issue #1143

Checklist

[x] The title of the PR is clear and informative
[ ] If applicable, the changes made in the PR have proper test coverage
[ ] Issues addressed by the PR are mentioned in the description followed by Fixes.

Description
Add an option in the Helm Chart for priorityClassName
Fixes
This addresses the feature request #1143

@aglees can you add a helm render test.

Update this file with the new parameter.
Set env variable export RENDER_SNAPSHOTS="true"
You can then check by running go test ./... in the folder.
4.Check and Commit the snapshot


CI workflow solvcon_install_devenv failed for hdf5 built by devenv

I inspected the recent CI failure https://github.com/solvcon/solvcon/actions/runs/3659865293 and found the failure was caused by hdf5 build failure of devenv. This associated fix-up is on the way[1]. Let's use this ticket to trace the status.
[1] https://github.com/solvcon/devenv/pull/116

Landed the fix and all scheduled CI passed. Closing this ticket.


Add a dictionary stem for discriminatory/discrimination

Marklogic isn't smart enough to know that the stem of "discriminatory" is
"discrimination", so we need to teach it.

Approved. Feels like this could get really big and hard to maintain, I wonder if there's a way we can simplify it?


criu: 3.8.1 -> 3.9

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/criu/versions.
These checks were done:

built on NixOS
Warning: no invocation of /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/bin/crit had a zero exit code or showed the expected version
/nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/bin/compel passed the binary check.
/nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/bin/criu passed the binary check.
2 of 3 passed binary check by having a zero exit code.
0 of 3 passed binary check by having the new version present in output.
found 3.9 with grep in /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9
directory tree listing: https://gist.github.com/5db13cedfd351a5d1fd8ed3d70ccbac3
du listing: https://gist.github.com/3a064c8b51705c90c1093a81ab9495ee

meta.description for criu is: '"Userspace checkpoint/restore for Linux"'.
cc @thoughtpolice for testing.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: criu
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: criu
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: criu
Partial log (click to expand)
shrinking /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/lib/libcompel.so.1.0
shrinking /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/bin/compel
shrinking /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/sbin/criu
gzipping man pages under /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/share/man/
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/lib  /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/libexec  /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/bin  /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/sbin
patching script interpreter paths in /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9
/nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/libexec/criu/scripts/systemd-autofs-restart.sh: interpreter directive changed from "/bin/bash" to "/nix/store/xn5gv3lpfy91yvfy9b0i7klfcxh9xskz-bash-4.4-p19/bin/bash"
checking for references to /build in /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9...
moving /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/sbin/* to /nix/store/31grlhm7igrgi29fhmndki41a8f87cvs-criu-3.9/bin


use stream_id instead of stream_name

There should be no functional changes of this PR.
This partially fixes #25742.

ready for @timabbott again

@karlstolley can you take a look?

Looks like you've addressed Tim's comments earlier, and the code reads sensibly.
What are some ways that I can poke at this in development to see if things aren't working as expected?

Thanks Karl!
I think pretty much anything the composebox does that interacts with the concept of a stream is likely to interact with this change, so opening the composebox, opening a draft, replying to a message, triggering compose warning banners, etc all touch this.

All right. I've given this a considerable amount of poking and wasn't able to break anything. I'll go ahead and mark this for integration review.

And obviously this should take its time on CZO for plenty of burn-in.

Merged. I agree this needs some burn-in time; I'll make sure we deploy to chat.zulip.org with this included today.


React app freezes and crashes when dragging on Ultrawide monitor

I've got two people reporting the the dnd function freezes our react application when dragging on an ultrawide (2560x1080) monitor. I initially thought this could be a resolution issue, but the dragging works just fine on my 4k (normal aspect ratio) monitor. Has this issue been reported anywhere else? Is there an easy fix that I'm missing? Help me Obi-wan-@gaearon, you're my only hope...

The same problem is happening to me here! But just in chrome. Works on firefox.

Just for reference. I fixed this problem by removing the react tooltip that I was using inside the draggable component.

@gaearon same issue that @pietromaj had. Disabling react-tooltip makes it work fine.

@ImmRanneft same issue - fixed when I removed react-tooltip from dragged element, thanks!

Thanks for these answers guys, but I need to have the react tooltip in my component, did anyone make it work with it?

@kaiomagalhaes yes, if you will use only one instance of react-tooltip somewhere outside of drag-n-drop context.


Block protector and inventory items

This is a reopening of the issue described in #649, since it is still present.
I'm playing FTB presents Skyfactory 3 version 3.0.8 at the moment and it does not allow you to protect any block that has a GUI.
MC Version: 1.10.2
RFTools Version: 1.1x-5.87
RFTools Control Version: 1.1x-1.6.6
RFTools Dimensions Version: 1.1x-4.54
To reproduce this do the following:
Have a Block Protector with a vanilla chest on one side and a Vacuum Chest form Ender IO on the other side.
Right-click the Block Protector with a Smart Wrench in Focus mode (orange) to select it. Now you see the protected blocks.
Right-clicking either chest while holding the orange smart wrench just opens the chest's GUI.
Sneak + right-clicking either chest while holding the orange smart wrench just clears the Block Protector we selected earlier.
(Any combination of hotkey and mouse button does not protect the chest the you are clicking on.)
I even tested if I could protect a chest if I prevented the GUI from opening by placing a block above the vanilla chest. Even in this case nothing happens. The chest does not get protected and the chest is not opened.

Fixed next release (using sneak wrench on the chest will work again)

Awesome! Thanks for the quick fix!

This issue appears to have returned in 1.12.2 RFTools version 7.13

This issue is still present and hasn't been fixed.
Version: 1.12.2-7.14

Version 7.22 is out now. Can you retest on it?

Yes. One sec please.

Edit: Looking like I'm having issues with Direwolf20 1.12.2 and mcjtylib 1.60, xnet 1.60 rftools 7.22 or deep resonance. After installing these my game just crashes instantly.
Crash log:https://pastebin.com/2mtRbGTK
Will try to update deep resonance to 1.60 and the latest version of elecCore.
Game still crashes after updating eleCCore to 1.12.2-1.8.434 and DeepResonance 1.60.
Crash Log: https://pastebin.com/gJ05msAz
Not sure what to do?

Update RFTools Dimensions too.

Ok. Updated. The issue still persists. I have the wrench in focus mode and have tried to sneak + right-click, right-click, and also tried left click variants of those and it still will not block protect.

mcjtylib 1.60

I assume you meant McJtyLib 2.6.1 here.
Anyway, when I try to reproduce the problem in a world with just MC 1.12.2, Forge 2555, McJtyLib 2.6.1, and RFTools 7.22, I can protect chests fine by sneak-right-clicking. It might be a conflict with one of your other mods that's making it not work for you. Can you see if that's the case, and if so, try to figure out which mod it is?

Yes, McJtyLib version 2.6.1 is what I meant. I'm also using the same version of forge. I can try to see if it's another mod. I'll also try in a new world to see if anything is different in that.

Please open a new issue for the spawner.

I disabled any mods that should have to do with muse clicks (inventory sorter, mousetweaks), but the issue still happens. I'm not sure whats causing it. It applies to any block with an inventory or gui though. Any mods that come to mind that I should try to disable?

Coremods are always a good place to start:
  FMLPlugin (elulib-0.1.10.jar)
  IELoadingPlugin (ImmersiveEngineering-0.12-75-core.jar)
  ForgelinPlugin (Forgelin-1.6.0.jar)
  HammerCoreCore (HammerCore-1.12.2-<IP_ADDRESS>.jar)
  LoadingPlugin (ResourceLoader-MC1.12.1-1.5.3.jar)
  AstralCore (astralsorcery-1.12.2-1.8.2.jar)
  CoreMod (Aroma1997Core-1.12.2-<IP_ADDRESS>.b129.jar)
  SFRCore (SolarFluxReborn_1.12.2-3.42r.jar)
  CTMCorePlugin (CTM-MC1.12-<IP_ADDRESS>.jar)
  MalisisCorePlugin (malisiscore-1.12.2-6.3.0.jar)
  TransformerLoader (OpenComputers-MC1.12.1-<IP_ADDRESS>.jar)

You're probably going to have to do a binary search (i.e., disable half of your mods at a time to figure out which half the problem is in, and repeat until you get it down to 1) to find it.

I don't work for ftb infinity evolved either

Thank you for taking the time to create this issue, as we're no longer supporting versions below 1.12, I'm going to go ahead and close it but if this bug seems to continue over to newer versions, please do report it again so we can investigate the issue further.


pulling in<EMAIL_ADDRESS>

this takes advantage of the latest changes in juttle 0.6.0 to not
specify the flowgraph processors which now have defaults that include
the runaway program detector

lgtm.


Bug: TanStack Query not updating on Mutation

See title

Haven't been able to reproduce this. Closing the issue for now.


[BUG] V1 (2015) and V2 (2022) aren't functioning

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[ ] I did not answer truthfully to all the above checkboxes.

What problem did you encounter?
when I use either of these menus I encounter the same problem where i cant use the menu at all and everything is locked. The only possible way to close roblox is through the task manager.
https://github.com/user-attachments/assets/49351d8d-91e3-46d8-8d73-955f9ff94cdf
Bloxstrap Log
N/A

Duplicate of #2911


fq: init at 0.0.2

Motivation for this change
https://github.com/wader/fq
❯ nix run github:siraben/nixpkgs/fq#fq -- . <(curl -s https://nixos.org/logo/nixos-hires.png)
      |00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11|0123456789abcdef01|.{}: /dev/fd/11 (png)
0x0000|89 50 4e 47 0d 0a 1a 0a                              |.PNG....          |  signature: raw bits (valid)
0x0000|                        00 00 00 0d 49 48 44 52 00 00|        ....IHDR..|  chunks[0:12]:
0x0012|05 42 00 00 01 88 08 06 00 00 00 84 07 9a cc 00 00 00|.B................|
*     |until 0xc7da.7 (end) (51155)                         |                  |

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 151871 run on x86_64-darwin 1

1 package built:

fq

Result of nixpkgs-review pr 151871 run on x86_64-darwin 1

1 package built:

fq

Runs for me, all the tests pass.


[BUG] Returning a model with aliases from an endpoint breaks validation

Describe the bug
I believe this is somewhat related to https://github.com/tiangolo/fastapi/issues/1063 and also not quite sure if this should be a feature or a bug, but it is causing some trouble for me anyway.
Basically I would like to use the same functions that are defined as FastAPI endpoints for other use cases as well. For this I would like to have them all return Pydantic models instead of dicts to have the typing in place. However, if any of the models has aliases the validation simply breaks, everything seems to work fine without validation.
To Reproduce

Create a file with:

from fastapi import FastAPI
from pydantic import BaseModel, Field

class SimpleModel(BaseModel):
    name: str
    value: int

class AliasedModel(BaseModel):
    name: str = Field(..., alias="aliased_name")
    value: int

app = FastAPI()

@app.get("/simple", response_model=SimpleModel, response_model_by_alias=True)
def read_simple():
    return SimpleModel(name="name", value=1234)

@app.get("/aliased", response_model=AliasedModel, response_model_by_alias=True)
def read_aliased():
    return AliasedModel(name="name", value=1234)

Open the browser and call the endpoint /simple.
It returns a JSON with {"name": "name", "value": 1234}.
Open the browser and call the endpoint /aliased.
It returns an Internal Server Error
But I expected it to return {"aliased_name": "name", "value": 1234}.

Expected behavior
I would expect the response to be valid, since it is a valid instance of the given response_model class. It feels very counter-intuitive that returning a model from the endpoint instead of a dict suddenly fails.
Environment

OS: Linux
FastAPI 0.49.0
Python 3.7.6:

This looks like another manifestation of #1043

You're right, sorry about that. I'll close this and let's keep your report instead, it is definitely the same problem.

Thanks for the discussion here! :cake:
And thanks @juhovh-aiven for reporting back and closing the issue. (And for the fix :tada: )


User data windows

If supplied, use user_data

Can you add some documentation on this too? We have https://github.com/chef/chef-provisioning-fog/pull/126 hopefully going in, and explanation of this in the README would be useful.

@bbgobie any chance on getting the updates to the readme?


Replace a thunky tuple with the strict GenDelegPair data type

The NoUnexpectedThunks check was failing in the consensus tests.
The GenDelegPair data type already existed in the Genesis module to give
custom ToJSON and FromJSON instances.

bors merge


Create All Volunteer Training UI Change

On the Create All Volunteer Training page: remove all of the selector UI.
Path: eventTemplates/2/create

Mostaphe completed this issue and it got merged into development but forgot to link the issue to PR. Closing issue.


Problems with entering Zulip server name

I just launched zulip-electron, and am attempting to enter the name of my Zulip server.  After entering it, I get "Not valid url", and if I click the OK button there, the window goes blank.  The error message appears to be because of #25, but the window should not go blank.  Since the app asks for a server name and not a url, the error message should probably also mention the server name instead of "url".
In addition, while entering the server name, pressing backspace doesn't have any effect.

@kchen thanks for opening this. I am not handling the callback function properly i.e when user enters a invalid url. I am working on a new homepage that will completely solve this issue.

The backspace thing is #37; try the delete key instead for now.

I also encountered this bug.

@brockwhittaker @kchen fixed. Can you guys test it?

Looks good to me. Thanks!  (I previously entered a valid Zulip server, so I only tested this with the "Change zulip server" functionality, since I don't know how to wipe that state.)
It'd be useful if the Esc button closed the box, but the X close button is an obvious alternative to that.

@kchen Esc support added 🚀 .


Modal 'dismissable' option does not work (as expected).

Description
Initializing a modal with { "dismissable": false }, to my understanding, should mean that the modal will not be closed if the user clicks outside of the modal. This is not the case. I don't know what this option does, if anything.
Repro Steps

Initialize a modal with:
{
    "dismissable": false
}

Open the modal.

Click outside the modal-- it will close.

Screenshots / Codepen
http://codepen.io/anon/pen/EWLydL

LOL, it's 'dismissible' not 'dismissable'. How foolish of me.


[GW interface] search bar help

Add a help in the search bar with an example footprint to copy as test
Thanks :)

Done!

thanks !


Horizontal server list support

Is your feature request related to a problem? Please describe.
Support for horizontal list of servers. That's all
Here is the link
https://github.com/DiscordStyles/HorizontalServerList
Describe the solution you'd like
A clear and concise description of what you want to happen.
Additional context
Add any other context, screenshots or diagrams about the feature request here.

This won't be possible because Fluent Discord makes extensive changes to the guild list. HorizontalServerList is really only intended to work with the more basic themes.


ValueError: No blender available!

When I created the conda environment according to the description, there were two conflict errors regarding 'perlin-numpy' and 'wfc-python'.
Then, I manually annotated two lines in 'environment.yaml' file,

perlin-numpy==0.0.0
wfc-python==0.0.0

(I think the wfc is already defined in the terrain-generator project, then I ignore this issue)
and installed perlin-numpy via the following command:
pip install git+https://github.com/pvigier/perlin-numpy
==================================================================================================
Waiting for parallel creation...
Traceback (most recent call last):
File "/home/oem/workspace/terrain-generator/examples/generate_with_wfc.py", line 265, in
create_mesh_from_cfg(
File "/home/oem/workspace/terrain-generator/examples/generate_with_wfc.py", line 81, in create_mesh_from_cfg
tiles, wave, wave_order, wave_names = solve_with_wfc(cfg, shape, initial_tile_name)
File "/home/oem/workspace/terrain-generator/examples/generate_with_wfc.py", line 35, in solve_with_wfc
tiles = create_mesh_pattern(cfg)
File "/home/oem/workspace/terrain-generator/terrain_generator/trimesh_tiles/mesh_parts/create_tiles.py", line 101, in create_mesh_pattern
tiles = ray.get(tiles)
File "/home/oem/anaconda3/envs/wfc/lib/python3.8/site-packages/ray/_private/client_mode_hook.py", line 105, in wrapper
return func(*args, **kwargs)
File "/home/oem/anaconda3/envs/wfc/lib/python3.8/site-packages/ray/private/worker.py", line 2309, in get
raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(ValueError): ray::create_mesh_tile() (pid=245962, ip=<IP_ADDRESS>)
File "/home/oem/workspace/terrain-generator/terrain_generator/trimesh_tiles/mesh_parts/create_tiles.py", line 79, in create_mesh_tile
mesh = cached_mesh_gen()
File "/home/oem/workspace/terrain-generator/terrain_generator/utils/utils.py", line 99, in mesh_gen
mesh = mesh_gen_fn(cfg)
File "/home/oem/workspace/terrain-generator/terrain_generator/trimesh_tiles/mesh_parts/basic_parts.py", line 225, in create_platform_mesh
wall_mesh = create_wall_mesh(cfg.wall)
File "/home/oem/workspace/terrain-generator/terrain_generator/trimesh_tiles/mesh_parts/basic_parts.py", line 181, in create_wall_mesh
mesh = merge_meshes(meshes, cfg.minimal_triangles)
File "/home/oem/workspace/terrain-generator/terrain_generator/utils/mesh_utils.py", line 26, in merge_meshes
mesh = trimesh.boolean.union(meshes, engine=engine)
File "/home/oem/anaconda3/envs/wfc/lib/python3.8/site-packages/trimesh/boolean.py", line 44, in union
result = engines[engine](meshes, operation='union', **kwargs)
File "/home/oem/anaconda3/envs/wfc/lib/python3.8/site-packages/trimesh/interfaces/blender.py", line 43, in boolean
raise ValueError('No blender available!')
ValueError: No blender available!
(create_mesh_tile pid=245962) platform_0.0_0.5_1111_f_wall('middle_bottom', 'middle_right') does not exist in cache, creating platform_0.0_0.5_1111_f_wall('middle_bottom', 'middle_right')e35d734d3ea4c0a6ee2a1b9097ee671d.obj ...
(create_mesh_tile pid=245962) stair_0.0_0.5_wall('middle_left', 'middle_right')7 does not exist in cache, creating stair_0.0_0.5_wall('middle_left', 'middle_right')7_96e709b0b7a7afe0a6eaa72e71426861.obj ...
(create_mesh_tile pid=245962) stair_0.0_0.5_wall()8 does not exist in cache, creating stair_0.0_0.5_wall()8_82562b98e1bc4ee96601d19503ba01ff.obj ...
(create_mesh_tile pid=245948) stair_0.0_0.5_wall()3 does not exist in cache, creating stair_0.0_0.5_wall()3_7af4e61deb919ac897b1c760420192ec.obj ...
(create_mesh_tile pid=245948) stair_0.0_0.5_wall()9 does not exist in cache, creating stair_0.0_0.5_wall()9_69c958c09baebfaf3092a32b695d294a.obj ...
(create_mesh_tile pid=245948) stair_0.0_0.5_wall()10 does not exist in cache, creating stair_0.0_0.5_wall()10_bcb15549bca9b007fe246cc7f88a226c.obj ...
(create_mesh_tile pid=245948) stair_0.0_0.5_wall()11 does not exist in cache, creating stair_0.0_0.5_wall()11_6b6538c4c07ff41f8426c64345c827de.obj ...
(create_mesh_tile pid=245952) stair_0.0_0.5_wall()5 does not exist in cache, creating stair_0.0_0.5_wall()5_2ce3ec98aa999a25c9140de017291d40.obj ...
(create_mesh_tile pid=245962) stair_0.0_0.5_wall('up', 'right')12 does not exist in cache, creating stair_0.0_0.5_wall('up', 'right')12_a16aac5f7b26f51597bd16cdfe7bf8db.obj ...
(create_mesh_tile pid=245948) stair_0.0_0.5_wall('middle_left', 'middle_bottom')12 does not exist in cache, creating stair_0.0_0.5_wall('middle_left', 'middle_bottom')12_1d352467ae6382bfaf08b2752952ecea.obj ...
(create_mesh_tile pid=245952) stair_0.0_0.5_wall()12 does not exist in cache, creating stair_0.0_0.5_wall()12_4686c25451d1e48c7625af95521754cd.obj ...
(create_mesh_tile pid=245952) stair_0.0_0.5_wall()13 does not exist in cache, creating stair_0.0_0.5_wall()13_cf1ab0246a68502c82724653409321e0.obj ...
(create_mesh_tile pid=245964) stair_0.0_0.5_wall('middle_left', 'middle_right')3 does not exist in cache, creating stair_0.0_0.5_wall('middle_left', 'middle_right')3_a8f94034aeaa3f331cdbeec4daf0d26f.obj ...
(create_mesh_tile pid=245964) stair_0.0_0.5_wall('middle_left', 'middle_bottom')13 does not exist in cache, creating stair_0.0_0.5_wall('middle_left', 'middle_bottom')13_69657f91659fa50311ce5d06bb6a889a.obj ...
(create_mesh_tile pid=245964) stair_0.0_0.5_wall('up', 'right')13 does not exist in cache, creating stair_0.0_0.5_wall('up', 'right')13_1518a4ad415d37f31374a46c22e58856.obj ...
(create_mesh_tile pid=245970) stair_0.0_0.5_wall('middle_left', 'middle_right')2 does not exist in cache, creating stair_0.0_0.5_wall('middle_left', 'middle_right')2_f7540e5b00d4a92c1d55c43037183c3a.obj ...
(create_mesh_tile pid=245998) stair_0.0_0.5_wall('middle_left', 'middle_right')4 does not exist in cache, creating stair_0.0_0.5_wall('middle_left', 'middle_right')_4_7e6c089c7a422905339084e726bfeac3.obj ...
(create_mesh_tile pid=245969) platform_0.0_0.5_1110 does not exist in cache, creating platform_0.0_0.5_1110_dceb99597353a0166a93213fe486c354.obj ...
(create_mesh_tile pid=245966) door_s_3.0 does not exist in cache, creating door_s_3.0_e6a4c96be98a3a48d317dea367f22cd4.obj ...
Process finished with exit code 1
The example code collapsed with above issues

It seems that you haven't installed blender. Run 'sudo apt-get install blender' will solve this problem.
But then I meet another problem.
Traceback (most recent call last):
File "examples/generate_with_wfc.py", line 265, in
create_mesh_from_cfg(
File "examples/generate_with_wfc.py", line 81, in create_mesh_from_cfg
tiles, wave, wave_order, wave_names = solve_with_wfc(cfg, shape, initial_tile_name)
File "examples/generate_with_wfc.py", line 35, in solve_with_wfc
tiles = create_mesh_pattern(cfg)
File "/home/user/project/terrain-generator/terrain_generator/trimesh_tiles/mesh_parts/create_tiles.py", line 101, in create_mesh_pattern
tiles = ray.get(tiles)
File "/home/user/miniconda3/envs/wfc/lib/python3.8/site-packages/ray/_private/client_mode_hook.py", line 105, in wrapper
return func(*args, **kwargs)
File "/home/user/miniconda3/envs/wfc/lib/python3.8/site-packages/ray/_private/worker.py", line 2309, in get
raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(CalledProcessError): ray::create_mesh_tile() (pid=2721959, ip=<IP_ADDRESS>)
File "/home/user/project/terrain-generator/terrain_generator/trimesh_tiles/mesh_parts/create_tiles.py", line 79, in create_mesh_tile
mesh = cached_mesh_gen()
File "/home/user/project/terrain-generator/terrain_generator/utils/utils.py", line 99, in mesh_gen
mesh = mesh_gen_fn(cfg)
File "/home/user/project/terrain-generator/terrain_generator/trimesh_tiles/mesh_parts/basic_parts.py", line 229, in create_platform_mesh
mesh = merge_meshes(meshes, cfg.minimal_triangles)
File "/home/user/project/terrain-generator/terrain_generator/utils/mesh_utils.py", line 26, in merge_meshes
mesh = trimesh.boolean.union(meshes, engine=engine)
File "/home/user/miniconda3/envs/wfc/lib/python3.8/site-packages/trimesh/boolean.py", line 44, in union
result = _engines[engine](meshes, operation='union', **kwargs)
File "/home/user/miniconda3/envs/wfc/lib/python3.8/site-packages/trimesh/interfaces/blender.py", line 55, in boolean
result = blend.run(_blender_executable +
File "/home/user/miniconda3/envs/wfc/lib/python3.8/site-packages/trimesh/interfaces/generic.py", line 90, in run
check_call(command_run,
File "/home/user/miniconda3/envs/wfc/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/blender', '--background', '--python', '/tmp/tmpb_tegtcd']' died with <Signals.SIGABRT: 6>.

It seems that you haven't installed blender. Run 'sudo apt-get install blender' will solve this problem. But then I meet another problem.
Traceback (most recent call last): File "examples/generate_with_wfc.py", line 265, in create_mesh_from_cfg( File "examples/generate_with_wfc.py", line 81, in create_mesh_from_cfg tiles, wave, wave_order, wave_names = solve_with_wfc(cfg, shape, initial_tile_name) File "examples/generate_with_wfc.py", line 35, in solve_with_wfc tiles = create_mesh_pattern(cfg) File "/home/user/project/terrain-generator/terrain_generator/trimesh_tiles/mesh_parts/create_tiles.py", line 101, in create_mesh_pattern tiles = ray.get(tiles) File "/home/user/miniconda3/envs/wfc/lib/python3.8/site-packages/ray/_private/client_mode_hook.py", line 105, in wrapper return func(*args, **kwargs) File "/home/user/miniconda3/envs/wfc/lib/python3.8/site-packages/ray/_private/worker.py", line 2309, in get raise value.as_instanceof_cause() ray.exceptions.RayTaskError(CalledProcessError): ray::create_mesh_tile() (pid=2721959, ip=<IP_ADDRESS>) File "/home/user/project/terrain-generator/terrain_generator/trimesh_tiles/mesh_parts/create_tiles.py", line 79, in create_mesh_tile mesh = cached_mesh_gen() File "/home/user/project/terrain-generator/terrain_generator/utils/utils.py", line 99, in mesh_gen mesh = mesh_gen_fn(cfg) File "/home/user/project/terrain-generator/terrain_generator/trimesh_tiles/mesh_parts/basic_parts.py", line 229, in create_platform_mesh mesh = merge_meshes(meshes, cfg.minimal_triangles) File "/home/user/project/terrain-generator/terrain_generator/utils/mesh_utils.py", line 26, in merge_meshes mesh = trimesh.boolean.union(meshes, engine=engine) File "/home/user/miniconda3/envs/wfc/lib/python3.8/site-packages/trimesh/boolean.py", line 44, in union result = _engines[engine](meshes, operation='union', **kwargs) File "/home/user/miniconda3/envs/wfc/lib/python3.8/site-packages/trimesh/interfaces/blender.py", line 55, in boolean result = blend.run(_blender_executable + File "/home/user/miniconda3/envs/wfc/lib/python3.8/site-packages/trimesh/interfaces/generic.py", line 90, in run check_call(command_run, File "/home/user/miniconda3/envs/wfc/lib/python3.8/subprocess.py", line 364, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/usr/bin/blender', '--background', '--python', '/tmp/tmpb_tegtcd']' died with <Signals.SIGABRT: 6>.

Thanks! I resolved the previous issue.
I also encountered the identical error message.

Thanks for the report! It seems like the blender is failing to merge some meshes. Could you try setting the minimal_triangle param to false to check if it works?

Thanks for the report! It seems like the blender is failing to merge some meshes. Could you try setting the minimal_triangle param to false to check if it works?

Yes! I've tried to do that before and the code works. So I think it's something wrong with blender. But I can't figure out why up to now.


allow more stripes, allow specifying host names, fix port numbering t…

allow more stripes, allow specifying host names, fix port numbering to be able to account for up to 10 stripes

TP ❤