Docs: managed policies are not loaded by default

Hello folks!
I have spent some time in trying to figure out that when using Moto with OpenTofu and I was able to find only an entry in the 5.0.0-alpha3 release note. I think we should list that change as a breaking change so possible other folks hitting that can hopefully find it more easily!
Thanks!

Since Moto 5.0.0 for performance reasons the AWS IAM managed policies are no longer automatically loaded anymore by default.
This can break usages relying on AWS IAM managed policies.
Document how to preserve the pre-5.0.0 behavior.

Thank you @bblommers!


Full image support (LLM operators & embeddings w/ CLIP)

Changes:

Added a new dataframe operator load_images(img_path_col, encoded_img_col) (in utils.py). The first parameter refers to a column of file paths to images (or URLs), and the second parameter is the name of the new column to be appended. This iterates through the dataframe, loads each image from the path, and encodes each image into a base64 string (to cut down on the conversions needed later for any vision LLM call).

Example usage: df.load_images("image_path", "image") -> then the 'image' column can be used as normal for getting the images in any other LOTUS operation

Modified task_instructions.py to automatically extract any image data and correctly append in the messages array
Modified sem_topk.py to also correctly extract image data and append it to the messages array
Added support for the CLIP family of embedding/retrieval models (in clip_model.py)

Included batching support to help reduce memory usage when indexing large datasets
Also included a custom method of creating combined text+image embeddings, with user configurable weights (by default an even split)

Example usage: rm = CLIPModelRetriever(similarity_weights=[0.4, 0.4, 0.1, 0.1]) # [text-text, image-image, text-image, image-text]

Added chunking to reduce memory_usage for the sem_search operation. The chunk_size is user configurable: sem_search(chunk_size=1000)

I did most of my testing on larger datasets, but I created a very simple jupyter notebook (examples/multimodal_tests.ipynb) that demonstrates CLIP working with a dataframe of images, as well as sem_topk, sem_filter, sem_map, and sem_search. In my own testing at least sem_sim_join, and sem_agg work too.

Thanks for the awesome work on this @jmelovich! It looks like there is overlap with PR #37, which plan to support images using the pandas types extension, which will be slightly more extensible as we add support more types as well. We've started a review of PR #37 and plan to merge it soon -- can you compare and merge with it instead of main? Also we'd be happy to coordinate ongoing dev efforts with you! Feel free to join our slack here so we can coordinate offline as well https://join.slack.com/t/lotus-fnm8919/shared_invite/zt-2tnq6948j-juGuSIR0__fsh~kUmZ6TJw

Yes, I should be able to relatively simply rework it to use the pandas types extension. Are you sure you meant to mention PR #37 ? That is this current one, I assume you meant to refer to PR #33 ?

Yes, sorry, I meant PR #33 (edited), which adds support for images and has an implementation for each operator.  One other main difference is that you added a new class for CLIP, although I believe we can support it using SentenceTransformers (example here https://www.sbert.net/examples/applications/image-search/README.html)


ISPN-6351 ClusterExecutor submitConsumer can complete before local

thread completes
https://issues.jboss.org/browse/ISPN-6351

This should cherry-pick cleanly into 8.2.x as well.

Integrated, thanks Will!


Global addons for containers that can be shared

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem?
Some addons are really suitable for use across all projects, and should be sharable across them.
Take adminer and phpmyadmin for example - if DDEV had a way to install an addon globally and share its containers across all projects, I could install adminer or phpmyadmin once globally, and then use it for all of my projects.
What's more, that addon would then not be included in the git repository for sharing the DDEV config, so other developers working on the same project are free to use whatever database viewer they want without wasting resources on the one they aren't using.
There are some containers that can take a while to start up as well, like elastic for example. If I could install those globally, I'd just have to start the container once and use it for all the projects I touch that day.
Describe your solution
Add a --global flag to the get command. Using this flag will install the addon globally, and make any containers it adds accessible to all projects.
Perhaps addons should have a new config option in the install.yaml file that indicates whether the addon can be installed globally, per-project, or both (with the default being either both or only per-project).
If so, the ddev get --list output should be updated to display that information.
There will need to be some mechanism for starting/restarting/stopping those global containers.
Describe alternatives
No response
Additional context
No response

It's a nice idea. Where would you store the registration info? How would you deal with conflicts between project and global?

Where would you store the registration info?

I don't know enough about docker to know how it would work, assuming "registration info" is referring to docker. If instead you mean where would DDEV store information about what global addons it has installed, presumably that would live next to the other global files in ~/.ddev

How would you deal with conflicts between project and global?

Not sure. Maybe addons should only be allowed to be installed either globally or per-project, not both. That would be the easiest solution.
Alternatively maybe if it's installed globally the service names have a global- prefix or -global suffix.

None of this has anything to do with Docker, but you can look at the code that gets created in .ddev/addon-metadata to see how it works, and explore the code related to that.

None of this has anything to do with Docker

How will the docker containers installed at a project-level access the docker containers that are part of a global addon? Does that just happen without needing to do anything special?

They would need to be on the same docker network AFAIK. Not sure of the implications.
While I love the idea, I'm concerned about people sharing a ddev project confused because their experience isn't exactly the same (teammember A gets an error, while teammember B doesn't - because A has a global addon than B hasn't, and e,g. it conflicts ports)

DDEV does have a way to install commands globally, look at install.yml file in tyler36/ddev-tinker, tyler36/ddev-vscode-devcontainer.
Spolier:
global_files:
- commands/web/tinker

This works well for generic commands that can be used for any project, or commands the are framework specific (the command won't run if the project-type doesn't make).
Problems come when you need to think about versioning and services. phpmyadmin works well for MySQL projects but I don't need it for Postgres or SQLITE projects. What do I do for a PHP 7.0 project (phpmyadmin supports PHP >=7.1)?
I recommend forking the addon, and making the adjustments and playing with it for a bit. If you still feel strongly that it would benefit as a global addon, you could then submit the changes as a MR.
Happy to help you on Discord if you hit a problem. 😄

This isn't about installing a command globally, it's about having the docker container run globally and sharing the single container with multiple projects.
For example I don't want a separate phpmyadmin instance for each project, I want a global phpmyadmin instance that connects to all my projects.

Updated the title. A classic example is PhpMyAdmin. We removed it from core because lots of people didn't need it, but those that did wanted it to be global.


NR can't ASGI wrap Django Channels

Description
Trying to use NR to wrap my Django Channels application that is running under Guicorn using Uvicorn workers. ASGIApplicationWrapper() is not working, it never hits to code that allows NR to build up the transaction handler.
Code in question is (asgi.py):
channel_layer = newrelic.agent.ASGIApplicationWrapper(get_default_application())
Which of course is invoked by Gunicorn via:
--worker-class uvicorn_worker.Worker asgi:channel_layer
Expected Behavior
Async/Channels is working perfectly, but when I attempt to wrapper it it seems the ASGI Handler is being wrapped by Uvicorn instead, first.
    scope = _bind_scope(*args, **kwargs)

    if scope["type"] != "http":          # <<----- scope http is not found (already wrapper'ed by uvicorn)
        return wrapped(*args, **kwargs)

See the image below from the debugger...
Troubleshooting or NR Diag results

Steps to Reproduce
Create a simple Django Channels application and try to use ASGIApplicationWrapper() to get NR to to start
Your Environment
newrelic-9.2.0
Django==4.2.5
gunicorn==20.1.0
uvicorn==0.23.2
Additional context
https://forum.newrelic.com/s/hubtopic/aAX8W000000L5mVWAS/python-asyncio-eventloop-monitoring-not-working?transfer=%253Atrue%253F#-66

Hello,
Is this application using http at all? Or entirely just websockets?
My experience with Django channels was that the actual HTTP parts were automatically wrapped, with no manual ASGI wrapper needed. The websockets, however, are not something we currently support monitoring out of the box. ASGI Web Transactions refuse to start automatically for websocket connections.

Just WebSockets. We are running uWSGI for HTTP. Any ideas how we can implement this to get a complete picture of the eventloop? BackgroundTask helps us look at slices but not the whole picture.

The general consensus about websockets has been that we don't have a clear point to call the start and the end of a user's interaction, and as a result can't reliably start and stop transactions in a meaningful way. It's entirely dependent on the implementation of the service.
The good news is that if you can clearly define that in your code you can use background tasks to get transaction data, and if you need finer grained slices you can use our other tracing APIs such as the function trace.


:building_construction: build: use parallel jobs

Parallel execution is not possible because the Material build depends on the CDK build results.


Replace request lib?

Request is really bloated, and since it seems to only be used here to make a simple GET request, we can easily replace it with something lighter like got or axios. See<EMAIL_ADDRESS>

Hi, I proposed a similar solution last year to this problem with PR #36. (phin is more lightweight than got, to my knowledge.)

And now request is deprecated.

There is #56 currently open replacing it with got

Any news about this issue ? #56 was closed

Perhaps the thing to do would be using the native Fetch API in Node.js v18, and cut a get-pixels@v4 release? Current Node.js LTS, v16, reaches end of life in September, and we may not need a dependency at all after that.
I'd be happy to make a PR for this change, if @mikolalysenko would be comfortable reviewing it.

Possible workaround: https://github.com/scijs/get-pixels/issues/62#issuecomment-1590386919


Autofix support? (Javascript here, ESLint)

Hi there! First of all, i'm new to Vim, so sorry me in advance :D
I'm curious is there a way to automatically fix the errors the some linters gives you? For example, I'm Nodejs dev and I'm using ESLint, so.. is it possible to use the ESLint's --fix flag somehow? It's probably not a job of this (ALE) plugin, but using totally different plugin (like Neoformat) or Vim internal things, sounds like too much to me.
Also I just noticed that if I use Neoformat for example it seems it is synchronous, so it's blocking the whole work, until "fixable" errors are fixed. And no to mention that the file is pretty small ~100lines and it's shocking that is so slow.
If it isn't possible with ALE, what you suggest?

This plugin won't support fixing any problems, but I will eventually write a separate plugin that does.

Actually, I'm going to need a lot of the same code to do the same things any way. I might as well just make fixing problems part of the same project.

Yea, I was thinking the same think if it is possible. Glance look over the codebase and seems it is, yea.
Thanks for the fast response in any way! It would be great feature here, or even if in another plugin anyway

@w0rp ping me at twitter (again @tunnckoCore) or somewhere here at github, please. No matter such feature is added to this plugin or totally another plugin is created. :)

@w0rp I think it would be great to allow the user to set an option so that ale autofixes issues on save only. I guess autofixing on save doesn't break anything and it's required for ale so that it can be a replacement for neomake.

@sassanh Hold that thought for a few hours.

@tunnckoCore Okay. I have been working on adding the ability to fix files with asynchronous jobs off and on for a few days, and I just merged it into master. Check out :help ale-fix for detailed information. I added eslint --fix and autopep8 for now, plus one function for removing blank lines at the end of files.
You can configure it like so:
let g:ale_fixers.javascript = [
\ 'eslint',
\ 'remove_trailing_lines',
\ {buffer, lines -> filter(lines, 'v:val !=~ ''^\s*//''')},
\]

The above will configure ALEFix for JavaScript so it runs eslint --fix with the usual node_modules detection and so on, run a function to remove trailing blank lines, and the lambda example above will remove all line comments. (It's the easiest example I can think of.)
ALEFix is kind of the inverse of ALELint, in that it fixes files, it's only invoked manually, and no tools are configured to be run by default. You have to choose how you want to fix your files.

Hey @w0rp, thanks for working on this, it seems like it will replace fixmyjs.vim for me.  Pulling master and using it with neovim and a global eslint install, it doesn't appear to be working for me.  Here is my config:
let g:ale_fixers = {}
let g:ale_fixers.javascript = ['eslint']

Then I'm running it on a fixable file with :ALEFix but nothing is happening.  Am I doing something wrong?

@wavded Can you provide an example eslint configuration and some lines you're trying to fix?

@wavded i believe you should not add let g:ale_fixers = {}, but not sure, since i'm new to vim(script)

@w0rp that's amazing!! i'll try it when i can!

@w0rp
I think in this line https://github.com/w0rp/ale/blob/master/autoload/ale/handlers/eslint.vim#L31 it should be .eslintrc not .eslintrc.js: http://eslint.org/docs/user-guide/configuring

Ah, I need to add a few more possible filenames in there. The configuration file can have many names.

https://github.com/w0rp/ale/commit/3532257a1ac5be9896dd1d8b4a8ed75c77528946 Okay try again.

Thanks.

Ah, I need to add a few more possible filenames in there.

@w0rp hahahah, yep, that was i seen before and what i was searching last few minutes & secs: "daaamn i know there was only one thing... hm" ;d
Btw, is it possible to implement "run fixers on save" or such? Through option (variable or whatever it is called in vim world), like it is for the linting let g:ale_lint_on_save.
Or if you don't want to implement it, can it be easy fix? So i can add it manually?

@tunnckoCore you can add this to your vimrc/init.vim:
autocmd BufWritePost *.js,*.jsx,*.py ALEFix

Oh yea, forgot that.
Actually the whole code and vimscript is pretty easy to understand so i implemented few things. I can PR when get some time. :)

I don't think I'd recommend fixing files automatically on save. I suppose you could modify a file after saving it, but fixing files should be mostly non-blocking, so it can't happen before a file is saved.
What we could do is save a file, trigger fixes, writefile(), maybe set nomodified, and reload the buffer. That would work. That might be the only way for some future tools to run. Plus, it might be possible to do all of that from another buffer.

Plus, it might be possible to do all of that from another buffer.

I mention that because it's not possible to setline() from another buffer in Vim, so ALE either sets the lines immediately if the buffer is still open, or waits for the buffer to be shown again and then calls setline().

I don't think I'd recommend fixing files automatically on save. I suppose you could modify a file after saving it, but fixing files should be mostly non-blocking, so it can't happen before a file is saved.

Why not recommend it?
It works, it feels a lot better than the other similar things (neoformat for example). Don't know if it not work correctly if the file is opened and modified from multiple places. In any way, it's not my case, so it work for me.

I implemented 3) Prettier ESLint and it works and feels fantastic. And also 4):
let g:ale_fix_on_save
let g:ale_fix_on_enter
let g:ale_fix_on_insert_leave
let g:ale_fix_on_text_changed

Do you want separate PRs for 3 and 4?

@w0rp sorry for the delay, whatever you did fixed it for me, I was using .eslintrc if that made a difference.

For fixing files automatically after saving them, we need to write the changes to the file again, probably using writefile(), and deal with reloading the buffer. Then it will work. We also need to consider what happens when you use use :x or :wq.

One option that might work for saving and closing files is remembering the filename when fixing starts, and writing to that file after fixing ends, if and only if fixing is being done for the "save" event.

@w0rp Would it be possible to have the fixer look for eslint_d?

Possibly. For now, you can set the executable path for that with the options.

@w0rp Sorry, just making sure I understand, you're talking about this option: let g:ale_javascript_eslint_executable = 'eslint_d' not let g:ale_fixers.javascript correct?

@joeybaker yeah, I'm using eslind.d with:
let g:ale_javascript_eslint_executable='eslint_d'

eslint_d is in the PATH.

@joeybaker Yes, g:ale_javascript_eslint_executable.

@w0rp thanks. Any chance autoFixing isn't reading that correctly? I'm suspicious because when I call eslint_d manually, fixes are super fast, but ALEFix is noticeably slower.

@joeybaker When I set g:ale_javascript_eslint_executable to an invalid string ALEFix doesn't raise an error but it doesn't fix anything at all. So if it's fixing it's running eslint_d. Why it runs slowly with ALEFix for you is still questionable. It runs fast on my machine.

@sassanh thanks! I'll dig around a bit more.

Look at the output of :ALEInfo and see :help g:ale_javascript_eslint_use_global

@w0rp Thanks! I overlooked the need for g:ale_javascript_eslint_use_global that did the trick!

@joeybaker I just pushed a commit which will now detect eslint_d automatically in node_modules when available, so you should now be able to install eslint_d locally, and it will be detected without any options being set.

Many thanks @w0rp!

I'll close this issue, as basic support is there now.

Could this be expanded to support prettier directly (instead of going through prettier-eslint), or is it already possible to configure that way?

@adamyonk Both are now supported on master. They are suggested by :ALEFixSuggest.

Thanks for pointing me in the right direction! Here's the config I used to get it working, in case it's helpful to anyone else:
let g:ale_fixers = { 'javascript': ['prettier'] }
let g:ale_javascript_prettier_options = '--no-semi --trailing-comma es5'

I'm just waiting until the prettier guy realises that "zero configuration" is a pipe dream, and adds configuration file support for prettier.

It really is crazy that it's made it this far without it. It sure makes getting a whole team to use the same settings more difficult than it could be. 😐

"zero configuration"

It is, zero configuration. The problem is that community has different opinions :D

Another quick question about fixers: Using BufWritePre to ALEFix results in a file that is dirty after the save, what do you all use to get around that?

See :help g:ale_fix_on_save. Fixing files on save requires some care, so ALE can handle that for you.

augroup ALEGroup
  autocmd!
  autocmd User ALELint ALEFix
augroup END

Shouldn't this work as expected?

@adamyonk

It really is crazy that it's made it this far without it. It sure makes getting a whole team to use the same settings more difficult than it could be. :neutral_face:

If you are using eslint + prettier (and of course ale) like me, you can follow put prettier args in your eslintrc. See https://github.com/prettier/eslint-plugin-prettier#options for more detail.
My vim config for ale:
let g:ale_fix_on_save = 1
let g:ale_fixers = {}
let g:ale_fixers.javascript = ['eslint']

My eslintrc in my project root:
extends: airbnb
ecmaFeatures:
  jsx: true
env:
  browser: true
  jest: true
plugins:
  - react
  - jsx-a11y
  - import
  - prettier
rules:
  import/no-extraneous-dependencies:
    - error
    - devDependencies:
      - test/**
      - tests/**
      - spec/**
      - "**/__tests__/**"
      - test.js
      - test-*.js
      - "**/*.test.js"
      - "**/*.test.jsx"
      - "**/*.spec.js"
      - "**/*.spec.jsx"
      - "**/webpack.config.js"
      - "**/webpack.config.*.js"
      - "**/rollup.config.js"
      - "**/rollup.config.*.js"
      - "**/gulpfile.js"
      - "**/gulpfile.*.js"
      - "**/Gruntfile"
      optionalDependencies: false
  prettier/prettier:
    - error
    - singleQuote: true
      trailingComma: all

My package.json at project root:
{
  "scripts": {
    "build": "webpack --config ./config/webpack.config.dev.js",
    "clean": "rm -fr ./build/ ./node_modules/",
    "lint": "eslint --ext js,jsx .",
    "start": "webpack-dev-server --config ./config/webpack.config.dev.js",
    "test": "jest"
  },
  "devDependencies": {
    "babel-core": "^6.25.0",
    "babel-jest": "^20.0.3",
    "babel-loader": "^7.1.1",
    "babel-plugin-transform-react-jsx": "^6.24.1",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "eslint": "^3.19.0",
    "eslint-config-airbnb": "^15.1.0",
    "eslint-plugin-import": "^2.7.0",
    "eslint-plugin-jsx-a11y": "^5.1.1",
    "eslint-plugin-prettier": "^2.1.2",
    "eslint-plugin-react": "^7.1.0",
    "flow-bin": "^0.52.0",
    "html-webpack-plugin": "^2.30.1",
    "jest": "^20.0.4",
    "prettier": "^1.5.3",
    "react-test-renderer": "^15.6.1",
    "webpack": "^3.4.1",
    "webpack-dev-server": "^2.6.1"
  },
  "dependencies": {
    "prop-types": "^15.5.10",
    "react": "^15.6.1",
    "react-dom": "^15.6.1",
    "react-hot-loader": "next"
  }
}

Cool, that's probably a good way to configure it. I might use that myself.

What's the good way to configure it?

Huh, the guy deleted his comment. I'll show you a shortened version of what he originally included here.
" Fix JavaScript code with ESlint
let g:ale_fixers = {}
let g:ale_fixers.javascript = ['eslint']

# ESlint config as YAML
# Use prettier as a plugin for eslint, and set up options for it here.
plugins:
  - prettier
rules:
  prettier/prettier:
    - error
    - singleQuote: true
      trailingComma: all

Thanks for reposting it, after my post, strange things happened and I thought it didn't work and also because I just saw that prettier has an RFC for config files. So I deleted it. Again thanks a lot for reposting it. :+1:

Sure, no problem.

@w0rp just wanted to say thank you for all the hard work!


Use categoical and dynamc features by default in DeepAR

Currently DeepAR does not use categorical and dynamic features by default even though they are present in the dataset. The flags use_feat_dynamic_real and use_feat_static_cat are set to False by default in DeepAREstimator. This is very bad for us in terms of results since people usually run methods with their default options or miss setting these flags explicitly.
There were a couple of arguments against not using them by default but there are better remedies for them than not silently running DeepAR with incorrect options and returning less accurate results:

Issue with not setting cardinality and still using feat_static_cat: we can make cardinality argument compulsory (or ideally derive this from data)

If all time series do not have same features: there is no harm in failing with suitable error when the data is not consistent.

Which case is important/priority for us right now: Running smoothly even if the data is not properly formatted or running with correct options that succeeds only when the data is consistent?

Which case is important/priority for us right now: Running smoothly even if the data is not properly formatted or running with correct options that succeeds only when the data is consistent?

I think in case of GluonTS, we aspire to make a scientific library. Thus, I think the algorithms should fail if there are issues in the data. That informs the user that something is not right. Otherwise, you are left wondering why your results are not as good as you are expecting, especially if something is silently not used/discarded/filtered. I think this behavior should be avoided throughout the code base.

I have started looking at this issue the last two days and it is a combination of addressing the input format question and defining the correct transformations behaviour. I agree with Michael that we should not do things silently and if something is wrong we should throw an error instead of trying to filter it internally.  However, this opens more questions:

Should we check if all the fields are correct in a dataset (probably while creating windows) and throw an error if not? This adds some complexity since it needs to be applied at each created window.
What should we do with custom fields in a dataset or with fields that are not used by the model, especially with the ones that can break the code, e.g. #94 (note that the fix is not global but only for deepar - any other estimator can fail with the same issue)?
Setting aside deepar and looking at the bigger picture, what should be the behaviour of all estimators regarding the input data? Should they always take into account (or at least have the option to do so) a field that appears in the dataset or should they use only prespecified fields regardless of the input data as we were doing up to now?

For the cardinality question I think inferring it from the data in an efficient way is ideal but probably not possible. I think that an informative error message would do the job. Something like: "You are using categorical features but you have not set the cardinality hyperparameter correctly". For the flags part on deepar I have exactly the same opinion (default should be to use the feature since people usually do not know or do not bother to change these values).

I think the ideal solution would be to drive what is being used from the data (and therefore expected in the data) using schema-like structures like the following:
A simpler schema to start with could be:

{
'start': {},
'target': {'shape': ()},
'feat_dynamic_real': {'shape': (1,)},
'feat_static_cat': {'shape': (3,), 'cardinality': [4, 5, 6]}
}

This could be used among other things to configure the transformation chain: the keys in such dictionary will tell you what fields are expected to be in the data. Using this schema-like dictionary,
estimators can do many things:
* They can assume a minimal schema `{'start': {}, 'target': {'shape': ()}` unless a different one is specified; this would pretty much amount to the current behaviour, with the difference that the user will be able to specify everything about the data in one single object (instead of potentially 4 flags and 2 cardinalities)
* Or, we could decide of inferring such a schema from the training data, as soon as training is triggered.
* Given such a schema, one can use it to validate a `DataEntry` or a whole `Dataset`.

Constructing such a schema from the training data would require a full pass through the dataset, not only looking at which fields are there, but also looking for the maximum of all categorical features (to get the cardinality of their domain). But this doesn't seem too bad to me.

There are some structures in the codebase that aim at something similar I think (cfr. `MetaData`). I'm working on a POC for this, I'll send it around when I'm satisfied with it :-)

Hi, When using GluonTS DeepAR, we used the labels "dynamic_feat" for specifying the dynamic feature series and "cat" for specifying the Categorical columns similar to how we specify when using SageMaker's DeepAR. We are not seeing any errors and we do see specifying different features is producing different results. We are using default hyperparameter settings and only tuning the epoch and learning rate.
When going through the documentation, we see that the support for legacy name for dynamic features as "dynamic_feat" is present and being handled but do not see much information about "cat".
Question:

Can you please clarify if both these labels are accepted by gluonTS DeepAR also?
Is there a way we can check the feature importance from gluonts framework?

Thanks in advance,
Sujay

@lostella Can you please confirm if you were able to complete the POC?
Your solution would make using DeepAR much more easier provided we input the data in correct format without having to worry about setting multiple flags. It would also be good if we can log what are the dynamic features and categorical features being used by the model.


Reduce draw calls

Pull Request Description

Edges: New implementation uses only Rectangle under most conditions.
Node and action area: Replace some shapes with Rectangle.
List view: Replace some shapes with Rectangle.

Implements #6544.
Important Notes
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[ ] ~Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.~
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[ ] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

I'll be testing this some more in the morning (with a Book Club), but it's ready for review.

There's a flicker when the mouse enters/leaves the arc area of a corner. Thread: #6716

Also, Kaz, could you share some stats, please? What is the draw call count drop after this PR? :)

Also, Kaz, do you think you'd be able to create a debug scene with an edge only? (no nodes). Just an edge between two boxes, where you can drag one of the box? This will be insanely helpful for edge debugging / improving. I always wanted to do it, but it required getting into the edges drawing code - as you know this code well now, this should be doable pretty fast, what do you think about it? :)

Created a graph_view_edges debug scene, that shows an edge between draggable dummy nodes. I also cleaned up the FRP a lot, which made the debug scene simple.

Also, Kaz, could you share some stats, please? What is the draw call count drop after this PR? :)

Testing Orders, showing just the graph right after opening:
Before (current develop):

After (this branch, currently):

Eliminated 10/42 (~24%) of the constantly-displayed draw calls.

There are missing docs in several places for private functions, whose names are not explanatory enough. Edge drawing is super complex and good docs there will be a big time saver for the future refactoring / improvements.
There is no video attached to this PR. If a PR touches visual things, a video showing as many edge cases as possible should be attached.

Added a video, and a lot more docs. I think I've addressed everything. I also refactored the code a lot, and I think it's easier to read now.

Updated demo; the old edges are in red:
vokoscreenNG-2023-06-01_16-37-03.webm
Known differences:

At the beginning of the video, you can see the radius is different in some positions when the target is very close to the source. The old edge snaps abruptly between a sharp corner and a smoother angle. The new edge interpolates between these extremes, avoiding a sudden transition in this case.
Near the end of the video, when the target is slightly higher than the source, and barely to the side of the source, the old edges form a shark fin shape, with two different radii side by side. The new edges maintain symmetry in this case.

QA: passed 📗


chore: add full support for DSD histograms/timer

Context
As mentioned in #270, we currently lack "full" histogram support when compared to the Datadog Agent. This means that with default Datadog Agent settings, sending the same DogStatsD histogram to both the Datadog Agent and Agent Data Plane results in different metrics being emitted. No bueno.
Solution
We've taken a simple approach of continuing to utilize the Distribution metric type for timers, histograms, and distributions... but we've added a DistributionAggregation enum to metric metadata. This aggregation configuration dictates how a distribution should be aggregated: client-side or server-side.
When in server-side mode, everything functions as it previously did: distributions are sent as-is to the downstream system, maintaining their native DDSketch representation. However, in client-side mode, we calculate pre-configured statistics -- sum, min/max, percentiles, etc -- over the distribution and emit those statistics individually instead of the distribution itself.
In the DSD codec, we simply pick the appropriate distribution aggregation mode based on the metric type, and we've modified the aggregate transform to handle the two different distribution aggregation modes.
Outstanding items

[ ] Modify correctness test to stop filtering out histograms to validate that we're emitting them correctly when compared to DSD

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

#285  👈
#279
#278
main

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

Join @tobz and the rest of your teammates on  Graphite

One update here is that while this approach does work, the current situation is that we end up with a roughly ~0.5% difference in the computed aggregates between Datadog Agent and ADP. This is trivially attributed to the fact we're using DDSketch on the ADP side, which will be inherently lossy (even if the error is relatively bounded).
I'm reaching out internally to see if various stakeholders are okay to keep this in the short-term, where we could then refactor down the road to reach exact parity, since there's a lot more work to get exact parity, and histograms are relatively rare compared to other metric types.


Minor refactoring to make some logic accessible to Hibernate Reactive

Fix HHH-15761

I've also added scope change for QuerySqmImpl#isSimpleValuesInsert

I've rebased this PR to the latest changes, I'm going to merge it if it passes the build.

I'm closing this pr.
I will send a new one with more changes


Issue: The underline toggle is not working as expected

I noticed the underline method is not working as expected when comparing with bold, italic and other styles. Once enabled, I cannot disable the underline as showed in the video link below:
https://www.loom.com/share/6886367596d945e6b14b0cd1327fac80

Hi @leite-paulohf
Exactly, this is an issue of WebKit, we have opened an issue 🤞
There is a similar issue with Chrome.


Add token to metamask

Add icon/link for each token on coin list to add token to metamask wallet

I didn't get the idea. As long as I know, the token section of app-telos-native never had MetaMask tokens. In fact (again as far as I know) the whole site does not interact with MetaMask at all.

@karynemayer @DevArtemNuss @Viterbo , my mistake I initially added this to the wrong repo. disregard.

I'm closing this and creating a new one in teloscan project


bug: ManifestList parsing should not require partition_type.

In manifest list parser, we ask user to pass in a partition_type. This is incorrect since different manifest file may have different partition spec, so we should ask user to pass a HashMap<i32, StructType>, e.g. a mapping from partition spec id to partition type. See https://iceberg.apache.org/spec/#snapshots

cc @ZENOTME

Thanks! I will send a PR to fix it later.


Add file/image upload.

19:13 <michael> Re: flubber handle file upload?
19:13 <michael> Esp image upload for mobile clients
19:13 <michael> I think each backend should have an option
19:14 <michael> And then like a fallback that's just file->url
19:15 <remexre> sgtm
19:18 <michael> This is all extensions tho
19:18 <michael> Wanna open issues for these
19:18 <remexre> I'd make them optional-but-specified
19:18 <michael> Ye
19:18 <remexre> tho ig the backend needs to communicate whether it supports imgs or not

This'd probably require blob storage alongside the DB; I like content-addressed storage for this, i.e. store files as $db_path/blobs/$hash, possibly storing the MIME type in the DB.


azure-cli command to register a new provider feature requires arguments

Running the command without specifying namespace and name parameters results in an error
az feature register: error: the following arguments are required: --namespace, --name/-n

@ejschaefer : Thanks for your contribution! The author, @tfitzmac, has been notified to review your proposed change.

#sign-off


Citation

Need to think about how to be cited. See this example via Zenodo.


fix(navigation): revert css style for state-locked nav

Proposed Changes
reverting this https://github.com/coveo/plasma/pull/2669. instead I used the disabled props from the SideNavigationItem and it works like a charm
Potential Breaking Changes

Acceptance Criteria

[ ] The proposed changes are covered by unit tests
[ ] The potential breaking changes are clearly identified
[ ] README.md is adjusted to reflect the proposed changes (if relevant)

CSS wise it is fine.  I've approved with the resolution of Germain's question.

here is th code snippet to copy paste in sidebar navigation (first example) in plasma
import {FunctionComponent} from 'react';

const Item: FunctionComponent<{isLocked: boolean; url: string; currentPath: string; disabled?: boolean}> = ({isLocked, url, currentPath, disabled, children}) => {
    return (
        <SideNavigationItem isActive={currentPath.startsWith(url)} disabled={disabled}>

                {children}
                {isLocked ? (
                    <Tooltip title={'Label'}>
                        <Svg
                            svgName="lock"
                            svgClass="icon mod-16 no-link"
                            className="navigation-menu-section-item-link-icon"
                        />
                    </Tooltip>
                ) : null}

        </SideNavigationItem>
    )
}

export default () => (
    <SideNavigation>
        <SideNavigationMenuSection title="Regular Section" svgName={'coveoIcon16px'}>
            <Item url="#coveo.com" currentPath="hello-world" isLocked disabled>
                Hello
            </Item>
            <Item url="#coveo.com" currentPath="hello-world" isLocked={false}>
                Hello
            </Item>
        </SideNavigationMenuSection>
    </SideNavigation>
);```


Issue pulling from Dockerhub

Running the supplied docker command gives the error
Pulling repository docker.io/jonmaddox/harmony-api
Tag latest not found in repository docker.io/jonmaddox/harmony-api``

I found a repository that has the same Dockerfile at
https://hub.docker.com/r/jawilson/harmony-api/

Yeah I don't get why my hook isn't working with Docker Hub. It doesn't seem to be pulling the code and making the Docker.

I killed the old thing I made and created a new one that was trigger able. I'm not sure how I messed it up the first time. But I think it's all good now.


Update docs for kubedb/cli@7aeaa861

Signed-off-by: 1gtm<EMAIL_ADDRESS>

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: 1gtm:x: kodiak-appscode[bot]You have signed the CLA already but the status is still pending? Let us recheck it.


Support scala.js 1.0.0-M1

it would be good to add support for 1.0.0 milestone. I cannot publish my own open source due to my dependency on scaltest

@cquiroz I tried a quick build but unfortunately it turns out it is more involving, e.g. runNow execution context is now removed and scala.scalajs.js.annotation.JSExportDescendentClasses is no more there too, here's my branch:
https://github.com/cheeseng/scalatest/tree/experiment-scala-js-1.0.0-M1
It's quite a project to do, unfortunately.

Thanks, I can try to follow up based on your branch

For @JSExportDescendantClasses, consult the release notes of Scala.js 0.6.15: https://www.scala-js.org/news/2017/03/21/announcing-scalajs-0.6.15/#jsexportdescendentclasses-and-jsexportdescendentobjects-are-deprecated-without-direct-replacement
It should be easy to migrate to the new system.
For runNow, one dirty quick way of dealing with the suppression is to copy-paste its source from 0.6.x into your codebase.
Note that these changes can also be applied to the "main" branch that compiles to 0.6.x. In general, 1.0.0-M1 should be close to a subset of 0.6.18, so making things work in 1.0.0-M1 does not break the 0.6.x build.

This is probably not relevant anymore since scala.js 1.0.0 was released, and also, support for 1.0.0-RC2 was already published. See https://github.com/scalatest/scalatest/pull/1742.

We can close this


Text type input autofocus fails with Firefox

Description
I'm submitting a

bug report

Setting the autofocus attribute of an input element with the text type has no effect with Firefox alone.
Expected Results
The following should result in a text input automatically given focus upon page load.
<input autofocus="", type="text",/>

Actual Results
Safari and Chrome correctly give focus to the text input automatically upon page load while Firefox does not.
I've made a simple repo to demonstrate the issue.
Context (Environment)

Rust: v1.30.0-nightly (721913067 2018-08-26)

yew: v e167a00565a4b9274051e2aa9b6eee033996f1b3 (latest master as of time of filing this issue)

target: wasm32-unknown-unknown

cargo-web: v0.6.15

browser if relevant
Firefox 61.0.2

This is a known "issue"/quirk of firefox, because dynamically inserted elements (like yew uses) aren't affected by autofocus
(the spec doesn't cover how this should be handled, so technically both firefox and safari/chrome follow the spec)
the workaround is to call .focus() on the element manually, however, for that yew would need to provide lifecycle hooks on components.

Thanks for the info @deltragon, once https://github.com/yewstack/yew/issues/665 is merged this should be possible.


ENH: explicitly declared outputFilename to surpress error C2668

explicitly declared outputFilename to surpress error C2668 when compiling on VS2012

Hi, @jet47: Thanks for reminding me this and now I've removed this PR and rise another #3926.


superfluous-else-return (RET505) ignores try/else blocks

This is probably harder to check for and much more uncommon, but RET505 could potentially apply to try/else blocks as well.
Example of the admittedly pretty bad code where this cropped up for me:
try:
    run("docker --version", check=True, shell=True)
except CalledProcessError:
    return "podman"
else:
    return "docker"

What I'd expect this to be changed to:
try:
    run("docker --version", check=True, shell=True)
except CalledProcessError:
    return "podman"
return "docker"

#970 says that Pylint R1705 is implemented by RET505, but Pylint does supports else blocks on try statements, while this rule does not.
Also see #9625.

Seems reasonable to support.


Histogram breaks

Describe your changes
Implemented --breaks/-B to ggplot histogram.
breaks demonstration.zip This notebook contains breaks demonstration and errors I implemented.
Issue number
Closes #719
Checklist before requesting a review

[x] Performed a self-review of my code
[x] Formatted my code with pkgmt format
[x] Added tests (when necessary).
[x] Added docstring documentation and update the changelog (when needed)

:books: Documentation preview :books:: https://jupysql--767.org.readthedocs.build/en/767/

breaks demonstration.zip
This is the implemented behavior of breaks. @edublancas Could you take a look at the demonstration and check whether it behaves as we want when you have time?
Since I have two other issues, this does not need an immediate check.

Would it make sense to allow users to pass a range of values?
points = list(range(1000, 6000, 500))
%sqlplot histogram --table penguins.csv --column body_mass_g --breaks points

@edublancas @bbeat2782

@neelasha23

allow users to pass a range of values

With this PR implementation, the following works.
points = " ".join(map(str, range(1000, 6000, 500)))
%sqlplot histogram --table penguins.csv --column body_mass_g --breaks {points}

Shouldn't there be one more bin after 5000 till the highest value of body_mass_g ?

When specifying breaks, we are specifying a starting point, break points, and ending point. Thus, the data we query is limited to starting point <= data <= ending point. That is why the upper limit is 5000 here. This range limit is mimicking ggplot behavior in R. To avoid confusion, I added an explanation of breaks limiting range in magic-plot.md.

It might help the user if we specify what the minimum point is

Changed the error message to UsageError: All break points are lower than the min data point of {min point}. (similar to the max data point)

There would be only 1 bin if first point is less than lower datapoint and second point is higher than max value. We can provide some info to guide user when specifying points:

For this, do you think displaying a message will work better or giving a general info on the docs will work better?

@yafimvo

I think we should add some integration tests and make sure it works (or doesn't) on other databases (PostgreSQL, questdb, etc...)

Added test cases and images in test_questDB.py.

@neelasha23 @yafimvo please review again

For this, do you think displaying a message will work better or giving a general info on the docs will work better?

Docs should be fine

one thing is missing is adding one new test here:

@edublancas I added histogram-breaks, and it passed all tests

awesome!


Add AddPersistedGrantStore extension method for IIdentityServerBuilder

What issue does this PR address?
There are already methods to add most services (IClientStore, IResourceStore, IProfileService, etc.), but not IPersistedGrantStore. There's only AddInMemoryPersistedGrants, which isn't appropriate in many situations (in my case I need to persist refresh tokens).
Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements

[x] The commit follows our guidelines
[ ] Unit Tests for the changes have been added (for bug fixes / features): There are no tests for the existing methods, and a test for this doesn't seem to add much value. I'll add a test anyway if you want me to.

Other information:
N/A

thanks!

Thanks for the merge!


Only restoring my sent SMS not the ones I recieved

Backed up Note 3 thru SMS+, restored to Note 4 thru SMS+, all the threads are there but only my side of the conversation is showing (what I send, not what I received). Any ideas?
I tried moving most texts to a different folder in Google, still only my texts show up.
ver 1.5.11

Do you use Google Voice/Hangouts to send messages? (#516)

no response, closing issue


not an issue/just a bit of discussion

Hi,
I took a quick look at your MLE tutorial. It looks nice. I just have one question and then a suggestion

why not optimize(β -> -log_likelihood(X, y, β)...)? Because you want to reuse the nll?
I have also some tutorials on MLE They include a simple example of both traditional and robust standard errors. Maybe of interest.

Yes, I wanted to reuse nll in other places.
I'll add a pointer to your tutorial.

Thanks,
I was merely suggesting to add something on the Hessian/gradients.   Best, Paul

No worries: I think it's a great idea to link people to a discussion of robust standard errors.

Closed by e8fc1168b295ed0543988f9855db278a32bd109f

This tutorial looks nice!
I am running a MLE but the likelihood function is based on a numerical integration, so I don't have equations for Hessian. It would be great if there is an example like this case.

Sounds like you need finite differences. Have you tried https://github.com/JuliaDiff/FiniteDiff.jl


YAML file missing in instructions to set up CI/CD on Azure DevOps

YAML file is missing in these instructions in step 3 to set up CI/CD with Azure DevOps.
Link is broken and leads to a 404. Here is the link to the 404.

This will be covered in the infrastructure CI/CD implementation user story.


Implementing better tab manipulation in Composer

Description:
Update tab manipulation through the addition of functionalities such as:

Tabs could be moved around
Implementation of functions such as "Close tabs to the right", "Close other tabs", etc.

Affected Versions:
Ballerina 0.981.1
OS, DB, other environment details and versions:
macOS High Sierra Version 10.13.6
Suggested Labels:
Component/Composer, Type/Improvement

We have decided to discontinue composer and move all the capabilities to the Ballerina VS code plugin  hence closing this issue.

Checkout VS code plugin for Ballerina here: https://marketplace.visualstudio.com/items?itemName=ballerina.ballerina


Polybar freezes PC

I tried installing polybar both from AUR repository and from github and tried launching both the example script and a bar which would only show random text (no other modules whatsoever). As soon as I launch the command, my laptop freezes and I can't do anything, except hard restart.
The issue might be in the hardware, since I am running an identical setup on my other laptop and there is no problems there.
Info

polybar -v output:

polybar 3.1.0
Features: -alsa -curl -i3 -mpd -network -pulseaudio

i3 version <IP_ADDRESS> (03-13-2018)
Manjaro Hakoila 17.1.8
Laptop: MSI GE72VR 7RF

Hmm, that's a bad one. I suspect this probably has to do with the graphics card/driver, since you have the same setup somewhere else and this is generally the biggest difference.
Are you able to switch to a different TTY (with Ctrl-Alt-F2)?
Does polybar produce any output on the terminal?
Is the computer completely frozen? Does any music/sound continue playing? Does the screen continue to be updated (do videos continue playing)?


libffi-dev is required to make on ubuntu

With the introduction of https://github.com/gratipay/gratipay.com/commit/01b4ec3965999be45cd88229c0faa30ab5cc2adc I'm currently unable to make on my local gratipay.com because of the following error:
Installing collected packages: cryptography, ipaddress, idna, enum34, cffi, pycparser, boto3, botocore, jmespath, python-dateutil, docutils, futures, braintree, misaka, Babel, pytz, invoke, environment, honcho, libsass, six, fake-factory, raven, balanced, uritemplate, iso8601, wac, xmltodict, requests-oauthlib, requests, oauthlib, chardet, pyasn1, certifi, simplejson, postgres, psycopg2, aspen-jinja2, Jinja2, MarkupSafe, gunicorn, aspen, filesystem-tree, algorithm, dependency-injection, first, python-mimeparse
  Running setup.py install for cryptography
    c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory
     #include <ffi.h>
                     ^

Looks like simply sudo apt-get install libffi-dev libssl-dev fixed it.

Probably need to add it to the readme and https://github.com/gratipay/gratipay.com/blob/master/scripts/bootstrap-debian.sh


Add keywords for timer to make search easier

A small change that adds a few useful keywords to Timer node

Merged thanks! :)

PS Only removed "wait" from keywords as many game-specific nodes can have names like "wait on spawn". Finding Timer on list here might be confusing.

That's alright. Glad this got merged :)


Use ch to create sparsity pattern

cc: @DRollin

Codecov Report

Merging #8 (3c0ea41) into main (9b54061) will not change coverage.
The diff coverage is 0.00%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@          Coverage Diff          @@
##            main      #8   +/-   ##
=====================================
  Coverage   0.38%   0.38%
=====================================
  Files          6       6
  Lines        262     262
=====================================
  Hits           1       1
  Misses       261     261

Impacted Files
Coverage Δ

src/FEBuffer.jl
0.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


feat: lottery public view, translations fix, cypress, save and continue (release)

Pulls over the following commits from core

@ColinBuyck That would be awesome, thank you!


update arrows to use React.cloneElement

I updated arrow functions to use React.cloneElement so that you can pass in an already constructed element as well.

This fixes #291

I couldn't merge this because of merge confict.
But, I added your changes in #307

Ah, your master must have moved a little bit since I opened this.  Cool Deal! Thanks!


Refactor and add tests to Skip list implementation.

The current skip list implementation could use some refactoring and a code cleanup. It has also not been thoroughly tested. Ask @FinnLidbetter for any implementation details.

Moved here: https://github.com/williamfiset/Algorithms/issues/74


Implement gsub(regex; string; flags)

Add missing function: gsub with 3 args

Thank you for your addition, especially your illustrative tests!


Feature/implement post data

The base functionality of how data will be interpreted from a request has been implemented. The upcoming bugfix will handle some of the issues with running through the table.

Tests passed and all is well.


PP-801 Use restricted URL paths

WHAT

Naxsi is restricted and we should be when trailing slashes are added to the path (so the default Naxsi stricted rules would apply to them).
Improved logging a payment creation.

WHO

[X] Developers
[X] WebOps

👍


Bug: File extension when downloading subversion repository list

Clicking the "Subversion checkout file" button results in a file but the file extension of the downloaded file is .csv.xls. The most appropriate file extensions are .sh or perhaps .txt.
OS: MacOS 10.12 beta (build 16A313a)
Browser: Safari 10.0 (126<IP_ADDRESS>.8)
MarkUs version: 1.5.0.DEV
Ruby version: 2.2.5
Rails version: 4.2.4

The checkout file has no extension at present.


Implemented a priority executor for bevy_task

A Priority Executor is implemented on top of the async_executor::Executor, bevy_task is modified to use PriorityExecutor instead. None of TaskPool API is modified(but should expect an API change). IoTaskPool and AsyncComputeTaskPool across all crates are replaced by ComputeTaskPool for testing purpose.
Summery of behavior of PriorityExecutor:

PriorityExecutor.run() has two states:
a. Running tasks with Priority::FinishWithinFrame task
b. Running tasks with Priority::AcrossFrame and Priority::IO tasks
State a will transition to b automatically after all dispatched Priority::FinishWithinFrame tasks are finished.
State b will transition to a after a event is received and the worker thread is not occupied by task.

This is meant to be a solution of #1907, However, more tests are needed to ensure:

Priority Executor execute all of tasks with the highest priority first before starting any lower priority task.
Priority Executor exits runtime properly.

Passed:

cargo run -p ci
cargo test --all-targets --workspace

It would be nice to see benchmarks on the previous implementation vs this new PriorityExecutor.

Also would love to see some tests in a #[cfg(test)] module :)

@NathanSWard Regarding the benchmark
I did some benchmark test. By benching taskpool.scope(). it appears the performance with fewer workers(4, 8workers) has regressed by 5% - 20%, and with larger worker pool(16, 32 workers) the performance is indifferent while benching taskpool.scope(). I suspect the main difference is that async_executor::Executor::run() uses a Runner with a local cache as well as a variety of methods for finding work, but in PriorityExecutor::run(), it only uses async_executor::Executor.try_tick(), which find a task by popping the global queue.
I will try to replace async_executor::Executor.try_tick() with a Runner to see if the situation is better with fewer worker threads.

@NathanSWard Regarding the benchmark
I did some benchmark test. By benching taskpool.scope(). it appears the performance with fewer workers(4, 8workers) has regressed by 5% - 20%, and with larger worker pool(16, 32 workers) the performance is indifferent. I suspect the main difference is that async_executor::Executor::run() uses a Runner with a local cache as well as a variety of methods for finding work, but in PriorityExecutor::run(), it only uses async_executor::Executor.try_tick(), which find a task by popping the global queue.
I will try to replace async_executor::Executor.try_tick() with a Runner to see if the situation is better with fewer worker threads.
the benchmark is uploaded at https://github.com/IGreyGooI/bevy_task_pool_branchmark

Runner is not exposed async_executor, and no other cheap workaround could be found.
Until we have our own executor, this could still be an improvement regarding performance on the assumption, which is the more threads that could be being utilized by solving #1907 bring more performance than the loss of using async_executor::Executor.try_tick() instead of async_executor::Executor::run().
Further improvement could be done by implementing a modified version of async_executor, or other potential workaround.

You could test the effect by using a patched async_executor with Runner exposed. Just to see if it's worth bringing it up with the author.

Until we have our own executor, this could still be an improvement regarding performance on the assumption, which is the more threads that could be being utilized by solving #1907 bring more performance than the loss of using async_executor::Executor.try_tick() instead of async_executor::Executor::run().

yep that does make sense, I'd would be nice to see some diagnostics that all available cores are being used based on the config (and that it is actually a performance improvement).
However, I don't know if we should just bring in a change that fixes some of the cases but regresses performance in others.
It may be worth creating a separate issue about bevy having it's own executor that directly supports priority scheduling and then pursuing that path instead.
However, I'm also open to other solutions 😄

I refer to the benchmark under bevy/benches/bevy_tasks. For benchmarks under overhead_par_iter/threads, which evaluate taskpool.scope() as well, I check my commit against current main, and no significant improvement or regress is noticable(the difference is close to the noise of running same benchmark twice).
Could someone else run cargo bench iter inside bevy/benches with two different commit to confirm it?

Here is the benchmark result from running cd ./benches & cargo bench iter on https://github.com/bevyengine/bevy/commit/73f4a9d18f609e52d28e2963635560e0b78a2f9f
benchmark_bevy_main_73f4a9d.log

Here is the benchmark result from running cd ./benches & cargo bench iter on https://github.com/bevyengine/bevy/pull/2167/commits/01b46f35fc1f56d18c3fac957c3d355848d8e454
benchmark_bevy_priority_executor_01b46f3.log, which is compared to benchmark_bevy_main_73f4a9d.log

@IGreyGooI, can you comment in #2373? We've since relicensed to MIT + Apache, and I'd like to either ensure that this can be picked up or close it out.

this is potentially superceded by https://github.com/bevyengine/bevy/pull/4740 too.


Null values in GBQ not correctly converted to NaN in pandas

I'm experiencing an issue where the data frame returned by pd.read_gbq contains null values that are not recognized by Pandas.  That is, df.loc[df.foobar.isnull()] or df.loc[df.foobar.isna()] returns rows where foobar is actually not null/na. And, vice versa, for notnull() and notna() the same happens.
The problem does not exist when first downloading from GBQ as csv and importing that file.
Attached two screenshots of the issue. Unfortunately I cannot provide a data example.

Closing, as I'm not able to reproduce without more information.


disabling spelled wrong in backup-dbadatabase

disabiling should be disabling

Looking at the example code for all functions there are quite a number with spelling or grammar errors.
There are also examples where the code and the description do not match. While I am happy to make the necessary minor changes should these be done via a single pull request or with separate requests per function?

If they are just related to help you can issue a PR with a few functions
in. Wr wanna be agile even in layman's terms, so try to envision that for
the PR to be easily merged it should be also easy to review..
Balance the number of included files with that bit in mind (I'd say no more
than 10 on top of my head)
Il mer 5 set 2018, 09:38 Patrick Flynn<EMAIL_ADDRESS>ha
scritto:

Looking at the example code for all functions there are quite a number
with spelling or grammar errors.
There are also examples where the code and the description do not match.
While I am happy to make the necessary minor changes should these be done
via a single pull request or with separate requests per function?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sqlcollaborative/dbatools/issues/3890#issuecomment-418630695,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHdB-jRVdgIJzOPDC_oqV9LDZoc5I14ks5uX3-SgaJpZM4V5rnG
.


Cheveron ends

Added cheveron-style "first" and "last" icons in sm and md

https://www.figma.com/file/fjAkyElxifdf022WLL1ZqK

this PR is replaced by #23


HTML page issues

Red section content in Summary (== test session starts ===) DONE
Section headers and test headers (with ====== and ______ as identifying characteristic) do not get rendered in bold or color in sections. They are rendered correctly in Full Out though. DONE
Blue markup? DONE
On About tab, summary stats are doubled horizontally DONE
Migrate buttons at top to navbar
Consistency of theme/template DONE
Highlight on hover for test case buttons
Each Results tab should have sortability by fqtn, time and outcome
Top-level buttons (About | Passed | Full Output | etc.) should be sticky at top of page
Horizontal scroll bar should be visible at bottom of browser if page content extends beyond the page
RERUN section not working DONE (removed RERUN)

With live log console enabled, Full Output section mashes together the collecting items line with the following --- live log collection --- line:

collecting 93 items                                                                                --------------------------------------------------------------------- live log collection ----------------------------------------------------------------------

Closing; will reopen new issue with remaining issues.


SDL_GpuSetSwapchainParameters return value was not used.

can fail after SDL_GpuSupportsSwapchainComposition succeeds....
https://github.com/thatcosmonaut/SDL/issues/167

SDR and VSYNC are guaranteed to be supported so these checks are unnecessary, especially since we now have better checks for swapchain composition support than we did at the time this PR was submitted.

If the api returns a bool, it should be checked though, even if you have internal knowledge that in this case given the specific backend it won't fail.


Using age as 'timescale' for Cox Model in lifelines?

I came across several methods of defining the timescale when performing a cox regression.
The two main ones are:

time in study
age of participant

Example of time-on-study as the time-scale:
o=censored X=event
------------------------------o 36 months
--------------------------o 34
------------o 18
-------X 12
------------------X 24
------------------------------o 36
0        12         24          36
Months since baseline

Example of age as the time-scale:
o=censored X=event
50-----o 53
     52----------o 55
                  54----------X 57
                          55------------o 58
                                  56--------------o 59
                                            58---------o 60
Age in years

In R the way to incorporate age as time-scale is to use the code:
Surv(age, age + time, status)
Is there a way to do the same for lifelines package in Python? From the docs the current CoxPHFitter only takes in a duration_col. How do I incorporate the age in this column?
from lifelines import CoxPHFitter
cph = CoxPHFitter()

# example lifelines fit but
# how to fit age in function?
cph.fit(inputDf,
    duration_col='timeToDiagnosis',
    event_col='caseCancer',
    formula="age + sex")

The duration_col only takes in one column in a dataframe, hence setting the "time difference" in years is essentially similar to 1). Also, I could just incorporate age within the model covariates - though I think this is fundamentally different to allowing the model to evaluate age in the person-years / hazard estimation.

closing and answer posted here
https://stackoverflow.com/questions/78340199/using-age-as-timescale-for-cox-model-in-lifelines-python/78402705#78402705


[SPARK-28640][SQL] Only give warning when session catalog is not defined

What changes were proposed in this pull request?
LookupCatalog.sessionCatalog logs an error message and the exception stack upon any nonfatal exception. When session catalog is not defined, this may alarm the user unnecessarily. It should be enough to give a warning and return None.
How was this patch tested?
Manually run spark.sessionState.analyzer.sessionCatalog in Spark shell,
expect a warning, not an error and a stack trace.
scala> spark.sessionState.analyzer.sessionCatalog
2019-08-06 15:43:23,068 WARN  [main] hive.HiveSessionStateBuilder$$anon$1 (Logging.scala:logWarning(69)) - Session catalog is not defined
res1: Option[org.apache.spark.sql.catalog.v2.CatalogPlugin] = None

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/13815/
Test PASSed.

Test build #108733 has started for PR 25372 at commit 8dd1feb.

Can one of the admins verify this patch?

Test build #108733 has finished for PR 25372 at commit 8dd1feb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108733/
Test PASSed.

Retest this please.

Test build #108926 has started for PR 25372 at commit 8dd1feb.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14001/
Test PASSed.

Test build #108926 has finished for PR 25372 at commit 8dd1feb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/108926/
Test PASSed.

Handle typo in plugin class name for both v2 session catalog and default catalog.
Manual test cases

bin/spark-shell --conf spark.sql.catalog.session=noclass
bin/spark-shell --conf spark.sql.default.catalog=def
bin/spark-shell --conf spark.sql.default.catalog=def --conf spark.sql.catalog.def=noclass

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14380/
Test PASSed.

Test build #109317 has started for PR 25372 at commit d55a430.

Test build #109317 has finished for PR 25372 at commit d55a430.

This patch fails Java style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class CatalogClassNotFoundException(message: String, cause: Throwable)

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/109317/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14429/
Test PASSed.

Test build #109364 has started for PR 25372 at commit f814c52.

Test build #109364 has finished for PR 25372 at commit f814c52.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/109364/
Test PASSed.

Sorry for being late. Could you resolve the conflicts, @jzhuge ?

Test build #109692 has started for PR 25372 at commit 1228281.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/14741/
Test PASSed.

Test build #109692 has finished for PR 25372 at commit 1228281.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class CatalogClassNotFoundException(message: String, cause: Throwable)

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/109692/
Test FAILed.

Is this test failure related to the patch?
[error] running /home/jenkins/workspace/SparkPullRequestBuilder@2/build/sbt -Phadoop-2.7 -Phive-thriftserver -Phive -Dtest.exclude.tags=org.apache.spark.tags.ExtendedHiveTest,org.apache.spark.tags.ExtendedYarnTest hive-thriftserver/test avro/test mllib/test hive/test repl/test catalyst/test sql/test sql-kafka-0-10/test examples/test ; process was terminated by signal 9

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/15071/
Test PASSed.

Test build #110052 has started for PR 25372 at commit 1228281.

Test build #110052 has finished for PR 25372 at commit 1228281.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class CatalogClassNotFoundException(message: String, cause: Throwable)

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/110052/
Test PASSed.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/15655/
Test PASSed.


Update attributes.rb for 0.9.6

I definitely imagine you might want to actually do some sort of version check and determine the right config from there
and indeed with the influxd config command and its limited migration capabilities, might be better to just start with that?
but here's what I am using for what its worth.

agree to merge only if you can de-conflict and make sure to take advantage of adding in the node attributes where applicable for the directories of hh, meta, etc

Thanks @donaldguy  for the help.  0.10.0 is out and we have merged this https://github.com/bdangit/chef-influxdb/pull/102


fix(extension): onboarding bug with mnemonics

Checklist

[x] https://input-output.atlassian.net/browse/LW-6141
[x] Screenshots added.

Proposed solution
This PR fixes two separate issues:

Fixes a bug in the extension on-boarding flow outlined in https://input-output.atlassian.net/browse/LW-6141
Enable different mnemonic length selection for desktop on-boarding flow (to make it work like in the extension)

Testing

follow the steps outlined in https://input-output.atlassian.net/browse/LW-6141 and you should see the expected result of seeing the first page of mnemonic input
Try restoring a wallet with 12/15 mnemonics on desktop app

Screenshots
https://user-images.githubusercontent.com/172414/236194207-85a3a192-d98a-422b-8490-d77c7a383725.mp4

Allure report
allure-report-publisher generated test report!

smokeTests: ❌ test report for efc8caba

passed
failed
skipped
flaky
total
result

Total
34
2
0
0
36
❌

Seems that the smoke test failing is not related to this PR


Error: [@RNC/AsyncStorage]: NativeModule: AsyncStorage is null.

✅ Prerequisites

[x] Did you perform a cursory search of open issues? Is this bug already reported elsewhere?
[x] Are you running the latest SDK version?
[x] Are you reporting to the correct repository (magic-sdk)?

🐛 Description
Error: [@RNC/AsyncStorage]: NativeModule: AsyncStorage is null.
To fix this issue try these steps:
• Rebuild and restart the app.
• Run the packager with --reset-cache flag.
• If you are using CocoaPods on iOS, run pod install in the ios directory and then rebuild and re-run the app.
• If this happens while testing with Jest, check out docs how to integrate AsyncStorage with it: https://react-native-async-storage.github.io/async-storage/docs/advanced/jest
If none of these fix the issue, please open an issue on the Github repository: https://github.com/react-native-async-storage/async-storage/issues
, js engine: hermes
🧩 Steps to I follow to install package in React Native

npm install --save @magic-sdk/react-native
npm install --save react-native-webview

💻 Code Sample
const { Magic } = require('@magic-sdk/react-native');

const m = new Magic('API_KEY'); // ✨

const onSubmit = async () => {
        await m.auth.loginWithEmailOTP({ email<EMAIL_ADDRESS>}).then((res) => { console.log(res); })
}

🌎 Environment

Software
Version(s)

Operating System
Android

And this app was created with React Natiev CLI

Please solve this ASAP, I was stuck at work because of this.

Here you go,

Create a project with this command -  npx react-native init AwesomeProject
npm install --save @magic-sdk/react-native
npm install --save react-native-webview
npx react-native run-android
In App.js file:

const { Magic } = require('@magic-sdk/react-native');

const m = new Magic('API_KEY'); // ✨

const onSubmit = async () => {
        await m.auth.loginWithEmailOTP({ email<EMAIL_ADDRESS>}).then((res) => { console.log(res); })
}

const App ()=>{
        return(
                 <TouchableOpacity onPress={onSubmit}><Text>Login</Text></TouchableOpacity>
        )
}

Hello, @am-hernandez, Any updates ?

Hello, @am-hernandez,
Please update me with a solution, I'm waiting for the production.

Hi @kb-codes sorry for the delay in response. I wasn't able to replicate this issue so I asked for some more eyes on this from our Mobile team. Please give us more time to look into this and follow up here. Thank you!

@kb-codes have you ever managed to fix this ? having the exact same issue.

@agonist @kb-codes
We have since updated our SDKs and this may no longer be an issue with later versions. If you are able to reproduce the issue with these new SDKs please let us know.
Here are the new SDKs for Magic React Native:

@magic-sdk/react-native-bare
@magic-sdk/react-native-expo

Please let us know if you are able to reproduce this issue with either of the two SDKs listed above.
Thank you!


fix(Transaction dynamic description): Fix picking name when account/oppositeAccount is null

This caused the host transactions export (that uses the full dynamic description) to fail since there are some edge cases where CollectiveId/FromCollectiveId is missing.

Current dependencies on/for this PR:

main

PR #9614   👈

This stack of pull requests is managed by Graphite.

Closing, the edge case of account/oppositeAccount being null is already covered by model checks.


Added documentation about serving static files

Current coverage is 0.00% (diff: 100%)

Merging #767 into master will not change coverage

@@           master   #767   diff @@
====================================
  Files         210    210
  Lines         397    397
  Methods         0      0
  Messages        0      0
  Branches       14     14
====================================
  Hits            0      0
  Misses        397    397
  Partials        0      0

Powered by Codecov. Last update 64523fd...3c45935

What's the issue with the build here?

Rerunning.  There are some deadlocks that happen in 2.12 that don't in 2.11.  That's why tut still runs on 2.11.  I'm not sure what's triggering it here yet.  We might need to look into a time limit and a thread dump on our test runner to diagnose this properly.


Failed importing dump from 0.26.0 to 0.27.0

Describe the bug
The dump file was created by 0.26.0 and could be imported into 0.26.1 but failed to import into 0.27.0 with error:
Error: Meilisearch (v0.27.0) failed to infer the version of the database. Please consider using a dump to load your data.

To Reproduce
Steps to reproduce the behavior:

meilisearch --db-path /usr/local/var/meilisearch/data.ms --import-dump 20220509-064559881.dump

output:

[2022-05-12T07:33:46Z INFO  meilisearch_lib::index_controller::dump_actor] Loading dump from 2022-05-09 6:45:59.882386 +00:00:00, dump database version: 0.26.0, dump version: V4
[2022-05-12T07:33:46Z INFO  meilisearch_lib::index_controller::dump_actor::loaders::v4] Loading dump from 2022-05-09 6:45:59.882386 +00:00:00, dump database version: 0.26.0, dump version: V4
[2022-05-12T07:34:27Z INFO  meilisearch_lib::index_controller::dump_actor::loaders::v4] Loading indexes.
Error: Meilisearch (v0.27.0) failed to infer the version of the database. Please consider using a dump to load your data.
Expected behavior
Dumpping successfully.
Meilisearch version:
0.27.0
Additional context
OS: macOS 11.6.5 20G527 x86_64
Shell: zsh 5.8
Terminal: WezTerm

I have the same issue with docker image

Thanks for the report, I'll look into that on Monday!

Yep, same here: https://github.com/meilisearch/meilisearch/issues/2292#issuecomment-1123839450

Hello @leopku thanks for the report!
Are you using docker? Looks like you don't, but I'm asking just in case, since other people have the same issue when using docker, and I cannot reproduce on my machine
also, can you try to delete your data.ms and then try to import the dumps again...
However it's still weird because if you data.ms is still present you should have received this error instead of yours (if you use v0.27.0)
Error: database already exists at "/Users/curquiza/Documents/meilisearch/data.ms", try to delete it or rename it

Hello @leopku thanks for the report!
Are you using docker? Looks like you don't, but I'm asking just in case, since other people have the same issue when using docker, and I cannot reproduce on my machine

I'm not using docker. Using binary and upgrading by homebrew: brew upgrade meilisearch from 0.26.1 to 0.27.0.

also, can you try to delete your data.ms and then try to import the dumps again... However it's still weird because if you data.ms is still present you should have received this error instead of yours (if you use v0.27.0)

I had import at least twice and data.ms was deleted before each time.

Error: database already exists at "XXX/data.ms", try to delete it or rename it

I would be glad to do it again. Please wait a while and I would send the result here later.

Hello @curquiza , Same error.
meilisearch --db-path data.ms --import-dump ~/Project/corpus/20220509-064559881.dump
[2022-05-16T09:10:18Z INFO  meilisearch_lib::index_controller::dump_actor] Loading dump from 2022-05-0
9 6:45:59.882386 +00:00:00, dump database version: 0.26.0, dump version: V4
[2022-05-16T09:10:18Z INFO  meilisearch_lib::index_controller::dump_actor::loaders::v4] Loading dump from 2022-05-09 6:45:59.882386 +00:00:00, dump database version: 0.26.0, dump version: V4
[2022-05-16T09:11:01Z INFO  meilisearch_lib::index_controller::dump_actor::loaders::v4] Loading indexes.
Error: Meilisearch (v0.27.0) failed to infer the version of the database. Please consider using a dump to load your data.

I also testing v0.26.1 by manual downloading binary file of v0.26.1. It works correctly.
./meilisearch-macos-amd64 --import-dump 20220509-064559881.dump
[2022-05-16T09:12:19Z INFO  meilisearch_lib::index_controller::dump_actor] Loading dump from 2022-05-09 6:45:59.882386 +00:00:00, dump database version: 0.26.0, dump version: V4
[2022-05-16T09:12:19Z INFO  meilisearch_lib::index_controller::dump_actor::loaders::v4] Loading dump from 2022-05-09 6:45:59.882386 +00:00:00, dump database version: 0.26.0, dump version: V4
[2022-05-16T09:13:02Z INFO  meilisearch_lib::index_controller::dump_actor::loaders::v4] Loading indexes.

888b     d888          d8b 888 d8b                                            888
8888b   d8888          Y8P 888 Y8P                                            888
88888b.d88888              888                                                888
888Y88888P888  .d88b.  888 888 888 .d8888b   .d88b.   8888b.  888d888 .d8888b 88888b.
888 Y888P 888 d8P  Y8b 888 888 888 88K      d8P  Y8b     "88b 888P"  d88P"    888 "88b
888  Y8P<PHONE_NUMBER>8 888 888 888 "Y8888b. 88888888 .d888888 888    888      888  888
888   "   888 Y8b.     888 888 888      X88 Y8b.     888  888 888    Y88b.    888  888
888       888  "Y8888  888 888 888  88888P'  "Y8888  "Y888888 888     "Y8888P 888  888

Database path:          "./data.ms"
Server listening on:    "http://<IP_ADDRESS>:7700"
Environment:            "development"
Commit SHA:             "3273fe0470809af51879138c106030c3b40a0081"
Commit date:            "2022-03-16T18:32:47+00:00"
Package version:        "0.26.1"

Thank you for using Meilisearch!

We collect anonymized analytics to improve our product and your experience. To learn more, including how to turn off analytics, visit our dedicated documentation page: https://docs.meilisearch.com/learn/what_is_meilisearch/telemetry.html

Anonymous telemetry:    "Enabled"
Instance UID:           "d55d2ce5-cdc8-4ca3-a6c9-4cc35e90e481"

No master key found; The server will accept unidentified requests. If you need some protection in development mode, please export a key: export MEILI_MASTER_KEY=xxx

Documentation:          https://docs.meilisearch.com
Source code:            https://github.com/meilisearch/meilisearch
Contact:                https://docs.meilisearch.com/resources/contact.html

[2022-05-16T09:13:02Z INFO  actix_server::builder] Starting 6 workers
[2022-05-16T09:13:02Z INFO  actix_server::server] Actix runtime found; starting in Actix runtime

More testing:

create a new dump from running v0.26.1 instance.
import dump by v0.27.0

Not working.
[2022-05-16T09:24:55Z INFO  meilisearch_lib::index_controller::dump_actor] Loading dump from 2022-05-16 9:16:48.70385 +00:00:00, dump database version: 0.26.1, dump version: V4
[2022-05-16T09:24:55Z INFO  meilisearch_lib::index_controller::dump_actor::loaders::v4] Loading dump from 2022-05-16 9:16:48.70385 +00:00:00, dump database version: 0.26.1, dump version: V4
[2022-05-16T09:25:40Z INFO  meilisearch_lib::index_controller::dump_actor::loaders::v4] Loading indexes.
Error: Meilisearch (v0.27.0) failed to infer the version of the database. Please consider using a dump to load your data.

Someone of our team succeeded to reproduce the bug, we are going to fix it and a patch release (v0.27.1) as soon as possible

Hello @gekkota, can you open another issue with your detailed steps?


Zoom-in accelerator requires Shift on US keyboard layout

The standard on Windows/Linux is for Ctrl++ to zoom. However, this considers the + key, not the + character. Meaning that on an US keyboard, you have to press Ctrl+= (the = key is actually =/+ (equals sign resp. plus sign w. Shift).
However, inlyne considers the character, so here you have to press Ctrl+Shift+= resp. Ctrl+Shift++ (assuming an US keyboard).
To see what I mean, try Ctrl++ in FF, Chrome, VSCode, Photoshop, etc. You never need Shift.

That's a good point that I hadn't considered. Currently Ctrl+= is the keybinding for resetting the zoom, but we really should be trying to better match well known program's keybindings. Switching that will have to be a breaking change, but it also gives us a good chance to evaluate the new winit update since that had a lot of changes that should hopefully fix keyboard issues that we were having

Thanks heasps! :grin:


Feat/starknet-id

This PR aims to complete what has been discussed here Starknet-rs/pull/256
Quoting Jonhatan:

To be more specific, this PR is basically two parts:
Encoding/decoding: this should probably live in starknet-core as util functions.
Resolving: in this PR it's implemented as util functions/macros, but I think a better apporach would be to do it in a impl<P: Provider> for P block in starknet-providers. This should be more idiomatic IMO.
I think the ENS support in ethers-rs is very nice. Maybe it's worth taking a look.

@Th0rgal you wanted to keep the encoding/decoding in a specific starknet-id/encoding file. I didn't touch that.
The goal was to do something like that: https://docs.rs/ethers/latest/ethers/providers/index.html#ethereum-name-service
What I have is:
let client = create_sequencer_client();

let addr_result = client.domain_to_address(
    "th0rgal.stark",
    MAINNET_CONTRACT,
).await;

The logic is now in starknet-providers/src/sequencer_gateway.rs
What do you think ? It is a draft, I need to do some cleaning before merging.

I think it looks pretty good, good job :)


Add new test case for hot add dvd

Created this case based on bug https://bugzilla.redhat.com/show_bug.cgi?id=1338687
[Hyper-V][RHEL 7.2] storvsc messages for CD-ROM medium not present - tray closed
Test steps:
Create a Generation 2 VM
Start VM, add a dvd drive to scsi controller(ISO attached or not)
Check dmesg log to make sure it does not have multiple "medium not present" log, and add the call trace check.
Thank you so much.

Hi Chris,
Thank you so much for your review comments, have updated based on your comment.
Best Regards,
Xuemin


fix(docs): fix require module in samples

Rerun synthtool to pull latest changes which includues:

fix doc require statement

🙋♂ is there a reason autosynth didn't do this for us?

my guess is @theacodes paused autosynth for us during Santa's visit, but I needed this so the docs would be fixed


Transform headers

The headers autodetection is super neat but in my case, I need to transform it.
Why do you think about supporting for this passing a function at headers?
{
 headers: value => value.toLowerCase()
}

The README for the 1.x versions haven't been updated, but mapHeaders already exists for that purpose and is available in 1.x. However, I would recommend trying the 2.0 beta by installing npm install csv-parser@beta and you can view the readme for that version here https://github.com/mafintosh/csv-parser/tree/v2.0#mapheaders
We'll be releasing that as a stable version soon.

awesome, thanks!


chore: Fix some PEP issues in the backend

Pull Request Checklist
Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.
Before submitting, make sure you've checked the following:

[x] Target branch: Please verify that the pull request targets the dev branch.
[x] Description: Provide a concise description of the changes made in this pull request.
[x] Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
[ ] Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
[ ] Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
[ ] Testing: Have you written and run sufficient tests for validating the changes?
[ ] Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
[x] Label: To cleary categorize this pull request, assign a relevant label to the pull request title, using one of the following:

BREAKING CHANGE: Significant changes that may affect compatibility
build: Changes that affect the build system or external dependencies
ci: Changes to our continuous integration processes or workflows
chore: Refactor, cleanup, or other non-functional code changes
docs: Documentation update or addition
feat: Introduces a new feature or enhancement to the codebase
fix: Bug fix or error correction
i18n: Internationalization or localization changes
perf: Performance improvement
refactor: Code restructuring for better maintainability, readability, or scalability
style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.)
test: Adding missing tests or correcting existing tests
WIP: Work in progress, a temporary label for incomplete or ongoing work

Changelog Entry
Description
I have been checking some PEP style issues in the backend code finding a lot of unused imports & vars and other more severe things like duplicated function names in the same file. This changes does not affect to the performance or application behaviour however, I think will provide a cleaner code.
Removed

130 imported but unused modules

Changed

29 occurrences of None comparisons with == or != instead of is or is not
Multiple imports on one line to several lines

Fixed

Duplicated function names (get_image_size, update_image_size , get_user_chats and get_app_config) on some files
f-strings without any placeholders

Thanks for the cleanup work, always appreciated 👏 We are going to need to put this under a microscope though, since there's a significant number of affected files. If you could share with us some more information on your testing process this could help to secure our confidence some. Thanks!

Well, I've just installed the ruff package in my environment and applied most of all suggested fixes from ruff command. I know there is an open PR related https://github.com/open-webui/open-webui/pull/2041 but the difference here is that I didn't enable the linting CI task and I didn't applied some rules that can modify the behaviour.
I can provide you the list of applied rules and the configuration used with the ruff command for creating this PR. If you want it, let me know.

Hi! In order to apply the style fixes, I created a pyproyect.toml file in the /backend folder and run the ruff check . command. As I said earlier, I skipped some rules because I wasn't sure they were 100% safe.
This is the configuration I've used:
[tool.ruff]
line-length = 120
lint.ignore = [ "E722", "F405", "E731", "E402", "F841", "F403", "E712"]

[tool.ruff.lint.per-file-ignores]
'apps/webui/internal/migrations/*.py' = ['F401']

And these are the stats of the applied rules:
130     F401    Imported but unused
 29     E711    Comparison to `None` should be `cond is None`
  5     F811    Redefinition of unused name
  4     F821    Undefined name `REQUEST_POOL`
  2     F541    f-string without any placeholders
  1     E401    Multiple imports on one line

Thanks for the PR! I think it would be great to break this down into separate PRs so that it's easy for us to manually test all the different features and we know for a fact that we're not breaking anything. 😅 I'll close this for now, feel free to create a new one!


Make release notes headers linkable

It's possible to link to a specific section of Gradle docs, but not possible to do the same with Gradle release notes.


The sampling strategy in sample_ray_contracted()

Hello! I am trying to understand this piece of code:
    def sample_ray_contracted(self, rays_o, rays_d, is_train=True, N_samples=-1):
        N_samples = N_samples if N_samples > 0 else self.nSamples
        N_samples = N_samples // 6

        t_vals = (
            torch.linspace(0.0, N_samples - 1, N_samples, device=rays_o.device)[None] / N_samples
        )

        interpx = t_vals.clone()

        if is_train:
            interpx += torch.rand_like(t_vals) / N_samples
            t_vals += torch.rand_like(t_vals) / N_samples

        near, far = [1, 1e3]
        interpx = torch.cat(
            [interpx, 1.0 / (1.0 / near * (1.0 - t_vals) + 1.0 / far * t_vals)], dim=1
        )
        interpx += 1e-1
        rays_pts = rays_o[..., None, :] + rays_d[..., None, :] * interpx[..., None]

        rays_pts = contract(rays_pts)

        mask_outbbox = torch.zeros_like(rays_pts[..., 0]) > 0
        return rays_pts, interpx, ~mask_outbbox

I find that this function didnt appear in TensoRF(https://github.com/apchenstu/TensoRF). I guess it is added in localrf so I decide to submit issue here.
Would you mind explaining what exactly this code is trying to compute?
1.0 / (1.0 / near * (1.0 - t_vals) + 1.0 / far * t_vals)
is it trying to get the inverse depth?

And I wonder whether the depth_map renderred is depth or inv_depth. It is used directly in compute_depth_loss() with groundtruth invdepths, so i guess it is?

Hi,
When rendering a ray, we sample half of the points uniformly in distance in [0, 1[ and the other half is sampled uniformly
in inverse distance in [1, 1000[ (offset by 0.1). 1.0 / (1.0 / near * (1.0 - t_vals) + 1.0 / far * t_vals) samples within [near, far[ i.e. [1, 1000[. The goal is for our sampling strategy to loosely follow the resolution of the representation: due to the parameterization we use (Mip-NeRF360 contraction), the resolution is high within [-1, 1]^3 and then gets coarser as we get further from the origin. Another approach could be to sample in [0, 2[ before inverting the contraction.
The rendered depth_map is inverted before calling compute_depth_loss here.

So before contract(), the xyz of rays_pts are still in euclid space?

Yes, and the origin is the centre of the current local radiance field

ok, now i understand! Thank you for replying


Force sources to publish hot observables

In virtually all cases Gustav supports, cold observables will cause problems down the line.  Force it to publish hot observables.

.publish and then a later .connect looks to be the smartest way around this.

Not needed as of v0.2.0


python sdk 1.6.4 release notes added

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: \python sdk 1.6.4 release notes added
Jira/GitHub Issue numbers (if any): \FFM-11771
Preview links/images (Internal contributors only): __________________

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[X] Successful preview build.
[X] Code owner review.
[X] No merge conflicts.
[X] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://669e692a46a24148833636e0--harness-developer.netlify.app


How to fix EXT-X-MAP:URI in m3u8 when specifying absolute hls_fmp4_init_filename using ffmpeg?

This is not an "issue"/bug but more of a question: https://stackoverflow.com/q/60460212/470749
Probably this Issues section is only for suspected bugs, and I have no reason to think that there is a bug in PHP-FFMpeg (although maybe in ffmpeg itself?), so feel free to close this immediately. But I'd love to hear any thoughts here or on StackOverflow if you have a moment.

I'm sorry, but due to my time constraints, I'm not able to provide general guidance with ffmpeg itself, but only php-ffmpeg. However, I am fine with anyone responding here in that case.


Tweaks to signing and authorization dialogs

@BilalAlGhazi everything looks more satisfying! There's only one issue I could find though. Authorise dialog buttons are hidden regardless of screen content size.


Feature | Registration Nodelet

I have a bag file recording of raw depth and HD color from using the iai_kinect2_bridge, and I'd like to run back through it and generate registered images using calibration files from iai_kinect2_bridge. This was in part due to memory limitations with recording on the robot, and the desired flexibility of trying out different calibrations at during playback as mentioned before here: https://github.com/code-iai/iai_kinect2/issues/183#issuecomment-158819000 .
Thus I have started on adding a Kinect2RegistrationNodelet that could subscribe to raw depth and HD color topics and publish registered images by building from the original Kinect2BridgeNodelet. Perhaps this could be backported into the Kinect2BridgeNodelet with a load_driver=false ros parameter, providing much the same functionality as the openni_launch ros package, but for now I'd just like to get to working implementation first. Below is a preliminary approach using a TimeSynchronizer, leveraging much of the same pipeline and mutexes/threading. However I'm still learning C++, and could use some help in resolving a few build errors and technical implementation:
TODO:

[ ] fix build errors with initializing TimeSynchronizer
[ ] fix build errors with sensor_msgs::Image to libfreenect2::Frame conversion
[ ] make subscribed source topics ros parameter
[ ] permit lower resolution raw image publication (not just rectified)
[ ] add IR-image as an optional subscribed topic

Did you ever finish working on this and get it running?

@ruffsl Thanks for your contribution. As far as I see this PR is not complete. Closing it. Let me know if you want to continue developing this and I'll reopen.