Links to daily test result reports broken

Describe the bug
Hyperlinks to the daily test result reports on https://testing.zephyrproject.org/daily_tests/index.html are broken and just return "Page not found."
To Reproduce
Steps to reproduce the behavior:

Open https://testing.zephyrproject.org
Click on any daily test result (e.g. zephyr-v3.5.0-4086-g0a8d03b95f84, Sun Jan 14 2024 22:53:14 GMT+0100 (Central European Standard Time))

Expected behavior
Redirected to test report when clicking a link.
Impact
Unable to view daily test reports.
Logs and console output
n/a
Environment (please complete the following information):
Tested on several browsers, but I don't think that this is relevant.

it has been like this since it was started, links are created automatically and data is uploaded after the fact, some dates will not have any test results. The whole thing will be reworked and curently being worked on.

@nashif I think the point of this issue is that none of the links seem to work - this doesn't sound right?

@nashif I think the point of this issue is that none of the links seem to work - this doesn't sound right?

none is not correct, take
https://testing.zephyrproject.org/daily_tests/zephyr-v2.5.0-2637-ga3469a049785/report/index.html
for example

removed links leading to nowhere for now until we have a new setup


ghc-options don't end up in test-suite sections

From a package.yaml file like this:
ghc-options: -Wall -fno-warn-name-shadowing

dependencies:
  - base == 4.*
  - generics-sop
  - safe

library: {}

tests:
  spec:
    main: "Spec.hs"
    ghc-options: "-threaded -O0 -pgmL markdown-unlit"
    source-dirs:
      - test
      - examples

    dependencies:
      - getopt-generics
      - hspec
      - hspec-expectations
      - silently

I would expect the test-suite section of the generated cabal file to contain a ghc-options field with the value -Wall -fno-warn-name-shadowing -threaded -O0 -pgmL markdown-unlit but it has none.

@soenkehahn I can't reproduce.  Given the package.yaml above I get the following cabal file:
-- This file has been generated from package.yaml by Cabalize.
name: foo
version: 0.0.0
build-type: Simple
cabal-version: >= 1.10

library
  hs-source-dirs: src
  exposed-modules:

  other-modules:

  build-depends:
      base == 4.*
    , generics-sop
    , safe
  ghc-options: -Wall -fno-warn-name-shadowing
  default-language: Haskell2010

test-suite spec
  type: exitcode-stdio-1.0
  hs-source-dirs: test, examples
  main-is: Spec.hs
  build-depends:
      base == 4.*
    , generics-sop
    , getopt-generics
    , hspec
    , hspec-expectations
    , safe
    , silently
  ghc-options: -Wall -fno-warn-name-shadowing -threaded -O0 -pgmL markdown-unlit
  default-language: Haskell2010

Sorry, I think I was diffing my files incorrectly.


Panics due to wndproc reentrancy

You can provoke a panic in the master branch by running the sample example, selecting File Open from the menu, then doing a dynamic monitor change (for example, unplugging an external monitor). This is because Windows requires the wndproc to be reentrant, and our implementation uses a (panicking) RefCell::borrow_mut() for safety.
There's a Reddit thread which goes into some more detail, including pointers to how winit handles this. There's also some discussion on the Zulip.
The upshot is that we want to refactor the way we handle interior mutability. In particular, druid-shell should handle it, so the WinHandler can be called mutably and not need its own interior mutability. There's also followup work to make the file dialog not hold long-lived borrows, but that's significantly lower priority.
This came up because we need a good way to plumb additional resources, particularly a factory for creating text layouts, to user methods.

I'm closing this, the panics are fully addressed in the muggle branch, and I'm also satisfied about safety. I'm going to open another issue on finishing the migration from WinHandler to WinCtx.


bundle of type transaction fails to create resources [enhancement]

tl;dr Bundles of type transaction sent to Hearth with a POST will fail. I realized bundle transactions may or may not be supported by servers, or I made a mistake but this does work on http://fhirtest.uhn.ca/baseDstu3/
Reproduction:

Generate synthea fake record.
Modify the type to be transaction.
Add POST method and URL to each resource under entry.
POST to Hearth.

Error: 'Specifying an id is not allowed on a create action'

Hey Richard, transactions should work, we have used them before in other work. It looks like it is rejecting this because an id field already exists on the resources, we don't support supplying your own ids when creating resources which is causing the issue - https://github.com/jembi/hearth/blob/master/lib/fhir/core.js#L358

I can see bundles for batching working, but not really bundles for transactions. The use case is preserving the references between resources in a bundle that is submitted to the server for creation. In order to do that it requires that there be IDs already. The server may replace every ID (as it should control its own namespace), but at least the references remain. Is there another way I can submit a transaction (not batch) bundle but retain the relationships between resources?


Feature: TM needs Internet connection to work

TMcommons loads the following modules from the network

devtools::source_url("https://raw.githubusercontent.com/holgerbrandl/datautils/v1.13/R/core_commons.R")
devtools::source_url("https://raw.githubusercontent.com/holgerbrandl/datautils/v1.13/R/ggplot_commons.R")
devtools::source_url("https://raw.githubusercontent.com/holgerbrandl/datautils/v1.13/R/datatable_commons.R")

This implies that TM requires a working Internet connection to run. We should either mention it as a requirement or bring the foreign packages in the docker Image !

If you think that internet should not be required, you could simply put the 3 files into ./commons and source them from there.

Well hard to tell, people are usually connected. I'll take some time to ask around and decide...

Switched to local mode with all libraries copied locally. Does not need network connection anymore to run.


How to evaluate on mipnerf360

Hi guys,
thanks for your contribution to the community. I wonder how to evaluate your codes on mipnerf360 scenes.
I ran the train script with arguments sketching from demo.sh, with --dataset 360 specified, and got an error msg:
Traceback (most recent call last):
  File "train.py", line 372, in <module>
    training(lp.extract(args), op.extract(args), pp.extract(args), args.test_iterations, args.save_iterations, args.checkpoint_iterations, args.start_checkpoint, args.debug_from)
  File "train.py", line 45, in training
    pairs = load_pairs_relation(opt.pair_path)
  File "/root/GaussianPro/utils/general_utils.py", line 262, in load_pairs_relation
    with open(path, 'r') as file:
FileNotFoundError: [Errno 2] No such file or directory: ''

It seems that the error is caused by missing pair relation meta files. How could I obtain it?
Thanks for your reply

Hello, thanks for your recognition! The images in the mipnerf360 dataset are unordered, so we need to confirm the neighboring images based on the co-visibility relationship of the sfm point cloud. We will release the code for this part along with the final version of the project soon.

您好，感谢您的认可！mipnerf360 数据集中的图像是无序的，因此我们需要根据 sfm 点云的共视性关系来确认相邻图像。我们将很快随项目的最终版本一起发布此部分的代码。

Really looking forward to the release of your final version!


Performance optimization: trivial count

I hereby agree to the terms of the CLA available at: [placeholder]
Changelog category (leave one):

Performance Improvement

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):

Support trivial count for StorageCnchMergeTree

The following queries will directly compute results from metadata on server w/o any help of workers:
-- Select count() without predicate
SELECT count() FROM t;
-- select count() with predicate only includes partition key expression
SELECT count() FROM t PREWHERE partition_key_expression0 WHERE partition_key_expression1;

Clickbench Q0 before:

Clickbench Q0 after:

Detailed description / Documentation draft:
...
If you are doing this for the first time, it's recommended to read the lightweight Contributing to ByConity Documentation guide first.

@hustnn pls help to review again. Failing test due to timeout cases.

Timeout case not related


Add player position and team abbreviation to the submit picks dropdown box

Title says it all.  This is now working in MLBPool2, see the code / commit here:
https://github.com/prcutler/mlbpool2/commit/e655ab3c867aa75d9b9f130994d4ddb949ce0ccb

Fixed in dev, needs to be tested:  ad94cd38a46bb98cac9064e07df463362cb83077

Pushed


Mark net.ipv4.ip_unprivileged_port_start as safe

/kind feature
Proposed Changes
net.ipv4.ip_unprivileged_port_start has been marked as safe in Kubernetes, so I propose to do the same.
Checklist

[X] I have read the contributing guidelines.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] My PR contains new or altered behavior to Kyverno and
[ ] I have read the PR documentation guide and followed the process including adding proof manifests to this PR.

Thanks for this PR, however as you were sending this I was also sending a complete refresh of the Kyverno PSS policies. Closing this as it is superseded by #241


Toggling plugin on/off

I'm new to atom, and Linter, but toggling individual Linter plugins on/off does not appear common. I'm not sure why that is but this is a request for easy linter-write-good toggling.
At present, it seems we must either disable Linter (which I assume means disabling all Linter plugins), or disable an individual Linter plugin in the Package manager. Seems a simpler way would exist.
If the ability to easily enable/disable this plugin at runtime won't be added then please expand the README to explain how we enable/disable this plugin, and how to know if it's enabled or disabled for the current document. Thanks :)

@philip You'll want to follow https://github.com/steelbrain/linter/issues/1165 where discussion about this is happening (and where the eventual change will have to be made).


Make sure it compiles with fno-exceptions

I made a quick-and-dirty fork with all exceptions removed if anyone is interested: https://github.com/whaleymar/reflect-cpp


Support VSCodium?

Hi. I am currently creating a list of programs supporting Anki. If your extension is in VSCodium marketplace, I would put it on the list. How do you think?
https://polyglotclub.com/wiki/Language/Multiple-languages/Culture/FLOSS-programs-with-Anki-support

I don't know what supporting VSCodium entails, do we need to do anything?

There:
https://github.com/VSCodium/vscodium/blob/master/DOCS.md#extensions-marketplace

OK, cool. Thanks for the mentioning. It would be great if it is in the VSCodium market as well.

Hi @jasonwilliams, as far as I can see, the easiest way would be to add your extension to the ovsx marketplace. You could integrate this into your release workflow. To do that, you would have to

make an account with the eclipse foundation (you will need this to sign the publisher agreement for ovsx)
sign the publisher agreement (probably a "don't sue us and don't distribute malware" kind of deal, but I haven't read it, and you need to decide if you're comfortable with that) (you will need this to create an API token)
sign in to open-vsx you can use your github account for this
create an API token
add the token to your ci secrets, and add boilerplate to your workflow, (probably optionally) install the ovsx package with npm i ovsx
lastly, add a call like npx ovsx publish -p $newtoken to your workflow

That should do it, I think. Would be great if you found the time, and thanks for working on this extension!

Sorry it took so long, how is this?
https://open-vsx.org/extension/jasew/anki

@jasonwilliams Looking good, thanks a lot!


Assets not loading on production

Hi there, great package!
It works very well on development but I'm having issues with it on a production environment.
When I visit site.com/web-logs, I see a blank page with these errors:

The interesting thing is that if I open these assets files in a new tab, they load correctly.
For some reasons they are not loaded from the main route /web-logs.
Any ideas?

Hello and thanks.
This is weird, Can you share more details, what version are you using, did you change default configs, and what are generated asset links?

Hey there.
Version: 1.2.2
I didn't change the configs and the generated asset links are these:
<script>
    window.backend_base_url = 'https://example.org/web-logs'
</script>
<script defer="defer" src="https://example.org/web-logs/assets/js/chunk-vendors.js" type="module"></script>
<script defer="defer" src="https://example.org/web-logs/assets/js/app.js" type="module"></script>
<link href="https://example.org/web-logs/assets/css/chunk-vendors.css" rel="stylesheet">
<link href="https://example.org/web-logs/assets/css/app.css" rel="stylesheet">
<script defer="defer" src="https://example.org/web-logs/assets/js/chunk-vendors-legacy.js" nomodule></script>
<script defer="defer" src="https://example.org/web-logs/assets/js/app-legacy.js" nomodule></script>

Well, Assuming you are brwosing over https (so no CORS error happen) It all seems OK.
The only tricky thing here that might be related to this, is that assets are being served by a route (web-logs/assets/{asset}). but the fact that they are being served normally when you open them in a new tab would assure it is working well ( right ? )

Exactly, they’re being loaded just fine in a new tab. May I ask why are the assets served by a route?
Maybe if there would be a command to publish the assets just like for most other Laravel packages, that would be more compatible in different environments?

Well it used to be publishable in v1.0.*, the problem with that approach is that you need to re-publish those assets every time we make an update in front-end. I personally find that annoying specially when package is unstable and there will be updates frequently. and also I see no benefits in making bundled assets publishable, I mean their not customizable, so what's the point of making them publishable?
For your specific problem I suggest trying to downgrade to 1.0.* and check if it is related to dynamic assets or not?

I had this problem locally, and it occured because I changed the access URL from web-logs to admin/web-logs. Assets where still trying to be accessed from web-logs path. Reverting to default URL makes it work fine.

@jpmurray thanks for feedback. Changing package URL will not change asset URLs and it is intended. but it should not break the app. have you tried updating to latest version?

@mojtabaahn I'm on 1.3.2. As soon as I change the URL, chunk-vendor.js, app.js, chunk-vendor.css and app.css gets 404'd.

@jpmurray whoops! that's what happen when I don't add tests and hope for the best :facepalm:. Pushed 1.3.3 to fix that. sorry for inconvenience and thanks for feedback again.

Working 💯 on 1.3.3! 👍


Tapping a ` should flip back to alphabetical input.

The current keyboard behavior doesn't switch back to an alphabetical keyboard when a single quote is tapped.

This can be tested in the master branch.


[Feature] Dbt retry as airflow retry mechanism

Description
dbt-core version 1.9.0 has been released few months ago. One of its new feature is the incremental strategy microbatch which will split the data to process into multiple batches and process it sequentially or in parallel. If some of those batch fails, we can use the command dbt-retry to process only failed batches.
The dbt retry command will re-executes the last dbt command from the node point of failure. If the previously executed dbt command was successful, retry will finish as no operation. More details, visit here.
I wonder whether we can replace the Airflow retry mechanism by the dbt retry ? I think would be useful for the incremental strategy microbatch (appears at dbt-core from 1.9.0) as it only needs to retry the failed batch
Use case/motivation
No response
Related issues
No response
Are you willing to submit a PR?

[x] Yes, I am willing to submit a PR!

hi @tuantran0910 , it seems like a great idea.
I am unsure if would be trivial to replace Airflow's retry mechanism directly with dbt retry given that those handlers would be defined at Airflow's task instance level. However, how about we introduce & expose retry mechanism as part of Cosmos operators and allows users to specify if they would like to have dbt retry being tried -- by introducing the logic here https://github.com/astronomer/astronomer-cosmos/blob/982093539daf4c37771381e258810395b816a918/cosmos/operators/local.py#L199

Thanks @pankajkoti for replying me, I have read the code in the file local.py and I think it's a good point if you can specify the ability of using the dbt retry in the method handle_exception_dbt_runner.
I also have one more proposal:

As my memory, we can determine whether a task is in a retry state by using the TaskInstance object's attributes, such as try_number (please correct me if this is wrong). So based on the pre-defined parameter retries of the task, we can determine the retry progress if try_number != 0 and try_number <= retries.
So in the retry progress, we can make use of dbt-retry in the task instead of running the as the same as the first run before failed.

For e.g:
def check_retry_state(**kwargs):
    # Get TaskInstance from the context
    task_instance = kwargs['ti']

    # Check the current try number
    current_try_number = task_instance.try_number
    max_retries = task_instance.task.retries

    logging.info(f"Task is on attempt {current_try_number}/{max_retries + 1}")

    if current_try_number > 1:
        logging.info("Task has entered retry progress.")

        # This is where dbt retry happens

    else:
        logging.info("This is the first attempt.")

@dag(schedule_interval=None, start_date=days_ago(1), catchup=False)
def retry_check_dag():
    check_retry = PythonOperator(
        task_id="check_retry_state",
        python_callable=check_retry_state,
        provide_context=True,
    )

This is my thoughts about the dbt retry. Looking forward to receiving your replies.

hi @tuantran0910 , yes, you're right. However, I am still not sure how trivial it would be to intercept try_number from the TaskInstance and then even if we intercept the successive steps that need to be handled for updating the Airflow database metadata with the retries. If you're trying something that could work, please definitely open a PR and we would be happy to seek reviews further (maybe from Airflow devs too if needed)


I compared the flash_attn_func with torch.nn.functional.scaled_dot_product_attention and found that the results were not as expected. The scaled_dot_product_attention was actually faster.

I compared the flash_attn_func with torch.nn.functional.scaled_dot_product_attention and found that the results were not as expected. The scaled_dot_product_attention was actually faster.
r = []
for _ in range(100000):
    q = torch.randn(batch_size, seqlen_q, nheads, d, device=device, dtype=dtype, requires_grad=True)
    k = torch.randn(batch_size, seqlen_k, nheads_kv, d, device=device, dtype=dtype, requires_grad=True)
    v = torch.randn(batch_size, seqlen_k, nheads_kv, d, device=device, dtype=dtype, requires_grad=True)
    t1 = time.time()
    out, _ = flash_attn_func(q, k, v)
    t2 = time.time()
    r.append(t2 - t1)
print("max", max(r))  #
print("mean", sum(r)/len(r)) #  result is 2.6926e-05

r = []
for _ in range(100000):
    q = torch.randn(batch_size, seqlen_q, nheads, d, device=device, dtype=dtype, requires_grad=True)
    k = torch.randn(batch_size, seqlen_k, nheads_kv, d, device=device, dtype=dtype, requires_grad=True)
    v = torch.randn(batch_size, seqlen_k, nheads_kv, d, device=device, dtype=dtype, requires_grad=True)
    q, k, v = map(lambda t: einops.rearrange(t, 'B S H D -> B H S D'), (q, k, v))
    t1 = time.time()
    out = torch.nn.functional.scaled_dot_product_attention(q, k, v)
    t2 = time.time()
    r.append(t2 - t1)
print("max", max(r))  #
print("mean", sum(r)/len(r)) #  result is 1.848e-05

complete code:
def test():
    import torch
    import time
    import einops
    from flash_attn_interface import flash_attn_func
    device = "cuda"
    dtype = torch.float16
    # set seed
    torch.random.manual_seed(0)
    batch_size = 9
    nheads = 48
    nheads_kv = 48
    d = 64
    seqlen_q = 256
    seqlen_k = 256
    r = []
    for _ in range(100000):
        q = torch.randn(batch_size, seqlen_q, nheads, d, device=device, dtype=dtype, requires_grad=True)
        k = torch.randn(batch_size, seqlen_k, nheads_kv, d, device=device, dtype=dtype, requires_grad=True)
        v = torch.randn(batch_size, seqlen_k, nheads_kv, d, device=device, dtype=dtype, requires_grad=True)

        t1 = time.time()
        out, lse = flash_attn_func(q, k, v)
        t2 = time.time()
        #q, k, v = map(lambda t: einops.rearrange(t, 'B S H D -> B H S D'), (q, k, v))
        #out = torch.nn.functional.scaled_dot_product_attention(q, k, v)
        # out = einops.rearrange(out, 'B H S D -> B S H D')
        r.append(t2 - t1)

    print("max", max(r))
    print("mean", sum(r)/len(r))
    return

Please look at existing issues on numerical error.
The right thing to compare is (flashattn in fp16 - reference attn in fp32) vs (reference attn in fp16 - reference attn in fp32).

Please look at existing issues on numerical error. The right thing to compare is (flashattn in fp16 - reference attn in fp32) vs (reference attn in fp16 - reference attn in fp32).

Thanks reply, How should I do if I want to know which  one is faster?

https://pytorch.org/tutorials/recipes/recipes/benchmark.html

torch benchmark shows scaled_dot_product_attention is faster.
torch.nn.functional.scaled_dot_product_attention is 40.81 us

<torch.utils.benchmark.utils.common.Measurement object at 0x7f8d0d767950>
torch_fattn(q, k, v)
setup:
from main import torch_fattn
device = "cuda"
dtype = torch.float16
torch.random.manual_seed(0)
batch_size = 9
nheads = 48
nheads_kv = 48
d = 64
seqlen_q = 256
seqlen_k = 256
q = torch.randn(batch_size, nheads, seqlen_q, d, device=device, dtype=dtype, requires_grad=True)
k = torch.randn(batch_size, nheads, seqlen_k, d, device=device, dtype=dtype, requires_grad=True)
v = torch.randn(batch_size, nheads, seqlen_k, d, device=device, dtype=dtype, requires_grad=True)
40.81 us
1 measurement, 50000 runs , 1 thread

flash_attn3 is 43.72 us

<torch.utils.benchmark.utils.common.Measurement object at 0x7f8d0d9669d0>
fattn3(q, k, v)
setup:
from main import fattn3
device = "cuda"
dtype = torch.float16
torch.random.manual_seed(0)
batch_size = 9
nheads = 48
nheads_kv = 48 #if mha_type == "mha" else (2 if mha_type == "gqa" else 1)
d = 64
seqlen_q = 256
seqlen_k = 256
q = torch.randn(batch_size, seqlen_q, nheads, d, device=device, dtype=dtype, requires_grad=True)
k = torch.randn(batch_size, seqlen_k, nheads_kv, d, device=device, dtype=dtype, requires_grad=True)
v = torch.randn(batch_size, seqlen_k, nheads_kv, d, device=device, dtype=dtype, requires_grad=True)
43.72 us
1 measurement, 50000 runs , 1 thread

torch benchmark shows scaled_dot_product_attention is faster.
torch.nn.functional.scaled_dot_product_attention is 40.81 us

<torch.utils.benchmark.utils.common.Measurement object at 0x7f8d0d767950>
torch_fattn(q, k, v)
setup:
from main import torch_fattn
device = "cuda"
dtype = torch.float16
torch.random.manual_seed(0)
batch_size = 9
nheads = 48
nheads_kv = 48
d = 64
seqlen_q = 256
seqlen_k = 256
q = torch.randn(batch_size, nheads, seqlen_q, d, device=device, dtype=dtype, requires_grad=True)
k = torch.randn(batch_size, nheads, seqlen_k, d, device=device, dtype=dtype, requires_grad=True)
v = torch.randn(batch_size, nheads, seqlen_k, d, device=device, dtype=dtype, requires_grad=True)
40.81 us
1 measurement, 50000 runs , 1 thread

flash_attn3 is 43.72 us

<torch.utils.benchmark.utils.common.Measurement object at 0x7f8d0d9669d0>
fattn3(q, k, v)
setup:
from main import fattn3
device = "cuda"
dtype = torch.float16
torch.random.manual_seed(0)
batch_size = 9
nheads = 48
nheads_kv = 48 #if mha_type == "mha" else (2 if mha_type == "gqa" else 1)
d = 64
seqlen_q = 256
seqlen_k = 256
q = torch.randn(batch_size, seqlen_q, nheads, d, device=device, dtype=dtype, requires_grad=True)
k = torch.randn(batch_size, seqlen_k, nheads_kv, d, device=device, dtype=dtype, requires_grad=True)
v = torch.randn(batch_size, seqlen_k, nheads_kv, d, device=device, dtype=dtype, requires_grad=True)
43.72 us
1 measurement, 50000 runs , 1 thread

test code:
def fattn3(q, k, v):
    out, lse = flash_attn_func(q, k, v)
    return out

def torch_fattn(q, k, v):
    return torch.nn.functional.scaled_dot_product_attention(q, k, v)

I think you should synchronize, since gpu and cpu are not naturally being so. Something like:
sync() # wait for all other kernels to finish
start timing
run
sync() # wait for finishing the execution of the current kernel
end timing

I think you should synchronize, since gpu and cpu are not naturally being so. Something like:
sync() # wait for all other kernels to finish
start timing
run
sync() # wait for finishing the execution of the current kernel
end timing

thank for you reply.
pytorch benchmark manages  synchronining CUDA devices.
https://pytorch.org/tutorials/recipes/recipes/benchmark.html


Support italic

Have you read the readme ?
bold

Using one or two asterisks would produce some bold text. *this* or **this** will produce identical text, preserving the semantic original meaning of the *, showing up consistently bold in every platform.

underline

Following same cross platform consistency reason, using one or more underscores will produce an underlined text. _this_ and __this__ are equivalent, and it's possible combine both bold and underline at once via *_this_* or _*that*_.

Italic wouldn't exist so it makes no sense to have it here.
This is not a 100% Markdown replacement, this is a convenient way to show cross platform similar markdown in terminal.


Rename --host to --fireStoreHost

address https://github.com/apache/beam/pull/27256#issuecomment-1745564522

This option has a risk of conflicting with other PipelineOptions classes (not to mention non-PipelineOptions arguments)

R: @kellen @SabaSathya
Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

Java_GCP_IO_Direct passed on Jenkins / and on first commit. second commit does not involve code change


Reduce JS bundle sizes

A start on bundle optimization, this removes the localization file from moment and kills cheerio in the client build. There are seemingly other dependencies that shouldn't be directly included in this.
@orta pointed out that graphql is being included in our client bundle as well which it probably shouldn't be.... lots more to do here, but I'm just kicking it off.

Nice! ✨
Have you saved a before picture of all the deps, for posterity sake?


Bug: Speaker is able to delete their presentation after it was approved

I don't remember if this is actually intended behaviour


Remove instantiation from block for Issue 975

We removed instantiation from statementOrDeclaration in grammar

Fixes #975

Here is a PR for p4c that makes this change to the parser.  It appears that the only test cases that fail are two that check for almost nothing except whether an instantiation inside of a block is allowed or not, and they could easily be updated for this change if we think it is a good spec change: https://github.com/p4lang/p4c/pull/3014

That is true, but the error messages you get are much better if you don't make the change.
So we should probably make the change in the spec but leave the compiler unchanged and add a comment explaining why the grammar is more permissive.

I think we can merge this right away.

Created this p4c issue to add a comment to its grammar on why this unnecessary grammar production rule "statementOrDeclaration -> instantiation" is useful to keep in the compiler, i.e. for a clearer error message when an instantiation is done inside of a block: https://github.com/p4lang/p4c/pull/3016


WinRAR shouldn't be on the boycott list. 7-Zip should.

WinRAR is currently on the list of companies/programs you should boycott.
However, it doesn't make much sense to me as it is a German company based in Berlin.
7-Zip however is developed by a Russian developer and should therefor be on the list, not WinRAR.

Are you suggesting to boycott a free an open-source project? Let's also boycott nginx then

open source should NOT be thought belonging to any region

Makes sense but one of the first things being said in the README is to:

Get rid of Russian software and dependencies

So what do you consider Russian software? A software that's in the Russian language or a software developed by a Russian?
Where do you draw the line? When is it considered Russian?
Anyhow. Even if you disagree it doesn't change the fact that WinRAR itself has nothing to do with Russia.
I think it would only be fair to not include it on the list just because the OG dev is a Russian.
It is the same reason you are arguing that 7zip should not be included.

Actually, I agree that WinRAR shouldn't be on the list. It's source code is controlled by a German company, so it probably won't do harm to any person.
7-Zip's source code and (or) binary is included by many open source projects. And Russian developers also participate in many projects. We can't boycott them all, which means "Russian developer" is not a proper reason.

We can't boycott them all, which means "Russian developer" is not a proper reason.

100%.  Not every Russian supports what's currently going on. We can't put them all into the same drawer.

Let us call @vshymanskyy and ping @ghaiklor (he is better to know because he is one of main responsible for the «Stand with Ukraine» repository) and @lyubomyr-shaydariv. Let's see what their decision.

To clarify, I do not support the war in any way or form. But neither do I support the thought of just boycotting everything that is made by a Russian, because not every Russian supports the war. As I have stated above:

We can't put them all into the same drawer

However, the reason I opened this issue is because if you really just want to boycott everything that was made by a Russian individual, then include 7-Zip in your list because it was in fact made by a Russian. Don't contradict yourself.
Quote from the README:

Get rid of Russian software and dependencies

I personally think that it is a utterly stupid approach but I am not the one to judge. 🤷🏻
And lastly: WinRAR still has nothing to do with this. 😂

While the owner and the collaborators still don't answer, you can calmly PeaZip as a safe alternative. PeaZip's developer Giorgio Tani is from Italy. It's available on all platforms.

I'm kind of (not) surprised that the title of the issue says both "WinRAR shouldn't be on the boycott list." and "7-Zip should.". The latter is open-source and free, whilst the former is a commercial product (correct me if I'm wrong for these two). I have no idea how much affiliated WinRAR are the Roshals are nowadays, but if this product is still used to sponsor terrorussia in whatever way, then it's in the right place. The OP sounds pretty much in terrorussian noisy narratives fashion too: noise, responsibility transfer right in the title of the issue, missing the explanation how software or services can get excluded from the list, saying "utterly stupid" etc. Please read these last two lines from the very below of the list:

L180: The list is still being verified. There may be false positives, please create issues to fix them
L181: Companies will be moved to allow list if there's compelling evidence of them suspending operations in Russia

The last phrase (for whatever reason by whoever put WinRAR into it) implies that WinRAR makes business in terrorussia. Merely make an evidence it does not. That's it.
(P.S. WinRAR sucks.)

I'm kind of (not) surprised that the title of the issue says both "WinRAR shouldn't be on the boycott list." and "7-Zip should."

Either put "everything Russian" on your list or don't, but don't play favorites. (Nr. 7)
That's the only reason why I named the issue this. Maybe I should have been clearer, sorry for that.

The latter is open-source and free, whilst the former is a commercial product (correct me if I'm wrong for these two).

That's correct. But please update the description if OSS should not be included on the list.
As I said above, I think you should either include everything that's Russian (absolutely stupid approach in my opinion) or don't. But please make a decision and don't play favorites, you're sending the wrong signals here.

if this product is still used to sponsor terrorussia in whatever way, then it's in the right place.

 You make it sound like all of WinRAR's revenue is being used to sponsor a war.
Where is the evidence? As a German company they pay German taxes. I'm shocked but I have honestly kind of expected this.,,

The OP sounds pretty much in terrorussian noisy narratives fashion too: noise

That's honestly concerns me and you clearly haven't read what I said above.
I explicitly said that I don't support the war but that answer was to be expected as this is a pretty heated topic.
When maintaining a "political" repo like this you should keep a clear mind/head and look at things from a neutral perspective.
Do not make up assumptions and stop accusing people in that regard.

Responsibility transfer right in the title of the issue, missing the explanation how software or services can get excluded from the list, saying "utterly stupid" etc.

I don't see a problem with either the title of the issue nor my explanation. I gave all the information someone should need to be able to base their decisions off of it or at least figure out what's going on/it is about, it's straight to the point. Instead of just criticizing me you could have provided some feedback, all you're doing it literally what you criticized me for, transfer of responsibility.

The last phrase (for whatever reason by whoever put WinRAR into it) implies that WinRAR makes business in terrorussia. Merely make an evidence it does not. That's it.

While I understand that you want to to have some evidence, you also clearly seem to have no evidence that WinRAR does actively sponsor the war. If so, feel free to drop me a link. Don't expect others to deliver evidence when you make bald claims like that but don't deliver evidence yourself.

(P.S. WinRAR sucks.)

This is just clear fanboy-ism over a different product. As I said in Nr. 1, "don't play favorites".
Especially not when maintaining a repository like this.

And yes, I do think this is "utterly stupid". You just put everything with a remote connection to Russia in one massive drawer. Are you going to ban every company that has/has had Russian employees? Would my company be banned because we have a Russian employee on our team? What kind of approach is this? While I do understand your frustrations you have to realize that not every human is the same and there are Russians that do not support the war. You should always keep a clear mind and look at things from a neutral perspective, especially if you're the maintainer of a repository like this. (Nr. 4)
And to be clear, I am using 7-Zip over WinRAR myself, yet I still don't think it should be on the list.

WinRAR was removed, by the way

Not every Russian supports what's currently going on. We can't put them all into the same drawer.

This here is a typical whitewashing that the ruscist propaganda uses. Even if something is possible and there's like 0.001% matching cases, it doesn't matter because it doesn't change anything. Such statements only help the terrorists. There's shared responsibility, it touches everybody by definition.
Here's a quote by A.R. Moxon that describes this quite precisely:
“Historians have a word for Germans who joined the Nazi party, not because they hated Jews, but out of a hope for restored patriotism, or a sense of economic anxiety, or a hope to preserve their religious values, or dislike of their opponents, or raw political opportunism, or convenience, or ignorance, or greed.
That word is "Nazi." Nobody cares about their motives anymore.”

Not every Russian supports what's currently going on. We can't put them all into the same drawer.

This here is a typical whitewashing that the ruscist propaganda uses. Even if something is possible and there's like 0.001% matching cases, it doesn't matter because it doesn't change anything. Such statements only help the terrorists. There's shared responsibility, it touches everybody by definition.
Here's a quote by A.R. Moxon that describes this quite precisely:
“Historians have a word for Germans who joined the Nazi party, not because they hated Jews, but out of a hope for restored patriotism, or a sense of economic anxiety, or a hope to preserve their religious values, or dislike of their opponents, or raw political opportunism, or convenience, or ignorance, or greed.
That word is "Nazi." Nobody cares about their motives anymore.”

According to some reports, Russians will be jailed or persecuted for anti-war speech.
Politics and war are always difficult and disgusting, especially in dictatorships.
It's hard to find a solution that's fair to everyone.


Add hooks, routes, pages and test

Add hooks (change class App.js to function)
Add routes and pages to this
Add test (jest) and babel, use it type npm test on the terminal.
Issue

STATUS : CHANGES REQUESTED 🔴 ♻
Hello @vichuge 👋🏾 👋🏾 congratulations on making it this far 😄 .
Highlights

Your linter checks pass ✔
The tests you have submitted are passing ✔

To improve

[ ] You have a proptype error in Button.js. Kindly fix this. Check out the screenshot below ⬇

[ ] All functions in calculate.js file should be covered with unit tests. You have only tested for +,-,/ kindly add tests for the other functions as well.
[ ] Ensure that all your functionalities in your app are tested using React Testing Library, @testing-library/react, see the screenshot from Pathwright. You have only testes for button.js, buttonpanel.js, calculate.js display.js,operate.js add tests for the remaining functionalities. Add more tests for buttonpanel.js too.
[ ] Ensure that there are snapshot tests that are checking if the main components i.e, at least Home, Calculator, and Quote, from Math Magicians mockups, are displayed. You only added snapshot tests for display only add tests for the other components as well.

That's all 😄, kindly submit another review when done
If you need any clarification, kindly post your comment here and tag me @mimipeshy and will be glad to help
Regards,
Peris Ndanu


[WIP] Add distributed model executor abstraction

This PR pulls out the distributed worker manager part of LLMEngine to a new set of classes, namely ModelExecutors. This can benefit us in separating the code for different hardware backends, as well as enabling support of single-box distributed execution without ray. Specifically, this PR implements 4 types of model executors:

SingleGPUModelExecutor: Previous code path when not using ray.
SingleGPUModelExecutorAsync:  SingleGPUModelExecutor + several async function calls.
RayDistributedModelExecutor: Previous distributed implementation with ray.
RayDistributedModelExecutorAsync: RayDistributedModelExecutor + several async function calls.

TODOs after this PR

[ ] Separate neuron's code path to a separate model executor.
[ ] Rename directory name model_executor -> model.
[ ] Add multi-processing based distributed execution (#2898).

Thanks @zhuohan123, this is the kind of thing I had in mind in this comment https://github.com/vllm-project/vllm/pull/2898#issuecomment-1965522499! If you like I can rework #2898 to plug into your abstraction.

Thanks @zhuohan123, this is the kind of thing I had in mind in this comment #2898 (comment)! If you like I can rework #2898 to plug into your abstraction.

Yes, #2898 is the exact next PR I'm thinking about after this PR. This PR is still WIP and I might change things here and there. Let me ping you once this PR is finalized :)

@zhuohan123 sounds great... yeah I meant once you were finished with this, no rush at all!

@Yard1 Just FYI, one change that I made in this PR is that I moved PlacementGroup into the ParallelConfig. Please let me know if this is not a good idea.

I think it should be fine

@zhuohan123 this looks great thanks! Related to @WoosukKwon's comment above though, it feels like there's a fair amount of duplication of logic between the implementations which would need to be updated in multiple places any time it changes.
Especially when also thinking about how to rework the multiprocessing abstraction from https://github.com/vllm-project/vllm/pull/2898.
I think that could be addressed with another abstraction layer beneath your ModelExecutor one covering a subset of the implementations - specifically all of the current GPU-process based ones, but not neuron. WDYT? I'd be happy to show what I mean in another branch.
I agree with @Yard1 that it would be good to include an abstract base class.

@njhill @WoosukKwon Regarding duplicated code. I think I have tried my best to pull out shared codes between the two executors. How about we merge this PR first, and then see whether we can further reduce code logic duplication?

@WoosukKwon This PR is ready for review.

Hi I don't have the context of this pr, but how can we enable SingleGPUModelRunner path?

Hi I don't have the context of this pr, but how can we enable SingleGPUModelRunner path?

By default if you use 1 GPU you will go to that path.


Do all string comparisons in lowercase.

When force lowercase tags setting is disabled, the tag URLs may be generated both in lowercase, or mixed-case (as the tag defined).
So, the URL pattern field should ignore the case differences whenever it is possible, to avoid usages like the one below:

It would be nice to have any testing, maybe change casing in the URL(visit "/X") or here:
https://github.com/discourse/discourse-preset-topic-composer/blob/bcb49f2d485eddbfaba78ebcf8874e3310c0db11/spec/system/preset_topic_composer_spec.rb#L49
The best would be to add a new URL on that snippet and a new test case similar to this:
https://github.com/discourse/discourse-preset-topic-composer/blob/bcb49f2d485eddbfaba78ebcf8874e3310c0db11/spec/system/preset_topic_composer_spec.rb#L228-L234
And doing a new case it "ignores casing"
 it "should add is-selected class to the button when in matching url and ignores casing" do
   visit "/TAG/#{tag1.name}"
   PageObjects::Components::PresetTopicDropdown.new.button.click

   button = find(:css, ".is-selected")
   expect(button).to have_text("New Question2")
 end


initialize k8s client access appropriately when a cluster exists

What type of PR is this?
/kind bug

What this PR does / why we need it:
ssia.
Currently, when a cluster already exists, initKubernetesAccessClients won't be run.
initKubernetesAccessClients is mandatory to be run to make *cluster return KubernetesRestConfig, and consequently now KubernetesRestConfig always results in nil in such case.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Fix a bug which Kwok support doesn't work expectedly when a cluster already exists.

Additional documentation e.g., Usage docs, etc.:

/retest

@sanposhiho thanks for the PR.. Seems like the same bug exists in the kind provider as well . Would you mind taking care of that as well?

@harshanarayana Done.

Thanks very much @sanposhiho


Bar Chart: Display without grouping is confusing

Hello again,
This may be a feature rather than a bug, but it confused me for quite some time, so I'll share it anyway:
If I have a bar chart, in my case a timeline with one bar for each hour, and I select a variable to group by, it looks good.

If I do not group by any variable, I only get the data that was marked in yellow in the graphic above.

Why? What I would expect to see is either

nothing at all
a notice that I need to select something to group by
the dashboard somehow magically knowing that "connected router" is the variable to generally group by, and then displaying the sum over that variable as one large bar without differentiating into different colours.

Further comment: Actually, the display is not always good when grouping is on.
Especially when I have such a timeline,  I have 24 rows per Connected_Router. The Bar chart seems to cut off everything after 100 rows, which means the chart will be incomplete in a lot of cases. Can the cut-off value be changed?
With most of my use cases, cutting it off when the table display would also be cut off (1000 rows) would be fine, but in some cases, I need even more rows to go into the chart.

Hi @JoridK ,
Good points! I completely agree with your third point that this should be the expected behaviour:
the dashboard somehow magically knowing that "connected router" is the variable to generally group by, and then displaying the sum over that variable as one large bar without differentiating into different colours.
This is something I can look into for the next release, thanks for pointing this out.
The cut off points are currently hardcoded as to avoid browser crashes, but I guess the 100 value for the bar chart is a bit on the conservative side. I think pushing it up to 1000 shouldn't create too many issues. Let me fix that for the next release also.
Thanks for all your feedback so far. Please keep them coming as it helps me improve NeoDash!
Niels

Is this still relevant @nielsdejong ?


Issue loading llama.dll with Windows Isolation Containers

When using windows isolation containers (like in SQL Server Machine Learning Services) the following line of code from llama_cpp.py throws an error (Win Error 5) when calling
def _load_shared_library(lib_base_name: str):
_base_path = pathlib.Path(file).parent.resolve()
runs using administrative  privileges but fails when called inside a windows isolation container.
changing the line to
_base_path = pathlib.Path(os.path.abspath(os.path.dirname(file)))
resolves the issue on windows. I believe it would work in a cross-platform way, but I don't have the means to test it right now. Please consider patching llama_cpp.py. Thanks!

That would be awesome. Thanks!

@johnnyainsworth pushed a fix in v0.2.5, can you test that out?

Works for me. Thanks!


it doesn't work with local audio files,

Hello everybody,
I'm working with this plugin on both remote and local audio files, So I propose to my user to download the file if he loves it, but for file downloaded locally it doesn't work, the play button appears on grey whereas the remote tracks are in black colors,
I take your same tracks arrray, I just added my local file,
    this.myTracks = [{
      src: 'https://archive.org/download/JM2013-10-05.flac16/V0/jm2013-10-05-t12-MP3-V0.mp3',
      artist: 'John Mayer',
      title: 'Why Georgia',
      art: 'img/johnmayer.jpg',
      preload: 'metadata' // tell the plugin to preload metadata such as duration for this track, set to 'none' to turn off
    },
    {
      src: 'https://archive.org/download/JM2013-10-05.flac16/V0/jm2013-10-05-t30-MP3-V0.mp3',
      artist: 'John Mayer',
      title: 'Who Says',
      art: 'img/johnmayer.jpg',
      preload: 'metadata' // tell the plugin to preload metadata such as duration for this track,  set to 'none' to turn off
    },
    {
      src: this.file.externalRootDirectory+"AwesomePlaces/file.mp3",
      artist: 'Karim Garali',
      title: 'Allhomma yasser ya rabb',
      art: 'img/johnmayer.jpg',
      preload: 'metadata' // tell the plugin to preload metadata such as duration for this track,  set to 'none' to turn off
    }]

at the view, I've printed the src to verify my path and it's OK:

{{file.externalRootDirectory+"AwesomePlaces/file.mp3"}}

output: file:///storage/emulated/0/AwesomePlaces/file.mp3"

All what attach me to your plugin is the progress bar option, otherwise, I will be moved to another solution, So Thank you for this Job and I hope you answer me about my issue,
Can I play file locally stored with your plugin ?

Yes, it works with a local file. Is it a permission issue? Try play with different path listed here: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/


[BUG] Wrong type inference when variable is shadowed as another type

Describe the bug
When a variable is shadowed by another variable with the same name and different type, the compiler still refers to the old variable.
Code to reproduce the behaviour:
import numpy as np
def g(double[:] x):
    x = np.asarray(x, dtype = np.intc)
    cdef int[:] y
    y = x

It complains that Different base types for memoryviews (double, int)
But the following code compiles.
import numpy as np
def g(double[:] x):
    z = np.asarray(x, dtype = np.intc)
    cdef int[:] y
    y = z

Expected behaviour
Expect the compiler recognizes the shadowed variable correctly.
OS
Windows
Python version
3.10.10
Cython version
3.0.0.b2
Additional context
No response

In your failing example, you are statically declaring the type of the variable x as double[:] and then try to assign it to a variable with the static type int[:]. This is not valid. In fact, the assignment of the NumPy array to x will already fail because it has the wrong dtype for the target variable x.
The bug is in your code, not in Cython.

We don't support the concept of "shadowing" a variable

It's not so much that "we don't support the concept". Rather, it would run against user expectations if a variable is statically typed and suddenly starts accepting arbitrary other types instead. It rightfully is a compile time error if users accidentally do that. A variable either has a statically defined type or not. Declaring such a static type explicitly opts out of Python's dynamic typing semantics. You can't have both.


airflow: add possibility to force direct execution based on env variable

This adds possibility of using direct execution method on Airflow listener when the existence of non-sqlalchemy based Airflow event mechanism is confirmed. This happens by being on Airflow 2.6 or existence of env-variable OPENLINEAGE_AIRFLOW_ENABLE_DIRECT_EXECUTION

@tatiana I don't think it's something automatically testable without putting orders of magnitude of effort more in testing 🙂  or at least having very good idea how to simulate that. At least not unit testing, as this behavior is the result of some pretty complex fork and thread level issues...
However, I've tested it manually on different versions... it works then.


Support trailing comparison symbols

This is a very simple idea:

1.0.0+ same as >= 1.0.0
1.0.0- same as < 1.0.0
1.0.0~ same as ~> 1.0.0

It just allows version constraints to be specified in a bit more natural syntax.

Just the four basic, standard comparison operators, please. No need to learn anything else.

Appreciate the thought, @trans, but as @jba says, this whole area is fraught enough as-is. Sorry 😢


docs(core): Add upgrade to v0.51

Which issue does this PR close?

None
Rationale for this change
Add upgrade guide for user
What changes are included in this PR?
As title
Are there any user-facing changes?

Thank you @tisonkun for the review, merging..


#8      _invoke2.<anonymous closure> (dart:ui/hooks.dart:205:15)
#12     _invoke2 (dart:ui/hooks.dart:204:10)
#13     _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:42:5)
#14     _Channel.push (dart:ui/channel_buffers.dart:132:31)
#15     ChannelBuffers.push (dart:ui/channel_buffers.dart:329:17)
#16     PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:544:22)
#17     _dispatchPlatformMessage (dart:ui/hooks.dart:92:31)
  (elided 5 frames from class _AssertionError and dart:async)
====================================================================================================

The Flutter doctor output:
[✓] Flutter (Channel beta, 2.5.0, on Debian GNU/Linux 11 (bullseye) 5.10.0-8-amd64, locale es_ES.UTF-8)
  • Flutter version 2.5.0 at /home/nevian/Aplicaciones/flutter
  • Upstream repository https://github.com/flutter/flutter.git
  • Framework revision 4cc385b4b8 (hace 8 días), 2021-09-07 23:01:49 -0700
  • Engine revision f0826da7ef
  • Dart version 2.14.0
                                                                                [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
  • Android SDK at /home/nevian/Android/Sdk
  • Platform android-30, build-tools 30.0.3
  • Java binary at: /home/nevian/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203.7621141/jre/bin/java
  • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
  • All Android licenses accepted.

[✓] Chrome - develop for the web
  • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
  • Debian clang version 11.0.1-2
  • cmake version 3.18.4
  • ninja version 1.10.1
  • pkg-config version 0.29.2

[✓] Android Studio (version 2020.3)
  • Android Studio at /home/nevian/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203.7621141
  • Flutter plugin version 59.0.2
  • Dart plugin version 203.8292
  • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] IntelliJ IDEA Community Edition (version 2021.2)
  • IntelliJ at /home/nevian/.local/share/JetBrains/Toolbox/apps/IDEA-C/ch-0/212.5284.40
  • Flutter plugin version 60.1.4
  • Dart plugin version 212.5284.31

[✓] Connected device (2 available)
  • Linux (desktop) • linux  • linux-x64      • Debian GNU/Linux 11 (bullseye) 5.10.0-8-amd64
  • Chrome (web)    • chrome • web-javascript • Google Chrome 93.0.4577.82

• No issues found!

Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key event being sent doesn't properly set its modifier flags. This was the event: RawKeyDownEvent#540ca(logicalKey: LogicalKeyboardKey#0010a(keyId: "0x10000010a", keyLabel: "Num Lock", debugName: "Num Lock"), physicalKey: PhysicalKeyboardKey#70053(usbHidUsage: "0x00070053", debugName: "Num Lock")) and its data: RawKeyEventDataMacOs#c5d02(characters: , charactersIgnoringModifiers: , keyCode: 71, modifiers: 10486016)
'package:flutter/src/services/raw_keyboard.dart':
Failed assertion: line 668 pos 7: 'event is! RawKeyDownEvent || _keysPressed.isNotEmpty'

on Mac and Android

OP has said that this exception is not harmful, but in my case the text field widget stops working (does not accept further character input) many times.
Here are my details. (Tested just the Linux Desktop build)
[✓] Flutter (Channel stable, 2.5.0, on Ubuntu 20.04.3 LTS 5.4.0-88-generic, locale en_US.UTF-8)
    • Flutter version 2.5.0 at /home/murat/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4cc385b4b8 (3 weeks ago), 2021-09-07 23:01:49 -0700
    • Engine revision f0826da7ef
    • Dart version 2.14.0

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /home/murat/Android/Sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /snap/android-studio/current/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
    • cmake version 3.10.2
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[✓] Android Studio
    • Android Studio at /snap/android-studio/current/android-studio/
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /snap/android-studio/current/android-studio/
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code
    • VS Code at /snap/code/current
    • Flutter extension version 3.26.0

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Ubuntu 20.04.3 LTS 5.4.0-88-generic
    • Chrome (web)    • chrome • web-javascript • Google Chrome 94.0.4606.61

• No issues found!

Upgraded to 2.5.1 and the problem still persists. Also caught the non working state of the widget. I'm getting the exception below no matter what I press (after the original AltGr exception).
════════ Exception caught by services library ══════════════════════════════════
A KeyUpEvent is dispatched, but the state shows that the physical key is pressed on a different logical key. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in `HardwareKeyboard`. This was the event: KeyUpEvent#b54f6(physicalKey: PhysicalKeyboardKey#70014(usbHidUsage: "0x00070014", debugName: "Key Q"), logicalKey: LogicalKeyboardKey#00071(keyId: "0x00000071", keyLabel: "Q", debugName: "Key Q"), character: null, timeStamp: 10:44:04.507000) and the recorded logical key LogicalKeyboardKey#00040(keyId: "0x00000040", keyLabel: "@", debugName: "At")
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 444 pos 16: '_pressedKeys[event.physicalKey] == event.logicalKey'

I guess problem starts with lack of definition of AltGr modifier key. Here are the existing key definitions in `raw_keyboard.dart'
enum ModifierKey {
  controlModifier,
  shiftModifier,

  /// The ALT modifier key.
  ///
  /// Typically, there are two of these.  <-- This is true for US keyboard but not for some others (like ours, Turkish Q or F)
  altModifier,
  metaModifier,
  capsLockModifier,
  numLockModifier,
  scrollLockModifier,
  functionModifier,
  symbolModifier,
}

So, flutter somehow needs to know the existence of AltGr modifier in the first place.

Additionally, now on the master branch, the physical keyboard right altgr works fine, but the osk.exe still have problems.

Thanks @haoguo , I'll trace the change in the file and let you know, if I can.

same problem for me
any suggestion for solve that?

same problem Linux, when (left shift + @), on Flutter 2.5.3
════════ Exception caught by services library ══════════════════════════════════ A KeyUpEvent is dispatched, but the state shows that the physical key is pressed on a different logical key. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in HardwareKeyboard. This was the event: KeyUpEvent#e53f2(physicalKey: PhysicalKeyboardKey#7001f(usbHidUsage: "0x0007001f", debugName: "Digit 2"), logicalKey: LogicalKeyboardKey#00032(keyId: "0x00000032", keyLabel: "2", debugName: "Digit 2"), character: null, timeStamp: 0:13:31.385000) and the recorded logical key LogicalKeyboardKey#00040(keyId: "0x00000040", keyLabel: "@", debugName: "At") 'package:flutter/src/services/hardware_keyboard.dart': package:flutter/…/services/hardware_keyboard.dart:1 Failed assertion: line 444 pos 16: '_pressedKeys[event.physicalKey] == event.logicalKey'
[✓] Flutter (Channel stable, 2.5.3, on Zorin OS 16 5.11.0-38-generic, locale pt_BR.UTF-8)
• Flutter version 2.5.3 at /home/rodolfo/snap/flutter/common/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 18116933e7 (3 weeks ago), 2021-10-15 10:46:35 -0700
• Engine revision d3ea636dc5
• Dart version 2.14.4
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
• Android SDK at /home/rodolfo/Android/Sdk
• Platform android-31, build-tools 31.0.0
• Java binary at: /snap/android-studio/current/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
• All Android licenses accepted.
[✓] Chrome - develop for the web
• Chrome at google-chrome
[✓] Linux toolchain - develop for Linux desktop
• clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
• cmake version 3.10.2
• ninja version 1.8.2
• pkg-config version 0.29.1
[✓] Android Studio
• Android Studio at /snap/android-studio/current/android-studio
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• android-studio-dir = /snap/android-studio/current/android-studio
• Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
[✓] VS Code (version 1.61.2)
• VS Code at /usr/share/code
• Flutter extension version 3.28.0
[✓] Connected device (2 available)
• Linux (desktop) • linux  • linux-x64      • Zorin OS 16 5.11.0-38-generic
• Chrome (web)    • chrome • web-javascript • Google Chrome 95.0.4638.69
• No issues found!

same problem Linux, when (left shift + @), on Flutter 2.5.3
════════ Exception caught by services library ══════════════════════════════════ A KeyUpEvent is dispatched, but the state shows that the physical key is pressed on a different logical key. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in HardwareKeyboard. This was the event: KeyUpEvent#e53f2(physicalKey: PhysicalKeyboardKey#7001f(usbHidUsage: "0x0007001f", debugName: "Digit 2"), logicalKey: LogicalKeyboardKey#00032(keyId: "0x00000032", keyLabel: "2", debugName: "Digit 2"), character: null, timeStamp: 0:13:31.385000) and the recorded logical key LogicalKeyboardKey#00040(keyId: "0x00000040", keyLabel: "@", debugName: "At") 'package:flutter/src/services/hardware_keyboard.dart': package:flutter/…/services/hardware_keyboard.dart:1 Failed assertion: line 444 pos 16: '_pressedKeys[event.physicalKey] == event.logicalKey'
[✓] Flutter (Channel stable, 2.5.3, on Zorin OS 16 5.11.0-38-generic, locale pt_BR.UTF-8) • Flutter version 2.5.3 at /home/rodolfo/snap/flutter/common/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 1811693 (3 weeks ago), 2021-10-15 10:46:35 -0700 • Engine revision d3ea636dc5 • Dart version 2.14.4
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) • Android SDK at /home/rodolfo/Android/Sdk • Platform android-31, build-tools 31.0.0 • Java binary at: /snap/android-studio/current/android-studio/jre/bin/java • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189) • All Android licenses accepted.
[✓] Chrome - develop for the web • Chrome at google-chrome
[✓] Linux toolchain - develop for Linux desktop • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final) • cmake version 3.10.2 • ninja version 1.8.2 • pkg-config version 0.29.1
[✓] Android Studio • Android Studio at /snap/android-studio/current/android-studio • Flutter plugin can be installed from: hammer https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: hammer https://plugins.jetbrains.com/plugin/6351-dart • android-studio-dir = /snap/android-studio/current/android-studio • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
[✓] VS Code (version 1.61.2) • VS Code at /usr/share/code • Flutter extension version 3.28.0
[✓] Connected device (2 available) • Linux (desktop) • linux • linux-x64 • Zorin OS 16 5.11.0-38-generic • Chrome (web) • chrome • web-javascript • Google Chrome 95.0.4638.69
• No issues found!

do you have this problem on flutter web too?

I've tested on framework 5d6b015154 and could not reproduce it any more. I think it's an issue that has been resolved by https://github.com/flutter/engine/pull/29768. Feel free to comment, reopen, or file a new issue in case some errors occur again.

@dkwingsmt
Upgraded flutter master channel today and I can confirm that the issue is fixed for both windows and linux desktop (for me). Thanks for the hard work on this!


Make PurchLine protected var in Page 5805 "Item Charge Assignment (Purch)"

Describe the request
Hi
Can you please make the variable PurchLine protected var in Page 5805 "Item Charge Assignment (Purch)"?
// >>>>>>>>>>
var
    //PurchLine: Record "Purchase Line";
    Text000: Label 'The sign of %1 must be the same as the sign of %2 of the item charge.';
    Text001: Label 'The remaining amount to assign is %1. It must be zero before you can post %2 %3.\ \Are you sure that you want to close the window?', Comment = '%2 = Document Type, %3 = Document No.';
protected var
    PurchLine: Record "Purchase Line"
    PurchLine2: Record "Purchase Line";
// <<<<<<<<<<

Additional context
We're adding an extra field to the page extension and need to be able to calculate it from PurchLine as well as the other records.
Internal work item: AB#524724

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: .


nix-prefetch-git: fix sparse checkout

Description of changes
Git v2.37.0 enabled cone mode by default for sparse checkouts.
Per the git-sparse-checkout manual page:

By default, the input list is considered a list of directories, matching the output of git ls-tree -d --name-only. This includes interpreting pathnames that begin with a double quote (") as C-style quoted strings. Note that all files under the specified directories (at any depth) will be included in the sparse checkout, as well as files that are siblings of either the given directory or any of its ancestors... In the past, this was not the default, and --cone needed to be specified or core.sparseCheckoutCone needed to be enabled.

When --no-cone is passed, the input list is considered a list of patterns. This mode has a number of drawbacks, including not working with some options like --sparse-index. As explained in the "Non-cone Problems" section below, we do not recommend using it.

The drawbacks are all things we don't care about, since we (in most cases) delete .git.
Before this change:
$ nix-build -A tests.fetchgit
this derivation will be built:
  /nix/store/is14bfirqsj4416286jw5cjkm81ypkfg-nix-source-salted-cfcrgsb53gfi.drv
building '/nix/store/is14bfirqsj4416286jw5cjkm81ypkfg-nix-source-salted-cfcrgsb53gfi.drv'...
exporting https://github.com/NixOS/nix (rev 9d9dbe6ed05854e03811c361a3380e09183f4f4a) into /nix/store/g0v40l01ry6lmaj8sqd3y9yj61ifg37d-nix-source-salted-cfcrgsb53gfi
Initialized empty Git repository in /nix/store/g0v40l01ry6lmaj8sqd3y9yj61ifg37d-nix-source-salted-cfcrgsb53gfi/.git/
fatal: invalid refspec '+refs/tags/2.3.15^{}'
remote: Enumerating objects: 61, done.
remote: Counting objects: 100% (61/61), done.
remote: Compressing objects: 100% (43/43), done.
remote: Total 61 (delta 0), reused 37 (delta 0), pack-reused 0
Receiving objects: 100% (61/61), 23.94 KiB | 23.94 MiB/s, done.
From https://github.com/NixOS/nix
 * branch            9d9dbe6ed05854e03811c361a3380e09183f4f4a -> FETCH_HEAD
remote: Enumerating objects: 530, done.
remote: Counting objects: 100% (530/530), done.
remote: Compressing objects: 100% (430/430), done.
remote: Total 530 (delta 7), reused 246 (delta 2), pack-reused 0
Receiving objects: 100% (530/530), 617.49 KiB | 9.36 MiB/s, done.
Resolving deltas: 100% (7/7), done.
Switched to a new branch 'fetchgit'
removing `.git'...
error: hash mismatch in fixed-output derivation '/nix/store/is14bfirqsj4416286jw5cjkm81ypkfg-nix-source-salted-cfcrgsb53gfi.drv':
         specified: sha256-FknO6C/PSnMPfhUqObD4vsW4PhkwdmPa9blNzcNvJQ4=
            got:    sha256-g1PHGTWgAcd/+sXHo1o6AjVWCvC6HiocOfMbMh873LQ=

After this change:
$ nix-build -A tests.fetchgit
these 2 derivations will be built:
  /nix/store/0xw1p9py52xnlmyzfv5darj1dbysjzj9-nix-source-salted-d2iymn4klqwb.drv
  /nix/store/fk9jl0fg7r1j0kczzkhjd3041ag6f1zz-nix-source-salted-x89bx46nl7v8.drv
building '/nix/store/0xw1p9py52xnlmyzfv5darj1dbysjzj9-nix-source-salted-d2iymn4klqwb.drv'...
building '/nix/store/fk9jl0fg7r1j0kczzkhjd3041ag6f1zz-nix-source-salted-x89bx46nl7v8.drv'...
exporting https://github.com/NixOS/nix (rev 9d9dbe6ed05854e03811c361a3380e09183f4f4a) into /nix/store/qzd9gvdpv3psl8n7fwwj6asby7vs82a5-nix-source-salted-d2iymn4klqwb
exporting https://github.com/NixOS/nix (rev 9d9dbe6ed05854e03811c361a3380e09183f4f4a) into /nix/store/38pacjkrqafbrf1p3184jm9wa7cwf72b-nix-source-salted-x89bx46nl7v8
Initialized empty Git repository in /nix/store/38pacjkrqafbrf1p3184jm9wa7cwf72b-nix-source-salted-x89bx46nl7v8/.git/
Initialized empty Git repository in /nix/store/qzd9gvdpv3psl8n7fwwj6asby7vs82a5-nix-source-salted-d2iymn4klqwb/.git/
fatal: invalid refspec '+refs/tags/2.3.15^{}'
fatal: invalid refspec '+refs/tags/2.3.15^{}'
remote: Enumerating objects: 61, done.
remote: Counting objects: 100% (61/61), done.
remote: Compressing objects: 100% (43/43), done.
remote: Total 61 (delta 0), reused 37 (delta 0), pack-reused 0
Receiving objects: 100% (61/61), 23.94 KiB | 11.97 MiB/s, done.
remote: Enumerating objects: 777, done.
remote: Counting objects: 100% (777/777), done.
From https://github.com/NixOS/nix
 * branch            9d9dbe6ed05854e03811c361a3380e09183f4f4a -> FETCH_HEAD
remote: Compressing objects: 100% (648/648), done.
remote: Total 777 (delta 30), reused 329 (delta 13), pack-reused 0
Receiving objects: 100% (777/777), 1013.31 KiB | 9.38 MiB/s, done.
Resolving deltas: 100% (30/30), done.
From https://github.com/NixOS/nix
 * branch            9d9dbe6ed05854e03811c361a3380e09183f4f4a -> FETCH_HEAD
Switched to a new branch 'fetchgit'
remote: Enumerating objects: 514, done.
remote: Counting objects: 100% (514/514), done.
removing `.git'...
remote: Compressing objects: 100% (416/416), done.
remote: Total 514 (delta 7), reused 240 (delta 2), pack-reused 0
Receiving objects: 100% (514/514), 595.74 KiB | 3.89 MiB/s, done.
Resolving deltas: 100% (7/7), done.
Switched to a new branch 'fetchgit'
removing `.git'...
/nix/store/38pacjkrqafbrf1p3184jm9wa7cwf72b-nix-source-salted-x89bx46nl7v8
/nix/store/qzd9gvdpv3psl8n7fwwj6asby7vs82a5-nix-source-salted-d2iymn4klqwb

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

Ideally tests.fetchgit would be added to git.passthru.tests but because of how Nix interacts with FOD hashes, a change in the input (Git, nix-prefetch-git) wouldn't result in a rebuild if the FOD output with the specified hash is in the store already. We could do something like add the Git version to the test derivation name, so at least Git version changes can be tested again, but then that still leaves the issue of nix-prefetch-git changes.

(Forgot this would completely break sparse checkouts on 21.05 for a second there 😅)

Some things from that manual section I'd say we care about:

It's slow
It's deprecated
Ensuring patterns are quoted properly is hard (maybe this is already solved in nixpkgs)

But maybe we can do it for now. I'd say it's a good opportunity to switch over to cone mode too though. Do consider those things. Especially it being deprecated may bite in the future.

I'd say it's a good opportunity to switch over to cone mode too though.

We absolutely can take this opportunity to do so, due to the amount of packages that use it (which, at the time of writing, is three).
My only concern is that, in my opinion, come mode is worse for ergonomics when we just want to fetch some files. It'll make the patterns larger depending on the repo, and might confuse anyone not familiar with them.
Of course, I could be making up these issues, but I'm not sure -- definitely open to further discussion on this.

Superseded by #185150.


#265: Auto-generating PAPERLESS_REDIS ENV variable

Solves #265
I've added extra validation to check that either the redis subchart is enabled, or that the PAPERLESS_REDIS variable is manually set, but not both.
I guess the only question is if we should have the -headless suffix in the hostname or not. Also, should I add myself to the contributor list?
In the meantime, back to The Sopranos...

Hi @Dzeri96,
Thanks for your PR! I will have a look this evening.
The headless service is a requirement by Kubernetes for every StatefulSet and can be "ignored" in this context. We should reference the regular service in the variable as that is the service which is used to interact with the Redis instance.
BR, Pascal

Oh and @all-contributors please add @Dzeri96 for code 😉

Great, I was waiting for the merge so I can deploy it on my cluster.

@Dzeri96 you can now deploy it on your cluster. I have just released paperless-4.1.0. 😊


数据处理

请问您是怎么将亚马逊原来的数据处理为您给的代码中的数据格式的呢？

I have just created a data processing README file.
Please refer to:
https://github.com/oywtece/minet/blob/master/data/README_data_processing.md


sync with a literate not working as expected on Windows

What did you expect to happen?
Running doom sync on any other platform (including windows, until recently) should tangle my config and run sync
What actually happened?

It just tangles my config and returns. If I remove the CLI file in the literate module, doom sync runs as normal.
Additional details:

Include a link to your private config
https://github.com/elken/.doom.d
Include screenshots/casts of your issue
If you mention key sequences, include what commands they're bound to (use SPC h k KEY or C-h h k KEY to inspect keys).
Include any warnings or errors logged to *Messages* (use M-x view-echo-area-messages to see it).

Steps to reproduce:

Clone doom
doom installbut cancel after creating default directories (the install continues fine but the problem exists regardless)
Enable literate module
Move config.el to config.org in 1 export block
Run doom sync

System information:
SYSTEM  type       windows-nt
        config     x86_64-w64-mingw32
        shell      C:/ProgramData/chocolatey/lib/Emacs/tools/emacs/libexec/emacs/27.1/x86_64-w64-mingw32/cmdproxy.exe
        uname      n/a
        path       (c:/Program Files (x86)/Common Files/Oracle/Java/javapath C:/Python38/Scripts/ C:/Python38/ C:/Windows/system32 C:/Windows C:/Windows/System32/Wbem C:/Windows/System32/WindowsPowerShell/v1.0/ C:/Windows/System32/OpenSSH/ C:/Program Files/dotnet/ C:/Program Files/Microsoft SQL Server/130/Tools/Binn/ C:/Program Files/Microsoft SQL Server/Client SDK/ODBC/170/Tools/Binn/ C:/Program Files/nodejs/ C:/ProgramData/chocolatey/bin C:/Program Files/PuTTY/ C:/Program Files/Microsoft VS Code/bin C:/Program Files (x86)/Microsoft SQL Server/110/DTS/Binn/ C:/Program Files (x86)/Microsoft SQL Server/120/DTS/Binn/ C:/Program Files (x86)/Microsoft SQL Server/130/DTS/Binn/ C:/Program Files (x86)/Microsoft SQL Server/140/DTS/Binn/ C:/Program Files (x86)/Microsoft SQL Server/150/DTS/Binn/ C:/Program Files (x86)/LINQPad5 C:/Program Files/Git/cmd C:/Program Files/LLVM/bin C:/Program Files/MiKTeX/miktex/bin/x64/ . C:/Program Files/Docker/Docker/resources/bin C:/ProgramData/DockerDesktop/version-bin C:/Program Files/CMake/bin C:/Program Files/Emacs/emacs-28.0.50-snapshot/bin ~/AppData/Local/Microsoft/WindowsApps ~/AppData/Roaming/npm ~/.dotnet/tools C:/Program Files (x86)/GnuWin32/bin C:/Program Files (x86)/Nmap C:/Program Files/Emacs/x86_64/bin ~/.emacs.d/bin C:/Program Files/MiKTeX/miktex/bin/x64 C:/msys64/mingw64/bin ~/php ~/AppData/Local/ComposerSetup/bin ~/AppData/Roaming/Composer/vendor/bin ~/AppData/Local/gitkraken/bin . c:/ProgramData/chocolatey/lib/Emacs/tools/emacs/libexec/emacs/27.1/x86_64-w64-mingw32)
EMACS   dir        ~/.emacs.d/
        version    27.1
        build      Aug 21, 2020
        buildopts  --without-dbus --host=x86_64-w64-mingw32 --without-compress-install 'CFLAGS=-O2 -static'
        features   XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY W32NOTIFY ACL GNUTLS LIBXML2 HARFBUZZ ZLIB TOOLKIT_SCROLL_BARS MODULES THREADS JSON PDUMPER LCMS2 GMP
        traits     (batch envvar-file)
DOOM    dir        ~/.doom.d/
        version    2.0.9
        build      HEAD -> develop e08c5f537 2021-02-07 23:57:44 -0500
        elc-files  0
        modules    (:completion (company +childframe) (ivy +childframe +prescient +icons) :ui doom doom-dashboard doom-quit hl-todo (ligatures +extra +hasklig) modeline ophints (popup +defaults) treemacs unicode vc-gutter vi-tilde-fringe (window-select +numbers) workspaces :editor (evil +everywhere) file-templates fold (format +onsave) multiple-cursors snippets :emacs (dired +icons) electric undo vc :term eshell vterm :checkers syntax :tools (debugger +lsp) editorconfig (eval +overlay) lookup (lsp +peek) (magit +forge) pdf rgb :os tty :lang (clojure +lsp) data emacs-lisp fsharp (java +meghanada) (javascript +lsp) (kotlin +lsp) nix (org +dragndrop +hugo +present +pretty) (php +lsp) rest (rust +lsp) scheme sh (web +html +lsp +css) :email mu4e :config literate (default +bindings +smartparens))
        packages   ((org-variable-pitch :recipe (:host github :repo cadadr/elisp)) (weblorg) (visual-fill-column) (org-make-toc) (mu4e-alert) (exwm) (rainbow-mode) (graphql-mode) (desktop-environment) (which-key-posframe) (doom-modeline-now-playing) (oauth2))
        unpin      (n/a)
        elpa       (n/a)

Duplicate of #3746 (later moved to #4273)


Runpod Jupyter notebook giving low quality results as compared to the colab notebook

Mr. Ben,
I hope this message finds you well. I wanted to bring to your attention an issue regarding the Runpod Jupyter notebook. It appears that the results obtained using the Runpod Jupyter notebook are of lower quality when compared to the results obtained using the Colab notebook with the stable Diffusion XL 1.0 model.
This disparity in results has raised some concerns, and I believe it is crucial for us to investigate and address this issue promptly. It could potentially impact our ongoing projects and research endeavors.
I kindly request your response to this matter. Your insights and expertise in this area will be invaluable in resolving the problem and ensuring the quality of our work.
Please share your thoughts and observations on this issue at your earliest convenience. Your prompt attention to this matter is greatly appreciated.
Thank you for your cooperation.

Hi,
try adding --upcast-sampling right after $configf, it simulates fp32 results without using --no-half

@TheLastBen,
I would like to extend my sincere apologies for any confusion caused by my previous message. In my earlier communication, I did not intend to refer to the resolution quality of the images generated. Instead, my concern revolves around the artistic depth and quality inherent in the images produced using the Runpod Jupyter Notebook. I have observed a disparity in the artistic merit of these images when compared to those generated through your Google Colab Notebook and the Clipdrop Stable Diffusion platform.
I kindly request that you take a moment to review the Runpod Jupyter Notebook personally. This firsthand assessment will provide you with a better understanding of the matter at hand. To aid in your evaluation, I have attached two images below, both generated from the same prompt, for demonstrative purposes.
Thank you for your attention to this matter, and I look forward to your insights.
Sincerely

What are your settings ? sampler, resolution, cfg scale, steps

@TheLastBen,
I hope this message finds you well. I would like to express my gratitude for your assistance in resolving the previous issue. To provide context, I had been utilizing the DPM++ 2M Karras Sampler with 40 steps and CFG 5 at a resolution of 512x512. The issue was successfully resolved when I adjusted the CFG to 9.
However, I find myself facing a new challenge. I recently downloaded my LORA file from civit.ai, and the download process to the Stable Diffusion WebUI's LORA folder was seemingly successful. Unfortunately, these files are not appearing in the webui LORA section as expected.
I am reaching out to seek your guidance on this matter. If you could kindly advise me on the appropriate steps to rectify this situation, it would be greatly appreciated.
For illustrative purposes, I have attached two images to this message.
Once again, thank you for your continued support.
Warm regards

SDXL native resolution is 1024x1024, anything lower could result in a loss of quality


Possible Thread Issue

I'm not sure if this is an issue or I am misunderstanding the way something works.
The following method - (BOOL)sendObject:(id)object error:(NSError **)error
in DTBonjourConnection makes a call to [self _startOutput]; on the Main Thread.
Am I right in thinking that when the data is being written to the output stream that this is happening on the Main Thread? Should this not be happening on a background for performance and parallelization of commands?

@MatthewCawley you are right. This was done so that the delegate methods are all called on the main queue. But certainly the sending could also be done on a background queue.

Hi @odrobnik
Thanks for confirming that. It may be better to replace the GCD call for the main thread with a background thread call to ensure that part of the code is run on the background.
With regards to the delegate there are 2 approaches that would work.
1: Wrap the delegate callback methods in a GCD call to the main thread
2: As the method is not a UI based method, it would not necessarily be expected that the delegate call back returns on the main thread. In this case leave the onus on handling the response in a main thread in the hands of the implementor.

@MatthewCawley you are welcome to make the suggested modifications and test them in the context of where you are using DTBonjour.

Thank you @odrobnik
I have made the changes and created a pull request for them.

merged it.


Update sqlbrite to 0.8.0

Can one of the admins verify this patch?

Hi, thanks for the pull request!
Unfortunately we don't currently have any public CI system in place for external pull requests, but I have run the tests internally and am finding that the 'getRibots' test is now failing with this error: "Number of items does not match. Provided: 1  Actual: 0.".
Due to the failing test, I am going to close this pull request for now without merging it. Feel free to re-open if you manage to fix it! You should be able to run the tests locally if you check out the project. :)

will do. thanks @jemmaSlater


Native Image Investigation

@gastaldi maybe you can try these instructions.

mvn clean install on the root project to build everything.
cd integration-tests and run mvn -Pnative-publish that does a native build and deploys to docker.
Run docker run -i --rm -p 8080:8080 jasperreports/integration-test:999-SNAPSHOT to run the image just built.
Run curl http://localhost:8080/jasperreports/xml to hit one of the REST Services I get a 500.

The error is very strange its
LogManager error of type FORMAT_FAILURE: Formatting error
Unable to Load Report

Debugging is when the JRXML is compiled this error is thrown but I can't figure out from where.  This is the error I get LogManager error of type FORMAT_FAILURE: Formatting error
Can you reproduce i want to make sure its not a weird Windows v Linux thing.

Also do Integration Test run on the native image after its built?  Or can they?

Looks like that error is this: https://github.com/quarkusio/quarkus/issues/35614

Ok basically I am working on this. We need to add more reflective classes as the code does a lot of Class.forName type instantiation.


returnExtentOnly=True parameter

Could this be added to layer query please? It was just added at 10.3.
It would be perfect for an exportToPDF tool based setting extent to  the where clause.
Thanks

I have been looking for functionality like this for awhile and hope it is exposed through ArcREST as well as the JS API. One caveat to consider, the documentation mentions that the parameter applies only if the supportsReturningQueryExtent property of the layer is true. It doesn't mention how that property is determined (enterprise database?). Also, I believe it is only available for a feature service layer and not a map service layer.

I believe hosted service layers may be published with supportsReturningQueryExtent : True.
'''javascript
"currentVersion" : 10.3,
"id" : 1,
"name" : "places",
"type" : "Feature Layer",
"displayField" : "Name",
"description": "places"
"copyrightText" : "dks",
"defaultVisibility" : true,
"editFieldsInfo" : {
"creationDateField" : "created_date",
"creatorField" : "created_user",
"editDateField" : "last_edited_date",
"editorField" : "last_edited_user"
},
"editingInfo" : {
"lastEditDate" :<PHONE_NUMBER>312
},
"relationships" : [
{
"id" : 0,
"name" : "ArcGIS.DBO.People",
"relatedTableId" : 0,
"cardinality" : "esriRelCardinalityOneToMany",
"role" : "esriRelRoleOrigin",
"keyField" : "CustomerID",
"composite" : false
}
],
"isDataVersioned" : false,
"supportsCalculate" : true,
"supportsAttachmentsByUploadId" : true,
"supportsRollbackOnFailureParameter" : true,
"supportsStatistics" : true,
"supportsAdvancedQueries" : true,
"supportsValidateSql" : true,
"supportsCoordinatesQuantization" : true,
"advancedQueryCapabilities" : {
"supportsPagination" : true,
"supportsQueryWithDistance" : true,
"supportsReturningQueryExtent" : true,
"supportsStatistics" : true,
"supportsOrderBy" : true,
"supportsDistinct" : true
}
'''
But this was published  from a sql server gdb so I'm not 100% certain.
Alloy those advanced query capabilities would make nice ArcREST functions

I wrote two functions:
def retrieveflQueryExtent(flQuery):
    '''
    Takes a FeatureLayer.Query  and returns extent
    Point Features Only
    '''
    x = [g.geometry.extent.XMax for g in flQuery]
    y = [g.geometry.extent.YMax for g in flQuery]
    #x = [g['geometry']['x'] for g in flQuery.value['features']]
    #y = [g['geometry']['y'] for g in flQuery.value['features']]
    #yLength = abs(max(y)-min(y))
    #xLength = abs(max(x)-min(x))
    sr = flQuery.spatialReference
    extent = {'xmin': min(x), 'ymin': min(y), 'ymax': max(y), 'xmax': max(x), 'spatialReference': sr}
    return extent
def pickLayout(xtnt):
    '''
    Takes an extent, finds max(x,y) and returns string of "Portrait" or "Landscape" layout
    '''
    lng = abs(xtnt['xmax'] - xtnt['xmin'])
    lat = abs(xtnt['ymax'] - xtnt['ymin'])
    layout = "Portrait" if lng > lat else "Landscape"
    return layout

retrieveflQueryExtent finds the extent of features from a query and returns in a format similar to arcpy extent.
pickLayout finds the best page layout for the purpose of exporting the map.

Hope this helps.

@DShokes - added returnExtentOnly to ags/layer.py's FeatureLayer.query().


User Email - Change buttons change color randomly?

When browsing my emails i use the > to change page and when i do that the two Change buttons and the Delete all button change color and it look like it is randomly.
Change buttons are green but suddenly they are white. Delete all is red but suddenly it is white. The only thing i do is pressing the > sign.

Webmin 1.881 - Authentic Theme 19.19

This is due to fancy way of guessing button type. The underlying trigger, also changes and it's comming from WebminCore. I don't know why it uses different key name for the same language string.
This part is being reworked right now and very soon you will never see it again, so forget about it.

Shouldn't this be fixed? The Delete all button still get red in some random way..

No, I will discuss it with Jamie again though. He might know why this is happening, after closer look.

Fixed.


atom, atom-beta: 1.36.1 -> 1.41.0, 1.37.0-beta0 -> 1.41.0-beta0

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @offlinehacker @NeQuissimus @ysndr

The commit msg is off, since the stable update goes to 1.40, not 1.41, but otherwise things seem OK

Fixed that now.


Including F#+ in the repl

I was wondering if it's possible to include F#+ in the repl, now that it compiles in Fable.
The reason is that there are some users wanting to play a bit with it, also I would be more than happy to try things in an interactive way as right now I need to build everything to try stuff and if something fails it's very hard to create a small repro to eventually report  it to the Fable compiler.

Hello gusty,
some time ago I started a work to upgrade all the deps to their latest version and also include new library support in the REPL. #110
Unfortunately, I was facing some problem between the pre-compiled version of the library and the generated code from the REPL. I need to take a look again at it.
In order, to add a library to the REPL there are some requirements:

It should be compatible with Fable
Because we pre-compiled the library, the library can't expose inline function/methods. You can use FABLE_REPL_LIB constant in order to adapt the library if needed.

Thanks @MangelMaxime for the quick reply.
Of course the first requirement is met, although is not full compatible with Fable, half of the library it is, and that's the nice part to have in the repl.
I am not clear about this

Because we pre-compiled the library, the library can't expose inline function/methods. You can use FABLE_REPL_LIB constant in order to adapt the library if needed.

Does it mean, that the repl is more restrictive than the Fable compiler itself? So, code that normally runs in Fable won't run in the Fable repl?

Of course the first requirement is met, although is not full compatible with Fable, half of the library it is, and that's the nice part to have in the repl.

👍

Does it mean, that the repl is more restrictive than the Fable compiler itself? So, code that normally runs in Fable won't run in the Fable repl?

For performance reason and also because it was not ported yet, Fable REPL compiles only a single file.
When we publishing a new version of the REPL we pre-compile the library to JavaScript and include them in the deployment. That's what you can see in this folder
For example, here is the pre-compiled version of [Thoth.Json.Decode].
Then when the user asks for compiling something in the REPL we only compile the user file, not the library that it uses. For this reason, the REPL doesn't support exposed API that uses inline in it.
This example tries to explain what I am speaking about.
Library code
module AwesomeLib

let inline functionA arg1 = // ...

let functionB arg1 =
    // ...
    functionA arg1
    // ...

User code can be seen as the file you edit in the REPL
AwesomeLib.functionA "" // This line doesn't work

AwesomeLib.functionB // This line works because functionA has been inlined inside of functionB

As a shorter:
The REPL is indeed more restrictive than Fable compiler.
For example, people can't use Extra module from Thoth.Json because the exposed API for this module is inlined.

Yes, it's going to be tricky with F#+ because inlining is required to solve the SRTP. As @MangelMaxime says, the REPL only compiles a single file at the moment. We were considering how to build full projects and/or add custom libraries but it hasn't been implemented yet.
Anyways, I'm watching closely the new witness feature in FCS: https://github.com/dotnet/fsharp/pull/9510. It may be an opportunity to expose the "with witness" version of members in libraries compiled for Fable so we don't need to collect all sources and compile them as a single project as we're doing now. That would make it possible to precompile (or at least cache) all libraries so they are the same for the Fable cli tool and REPL.

Thank you both for the info.
So, if there's currently no way to have inline functions, there's no point as what I wanted to do is to play a bit precisely with these kind of functions, to know which trait-calls are supported, which are not and which ones might reveal issues that could be reported and potentially solved in the Fable side.
Looks like at the moment the best I can do is to extract the whole library to a single file and paste it in the fable repl.
You can close this issue if you want, or keep it open, awaiting for F#5 and the new Fable features.

@alfonsogarciacaro perhaps time to revisit this with Fable3?

@alfonsogarciacaro perhaps time to revisit this with Fable3?

Yes, it should be possible (although it seems not the whole of F#+ is supported yet in Fable 3), but I still need to finish the mechanism to load libraries in the Fable 3 REPL to replace all the hacks and custom compilation we had in the previous repl :/

Yes, it should be possible (although it seems not the whole of F#+ is supported yet in Fable 3), but I still need to finish the mechanism to load libraries in the Fable 3 REPL to replace all the hacks and custom compilation we had in the previous repl :/


Update README.md

Add the path of the file that needs to be modified for the long-running command.

This change is

No changes here?


Fixed deletion bug

[x] fixed server error
[x] modified logic for finding IDs for deletion

fixDeleteBack.webm

✅


Disabling notification center not working on High Sierra Beta

The following is not working on High Sierra Beta:
# Disable Notification Center and remove the menu bar icon
launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist 2> /dev/null

Even after executing that, notifications are still happening...

did you ever find a solution to this?

I did, thank you!  I did a "brew update && brew upgrade && brew cleanup && brew prune && brew doctor" just because it's nice to do in terminal.  Then disk utility to fsck my apfs volume.  Rebooted and fixed.  Must have been after the install I crashed the service that handles it.

I would like to find a solution also. Rebooting doesn't work for me: the notification center doesn't open when I click the icon now, but the icon is still there. I want the icon to be removed. I guess there is something with the latest updates from Apple as even Bartender who used to be able to hide this icon isn't doing it anymore...

I have the same issue as fharper. Ran the above code and the notification center isnt opening, but icon still there

Looks like this line is no longer works initially with macOS El Capitan and later: https://apple.stackexchange.com/questions/306669/hide-notification-center-button-from-menu-bar-in-high-sierra
According to IconDaemon in the above article, Apple's System Integrity Protection (SIP) stops this.  I haven't tried the recommended steps in the article to remove the notification center since I think it's too many extra steps.

@nguyenjtq If the SIP can only be disabled from Recovery HD, couldn't we mount an accordant partition to disable it from there?

About all these commands prevented by the SIP, would it work to have an accordant Recovery HD available temporarily, mount it, launch its special Terminal, enter csrutil disable, reboot if we can't just reload stuff, and keep the script going ? If we could at least do this, we could split the script in a first part which adds a login item that'll execute a second part which starts at the moment the script asks for an admin password, and then that latter part would delete the login item and stuff before asking to reboot.
https://web.archive.org/web/20190310220058/https://discussions.apple.com/thread/7877151
https://web.archive.org/web/20111112164340/http://osxdaily.com/2011/09/23/view-mount-hidden-partitions-in-mac-os-x/
https://web.archive.org/web/20130609141016/http://osxdaily.com/2013/05/13/mount-unmount-drives-from-the-command-line-in-mac-os-x/

About all these commands prevented by the SIP, would it work to have an accordant Recovery HD available temporarily, mount it, launch its special Terminal, enter csrutil disable, reboot if we can't just reload stuff, and keep the script going ? If we could at least do this, we could split the script in a first part which adds a login item that'll execute a second part which starts at the moment the script asks for an admin password, and then that latter part would delete the login item and stuff and reenable the SIP before rebooting.
https://web.archive.org/web/20190310220058/https://discussions.apple.com/thread/7877151
https://web.archive.org/web/20111112164340/http://osxdaily.com/2011/09/23/view-mount-hidden-partitions-in-mac-os-x/
https://web.archive.org/web/20130609141016/http://osxdaily.com/2013/05/13/mount-unmount-drives-from-the-command-line-in-mac-os-x/

As a workaround, I set the notification centre to Turn On Do Not Disturb from 11:00 to 10:59. By doing so, I only get notifications once a day, at 11am and the rest of the time is quiet. Nice and easy and does not require magic :)