Question about mutux example

In the mutux example value is incremented but I'm confused where this variable has come from (perhaps it's implied but I've missed it?).
func (c *ConcurrentCounter) Increment() {
	c.mu.Lock() // restricts the memory pointers here. Guarantees only one write to value.
	value++
	c.mu.Unlock() // Being called with defer is also nice.
}

What would make sense to me would be if it was c.value++

Hi,
Yes, you are right. This is bound to have typos and errors like this. I'll try to fix it as soon as I have time. If you want, you can try to open a pull request and make changes
Thanks!

Fixed :) If you find more of these, feel free to let me know.
Thanks.


[epic] Tracking issue for bitcoin_num adoption

Action points
These points have to be completed step by step:

[x] Create bitcoin_num crate transferring all hex, endian and number-related helper macro functions from both bitcoin_hashes and rust-bitcoin http://github.com/LNP-BP/bitcoin_num/
[x] Publish bitcoin_num to crates.io https://crates.io/crates/bitcoin_num
[x] Create a PR adopting bitcoin_num for bitcoin_hashes https://github.com/rust-bitcoin/bitcoin_hashes/pull/91
[ ] Move bitcoin_num to rust-bitcoin GitHub org
[ ] (optionally) add @dr-orlovsky to rust-bitcoin GitHub org as a member
[ ] Review & merge https://github.com/LNP-BP/bitcoin_num/pull/1
[ ] Review & merge https://github.com/LNP-BP/bitcoin_num/pull/2
[ ] Review & merge https://github.com/LNP-BP/bitcoin_num/pull/3
[ ] Review & merge https://github.com/LNP-BP/bitcoin_num/pull/4
[ ] Review & accept PR adopting bitcoin_num for bitcoin_hashes
[ ] Create a PR adopting bitcoin_num for rust-bitcoin
[ ] Review & accept PR adopting bitcoin_num for rust-bitcoin
[ ] Bump and publish new bitcoin_hashes version
[ ] Bump and publish new rust-bitcoin version

PS. Here is copy of the original issue opening post:
It seems util::endian https://github.com/rust-bitcoin/rust-bitcoin/blob/master/src/util/endian.rs is is just a copy-paste from https://github.com/rust-bitcoin/bitcoin_hashes/blob/master/src/util.rs#L149-L210
Is there any specific reason of doing that or just a mistake? Why not to export functions from bitcoin_hashes and import them at rust-bitcoin?

Exporting them from bitcoin_hashes would be super weird, it just doesn't belong there conceptually imo. Ideally we'd have a util crate for these things, but this seems to slow down development due to releases/version bumps.

bitcoin_utilwould be super useful indeed. I have searched for hex stuff far too often :grimacing: and I guess it might change sufficiently rarely to not make it too annoying.

Here it is: https://github.com/LNP-BP/bitcoin_num
This covers:

endianess-related functions from both bitcoin_hashes and rust-bitcoin
big int (uint mod) functionality and its fuzz tests
hex mod from bitcoin_hashes
all related tests
internal macros from rust-bitcoin

All code is not in master, but in branches, for easier review: https://github.com/LNP-BP/bitcoin_num/pulls

Original code as it was present in the original repos (nothing changed): https://github.com/LNP-BP/bitcoin_num/pull/1
Some additions to endian functions on top of that: https://github.com/LNP-BP/bitcoin_num/pull/2
Cargo fmt (which is a good practice): https://github.com/LNP-BP/bitcoin_num/pull/3

I am up for moving this to rust-bitcoin github org.
If you ACK the concept, I will prepare PRs to rust-bitcoin and bitcoin_hashes removing this code from there and using this new crate.
Regarding the naming: for now this crate is 100% related to different number-related functions. Also, util is already used as a mod name inside rust-bitcoin (and there is a lot which was not moved here and clearly belongs to rust-bitcoin itself, like bip's), so naming it with util will create additional confusing. But if there will be consensus for renaming, I will follow.

Initial version released: https://crates.io/crates/bitcoin_num

concept ACK

I have created roadmap for the crate adoption: pls check the updated issue description

Should we use this opportunity to remove the U128 type? we now have u128 support after we bumped to 1.29
(although maybe I'd leave the macro generation so we can create a U128 type for fuzzing/testing against u128)

Good point; I will add a PR to bitcoin_num with that and will update todos

@dr-orlovsky can you PR to move this crate into a subdirectory, and add another directory with bitcoin-num in it. We can use cargo workspaces to maintain both crates in this repo, which I think will make maintenance and testing easier.
I think we should do the same thing with bitcoin-constants, and maybe move some of the block/transaction parsing stuff to a new bitcoin-primitives crate.

Can I perhaps bring up the suggestion that moving our hex stuff from bitcoin_hashes to bitcoin_num doesn't really make it be ina a more sensible place :sweat_smile: And it sounds like bitcoin_num would be just hex + uint256 + perhaps the endian stuff. I'm unsure what's the advantage of moving them into a "num" crate, tbh.

Endian stuff is get reused between bitcoin and bitcoin_hashes with some functions being duplicated. The idea of separate crate came from this issue as a response to it: https://github.com/rust-bitcoin/rust-bitcoin/pull/436#issuecomment-686609818

Creating an entire crate to remove some trivial code duplication for code that should never change seems like killing a fly with a bazooka.

I agree. We don't seem to need this. Also, Rust stdlib has these methods already in stable, so these are really just a stopgap until we can use stdlib functions.

I agree. We don't seem to need this. Also, Rust stdlib has these methods already in stable, so these are really just a stopgap until we can use stdlib functions.

I think the aversion to having extra crates is misplaced. We can have multiple crates in the same repository, make sure their versions are incremented in sync, etc. I think Matt's concerns are (a) every extra crate is an extra rustc invocation when you use things outside of cargo, (b) it makes the output of cargo tree bigger.
The first is really not an issue. Bitcoin Core is now split into five or six distinct libraries and the only people who care are the ones currently editing the Makefile.
The second is an ergonomic problem with cargo tree, but one that's manageable. If you are auditing your dependencies beyond "yup, looks like there aren't very many" then you should have written down somewhere that bitcoin, bitcoin_hashes, secp, etc., are all maintained by the same set of people and represent the same trust set.
I agree that doing it for endianness is pointless, although if we had a num crate that also dealt with the u256 types, the weird OpenSSL float encoding in nBits, difficulty adjustment etc., maybe that would be more interesting.
However, I think it may be worthwhile to split a couple crates for:

primitives, so that #526 (which comes up every month or two) would be pointless, and people just just parse primitives without pulling a zillion other things in. e.g. rust-elements needs to parse some bitcoin primitives to parse pegin witnesses and otherwise does not care about Bitcoin at all
encoding, so that we can provide a uniform interface for bech32/base58/base64/hex, and again, people can use it without pulling in the entire dep tree of rust-bitcoin. e.g. rust-secp could depend on this and then it'd be sanely possible to base58-encode secret keys or base64-encode recoverable signatures

I think the aversion to having extra crates is misplaced. We can have multiple crates in the same repository, make sure their versions are incremented in sync, etc. I think Matt's concerns are (a) every extra crate is an extra rustc invocation when you use things outside of cargo, (b) it makes the output of cargo tree bigger.
The first is really not an issue. Bitcoin Core is now split into five or six distinct libraries and the only people who care are the ones currently editing the Makefile.
The second is an ergonomic problem with cargo tree, but one that's manageable. If you are auditing your dependencies beyond "yup, looks like there aren't very many" then you should have written down somewhere that bitcoin, bitcoin_hashes, secp, etc., are all maintained by the same set of people and represent the same trust set.
I agree that doing it for endianness is pointless, although if we had a num crate that also dealt with the u256 types, the weird OpenSSL float encoding in nBits, difficulty adjustment etc., maybe that would be more interesting.
However, I think it may be worthwhile to split a couple crates for:

primitives, so that #526 (which comes up every month or two) would be pointless, and people just just parse primitives without pulling a zillion other things in. e.g. rust-elements needs to parse some bitcoin primitives to parse pegin witnesses and otherwise does not care about Bitcoin at all
encoding, so that we can provide a uniform interface for bech32/base58/base64/hex, and again, people can use it without pulling in the entire dep tree of rust-bitcoin. e.g. rust-secp could depend on this and then it'd be sanely possible to base58-encode secret keys or base64-encode recoverable signatures

One more reason for a separate crate is that duplicating types becomes pain if they are used in public interfaces. Didn't check deeply enough if it applies in this case, just guessing based on existence of U256.

One more reason for a separate crate is that duplicating types becomes pain if they are used in public interfaces. Didn't check deeply enough if it applies in this case, just guessing based on existence of U256.

The second is an ergonomic problem with cargo tree, but one that's manageable. If you are auditing your dependencies beyond "yup, looks like there aren't very many" then you should have written down somewhere that bitcoin, bitcoin_hashes, secp, etc., are all maintained by the same set of people and represent the same trust set.

cargo-crev does implement some things around "trust set" (by scrapping owners for each crate from crates.io). Though I'm not sure if it will support exactly what you want. It could be possibly added.

The second is an ergonomic problem with cargo tree, but one that's manageable. If you are auditing your dependencies beyond "yup, looks like there aren't very many" then you should have written down somewhere that bitcoin, bitcoin_hashes, secp, etc., are all maintained by the same set of people and represent the same trust set.

cargo-crev does implement some things around "trust set" (by scrapping owners for each crate from crates.io). Though I'm not sure if it will support exactly what you want. It could be possibly added.

I think it will accidentally do the right thing for us, since I am the sole owner for rust-bitcoin, rust-secp, bitcoin_hashes. (Although we should really change that because a bus factor of 1 is not good..)

I think it will accidentally do the right thing for us, since I am the sole owner for rust-bitcoin, rust-secp, bitcoin_hashes. (Although we should really change that because a bus factor of 1 is not good..)

Fixed the bus factor.

Fixed the bus factor.

Closing since we have already agreed on a different crate split strategy in #550.
If there will be a need to revive bitcoin_num as a part of that work pls let me known; archiving that repo for now.


Need to have an expiration on the mset

The set has an expiration, but I don't see one on the mset.

.mset() uses expirations istarting in version 0.2.1. I'll add documentation soon.


Update charts on artifacthub

Hey,
We're considering using your Hasura chart, but I noticed that while you keep updating the artifacthub.io/changes Chart annotation, no version was pushed there in a while: https://artifacthub.io/packages/helm/platydev/hasura
Perhaps you forgot to do that or your automation broke?
Cheers!

Or it's possible I did something wrokng, because for me helm doesn't find any charts in your repo:
$ helm search repo platydev
No results found

Hello,
I think this is somehow related to artifacthub, probably some errors being raised in the way Chart.yaml files are formatted.
If you check https://charts.platy.dev/charts.yaml you should see all versions.

I'll try to fix this soon.

Hi,
Thanks for your response. The thing is that I tried different endpoints and always got 404.
Whether I do it from CLI or my browser:
$ curl -i https://charts.platy.dev/charts.yaml
HTTP/2 404
content-type: application/json; charset=utf-8
date: Fri, 18 Jun 2021 08:49:26 GMT
x-request-id: bee07e51-29e4-4a1d-9b30-c44c93a2dd52
content-length: 22

{"error":"not found"}

The helm search commands started working somehow, so I have no idea if PEBKAC or that was a temporary issue.
Helm still for some reasons report that the dependency doesn't exist:
$ helm dependencies list ./
NAME  	VERSION	REPOSITORY              	STATUS
hasura	0.1.6  	https://charts.platy.dev	missing

But I assume maybe I did something wrong, so will try to check it.
Thanks again for the quick response :)

Sorry I meant https://charts.platy.dev/index.yaml


RESIN_HOST_LOG_TO_DISPLAY broken on 1.x?

The "check your resin.io dashboard" message still seems to appear when setting RESIN_HOST_LOG_TO_DISPLAY to 0 on v1.26.0:

cc @agherzan @willnewton

Is this reproducible on 2.X? Could you please check, @Page- ?

Anything new with this?

Closing for now as we don't plan to investigate this on the 1.x line.


Error when dueling PVP

When I create a PVP match with my friend (I set up the server on VPS) when I press start it gets the following error

On display server

As it mentions you're missing a dll file needed for PvP. You can get it from the game. If you're running the server on linux you'll need to run under wine.


haproxy format string problems

It would be really great if there was a tool to build format strings from an example string provided.
I've gotten goaccess to work on many different log formats, but this one is not working for me...
As it is, my log looks like this:
Mar  8 06:25:07 ip-172-31-16-77 haproxy[2168]: <IP_ADDRESS>:42448 [08/Mar/2019:06:25:07.063] http-in cluster_name/api2 0/0/0/1/1 200 1825 - - ---- 2/2/0/0/0 0/0 "GET //api/misc/form HTTP/1.1"

the format strings I've tried include but are not limited to the following:
%^  %^ %^ %^ %^: %^ [%d:%t.%^] %^ %^ %^ %s %b %^ %^ %^ %^ %^ "%m %q %H"
%^  %^ %^ %^ %^[%^]: %h:%^ [%d:%t] %^ %^ %s %b - - ^% %^ %^ "%m %q %H"
%^  %^ %^ %^ %^[%^]: %h:%^ [%d:%t] %^ %^ %^ %s %b - - ---- %^ %^ "%m %q %H"
%^  %^ %^ %^ %^[%^] %h:%^ [%d:%t%.^] ^% ^% ^% %s %b %^ %^ %^ %^ %^ "%m %r %H"
%^  %^ %^ %^ %^[%^]: %h:%^ [%d:%t%.^] ^% ^% ^% %s %b %^ %^ %^ %^ %^ "%m %r %H"
%^  %^ %^ %^ %^ %h:%^ [$d:%t.%^] %^ %^ %^ %s %b ^% ^% ^% ^% ^% "%m %q %H"

And goaccess keeps telling me "nothing valid to process"
I am getting pretty frustrated. can anyone see what's wrong?

bonus points for providing answer on SO as well https://stackoverflow.com/questions/55072107/goaccess-format-for-haproxy

I can certainly take a look. Could you please describe these fields: 0/0/0/1/1 200 1825 - - ---- 2/2/0/0/0 0/0? Thanks.

Any updates on this?

@jrichet I use this format:
log_format %^ %~ %^ %^ %^ [%d:%t.%^] %^ %^ %^/%^/%^/%^/%^/%^/%L ....

What actually matters here is the 2nd key %~, which skips the extra space when the date number becomes 1 digit. I had hard time figuring it out and bombing @allinurl with false bug reports ;-\

Take a look at https://github.com/stockrt/nginx2goaccess
Closing this, feel free to reopen it if needed.


ValueError: Can't read finetune/lora/templates/alpaca.json

(knowlm) xiaomii@ubuntugpu:~/KnowLM$ CUDA_VISIBLE_DEVICES=0,1,2,3 python examples/generate_lora_web.py --base_model zjunlp/knowlm-13b-zhixi
Traceback (most recent call last):
  File "/home/data/xiaomii/KnowLM/examples/generate_lora_web.py", line 214, in <module>
    fire.Fire(main)
  File "/home/data/xiaomii/.conda/envs/knowlm/lib/python3.9/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/home/data/xiaomii/.conda/envs/knowlm/lib/python3.9/site-packages/fire/core.py", line 475, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/home/data/xiaomii/.conda/envs/knowlm/lib/python3.9/site-packages/fire/core.py", line 691, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/home/data/xiaomii/KnowLM/examples/generate_lora_web.py", line 39, in main
    prompter = Prompter(prompt_template)
  File "/home/data/xiaomii/KnowLM/examples/prompter.py", line 17, in __init__
    raise ValueError(f"Can't read {file_name}")
ValueError: Can't read finetune/lora/templates/alpaca.json

KnowLM/examples/generate_lora_web.py的第30行
prompt_template: str = "finetune/lora/templates/alpaca.json",  修改为
prompt_template: str = "finetune/lora/knowlm/templates/alpaca.json",

Have you solved your issue?

@zxlzr I modified the code according to Rolnand's [tip](https://github.com/zjunlp/KnowLM/issues/96#issuecomment-1791770835). However, new error occured: RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cuda:0!
(base) xiaomii@ubuntugpu:~/KnowLM$ CUDA_VISIBLE_DEVICES=0,1,2,3 python examples/generate_lora_web.py --base_model zjunlp/knowlm-13b-zhixi
Loading checkpoint shards: 100%|████████████████████████████████████████████████| 3/3 [00:25<00:00,  8.53s/it]
/mnt/data/xiaomii/.local/lib/python3.10/site-packages/gradio/inputs.py:27: UserWarning: Usage of gradio.inputs is deprecated, and will not be supported in the future, please import your component from gradio.components
  warnings.warn(
/mnt/data/xiaomii/.local/lib/python3.10/site-packages/gradio/inputs.py:30: UserWarning: `optional` parameter is deprecated, and it has no effect
  super().__init__(
/mnt/data/xiaomii/.local/lib/python3.10/site-packages/gradio/inputs.py:30: UserWarning: `numeric` parameter is deprecated, and it has no effect
  super().__init__(
Running on local URL:  http://<IP_ADDRESS>:7860

To create a public link, set `share=True` in `launch()`.
Traceback (most recent call last):
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/gradio/routes.py", line 414, in run_predict
    output = await app.get_blocks().process_api(
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/gradio/blocks.py", line 1323, in process_api
    result = await self.call_function(
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/gradio/blocks.py", line 1067, in call_function
    prediction = await utils.async_iteration(iterator)
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/gradio/utils.py", line 339, in async_iteration
    return await iterator.__anext__()
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/gradio/interface.py", line 632, in fn
    async for output in iterator:
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/gradio/utils.py", line 332, in __anext__
    return await anyio.to_thread.run_sync(
  File "/opt/conda/lib/python3.10/site-packages/anyio/to_thread.py", line 31, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/opt/conda/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 937, in run_sync_in_worker_thread
    return await future
  File "/opt/conda/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 867, in run
    result = context.run(func, *args)
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/gradio/utils.py", line 315, in run_sync_iterator_async
    return next(iterator)
  File "/mnt/data/xiaomii/KnowLM/examples/generate_lora_web.py", line 157, in evaluate
    generation_output = model.generate(
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/transformers/generation/utils.py", line 1611, in generate
    return self.beam_search(
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/transformers/generation/utils.py", line 2982, in beam_search
    model_kwargs["past_key_values"] = self._reorder_cache(model_kwargs["past_key_values"], beam_idx)
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py", line 762, in _reorder_cache
    reordered_past += (tuple(past_state.index_select(0, beam_idx) for past_state in layer_past),)
  File "/mnt/data/xiaomii/.local/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py", line 762, in <genexpr>
    reordered_past += (tuple(past_state.index_select(0, beam_idx) for past_state in layer_past),)
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:1 and cuda:0! (when checking argument for argument index in method wrapper_CUDA__index_select)

Don't hurry to close an issue. :-) 别急着关闭issue哈~

您好，感谢您的反馈，我们已经支持了当一个模型被分布在多张卡是的推理问题，您可以在命令后面增加--multi-gpu即可，比如：
 CUDA_VISIBLE_DEVICES=0,1,2,3 python examples/generate_lora_web.py --base_model zjunlp/knowlm-13b-zhixi --multi_gpu

如有问题，请告知我 :)

Have you solved your issue?

@zxlzr Sorry for reply late. Now there is no error output in the Linux conosle, but there is no output textbox in the web UI:

Are you using the latest code? I can run the code correctly, you can try using the latest version of gradio.  Please let me know if there are still any issues :)

@MikeDean2367 I git pull today, and change peft to peft==0.4.0 in the requirements.txt and re-run pip install -r requirements.txt
then run  CUDA_VISIBLE_DEVICES=0,1,2,3 python examples/generate_lora_web.py --base_model zjunlp/knowlm-13b-zhixi --multi_gpu
It shows error as below:
Traceback (most recent call last):
  File "/mnt/data/xiaomii/KnowLM/examples/generate_lora_web.py", line 225, in <module>
    fire.Fire(main)
  File "/mnt/data/xiaomii/.conda/envs/knowlm/lib/python3.9/site-packages/fire/core.py", line 141, in Fire
    component_trace = _Fire(component, args, parsed_flag_args, context, name)
  File "/mnt/data/xiaomii/.conda/envs/knowlm/lib/python3.9/site-packages/fire/core.py", line 475, in _Fire
    component, remaining_args = _CallAndUpdateTrace(
  File "/mnt/data/xiaomii/.conda/envs/knowlm/lib/python3.9/site-packages/fire/core.py", line 691, in _CallAndUpdateTrace
    component = fn(*varargs, **kwargs)
  File "/mnt/data/xiaomii/KnowLM/examples/generate_lora_web.py", line 47, in main
    model, tokenizer = get_tokenizer_and_model(base_model=base_model, dtype="float16", allocate=allocate)
  File "/mnt/data/xiaomii/KnowLM/examples/multi_gpu_inference.py", line 46, in get_tokenizer_and_model
    max_memory = {i:f"{value}GiB" for i, value in enumerate(allocate)}
TypeError: 'NoneType' object is not iterable

Hi, I made a mistake and I have fixed it now :)

Thank you so much for your diligence! New error as below:
 File "/mnt/data/xiaomii/.conda/envs/knowlm/lib/python3.9/site-packages/accelerate/big_modeling.py", line 479, in load_checkpoint_and_dispatch
    load_checkpoint_in_model(
  File "/mnt/data/xiaomii/.conda/envs/knowlm/lib/python3.9/site-packages/accelerate/utils/modeling.py", line 815, in load_checkpoint_in_model
    raise ValueError(
ValueError: `checkpoint` should be the path to a file containing a whole state dict, or the index of a sharded checkpoint, or a folder containing a sharded checkpoint, but got zjunlp/knowlm-13b-zhixi.

@MikeDean2367 Would you pls help me check the issue as the commet above? Many thanks!

Can you provide more detailed information, including the full details of the command you ran and the complete error message?


Allowing types to be defined in each adapter

I do think this is quite important, there are cases where supported types might be a bit different with each adapter.
With this change, this will allow each adapter to extend and create their own supported types.
Although this might mean that it becomes more difficult to have models that supports all sorts of different adapters, the chances of the models changing adapter is rather low, this change can make waterline more extensive :)

The branch has been dirtied by dirty from another pull request


Added selectable / bulk action feature

Allow a list to be selectable
TODO:

[x]  Code
[x]  Example app
[ ]  Test
[ ]  Document
[x]  Add feature to simplelist, currently only DataGrid is supported
[ ] Add confirmation option for actions
Usage:

    <List
        {...props}
        selectable
        selectMode="bulk" // One of single, page or bulk
    >

prop
description

selectable
Activates a select checkbox

selectMode
single: allows per row selection page: allows selection on the current page only, a page change looses the selected items. bulk: keeps selection between page changes. Defaults to bulk

Actions can be added by supplying a selectActionButton prop to the Actions component of Admin.
This should be a component of type <SelectActionButton>. The default value is:
const DefaultSelectActionButton = props => (
    <SelectActionButton {...props}>
        <SelectActionMenuItem action="delete" label="ra.action.delete" />
    </SelectActionButton>
);

The action is dispatched using a redux action AOR/CRUD_EXECUTE_LIST_ACTION a default saga is available to execute batch deletes, it listens for the action with identifier 'delete'.
You can implement you own logic by writing customSaga's for Admin.
<Admin customSaga={[myActionSaga]} ....>
Example:

Thanks for giving it a go :)

Made actions responsive and added selectable to SimpleList.

Updated as requested and created a separate PR for the responsive part.

Finally! good job. This PR and the multiple notifications PR were really needed. Thx.

Dang we finished this feature at the same time too. We are using aor-graphql. We kind of took a shortcut for the time being and passed around the Apollo client instead of going through the aor-graphql client as we wanted to send ~100 - 150 actions in 1 request instead of spamming the API with 1 request per action like you have here I think. Ideally we should probably make everything go through the admin-on-rest specified client but this was a faster implementation for our use case.
admin-on-rest changes (some places probably need more generalization): https://github.com/iolap/admin-on-rest/commit/4eedf0593d9d92f11c15bd54af699d56e3d25f7f
Features:

This change includes a Popover menu in the top left of the table w/ dynamically created actions
Customizable actions
Default delete action
Confirmation screen w/ and w/o input
Combined w/ our main project repo we were able to send 1 request for all the updates/deletes.

Could possibly merge the 2 implementations?

Dang we finished this feature at the same time too. We are using aor-graphql. We kind of took a shortcut for the time being and passed around the Apollo client instead of going through the aor-graphql client as we wanted to send ~100 - 150 actions in 1 request instead of spamming the API with 1 request per action like you have here I think. Ideally we should probably make everything go through the admin-on-rest specified client but this was a faster implementation for our use case.

Good job! 👍  The changes should be against next, so some implementation differences there, for example a Table is not multiSelectable anymore in material-ui next. This branch uses a delete per request to be compatible with the dataProvider/Restclient used in Admin. But it's only a default. Simply add a custom actionbutton (possible floating) and a custom saga to implement this, something like:
<SelectActionButton>
    <SelectActionMenuItem action="deleteFast" label="ra.action.delete"/>
</SelectActionButton>
.. saga:
    function* watchSelectActions() {
        yield all([
            takeEvery(
                action =>
                    action.type === CRUD_EXECUTE_LIST_ACTION &&
                    action.meta.action === 'deleteFast',
                handleSelectDeleteFastAction
            )
        ]);
    };
    function* handleSelectDeleteFastAction(({payload:{reload=true,ids}})){
       // Do Graphql delete fast
    }

This change includes a Popover menu in the top left of the table w/ dynamically created actions

This can be done by rendering a custom SelectActionButton

Customizable actions

This can be done by using SelectActionItem

Default delete action

This is implemented, see sideEffect/saga/defaultListActionSaga

Confirmation screen w/ and w/o input

That's a good one, where is this implemented? I'll a a task for this.

Combined w/ our main project repo we were able to send 1 request for all the updates/deletes.
Could possibly merge the 2 implementations?

I don't think that's a good idea. Only one implementation should be merged.

Combined w/ our main project repo we were able to send 1 request for all the updates/deletes

Yep, this is a must have. We should probably introduce one or more AOR actions for bulk operations here. That would then be the dataProvider job (old restClient) to send one or more requests.
I think only one new AOR action would be needed, maybe with a type property (delete, myCustomUpdate). Thoughts ?

😕 I am missing something.

Yep, this is a must have. We should probably introduce one or more AOR actions for bulk operations here. That would then be the dataProvider job (old restClient) to send one or more requests.

What are AOR actions in this context? <SelectActionItem>?

I think only one new AOR action would be needed, maybe with a type property (delete, myCustomUpdate). Thoughts ?

Again, what is a AOR action in this context?

Redux Actions: https://github.com/marmelab/admin-on-rest/blob/master/src/actions/dataActions.js
DataProvider Actions: https://github.com/marmelab/admin-on-rest/blob/master/src/rest/types.js

Ah, now I understand what you mean. Yeah, something like action/verb BULK and have it typed should do the trick. For the action, ids should be required and optionally have a data {Object} arg (for bulk update) and previousData array.

I thought about the modals part a bit more and came up with an applicaton wide pluggable solution.    https://github.com/marmelab/admin-on-rest/pull/1251

Hi! Any idea when will this RP be merged?

We are currently focused on bug fixes and small devices compatibility. Besides this PR will take some time to review. Finally, it needs rebase

@djhi : do you want to include it in 2.0.0? If so, I can spend some time on rebase.

That would be very nice indeed :+1:

Closed in favor of https://github.com/marmelab/admin-on-rest/pull/1521


Pending indicator seems to be overlapping for wrapped-nothing token

The user was testing version v3.2.0 for comparison testing
User noticed that for STX and other tokens like Miamicon , the Pending icon doesn't overlap but for this particular token seems like over lapping. Attaching screenshot for perusal

This is a problem with long strings and line-height that wasn't tested properly when implementing the component.
Even though it's easy to fix, I suggest we tie this issue to the improvements of the activity list #1605, I'll add it to the milestone https://github.com/hirosystems/stacks-wallet-web/milestone/52


NICE demo?

Thanks for your awesome repo.
Could you provide NICE demo?

Hi @AI-ML-Enthusiast,
I already addressed this in this issue. Note that NICE is also part of this example.
Best regards,
Vincent


not working with arm64 iphone 5s up

i use with appgyver, and there is no build option to change arm64 to arm7

is there any error message?

hi, below is error msg from appgyver build
We detected atleast the following error in the build:
One of your plugins does not seem to compile for 64bit architecture. You will need to contact the plugin author. (error was: 'ld: symbol(s) not found for architecture arm64)'

Is it caused by other plugins?
I double check the admob plugin and its dependency, and found that arm64 is supported.
iMac:ios liming$ lipo -info libCordovaGenericAd.a
Architectures in the fat file: libCordovaGenericAd.a are: armv7 armv7s i386 x86_64 arm64
iMac:GoogleMobileAds.framework liming$ lipo -info GoogleMobileAds
Architectures in the fat file: GoogleMobileAds are: armv7 armv7s i386 x86_64 arm64

but i use only 1 plugin in my app. there is sth wrong with id symbol, which m not sure about.

here is more detail from error log
The following build commands failed:
CompileC build/Release-iphoneos/Build/Intermediates/AppGyver.build/Release-iphoneos/Scanner\ RC.build/Objects-normal/armv7/CDVAdMob.o Plugins/com.rjfun.cordova.plugin.admob/CDVAdMob.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

CDVAdMob is provided in source code, should not be its problem

hi, but i don't know those code :(
btw, i just rested another plugin of yours which is facebook ad, and it can b built without any error. could you check again to make this work? i believe it also help other developers who use appgyver. thank you.

I think you need upgrade your xcode to latest version.

just now, when i build the project with an old version of xcode, i see the same error log.
after I upgrade to latest xcode, it's built successfully.


Cannot install the emulator from the AVD Manager on M1

A few days ago, you updated the README saying that now its possible to install de M1 emulator directly from the AVD, including that it will not show ARM64 image versions anymore... but I can't find it. I'm using Android Studio 4.2 Preview (once the stable version sometimes freeze to me), but can't make the emulator work without downloading it from here.
Can you describe it better how to make it work? Which version of Android Studio are you using?
Thanks a lot!

I did this https://github.com/741g/android-emulator-m1-preview/issues/10#issuecomment-773545412 but maybe it's no more necessary

can confirm
as of 4.2 its not possible

I have a same issue. Is there any guide or documentation to install the emulator for m1?

same issue

same issue

same here

The documentation is wrong.

It does work but it has to be the preview Version of Android Studio:

Hi, if you follow this blog post. You can install and use an emulator on your M1 device.
https://medium.com/techiepedia/setting-up-android-emulator-in-m1-mac-fff58ec8bff8

Confirmed! It has to be the Preview version of Android Studio! Than, when you look at "Other images" tab, choosing an "arm64-v*"will work for running your android emulator! Thanks to all.

Which android studio version and emulator version did you use?
Mine is 4.2 beta 6 and 30.6.1 which does not work.

Not able to see "arm64-v* on "Other images" tab


docs: visually document options for theming table with opt_stylize()

This adds documentation in the Get Started guide, showing some possibilities for theming the table with opt_stylize(). With the six options in both the style= and color= arguments, there's a combined 36 different looks. Here, we show the six different styles with the default "blue" color, and, we show the six different color options with the default style (1).
This is what it looks like on a desktop browser (zoomed out a bit):

On a narrow display, the tables collapse to a single column.
Fixes: https://github.com/posit-dev/great-tables/issues/405

From pairing with @machow , we decided to streamline the display of the themed tables from .opt_stylize(). I removed the display of the color variations. Also, the table used in the .opt_stylize() examples borrows from the un-themed table at the top (which was slightly modified). This all cuts down the number of lines of documentation (and makes the page easier to follow).
Here's a portion of the page for the revised docs:

The link in the reference doesn't work for me (though I checked very fast and may have missed that it could work after merging)

The link in the reference doesn't work for me (though I checked very fast and may have missed that it could work after merging)

Ah... I will use the absolutely URL.


[ Conv2D ] Draft : backwarding

This PR provides backwarding of Convolution 2D Layer.
( This PR does not include evaluation of implementation.
Still looking for it and if it is found, unit test with evaluation will be ready.)
Self evaluation:

Build test:	 [X]Passed [ ]Failed [ ]Skipped
Run test:	 [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: jijoong.moon<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #211. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

:octocat: cibot: @jijoongmoon, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/211-202006241637430.76212000846863-7410ad54731a90d1214cded74a7dd25d9c16d7e1/.


Does not work well with buffer line

Smart idea on highlight active window with colorful lines.
I want to use it with:
https://github.com/akinsho/bufferline.nvim
The issue I have:

The split line goes straight through bufferline tab plugin.lua

Good issue, may need to check if bufferline is present and adjust the length of separator lines accordingly.  @denstiny

this fix doesn't work if showtabline=1.

this fix doesn't work if showtabline=1.

Steps to reproduce

this fix doesn't work if showtabline=1.

Is it possible to provide steps to reproduce

For me this shows up when the plugin is loaded and showtabline is set to 1. Meaning initially the tabline is not visible.
When i open another tab (more than 1) the tabline shows up, but the border overflows like in the example image in the first comment.

this fix doesn't work if showtabline=1.

Is it possible to provide steps to reproduce

For me this shows up when the plugin is loaded and showtabline is set to 1. Meaning initially the tabline is not visible. When i open another tab (more than 1) the tabline shows up, but the border overflows like in the example image in the first comment.

I haven't used showtabline=1, it doesn't have any effect here for me

ok i know why

now it works. thank you! but i now see a new issue aah. i feel responsible for this im sorry.

Please open a new issue. Let's solve one problem for a single issue.

Yes, sorry. I thought it was related

Also please include your reproducing steps for easier debugging of the issue. Thanks!

Yes, sorry. I thought it was related

I think I fixed the problem temporarily, but when the user manually use tabclose I get an error, currently trying to find the cause of the problem

Latest version works, thanks!


Enable compatibility with latest VRS-Python models

We technically don't need to have any direct dependencies on VRS-Python, but we need to ship a Pydantic 2.x compatible version to enable usage in integrated contexts like metakb

I will be updating the gk pilot data this week and will need to do this

Initial work on issue-35 branch. Going to use locally with metakb changes. Once we confirm it works, I'll make a PR for this


Need help with bootstrap 5 snippets

Does somebody know for some bootstrap5 snippets or, how can I create that snippet? I need that for NvChad, thanks.

Have you looked into friendly-snippets, or vim-snippets?
If you add them (via your package-manager), and load either vscode or snipmate snippets (via luasnip-config), they should be available

You can use a vscode snippet collection containing them, like  https://github.com/pirulug/bootstrap5-snippets

Would you guide me how to do that please?

Just add it as a nvim plugin in your package manager  (it does not matter that it's not a real one)  and luasnip vscode loader will find it.

Not loaded :(

Make luasnip depend on it.

Good, now is installed, but I want this for help me autocomplete code when I coding, but it doesn't work. What I have to do?

In your config, load the snippets as documented:
require("luasnip.loaders.from_vscode").lazy_load()

I have this in Lua/plugins/configs/others.lua, but not working the autocomplete in bootstrap code.

Why do you load and then lazy-load the snippets?
Check https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#logging and set it up so you can see the logs. Maybe you can find clues of what's happening.


Cats - Extension Methods For Future/Task Conversion

Rather than consistently wrapping entire function calls we could embed implicit classes within the org.http4s.util.Task implementation.
Something like
object task extends TaskFunctions {
  implicit class TaskToFutureConverter[A](task: Task[A]){
    def unsafeToFuture : Future[A] = unsafeTaskToFuture[A](task)
  }
  implicit class FutureToTaskConverter[A](future: => Future[A])(implicit ec: ExecutionContext) {
    def toTask : Task[A] = futureToTask(future)(ec)
  }
}

This would allow us to interact on the edge of blaze/http4s much easier. The only major question is if this is required, why isn't it directly in fs2? However this would in the implementation of the writeEntityBody.
  def writeEntityBody(p: EntityBody): Task[Boolean] = {
    val writeBody : Task[Unit] = (p to writeSink).run
    val writeBodyEnd : Task[Boolean] = writeEnd(Chunk.empty).toTask
    writeBody >> writeBodyEnd
  }

  private val writeSink: Sink[Task, Byte] = { s =>
    val writeStream : Stream[Task, Unit] = s.chunks.evalMap[Task, Task, Unit](writeBodyChunk(_ , false).toTask)
    val errorStream : Throwable => Stream[Task, Unit] = e => Stream.eval(exceptionFlush().toTask).flatMap{_ => fail(e)}
    writeStream.onError(errorStream)
  }

Sorry if I misinterpret, but how is this different from unsafeRunAsyncFuture?

I would say that we can scratch that one, as it replaces the current implementation of unsafeTaskToFuture exactly, and it is on Task.
Infact on further investigation, we may be able scrap this whole package in favor of unsafeRunAsyncFuture and Task.fromFuture which allows us to move the blaze abstractions to the edge.

I agree.  We needed this for scalaz Task, but it's built into fs2 Task.
If anyone needs this functionality for Scalaz, we use delorean at work.  I don't want to add the dependency to our scalaz branch for something so slight, but that's the way to do it in apps.

Alright, I'll see if I can do a refactor pr to phase out the use of the util.Task package.
I'm not avoiding that bug that I can't seem to find... :pager:

Closed By #916


Error response from daemon: invalid subinterface vlan name en0, example formatting is eth0.10

OS: mac 10.13.6
docker: 18.09.2
when I excuting the command:
docker network create -d macvlan  --subnet=<IP_ADDRESS>/24 --gateway=<IP_ADDRESS> -o parent=en0 mynet. The error 'Error response from daemon: invalid subinterface vlan name en0, example formatting is eth0.10' was shown. I searched all web, but there were 2 issues relationed to this error.
Had you soled this problem?

Are we building a spaceship soon to deploy to mars with this architecture? @alextanhongpin

Are we building a spaceship soon to deploy to mars with this architecture? @alextanhongpin

I dont know why I had this issue below this project，there is a long time. Maybe it's my fault. Just clost it.


URL for nodes

In node menu, add URL field. URL would be applied to topic text or to an icon (added if there is a link).

如果是URL，可以点击打开网址就更好了

done


Fix a few notation error

Good catch on the subscripts! I’ve fixed these from my own working copy, and enlarged on your suggestion for defining f\ in terms of f/. (I’m declining the punctuation proposals.)
Added you to the site’s “honor roll” at http://code.kx.com/q/about/thissite/#honor-roll.
Thanks again!


feat(sprite): support negative width/height to flip sprite

Setting a negative width/height on the sprite will result in the image being flipped horizontally or vertically. The width/height will remain positive after setting.
let sprite = Sprite({
  x: 10,
  y: 20,
  width: -10,
  height: 20
});

console.log(sprite.width);  // => 10
sprite.render();  // sprite is flipped horizontally

Closes #93

Coverage remained the same at 100.0% when pulling 5513f04d2ed41964c8ce1be4bacf3bc506cc40cb on flipSprite into ba27d56b2df7c635cfd6c1bcea37d8a3652e457b on master.


compile error

Hi sory to disturb ,How to fix this error during make?
xxd -iC payload_A9.bin payload_A9.h
process_begin: CreateProcess(NULL, xxd -iC payload_A9.bin payload_A9.h, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [macos] Error 2
thanks ,

What Operating System?

Windows 10

Did you run “make libusb” and not “make”?

I run make Makefile

here screenahot of my command

run "make libusb while in the gaster directory"

make: C:\Users\user\Desktop\gaster\gaster-main\libusb: No such file or directory
make: *** No rule to make target 'C:\Users\user\Desktop\gaster\gaster-main\libusb'.  Stop.

$ make libusb
xxd -iC payload_A9.bin payload_A9.h
make: xxd: No such file or directory
make: *** [Makefile:15: libusb] Error 127

comment #44 usefull

Maybe its time to stick this in a readme?


while playing content, When User Fast Forwards post the Adpods Player screen is freezed and only Audio output is heard (Ad timer runs in background )

Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
3.0.1
Can you reproduce the issue with our latest release version?
Yes
Can you reproduce the issue with the latest code from main?
Yes
Are you using the demo app or your own custom app?
custom app
If custom app, can you reproduce the issue using our demo app?
No as the issue reproducible with ads
What browser and OS are you using?
Safari Version 8 and Linux OS
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
xclass smarttv
User Agent -Mozilla/5.0 (Linux; x86_64 GNU/Linux) AppleWebKit/601.1 (KHTML, like Gecko) Version/8.0 Safari/601.1 WPE partnerId:comcast
What are the manifest and license server URIs?
What configuration are you using?  What is the output of player.getConfiguration()?

What did you do?
Launch application
Play any content
while playing content, When User Fast Forwards post the Adpods Player screen is freezed and only Audio output is heard (Ad timer runs in background )
What did you expect to happen?
Ad should play normally without any freeze post FF
What actually happened?
while playing content, When User Fast Forwards post the Adpods Player screen is freezed and only Audio output is heard (Ad timer runs in background ) this we are facing in shaka version above 3.0 version

Can you test again with the latest release (4.4.2)? Thanks!


Disable a Test To Unblock the Toolchain Builder

@swift-ci smoke test

preset=buildbot_linux
@swift-ci please test with preset Linux

Merging this PR to unblock nightly toolchain bot.


Set error message for where to report bugs

Avoids recommending filing bugs with LLVM project for IREE project tooling.

uh, that's a lot of commits? 😮

(otherwise LGTM - just need to clean up whatever happened in git - thanks for doing this!)

uh, that's a lot of commits? open_mouth

I don't know why I keep doing this ... I git pull main && git branch && git checkout && git commit && gh pr create ... I should just explicitly have a git fetch gh && git rebase gh/main in there too.

if you pull main while on main then it should rebase for you - maybe you're issuing your git pull main while on another branch?
my flow is usually:
git checkout main && git pull --prune
git checkout -b new-branch
<work>


userId undefined when called from meteor method callback

Hello,
When i'm logging something like this:
Meteor.call("someServerMethod", data, function(err, data) {
     if (err) {
            Meteor.log.error("Could not update Roles for user", err, Meteor.userId());
      }
 })

In my log file i get all data except userId:
30-2-2015 18:0:43 | [ERROR] | Message: "Could not update Roles for user" | User: undefined | data: {"error":500,"reason":"Internal server error","message":"Internal server error [500]","errorType":"Meteor.Error"}

@mariusdarila Thank you for report. Fixed in last release. Please run:
meteor update

Inside meteor's project folder

Yep, it works now :)


[Feature] How to delete an user?

Is there a way to delete an user?

Hi there, are you trying to delete a user from a team? You can remove them from the team settings page. If you go to your team page and look in the left sidebar, you'll see a small gear icon with a "Team settings" link.

Hi there, are you trying to delete a user from a team? You can remove them from the team settings page. If you go to your team page and look in the left sidebar, you'll see a small gear icon with a "Team settings" link.

Hi @cvphelps
Is there any way to delete my account on Wandb site, it is very strange that I didn't find any way to delete my account

@Syzygianinfern0 You'll need to contact support. If you tell me your username i can delete the account for you.

Thanks! This is my username: syzygianinfern0.

The account has been deleted.

@armanhar wait, now I cannot create an account with the same Mail ID once more? I just wanted to start over.

@Syzygianinfern0 apologies for the delay, you should now be able to sign up again using the same email.

Hi @armanhar ! Can I still ask a favor from you for deletion of my account?

Hi @sydholl , any plans on implementing it online (so that user can do it themselves). Anyway can you delete my user account parask

I made a mistake in the username, so I'd like to withdraw and rejoin. my username is brqiue. (so url is  ' https://wandb.ai/brqiuekoo ')
please delete my account.


how to check Dynamics 365 billing/usage/ subcription

how to check Dynamics 365 billing/usage/ subcription
in case of using only Talent module. how to check

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 88bd6264-5050-3151-b973-4f7ee6602f69
Version Independent ID: b055db38-4d60-b969-4bce-dae38ddc96de
Content: Support and billing for Customer Engagement
Content Source: ce/admin/billing-support.md
Service: crm-online
GitHub Login: @jimholtz
Microsoft Alias: jimholtz

@lehuyluyen
Sorry for the much delayed response. Clearing a backlog, we noticed this hadn't be resolved. See the following for managing Microsoft 365 settings:
https://docs.microsoft.com/en-us/power-platform/admin/use-office-365-admin-center-manage-subscription


minimap2: 2.22 -> 2.23

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/lh3/minimap2/releases.
meta.description for minimap2 is: "A versatile pairwise aligner for genomic and spliced nucleotide sequences"
meta.homepage for minimap2 is: "https://lh3.github.io/minimap2"
meta.changelog for minimap2 is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
/nix/store/7wdkl4h6ahrbyly4fg4wmcxc5n00vk4x-minimap2-2.23/bin/minimap2 passed the binary check.
1 of 1 passed binary check by having a zero exit code.
1 of 1 passed binary check by having the new version present in output.
found 2.23 with grep in /nix/store/7wdkl4h6ahrbyly4fg4wmcxc5n00vk4x-minimap2-2.23
found 2.23 in filename of file in /nix/store/7wdkl4h6ahrbyly4fg4wmcxc5n00vk4x-minimap2-2.23

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
docbookrx
minimap2

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/7wdkl4h6ahrbyly4fg4wmcxc5n00vk4x-minimap2-2.23 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A minimap2 https://github.com/r-ryantm/nixpkgs/archive/d337b164d665374023db68112fd8da46f12a4289.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7wdkl4h6ahrbyly4fg4wmcxc5n00vk4x-minimap2-2.23
ls -la /nix/store/7wdkl4h6ahrbyly4fg4wmcxc5n00vk4x-minimap2-2.23/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

minimap2

Maintainer pings
cc @arcadio for testing.

Change looks good to me

Change looks good to me. Already failed to build on aarch64-linux


Build base/*.cpp as a library to prevent recompiling it multiple times

modifié :         CMakeLists.txt
nouveau fichier : base/CMakeLists.txt

failed with gcc on travis => closed

It looks like there may be just a define missing (xcb). Moving base to a shared library is something I wanted to work on multiple times but never actually got around doing so. I'll try to take a look at why this only fails with gcc on travis (and works fine with clang).

I've enabled travis for my fork, I'll make some tests. But for win and android builds I can't check that it's working fine.

Now I think it's ok, It compiles fine. I'm trying to reopen the pull request but I've reset several commits and make some forced pushes. Maybe I'll have to make another pull request. let's try...


Changes query endTs and lookback from micros to millis

Time units of query parameters endTs and lookback are now milliseconds
as opposed to microseconds, the grain of Span and Annotation timestamp.
Milliseconds is a more familiar and supported granularity for query,
index and windowing functions.
This change does not change implementation schema. Span stores who use
custom indexes (like cassandra and redis) probably want to update to use
millis now.
See #857

manual testing of the web app works with queries and dependency graph

Fixed #857


Expiration date picker

Set Date picker for selecting the expiry date
Default date will be populated based on the threshold block number
Block number is calculated and displayed based on the date selected
Block number will be always disabled
Dates less than the min exp date are disabled.

Merge


ENG-287 blueprint version bump

@joewhite101 @Kerruba I had to update keycloak docker image (?) to add
"-Dkeycloak.profile.feature.scripts=enabled",
"-Dkeycloak.profile.feature.upload_scripts=enabled",

as I was getting an error while starting Keycloak:
Uncaught server error: java.lang.RuntimeException: Script upload is disabled
I've found a solution that worked, but I would appreciate it if someone with more KC experience would take a look. For the reference - one of the places where I have found the solution: https://keycloak.discourse.group/t/cant-import-realm-using-docker-image/259

Closing due to automerge breaking code, opened new PR


added new flag --reads_in_memory

PR checklist

[x] This comment contains a description of changes (with reason)
[x] If you've fixed a bug or added code that should be tested, add tests!
[x] Make sure your code lints (nf-core lint .).
[x] Documentation in docs is updated
[x] CHANGELOG.md is updated

Feel free to merge this yourself once you are ready :)


Beginner - Button Coloring Using DaisyUI Theme Not Overriding As Expected?

Hi,

As seen in the screenshot, I am making a navbar using DaisyUI's dark theme as a proof of concept. I then added a button to the navbar like so:
        <div className="flex-1 px-3">
            <button className="btn btn-primary">daisyUI</button>
          </div>

My tailwind.config.js :
          /** @type {import('tailwindcss').Config} */
          module.exports = {
              content: ["./src/**/*.{js,jsx,ts,tsx}"],
              theme: {
                extend: {}
              },
              daisyui: {
                theme: true
              },
              plugins: [require("daisyui")]
            };

I would expect the button to be colored purple as the theme dictates that as the primary color! However it isn't. I've read through previous issues and Enable Dark Theme #60 comes closest in discussing the relationship between Tailwind's coloring vs DaisyUI theme-ing, but there isn't a comprehensive conversation about how a DaisyUI theme overrides Tailwind for both components that need a default color (a button) and components that do not (a card).

This is how it should look like:
https://play.tailwindcss.com/wrXmNV4GeA
But I think you have another CSS code in your page which is changing the style.
Are you using another CSS library? Or do you have any other CSS code in your page that may change the colors?

That is great advice. I've dug through all of the frontend and I never wrote any CSS other than Tailwind or DaisyUI. However, the culprit was an odd import of Bootstrap into a parent component.
Solution for Others
If DaisyUI themes or components aren't rendering as expected with React:
1.) Inspect element and look for source of styles
2.) Check that the source is Tailwind or DaisyUI
3.) Ensure that no other CSS libraries like Bulma or Bootstrap are imported into any piece of the components

I'm glad you found the issue.
I just have to add this:
You can still use daisyUI alongside other libraries (Bootstrap, Bulma, etc.) But since all these libraries have similar names for components (like btn) you should add a prefix to one of the libraries so there will be no conflicts. For example .btn would change to .daisy-btn
If you don't need both libraries together (which is more likely) just remove the unused one.


Initial input for backend selection

Description

Single entry for backend selection
Some reference implementations to replace MKL (naive ones)
makefile changes - BACKEND_CONFIG was added with two possible options: "mkl" or "ref"
bazel build system changes to reflect ref implementation
CI for x86 openBLAS build

This PR fails when mkl is used as backend. I get many such errors:
./cpp/daal/src/externals/service_math_mkl.h:146:69: error: use of undeclared identifier 'fpk_vml_dExp_L9HAynn'

Command used:
make -f makefile daal oneapi_c BACKEND_CONFIG=mkl PLAT=lnx32e COMPILER=clang -j16

There are also formatting hits
+---+---+---+---+---+---+---+---+------
|NLS|TAB|CHR|TAL|EOF|150|EXT|CRT| NAME
+---+---+---+---+---+---+---+---+------
| U | o | o | o | X | o | o | X | cpp/daal/src/algorithms/kernel_config.h
| U | o | o | o | o | o | o | X | cpp/daal/src/externals/config_ref.h
| U | o | o | o | X | o | o | X | cpp/daal/src/externals/config_template.h
| U | o | o | o | o | o | o | X | cpp/daal/src/externals/service_service_ref.h
EOF ==> not exactly one newline before EOF
CTR ==> wrong name of file before copyright notice

Performance issues, this PR with ref as backend fails to run with multithreading, every algorithm seems to use only single thread. Is anything disabled in this path or could it be issues with OpenBLAS? mkl backend works fine (uses multithreading) and matches the performance of master.

Performance issues, this PR with ref as backend fails to run with multithreading, every algorithm seems to use only single thread. Is anything disabled in this path or could it be issues with OpenBLAS? mkl backend works fine (uses multithreading) and matches the performance of master.

It can probably be related to this lines of the code:
        int old_threads = openblas_get_num_threads();
        openblas_set_num_threads(1);
        ...
        openblas_set_num_threads(old_threads);

I suspect that it changes the global state of OpenMP and for some reason forces it to run on a specific thread despite what TBB thread assigns it to.
I suspect that we should be able to build it without affinity: https://github.com/xianyi/OpenBLAS/blob/develop/USAGE.md#how-could-i-disable-openblas-threading-affinity-on-runtime

BLAS/LAPACK in oneDAL contain two sets of routines - for instance, xxsyrk and xsyrk. First one is expected to run on a single thread and there is a special handling for that. But for xsyrk OpenBLAS itself is responsible to set necessary number of threads. It could be tuned by OMP_NUM_THREADS env variable. MKL backend contains functionality to detect exact number of available cores but for OpenBLAS it's questionable.

export OMP_NUM_THREADS =<num_threads>  at runtime has no impact. This is with openblas built with standard options and another openblas version built with threading completely disabled.  (make USE_THREAD=0 USE_LOCKING=1 USE_OPENMP=0)
@KulikovNikita the affinity hack does not have any impact either.

In my experiments with OpenBLAS, performance scaling with OMP_NUM_THREADS was observed. I haven't tried more multithreading options. But it depends on build settings, too.

@amgrigoriev could you please share your build settings?

/intelci: run

@rakgb-fujitsu I tested with downloaded OpenBLAS binaries.
But looking into documentation, it's not quite clear how to use it properly for oneDAL (https://github.com/xianyi/OpenBLAS/wiki/Faq#multi-threaded):
"How can I use OpenBLAS in multi-threaded applications?
If your application is already multi-threaded, it will conflict with OpenBLAS multi-threading. Thus, you must set OpenBLAS to use single thread as following.

export OPENBLAS_NUM_THREADS=1 in the environment variables. Or
Call openblas_set_num_threads(1) in the application on runtime. Or
Build OpenBLAS single thread version, e.g. make USE_THREAD=0 USE_LOCKING=1 (see comment below)
If the application is parallelized by OpenMP, please build OpenBLAS with USE_OPENMP=1"

oneDAL is certaingly multi-threaded (powered by TBB). But it contains a mix of single- and multi-threaded BLAS/LAPACK calls so building as a single thread version might affect some algos.
"set_num_threads(1)" is already in place in the PR.
I guess oneDAL doesn't need OpenMP parallelization in OpenBLAS to avoid conflicts with TBB scheduler. For me, search for the best OpenBLAS settings for oneDAL looks like a big separate topic.

@amgrigoriev I tried to investigate further into this issue. I used Random Forests algorithm which does not use any of the OpenBLAS functions, through debugging its using only the random number generator calls. Despite no usage of OpenBLAS it is still running in single threaded mode. Is this some TBB related issue?
Regarding the algorithms dependant on OpenBLAS, openblas_get_num_threads() shows the correct number of threads but in the console htop cmd shows only 1 thread being used. What would this mean?

/intelci: run

@rakgb-fujitsu Sorry for the delay, I was busy with other tasks. My suggestion is to separate two things: capability to use OpenBLAS as a backend and the best build/usage settings for OpenBLAS. The second one needs additional experiments/measurements to understand if something should be tuned in oneDAL too. There are many algorithms with different use cases for BLAS/TBB so there is a lot of thing to analyze before proposing some solution.

@amgrigoriev the issue was from this function, adding the correct way to detect this solved the problem for kmeans. The issue however seems to persist for RandomForests.

@rakgb-fujitsu Thanks, it is clear now. I set hyperthreading flag to zero to avoid callling of the function. It should use TBB default number of threads in that case. Hope it will help.

/intelci: run

It looks like build passed for OpenBLAS but there is a mistake in copy directory name: cp -fp ./__work_gnu/md/lnx32e/daal/lib/libJavaAPI.so ./__release_lnx_gnu
But upload is from another folder: ##[error]Path does not exist: /home/vsts/work/1/s/__release_lnx_gnu_openblas

Missing dependency on fortran library in examples (injected by OpenBLAS):
/usr/bin/ld: /home/vsts/work/1/s/__release_lnx_gnu/daal/latest/lib/intel64/libonedal_thread.so.1: undefined reference to `_gfortran_concat_string'
For makefile, it could be added like (if copy libgfortran.a manually to  $(OPENBLASROOT)/lib):
ifdef OPENBLASROOT
LOPTS += $(OPENBLASROOT)/lib/libgfortran.a
endif
May be it is possible to use installed gfortran from /usr/lib.
Not clear, how to do it for cmake

/intelci: run

/intelci: run

/intelci: run

/intelci: run

Please restart public CI. It failed due to conda loading issue.

Private CI have lot of library build warnings on windows for all fpk functions
"warning LNK4006: fpk_serv_strcpy already defined in daal_mkl_thread.lib(mkl_support.obj); second definition ignored"

Added an option to add cpp/compression to exclude list for REF backend (examples for OpenBLAS build). But it requires a change in CI in order to be " cmake . -DREF_BACKEND=ON" for building of examples. Simplier alternative is to add "compression/cpp/*" to exclude list for all cases.

this wouldn't be an issue in longterm - compression would be removed in upcoming weeks

@keeranroth
"keeranroth 2 weeks ago
+1 for use of standard library"
Historically DAAL minimize use of standard lib so there is less dependency on user side.  with oneDAL and move to higher C++ standards, STD use in compiler and other things use of STD is more open there.
I would say if it's easy to adhere to this - let's keep it going.  If not, can be discussed

/intelci: run

I see different number of daal/cpp examples running locally and in public CI (command to run locally: .ci/scripts/test.sh --test-kind examples --build-dir __release_lnx_gnu/ --compiler gnu --interface oneapi/cpp --build_system cmake). Due to that, some missed examples are SegFaulted in public CI while everything is Ok locally.

As I can see, oneapi examples and MPI samples passed - the problem is that some cpp examples throw exceptions for old interfaces. But it can not be fixed right now due to, for instance, absence of some sparse functions in OpenBLAS. My suggestion it to add those examples into EXCLUDE_LIST in cmake. To do that, it makes sense to add --backend parameter to .ci/scripts/test.sh and pass -DREF_BACKEND to cmake in case of REF backend. I can add it if nobody argues.

As I can see, oneapi examples and MPI samples passed - the problem is that some cpp examples throw exceptions for old interfaces. But it can not be fixed right now due to, for instance, absence of some sparse functions in OpenBLAS. My suggestion it to add those examples into EXCLUDE_LIST in cmake. To do that, it makes sense to add --backend parameter to .ci/scripts/test.sh and pass -DREF_BACKEND to cmake in case of REF backend. I can add it if nobody argues.

Sounds good to me assuming that default would be MKL backend with no param passing

On compression removal - https://github.com/oneapi-src/oneDAL/pull/2462 would happen here

/intelci: run

/intelci: run

With latest private CI still have warnings on windows - 2532 warnings
daal_vmlipp_core.lib(mkl_support.obj) : warning LNK4006: fpk_serv_strcpy already defined in daal_mkl_thread.lib(mkl_support.obj); second definition ignored
daal_vmlipp_core.lib(vsl_l9_iuniformbits32.obj) : warning LNK4006: fpk_vsl_kernel_l9_iRngUniformBits32 already defined in daal_mkl_thread.lib(vsl_l9_iuniformbits32.obj); second definition ignored
@Alexsandruss - with cleanup of compression, should FPK also be rebuild to drop IPP?

As I can see from Linux, botch ./__deps/mklfpk/lnx/lib/intel64/libdaal_mkl_thread.a and ./__deps/mklfpk/lnx/lib/intel64/libdaal_vmlipp_core.a are external libraries. From the warning, it is clear that both ones are including the same obj files and I can see the same names inside. Quick attempt to remove vmlipp resulted in failed build of cpp examples with undefined references. Maybe it is possible to rebuild MKL FPK libraries without duplication of symbols?

Resolved conflict in cpp/daal/src/algorithms/kernel.h

Looks good to me

It looks like oneapi_c build issue is not specific for the PR. Master build failed with the same error for ".ci/scripts/build.sh --compiler gnu --optimizations sse2 --target oneapi_c". As I can see, it does not work at all for base level of optimization. My suggestion is to return back "avx2".  For "avx2" there is a command in log "echo ONEDAL_CPU_DISPATCH_AVX2" >> __work_gnu/md/lnx32e/oneapi/dal/_dal_cpu_dispatcher_gen.hpp". Something similar is absent for build with "sse2" and the error appears "_dal_cpu_dispatcher_gen.hpp: No such file or directory"

/intelci: run

It looks like oneapi_c build issue is not specific for the PR. Master build failed with the same error for ".ci/scripts/build.sh --compiler gnu --optimizations sse2 --target oneapi_c". As I can see, it does not work at all for base level of optimization. My suggestion is to return back "avx2". For "avx2" there is a command in log "echo ONEDAL_CPU_DISPATCH_AVX2" >> __work_gnu/md/lnx32e/oneapi/dal/_dal_cpu_dispatcher_gen.hpp". Something similar is absent for build with "sse2" and the error appears "_dal_cpu_dispatcher_gen.hpp: No such file or directory"

yes, looks like there is problem in make for oneapi_c that doesn't allow building for lowest opt. I guess it can be fixed fairly easy but we can do this in separate PR.  Returned AVX2 in code

As I can see from Linux, botch ./__deps/mklfpk/lnx/lib/intel64/libdaal_mkl_thread.a and ./__deps/mklfpk/lnx/lib/intel64/libdaal_vmlipp_core.a are external libraries. From the warning, it is clear that both ones are including the same obj files and I can see the same names inside. Quick attempt to remove vmlipp resulted in failed build of cpp examples with undefined references. Maybe it is possible to rebuild MKL FPK libraries without duplication of symbols?

yes, work in progress not to drop IPP from FPK. Should have results today/tomorrow - @Alexsandruss

/intelci: run

/intelci: run

So, on warning fixes
plan A check on results of dropping IPP from FPK
plan B on Java removal - https://github.com/oneapi-src/oneDAL/pull/2469

/intelci: run

FPK update didn't help - duplication happens even without IPP lib

Could you expose the warning?

Is this that one: daal_vmlipp_core.lib(vml_dLog1p_L9HAynn.obj) : warning LNK4006: fpk_vml_dLog1pI_L9HAynn already defined in daal_mkl_thread.lib(vml_dLog1p_L9HAynn.obj)? I am wondering if another library contains duplicated symbols after IPP removal?

Is this that one: daal_vmlipp_core.lib(vml_dLog1p_L9HAynn.obj) : warning LNK4006: fpk_vml_dLog1pI_L9HAynn already defined in daal_mkl_thread.lib(vml_dLog1p_L9HAynn.obj)? I am wondering if another library contains duplicated symbols after IPP removal?

daal_vmlipp_core.lib(mkl_support.obj) : warning LNK4006: fpk_serv_strcat2 already defined in daal_mkl_thread.lib(mkl_support.obj); second definition ignored
It's same obj as it still contain vml/vsl part although ipp was removed. Now there is 2100 warning lines vs 2500 with previous FPK. All warnings are only happen for vml/vsl functions now.

/intelci: run

@amgrigoriev  - thank you for fix. Warnings are gone now. Waiting for CI checks to finish

@amgrigoriev, this PR reverted https://github.com/oneapi-src/oneDAL/pull/2392. Are you sure there are no additional rebasing mistakes in PR?

at least this one - https://github.com/oneapi-src/oneDAL/pull/2390


Compatibility with Java 8

Are there any plans to make BlueFlood ready for Java 8? The main reason for that decision could be that Java 7 is not supported since April 2015.
Currently it is impossible to build BlueFlood with JDK 8 because of the blueflood-core module's failing test:
Running com.rackspacecloud.blueflood.io.serializers.IMetricSerializerTest
Tests run: 6, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.79 sec <<< FAILURE!
testSetSerialization(com.rackspacecloud.blueflood.io.serializers.IMetricSerializerTest)  Time elapsed: 1.24 sec  <<< FAILURE!
junit.framework.ComparisonFailure: expected:<..."count":9,"hashes":[[746007989,1875251108,98262,103159993,1727114331,-1034140067,98699,1062516268,99644]]}> but was:<..."count":9,"hashes":[[-1034140067,746007989,1875251108,98262,1062516268,1727114331,98699,99644,103159993]]}>
        at junit.framework.Assert.assertEquals(Assert.java:85)
        at junit.framework.Assert.assertEquals(Assert.java:91)
        at com.rackspacecloud.blueflood.io.serializers.IMetricSerializerTest.testSetSerialization(IMetricSerializerTest.java:76)

Also BlueFlood built with JDK 7 throws an exception during start under JVM 8:
2015-08-14 14:56:39 INFO  efloodServiceStarter:302 - Starting blueflood services
2015-08-14 14:56:39 INFO  tionPoolMBeanManager:45  - Registering mbean: com.netflix.MonitoredResources:type=ASTYANAX,name=MyConnectionPool,ServiceType=connectionpool
2015-08-14 14:56:39 INFO  onnectionPoolMonitor:239 - AddHost: <IP_ADDRESS>
2015-08-14 14:56:40 INFO  efloodServiceStarter:76  - Shard push and pull services started
2015-08-14 14:56:40 INFO  efloodServiceStarter:98  - Loading ingestion service module com.rackspacecloud.blueflood.service.HttpIngestionService
2015-08-14 14:56:40 INFO  efloodServiceStarter:106 - Starting ingestion service module com.rackspacecloud.blueflood.service.HttpIngestionService with writer: AstyanaxMetricsWriter
2015-08-14 14:56:40 ERROR Instrumentation     :60  - Unable to register mbean for Instrumentation
javax.management.NotCompliantMBeanException: Interface is not public: com.rackspacecloud.blueflood.io.InstrumentationMBean
        at com.sun.jmx.mbeanserver.MBeanAnalyzer.<init>(MBeanAnalyzer.java:114)
        at com.sun.jmx.mbeanserver.MBeanAnalyzer.analyzer(MBeanAnalyzer.java:102)
        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.getAnalyzer(StandardMBeanIntrospector.java:67)
        at com.sun.jmx.mbeanserver.MBeanIntrospector.getPerInterface(MBeanIntrospector.java:192)
        at com.sun.jmx.mbeanserver.MBeanSupport.<init>(MBeanSupport.java:138)
        at com.sun.jmx.mbeanserver.StandardMBeanSupport.<init>(StandardMBeanSupport.java:60)
        at com.sun.jmx.mbeanserver.Introspector.makeDynamicMBean(Introspector.java:192)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:898)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
        at com.rackspacecloud.blueflood.io.Instrumentation.<clinit>(Instrumentation.java:58)
        at com.rackspacecloud.blueflood.io.AstyanaxReader.getShardState(AstyanaxReader.java:198)
        at com.rackspacecloud.blueflood.io.AstyanaxShardStateIO.getShardState(AstyanaxShardStateIO.java:19)
        at com.rackspacecloud.blueflood.service.ShardStatePuller.performOperation(ShardStatePuller.java:42)
        at com.rackspacecloud.blueflood.service.ShardStateWorker.run(ShardStateWorker.java:88)
        at java.lang.Thread.run(Thread.java:745)
2015-08-14 14:56:40 INFO  tricsIngestionServer:103 - Starting metrics listener HTTP server on port 19000
2015-08-14 14:56:40 INFO  tricsIngestionServer:112 - Starting tracker service
2015-08-14 14:56:40 INFO  efloodServiceStarter:109 - Successfully started ingestion service module com.rackspacecloud.blueflood.service.HttpIngestionService with writer: AstyanaxMetricsWriter
2015-08-14 14:56:40 INFO  efloodServiceStarter:128 - Started 1 ingestion services
2015-08-14 14:56:40 INFO  efloodServiceStarter:147 - Loading query service module com.rackspacecloud.blueflood.service.HttpQueryService
2015-08-14 14:56:40 INFO  efloodServiceStarter:152 - Starting query service module com.rackspacecloud.blueflood.service.HttpQueryService
2015-08-14 14:56:40 INFO  etricDataQueryServer:73  - Starting metric data query server (HTTP) on port 20000
2015-08-14 14:56:40 INFO  efloodServiceStarter:154 - Successfully started query service module com.rackspacecloud.blueflood.service.HttpQueryService
2015-08-14 14:56:40 INFO  efloodServiceStarter:173 - Started 1 query services
2015-08-14 14:56:40 INFO  efloodServiceStarter:240 - No event listener modules configured.
2015-08-14 14:56:40 INFO  efloodServiceStarter:308 - All blueflood services started

My environment:

Ubuntu 14.04
Maven 3.0.5
Java 7 build: 1.7.0u80
Java 8 build: 1.8.0u51

About the failing test:  As of BluefloodSetRollup.class use HashSet which does not guarantee that the order will remain constant over time, I skipped this test case in our project.

About InstrumentationMBean: I declared this interface in a new file named InstrumentationMBean.java

hope it helpful

@menchauser yes, we've been working to update everything to work with Java 8.  @shintasmith was looking into the tests, specifically.
@atlanssia would you like to submit a PR for the IntstrumentationMBean.java problem?

@atlanssia that IMetricSerializerTest compare error should be fixed in this PR: https://github.com/rackerlabs/blueflood/pull/553 . I did run Blueflood built with JDK 1.8, was able to do simple ingest and query.

@menchauser , since https://github.com/rackerlabs/blueflood/releases/tag/blueflood-2.0.0 , JDK8 is the only supported JDK for blueflood.

Closing this


Add files via upload

Hestmor sheet with most updated leg animation, fixes on the walk cycle isn't applicable yet

third row is supposed to be used for crouching


count sourceOrigin outside the linear check to make it consistent

Resolves rdar://106084537
The original SkipProtocolImplementations test was inconsistent because of the inconsistent ordering of symbol graph files. This PR fixes the test to perform the sourceOrigin counting in a separate call to FileCheck, so that it doesn't have the same seek pointer as the rest of the checks.

@swift-ci Please smoke test


chore: rm function dir in template ignore files

Remove /function from the ignore file.
This seems to no longer be used for anything and currently conflicts with the Firebase Adapter ~standard~ default usage (Cloud Functions are defined by a dir called functions but is configurable) so requires a documentation/manual step to rectify.

Before submitting the PR, please make sure you do the following

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts

Hmm, I think other adapters such as adapter-netlify create a functions directory that is not meant to be checked in, so I'm not quite sure what to do about these conflicting requirements
It's cool to see this adapter. You should list it on https://github.com/sveltejs/integrations or https://sveltesociety.dev/ :smile:

_@benmccann My argument would be that the template apps should only ignore files in the template and not pre-empt output distinct to some adapters.
Processes like Svelte Adders are perfect to address this for all adapters adding to ignore files as necessary.

It's cool to see this adapter. You should list it on sveltejs/integrations or sveltesociety.dev

I will add links to the adapter once SvelteKit is 1.0 as I'm already overwhelmed with user reported issues and keeping the adapter updated to latest SvelteKit changes.

I hear what you're saying and it's a pretty reasonable to suggest that the template not have any adapter-specific code in it. At the same time we want to make setup really easy and don't want to have to create svelte adders just to use an adapter. And there should be some consistency between the different adapters as well. It would be preferable not to have the functions directory generated in some cases and written by hand in other cases. It's also a design goal that you should mostly be able to write a SvelteKit app, swap the adapter, and have it work on another hosting platform. I think the issue here is that the Firebase adapter doesn't have support for SvelteKit endpoints yet (https://github.com/jthegedus/svelte-adapter-firebase#faq). My preference would be that we try to fix that and make the functions directory generated from endpoints rather than tweaking the default .gitignore

It would be preferable not to have the functions directory generated in some cases and written by hand in other cases

I would agree, except that Netlify specifies functions/ as an output dir for their compiled API code, whereas Firebase (by default) uses functions/ as the source and destination of the compiled code, usually functions/src and functions/lib, so needs to be checked in. By virtue of the fact one first-party-maintained adapter uses functions/ shouldn't mean every other adapter which doesn't conform should have to instruct users to delete ignore statements from the template.

I think the issue here is that the Firebase adapter doesn't have support for SvelteKit endpoints yet (https://github.com/jthegedus/svelte-adapter-firebase#faq)

This is actually untrue, endpoints are supported. The confusion here comes from the initial comparison of SvelteKit endpoints to Next.js API routes. Next.js routes on Vercel are each individual AWS Lambdas. The initial comparison lead me to believe the .svelte-kit/output/server/ output would be individual .js files for each endpoint where I would be able to output a GCP Cloud Function for each endpoint. This is not the case with the current pattern. The caveat you link in the Firebase adapter was for a few reasons:

I am not actively solving problems related to the Firebase JS SDK v8, people should use v9 as noted on the SvelteKit FAQ/
SvelteKit endpoints are not the same as Next.js routes and are not separate Cloud Functions, the whole SvelteKit server app is run in a single Cloud Function.

I need to update the FAQ, it was written quite a while ago in terms of SvelteKit releases.
With that explanation, hopefully you see this is nothing to do with the adapter, but in fact, the target platforms. Netlify & Firebase (by default) use the same dir for similar but incompatible reasons.
My argument is again, that a single first-party-maintained adapter, should not force the SvelteKit template .gitignore items.
In addition to this, the Netlify functions dir is configurable, so the ommission with .gitignore is only useful to a subset of that adapter's users.

Perhaps part of the adapter API should be a utility function to check & write ignore items to the SvelteKit root .gitignore file. That way each adapter can read their respective platform configs and insert their respective build output dirs as ignore items?

This change has since been implemented in https://github.com/sveltejs/kit/pull/1499 whether by accident or not, I agree with the change :wink:


tflite input setting after post-training quantization

1. System information

OS Platform and Distribution: Linux Ubuntu 18.04
TensorFlow installation (pip package or built from source): tensorflow 2.13
TensorFlow library (version, if pip package or github SHA, if built from source): n/a

2. Code
I have a question on how tflite input works for post-training-quantized model (INT8).
I made a tflite wrapper class as below:
class tflite_instance:
    def __init__(self, model_name, qat=True):
        self.interpreter = tf.lite.Interpreter(model_path=os.path.join(TFLITE_MODELS_DIR, model_name + '.tflite'))
        self.interpreter.allocate_tensors()
        self.tflite_input_details = self.interpreter.get_input_details()
        self.tflite_output_details = self.interpreter.get_output_details()

    def inference(self, x, num_out=1):
        input_details = self.tflite_input_details[0]
        tensor_index = input_details['index']
        input_tensor = self.interpreter.tensor(tensor_index)()
        scale, zero_point = input_details['quantization']
        quantized_input = np.uint8(x / scale + zero_point)
        input_tensor = quantized_input

        self.interpreter.invoke()

        output = self.interpreter.get_tensor(self.tflite_output_details[0]['index'])

        scale, zero_point = self.tflite_output_details[0]['quantization']
        output = scale * (output.astype(np.float32) - zero_point)

        return output

This code runs, but it looks like tflite cannot accept the correct input value.
I imitated a sample code from the official document and modified my wrapper as below and now it works fine. But I do not correctly understand how tflite is working behind the scene, because for me both code look same. Especially, Is there any magic behind this line of code? input_tensor[:, :, :, :] = quantized_input
class tflite_instance:
    def __init__(self, model_name, qat=True):
        self.interpreter = tf.lite.Interpreter(model_path=os.path.join(TFLITE_MODELS_DIR, model_name + '.tflite'))
        self.interpreter.allocate_tensors()
        self.tflite_input_details = self.interpreter.get_input_details()
        self.tflite_output_details = self.interpreter.get_output_details()

    def set_input_tensor(self, x):
        input_details = self.interpreter.get_input_details()[0]
        tensor_index = input_details['index']
        input_tensor = self.interpreter.tensor(tensor_index)()
        # Inputs for the TFLite model must be uint8, so we quantize our input data.
        scale, zero_point = input_details['quantization']
        quantized_input = np.uint8(x / scale + zero_point)
        input_tensor[:, :, :, :] = quantized_input

    def inference(self, x, num_out=1):

        self.set_input_tensor(x)

        self.interpreter.invoke()

        output = self.interpreter.get_tensor(self.tflite_output_details[0]['index'])

        scale, zero_point = self.tflite_output_details[0]['quantization']
        output = scale * (output.astype(np.float32) - zero_point)

        return output

3. Failure after conversion
The code works fine, but cannot understand the behavior. Some explanation would be grateful.
5. (optional) Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

Hi @KeondoPark ,
In this code, you're assigning quantized_input to input_tensor. However, input_tensor is just a reference to the numpy array returned by self.interpreter.tensor(tensor_index)(). By assigning quantized_input directly to input_tensor, you're changing the reference rather than updating the actual memory of the tensor that the TFLite interpreter uses for input.
When you use slicing [:, :, :, :] = quantized_input, you're modifying the existing buffer in place, ensuring the interpreter uses the updated values. It uses NumPy's indexing to modify the entire content of the input tensor in-place. The [:, :, :, :] notation means "select all elements in all dimensions," effectively updating the entire tensor with the new quantized data.
Let me know if you have any problems understanding this explanation.

Hi @sawantkumar
Thank you for your response. To my understanding, the input_tensor is something like a pointer to the input buffer.
I have two following questions:

If input_tensor is a pointer to the input buffer, its value should be memory address. When I assigned quantized_input directly to input_tensor, why did it run without error? quantized_input just happened to be a valid memory address?
Other than using slicing, can I use different syntax? For example, changing input_tensor to reference to quantized_input, instead of changing the input buffer in-place (I assume the contents are copied).

Thank you for your kind response!

Hi @KeondoPark ,
The TFLite interpreter has pre-allocated memory for its tensors. The original input_tensor is a view into this pre-allocated memory. When you reassign input_tensor, you are not changing the contents of that pre-allocated memory, you are just changing what the Python variable input_tensor refers to.
This didn't raise an error because you're not actually modifying the memory that TFLite is using. Instead, you're just reassigning the local variable input_tensor to point to the new quantized_input array. This operation is valid in Python, but it doesn't affect the TFLite interpreter's internal memory. That's why your model didn't work correctly, even though there was no error. Let me know if you have any further questions.

@sawantkumar
I understand. Thank you!

Hi @KeondoPark ,
If you think your issue is resolved , can you please close this incident ?

Ok I will close.


Empty string value deletes the entire field from document

I have a very simple user profile schema that looks like this:
Schemas.UserProfile = new SimpleSchema({
  first_name: {
    type: String,
    label: "First name",
    regEx: /^[a-zA-Z -]{2,32}$/,
    optional: true
  },
  last_name: {
    type: String,
    label: "Last name",
    regEx: /^[a-zA-Z -]{2,32}$/,
    optional: true
  },
  picture: {
    type: String,
    label: "Photo",
    optional: true
  },
  about: {
    type: String,
    label: "About me",
    optional: true,
    max: 255
  }
});

on the server I have a Meteor.method:
userProfileUpdate: function( userData ) {
    if( !userData ) {
      throw new Meteor.Error( 400, "No data provided for updating a user document" );
    }
    return Meteor.users.update( { _id: this.userId }, { $set: {
      "profile.first_name": userData.first_name,
      "profile.last_name": userData.last_name,
      "profile.about": userData.about,
    }});
  },

when I use Meteor.call('userProfileUpdate', { first_name: "" }); it deletes the entire field, so I no longer have profile.first_name, so profile: Object looks like this:
about: "this is me"
first_name: "Ronen"
picture: "1EtM6q643nXjwutYq"
__proto__: Object

PS: when I set userData to { first_name: null } it will set the value correctly in this case:
about: "this is me"
first_name: "Ronen"
last_name: null
picture: "1EtM6q643nXjwutYq"
__proto__: Object

PPS: if I set it to undefined, then the value stays as it was before.

I am closing old issues. If you still need help, please submit a new issue. The answer to this is to set the removeEmptyStrings option to false.


Accept user data

Accept note title text
Accept note body text
Save note to json file

Integrated prior to: commit 2f91f7cdbaf9937705c361ac209039564857052a .


$table should be protected against table having spaces in their name

My table is having spaces in the name, when using $table, Grafana reports a syntax error because back quote are missing in the table name.
Example My table should be replaced with My table

fixed in https://github.com/Vertamedia/clickhouse-grafana/pull/120


[EOSF-921] prevent open in browser on drop outside dropzone

Purpose
Prevent the dropped file from being loaded into the browser when dropped outside of the drop zone.
Summary of Changes
Added global dragover and drop listeners that prevent default action and effects if the target is not the drop zone.
Side Effects / Testing Notes
Make sure this works in all browsers.
Ticket
https://openscience.atlassian.net/browse/EOSF-921
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] testable and includes test(s)
[ ] changes described in CHANGELOG.md (don't have initial release yet)

https://travis-ci.org/jamescdavis/ember-osf-web/builds/309609567


upgrade_url nil safe

This fixes #12838

@mayoral please delete the branch if there's no reason to keep it. The normal flow is "click merge, click delete".


Support escape characters in JSON

Support escape character in pgmoneta_json_parse_string and pgmoneta_json_to_string. I think what we need is mostly "\"" and "\'" but it would be nice if we support the rest, if not too hard.
Note that for to_string this should only apply to FORMAT_JSON, for FORMAT_TEXT there's no need since strings are not wrapped in double quotation marks. Checkout string_to_string_cb for details.

Hey @ashu3103, let me know if you are interested in this.

Hey @ashu3103, let me know if you are interested in this.

Sure

@Jubilee101, I have started working on this,
Just one thing to confirm, we only need escape characters support for the values of the json fields right?
Or does it has to be implemented for the keys
Thanks

Did you check the spec - https://www.json.org/json-en.html ?

Did you check the spec - https://www.json.org/json-en.html ?

Very helpful, Thanks for sharing

@Jubilee101 Can you take this one

@ashu3103 Submit your PR, and Haoran will work with you on it

Just one thing to confirm, we only need escape characters support for the values of the json fields right?
Or does it has to be implemented for the keys as well

Hmm, I would prefer support for both key and value, unless we have problems with supporting keys, in that case let us know and we can discuss what's best.
It's mostly for handling escape characters when parsing a json string, you need to be able to identify them and parse each of them into corresponding character. In terms of printing the most important thing is to treat " specially -- print it out as \" to avoid ambiguity, and as for the rest just use your judgement to decide what to do. Note that it's just for printing, when a value is stored in a string and not printed out, it should always be one char per escape character.
We should probably reject string with " but not \" during parsing, as well as illegal usage of \.
Make sure that the json object can be converted to string and parsed back to the same json object -- with keys and values of exactly the same bytes. We use pgmoneta_json_clone a lot which depends on this. Let us know if there are problems achieving that.
Any questions or better ideas just let me know, thanks for working on this!

Note that it's just for printing, when a value is stored in a string and not printed out, it should always be one char per escape character.

Make sure that the json object can be converted to string and parsed back to the same json object -- with keys and values of exactly the same bytes. We use pgmoneta_json_clone a lot which depends on this. Let us know if there are problems achieving that.

Hmm, maybe we need a separate pgmoneta_json_serialize apart from pgmoenta_json_to_string to distinguish the case where we want to print out a string with simply sending it over network.

Just one thing to confirm, we only need escape characters support for the values of the json fields right?
Or does it has to be implemented for the keys as well

Hmm, I would prefer support for both key and value, unless we have problems with supporting keys, in that case let us know and we can discuss what's best.

Okay will implement for both :)

It's mostly for handling escape characters when parsing a json string, you need to be able to identify them and parse each of them into corresponding character. In terms of printing the most important thing is to treat " specially -- print it out as \" to avoid ambiguity, and as for the rest just use your judgement to decide what to do. Note that it's just for printing, when a value is stored in a string and not printed out, it should always be one char per escape character.

Yeah, I was also thinking along the same lines.

We should probably reject string with " but not \" during parsing, as well as illegal usage of \.

To cater the illegal usage, we can reject the string if it contains anything after '' which is not an escape character.

Make sure that the json object can be converted to string and parsed back to the same json object -- with keys and values of exactly the same bytes. We use pgmoneta_json_clone a lot which depends on this. Let us know if there are problems achieving that.

Sure!

Any questions or better ideas just let me know, thanks for working on this!
My initial draft PR is ready, I will push it after some testing and we can discuss it from there.

Note that it's just for printing, when a value is stored in a string and not printed out, it should always be one char per escape character.

Make sure that the json object can be converted to string and parsed back to the same json object -- with keys and values of exactly the same bytes. We use pgmoneta_json_clone a lot which depends on this. Let us know if there are problems achieving that.

Hmm, maybe we need a separate pgmoneta_json_serialize apart from pgmoenta_json_to_string to distinguish the case where we want to print out a string with simply sending it over network.
Or simpler, adding a FORMAT_JSON_SERIALIZE in pgmoenta_json_to_string would be a better idea.

Let me recon on it.

I will recon this idea and then we can discuss.

On second(?) thought you may not need it, as long as to_string and parsing have aligned logic, and the original string still has one byte per special character. I'm just tossing ideas around, feel free to decide what's actually necessary.