Deploy beta

Issue #, if available:
Amplify beta release
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #503 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #503   +/-   ##
=======================================
  Coverage   89.47%   89.47%
=======================================
  Files          62       62
  Lines        3040     3040
  Branches      588      588
=======================================
  Hits         2720     2720
  Misses        305      305
  Partials       15       15

Continue to review full report at Codecov.

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


return an url to the just uploaded file in json

so that the client can access/display/download the file
see #429

:+1:
can consider returning the content_type and geometry (e.g. 200x400) along with the "upload success" response e.g. https://github.com/choonkeat/attache#upload very useful for frontend

@choonkeat interesting, hadn't seen attache. Refile can run as a separate server as well, by the way, it was one of the primary drivers behind the design. It isn't documented very well how to do it though ;)
Let's merge this, since it's definitely an improvement on the status quo. It's a bit unfortunate that we can't get a processed file out of this though, but there isn't really any generic way of doing this, I think.

@jnicklas I do have an idea how to return a process image. I will evaluate it and send a new pull request to discuss it.


[BUG] Frequent failure to push checkpoint to Hugging Face

🐛 Bug
I've seen this issue in the past, but now I've had failures 5 times in a row trying to push a model (Llama 3 70B) I've trained with LoRA to Hugging Face, always failing with the error Your proposed upload is smaller than the minimum allowed size after uploading at least some of the safetensors files successfully to Hugging Face.
As mentioned above, this used to happen to me about 1 times in 3, but since yesterday it's occurred over and over, making it impossible to get my trained model to Hugging Face.
Thanks in advance for your help.
To Reproduce
Try pushing a checkpoint of a large model to Hugging Face. I am uploading LLama 3 70B trained with LoRA, and using the cpu_shard setting. Below are the logs
2024-07-23 12:31:09,477 - INFO: Initializing client True
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
2024-07-23 12:31:10,477 - INFO: Stop token ids: [tensor([  27,   91, 9125,   91,   29])]
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
Special tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.
2024-07-23 12:31:11,453 - INFO: Stop token ids: [tensor([  27,   91, 9125,   91,   29])]
2024-07-23 12:31:11,468 - WARNING: PAD token id not matching between config and tokenizer. Overwriting with tokenizer id 128001.
2024-07-23 12:31:11,468 - INFO: Setting pretraining_tp of model config to 1.
2024-07-23 12:31:11,490 - INFO: Using bfloat16 for backbone
2024-07-23 12:31:11,490 - INFO: Using Flash Attention 2.
2024/07/23 12:45:37 # {"client":"fb52093e-4329-46ae-a696-5982cd3952c7","state":"DISCONNECT","t":"ws_disconnect"}
2024/07/23 12:46:01 # {"client":"a3d67d5a-1de3-4722-b740-c915a0fe61b6","state":"DISCONNECT","t":"ws_disconnect"}
2024-07-23 13:11:46,164 - INFO: Lora module names: ['q_proj', 'k_proj', 'v_proj', 'o_proj', 'gate_proj', 'up_proj', 'down_proj']
2024-07-23 13:13:47,987 - INFO: Trainable parameters count:<PHONE_NUMBER>
2024-07-23 13:13:47,987 - INFO: Total parameters count:<PHONE_NUMBER>6
2024-07-23 13:13:47,987 - INFO: Trainable %: 8.5863%
2024-07-23 13:16:05,354 - INFO: Weights loaded from: /home/ubuntu/h2o-llmstudio/output/user/heavyiq-llama-3-70b-16k-combo-v61-5-no-cte-judge-3584
-tokens-lora-r-512-a-1024-lr-1-1e-5/checkpoint.pth
2024-07-23 13:16:59,284 - INFO: Merging LORA layers with base model.
2024-07-23 13:16:59,555 - INFO: Enough space available for saving model weights.Required space: 138607.63MB, Available space: 17078424.52MB.
Token has not been saved to git credential helper. Pass add_to_git_credential=True if you want to set the git credential as well.
Token is valid (permission: write).
Your token has been saved to /home/ubuntu/.cache/huggingface/token
Login successful
model-00030-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 2.10G/2.10G [00:42<00:00, 50.0MB/s]
model-00022-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 4.66G/4.66G [01:29<00:00, 52.1MB/s]
model-00005-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 4.66G/4.66G [01:33<00:00, 49.9MB/s]
model-00018-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 5.00G/5.00G [01:39<00:00, 50.4MB/s]
model-00009-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 4.97G/4.97G [01:43<00:00, 48.2MB/s]
model-00023-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 5.00G/5.00G [01:44<00:00, 47.8MB/s]
model-00002-of-00030.safetensors:  83%|█████████████████████████████████████████████████████████▌           | 3.89G/4.66G [01:11<00:17, 43.4MB/s]
HTTP Error 500 thrown while requesting PUT https://hf-hub-lfs-us-east-1.s3-accelerate.amazonaws.com/repos/6b/fa/6bfa07cdb8bf9a3ba2855419c22ebb5a4
c20017e3a6936f75b08e3656c46cb53/2d2e0bbc5dbd1e2cdd3c2395e53251ce7470cf5760533afb130f051f6f2302c9?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-S
ha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA2JU7TKAQLC2QXPN7%2F20240723%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240723T132539Z&X-Amz-Expires
=86400&X-Amz-Signature=4be65d9cf19db19a64c12c7a54313fb242255b284d422114f21af1e266542b28&X-Amz-SignedHeaders=host&partNumber=225&uploadId=sjpYGTy_
KvrXiPiatCQ5Ifvo4XjLStAjQPLjAUJPoi9VTC0Nal6IxEkamVmZAV0SUXa5SX.ZPCvehTE8XYDmiOLJzt3RLoGqzzaoLe0fCdoKZwkyTFcy4H5tcDz4S1pL&x-id=UploadPart49.8MB/s]
2024-07-23 13:28:33,493 - WARNING: HTTP Error 500 thrown while requesting PUT https://hf-hub-lfs-us-east-1.s3-accelerate.amazonaws.com/repos/6b/f
a/6bfa07cdb8bf9a3ba2855419c22ebb5a4c20017e3a6936f75b08e3656c46cb53/2d2e0bbc5dbd1e2cdd3c2395e53251ce7470cf5760533afb130f051f6f2302c9?X-Amz-Algorit
hm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA2JU7TKAQLC2QXPN7%2F20240723%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-
Date=20240723T132539Z&X-Amz-Expires=86400&X-Amz-Signature=4be65d9cf19db19a64c12c7a54313fb242255b284d422114f21af1e266542b28&X-Amz-SignedHeaders=ho
st&partNumber=225&uploadId=sjpYGTy_KvrXiPiatCQ5Ifvo4XjLStAjQPLjAUJPoi9VTC0Nal6IxEkamVmZAV0SUXa5SX.ZPCvehTE8XYDmiOLJzt3RLoGqzzaoLe0fCdoKZwkyTFcy4H
5tcDz4S1pL&x-id=UploadPart
Retrying in 1s [Retry 1/5].
2024-07-23 13:28:33,494 - WARNING: Retrying in 1s [Retry 1/5].
model-00002-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 4.66G/4.66G [01:26<00:00, 53.8MB/s]
model-00014-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 4.97G/4.97G [01:39<00:00, 50.1MB/s]
model-00011-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 4.66G/4.66G [01:37<00:00, 47.8MB/s]
model-00013-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 5.00G/5.00G [01:35<00:00, 52.5MB/s]
Upload 30 LFS files:  30%|██████████████████████████▍                                                             | 9/30 [03:18<07:43, 22.09s/it]
model-00006-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 4.66G/4.66G [01:35<00:00, 48.6MB/s]
model-00020-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 4.66G/4.66G [01:31<00:00, 51.1MB/s]
model-00015-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 4.66G/4.66G [01:24<00:00, 55.0MB/s]
model-00012-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 4.66G/4.66G [01:37<00:00, 47.9MB/s]
model-00025-of-00030.safetensors: 100%|█████████████████████████████████████████████████████████████████████| 4.66G/4.66G [01:36<00:00, 48.1MB/s]
2024-07-23 13:31:00,958 - ERROR: Unknown exception████████████████████████████                              | 2.64G/4.66G [00:53<00:41, 48.5MB/s]
Traceback (most recent call last):100%|████████████████████████████████████████████████████████████████████▉| 4.66G/4.66G [01:36<00:00, 56.1MB/s]
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/utils/_errors.py", line 304, in hf_raise_for_sta
tus
response.raise_for_status()
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/requests/models.py", line 1024, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://huggingface.co/api/complete_multipart?uploadId=sjpYGTy_KvrXiPiatCQ5
Ifvo4XjLStAjQPLjAUJPoi9VTC0Nal6IxEkamVmZAV0SUXa5SX.ZPCvehTE8XYDmiOLJzt3RLoGqzzaoLe0fCdoKZwkyTFcy4H5tcDz4S1pL&bucket=hf-hub-lfs-us-east-1&prefix=r
epos%2F6b%2Ffa%2F6bfa07cdb8bf9a3ba2855419c22ebb5a4c20017e3a6936f75b08e3656c46cb53&expiration=Wed%2C+24+Jul+2024+13%3A25%3A39+GMT&signature=99919e
38c7392e45f36adc29e992396a252b30147d51959597db45a7ef3d8f55
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/_commit_api.py", line 401, in _wrapped_lfs_upload
lfs_upload(operation=operation, lfs_batch_action=batch_action, token=token)
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/lfs.py", line 228, in lfs_upload
_upload_multi_part(operation=operation, header=header, chunk_size=chunk_size, upload_url=upload_action["href"])
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/lfs.py", line 334, in _upload_multi_part
hf_raise_for_status(completion_res)
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/utils/_errors.py", line 358, in hf_raise_for_status
raise BadRequestError(message, response=response) from e
huggingface_hub.utils._errors.BadRequestError:  (Request ID: Root=1-669fb01c-6c5307b74ffc56134e74ba3e;a9a2d887-decd-4987-be09-52458e216931)
Bad request:
Your proposed upload is smaller than the minimum allowed size
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/ubuntu/h2o-llmstudio/./llm_studio/app_utils/handlers.py", line 358, in handle
await experiment_push_to_huggingface_dialog(q)
File "/home/ubuntu/h2o-llmstudio/./llm_studio/app_utils/sections/experiment.py", line 2012, in experiment_push_to_huggingface_dialog
publish_model_to_hugging_face(
File "/home/ubuntu/h2o-llmstudio/./llm_studio/app_utils/hugging_face_utils.py", line 267, in publish_model_to_hugging_face
model.backbone.push_to_hub(
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/transformers/modeling_utils.py", line 2635, in push_to_hub
return super().push_to_hub(*args, **kwargs)
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/transformers/utils/hub.py", line 894, in push_to_hub
return self._upload_modified_files(
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/transformers/utils/hub.py", line 758, in _upload_modified_files
return create_commit(
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 118, in _inner_fn
return fn(*args, **kwargs)
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/hf_api.py", line 1227, in _inner
return fn(self, *args, **kwargs)
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/hf_api.py", line 3762, in create_commit
self.preupload_lfs_files(
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/hf_api.py", line 4262, in preupload_lfs_files
_upload_lfs_files(
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/utils/_validators.py", line 118, in _inner_fn
return fn(*args, **kwargs)
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/_commit_api.py", line 416, in _upload_lfs_files
thread_map(
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/tqdm/contrib/concurrent.py", line 69, in thread_map
return _executor_map(ThreadPoolExecutor, fn, *iterables, **tqdm_kwargs)
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/tqdm/contrib/concurrent.py", line 51, in _executor_map
return list(tqdm_class(ex.map(fn, *iterables, chunksize=chunksize), **kwargs))
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/tqdm/std.py", line 1181, in iter
for obj in iterable:
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/concurrent/futures/_base.py", line 621, in result_iterator
yield _result_or_cancel(fs.pop())
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/concurrent/futures/_base.py", line 319, in _result_or_cancel
return fut.result(timeout)
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/concurrent/futures/_base.py", line 458, in result
return self.__get_result()
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
raise self._exception
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/home/ubuntu/miniconda3/envs/h2o_llm_studio/lib/python3.10/site-packages/huggingface_hub/_commit_api.py", line 403, in _wrapped_lfs_upload
raise RuntimeError(f"Error while uploading '{operation.path_in_repo}' to the Hub.") from exc
RuntimeError: Error while uploading 'model-00013-of-00030.safetensors' to the Hub.

LLM Studio version
98854a148df19299802d931a7bc2040a1fa3cf98: Add new setting: prompt_column_separator

Thank you for the issue. I personally never experienced it, so this is interesting.
Is that with or without HF_HUB_ENABLE_HF_TRANSFER ? In either case, could you try using the other option and see if the issue persists?
To make it easier to reproduce, could you share a cfg.yaml maybe? Like, was deepspeed used? I assume this is standard Causal LM modeling?

Hi @pascal-pfeiffer, I didn't have HF_HUB_ENABLE_HF_TRANSFER enabled, but can try that.
Note that I tried a bit later and was able to successfully upload my model, so perhaps its intermittent/a network issue (I am using an 8XA100 machine on Lambda).
Let me see if this pops up again in the coming days and if so I will add the pertinent details.
Today I tried to upload a new model training on Llama 3.1 70B but hit a different issue, will make a separate issue for it.

I was able to reproduce with LLama3.1 70B after also getting a HTTP Error 500 thrown while requesting PUT for one of the chunks. This is without HF_HUB_ENABLE_HF_TRANSFER. With the flag active (what I usually do), I have never seen the issue before, so I assume this is a network issue.

I didn't have HF_HUB_ENABLE_HF_TRANSFER enabled, but can try that.

For now, I'd suggest to use that and see if it already solves the issue.

I hope #790 solves the issue for you, if not, please reopen.


Fix/sdk update examples

What :computer:

Update contract address in examples to match with addresses from Sepolia network.
Migration from zksync2-js to zksync-ethers.
Migration from zksync-web3 to zksync-ethers.

Regarding the Sepolia migration, we've already deployed those last week with @Romsters. For awareness:

New paymaster contract address: Replace 0xd660c2F92d3d0634e5A20f26821C43F1b09298fe with 0x3cb2b87d10ac01736a65688f3e0fb1b070b3eea3
ERC20 contract address: Replace 0xCd9BDa1d0FC539043D4C80103bdF4f9cb108931B with 0x765F5AF819D818a8e8ee6ff63D8d0e8056DBE150

If you can revert back the changes when it comes to new addresses for paymasters, and the CROWN ERC20 address would be great. OR, update the Go SDK resources with those that I provided here.

I reverted the changes related to ERC20 token and paymaster. In deposit and withdrawal example I used token which is deployed on both (L1 and L2) networks.


[T-Bot] T-Bot animation

Extracted from #21.
"there should be a way to show the bot with animation:
minimal implementation: expand the bot from 0x0 to target dimensions, probably with bezier
nice to have: expand the bot body first, then animate his face and eyes in (this could be extracted to a separate issue to be pushed back, if proves to be time consuming)"

Nice to have animation moved to the #255


Dns changes

After making the suggested fix please rebase upstream and squash

@jwhui We're having a problem with the pretty check on this one, for @cparam lines that are too long (adding the line break that pretty wants messes up Doxygen import).  Trying to figure it out.

@jwhui Is there a way we can bypass the make pretty check for this one, and if we do, does that still mean it's going to fail for any future update to this file?  We need to take a deeper dive into Doxygen to figure out how to handle lines that are too long for the @cparam tags.

@jwhui Is there a way we can bypass the make pretty check for this one, and if we do, does that still mean it's going to fail for any future update to this file? We need to take a deeper dive into Doxygen to figure out how to handle lines that are too long for the @cparam tags.

@Vyrastas , is it possible to wrap with clang-format off and clang-format on?
https://clang.llvm.org/docs/ClangFormatStyleOptions.html#disabling-formatting-on-a-piece-of-code

@jwhui Is there a way we can bypass the make pretty check for this one, and if we do, does that still mean it's going to fail for any future update to this file? We need to take a deeper dive into Doxygen to figure out how to handle lines that are too long for the @cparam tags.

@Vyrastas , is it possible to wrap with clang-format off and clang-format on?
https://clang.llvm.org/docs/ClangFormatStyleOptions.html#disabling-formatting-on-a-piece-of-code

This did the trick, thanks for the pointer.  I'll see if there's a way to fix our Doxygen template so we don't have to rely on this.


excludeGuardClauses in ReturnCount should ignore first super call

Expected Behavior of the rule
When excludeGuardClauses flag is true for ReturnCount it should ignore the first super. call of the function call. I frequently encounter this when writing visitor in detekt rules.
One example where this rule flags a code smell is as below:
override fun visitWhenExpression(expression: KtWhenExpression) {
        super.visitWhenExpression(expression)
        if (expression.entries.size == 2) return
        if (expression.elseExpression != null) return
        if (ignoreWhenContainingVariableDeclaration.not() && expression.subjectExpression is KtProperty) return
        if (expression.entries.none { it.conditions.size > 1 }) return
        report(
            CodeSmell(
                issue,
                Entity.from(expression),
                "Prefer using 'if' for binary conditions instead of 'when'."
            )
        )
    }

As per me, lines if (expression.entries.size == 2) return, if (expression.elseExpression != null) return and such are acting as a guard clause. But just because they are below super they are getting calculated for the ReturnCount threshold calculation
Failing TC that should pass
@Test
fun `does not report when guard clause is present below super call`() {
    val code = """
    open class A {
        open fun a(list: List<Int>) {

        }
    }

    class B: A() {
        override fun a(list: List<Int>) {
            super.a(list)

            if (list.isEmpty()) return
            if (list.contains(-1)) return
            if (list.contains(-2)) return
            if (list.contains(-3)) return
        }
    }
""".trimIndent()
    val findings = ReturnCount(
        TestConfig(
            mapOf(
                EXCLUDE_GUARD_CLAUSES to "true",
            )
        )
    ).compileAndLint(code)
    assertThat(findings).isEmpty()
}

When excludeGuardClauses flag is true for ReturnCount it should ignore the first super. call of the function call. I frequently encounter this when writing visitor in detekt rules.

Totally agree. This should be doable by tweaking the yieldStatementsSkippingGuardClauses util function we have in the codebase

Hi @cortinico glad you liked the idea @BraisGabin what are your thoughts on this?
If you both agree that this is something we should do, then I can pick this up

Sure, this have a lot of sense.

Assigned to you @atulgpt 👍


sql engine does not handle constraint violation errors

Currently, database just panics if you run any queries that violates supported type constraints.
Query to reproduce the issue:
create schema SMOKE_TYPES;

create table SMOKE_TYPES.NUMERIC_TYPES
(
    column_small_int        smallint,
    column_integer          integer,
    column_big_int          bigint
);

insert into SMOKE_TYPES.NUMERIC_TYPES
values (-32768, -2147483648, -9223372036854775809);

Actual result:
psql
server closed the connection unexpectedly
	This probably means the server terminated abnormally
	before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.

server
 DEBUG sql_engine                > STATEMENT = Insert { table_name: ObjectName([Ident { value: "SMOKE_TYPES", quote_style: None }, Ident { value: "NUMERIC_TYPES", quote_style: None }]), columns: [], source: Query { ctes: [], body: Values(Values([[UnaryOp { op: Minus, expr: Value(Number("32768")) }, UnaryOp { op: Minus, expr: Value(Number("2147483648")) }, UnaryOp { op: Minus, expr: Value(Number("9223372036854775809")) }]])), order_by: [], limit: None, offset: None, fetch: None } }
ConstraintViolation({OutOfRange: [[("column_big_int", BigInt)]]})
thread 'main' panicked at 'not implemented', /Users/alex-dukhno/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/src/libstd/macros.rs:13:23

Expected result depends on what type and what constraint is violated (optionally should be supported errors for multiple columns/rows):
ERROR:  <type> <constraint error message>

@alex-dukhno could you assign this issue to me. Thanks.

After playing with psql for a little, it seems it reports the first error that occurs. Is that the behavior that you want or would you like all of the constraint errors found to be reported?

Thanks for raising the question. I prefer developer experience over following PostgreSQL in this regard

Alright, then all of the errors that are found during execution should be reported not just the first one. This changes how I was going to represent the QueryError. Thanks.


Fix rule for aggregation through outer join pushdown

Added more tests for correct pushdown with regard to symbols required by Aggregation.

@martint I have finished fixing this rule. Please review.

Applied comments.

Merged, thanks!


Add option n_modes="all" to perform the full decomposition

As an aside it would be nice to have an option like n_modes="all", which figures out the rank of the data early on and sets n_modes = rank. When I want to do experiments like this I usually just first try to fit the model with a million modes and then get the rank from the error message and plug it in.
Looks like sklearn.PCA does this as a default: n_components = None

Originally posted by @slevang in https://github.com/xarray-contrib/xeofs/issues/156#issuecomment-1986889963

Agree with you, that'd be nice. Currently, the rank is only computed when we fit the Decomposer
https://github.com/xarray-contrib/xeofs/blob/a3cb204171dbbd1f09f2c083099cf3b67f625495/xeofs/models/decomposer.py#L72-L74
The first opportunity to compute the rank is probably already within the Stacker of the Preprocessor. since we then know the final size of the matrix.
I don't know what you think about the default value - Personally, I mostly prefer to have a fast rather than exact decomposition. If we were going for n_modes="all" as a default, it would always trigger the full SVD decomposition.

Yep, agree with all that. Fine to leave the default alone, and I was thinking around the same place in the preprocessors to check the rank. Just a question then of how to propagate the information back to the rest of the class, haven't looked at the details yet.


EPIC: Support running on macOS

To allow Clay to run on not just Linux operating systems, but OSX as well!
This comes from user feedback during DevSeed's Team Week, where we found out that the folks developing the Clay model are predominantly Linux-based, but users were using other operating systems like macOS.
Non-OS specific:

[ ] Document how to install mamba (using brew on OSX, or add non-OS specific instructions)
[ ] Extra steps to handle mamba commands on zsh
[ ] Create a docker image for Clay (@leothomas) #166

OSX (Intel chips):

[x] Solve installation on OSX by removing cuda part which is Linux specific (@chuckwondo)
[x] Get CI running on OSX 10.14+
[ ] Mention minimum version of pytorch needed is 2.1?

OSX-ARM64 (M1 chips):

[ ] Get CI runnong on macos-14 (#164) ~Figure out why torchdata~=0.7.1 and torchvision~=0.16.1 cannot be installed on osx-arm64, maybe https://github.com/conda-forge/torchvision-feedstock/pull/89 will help?~

I would be happy to help with this if there is anything I can do. A few weeks ago I started working on getting things set up and running on my Mac. I was interested in experimenting with the project and my typical approach is to start local. My first goal was to get to the point where I could train and predict on a small data set and then move on from there. I haven't finished but I would be happy to share my approach or issues I've encountered.
I've made a few minor changes but the most significant departure has been to use pip instead of mamba to install requirements. I don't know if that's useful or just a bad idea, but I thought it would be worth a try and it seems to work. (Although I guess I'm not 100% sure until I have the various cli commands running, which currently seem to be failing because of data type support on cpu.)

Hi @mikeskaug, thanks for offering to help! If you can post some of the error messages you're getting (open a bug report issue), that would be great for us to keep track. There's been lots of dtype related bugs (e.g. https://github.com/Clay-foundation/model/issues/134) due to different operating systems and GPU/CPU devices being used, and we'd like to iron those out as much as possible!
If you're keen to contribute, we're open to help with improving our documentation, or you can also jump in and review some of our outstanding PRs (e.g. #164 and #166 are macOS related ones). Or if you have a use-case/dataset you'd like to share and collaborate on, we can discuss more too :smile:

Hi, I tried using the model on my Mac M1 Pro as well as on Binder. But I ran into the same issue with both of them. When I was trying to install locally, I got an error "The following package could not be------installed: pytorch ~=2.1.0 cuda12 does not exist (perhaps a typo or a missing channel)." With Binder, I got the same error as it was loading. I would appreciate any suggestions on how to resolve this issue.

"The following package could not be------installed: pytorch ~=2.1.0 cuda12 does not exist

Ah yes, that's because Mac M1 devices don't have CUDA. You'll need to install from the lock-file instead from #164 which adds support for ARM OSX devices. Gimme a few minutes to merge that PR, and then if you do a git pull, you should be able to install with:
mamba create --name claymodel python=3.11 conda-lock=2.5.1
conda-lock install --mamba --name claymodel conda-lock.yml

Which reminds me, I should update the installation instructions on that branch before merging.

@ritwikvashistha, I've merged #164 now, so installation macOS ARM devices should work :crossed_fingers:. Can you try following the conda-lock installation instructions I mentioned above (or at https://clay-foundation.github.io/model/installation.html#advanced) and see if it installs on your device? Let us know if you still get any errors!

I followed the steps you mentioned and got the following error after the conda-lock line:
"(claymodel) ritwikvashistha@ritwiks-mbp model % conda-lock install --micromamba --name claymodel conda-lock.yml
Traceback (most recent call last):
File "/Users/ritwikvashistha/micromamba/envs/claymodel/bin/conda-lock", line 10, in
sys.exit(main())
^^^^^^
File "/Users/ritwikvashistha/micromamba/envs/claymodel/lib/python3.11/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ritwikvashistha/micromamba/envs/claymodel/lib/python3.11/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/Users/ritwikvashistha/micromamba/envs/claymodel/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ritwikvashistha/micromamba/envs/claymodel/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ritwikvashistha/micromamba/envs/claymodel/lib/python3.11/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ritwikvashistha/micromamba/envs/claymodel/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ritwikvashistha/micromamba/envs/claymodel/lib/python3.11/site-packages/conda_lock/conda_lock.py", line 1483, in click_install
install(
File "/Users/ritwikvashistha/micromamba/envs/claymodel/lib/python3.11/site-packages/conda_lock/conda_lock.py", line 1518, in install
_conda_exe = determine_conda_executable(conda, mamba=mamba, micromamba=micromamba)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ritwikvashistha/micromamba/envs/claymodel/lib/python3.11/site-packages/conda_lock/invoke_conda.py", line 59, in determine_conda_executable
if determine_micromamba_version(str(candidate)) < LooseVersion("0.17"):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: '<' not supported between instances of 'Version' and 'LooseVersion' "

Error message looks the same as https://github.com/conda/conda-lock/issues/596, looks like an upgrade to conda-lock>=2.5.3 is needed.

Ok, trying to fix that TypeError: '<' not supported between instances of 'Version' and 'LooseVersion' " in #183. Could you try:
mamba env remove -n claymodel
mamba create --name claymodel python=3.11 conda-lock=2.5.6
conda-lock install --mamba --name claymodel conda-lock.yml

I just did that, and I didn't get any errors. But it seems like the dependencies didn't get downloaded since, on trying to run some basic codes, I am getting errors related to missing modules. I think I will just download all those missing modules manually since they don't seem like a lot, but I just wanted to mention the issue for reference.

I am getting errors related to missing modules. I think I will just download all those missing modules manually since they don't seem like a lot, but I just wanted to mention the issue for reference.

Could you file a separate bug report (https://github.com/Clay-foundation/model/issues/new) for those missing modules? Would be good for us to keep track of what dependencies are missing and needs to be added to environment.yml/conda-lock.yml.

Ok, trying to fix that TypeError: '<' not supported between instances of 'Version' and 'LooseVersion' " in #183. Could you try:
mamba env remove -n claymodel
mamba create --name claymodel python=3.11 conda-lock=2.5.6
conda-lock install --mamba --name claymodel conda-lock.yml

Note the new version of conda-lock=2.5.6 is used.

Note that you need to activate the env before running conda-lock, so the steps should be the following:
mamba env remove -n claymodel
mamba create --name claymodel python=3.11 conda-lock=2.5.6
mamba activate claymodel
conda-lock install --mamba --name claymodel conda-lock.yml

@chuckwondoIt works now, and I just tried the 'Burn scar analysis using embeddings from partial inputs' tutorial. I was able to reproduce it. I will continue experimenting with it to get embeddings from partial inputs. Thanks, @chuckwondo and @weiji14  for the help and the promptness in your replies!


Alchemy webhooks

Polling with eth_getlogs on 3rd party node providers such as Alchemy consumes too much compute. Add support for alchemy webhooks, so we don't have to crawl chains that Alchemy supports.
https://docs.alchemy.com/reference/custom-webhooks-quickstart

Initial draft of transmuted complete. Needs further testing and optimization.

Still need to handle reorgs: https://docs.alchemy.com/reference/custom-webhooks-faq#how-are-reorgs-handled

Initial thoughts are too implement similar (if not identical) block cache logic to blockspiderd.


applications are showing time in UTC instead of local time

As we still have DST, this should be changed.

Fixed by adding TZ=Europe/London environment variables to all containers. Deployed to both environments.


My name added

Thanks for your contribution 😊. Don't forget to ✨ our Repository.
If you want to contribute to our new Ideas Project -https://github.com/KapilKumar7/CreativeAppIdeas


custom device_map does not offload anything to CPU

It seems like device_map does not offload anything to CPU if it's constructed manually.
Here's an example:
from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
import torch

model_path = "/opt/models/vicuna-13B-1.1-GPTQ-4bit-128g"

device_map = {'model.embed_tokens': 0, 'model.norm': 0, 'lm_head': 0, 'model.layers.0': 0, 'model.layers.1': 'cpu', 'model.layers.2': 'cpu', 'model.layers.3': 'cpu', 'model.layers.4': 'cpu', 'model.layers.5': 'cpu', 'model.layers.6': 'cpu', 'model.layers.7': 'cpu', 'model.layers.8': 'cpu', 'model.layers.9': 'cpu', 'model.layers.10': 'cpu', 'model.layers.11': 'cpu', 'model.layers.12': 'cpu', 'model.layers.13': 'cpu', 'model.layers.14': 'cpu', 'model.layers.15': 'cpu', 'model.layers.16': 'cpu', 'model.layers.17': 'cpu', 'model.layers.18': 'cpu', 'model.layers.19': 'cpu', 'model.layers.20': 'cpu', 'model.layers.21': 'cpu', 'model.layers.22': 'cpu', 'model.layers.23': 'cpu', 'model.layers.24': 'cpu', 'model.layers.25': 'cpu', 'model.layers.26': 'cpu', 'model.layers.27': 'cpu', 'model.layers.28': 'cpu', 'model.layers.29': 'cpu', 'model.layers.30': 'cpu', 'model.layers.31': 'cpu', 'model.layers.32': 'cpu', 'model.layers.33': 'cpu', 'model.layers.34': 'cpu', 'model.layers.35': 'cpu', 'model.layers.36': 'cpu', 'model.layers.37': 'cpu', 'model.layers.38': 'cpu', 'model.layers.39': 'cpu'}

quantize_config = BaseQuantizeConfig(
    bits=4,
    group_size=128,
)

full_gpu = True

if full_gpu:
    model = AutoGPTQForCausalLM.from_quantized(
        model_path,
        device="cuda:0",
        use_safetensors=True,
        quantize_config=quantize_config,
        model_basename="vicuna-13B-1.1-GPTQ-4bit-128g.latest"
    )
else:
    model = AutoGPTQForCausalLM.from_quantized(
        model_path,
        device="cpu",
        use_safetensors=True,
        quantize_config=quantize_config,
        model_basename="vicuna-13B-1.1-GPTQ-4bit-128g.latest",
        device_map=device_map
    )

mem_gb = round(torch.cuda.memory_allocated(0) / 1000 / 1000 / 1000)
print(f"USED VRAM: {mem_gb}GB")

The model is https://huggingface.co/TheBloke/vicuna-13B-1.1-GPTQ-4bit-128g. The device_map is constructed so that only the first model layer is on GPU, and the rest is supposed to be on CPU. The last two lines measure the used VRAM.
When full_gpu = True, everything is on GPU, and I get this:
USED VRAM: 7GB

which is expected.
But now, I set full_gpu = False and the device map is used. However, at the end I get the same result:
USED VRAM: 7GB

I double-checked that the device_map is actually used, but it seems like it doesn't offload anything. Am I missing something?

currently device_map doesn't support manually construct, only support those pre-defined strategies: "auto", "balanced", "balanced_low_0", "sequential", or you can set max_memory to specify the memory each device used at most.

OK.
It's just that initially I found this:
https://github.com/PanQiWei/AutoGPTQ/blob/d79aec7bd08a789f6b7384df4cc91b57226a2cc1/auto_gptq/modeling/_base.py#L541-L542
So, I assumed that if {"": device} is accepted into load_checkpoint_and_dispatch, then any custom device map should also be accepted. Alas, it's not the case.

I've inspected the code and found out that, in theory, custom device maps should work, because when max_memory is passed to the accelerate.load_checkpoint_and_dispatch, it will be used to construct the corresponding device map (via infer_auto_device_map) that looks similar to what I provided in the example code.
So I decided to just test the max_memory. And it turns out that it also doesn't work.
from auto_gptq import AutoGPTQForCausalLM, BaseQuantizeConfig
import torch

model_path = "/opt/models/vicuna-13B-1.1-GPTQ-4bit-128g"

quantize_config = BaseQuantizeConfig(
    bits=4,
    group_size=128,
)

model = AutoGPTQForCausalLM.from_quantized(
    model_path,
    device="cpu",
    use_safetensors=True,
    use_triton=False,
    quantize_config=quantize_config,
    model_basename="vicuna-13B-1.1-GPTQ-4bit-128g.latest",
    max_memory={0: "2GIB", "cpu": "30GIB"}
)

mem_gb = round(torch.cuda.memory_allocated(0) / 1000 / 1000 / 1000)
print(f"USED VRAM: {mem_gb}GB")

This internally constructs the following device map (via infer_auto_device_map):
{'model.embed_tokens': 0, 'model.layers.0': 0, 'model.layers.1': 0, 'model.layers.2': 0, 'model.layers.3': 0, 'model.layers.4': 0, 'model.layers.5': 0, 'model.layers.6': 0, 'model.layers.7': 0, 'model.layers.8': 'cpu', 'model.layers.9': 'cpu', 'model.layers.10': 'cpu', 'model.layers.11': 'cpu', 'model.layers.12': 'cpu', 'model.layers.13': 'cpu', 'model.layers.14': 'cpu', 'model.layers.15': 'cpu', 'model.layers.16': 'cpu', 'model.layers.17': 'cpu', 'model.layers.18': 'cpu', 'model.layers.19': 'cpu', 'model.layers.20': 'cpu', 'model.layers.21': 'cpu', 'model.layers.22': 'cpu', 'model.layers.23': 'cpu', 'model.layers.24': 'cpu', 'model.layers.25': 'cpu', 'model.layers.26': 'cpu', 'model.layers.27': 'cpu', 'model.layers.28': 'cpu', 'model.layers.29': 'cpu', 'model.layers.30': 'cpu', 'model.layers.31': 'cpu', 'model.layers.32': 'cpu', 'model.layers.33': 'cpu', 'model.layers.34': 'cpu', 'model.layers.35': 'cpu', 'model.layers.36': 'cpu', 'model.layers.37': 'cpu', 'model.layers.38': 'cpu', 'model.layers.39': 'cpu', 'model.norm': 'cpu', 'lm_head': 'cpu'}

The limit for the GPU was set to 2GiB, but in reality it still uses the same amount of VRAM:
USED VRAM: 7GB

I can make the following conclusions:

It is perfectly OK to pass custom device maps to from_quantized (the type hints need to be changed though).
No matter how the device map is constructed (manually or via max_memory), it does not work.

Seems like the problem is somewhere deeper.


docs(v2): clarify how to disable edit links entirely

Motivation
I tried to disable all "Edit this page" links using several ways and almost started to swizzle components when I found another PR that explained how to disable the edit links by omitting the editURL variable entirely. This small change will hopefully make it easier for future users.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
This change does not require a test plan.
Related PRs
None.

thanks


Useless copies

There are many copies (e.g. std::string) in the Robot class (at least) that should be const std::string&.

Fixed!


jSMPP v3

I see a version 3.0.0 of Maven, for jSMPP, while there is no mention of such in the "release" section of Github.
What are the differences compared to 2.x releases? Any breaking changes?

There is some info in /CHANGES.txt

Mean reason what to support SMPP 5 and use some more recent Java version.


adds sketch file

This includes the sketch file with the wireframes of the app.
@DS_Storoz

@blakeworsley We don't want the DS Store in our repo right?

Kyle's right. Blake, can you go ahead and at a line that says .DS_Store to the .gitignore file? (Not sure if you'll have to rm rf the DS_Store stuff first).


How to add dropout

Hi,
How to add dropout to your codebase? Given that we need to split RNG keys into a new dropout key, I don't know how to change your ninjax codebase. I appreciate your help!
Thank you

Just use nj.rng() to get a key that's split off the global key.


Update top-level README

Make section for documentation
Add one-liner for pip installation

@mzy2240 @SmartJingJing123 - take a look at the top-level README and let me know if you think it's adequate. Again, the reason to keep it slim is to avoid repeating information, which leads to unmaintainable documentation. GitHub does not allow us to use the include directive when rendering files on GitHub (such as the README).

Since you mentioned that for full details check the documents, I would recommend, in the installation section, just put the pip install esa.

@mzy2240 - sure thing, I can do that if you think it's better. I put the "only binary" stuff in there since I think that'll minimize the errors users receive. However, maybe that's punishment for not checking out the documentation :)


Improve the UX for handler debugging by validating handler configs.

Another handler UX idea.
This fail-fast approach should save folks some time debugging handler issues.  This is, however, backwards-incompatible, as some bogus, unrelated bad config file could break all handlers.
Another idea would be to only validate the config if the handle method raises and exception.  That way, it would be specific to the handlers (not global for all handlers, so it wouldn't break as described above).  It's definitely not as pretty in code, but it could give some nice feedback to users and make debugging quite easy.
Thinking about it more, I like the idea of catching exceptions from handle and then validating the settings, printing a message, and re-raising.
Thoughts?

@portertech Should we continue on this path or close this as unnecessary?

@portertech this is quite old, we should either close this and continue discussing this via an issue or work on getting this over the line.

I'll close out my own PR.  It probably a better idea than implementation, so thinking about how users can debug handlers faster is probably a better place to start than some stale ruby ;)


snapcraft.yaml: skip tests when building java services

This speeds up the builds and also avoids a problem with maven not finding org.apache.maven.surefire.booter.ForkedBooter and the tests failing.
This should fix builds such as https://jenkins.edgexfoundry.org/view/Snap/job/edgex-go-snap-delhi-stage-snap/1

I messed this PR up, as it thinks it needs checks from both delhi and master... Will re-open


Case insensitive filter values

Is there a way to make filter field values case-insensitive?
By default   /users?filter.firstName=john would return ZERO result if you have John or JOHN instead of john in the database.

You can use the $ilike operator! :)

@wisac does this address your issue?

I had wanted to go with the collation setting like you suggested since it looks straightforward.
I did some digging and found that in postgres, the collation setting can be achieved by using the citext datatype or creating collation on esch column. This will require altering of tables and data migration. (I tried it)
Using the $ilike operator, looks like the best option I've got but it would return other values too.
Eg. firstName=$ilike:john would return John-Smith too.
I have many tables with many fields I want to be queryable.
So I'm still looking at various options

Ok, good to know! I'll consider this issue closed then. Feel free to write a summary when you've found a solution that suited all your needs, that way future visitors can benefit! If you find that a good solution is not possible with nestjs-paginate, feel free to reopen the issue 👍


change artifact/version convention for java 6 jars

I'm looking into depending on the java6 version of coursier in ensime-sbt.
But a problem is that if the user depends on coursier-sbt, it will pull in a different version of coursier and then the version that is actually used will depend on whatever comes first in the classpath.
Rather than change the artifact name, could you perhaps publish the java6 version with a different version string? e.g. 1.0.0-M12-java6, which allows one of them to win.

I might revise my plans for 1.0 (as briefly discussed on Twitter), that is release it earlier, and have it target java 6 (as you suggested).

that would be so good, I owe you all the beers at Scala Sphere :smile:

it's been a long time coming, but I'm hoping that by this weekend I'll have sbt-ensime using coursier to install/deploy the ensime-server (instead of the clients).

@fommil 1.0.0-M15, which should support Java 6, was just released. Switching to it should fix https://github.com/ensime/ensime-sbt/issues/275 and https://github.com/ensime/ensime-sbt/issues/277.


Lambda ImportVulToSecurityHub

Hi , any help with this error .

import_findings_security_hub.zip
[ERROR] KeyError: 'messageType'
Traceback (most recent call last):
  File "/var/task/import_findings_security_hub.py", line 141, in lambda_handler
    return process_message(event)
  File "/var/task/import_findings_security_hub.py", line 27, in process_message
    if event['messageType'] == 'CodeScanReport':

@jsebastiancortes you can see my last open pull request with various updates, it is possible the answer to your problem you can be found it


keyfinder has no binaries

Issue description
There’s no KeyFinder executable in path, after installing keyfinder — https://github.com/NixOS/nixpkgs/blob/e9379f7416d04b6b7ff475816b0aa395c1e3f7f9/pkgs/applications/audio/keyfinder/default.nix
Steps to reproduce
% nix-shell -p keyfinder
% cd /nix/store ; find $(ls | grep keyfinder) -type f -executable
8bhrl2wyb6s8wpsyag4zycipzwhkn9vj-libkeyfinder-2.1/lib/libkeyfinder.so.2.1.0
%

Technical details

System: 16.09.git.8a8c1a9 (Flounder)
Nix version: nix-env (Nix) 1.11.3
Nixpkgs version: "16.09pre90254.6b20d5b"

cc @nckx

I don’t know

@michalrus can you check?

Sorry, I meant that I don’t know yet, but it’ll be hard to find some time to check (where did all my time go to ;( ;( ;( ), but I’ll try to soon

(triage) close?

Please revisit this. The binary is only thing installed from this package.
~ ❯ nix-shell -p keyfinder

[nix-shell:~]$ readlink -f $(which KeyFinder)
/nix/store/mdr1hj388zfxl3mqm84fmq8190mk024b-keyfinder-2.2/bin/KeyFinder

[nix-shell:~]$ tree -a /nix/store/mdr1hj388zfxl3mqm84fmq8190mk024b-keyfinder-2.2/
/nix/store/mdr1hj388zfxl3mqm84fmq8190mk024b-keyfinder-2.2/
└── bin
    └── KeyFinder

1 directory, 1 file

KeyFinder gave me a GUI with a dialog saying "A new version, 2.4, is available on...".

@lasers Version 2.4 contains exactly zero functional changes compared to 2.2: https://github.com/ibsh/is_KeyFinder/compare/2.2...master
Does the binary work for you? If it does I will update the version in nixpkgs.

The KeyFinder derivation should also import mkDerivation and use that instead of stdenv.mkDerivation in order for the binaries to get properly wrapped to find their QT libraries (see point 2 in the nixpkgs manual QT section).
That said, KeyFinder is apparently unmaintained upstream, and won't compile against ffmpeg instead of libav. This is an issue as the former is also unmaintained and has accumulated over 30 known CVEs listings against it (common vulnerabilities and exposures).
In the above bug report about this, you will see their was a recommendation to switch to Mixxx or keyfinder-cli (both of which are part of nixpkgs).

KeyFinder binary gave me that screenshot. I don't use it myself. This issue is about missing binary. Looking through stale issues.

Right. Thanks for doing that. I would think this could be closed as it sounds like the issue is the original submitter looked for keyfinder and not KeyFinder.


Create new admin dashboard for clinics

Let's wait until we have a clear roadmap before implementing any features


Create Keytips behavior improved in WPF.md

I made the suggested changes. Let me know if I should change anything further! Thanks @rpetrusha


/ru/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Полный_список_типов_MIME

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details

application/x-rar-compressed MIME type is deprecated, IANA displays application/vnd.rar is valid for .RAR now

for context: found authoritative source in https://www.iana.org/assignments/media-types/application/vnd.rar

Thanks for reporting, I've edited both the Russian and English page.
Do not hesitate to edit pages by yourself as MDN is a wiki :)


Update download-windows-esd

For homebrew users with gnu-tar installed, the tar in $PATH would be gnu-tar, and it doesn't support cab files. Use macos tar instead.

the issue depends on how you installed brew`ed tar. in your case, you seem to override the default tar.

Be that as it may, I'm still inclined to accept an absolute path to system tar for now. I wasn't aware that GNU tar didn't support cab files; I assumed that was a standard tar-cab compatibility thing; turns out not even my OpenBSD system's tar supports them.
I'm merging this because it makes download-windows-esd more robust against what is not an incredibly rare configuration. However, if there's a portable solution that can try to use another tool or macOS tar, whichever is available, that would be my ultimate preferred end.


devnet debug

Summary of changes

Changes introduced in this pull request:

Reference issue to close (if applicable)

Closes
Other information and links

Change checklist

[ ] I have performed a self-review of my own code,
[ ] I have made corresponding changes to the documentation,
[ ] I have added tests that prove my fix is effective or that my feature works (if possible),
[ ] I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

Fixed via https://github.com/ChainSafe/forest/pull/4163


fix: use $mdMenu.open

Removes the usage of deprecated mdOpenMenu

Codecov Report

Merging #317 into master will not change coverage.
The diff coverage is 0%.

@@           Coverage Diff           @@
##           master     #317   +/-   ##
=======================================
  Coverage   98.68%   98.68%
=======================================
  Files         152      152
  Lines        2213     2213
=======================================
  Hits         2184     2184
  Misses         29       29

Impacted Files
Coverage Δ

...app/components/_languageChooser/languageChooser.js
100% <ø> (ø)
:white_check_mark:

.../app/components/_groupMenu/groupMenu.controller.js
50% <ø> (ø)
:white_check_mark:

Continue to review full report at Codecov.

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

I merged it manually, something went wrong...


 This scraper grabs everything from it, though of course you'll need to use --archive to do anything. Closes #246.

Whoops, forgot to add to safe.yml, one more commit incoming

This is f***ing killer, thank you for tracking this down and significantly enhancing the project and dataset. :+1:


Missing option to hide git sync button in the status bar

There doesn't appear to be an option to hide the git sync icon that appears in the status bar.
It's not really a big deal but it would be nice to hide the git sync icon. Personally, coming from Vim I prefer working with the VCS outside of the editor, yet I would still like to see the current branch that is being worked on. This is why I'd like to hide just the sync button and not hide both git status bar items or disable the git extension entirely.

I believe this is resolved via #3874

No, hard to revert that change.

/duplicate 75354


Spelling Error in New-SelfSignedCertificate -KeyUsage parameter help / documentation

Get-Help New-SelfSignedCertificate -Full shows the -KeyUsage parameter as "DigitalSiganture" instead of the intended "DigitalSignature".
This error is online and in the offline help in the PowerShell console as well.  It persists even after an Update-Help -Module PKI

@GitHubBJW Thanks for catching this!  I've fixed it in the source so it'll be updated on TechNet shortly.


🌱 Bumping CAPI to 1.4.7

What this PR does / why we need it:

Bump CAPI to v1.4.7
Bump Cert-manager to v1.13.0
Bump GO to 1.20.8

/test-ubuntu-e2e-integration-release-1-4

You're trying to bump Go in other PRs, why are we not bumping it here as well? 1.19.13 is the latest, Dockerfile has 1.19.9?
/hold

You're trying to bump Go in other PRs, why are we not bumping it here as well? 1.19.13 is the latest, Dockerfile has 1.19.9?
/hold

Should we move to 1.20 as CAPI is doing? ref: https://github.com/kubernetes-sigs/cluster-api/commit/6b7d2b2680354340433606462f208ac934963939

Should we move to 1.20 as CAPI is doing? ref: kubernetes-sigs/cluster-api@6b7d2b2

+1

/test-ubuntu-e2e-integration-release-1-4

Should we move to 1.20 as CAPI is doing? ref: kubernetes-sigs/cluster-api@6b7d2b2

go.mod stays at go1.19?

go.mod stays at go1.19?

Yes, here is the explanation regarding that: https://github.com/kubernetes-sigs/cluster-api/pull/9415


Revise tabular output

As discussed in #775, it would be nice if the massive wrapping tables were replaced with simple ChanServ-style output that looks good regardless of screen/window size, also with non-fixed-width fonts.
For example:

    /msg *status help
    ...
    RESTART Restart ZNC
    SHUTDOWN Shutdown ZNC
    ...

    /msg *status help shutdown
    ...
    Syntax: SHUTDOWN [message]
    ...

introduce new commands to show more details instead of having lots of table columns (eg. listchans vs. showchan)
reduce the amount of columns in all tables to two
adjust CTable formatting or introduce a new type that doesn't even let add more than two "columns"

It seems some users the tables, so it might be worth introducing a setting. :/ In order for this to work, the amount of columns still needs to be reduced, though.

Who prefers tables, and why?

That's the impression I get from this discussion:
<MetaNova> something something if you're using a non-monospaced font, you're asking for things to look bad
<milky> Look buddy, us Mac users are very finicky about our pretty fonts ;P
<MetaNova> further proof you're making your own problems
<KindOne> monospaced font must cost $9.99
<MrC> I might have to side with him on this one.   I'd like to see #3 happen in some form.
<milky> It's a pretty subjective topic and will remain
<MrC> Indeed it will.
<MrC> Though the extra line seperators for each line of hep output (as of 1.6.x) is really a step backward.
<MrC> s/hep/help/
<ZNC-Linker> MrC meant: “Though the extra line seperators for each line of help output (as of 1.6.x) is really a step backward.”
<milky> Didn't notice that and agreed
<MetaNova> MrC: I fully agree with you on that
<milky> 137 messages for help...
<MetaNova> personally, I think the output style of 1.4 was superb
<milky> Just reply with a link to the wiki that says 'RTFM'
<MrC> milky: Ha. Though, actually that might be a good idea.

Solution #943 is fine as temporary, but now it consumes lots of vertical space.
The chanserv-like example at the top would still be better.

I also had problems with the output taking up too much space, making it harder for the eyes to parse the output. If you are using irssi you could filter out the extra dividing rows to make the output more compact.
/ignore -regexp -pattern \+[-|=]{5,} * MSGS
or put the following in your config file
ignores = (
  { level = "MSGS"; pattern = "\\+[-|=]{5,}"; regexp = "yes"; }
);


Use correct path to pip and pyls bins in windows env

Another change I noted, causes plugin to restart when not needed in windows

Thanks!


feat: add interactive text editor for basic logic writing using CodeMirror

Does not implement the intended functionality, adds dependabot, changes readme erroneously. Closed for fully AI


Move images/ to nbs/images.

nbdev creates the README.md with <img src="nbs/images/...>, and symlinks don't seem to work on GitHub, so I've had to manually tweak the README on-site. So, try this. It seems to be the way they want it.
git mv should avoid extra repo bloat.

Fixed. Sorry it took a dozen --amend to nail it down.  Couldn't check except after git push.

Fixed. Sorry it took a dozen --amend to nail it down.  Couldn't check except after git push.


ssl not be userful

i was used your SslChatLauncher.java and ssl-event-index.html.
console print log:https://localhost:10443/socket.io/?EIO=3&transport=polling&t=1469156618917-0 net::ERR_INSECURE_RESPONSE.

use ca cert


Some questions about the metrics.

Hi, thanks very much  for the codes. Recently, I have re-generated the released codes under the default setting. However, I cannot find the metrics presented in your paper. It seems that the released codes can only compute the metrics of the global network or each local network. Therefore, could you please tell us which metric is used in your paper?

Hi @ddghjikle ,
We use the top 1 test accuracy of the global network on the global test dataset as the metric in our paper (e.g., line 167 of main.py).

Thank you very much.

Hi @ddghjikle ,
Sorry that I just referred to the wrong code. It should be line 533 of main.py. Line 167 is the test accuracy of the local model.

Oh，thanks again. I believe this is a wonderful work for this field.
发自我的iPhone
------------------ Original ------------------
From: Qinbin Li @.>
Date: Mon,Aug 9,2021 9:33 PM
To: QinbinLi/MOON @.>
Cc: ddghjikle @.>, Mention @.>
Subject: Re: [QinbinLi/MOON] Some questions about the metrics. (#4)

Thanks!


Testable per file

Summary
I've noticed that it could not testable per file (only spec/active_hash/base_spec.rb). So I make it testable per file.
Before
% bundle exec rspec spec/active_hash/base_spec.rb
...................................................................................................................................................................
An error occurred in an after hook
  NameError: constant Object::Book not defined
  occurred at /home/yhirano55/src/github.com/yhirano55/active_hash/spec/active_hash/base_spec.rb:1249:in `remove_const'

F
An error occurred in an after hook
  NameError: constant Object::Book not defined
  occurred at /home/yhirano55/src/github.com/yhirano55/active_hash/spec/active_hash/base_spec.rb:1249:in `remove_const'

F..................F..........

Failures:

  1) ActiveHash Base using with belongs_to in ActiveRecord should be possible to use it as a parent
     Failure/Error: class Book < ActiveRecord::Base
     NameError:
       uninitialized constant ActiveRecord
       Did you mean?  ActiveModel
     # ./spec/active_hash/base_spec.rb:1236:in `block (3 levels) in <top (required)>'

  2) ActiveHash Base using with belongs_to in ActiveRecord should be possible to use it as a polymorphic parent
     Failure/Error: class Book < ActiveRecord::Base
     NameError:
       uninitialized constant ActiveRecord
       Did you mean?  ActiveModel
     # ./spec/active_hash/base_spec.rb:1236:in `block (3 levels) in <top (required)>'

  3) ActiveHash Base .transaction swallows ActiveRecord::Rollback errors
     Failure/Error: proc do
       expected no Exception, got #<NameError: uninitialized constant ActiveRecord
       Did you mean?  ActiveModel> with backtrace:
         # ./spec/active_hash/base_spec.rb:1429:in `block (5 levels) in <top (required)>'
         # ./lib/active_hash/base.rb:194:in `transaction'
         # ./spec/active_hash/base_spec.rb:1428:in `block (4 levels) in <top (required)>'
         # ./spec/active_hash/base_spec.rb:1427:in `block (3 levels) in <top (required)>'
     # ./spec/active_hash/base_spec.rb:1427:in `block (3 levels) in <top (required)>'

Finished in 0.10309 seconds
194 examples, 3 failures

Failed examples:

rspec ./spec/active_hash/base_spec.rb:1252 # ActiveHash Base using with belongs_to in ActiveRecord should be possible to use it as a parent
rspec ./spec/active_hash/base_spec.rb:1258 # ActiveHash Base using with belongs_to in ActiveRecord should be possible to use it as a polymorphic parent
rspec ./spec/active_hash/base_spec.rb:1426 # ActiveHash Base .transaction swallows ActiveRecord::Rollback errors

After
% bundle exec rspec spec/active_hash/base_spec.rb
..................................................................................................................................................................................................

Finished in 0.23073 seconds
194 examples, 0 failures

Thanks :)

this is a great find.
I wonder if we want to add unless SKIP_ACTIVE_RECORD to the require and/or around some of those tests instead.

@kbrock Thanks for your comment. I’ll add unless SKIP_ACTIVE_RECORD.

also tested with active record turned off and works great
for i in $(find spec -name \*_spec.rb) ; do SKIP_ACTIVE_RECORD=true beer $i ; done


It seems a bug for a url which is consist of utf8 strings

When I use node-crawler to fetch page of urls, I find the request module got different page from which of the browser did. So I try to use request module to see if it's root issue, but I ran into this in request module too. Below is the case:
http://www.yichemall.com/car/detail/c_112938_2015款 2.5HQ E-CVT 旗舰版/
if I use browser to visit this page, I'll get correct result, but server said error if I do with request module. I think it is encoding things because utf8 strings in url.
Anyone happened to this and anyone helps?
Thanks first.

BTW, I can get correct result just use http.request in nodejs, and I read some code in request.js but I cannot find any problems since request use url.parse and url.format and then pass to httpModule.request directly, that's the same as using http.request. I'm confused.

This works:
request.get('http://www.yichemall.com/car/detail/c_112938_2015款 2.5HQ E-CVT 旗舰版/', function (err, res, body) {
  if (err) console.log(err)
  console.log(body)
})

If you have any other problems, paste your exact request configuration here.

@simov Thanks for your msg. But it does not work because I have checked the response message, last request has been redirected to
/Home/Error?aspxerrorpath=/car/detail/c_112938_2015%e5%a8%86?2.5HQ%20E-CVT%20%e9%8f%83%e6%a5%84%e5%9f%8c%e9%90%97?
but use http.request won't

Ok just paste your request configuration, as I already mentioned above.

@simov
request("http://www.yichemall.com/car/detail/c_112938_2015款 2.5HQ E-CVT 旗舰版/",function(error,response,body){     console.log(body);     console.log();     console.log(response); });
That's all, Thanks.

What exactly is your goal, do you want to be redirected to that page or not. Request redirects by default, pass followRedirect:false to the request options object if you don't want the redirect enabled.

@simov Thanks, what I need is quite simple, just the browser display is what I want , but in request, it redirect to error page which is not the same page with browser shows.

There are probably some parameters that needs to be sent with your request. You should inspect that request in your browser's developer tools.
At least you can try to store the cookies during that redirect.
request.get('http://www.yichemall.com/car/detail/c_112938_2015款 2.5HQ E-CVT 旗舰版/', {
  jar: request.jar()
},function (err, res, body) {
  if (err) console.log(err)
  console.log(body)
})

@simov I've tried to do that, but nothing change. I'm wondering if there is way to print the url string before sending request.

Of course you can use https://github.com/request/request-debug for that.

You say it works with http.request so post that code too.  Whenever you report a bug, code snippets (self-contained, with everything we need to execute them) are the most helpful thing you can provide.

@nylen
https://github.com/mike442144/spider/blob/master/src/auto/yichemall.js
Thanks. In this file line No.218, call the file https://github.com/mike442144/spider/blob/master/helpers/webhelper.js of request_data, that just call http.request in line 185

post a standalone / self-contained example that we can run, please (this should be <10 lines of code with a call to http.request that has everything we need to paste it in and run it)

@nylen @simov I find the key point, I should encode url before request. Thanks you guys for attention.


Update operator.md

Fixes a bug in documentation, see here: https://github.com/open-telemetry/opentelemetry-helm-charts/blob/main/charts/opentelemetry-operator/values.yaml#L240

ah, I read it again. It says "The email address for the commit is not linked to the GitHub account", please add your splunk.com email address to your github emails. See the comment for the help link. We're close.

Closing old PR


After the kill is terminated, the log is still being pulled. If the kill is successful, make sure to stop the log pulling. Now the problem is:
Kill or close the console without closing the scheduled task of pulling logs (if kill fails, the console does not need to be closed, and logs are pulled normally).
There is a situation now, if I click Run Log, select the log of a task, and then kill the task, although it shows that the kill is successful, the log is still being pulled.
Now close the console and kill the task at the same time.
kill终止后，日志还在拉，kill成功了一定要确保停止日志拉取，现在的问题：
Kill或者关闭控制台，没有关闭拉日志的定时任务(如果kill失败，控制台不用关闭，正常拉日志）。
现在存在的一种情况是，如果我点击运行日志，选择一个task的日志后，再kill掉任务，虽然显示kill成功，但是日志依旧在拉。
同时现在关闭控制台，要同时kill掉任务

https://github.com/WeBankFinTech/Exchangis/pull/282，这个pr解决了


⚠ Jenkins Plugins Artifactory has degraded performance

In 0f4a3df, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1070 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 82ec693 after 3 hours, 11 minutes.


[3.x] [JavaScript] Don't cache emsdk

3.x version of:

https://github.com/godotengine/godot/pull/98965

See there for more details

Thanks!

Thank you!


stonne_connect compile fail when pytorch compilered with clang++

Compiling objects...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/1] c++ -MMD -MF /Users/hao.chen/work/ai/stonne/pytorch-frontend/stonne_connection/build/temp.macosx-10.9-x86_64-3.8/torch_stonne.o.d -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/hao.chen/opt/anaconda3/envs/stonne/include -arch x86_64 -I/Users/hao.chen/opt/anaconda3/envs/stonne/include -arch x86_64 -I/Users/hao.chen/work/ai/stonne/pytorch-frontend/stonne_connection/../../stonne/include/ -I/Users/hao.chen/work/ai/stonne/pytorch-frontend/stonne_connection/../../stonne/external/ -I/Users/hao.chen/opt/anaconda3/envs/stonne/lib/python3.8/site-packages/torch/include -I/Users/hao.chen/opt/anaconda3/envs/stonne/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/Users/hao.chen/opt/anaconda3/envs/stonne/lib/python3.8/site-packages/torch/include/TH -I/Users/hao.chen/opt/anaconda3/envs/stonne/lib/python3.8/site-packages/torch/include/THC -I/Users/hao.chen/opt/anaconda3/envs/stonne/include/python3.8 -c -c /Users/hao.chen/work/ai/stonne/pytorch-frontend/stonne_connection/torch_stonne.cpp -o /Users/hao.chen/work/ai/stonne/pytorch-frontend/stonne_connection/build/temp.macosx-10.9-x86_64-3.8/torch_stonne.o -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_clang"' '-DPYBIND11_STDLIB="_libcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1002"' -DTORCH_EXTENSION_NAME=torch_stonne -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++14
FAILED: /Users/hao.chen/work/ai/stonne/pytorch-frontend/stonne_connection/build/temp.macosx-10.9-x86_64-3.8/torch_stonne.o
and I get warning like following
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Your compiler (g++) is not compatible with the compiler Pytorch was
built with for this platform, which is clang++ on darwin. Please
use clang++ to to compile your extension. Alternatively, you may
compile PyTorch from source using g++, and then you can also use
g++ to compile your extension.
See https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md for help
with compiling PyTorch from source.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
so I change the command to CXX=clang++ python setup.py install but still failed.

Hi @chenhaoc , what version of g++ are you using?


Add support for RFC 8183 Exchanges.

Add support for RFC 8183 XML Exchanges and the ID certificates used in these exchanges, and the publication (RFC 8181) and provisioning (RFC 6492) protocols.

No need to review this, this code is in PR #208.


Add IL scanner extensibility points to metadata manager

This is so that the MetadataManager gets a saying in what dependencies to inject or not to inject.

@davidwrighton PTAL


Fixing numbers in string transformation

Fix for unwanted number conversions by adding a "marking" to the number values.

Linked to #47


No license disclosed prevents use

Hi @rareylab and thanks a lot for publishing this library, it looks awesome!
I'd be keen on trying it out but I noticed that there is no mention of a license anywhere in the repo.
Without a license, no one apart from you can legally use, modify, or share the software.
If this is simply an oversight (since you went through the trouble of publishing it on GitHub and sharing instructions on how to use it),  would you please consider adding a license to the repo?
Many thanks,
Cédric Bouysset

Hi,
thank you pointing that out, a license is now added.
Kind regards

Great, thank you!


Log Spam in Daemon.log, homeassistant.log, syslog

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version): 0.49.0
Python release (python3 --version): 3.4.2
Component/platform: lifx
Description of problem:
I'm having a pretty serious issue of log spam with lifx related errors...

Jul 22 20:29:20 can-hass01 hass[555]: ERROR:homeassistant.core:Error doing job: Exception in callback _SelectorDatagramTransport._read_ready()
Jul 22 20:29:20 can-hass01 hass[555]: Traceback (most recent call last):
Jul 22 20:29:20 can-hass01 hass[555]: File "/usr/lib/python3.4/asyncio/events.py", line 120, in _run
Jul 22 20:29:20 can-hass01 hass[555]: self._callback(*self._args)
Jul 22 20:29:20 can-hass01 hass[555]: File "/usr/lib/python3.4/asyncio/selector_events.py", line 932, in _read_ready
Jul 22 20:29:20 can-hass01 hass[555]: self._protocol.datagram_received(data, addr)
Jul 22 20:29:20 can-hass01 hass[555]: File "/home/homeassistant/.homeassistant/deps/aiolifx/aiolifx34.py", line 117, in datagram_received
Jul 22 20:29:20 can-hass01 hass[555]: getattr(self,setmethod)(response)
Jul 22 20:29:20 can-hass01 hass[555]: File "/home/homeassistant/.homeassistant/deps/aiolifx/aiolifx34.py", line 546, in resp_set_multizonemultizone
Jul 22 20:29:20 can-hass01 hass[555]: self.color_zones[resp.index + i] = resp.color[i]
Jul 22 20:29:20 can-hass01 hass[555]: IndexError: list assignment index out of range

Occurring for every bulb, and spamming every 15-20 seconds.

I've had a few issues of SD card filling up because of the volume ... with 40 bulbs its pretty high volume - in multiple log files.

Not directly related to this bug, but helpful to avoid fast wearout of SD card: If you don't need the logs saved during reboot, you can write logs into tmpfs (http://thisshouldnothappen.blogspot.de/2017/01/a-note-on-home-assistant-and-sd-cards.html)
and set the journald.conf to "volatile" (https://www.freedesktop.org/software/systemd/man/journald.conf.html)

@acantril These are normal bulbs and not the LIFX Z strip?

@amelchio it's a mixture - cant see which ones the log spam relates too. But i have 6 lifxz and the rest are normal colour bulbs.

@acantril okay, to debug this can you edit /home/homeassistant/.homeassistant/deps/aiolifx/aiolifx34.py around line 546 so it reads like this (this is just adding the line with print) and post the new log:
    # A multi-zone MultiZoneGetColorZones returns MultiZoneStateMultiZone -> multizonemultizone
    def resp_set_multizonemultizone(self, resp):
        if resp:
            if self.color_zones is None:
		self.color_zones = [None] * resp.count
            print(len(self.color_zones), self.product, resp, file=sys.stderr)
            for i in range(0, 8):
                self.color_zones[resp.index + i] = resp.color[i]

Ok @amelchio  made that change.... now sure if i can spot any difference.
 This says that the Z strip is 51 zones long. That is a bit strange because each extension has 8 zones. Did you cut it so the last extension only has 3 zones?
Anyway, if you change that same place to be like this, it should fix the errors:
    def resp_set_multizonemultizone(self, resp):
        if resp:
            if self.color_zones is None:
                self.color_zones = [None] * resp.count
            for i in range(resp.index, min(resp.index+8, resp.count)):
                self.color_zones[i] = resp.color[i-resp.index]

Please let me know whether this works, I could have made a silly mistake.

Ahh so that might be it ... I actually cut a few of my LIFX-Z strips - thats something that LIFX support, which means the last one may have a variable number of zones.

I'll test now.

Ok @amelchio
so no more errors in the log ... but it seems to be taking a LOT longer to change colours now. If i take a strip and change its colour - it used to be instant , now it might take 4-5 seconds.
I'm happy to diagnose this with you btw .. if you are.
I know not everyone has strips, so it would be good to get the functionality perfect.

Changing the whole house scene (colours on normal LIFX and LIFX-Z) now takes 30 seconds to run, it used to take about 5.

When it used to be instant, I guess you mean pre-0.49? It now updates each zone individually, so that can be a bit slower. It appears to be fast to me, but I only have a starter set (so 2 strips).
Just for fun, try finding homeassistant/components/light/lifx.py and change near the bottom
            apply = 1 if (index == len(zones)-1) else 0

into just
            apply = 1

This should show zone update one by one and maybe you can judge whether it is pausing or just taking some time to go through all zones.

So i tried the original code and yep also slow.
Ill try the change above.
But just as an FYI - 'a bit slower' is a difference between a 4-5 second change and a 30 second change. So this new version is a show stopper for me - the decrease in performance makes it close to unusable.

I understand how that can be annoying. I have some ideas for speeding it up but I will probably be unable to work on it for the next couple of weeks due to vacation.
Please file a separate issue for the slowdown as I will close this issue when the log spam is fixed.

it looks like the log spam is fixed - so your change did resolve it. Doesnt seem to have any other ill-effects beyond those cased by the zone change.


Does methylartist work with bedMethyl?

Hi,
My nanopore methylation sequencing data was generated by R10.3 and thus does not suit for nanopolish, etc. I analysed the data by modbam2bed and got bedMethyl files. Can methylartist work with bedMethyl? Looking forward to your reply. Thank you very much.

Hi, you can use the .bam file with modified base annotations directly via
the -b/--bam option, no need to convert to bedMethyl (unless you also want
to view it on a genome browser).
On Sun, 29 May 2022, 10:46 pm Yingzi Zhang 张樱子, @.***>
wrote:

Hi,
My nanopore methylation sequencing data was generated by R10.3 and thus
does not suit for nanopolish, etc. I analysed the data by modbam2bed and
got bedMethyl files. Can methylartist work with bedMethyl? Looking forward
to your reply. Thank you very much.
—
Reply to this email directly, view it on GitHub
https://github.com/adamewing/methylartist/issues/16, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH5HESDMC2FOEEMK74ZJZ3VMNRKDANCNFSM5XID2N5Q
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Inactive conversation, re-open if needed.


BUG: Fix loss and metric calculation underfit-overfit

Fixes logical error with mse loss being divided by number of elements which was wrong before.
Note: I've also tweaked the learning rate on purpose for PyTorch to improve the plots.

TODO@astonzhang: update d2l lib with changes in this PR

TODO: @astonzhang  translate English text into Chinese

This is ready now. Except I don't know how to add this commit in Chinese. Can you add that after merging? I can't write Chinese. Thanks!

Job d2l-zh/PR-1037/10 is complete.
Check the results at http://preview.d2l.ai/d2l-zh/PR-1037/


feat: new ami app for apns

closes https://github.com/customerio/issues/issues/8965
New improved UI and functionalities of ami app.

[x] Opening this PR because there are a number of files that have been updated, and review might take some time. Meanwhile, I will progress Agile and keep progressing on other tickets too.

Pull request title looks good 👍!
If this pull request gets merged, it will cause a new release of the software. Example: If this project's latest release version is 1.0.0. If this pull request gets merged in, the next release of this project will be 1.1.0. This pull request is not a breaking change.
All merged pull requests will eventually get deployed. But some types of pull requests will trigger a deployment (such as features and bug fixes) while some pull requests will wait to get deployed until a later time.

This project uses a special format for pull requests titles. Expand this section to learn more (expand by clicking the ᐅ symbol on the left side of this sentence)...

This project uses a special format for pull requests titles. Don't worry, it's easy!
This pull request title should be in this format:
<type>: short description of change being made

If your pull request introduces breaking changes to the code, use this format:
<type>!: short description of breaking change

where <type> is one of the following:

feat: - A feature is being added or modified by this pull request. Use this if you made any changes to any of the features of the project.

fix: - A bug is being fixed by this pull request. Use this if you made any fixes to bugs in the project.

docs: - This pull request is making documentation changes, only.

refactor: - A change was made that doesn't fix a bug or add a feature.

test: - Adds missing tests or fixes broken tests.

style: - Changes that do not effect the code (whitespace, linting, formatting, semi-colons, etc)

perf: - Changes improve performance of the code.

build: - Changes to the build system (maven, npm, gulp, etc)

ci: - Changes to the CI build system (Travis, GitHub Actions, Circle, etc)

chore: - Other changes to project that don't modify source code or test files.

revert: - Reverts a previous commit that was made.

Examples:
feat: edit profile photo
refactor!: remove deprecated v1 endpoints
build: update npm dependencies
style: run formatter

Need more examples? Want to learn more about this format? Check out the official docs.
Note: If your pull request does multiple things such as adding a feature and makes changes to the CI server and fixes some bugs then you might want to consider splitting this pull request up into multiple smaller pull requests.

Closing this PR as we have moved the sample apps to customerio-reactnative repository.


Add parameters to ExpiringMap: default timeout and expiration callbacks

The ExpiringMap class can be used as a concurrent hash map with an explicit way to handle expiration.
It would be great to have a way to set a global default timeout for any puts.
It would be good to also have expiration callbacks that execute whenever a timeout is reached.

Hi @atoulme
I wouldn't mind working on this.

by all means


Label Layer square brush is deprecated since 0.4.7 and marked for removal in 0.4.9, still there.

🧰 Task
#2426 marker square brush are deprecated and to be removed, though it is still there.
If we actually want to remove it, it should not be too hard and would simplify some code.
This could be an easy task for a new contributor.

This would affect #3050, and remove the piece of logic that checks whether a new cursor value is callable and simplify it a bit.

Closed by #3047


Add support for arm64e CPU subtype

Thanks @dnkoutso! I'm going to merge a fix onto master and cherry-pick onto the compatibility branch in a moment.

<3


riverpod architecture/design pattern advice

Hello, I have an app made with riverpod as the main state management. But I need some advice regarding some architectures/design patterns that I can use to make my code cleaner and easier to maintain in the future.
Overall I feel riverpod is already quite easy to maintain but is there any specific design pattern that would be advisable to use? So here are my questions

Is there a pattern that is recommended to use with riverpod?
If not, what would you consider as best practices while working with riverpod?
I am using riverpod for production and it is quite good so far, but are there going to be massive updates going forward?
How do I test the code in Figure 2?

Packages I am using with riverpod

freezed
json_serializable

Figure 1: This is my current folder structure.
cart
  - controller
      - cart_controller.dart
  - model
      - cart_model.dart
      - cart_model.freezed.dart
      - cart_model.g.dart
  - view
      - cart_view.dart
  - widgets
      - checkout_button.dart
      - ....

Figure 2: Since I am using firebase and riverpod together this is how my state notifier provider looks like.

final cartController = StateNotifierProvider.family<MemberCartList, AsyncValue<List<BuyForm>>, String>((ref, memberId) {
  return MemberCartList(ref.read, memberId);
});

class MemberCartList extends StateNotifier<AsyncValue<List<BuyForm>>> {
  final String memberId;
  MemberCartList(this.read, this.memberId) : super(const AsyncLoading()) {
    _getCart();
  }

  final Reader read;

  Future<void> _getCart() async {
    try {
      final List<BuyForm> buyForms = await CartApi(memberId, read(firebaseFirestoreProvider)).getCartForms();
      state = AsyncData(buyForms);
    } catch (e, st) {
      throw AsyncError<Exception>(e, stackTrace: st);
    }
  }

  Future<void> addToCart({required BuyForm buyForm}) async {
    try {
      await CartApi(memberId, read(firebaseFirestoreProvider)).setCartForm(buyForm);
      final List<BuyForm> buyForms = await CartApi(memberId, read(firebaseFirestoreProvider)).getCartForms();
      state = AsyncData(buyForms);
    } catch (e, st) {
      throw AsyncError<Exception>(e, stackTrace: st);
    }
  }

  Future<void> deleteFromCart({required BuyForm buyForm}) async {
    try {
      await CartApi(memberId, read(firebaseFirestoreProvider)).deleteCartForm(buyForm);
      final List<BuyForm> buyForms = await CartApi(memberId, read(firebaseFirestoreProvider)).getCartForms();
      state = AsyncData(buyForms);
    } catch (e, st) {
      throw AsyncError<Exception>(e, stackTrace: st);
    }
  }

I think this is okay overall but not really following any specifically named design pattern. Like provider and bloc have design patterns are quite good and well known, but not really sure about riverpod. But I do want to continue using riverpod because its very good in most things I need from my app.
Thanks for making this amazing package ❤

  throw AsyncError<Exception>(e, stackTrace: st);

This is a bit weird. I don't see the purpose of this code. Maybe you wanted to do state = AsyncError(...)?
Other than that, your code looks alright.
Riverpod is a pattern on its own. You're not using "Riverpod + ". Riverpod is the pattern, since it's fairly strict in what you can and can't do
As for testing your code, I'd suggest looking at the testing cookbook or some of Riverpod's tests.


Auth for admin doesn't seem to work

Trying to implement authentication for frozennode backend, but can't. Using Laravel 5.2.
In my config/administrator.php Auth::check() always returns false, even after successful login.
(Installed default authentication in php artisan make:auth)
This is a part of config/administrator.php
'permission'=> function()
	{
	   //dd(Auth::check());
	   return Auth::check();
	},

My app/Http/Controllers/Auth/AuthController.php added only property $redirectTo
/**
     * Where to redirect users after login / registration.
     *
     * @var string
     */
    protected $redirectTo = '/admin';

    /**
     * Create a new authentication controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest', ['except' => 'logout']);
    }
    ...

In my route.php there is nothing special:
Route::group(['middleware' => 'web'], function () {
    Route::auth();

    Route::resource('/', 'IndexController');
    Route::get('/news', 'NewsController@index');
    Route::get('news/{slug}', 'NewsController@show');
    Route::get('/personnel', 'PersonnelController@index');
    Route::get('/services', 'ServicesController@index');
    Route::get('/adress', 'IndexController@adress');
    Route::post('/question', 'IndexController@question');

});

End when I login, middleware "Auth" check the user and redirects to main frontend page "/"  it is working app/Http/Middleware/RedirectIfAuthenticated.php

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect('/');
        }
        return $next($request);
    }

}

Of course, I can change return redirect('/'); to return redirect('/admin');, but then I got an endless redirect, because in config/administrator.php Auth::check() always return false. Why? Cookies are enabled in browser.
By the way in Laravel 5.0 everything works just fine (tried several minutes ago). Am I misunderstood something or Frozennode administrator doesn't work with laravel 5.2?

I have the same problem.

I don't use this package, but I investigated the issue for this question on SO: http://stackoverflow.com/questions/34856389/laravel-frozennode-authcheck-always-return-false
Basically, the issue is that the FrozenNode routes are not inside the web middleware group. Because of this, the session is not available, and therefore Auth::check() will always be false.
All you need to do is add web to the middleware key in your administrator.php configuration.
return array(
    // ...
    'middleware' => array('web'),
    // ...
);

@patrickcarlohickman +


Unable to set webhooks

In order to set webhooks I need to be admin of the repo.

/assign @jlewi

/close
There's no need to set up webhook as of now


🚀 [Feature] [Admin] Click on username in contribution list opens user search with email prefilled

🚀 Feature

Click on username in contribution list opens user search with email prefilled
Click here:

Opens this:

Figure if we need to be able or if it makes sense to have the search parameter in the url

the email is required for the contribution of the respective user. currently, only firstName and lastName are transferred in adminListContributions.
We only need the email for the contribution in the admin area.


docs: fix text-align in list

The list is displayed in a weird way in the “All features:” section of https://bpatrik.github.io/pigallery2/ :

This PR restore the text-align so that it's easier to read:

Thanks


Added information about each controlled player (multi-agent setup)

Actually, lets get it in as is.


Fixed JWTBody generic type

This PR fixes #37.
Standard claims set was taken from jwt-decode, which should be up to date with the JWT standard, but didn't double check.
Also changed parseToNumber function.

JWT body fields such as exp are numbers, not number strings (at least in most implementations). To still allow number strings in these fields and not potentially break any existing implementations, the function is still called, but I did change the function signature.
parseToNumber function would return null, if the input to the function is '0' or 0. Now, it would return 0. I know that exp and similar fields shouldn't really ever have the value of 0, but maybe in the future this function will be also used elsewhere.
JavaScript parseInt function already works with number values, but TypeScript complains when trying to pass a number to that function. Therefore, I have added a number type check to satisfy TypeScript.
This function will produce the same output as before in all scenarios, except when '0' or 0 is passed in as input, therefore no breaking changes are introduced.

Just checked the JWT spec and nbf, exp and iat fields must be numbers, therefore number strings shouldn't be allowed according to specification. I guess the parseToNumber calls for those fields could be omitted but that would be a potentially breaking change. It is your call if you want to do that or not.


[Feature Request] Slack notifications into channels it has been invited to

Firstly, thank you for the notification support in v1.1.0!
Currently the App sends a message to every user that is an Approver. This can get quite spammy for users in a large Organization, or where there are a large amount of potential Approvers in a Group and everyone gets messaged.
It would be great if we could optionally choose:

Whether or not to message Approvers directly
When a permission escalation request comes through, the TEAM App can post a message in any Slack channel it has been invited to

@KashifSaadat thanks for the feedback. Your request is a good use case for enabling SNS as a notification option. By subscribing to the TEAM SNS topic, you can build your own custom Slack notification webhook and disable the slack app integration to meet your need.


Maven & AutoValue: Crash on openjdk8, Compile error on openjdk11

Description of the problem
After adding ErrorProne to my project as specified on https://errorprone.info/docs/installation by adding this to my pom.xml:
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <source>8</source>
          <target>8</target>
+          <compilerArgs>
+            <arg>-XDcompilePolicy=simple</arg>
+            <arg>-Xplugin:ErrorProne</arg>
+          </compilerArgs>
+          <annotationProcessorPaths>
+            <path>
+              <groupId>com.google.errorprone</groupId>
+              <artifactId>error_prone_core</artifactId>
+              <version>2.5.1</version>
+            </path>
+          </annotationProcessorPaths>
        </configuration>
      </plugin>

mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V gets me a compiler crash on openjdk8, and a compilation error where @AutoValue generated code isn't found on openjdk11.
See commit here, was part of this PR.
See full errors from Travis CI here
Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
$ git clone git://github.com/google/acai
(make above edit)
$ mvn clean package

What version of Error Prone are you using?
2.5.1
Have you found anything relevant by searching the web?
No. Not sure if the problem is Maven, the maven-compiler-plugin version, AutoValue or the error_prone version either.

The error is:
java.lang.RuntimeException: java.lang.NoSuchMethodError: com.sun.tools.javac.util.JavacMessages.add(Lcom/sun/tools/javac/util/JavacMessages$ResourceBundleHelper;)V
	at com.sun.tools.javac.main.Main.compile(Main.java:473)
	at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)
	at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)

When running on JDK 8, are you following the JDK 8-specific instructions in http://errorprone.info/docs/installation, in particular the part about passing -J-Xbootclasspath/p:?

Oops sorry — I've now added that part, and theerror changes:
[ERROR] /home/travis/build/google/acai/src/main/java/com/google/acai/GuiceberryCompatibilityModule.java:[119,17] error: cannot find symbol
  symbol:   class AutoValue_GuiceberryCompatibilityModule_MethodReference
  location: class MethodReference

So it doesn't crash anymore with JDK 8, and now fails with the missing AutoValue processing in both 8 and 11.

error: cannot find symbol ... AutoValue_...

Did you see the bit about "Using ErrorProne in concert with other Annotation Processors" at the end of http://errorprone.info/docs/installation ?
You likely need to move the dependency on AutoValue to <annotationProcessorPaths>.

Awesome, that fixed it, thank you!
Would it make sense to add explicit mention of the <annotationProcessorPaths> to the Maven section in the doc? I ignored that at the end because I thought it didn't apply, and I didn't need it before.

Would it make sense to add explicit mention of the  to the Maven section in the doc? I ignored that at the end because I thought it didn't apply, and I didn't need it before.

Good idea, how does https://github.com/google/error-prone/commit/0b8bd1c7b78515d28088b6c3f0570b4bf8a47502 look?

Looks good, thanks!


Update ci-jobs.md

The Beta is no longer accepting submissions (navigating to the link shows a form closed - https://docs.google.com/forms/d/e/1FAIpQLSd2Szy3QYrDPSpJiqqhgl7xa6eo1VQoLm35Xg81R64IefBgoQ/closedform)
What are you changing in this pull request and why?

Checklist

[ ] Review the Content style guide and About versioning so my content adheres to these guidelines.
[ ] Add a checklist item for anything that needs to happen before this PR is merged, such as "needs technical review" or "change base branch."

Adding new pages (delete if not applicable):

[ ] Add page to website/sidebars.js
[ ] Provide a unique filename for the new page

Removing or renaming existing pages (delete if not applicable):

[ ] Remove page from website/sidebars.js
[ ] Add an entry website/static/_redirects
[ ] Ran link testing to update the links that point to the deleted page

hey @wlsdbt ! thanks for opening this up and for those eagle eyes! it looks like @nghi-ly's pr https://github.com/dbt-labs/docs.getdbt.com/pull/4074 addressed this so I'll go ahead and close this pr for you. thank you again!


Load baseURL from runtime config

Describe the feature
I usually have my API base URL for external APIs in:
  runtimeConfig: {
    public: {
      apiBaseUrl: 'https://my-awesome-backend.local'
    }
  },

and replicate it in nuxt-auth config
baseURL: process.env.NUXT_PUBLIC_API_BASE_URL ?? "https://my-awesome-backend.local",

But then I need the NUXT_PUBLIC_API_BASE_URL variable on build and runtime, which is a bit annoying.
Therefore, it would be awesome to specify a JSON pointer to runtime config like it's done for the access / refresh tokens.
How would you implement this?
No response
Additional information

[X] Would you be willing to help implement this feature?

Provider

[X] AuthJS
[X] Local
[X] Refresh
[ ] New Provider

Maybe related to #797

You can now set baseURL using
runtimeConfig: {
  public: {
    auth: {
      baseURL: 'https://example.com/your/base/url'
    }
  }
}

Done in #913


Tighten up datetime parsing with an end_expr item

My guess is that we might have lots of these sorts of things, where the parsing is a bit too lax, and becomes confusing on small mistakes...

I've noticed this a few times, but brushed it of as "it a user mistake". Such tweaks remove sharp corners of the language, so great!

Yes, agree.
And if you can think of a better approach, lmk — e.g. if we add struct syntax, then we have to remember to add }. I thought about having "end" be anything not alpha numeric but maybe that causes other issues...


Cypress test for Register component

#6233

Hey @Tishasoumya-02 ! I started looking into some additional tests for this component in https://github.com/plone/volto/pull/6198. Feel free to merge the PRs together if it would mean the tests are more complete. I haven't managed to make the fix in plone.restapi which I guess is why the manual API request is needed in the test you're adding here.


how modularity value is calculated for unweighted graph?

Hello, by default all weights are 1.0.
Best,


Review license handling

Currently, the license of an object is set after the corresponding event is triggered. This is super annoying, since we often need the complete data in the event itself so that we can e.g. set the API's cache. Therefore, we should make sure that entities are flushable when the events get triggered.

solved in the new infrastructure


Add SPM support

I've added the Package.swift file required to add ExpyTableView via Swift Package Manager instead of Cocoapods

Hey thanks :)
Planning to be on this in a week

Showing All Messages
: https://github.com/okhanokbay/ExpyTableView has no Package.swift manifest for version 1.2.1

@SSB95 thanks for the PR!


PySide2 integration ?

Hi,
Is it possible to use qt_monkey to automate PySide2 based application ?
If so, what is the approach ?
Cheers

Hi, @nyue !

Is it possible to use qt_monkey to automate PySide2 based application ?
If so, what is the approach ?

From theoretical point of you it is possible.
You only need somehow create object of class qt_monkey_agent::Agent at the start of program (just after QApplication creation and delete it just before QApplication destruction),
that's all. So if you use one of many ways to call C/C++ code from shared library and link qtmonkey_agent into this shared library all should works just fine.