GitHub poll in initial skill survey

poll the class: How comfortable are you with github

Which of the following best describes your experience with Git/GitHub?*
* Never worked with Git or GitHub
* Have a GitHub account but have never used
* Used GitHub to store my code or data online, but not used git to do pushes, pulls, etc.
* Have used GitHub features (such as issues or wikis), but not used git to do pushes, pulls, etc.
* Have used GitHub features (such as issues or wikis), used git to do pushes, pulls, but not pull requests
* Have used Git commands but not GitHub
* Create pull requests regularly on GitHub
* I haven’t used Git or GitHub, but I am familiar with a different version control system

also do we need to update the phrasing of  the questions  that come before learning about git
"Taking what you now know about Git, describe how it can be helpful in our critical service-learning practice and meeting the CBO’s goals. Aim to be specific. For example, try to think beyond a use such as “serving as a backup” since most people and organizations should do this."

add info about linking PRs and issues to slides?


version 0.1.1 failing

My config.
        purifycss: {
            options: {},
            target: {
                src: ['dist/index.html', 'dist/views/**/*.html'],
                css: 'dist/styles/*.css',
                dest: 'dist/styles/min.css'
            },
        },

Getting error:
Warning: this.data.css.forEach is not a function.

The value for the css property should be an array. so css: ['dist/styles/*.css']

forEach it was obvious it was expecting an array :disappointed:
Thank @kennyt


Bind to localhost only so docker does not expose the port.

LGTM! I have been using this configuration for a month now.
We could also refer users to the Docker Advanced Networking section as mentioned in #786 . The reference could be made available in the wiki, or even as a comment above the docker run command (in case users want to bind to a different interface, for example remote server access).

LGTM although this did not work for me on corp network. Did you try it Bradley?

Will this configuration work when datalab is installed on a GCE instance? (I haven't tried it)

Tested again; does not work on corp on Macs at least.
Probably not an issue on GCE as the GCE instance is firewalled anyway and you have to use an SSH tunnel. That is, we probably don't need it for GCE.

You do want it in GCE as well, in case someone inadvertently opens the port on the GCE firewall. This is a requirement from security folks.

This looks relevant: https://forums.docker.com/t/using-localhost-for-to-access-running-container/3148

gram, thanks. Will do more investigation. Basically, on Linux we need the docker lever ip binding  (the change helps). On Mac, we need vitualbox level ip binding.


Running a hab Service Group inside of k8s

This is about running a Service Group as a collection of manually created pods, and confirming that the supervisors in the SG are able to talk to one another, and, for example, elect a leader.
Two types of pods will have to be crated, since we're still relying on the current --peer mechanism, and therefore we run supervisors with different flags.
Checklist

[x] Pods can fetch from the internet
[x] Leader election succeeds

Closing as both checkboxes ticked. Also, this is too broad, I don't think it's very useful.


Fix issue with number inputs not initializing correctly.

Fixes #1125
The checks were inclusive already.  The issue was that the numeric input was initialized to the same empty string as a text input.

Seems to be working.
A side note -- I noticed when I created a new project with a numeric input, the placeholder/default value no longer showed up. Instead, it always pre-populated with 0. Is that the intended result?

Seems to be working.
A side note -- I noticed when I created a new project with a numeric input, the placeholder/default value no longer showed up. Instead, it always pre-populated with 0. Is that the intended result?

It is not the intended result It appears that number inputs dont actually have placeholders.  This is for the same reason the bug happened.  When a blank value was passed to a numeric input, it shows 0.


Play sub-folders

Is there a way to play sub-folders as well. All the way down the tree?
Also, let's say I'm at a level where I don't have any images in that folder, but I do in the sub-folders and want to play all images contained in all folders. Maybe a little "Play" icon in the lower right, like how G-Mail has the "+" icon down there to go to compose view?

I really like this idea.
Will push something through to the beta stream on the play store later tonight.

Got excited and push it out already. You can sign up for the beta here if you want to see the proposed implementation.
The problem is that there is a huge up front calculation to get all the images in all subfolders. This is going to have a huge performance hit for users that use this feature on top level folders.
I don't have an immediately obvious solution to this problem.
Clicking an image in a folder will not navigate through subfolders.
Before I roll this out to stable I want to have the following:

[ ] Performance handling
[ ] Configuration option to use sub folders or not (I can see new users using this button exclusively, instead of clicking an image)
[ ] Translations (at least partial language support)

This looks great! Thanks for looking into it!
I'm and F-Droid user, so I guess I'll wait. ;)

I appreciate you doing this. I tried it out and it's great!

@howeyc No problem. I'm genuinely happy to have it. I use this feature almost exclusively now.


Tracing: JAX-RS Client request span not visible if client times out

Environment Details

Helidon Version: 2.4.0
Helidon SE or Helidon MP: Helidon MP
JDK version: 11
OS: Windows
Docker version (if applicable): N/A

Problem Description
When firing a request using a Jersey Client, a span is generated and visible in e.g. Jaeger if the server manages to reply. However, if the server does not reply (e.g. in the case of a client timeout being reached), no span is visible.
The problem is easily reproducible using the attached example: I have created two endpoints that each call example.org One is located at /test/works and has a generous timeout value. The other is located at /test/broken and is set to timeout the connection after 1 millisecond.
By calling each of these endpoints, we will see the following for /test/works and /test/broken respectively:

Note the missing spans on the second picture (that are actually the reason for the entire trace being marked as having an error - yet the root cause of the error disappears).
Steps to reproduce

Build and run the attached sample code while having an active Jaeger All-in-One instance running locally.
Access http://localhost:8080/test/broken in a browser
Observe that there is no span in Jaeger indicating that an outbound request was attempted
Access http://localhost:8080/test/works in a browser
Observe that there is a span in Jaeger indicating that an outbound request was attempted (and was successful)

timeout-no-span-sample.zip

Fix checked into master only PR #3725


Support xcoff

It looks like there's some code in Features/Base/src/main/java/ghidra/app/util/bin/format/xcoff/ but the format doesn't show up in the "Supported formats" dialog when importing.

It is possible that the format is not called out separately from the normal formats, or that your processor ID is not in the .opinion file.  There may also be an incomplete implementation or bug in the XCOFF loader.
When you import XCOFF format binary, does only the raw binary format show up?  Only matching formats will display for the binary being imported.

Closing due to inactivity in the Q&A.

Reopening due to interest in #891.

https://blog.silentsignal.eu/2021/04/06/adding-xcoff-support-to-ghidra-with-kaitai-struct/


template quotes within JS quotes

The following results in a parse error
let activity = '{% url 'api:activity-autocomplete' %}'

Workaround is to use double quotes inside the templating.

Please use version 0.5.0

Thanks!  I undid all my changes to workaround this, and none caused an issue after upgrading.


Introduce pluggable authorization

Introduce new pluggable authorization setup in
observatorium api, it includes some minor refactoring on the
existing authorization implementation and adding the existing opa
and rbac authorizers as plugins.
Signed-off-by: Neyyan Sony<EMAIL_ADDRESS>

FYI: @periklis

Can you elaborate why we need a similar refactoring to the authentication mechanism? To my understanding we won't support more methods than OPA and static RBAC (cc @observatorium/maintainers )
@tareqmamari The correct handle to use is @observatorium/maintainers to improve the review lead time here.

This is obsolete, therefore, I am closing it.


iPhone X safe areas and MD theme

This is a (multiple allowed):

[ ] bug

[x] enhancement

[ ] feature-discussion (RFC)

Framework7 Version: 2.0.2

Platform and Target:  IOS

What you did
Used MD theme for iOS devices
Expected Behavior
To have a space around notch/status bar and the indicator for accessing the Home screen
Actual Behavior
Space around safe area not being added

Added


Add User-Agent parsing/validation support

The User-Agent field in the proxy detection API should be a semantically accurate UA string when required by user.

Here is a potential library that can be used to perform the parsing.


Intel compiler info needs to be updated on website

Intel Parallel Studio XE has been rebranded to Intel oneAPI which now contains two FORTRAN compilers: Intel FORTRAN Compiler Classic (ifort) and Intel FORTRAN Compiler Beta (ifx). Choosing a compiler and Fortran Compilers pages need to be updated accordingly.

Duplicate of #181

Bonsoir @ElAlderson, thanks for reporting 👍

Bonsoir @ElAlderson, thanks for reporting 👍

No problem!


change imagePullPolicy for gitea from Always to IfNotPresent

Having the imagePullPolicy to Always can cause docker rate limit issues if the pods are restarting multiple time, hence changing the policy to IfNotPresent.

/lgtm

/lgtm

I am fine with the policy, but we should write somewhere that people should use image secrets. The docker limit for Anonymous users is 100 pulls per 6 hours per IP address. https://docs.docker.com/docker-hub/download-rate-limit/

/approve
/lgtm

/approve


fix: set key on linux

Problem:
I try to run locally and I got an error trying to set the key from open as I saw it has an issue Just fixing the set key on Linux: https://github.com/jina-ai/dev-gpt/issues/118#issue-1805993018 then I open this pr to should what I did to fix in my local branch, just fell free to do anything with this pr
to run local
pip install -r requirements.txt
python main.py configure --openai-api-key "Key"

yes it is.. for me it works o linux


Refactor Rust manifests

Description
Refactor Rust manifests.

Reference: https://github.com/denoland/deno

Key changes

[x] Refactor Cargo.toml
[x] Add rust-toolchain.toml

Codecov Report

Merging #50 (82980a8) into main (824bb40) will increase coverage by 50.43%.
The diff coverage is n/a.

Additional details and impacted files
@@             Coverage Diff             @@
##             main      #50       +/-   ##
===========================================
+ Coverage   30.66%   81.09%   +50.43%
===========================================
  Files          34       33        -1
  Lines        3917     1312     -2605
  Branches      860       84      -776
===========================================
- Hits         1201     1064      -137
+ Misses       2526      190     -2336
+ Partials      190       58      -132

LGTM. 😀


Added IA and resolved multiple commit problem

#117

To create  and IA

Fixes: #117
Proposed Changes

Added user flowchart for the website
and solved multiple commit issue

this is the added IA

@Kajol-Kumari  and @Swarnimashukla   mam did the changes in PR please do check out

@harsh-9in  sir can you please check out the PR  IA for the website

Okk @shraddhavp  I will review it.

@shraddhavp can you please add the image in the PR description as we can't view the image binary file in here

@harsh-9in  added sir


Windows CI fails installing WSL

Component
Other (please describe)
Have you ensured that all of these are up to date?

[ ] Foundryup
[ ] Foundry

What version of Foundry are you on?
No response
What command(s) is the bug in?
No response
Operating System
None
Describe the bug
https://github.com/foundry-rs/foundry/actions/runs/3788839912/jobs/6442218919
Installing: Ubuntu 20.04 LTS

An error occurred during installation. Distribution Name: 'Ubuntu 20.04 LTS' Error Code: 0x8000ffff

Related? https://github.com/foundry-rs/foundry/pull/3945/files

I think it was failing because WSL was already installed? Anyway fixed by using a custom action for installing it in #4015


add basic functions of veLON

Add basic functions like deposit and withdraw of veLON with _checkpoint() calculation.

Force pushed to discard informal commit message.


Handle properly dismissAfter: false

Thanks! This is released as<EMAIL_ADDRESS>

ерфтлы


Dev

Original message:
While testing, however, I came acros a problem in the API. Is it possible to make a change to the file /src/Mollie.Shared/Clients/Base/ClientBase.cs, on line 94:
Replace if (!this.apiKey.StartsWith("access")) with if (!this.apiKey.StartsWith("access") && !this.apiKey.StartsWith("test"))
I'm guessing the test environment used to have a key that started with access_ , but this seems to be replaced now with a key that starts with test_


[BUG] cant see bounding box from custom database

System information

Linux Ubuntu 20.04:
**FiftyOne installed from pip:
FiftyOne version (run fiftyone --version): FiftyOne v0.14.1, Voxel51, Inc.
Python version: 3.8.10

Commands to reproduce
import fiftyone as fo
import fiftyone.zoo as foz
import fiftyone.brain as fob

dataset_dir ='path/to/dataset/i'
name = "person_door_handle_bag"

dataset = fo.Dataset.from_dir(
    dataset_dir=dataset_dir,
    dataset_type=fo.types.YOLOv4Dataset,
    name=name,
)

# View summary info about the dataset
print(dataset)

# Print the first few samples in the dataset
print(dataset.head())

# dataset = foz.load_zoo_dataset("quickstart")
fob.compute_uniqueness(dataset)
session = fo.launch_app(dataset, port=5151)

session.wait()

commands here
Describe the problem
Loaded my own dataset, and annotations. Images were loaded successfully but not the annotations ? However I can see the label in the chart.

Code to reproduce issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem.

0a0e8ceebedf7d18.txt

0a2e11f1bcd68bf7.txt

0a4c6b68ca539d0e.txt

00a5be32d303e480.txt

0a6acb71e9635072.txt

00a7d31c6cc6b7f3.txt
sample images and annotation are linked in the issue.
please help

@an99990 I was able to load one of your examples. It looks like some of samples have no detections, i.e. the list is empty.
I would double check that all images do in fact have detections, and make sure your data is formatted correctly.
import fiftyone as fo
F = fo.ViewField

# ... load dataset, check for issues
num_detections = F("ground_truth.detections").length()
samples_with_detections = dataset.match(num_detections > 0)
samples_without_detections = dataset.match(num_detections == 0)

Note that you can inspect the JSON in the visaulizer, as well.

I was also able to load with no problem like so:
import fiftyone as fo
import fiftyone.brain as fob
import fiftyone.zoo as foz

dataset_dir = "/path/to/dataset"

dataset = fo.Dataset.from_dir(
    dataset_dir=dataset_dir,
    dataset_type=fo.types.YOLOv4Dataset,
)

print(dataset)
print(dataset.head())

fob.compute_uniqueness(dataset)
session = fo.launch_app(dataset)

with the data on disk as follows:

images.txt:
data/0a0e8ceebedf7d18.jpg
data/0a2e11f1bcd68bf7.jpg
data/0a4c6b68ca539d0e.jpg
data/00a5be32d303e480.jpg
data/0a6acb71e9635072.jpg
data/00a7d31c6cc6b7f3.jpg

obj.names:
backpack
door
door_handle
person

Even without images.txt and obj.names in place, the data still loads fine, just without class label strings (like in Ben's screenshot)

Per Ben's comment, I'm guessing among the 6123 images in your dataset, it just so happened that the first 3 printed in dataset.head() have no detections. Other samples do have detections though.
You can see the ones with the most detections like this:
from fiftyone import ViewField as F

# Show samples with most
view = dataset.sort_by(F("ground_truth.detections").length(), reverse=True)
print(view.head())

# Load in App
session.view = view

thank you so much for the quick answers ! However I am not able to see any bounding box in voxel51.

so by adding these lines i was able to see the bouding boxes:
view = dataset.sort_by(F("ground_truth.detections").length(), reverse=True)

session = fo.launch_app(dataset, port=5151)
session.view = view

thank you guys !

Looks like you're already getting value from the tool: now you can see whether your dataset is fully annotated or now :)


Corehanding - fix for #231

Fixes #231 (not a bug but feature request)

new frontend options on how to handle cores generated by primary cultures (national and culture group)
replaced configuration switches with enums
reduced spam in converter (though debugging output is getting huge, need to cut on that soon)
adjusted frontend tests
split unions.txt into unions.txt and nationals.txt - first is for cultural unions (scandinavia, yugoslavia), other is for national states (denmark, serbia)

Forgot to push a file, should be fine now.


Add docs for the 'delete-then-download' update strategy

 Front conversations

@Page- added a couple of fixes (typos and not having listed the strategy in the intro section), and took the opportunity to make the intro more readable by bulletpointing things. See whether it's okay.

I'll just go ahead and merge it for now.

Yeah it looks fine, although I personally prefer Requires supervisor to Requires Supervisor, but it's more important that it's consistent with whatever we do elsewhere (I assume it's capitalised in a proper noun style)


After updating, recaptcha doesn't work

I just performed an update to Craft CMS to 3.7.43, and updated this plugin to 4.0.0-beta.3
Now the forms won't send unless I disable the Invisible reCAPTCHA. If I leave it enabled, it does not send emails.
Please help.

@mateostabio so you are now on Craft 4 then?

@mateostabio Ah, the Craft 3 version is in the version 1.X.X range. The 4.0.0-beta.3 is for Craft 4 only. Please downgrade to version 1.3.1. We will still maintain that version for Craft 3.

Also to note, this is how a lot of other plugins did it also so if you are running into issues, make sure you are using the Craft 3 compatible version.

Thank you ! Will do.


Unhandled error during execution of scheduler flush.

Vue version
3.2.40
Link to minimal reproduction
https://sfc.vuejs.org/#__DEV__eNqNVctu00AU/ZUrC8kJ9SMtrEySFsGGBUJC7DALJ54QU8e2xuO0yPK/c+48YrsF1ErNzNz3uS/33vumic6d8BJv3e5l0ahtWhWnppaKvmW7UnytH+gg6xP5UewIrOC/u8j1JMUhoEo8qm/F/p4Gq2CliNKqFIpqWfyEcksb+v6D6Wl1qGWqFswsQF29w7GmGz6vrpbUs67TipquPS76Ik/oc6aO0aGsa7nQV5lVeX1aLOk1Xa9Wq2VAdSUSKgJSDzVOuqLrYZlWg4lFPOqoc3HIuhLRM3VfA0olKtUm1DuYQ8CsVqiugXEtx5JVq0gaHMC9cAEuNVQnIB4tu+rKklmGyVCVAN8wleyE05trN8AEoQUcfcqXtNk6/wRmdM7KToA9XjcwyKJ0S+yREvO0toF8ar5l/DA+t5sqw63Egy3TJfessFhkAe20CiOwjm8pi4o83OEHPvkImeBA8R/n6hKxNT5hT4xt5pYPWdkKWOUsjUDGXElURlbUs4NAgwqQEf7n7KH6MDZoRa4kVNfxpcXxUOLUlJkSeBGtFRddX/lxFFluH6laK2nvlrnVJbxex7j+hXHznEF3+xKjsUk9DjP1tp8+Ut+bVrglnxH6QOpryD4NwwtMoF9fIIURmEnh4dAwfcS5Vrs6/z0BbdND5xBjCoPciwEVVS4elzh0XVOPknvxG1y8UHc4HNvJ5DQEhxL8GCFonMMdrOD5KlNKwsYEAseRQ6I4gM9pYQgu2y5UZz4f0Zqac4jcfU7pxvbCE108XWSz7EnnmKfXTNQc0xjfUZ1KCPo+uM+tj/2Cx7TNNOGSZxsH7hMxL/DMXg1PWRP9ausKu1kPaWoZyBi2lC2Uhy3L79Q7KtW0SRx3VXP/M8JGi+/Ai2VXqeIkQqzIuzfRTfR2FedFq6b0SLSncMf1FBIeU08vPms8BvEsZCgFKi+F/K+zJ7Izh094z5zqQcWcIgHTD80/v0wf6nL+ZQLBfZlevuehZPZ8I2sgcnlFXAl92f0Se+Xi+s/+cBti3Za1Qj/ow6yVp1NUgGKnZxweJl7azI7NHvASvQovAuPk9FEUmekJCFcYG0wjOlXXX5MYTVvOO22aN070RF4P2BZLyqxjvZK4zWdG8byk5G/5tkn97msj/o95Gr3hD2k2u88=
Steps to reproduce
Unfortunately I cannot make a simple reproductible code.
The issue happens when I sort table rows via click on the header. It worked fine on v3.2.39.
This code is responsible for "sorting" rows:
// data is from ajax call
rows.value = data.rows;

This is the template (simplified version producing the same error)

  \\ indexColumn is a fixed const, not computed/ref
  \\ columnsCount doesn't play any role in this issue
  <template v-for="(row, index) in rows" :key="row[indexColumn]">

      test

      some value

  </template>

By removing v-if="false" part or by resetting rows ref with rows.value = [] and await nextTick() it works fine again
This is the original html on initial load

This is after "sorting" - comments are not in correct spots

What is expected?

Cannot reproduce it on production server. I'm now investigating node version.

The reproduction doesn't seem to showcase the error and is also quite convoluted.
Can you open a new issue if you manage to reproduce this in a boiled-down reproduction? Thanks


Data structure enhancements COVID19_Fallzahlen_Beispiel.csv

Enhancements based on developements and discussions by the core team; @tlorusso @mmznrSTAT please review, and propose furthet enhancements, resp. raise constraints, thanks!

Feedback:

Why is there new_hosp? Is this something that is reported? Is this an important number?
If so, are other new_* columns needed as well? like new_ICU?
Is there a reason why ICU is capitalized? I propose to use lowercase for all columns
What is source_description? Is this something the cantons provide? Or a defined vocabulary?

i support lowercase for all. The 'new_hops' column adresses a specific but important need to be able to calculate the total number of people that have been hospitalized so far (which is not directly possible with the current_hosp-variable). I guess no Canton reports this number in this way yet, but we have an important request that might justify that we 'encourage' to report this number in this way.

current_hosp could be understood as currently in hospital on a given date. new_hosp would be something different and could help modelling.

source_description -> better source_comments

Could you change the readme as well so that we are all definitely on the same page when it comes to what will actually be reported and published differently?

Done:

Reviewed with Update Roundtrip Reviewers, @tlorusso, @mmznrSTAT and @metaodi
New example file adapted accordingly

Open:

New example file to be finally accepted, and introduced by Thursday morning

I'm currently working on a script to transform the old files to the new structure and vice-versa.

Here is the PR for the transformation: #472


Fixed User#fetchProfile, UserProfile#premium and added #flags

Please describe the changes this PR makes and why it should be merged:

Passing the User to UserProfile's constructor
Made UserProfile#premium a boolean of data.premium_since
Added the flags, coming from the user, to their UserProfile
I don't know how this could be properly handled,
just adding the raw bitfield may not be the best solution.

Semantic versioning classification:

[x] This PR changes the library's interface (methods or parameters added)

[ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

can you deconstruct the bitfield?
get flags() {
  // make an array from this._flags like ['STAGG', 'HYPESQUAD']
}


chore: bump Playwright to 1.28

Context: https://github.com/microsoft/playwright/issues/19246
drive-by: remove playwright dependency, since this installs all the 3 Playwright browsers as well which you don't need.
It was locally for me working on the https://github.com/microsoft/playwright/issues/18928#issuecomment-1322468572 branch.

@mxschmitt thanks for the PR, we'll take a look and get try to get it merged!

Would be helpful if we could run the e2e tests on this PR to verify nothing regressed.
Thanks!

thansk @mxschmitt Max Schmitt FTE -not sure why CI is skipping E2E tests, but they ran fine locally cc @hectormmg Hector Morales FTE

CI checks are blocked on external PRs for security reasons, we have to manually authorize them

Closing in favor of #5470 which includes these changes


Update ARM template to allow automatic deploys

Deploying the ARM template should pull in the latest code at deploy-time, with a fork specified by the user.
The issue I was having is I couldn't get the sourcecontrol ARM template resource to actually do TypeScript compilation; the default just pulled in raw TS files, and trying to use a func pack just looked for JS files that didn't exist yet.
Stretch goal: think about whether setting up automated deployment via the ARM template / Azure portal is preferable to requiring people to set up GitHub Actions with a publish profile.
This will be essential once we have a proper CMS, since at that point most people won't need to customize the backend at all.

Essential for 2022 if we need a deploy to test changes. Less essential if we have a browser editor and/or the ability to run the server locally


feat: support mysql order by clause for suggest

支持MySQL的order by语法，这样可以方便monaco-editor定制提示规则

Did you get through npm run docs？


Gesture detector scale and pan should work together

Use case
Currently in GestureDetector we are unable to use pan and scale together since pan is super of scale, but in reality pan happens when there is one finger on a component and scaling happens when there are multiple fingers. So i don't know why such issue should happens.
Our use case is that we have containers in stack which we want to pan & zoom & rotate using gestures.
Proposal
The gesture detector should be able to call pan related functions on one finger movement and should call scale related function when there is more than on finger movement.

Also i have another finding that in iOS environment onPanUpdate is also call one more time when we leave/end pan

Did you find any workaround for your use case? It seems like it is still not possible to use both simultaneously! I want to create a drawing canvas that wants scale gestures (for zooming, panning and rotating) and pan gestures (for drawing) to work simultaneously together. Please help!

No its not possible to use both that's why i asked them to help me!

This is a huge blocker. Literally can't have a scale gesture in a scrollview, since its pan will always win the gesture arena.
While the gestures are still fighting, scaling with 2 pointers should win over 1 pointer pan.

any one follow this? many people ask for it;

I'm making my own widget, so I need both scaling and panning gestures at the same time. I won't complain that Scaling is superset of Panning gesture... if I can distinguish if users are touching screen with 2 fingers or 1 finger. Even though Flutter says scaling is super set of panning, but there is no way to distinguish if user is trying to scaling or panning. I've never developed iOS, but there are codes which tell how many fingers are on the screen in Android for sure.
So I suggest that Flutter must have codes which tells how many fingers on the screen, so developers can know number of fingers on the screen, then we will be able to performing both panning and scaling by checking number of fingers. If number of fingers tells 1, then perform panning by using focalPoint or localFocalPoint. If number of fingers tells 2 or higher, then perform scaling by using scale/horizontalScale/verticalScale factor.
This may cause conflict when users put 2 fingers at first, and suddenly release only 1 finger, so Flutter must update number of fingers too when onScaleUpdate is called, then developers will handle rest of it.

but there is no way to distinguish if user is trying to scaling or panning

As I have known we can use the Listener widget for the listens pointer event, then bases on the pointer id to detect how many fingers are touching the screen.
checkout  the package gesture_x_detector for more detail.
we can listen to both scale and pan events.
Anyways, it is better if the Gesture detector can support scale and pan together, so we don't need to build our own custom gesture detector.

This is a huge flaw in the GestureDetector Widget IMO. The one mentioned is a common use case, and I don't expect two extremely different gestures to collide because one is a superset of the othe.
On top of that, the message isn't clear and onScaleUpdate being used for dragging results in bad naming.
We should strive for having both working at the same time without colliding, handling two different gestures.

Hi, everyone,
#73474 This PR will expand the detail parameter of the scale gesture so that developers can get the number of tracking fingers when the event be triggered. I think this can meet the purpose.

Hi, everyone,
#73474 This PR will expand the detail parameter of the scale gesture so that developers can get the number of tracking fingers when the event be triggered. I think this can meet the purpose.

Scale is a superset so that you can put one finger down, pan, then without lifting that finger put a second down and switch to zooming.
See Also https://github.com/flutter/flutter/issues/49025#issuecomment-756594897
I will close this issue as solved.
Feel free to leave comments to request a reopen or file a new issue if it does not meet your purpose.

Scale is a superset so that you can put one finger down, pan, then without lifting that finger put a second down and switch to zooming.
See Also https://github.com/flutter/flutter/issues/49025#issuecomment-756594897
I will close this issue as solved.
Feel free to leave comments to request a reopen or file a new issue if it does not meet your purpose.


Inefficient conversion from PETSC to array

At the moment when we convert a distributed StencilVector or StencilMatrix or BlockLinearOperator to PETSc.Vec or PETSc.Mat format with the topetsc() method, the corresponding (dense) arrays cannot be compared directly. This is because PETSc distributes the vectors or matrices differently than Psydac.
In a distributed Psydac StencilVector or StencilMatrix a process may own non-contiguous rows (for instance, if the domain is 2D and it is distributed by 4 processes). At the moment, a process with the PETSC distributed Vec or Mat object will always own contiguous rows. This is possible because when calling the assembly of the PETSc Vec or Mat object, there is an exchange of global communication.
The reason why PETSc does this is because it  does not have any information about how the domain is decomposed. Consequently, it simply decomposes the vector or matrix by rows uniformly.
The major consequence of this issue is that the function petsc_to_array becomes unnecessarily expensive, since we need to gather the array from all the processes and redistribute it according to Psydac's domain partition.
A potential solution might be to create a PETSc.DM object that contains the domain decomposition information from Psydac.
Note: In order to get the global indices of the owned rows and columns of the PETSc.Mat object, one can use the method getOwnershipIS()

Duplicate of #247?

I agree.


CR: Include order status link in Order Success page

Order status link:
https://print.all3dp.com/order-status/
orderId is part of the response to POST /order


Number of meshes in make_auxiliary_dat_file.py is fixed to 7

The Code for data/make_auxiliary_dat_file.py does not respect the command line option --num_mesh, because in line 144, the variable num_mesh is fixed to 7.
This leads to size mismatches during training. When trying to use train_gcn.py on 4 meshes I got the error:
ValueError: Dimension size must be evenly divisible by 4 but is 80458
    Number of ways to split should evenly divide the split dimension for 'position/split' (op: 'Split') with input shapes: [], [80458,3] and with computed input tensors: input[0] = <0>.

caused by
File "src/model.py", line 46, in build_keras
    mesh_coords_p = Position(mesh_coords, self.feed_dict['mesh_scale'],self.feed_dict['mesh_center'])(image_inputs)

Yes, thanks for bringing this up. Please remove line 144 from data/make_auxiliary_dat_file.py and use the desired number of meshes for your application.

I will do that. Thank you for the quick reply and for your work!


E2E: Simplify smoke and extended tests

Resolves #2869
Refactor selectors in our E2E tests so that we have 3 groups of tests:

Smoke tests that need to pass before a PR is merged
Extended tests that will run on each push to main
Performance tests that will run nightly

How this was done

Added extended_aad and shared_services tests to extended selector so that they run on /test-extended
Remove /test-shared-services and /test-extended-aad from PR bot (they can still be ran separately using a custom selector) as well as Makefile and devcontainer
Add a fixture for Workspace Services
Move all template-retrieving tests to e2e_tests/test_get_templates.py to simplify folder structure a bit
Change selectors so that extended tests run on every push to main and on nightly build, and performance tests run on nightly build (maybe we should consider running it weekly?)

@tamirkamara

running more tests on PRs is very likely to make them harder to merge given the instability we see in Azure provisioning resources

This doesn't add any more tests that are required for a PR to pass though. Only running smoke tests is required. Given that running / test-extended is optional anyway, and we can run a custom subset of tests using a selector, is this a big concern?

This doesn't add any more tests that are required for a PR to pass though. Only running smoke tests is required. Given that running / test-extended is optional anyway, and we can run a custom subset of tests using a selector, is this a big concern?

Granted - the test one hasn't changed much but I meant the extended one which is our "baseline" for the system to be functional within the PR validation.
Now extended becomes everything: gitea, firewall patch (and nexus, etc. in the future), two workspace flavors, guacamole (times 2), 2 types of VMs (linux and windows).
The question here is do we really want to do that? When we discussed this last (some months ago) we agreed to keep a balance between what runs in PR and what runs in a nightly test.
At any case, this is going to cause much more frictions to get PRs to merge and I'm not sure it's a good idea for now.
As for the custom selector, it's not relevant for many PRs as the bot doesn't (and shouldn't) expose that functionality. You must have a branch in this repo to make use of it.
Also, using a selector doesn't make the process "simpler" IMO.

@tamirkamara  I agree that a balance should be kept, my intention was mostly bringing all these additional things to extended set of tests and only mandate to run it nightly.
Is there maybe a case of bringing some tests that were previously in extended test into smoke, to really make it, as you say, baseline for the system to be functional.
Alternatively we could create a new selector, call it baseline and only add tests there that are absolutely essential for the PR to pass. (Though wouldn't there be overlap with smoke, would we need both?)
Let's discuss on the morning call tomorrow?


Add useXcpretty to Xcode template

Make it easier to diagnose why a failing build failed.
With xc pretty enabled, the only output you get is:
▸ Building XcodeHelloWorld/XcodeHelloWorld [Release]
▸ Check Dependencies
** BUILD FAILED **
 ##[error]Error: /usr/bin/xcodebuild failed with return code: 65

Closing due to age, please reopen if needed.


Implemented updateMany method as required in issue #117

Description
This PR contains an implementation of a method that enables the user to update many leaves of the tree at once, with the restriction of those leaves being already in the tree. That is, the method doesn't insert new elements in the tree and throws an error when trying this.
Additionally, I included a test suite that checks the method behaves as expected and a short description of the method in its declaration.

Related Issue(s)
This is my resolution for issue #117.

Other information
The proof of why the new method implementation doesn't improve worst-case time complexity compared with the naive approach is not trivial, and I didn't include it in the method description because it would take several lines. But I can write it down to include it in the LeanIMT paper if desired.

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] I have run yarn style without getting any errors
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

@ChinoCribioli thanks for this PR 👍🏽

The proof of why the new method implementation doesn't improve worst-case time complexity compared with the naive approach is not trivial, and I didn't include it in the method description because it would take several lines. But I can write it down to include it in the LeanIMT paper if desired.

I think it makes sense to add this info to the function. No worries if it needs several lines.


[youtube] Signature extraction failed

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2023.01.06 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
Russia
Provide a description that is worded well enough to be understood
Playing the following URL with mpv+yt-dlp fails: https://www.youtube.com/watch?v=0pB4N59-uBc
The output is:
[ytdl_hook] ERROR: [youtube] 0pB4N59-uBc: Signature extraction failed: Traceback (most recent call last):
[ytdl_hook]   File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 2500, in _decrypt_signature
[ytdl_hook]     return func(s)
[ytdl_hook]   File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 2406, in <lambda>
[ytdl_hook]     return lambda s: ''.join(s[i] for i in cache_spec)
[ytdl_hook]   File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 2406, in <genexpr>
[ytdl_hook]     return lambda s: ''.join(s[i] for i in cache_spec)
[ytdl_hook] TypeError: string indices must be integers
[ytdl_hook]  (caused by TypeError('string indices must be integers')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
[ytdl_hook] youtube-dl failed: unexpected error occurred

This error can also be reproduced purely in yt-dlp with this command line:
yt-dlp --list-formats https://www.youtube.com/watch?v=0pB4N59-uBc

Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
$ yt-dlp -v --list-formats https://www.youtube.com/watch?v=0pB4N59-uBc
[debug] Command-line config: ['-v', '--list-formats', 'https://www.youtube.com/watch?v=0pB4N59-uBc']
[debug] User config "/home/lastique/.config/yt-dlp/config": ['--socket-timeout', '10', '--skip-unavailable-fragments', '--concurrent-fragments', '5', '--mark-watched', '--buffer-size', '256K', '--http-chunk-size', '1M', '--format-sort', 'quality,res,fps,codec,size,br,asr,proto,ext,hasaud,source,id', '--format', '(bestvideo*[dynamic_range=?SDR][width<=?2560]+bestaudio)/best[dynamic_range=?SDR]']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2022.04.08 [7884ade65]
[debug] Python version 3.10.6 (CPython 64bit) - Linux-5.15.0-58-lowlatency-x86_64-with-glibc2.35
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.1.2-1mind3 (setts), ffprobe 5.1.2-1mind3, rtmpdump 2.4
[debug] Optional libraries: brotli, certifi, Cryptodome, secretstorage, mutagen, sqlite, websockets
[debug] Proxy map: {}
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=0pB4N59-uBc
[youtube] 0pB4N59-uBc: Downloading webpage
[youtube] 0pB4N59-uBc: Downloading android player API JSON
[debug] Loading youtube-sigfuncs.js_4248d311_109 from cache
ERROR: [youtube] 0pB4N59-uBc: Signature extraction failed: Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 2500, in _decrypt_signature
    return func(s)
  File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 2406, in <lambda>
    return lambda s: ''.join(s[i] for i in cache_spec)
  File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 2406, in <genexpr>
    return lambda s: ''.join(s[i] for i in cache_spec)
TypeError: string indices must be integers
 (caused by TypeError('string indices must be integers')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/usr/lib/python3/dist-packages/yt_dlp/extractor/common.py", line 641, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 3357, in _real_extract
    live_broadcast_details, is_live, streaming_data, formats = self._list_formats(
  File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 3271, in _list_formats
    formats = list(self._extract_formats(streaming_data, video_id, player_url, is_live, duration))
  File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 3098, in _extract_formats
    signature = self._decrypt_signature(sc['s'][0], video_id, player_url)
  File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 2502, in _decrypt_signature
    raise ExtractorError('Signature extraction failed: ' + traceback.format_exc(), cause=e)

  File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 2500, in _decrypt_signature
    return func(s)
  File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 2406, in <lambda>
    return lambda s: ''.join(s[i] for i in cache_spec)
  File "/usr/lib/python3/dist-packages/yt_dlp/extractor/youtube.py", line 2406, in <genexpr>
    return lambda s: ''.join(s[i] for i in cache_spec)
TypeError: string indices must be integers

[debug] yt-dlp version 2022.04.08 [7884ade65]

Latest version: 2023.01.06
update yt-dlp
duplicate of #4635

Thanks and sorry for the noise. I messed up updating yt-dlp and thought I was running the latest version.


shadowNonLayouts: MessageNotUnderstood: StringMorph>>showDropShadow

On the part 2 of the tutorial, self shadowNonLayouts. raises MessageNotUnderstood: StringMorph>>showDropShadow.

Eduardo,
Many thanks on the bug report.
My bad.  I will update the tutorial soon.
To make dropShadows work, please git clone the HereBeDragons repository:
git clone https://github.com/KenDickey/HereBeDragons.git
Then, in Cuis, open a file list, select directory HereBeDragons and install the change set:
DropShadow-KenD.2.cs.st
Now the self shadowNonLayouts should work.
Again, thanks for the report!
-KenD
On Thu, 07 Sep 2017 23:09:31 +0000 (UTC)
Eduardo de Oliveira Padoan<EMAIL_ADDRESS>wrote:

On the part 2 of the tutorial, self shadowNonLayouts. raises MessageNotUnderstood: StringMorph>>showDropShadow.

--
-KenD

Thank you Ken, I'll be able try it later today!
On Fri, Sep 8, 2017 at 12:47 PM Ken Dickey<EMAIL_ADDRESS>wrote:

Eduardo,
Many thanks on the bug report.
My bad. I will update the tutorial soon.
To make dropShadows work, please git clone the HereBeDragons repository:
git clone https://github.com/KenDickey/HereBeDragons.git
Then, in Cuis, open a file list, select directory HereBeDragons and
install the change set:
DropShadow-KenD.2.cs.st
Now the self shadowNonLayouts should work.
Again, thanks for the report!
-KenD
On Thu, 07 Sep 2017 23:09:31 +0000 (UTC)
Eduardo de Oliveira Padoan<EMAIL_ADDRESS>wrote:

On the part 2
of the tutorial, self shadowNonLayouts. raises MessageNotUnderstood: StringMorph>>showDropShadow.

--
-KenD
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Cuis-Smalltalk-Learning/Learning-Cuis/issues/3#issuecomment-328140664,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACjn6z97p7rNNFrBg-G0apFxz9JJp50ks5sgWGbgaJpZM4PQgCQ
.

On Fri, 08 Sep 2017 10:06:30 -0700
Eduardo de Oliveira Padoan<EMAIL_ADDRESS>wrote:

Thank you Ken, I'll be able try it later today!

I have updated the LayoutTutorialPart2.md file with instructions on installing DropShadows.
If you (or anyone) has time, please look and try this out to see if it makes sense to you.  And if it works!
By the way, after loading the DropShadow change set, you can open a menu on any morph and use a checkbox to show its drop shadow.   Not for everyone, but I like the look.
Thanks again,
-KenD


MatMul on NVIDIA GPU

I can't find any tutorial on tuning MatMul on NVIDIA GPU, so I simply modify the tutorial on tuning MatMul on CPU to get started.
I just added some bind expressions in order to make the schedule work on NVIDIA GPU.
import tvm

def matmul_v0(N, L, M, dtype):
    A = tvm.placeholder((N, L), name='A', dtype=dtype)
    B = tvm.placeholder((L, M), name='B', dtype=dtype)

    k = tvm.reduce_axis((0, L), name='k')
    C = tvm.compute((N, M), lambda i, j: tvm.sum(A[i, k] * B[k, j], axis=k), name='C')
    s = tvm.create_schedule(C.op)

    # schedule
    y, x = s[C].op.axis
    k = s[C].op.reduce_axis[0]

    yo, yi = s[C].split(y, 4)
    xo, xi = s[C].split(x, 4)

    s[C].bind(yo, tvm.thread_axis("blockIdx.y"))
    s[C].bind(xo, tvm.thread_axis("blockIdx.x"))
    s[C].bind(yi, tvm.thread_axis("threadIdx.y"))
    s[C].bind(xi, tvm.thread_axis("threadIdx.x"))
    s[C].reorder(yo, xo, k, yi, xi)

    return s, [A, B, C]

N, L, M = 32, 32, 32
s, a = matmul_v0(N, L, M, 'float32')
fmatmul = tvm.build(s, a, "cuda", target_host="llvm", name="matmul_v0")

But it doesn't work. The Error Message is as bellow:
"tvm/src/pass/make_api.cc", line 188 TVMError: Not all Vars are passed in api_args:  'i.inner.init'  'j.inner.init'  does not appeared in api_args
What's the problem with this schedule? And it would be so great if there will be a tutorial on tuning MatMul on NVIDIA GPU added in the future. Thanks!

An example of matmul on cuda is available here. https://github.com/dmlc/tvm/blob/master/topi/recipe/gemm/cuda_gemm_square.py
Please use the discussion forum for questions like this.


Add CI workflow to deploy to crates.io

crates.io is the standard Rust package repository and seems to be where everybody uploads their code, even for executables (cf. PyPI).
We should follow suit and upload MUSE 2.0 there too (we'll need to make a release first). There is already a crate called muse, but we will likely want to keep our crate's name as muse2 anyway (assuming we don't change the name).

Wrong project again....


Issue with latest openssl-1.1.0f with android-ndk-r8e

I am getting an error in openssl while compiling app with openssl-1.1.0f using android-ndk-r8e.
Please help me, I am not able to figure out this.
Below are the errors getting in openssl.

libcrypto.a(init.o):init.c:function ossl_init_base_ossl_: error: undefined reference to 'atexit'
error: invalid use of incomplete type 'SSL_CTX {aka struct ssl_ctx_st}'
/ossl_typ.h:145:16: error: forward declaration of 'SSL_CTX {aka struct ssl_ctx_st}'
error: invalid use of incomplete type 'SSL {aka struct ssl_st}'
ossl_typ.h:144:16: error: forward declaration of 'SSL {aka struct ssl_st}'

Same as #2239 and others...
This structure is now opaque and allocated/handled/freed using dedicated methods.

@FdaSilvaYY is right for 2 and 3; it's probably a bug in your application.  But 1 is different.  Please post the error message.

@FdaSilvaYY/ @richsalz thank you so much for the reply.
Regarding 1 issue.
I am using
status = curl_easy_setopt(curlHandle, CURLOPT_SSL_CTX_FUNCTION, SslPreInitListener);
SslPreInitListener contains three paramter(CURL * curlHandle, SSL_CTX * sslCtx, void * ctxData) which is called by curl, now how I will handle this because I am not created SSL_CTX instead getting this from curl as a callback return and if access sslCtx->app_verify_arg = ctxData; it gives error.
I am using curl latest version 7.55.1.
Regarding 3 issue.
I am getting same error as mentioned above.
libcrypto.a(init.o):init.c:function ossl_init_base_ossl_: error: undefined reference to 'atexit'
collect2: error: ld returned 1 exit status. Below is the code snipet where issue is coming.
If I comment "atexit(OPENSSL_cleanup);" then it works fine.
`DEFINE_RUN_ONCE_STATIC(ossl_init_base)
{
#ifdef OPENSSL_INIT_DEBUG
fprintf(stderr, "OPENSSL_INIT: ossl_init_base: Setting up stop handlers\n");
#endif
/*
* We use a dummy thread local key here. We use the destructor to detect
* when the thread is going to stop (where that feature is available)
*/
CRYPTO_THREAD_init_local(&threadstopkey, ossl_init_thread_stop_wrap);
#ifndef OPENSSL_SYS_UEFI
atexit(OPENSSL_cleanup);
#endif
if ((init_lock = CRYPTO_THREAD_lock_new()) == NULL)
return 0;
OPENSSL_cpuid_setup();
/*
 * BIG FAT WARNING!
 * Everything needed to be initialized in this function before threads
 * come along MUST happen before base_inited is set to 1, or we will
 * see race conditions.
 */
base_inited = 1;

#if !defined(OPENSSL_NO_DSO) && !defined(OPENSSL_USE_NODELETE)
ifdef DSO_WIN32
{
    HMODULE handle = NULL;
    BOOL ret;

    /* We don't use the DSO route for WIN32 because there is a better way */
    ret = GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS
                            | GET_MODULE_HANDLE_EX_FLAG_PIN,
                            (void *)&base_inited, &handle);

    return (ret == TRUE) ? 1 : 0;
}

else
/*
 * Deliberately leak a reference to ourselves. This will force the library
 * to remain loaded until the atexit() handler is run at process exit.
 */
{
    DSO *dso = NULL;

    ERR_set_mark();
    dso = DSO_dsobyaddr(&base_inited, DSO_FLAG_NO_UNLOAD_ON_FREE);
    DSO_free(dso);
    ERR_pop_to_mark();
}

endif
#endif
return 1;

}`

Curl builds with openssl 1.1.0; if you are having problems with curl source, try asking "over there."
Atexit is part of windows.  How did you configure openssl?

@richsalz, Thanks for the reply.
Sure I will ask this to curl team.
Below is my openssl config command.
./Configure android -no-asm -fpic

Android support in 1.1.1 has bee overhauled. Moving this issue to 1.1.0 milestone.

This is an issue in an unsupported 1.1.0 branch. Closing.


Add Qubole  JDBC driver config

We need to add Qubole JDBC driver config.
The only problem is to test it.

Qubole driver has too complicated connection settings:

Server type (hive/presto/sqlcommand/spark)
Cluster label
Database
Cluster endpoint

It is too much for Generic driver connection page. So we probably need to create new extension and new connection page.
Not sure about 6.2 release and CE..

Hi @serge-rider are there any updates related to this ticket? It looks like it's been removed entirely from the project board. Are there any workarounds? Thanks so much.


UP needs to record item lineage correctly for HL7 Batch messages

User Story:
As a sender, I want ReportStream to correctly record the item lineage of my full-ELR data, so I can keep track of my data.
Description/Use Case
The UP has been processing only HL7 single message files, but it is capable of processing HL7 batch files.  Looks like there is an issue recording the item lineage correctly when the convert step is processing a batch file.  We need the UP to successfully process and record HL7 batch data.
Risks/Impacts/Considerations
Dev Notes:

The convert process is the one that splits the HL7 messages, so this is the step that needs to record the item lineage correctly.
When sending a batch message to the UP I get this error:

Exception: IllegalStateException: There are child reports (dbfc0970-f77f-4311-a0de-c6345060f8a1) but no item lineages
...
Caused by: java.lang.IllegalStateException: There are child reports (dbfc0970-f77f-4311-a0de-c6345060f8a1) but no item lineages
[2022-11-14T15:39:30.603Z] 	at gov.cdc.prime.router.azure.ActionHistory.generateReportLineagesUsingItemLineage$prime_router(ActionHistory.kt:643)
[2022-11-14T15:39:30.604Z] 	at gov.cdc.prime.router.azure.ActionHistory.generateLineages(ActionHistory.kt:214)
[2022-11-14T15:39:30.604Z] 	at gov.cdc.prime.router.azure.DatabaseAccess.saveActionHistoryToDb(DatabaseAccess.kt:1244)
[2022-11-14T15:39:30.604Z] 	at gov.cdc.prime.router.azure.WorkflowEngine$recordAction$1.invoke(WorkflowEngine.kt:697)
[2022-11-14T15:39:30.604Z] 	at gov.cdc.prime.router.azure.WorkflowEngine$recordAction$1.invoke(WorkflowEngine.kt:697)

Acceptance Criteria

The UP can process an HL7 batch file submitted by a sender.
The UP records the proper lineage of the individual HL7 messages in an HL7 batch file.

https://app.zenhub.com/files/304423150/7ea14fba-93ab-4935-88d7-366bbea22b06/download

@arnejduranovic Please review and let us know if this is still needed.


Add a useInstrumentedHandler hook

Adds a useInstrumentedHandler hook to easily augment handlers with newrelic.addPageAction calls.

Putting this PR on hold until we fully figure out the landscape for tracking based on the conversation the morning of 2/17

Since we decided to move forward with NR Browser tracking, this PR is unblocked


Correction for raw affiliation INRAE, Univ Montpellier, LBE,,INRAE, Univ Montpellier, LBE,,INRAE, Univ Montpellier, LBE,,INRAE, Univ Montpellier, LBE,

Correction needed for raw affiliation INRAE, Univ Montpellier, LBE,,INRAE, Univ Montpellier, LBE,,INRAE, Univ Montpellier, LBE,,INRAE, Univ Montpellier, LBE,
raw_affiliation_name: INRAE, Univ Montpellier, LBE,,INRAE, Univ Montpellier, LBE,,INRAE, Univ Montpellier, LBE,,INRAE, Univ Montpellier, LBE,
new_rors: 03rnk6m14;051escj72;003vg9w96;022m8c549
previous_rors: 03rnk6m14;051escj72;003vg9w96
works_examples: W4316500253
contact: 4efb67c21881f359e827cfb527413bf6:ece5fefe6dfa42b4e3a1c066437a4863ac99 @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-09. The new affiliations should be visible within the next 7 days.


Wrong SQL generated for Preload

Currently using GORM to connect to two databases: POSTGRES AND sqlite (using a code switch to choose which one to use). I have a 2 database tables defined in my schema that look like this:
type TableClient struct {
    Model
    Synchronised bool
    FacilityID string `gorm:"primary_key"`
    Age                       int
    ClientSexID               int
    MaritalStatusID           int
    SpecificNeeds             []TableOptionList`gorm:"many2many:options_specific_needs"`
}

type TableOptionList struct {
    ID        int `gorm:"primary_key"`
    Name    string
    Value   string
    Text    string
    SortKey int
  }

Previously, I would preload related table with code like this:
var dbClient TableClient
Db.Where("facility_id = ? AND client_id = ? AND id = ?;", URLFacilityID, URLClientID, URLIncidentID).
   Preload("ClientSex").
   Preload("MaritalStatus").
   Preload("CareTakerRelationShip").
   Preload("HighestLevelOfEducation").
   Preload("Occupation").
   Preload("SpecificNeeds").
   First(&dbClient)

Now that lookup fails with a syntax error and when I look at the SQL generated, it shows the following SQL is generated:
SELECT * FROM "table_option_lists" INNER JOIN "options_specific_needs" ON       "options_specific_needs"."table_option_list_id" = "table_option_lists"."id" WHERE (("options_specific_needs"."table_client_id","options_specific_needs"."table_client_facility_id") IN (('one','LS034')))

Pasting that into the sqlite console also fails with the same error: (near ",": syntax error)

Hello,
Could you provide a script following https://github.com/jinzhu/gorm/blob/master/CONTRIBUTING.md#executable-script-template that could reproduce your issue?

I have issue a pull request for that bug.

Copied the script from PR, pull request is used for fix things, not submit runnable script ;)
Seems like this is a hard to fix issue, it might take some time, let me think about this, for now, maybe just don't use sqlite for composite primary key...
package main

import (
	_ "github.com/go-sql-driver/mysql"
	"github.com/jinzhu/gorm"
	_ "github.com/lib/pq"
	_ "github.com/mattn/go-sqlite3"
)

var Db *gorm.DB

func init() {
	var err error
	Db, err = gorm.Open("sqlite3", "test.db")
	if err != nil {
		panic(err)
	}
	Db.LogMode(true)
}

func main() {
	facilityID := "LS342"
	clientID := "222017"

	type TableOptionList struct {
		ID   int `gorm:"primary_key"`
		Name string
	}

	type TableClient struct {
		gorm.Model
		FacilityID    string            `gorm:"primary_key"`
		ClientID      string            `gorm:"primary_key"`
		SpecificNeeds []TableOptionList `gorm:"many2many:options_specific_needs;ForeignKey:facility_id,id"`

		Client   TableOptionList
		Facility TableOptionList
	}
	Db.AutoMigrate(&TableClient{})
	Db.AutoMigrate(&TableOptionList{})

	var newClient TableClient
	Db.FirstOrCreate(&newClient, TableClient{FacilityID: facilityID, ClientID: clientID})

	Db.Model(&newClient).Association("SpecificNeeds").Append([]TableOptionList{TableOptionList{ID: 1, Name: "Lusaka"}})

	//Test with standard Preload - wrong SQL that won't work on Sqlite because
	//of the IN statement
	var DbClient TableClient
	Db.Where("facility_id = ? AND client_id = ?", facilityID, clientID).
		Preload("SpecificNeeds").
		First(&DbClient)

	//Try with custom SQL - instead it runs the custom SQL then appends the bad
	//SQL too with an AND statement.
	var DbClient2 TableClient
	Db.Where("facility_id = ? AND client_id = ?", facilityID, clientID).
		Preload("SpecificNeeds", func(s *gorm.DB) *gorm.DB {
		return s.Where(
			`SELECT *
			FROM "table_option_lists"
			INNER JOIN "options_specific_needs"
			ON "options_specific_needs"."table_option_list_id" = "table_option_lists"."id"
			WHERE ("options_specific_needs"."table_client_facility_id" = ? AND "options_specific_needs"."table_client_id" = ?)`, facilityID, clientID)
	}).
		First(&DbClient2)
}


Typo "managed instance"→"Azure SQL Managed Instance"

https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview?view=azuresql
https://github.com/MicrosoftDocs/sql-docs/blob/live/azure-sql/managed-instance/sql-managed-instance-paas-overview.md
#PingMSFTDocs

Looks good. Thanks @hyoshioka0128


correctly take unstable-features

fixes #127

r? @ryankurte
(rust-highfive has picked a reviewer for you, use r? to override)

ci errors are one of the issues with not having a lockfile :), we could specify --locked to avoid this.
can bump MSRV

can bump MSRV

I think that's probably the way to go...

done, we should get a release out after this too

interesting.
bors retry

bors cancel
the bors matrix is looking for version number

bors try
should fail

bumping msrv due to https://github.com/rust-lang/rust/issues/105167 on macos


⚠ ClamAV has degraded performance

In a9b5019, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 83 ms

Resolved: ClamAV performance has improved in e781dc0.


Add smoke test to CI

Currently I am only running smoke test on client side as I haven't figured out how to set that up on github action.
Data used: https://zenodo.org/record/7901637

closed by #15


[MINOR][SQL] Simplify the method resolveExprsAndAddMissingAttrs

What changes were proposed in this pull request?

The method resolveExprsAndAddMissingAttrs contains redundant code: getting the newExprs and newChild shows up 4 times in different branches.
This PR is to simplify the implementation of the method.
Why are the changes needed?

Code clean up and remove redundant code.
Does this PR introduce any user-facing change?

No
How was this patch tested?

Existing tests

Merging to master


Managing FederatedSecrets

Is your feature request related to a problem? Please describe.
I have some Kubernetes Federation v2 clusters that serve the same FederatedIngress across multiple IPs, each in its own cluster.
I would like the resulting ingresses to use the same Let's Encrypt certificate for all the clusters.  So, the certificate secrets need to be synchronized across all clusters, but having cert-managers in every cluster would cause conflicts in trying to solve the same challenge simultaneously.
Describe the solution you'd like
I would like to run an issuer specific to the Federation in just one cluster (the Federation host cluster), and have that cert-manager create/update a FederatedSecret whenever the challenge has been solved.  This will enable Federation to propagate Secrets to all the member clusters.
I would expect this to be triggered by annotations on the federation host cluster's Ingress (which can be common to all clusters, they just won't be acted on):
    metadata:
      annotations:
        # Annotations that trigger the FederatedSecret generation.
        certmanager.k8s.io/secret-api-version: types.federation.k8s.io/v1alpha1
        certmanager.k8s.io/secret-kind: FederatedSecret
        # Annotations specific to how the certificate is created.
        # They are orthogonal to the generation of the secret.
        certmanager.k8s.io/cluster-issuer: letsencrypt-prod
        certmanager.k8s.io/acme-challenge-type: dns01
        certmanager.k8s.io/acme-dns01-provider: dns

I would expect the above Ingress annotations to result in a Certificate that contains (among other things):
spec:
  secretApiVersion: types.federation.k8s.io/v1alpha1
  secretKind: FederatedSecret

These would then create a FederatedSecret:
apiVersion: types.federation.k8s.io/v1alpha1
kind: FederatedSecret
spec:
  template:
    data:
      tls.crt: daotsidaehdsiaethdstasi...
      tls.key: adoeistadei...

The spec.template indirection is done because cert-manager would recognize that a spec.secretKind: FederatedSecret needs special handling.
From that point, Federation v2 takes over and creates individual Secrets on all the clusters.
Describe alternatives you've considered
I've considered manual updating of FederatedSecrets, but that does not facilitate the use of Let's Encrypt secrets because they need periodic refreshing.
I've also considered using a key pair to generate organization-signed certificates in each cluster, but those require adding a custom CA certificate to the clients.
Additional context
I am willing to work on a PR.  The first thing I will do is implement spec.secretApiVersion and spec.secretKind for Certificates.  The Ingress annotations for these fields, while still important to me, can come second, as I can create the Certificate manually at first.
Environment details (if applicable):

Kubernetes version: v1.13.2
Cloud-provider/provisioner: kubeadm on-premises, Azure AKS
cert-manager version: 0.5.0
Install method: helm

/kind feature

Oh, and I'm running macos/darwin, which makes developing these changes significantly more difficult. :(

BTW, MacOS build is made possible by #1601.

Thanks for the detailed proposal and discussion on how this can be implemented 😄
Right now we only support Secrets as our delivery mechanism - there's been a few requests for things like this in the past, and we've avoided implementing any new API fields in the Certificate resource to handle it.
The said, we have also had similar requirements ourselves (needing to inject the TLS key-data into some other resource other than Secrets, to make it work with a larger system). The cainjector component is an example of how we've solved this in the past.
Roughly, the idea would be to:

Annotate your FederatedSecret resource with something like example.com/copy-secret-from: "mynamespace/secret-name"
A controller is then written that watches for FederatedSecret resources with the above annotation, and automatically copies across the Secret's data into the FederatedSecret's template.

If either the FederatedSecret or the Secret resource it watches changes, the controller will update the FederatedSecret again.
This model sidesteps the issue of 'alternative delivery mechanisms', and how we should represent the configuration for these alternate mechanisms until a later date, and reduces the amount of code we publish.
I wonder if a solution like this would work for you for now, as an alternative?
If not, I'd be keen to hear more details on why this doesn't work for you 😄
As a project we definitely want to support alternatives to secrets, I've just not seen any advisories or examples from the kubernetes project on how this should be represented yet (and I have doubts whether we should be overloading the Certificate resource's spec with fields for this)

Thanks for your comments.  I've had a look at cainjector now.  That approach would solve my use-case.
I think I would create a FederatedSecret with:
metadata:
  annotations:
    k8s-copier.fig.org/dst-spec-template-spec: "secrets:cloud-certificate:spec"

And then my k8s-copier would copy the core/v1/secrets group/version/resource's cloud-certificate instance's spec path's contents to the annotated resource's spec.template.spec path.  Ideally this would be a strategic merge, but I'll worry about that later.
I'd run the k8s-copier with --target=types.federation.k8s.io/v1alpha1/federatedingresses to tell it the group/version/resources to watch.
I'll give it a go and link to my results from this issue if/when I have something working.

I've started a repository at: https://github.com/michaelfig/k8s-copier . It doesn't work (or even compile) yet, but feel free to follow progress there.
I will close this issue when k8s-copier is viable and works for me.

k8s-copier now solves this issue.  Closing.


allow user press Enter key to end editing title

In dashboard, and explore view, we allow user inline editing dashboard or slice title.
This PR is to support Enter key.  now we allow user to type enter key, then title change is automatically saved, just like click somewhere else (blur text input).

nice one Grace!!

LGTM


console data manager keeps loading and does not allow switching tables

Environment information
System:
  OS: macOS 14.5
  CPU: (8) arm64 Apple M1
  Memory: 168.66 MB / 16.00 GB
  Shell: /opt/homebrew/bin/fish
Binaries:
  Node: 20.11.1 - ~/.local/share/nvm/v20.11.1/bin/node
  Yarn: 1.22.19 - ~/.local/share/nvm/v20.11.1/bin/yarn
  npm: 10.2.4 - ~/.local/share/nvm/v20.11.1/bin/npm
  pnpm: 8.15.4 - ~/Library/pnpm/pnpm
NPM Packages:
  @aws-amplify/backend: 1.0.2
  @aws-amplify/backend-cli: 1.0.3
  aws-amplify: 6.3.2
  aws-cdk: 2.141.0
  aws-cdk-lib: 2.141.0
  typescript: 5.4.5
AWS environment variables:
  AWS_STS_REGIONAL_ENDPOINTS = regional
  AWS_NODEJS_CONNECTION_REUSE_ENABLED = 1
  AWS_SDK_LOAD_CONFIG = 1
No CDK environment variables

Description
https://github.com/aws-amplify/amplify-backend/assets/87995712/d9fa5ef1-bb7f-4956-aa68-73e7c752d0d9
Data manager loading bar keeps loading and the table switcher dropdown is greyed out.
From the network logs it appears there is only 1 GraphQL request

We have deployed a fix for this issue. Please feel free to reopen if you are still running into it.


Error in strsplit(x = uFilename[p], split = "[.]csv") :   non-character argument in part6AlignIndividuals.R

When I run the mode 6, I got this error:  Error in strsplit(x = uFilename[p], split = "[.]csv") :   non-character argument
I rerun the part6AlignIndividuals.R using my data, discovered that the uFilename was the name of RData rather than the csv.
In part6AlignIndividuals.R, line 52:  the original code was:   pat1 = unlist(strsplit(x = uFilename[p], split = "[.]csv"))[1]
I wonder if there was a bug in line 52 and how to solve this.
Thank you so much!

Hi, I cannot reproduce your error. Below I am including the script I have been using to test this functionality.

Can you spot what you did differently?
Are you trying to reprocess a previously processed dataset? If yes, what happens if you  start in a new output folder reprocessing your files?

GGIR(mode = 1:6,
     datadir = datadir, # defined before this call
     idloc = 1, # study specific
     outputdir = outputdir, # defined before this call
     do.report = c(2, 4, 5),
     do.parallel = TRUE,
     overwrite = TRUE,
     printsummary = TRUE,
     desiredtz = "America/Halifax",
     windowsizes = c(5, 60, 3600), # <= note, I use this to increase resolution of lux value
     #=====================
     # Part 2
     #=====================
     strategy = 1,
     hrs.del.start = 0, hrs.del.end = 0,
     maxdur = 100, includedaycrit = 16,
     excludefirstlast = FALSE,
     includenightcrit = 16,
     winhr = c(5,10),
     closedbout = FALSE,
     epochvalues2csv = TRUE,
     #=====================
     # Part 3 + 4
     #=====================
     outliers.only = TRUE,
     criterror = 0,
     do.visual = TRUE,
     #=====================
     # Part 5
     #=====================
     threshold.lig = c(30), threshold.mod = c(100), threshold.vig = c(400),
     boutcriter = 1,
     boutcriter.in = 1, boutcriter.lig = 1,  boutcriter.mvpa = 0.9,
     boutdur.in = c(1,10,30),
     boutdur.lig = c(1,10),
     boutdur.mvpa = c(1),

     save_ms5rawlevels = TRUE,
     save_ms5raw_format = "RData",
     save_ms5raw_without_invalid = FALSE,
     part5_agg2_60seconds = TRUE,
     frag.metrics = "all",

     #=====================
     # Part 6
     #=====================
     part6HCA = TRUE,
     part6_threshold_combi = "30_100_400",
     #=====================
     # Visual report
     #=====================
     timewindow = c("WW"),
     visualreport = TRUE)

Thank you so much~ The problem was solved!
My original code set idloc = 2, which end up with this error.

Yes, I was trying to reprocess a previously processed dataset which finished previous 5 parts. It still worked when I set overwrite=F.
I want to know whether the argument closedbout = FALSE was deprecated already?

I want to know whether the argument closedbout = FALSE was deprecated already?

Yes, it has been deprecated


ROX-26929: Improve download-mappings.sh safeguards

Description
Add additional safeguards to download-mappings.sh and change other instances of downloading the mapping files to use download-mappings.sh instead of a bespoke method.

I say we move ahead with https://github.com/stackrox/stackrox/pull/13282 without merging this PR.

Ticket for follow-up work: https://issues.redhat.com/browse/ROX-26993


Add a menu entry to select between available color schemes

Issue Report Checklist

[x] Searched the issues page for similar reports
[x] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[x] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
N/A Could not reproduce inside jupyter qtconsole (if console-related)
N/A Tried basic troubleshooting (if a bug/error)
[x] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
I generally prefer working with a dark background on the editor (I use the Spyder Dark colour scheme).  However, when working with others or showing work on a big screen / projector, it's useful to have a quick method of switching to a light background (e.g. Spyder colour scheme).  It would be really nice if a keyboard shortcut could be set up to switch between two specified colour schemes.
What steps reproduce the problem?

Go to keyboard shortcuts configuration page
Search in vain for anything colour scheme related

Versions

Spyder version: 3.3.1
Python version: 3.7.1
Qt version: 5.6.2
PyQt version: 5.6
Operating System name/version: Windows 10

(P.S. If you're suggesting in the template that people go to Help...About Spyder for this information, it would be really nice if it was copy-able for pasting in here rather than having to type it and risk making a mistake)
Dependencies

IPython >=4.0     :  7.1.1 (OK)
cython >=0.21     :  0.29 (OK)
jedi >=0.9.0      :  0.13.1 (OK)
matplotlib >=2.0.0:  2.2.2 (OK)
nbconvert >=4.0   :  5.3.1 (OK)
numpy >=1.7       :  1.15.3 (OK)
pandas >=0.13.1   :  0.23.4 (OK)
pycodestyle >=2.3 :  2.4.0 (OK)
pyflakes >=0.6.0  :  2.0.0 (OK)
pygments >=2.0    :  2.2.0 (OK)
pylint >=0.25     :  2.1.1 (OK)
qtconsole >=4.2.0 :  4.4.2 (OK)
rope >=0.9.4      :  0.11.0 (OK)
sphinx >=0.6.6    :  1.8.1 (OK)
sympy >=0.7.3     :  1.3 (OK)

There's no single dark nor light background, so it's not possible that we decide that for users. However, an alternative would be to add an entry to the Source menu with all color schemes available so users can easily select from them.
How does that sound?

Would it then be possible to add a shortcut key for any of the entries?  I
could then have a shortcut key for my chosen light scheme and another one
for a dark scheme, which would be almost as good as a toggle key.
Thanks,
Al
On Tue, 27 Nov 2018 at 12:38, Carlos Cordoba<EMAIL_ADDRESS>wrote:

There's no single dark nor light background, so it's not possible that we
decide that for users. However, an alternative would be to add an entry to
the Source menu with all color schemes available so users can easily
select from them.
How does that sound?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spyder-ide/spyder/issues/8317#issuecomment-442043663,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAo7j3RJuj1fNHcphkyLUv4-5-x11kJ9ks5uzTJCgaJpZM4Y03ZV
.

--
http://www.cgtk.co.uk

(P.S. If you're suggesting in the template that people go to Help...About Spyder for this information, it would be really nice if it was copy-able for pasting in here rather than having to type it and risk making a mistake)

Please see https://github.com/spyder-ide/spyder/issues/7844

There's no single dark nor light background, so it's not possible that we decide that for users. However, an alternative would be to add an entry to the Source menu with all color schemes available so users can easily select from them.

I support this idea. With this solution, you would be able in Windows to quickly and easily press Ctrl-C to select the desired scheme. This would be very convenient.

@ccordoba12 maybe I was not clear. I support your idea of adding an entry to the Source menu.
I'm not sure adding yet another keyboard shortcut for this is a good idea...

Hi, I'll start working on this. Can I try to implement this on Spyder 4? Or it has to be on Spyder 3?
Thanks in advance!

Thanks! Every new work has to be done for Spyder 4 (Spyder 3 will only receive critical bugfixes from now on).

Thanks! Every new work has to be done for Spyder 4 (Spyder 3 will only receive critical bugfixes from now on).

@ccordoba12 to solve this problem, you want a specific keyboard shortcut or a entry in the Source menu?

No, no keyboard shortcuts. Just showing the color schemes users can select from in a submenu.

Oh, one thing, I don't really remember Spyder 3, but on Spyder 4, you can not only change the editor background and style(from pre-selected themes or creating a new one), but also the interface theme (Light or Dark). The suggestion is for changing which of those? Cause changing interfaces requires a restart, and changing syntax themes does not, so i'm supposing the new shortcut is for changing syntax themes right?

Yes, it's for changing syntax themes, but we don't want a shortcut but a menu entry in Sources.

Yes yes, sorry, I ment shortcut in the Sources menu

As discussed in PR #8426 and emphasized by @CAM-Gerlach, adding a submenu with a list of all available color schemes to the Source menu is not really addressing this issue, so I think we need to discuss this a little bit further here before going forward with a solution.

From PR https://github.com/spyder-ide/spyder/pull/8426#issuecomment-447191759 :

I'm not a developer, but just a normal user. From my using scenario, it'll be helpful to have a submenu to switch color schemes (without considering the implementation or delay detail), but it won't hurt without it. I can change that via preferences, and an even better thing is I can preview the effect via preferences.

What will be very helpful is a convenient way to switch between dark mode and light mode by user base on the time or the environment. Maybe one can select one color scheme as the default light mode and one as the default dark mode.

Thank you @gepcel for your input on this. Another idea would be to add an action to the source menu that switch to last used color scheme.
Another option would be to add two actions instead, one that switch to previous color scheme and one that switch to next color scheme. Then, I think keyboard shortcuts to these actions could even be added. I think this would allow to address the original issue and @ccordoba12's concerns about not having a "single dark or light color scheme we could go to."

Switch to previous/next color scheme may satisfy the need at some point. But I still a light/dark mode is useful.
For example, someone uses a laptop both at home and office, during daytime and night, maybe with light at the room turned on and off, he/she may often need to switch between dark and light mode.
I don't know others, but if there's no easy way to switch, I may stick to that. If there is, it'll definitely be helpful. Anyway, it's just my own opinion.

Switch to previous/next color scheme may satisfy the need at some point. But I still a light/dark mode is useful.

But, I don't see how this doesn't solve the issue. You would just have to set the dark mode that you want to use, then set the light mode that you want to use in the preference. After that, you would just have to use the switch to previous function in the menu to go to your "selected" dark mode, then switch to next to go back to your light mode, and so on.

Distilling the non-repetitive/verbose portions of my comments from the PR thread:
Limitations of the Submenu w/All Schemes and No Shortcuts Approach

The user would still have to open the menu, navigate to the submenu, and scroll through the (soon to be much longer, thanks to #8381 ) list of schemes to find the one they want, vs. opening preferences (with a KB shorcut), selecting the desired scheme from the menu, and hitting Enter to confirm. In my testing, both took 5-6 seconds (plus time to apply), the former within a second of the latter
This isn't helped by the 10 s (clean prefs) to 20-30 s (heavily customized prefs) delay needed to apply the scheme, so the time saved is inconsequental.
If switching between light/dark themes (the primary use case), a restart is required, making it take even longer and be more burdensome

Potential Improvements/Ideas

Make the menu only show the last 5 most recently used color schemes, or allow the user to select any number of "favorite" themes to include in the list (or at their option either one)
Maybe separate it by light and dark themes, which combined with the previous would make it a little quicker to swap between them (the user could just select their favorite of each)
Optimize the color scheme switching routine to not take so long, especially with large prefs files
Setting a default dark/light theme in preferences? There would need to be UI for it as it really doesn't fit with the current, and there would still need to be a toolbar icon or menu menu item for each (it could be a toggle, but how to handle a case where you're not using either "default" theme?)

Switch to previous/next color scheme may satisfy the need at some point. But I still a light/dark mode is useful.

But, I don't see how this doesn't solve the issue.

Agreed; I'm not sure I understand how this really helps. Moreover, idea 1 above essentially offers a more flexible version of the basic functionality (pick two themes or any number of themes, in your preferred order, to switch between in the color schemes submenu).

Agreed; I'm not sure I understand how this really helps. Moreover, idea 1 above essentially offers a more flexible version of the basic functionality (pick two themes or any number of themes, in your preferred order, to switch between in the color schemes submenu).

ok, then what about adding a single option to go back to last used scheme ? The advantage over the list is that we would be able to set a shortcut to this. Also, no submenu needed, so less mouse traveling.
Basically, lets say you start with a light scheme. Then the first time, you would have to go in the preference to select a dark theme. But then, after that, you would be able to use the go back to last used theme to go back to the light theme quickly, and use it again to go back to the dark scheme, then again to go back to the light scheme, and so on.

Ok, then what about adding a single option to go back to last used scheme ? The advantage over the list is that we would be able to set a shortcut to this.

Sorry, I must have missed that while I was editing down my comments. That's somewhat less flexible than a recently used list, but having the shortcut is a huge advantage of the "Restore last syntax scheme" approach so long as the desired scheme is the most recent (i.e. the user only has two schemes they commonly switch between, which is probably the majority who fall into this use case to begin with).
Some possibilities combining the two based off that (functionality equivalent, but slightly different UI):

Make the first/last item being "Restore last syntax scheme" with the shortcut, followed by a menu separator and the last 5 schemes in order, or
List the schemes in MRU order as I proposed, but assign to the first one a configurable "Restore last syntax scheme" shortcut

This is a good idea. I support this.

Sure, that's a great idea @bcolsen . If others agree, then I'm on board, with a few refinements:

The dropdown should be below the current "Syntax scheme:", not all the way down below "Create new scheme"
We should change "Syntax scheme" to "Primary syntax scheme" and call the new one "Alternate syntax scheme"
In the menus, we should call it "Alternate syntax highlighting scheme"

The dropdown should be below the current "Syntax scheme:", not all the way down below "Create new scheme"

This of course would be the best place but I think the edit selected, reset and delete structure would have to be changed because it would be ambiguous which we would be editing. They could be renamed but it wouldn't be a simple as it is now. With the option below the buttons very few changes are needed and it's sort of a more advance feature so it's not so bad that's it's out of the way.
That being said I wouldn't be apposed if there was a different/better way to do the theme customization. For example the buttons would be slick as icons(edit(pencil), revert(refresh circle arrow), delete( 'x')) with tool tips next to both the drop downs with create new button down below both dropdown lists, but I think proposing this would be outside the scope here and the implementation(I haven't looked) would be more effort.

The dropdown should be below the current "Syntax scheme:", not all the way down below "Create new scheme"
We should change "Syntax scheme" to "Primary syntax scheme" and call the new one "Alternate syntax scheme"
In the menus, we should call it "Alternate syntax highlighting scheme"

This proposal is way too complex, so I don't agree with it, sorry. It'd be really confusing for people who don't understand what it stands for and it serves a minimal and pretty narrow use case.
During my years as a maintainer I've had to remove a lot of unnecessary configurability created by Pierre, and this looks to go exactly in that same direction.

Yeah, I see your point @ccordoba12 . It adds an extra layer of complexity on top of just switching between the two most recently used themes, and come to think of it it actually doesn't really add any actual functionality since the user would have to switch the themes back and forth in preferences either way if they wanted to use a third theme, while in the Editor the UX is identical (a hotkey to toggle back and forth). The only benefit would be being able to set the second theme ahead of time, but that's pretty minor.
That said, @jnsebgosselin 's proposal, i.e. a single Toggle last syntax highlighting scheme option with a shortcut, is much simpler while fully addressing the OP's use case (aside from reducing the syntax scheme apply time, which I presume is out of scope here).

If we backtrack a little then, what about adding a simple action to go back to the last used syntax scheme in the Source menu

I agree with this solution. It's simple and very intuitive.

It seems us three agree then.
@abudden @gepcel Does this then address your use case?

@CAM-Gerlach
Does this then address your use case?

Yes. Thanks very much.

Thanks @abudden and @gepcel . Looks like we have consensus then.
@chends888 would you still like to implement this?


bpf: Various fixes for MAX_*_OPTIONS and support for 5.10

Summary of changes:

Commits 1-2 adds debugging information to the verifier test.
Commits 3 and 5 fix issues with the make -C bpf kernel=X command.
Commits 4 and 6 simplify the MAX_*_OPTIONS a bit.
Commit 7 adds support for 5.10 in the MAX_*_OPTIONS and in the complexity tests.
Commit 8 fixes a mistake to be on the safe side (not causing a bug today AFAIK).

See commits for details.
Successful run: https://github.com/cilium/cilium/actions/runs/4552745444?pr=24122.

/test-1.25-4.19

The changes made here are only covered by the verifier workflow and the build datapath job. Both are passing. I don't think we need to wait for the cilium/loader review given we already have three reviews including Maxim from datapath and Tobias who originally ported this code to a workflow.

The changes made here are only covered by the verifier workflow (updated link to passing run in OP) and the build datapath job. Both are passing. I don't think we need to wait for the cilium/loader review given we already have three reviews including Maxim from datapath and Tobias who originally ported this code to a workflow.

Don't we need a focused Jenkins run to cover 4.19 ?

The changes made here are only covered by the verifier workflow (updated link to passing run in OP) and the build datapath job. Both are passing. I don't think we need to wait for the cilium/loader review given we already have three reviews including Maxim from datapath and Tobias who originally ported this code to a workflow.

Don't we need a focused Jenkins run to cover 4.19 ?

I wondered the same (and even triggered the test :sweat_smile:), but no, I don't think so. The 4.19 Jenkins run relies on the configs under bpf/complexity-tests/419 (not changed) and the test code under test/k8s/verifier.go (not changed). It doesn't rely on bpf/Makefile's MAX_*_OPTIONS macros.

It doesn't rely on bpf/Makefile's MAX_*_OPTIONS macros.

:+1:


ctranslate2 version 3.9.0 has an error

Hi,
ctranslate2 version 3.9.0 has the error below, I solved the problem by fixing version 3.8.* in the file: requirements.txt
Traceback (most recent call last):
  File "/usr/local/bin/ct2-transformers-converter", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.9/dist-packages/ctranslate2/converters/transformers.py", line 863, in main
    converter.convert_from_args(args)
  File "/usr/local/lib/python3.9/dist-packages/ctranslate2/converters/converter.py", line 50, in convert_from_args
    return self.convert(
  File "/usr/local/lib/python3.9/dist-packages/ctranslate2/converters/converter.py", line 89, in convert
    model_spec = self._load()
  File "/usr/local/lib/python3.9/dist-packages/ctranslate2/converters/transformers.py", line 99, in _load
    spec = loader(model, tokenizer)
  File "/usr/local/lib/python3.9/dist-packages/ctranslate2/converters/transformers.py", line 154, in __call__
    self.set_config(spec.config, model, tokenizer)
  File "/usr/local/lib/python3.9/dist-packages/ctranslate2/converters/transformers.py", line 584, in set_config
    range(config.decoder_layers // 2, config.decoder_layers),
AttributeError: 'WhisperConfig' object has no attribute 'decoder_layers'

Hi,
Can you post the conversion command you are running?

I can reproduce this error when converting a Whisper model from a path on disk.
ct2-transformers-converter --model /path/to/whisper/model ...

This will be fixed with https://github.com/OpenNMT/CTranslate2/pull/1131.
Note that if you plan to use word-level timestamps with one of the official pretrained models, it is better to convert with the model name directly because the configuration is tuned for these models.
ct2-transformers-converter --model openai/whisper-large-v2 ...

Thanks,
I did the test, replacing the transformers.py file locally with the one you adjusted in: OpenNMT/CTranslate2 and it worked perfectly.


Temperature Units: Option to specify manually

So, being in canada, my default temperature units are set to Celsius (C).  For reasons I cant fully explain, we often mix imperial and metric measurements, but only in specific cases.  For instance, we often use feet instead of metres for short distances, and, in this instance, I'm used to referencing pool temperature in farenheit instead of C.
I was able to go modify the unit_of_measurement in the WaterSensor sensor right in the lovelace GUI, but the "Heater" Control is reporting in Celsius.  Not sure if this is being handled by HA, or by my Omnilogic system itself, as looking in the states inspector, all the values show as C.  (Except "solar_set_poinr" which i also presume is a typo of "solar_set_point")
Dunno where makes the most sense to offer a forced unit override?

I have to report the values the way they are provided to me, so if your Omni is set to C then I report it in C. You should also have a number entity for Solar Set Point, which you should be able to adjust the unit of measurement on as normal. And yes, solar_set_poinr is a typo, someone else submitted a PR to fix it, I'll get that merged tomorrow :)

Typo corrected, can you let me know if you have a number entity for Solar Set Point and can you adjust the unit of measurement on that?

So I still only see v0.5.3 in HACS even if i specify beta versions, not sure if you're wanting me to test your patch, or are asking about this version, but..
On 0.5.3, I see solar set point as an attribute of the pool heater - it doesnt show as its own entity.
Here's a list of all the attributes on that entity:
min_temp: 12.8
max_temp: 33.3
operation_list: on, off
current_temperature: 29.4
temperature: 29.4
target_temp_high: null
target_temp_low: null
operation_mode: on
omni_system_id: 6
omni_bow_id: 1
solar_set_poinr: 85
omni_heater_heat pump_enabled: yes
omni_heater_heat pump_system_id: 7
omni_heater_heat pump_bow_id: 1
omni_heater_heat pump_state: Off
omni_heater_heat pump_sensor_temp: 81
friendly_name: Omnilogic Pool Heater
supported_features: 3
So you can see that the pump_sensor_temp and solar_set_point are both clearly in F, although min_temp, max_temp, current_temperature and temperature are all reporting in C.
Looking in my omnilogic app on iOS it shows everything in F.
I tried observing the datastream as it comes back from the omnilogic controller on my LAN, but it appears to be a binary data response, despite the request being XML formatted.
(Also, as a sort of unrelated side note, I do see a very high number of instances where the HA logs report a timeout back from the controller, and while watching the packets on the LAN, it appears that the controller frequently tries to send replies to a UDP port that's no longer being used.  It seems to figure itself out and continue, but it happens enough that I see thousands of these timeouts over the span of a couple days.  Perhaps a wonky connection handler in there somewhere?)

Ah - I should have mentioned, i do NOT have a solar system, I just saw the attribute for it in the attributes list was in Farenheit, so I mentioned it.
And yes, the Omni is connected wirelessly, and its probably not the best connetion - its decently far from the AP its connected to (around the side of the house from an outdoor AP) so, thats probably it.  I would run an ethernet cable to it, but it seems Hayward made a really odd decision and put the ethernet jack on the touchscreen panel, instead of the interior control module box, and my control touchscreen is mounted outside  with the rest of the pool equipment.  Running an ethernet cable all the way out there is possible, but ultimately kind of awkward, so i opted not to bother.
Fair enough that there's no unit conversion happening in HA - I just wonder the feasibility of enabling a conversion.  I dont know how/when HA decides to show the 'unit of measurement' selector like it did for the WaterSensor entity, but not on the heater controls - I presumed it could be as simple as instructing HA that it was allowed, and it would show an option for it.

not much I can do about the flaky wireless connection, there is already ample retry logic in the API library.  There might be some room for enhancement there, but I'm not currently sure what those enhancements would be.
Seems like the real bug here is that the solar set point attribute should only be included if you actually have a solar heater.  The Omni app shows it either way, but it doesn't do anything unless you actually have a solar heater, I could pretty easily only include it in the attributes if you actually have a heater though.

So with repsect to the actual temperature units, I went and checked and my omnilogic is set to Farenheit, not Celsius, so something in Home assistant must be deciding to change this to C - I thought about trying to change my global setting in HA from C to F, but it says if i do that it'll go and update all of my sensors across the board, which I dont want to do.

The way that it works is that the integration tells HomeAssistant "The native temperature unit for this device is Fahrenheit and the native temperature is 85 degrees".  Home Assistant then says "This users preference is to show temperatures in Celsius, so I will convert 85F to 29.5C and store this sensor reading as 29.5C".
If you want to change the output unit of measurement for just a few entities, you can go into the settings for those entities and specify your preference for that specific entity.

This functionality is built in to HA Core already

Totally understand that - And I have done that for the Temperature entity already:

But for the heater control, it has no "Unit of Measurement" override:

I presume there's a good reason for this, and I'm not sure if it should be HA's job to decide whether it presents a unit of measurement conversion for a custom water_heater entity, as its actually doing control, not just metric tracking.
I guess my question should have been - is it expected that the integration would provide something like this, or would it be on HA itself to decide to provide (or not) a unit conversion option for water_heater types?  I presume it's the latter, and if thats true, I will open it as a feature request there.
Appreciate all your help and explanation!


customize store id

I've added getDataId function to environment, this is similar to how relay does it.
I've also generated __typenames on normalizationAst, so they can be used to customize id
But this is not working yet, because readData is missing the __typename?
#166

https://github.com/isographlabs/isograph/blob/3f50636d6d1a968ef0a88bf3f52f2d3ea81b769a/libs/isograph-react/src/core/read.ts#L493
https://github.com/isographlabs/isograph/blob/3f50636d6d1a968ef0a88bf3f52f2d3ea81b769a/libs/isograph-react/src/core/read.ts#L424
I think these will need to be replaced with environment.getDataId, but I' missing __typename

I think it's a great idea for us to not require global IDs. However, I think we should instead make the cache a two-layer cache of typename -> id -> record.
This would require always knowing the typename:

encoding the typename in the reader AST, if it is known
auto-selecting when creating the merged AST, and adding it to the normalization AST

How does that sound?
I am also open to making this customizable at compile time (i.e. making it a config option), so that if you do have globally unique IDs, Isograph can be more efficient. (But that realistically is low urgency, but might make for a nice task for someone who wants to pick it up)

encoding the typename in the normalization AST, if we're selecting a field with a concrete type*

this is kind of what I've done, but there's at least one bug there

auto-selecting when creating the merged AST, and adding it to the normalization AST

this is a part I don't understand, could you clarify this a bit more, what is the merged AST, and what do you mean by auto-selecting typename?

Now this is at the point, where demos are working, but there's still a bug to fix with concreteType: "Node"

Now should be ready to merge, if main gets formatted

There's also an edge case, when someone, nests Query, github does it.
type Query {
  relay: Query!
}

We need to normalize this in __ROOT

Oh yeah, great catch

I think generating concreteType for readerAst was a mistake, we don't need it if we add __typename to every __link, when normalizing
It needs to be added for union and interfaces anyways

My instinct is that we should include the concrete type in the reader AST where the type of the linked field is concrete, and select typename where the type of the linked field is abstract

This should be ready now, the __typenames are generated when required and concreteTypes are null when they should.
I'd like to refactor some variable names, right now, we have __typename, typeName and conreteType.
Which one do you prefer the most. concreteType makes a lot sense to me, but if starting variables with _ is not an issue, then __typename is pretty good as well.
I'm also not in love with NonNullLink as a name.
A lot of things, like subscription should now contain a NonNullLink, so maybe it should be promoted to just Link and old Link should be changed to StoreLink since it's not present outside of the store.
Let me know your thoughts about this too.
export type Link = {
  readonly __link: DataId;
  readonly __typename?: TypeName;
};

export type NonNullLink = {
  readonly __link: DataId;
  readonly __typename: TypeName;
};

type AnyChangesToRecordSubscription = {
  readonly kind: 'AnyChangesToRecord';
  readonly callback: () => void;
  readonly recordId: DataId;
  readonly typeName: TypeName;
};

Amazing! Sorry that I was unable to review it, my computer was bricked and I just got access to my personal laptop last night. But anyway, I should be able to look today


Add spend Milk Cap to Ascension reminders

It might be more helpful to link directly to the shop at shop.php?whichshop=olivers.

Done, although untested with a real character yet.