[FEATURE REQUEST] Add an example for order_by_fields to the docs

Is your feature request related to a problem? Please describe.
The order_by_fields method is a bit confusing; an example would be helpful.
Describe the solution you'd like
Please see this PR for a suggested example to add:
https://github.com/bsarsgard/GodotFirebaseWiki/pull/1/files
Describe alternatives you've considered
Any other example you think would be better!
Additional context
I think that covers it

@bsarsgard Thanks, and you are right. I have added your code into the wiki!


Another Language - a wish

Hello, thank you very much for your program.
I have a big request. I don't play Pathfinder 2 in English. I believe the getClassForTraitTag function only has the English tags, right? Would it be possible to code the settings options in "pf2e-statblock-for-obsidian"? So that the user can enter the tags in their own language? Now all tags are in red if they are not English.

Thanks for reaching out!  I really wasn't expecting any interest from folks using other languages, but I'd be happy to add internationalization support.

Version 3.0.2 has gone up with internationalization support.  If your language is on the supported list, I hope it works great for you.  If not, feel free to open a new issue for your specific language.
I am aware that your original ask was to add the trait translations directly as configuration, but I didn't want to get into a situation where folks were having to do redundant work.  Makes more sense to have folks poke me.
Enjoy!

Thank you very much. It's great.Wonderful. Am 07.05.24, 22:29 schrieb Tyler Pixley @.***>:
Closed #10 as completed.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


sdk/resourcemanager/cosmos/armcosmos add live test package-2022-05

https://github.com/Azure/azure-rest-api-specs/pull/20430
record time gt 2h

/check-enforcer override


Grafana 6.3.0 / Zabbix DB Connection not pulling all data.

Describe the bug
When using the DB connection on Grafana 6.3.0 some of the graphs dont generate but when disabling this everything works fine. I also see some $ signs on stuff like filesystem data where it does not show anything correctly. i attached screenshots below of both
Expected behavior
For the DB Connection it should be able to pull data correctly and for the filesystem it should show the FS and not the $ sign
Screenshots
With DB Connection

Without DB Connection

Grafana: 8.5.13

Network data
If it's related to metric data visualization would be great to get the raw query and response for the network request (check this in browser dev tools network tab, there you can see metric requests, please include the request body and request response)
Software versions

Grafana
Zabbix
Grafana-Zabbix Plugin

6.3.0
5.4.12/6.0.3
4.2.10

Hi,
Release 4..2.10. need grafana 8.3 minimum so grafana 6.3 is not good env

Sorry that was a typo it was supposed to be Grafana 9.3


SPF is still failing DMARC’s alignment test

I've set up my server according the FAQ.
dns:
  mx_records:
    - mx.sender.example.com
  smtp_server_hostname: sender.example.com
  spf_include: spf.sender.example.com
  return_path: rp.sender.example.com
  route_domain: routes.sender.example.com
  track_domain: track.sender.example.com
  custom_return_path_prefix: psrp

DNS:
sender.example.com A <IP_ADDRESS>
rp.sender.exemple.com A <IP_ADDRESS>

rp.sender.exemple.com MX sender.exemple.com
psrp.sender.exemple.com MX sender.exemple.com

spf.sender.example.com TXT v=spf1 ip4:<IP_ADDRESS> -all
example.com TXT v=spf1 mx include:spf.sender.example.com -all
psrp.sender.exemple.com TXT v=spf1 mx include:spf.sender.example.com -all

Mail-Tester or MXToolbox passes their tests. Here the MXToolbox headers:
From<EMAIL_ADDRESS>Mon Nov  9 09:39:34 2020
Return-Path<EMAIL_ADDRESS>X-Original-To<EMAIL_ADDRESS>Delivered-To<EMAIL_ADDRESS>Received: from sender.example.com (sender.example.com [<IP_ADDRESS>])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by tools.mxtoolbox.com (Postfix) with ESMTPS id 788FDB5F23
	for<EMAIL_ADDRESS>Mon,  9 Nov 2020 09:39:34 -0600 (CST)
Resent-Sender<EMAIL_ADDRESS>DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=postal-mWO9xw; t=1604936373; bh=mvuu3b9qEfdaZCSaVxLvRSqKbMB5YN4qxRCRw5FtvuE=; h=date:from:to:message-id:subject:mime-version:content-type:content-transfer-encoding; b=m0HzlqEGEIRbyzZQ7Zh7sEc+cMXjnyrTq5tmEpwHu9RkOSU7j7/RehwpXciSuz3r3OUgmiP31AA3sIsyBZZ2bW8hf3IGG6fJKi0dK74tkxqvW215UY2PHJf2N9ZwVGYim6O/5/uurMwOnmZSjIazR0YrG+Ex0VnAmWCkeVnq6Rc=
X-Postal-MsgID: v7Wd5CM0Q2No
Received: from web-ui (<IP_ADDRESS> [<IP_ADDRESS>]) by Postal with HTTP; Mon, 09 Nov 2020 15:39:33 +0000
Date: Mon, 09 Nov 2020 16:39:33 +0100
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>Subject: Test Message at November 09, 2020 16:39
Mime-Version: 1.0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

This is a message to test the delivery of messages through Postal.

However, Postmark tests returns this:

example.com is authorized to send on behalf of example.com, however it looks like SPF is still failing DMARC’s alignment test. DMARC looks at the Return-Path of a message to make sure the domain there matches the domain in your From address. If the Return-Path path doesn’t match your From address, those messages will fail DMARC’s SPF alignment test. Check with this source because you may need to set up a custom Return-Path.

Should i set return_path: example.com instead of return_path: rp.sender.example.com on /opt/postal/config/postal.yml or maybe set a CNAME from psrp.example.com to sender.example.com?

Set a CNAME from psrp.example.com to rp.sender.example.com solved my problem. 👍


Add to shopping cart without page reload

Similar to https://github.com/ampproject/amp-by-example/issues/369 but it'd be great to have a sample where adding a product to cart leads to updating the shopping cart without a page reload using amp-form (possibly using XHR post passing the CID as a hidden field) and amp-bind.
CC @kul3r4

Would you include a separate shopping cart view as well?

As in clicking on the updated cart leading to a new page with the shopping cart products? That would be great.

While this is nice, I think we should recommend shopping cart flows that are guaranteed to not fail. By reloading to origin site, we work around all cookie issues.
Speaking of nice: Amazon doesn't do it, because it is bad on mobile. Why would you want to stay on the page after clicking add-to-cart? Going to a new page is much better, because it is a clearer signal for the user and a better surface for up and cross selling.

Fair point. Also see that the 'redirect after add to cart' example is working now.
https://ampbyexample.com/samples_templates/product/preview/
Closing this.


Display original author and URL information when showing migrated issues/comments

Per #7293

[x] Store original author name in issues + comments table
[x] Store original author user ID in issues + comments table
[x] Store original url in repo table
[x] Migrations for above

For Templates:

[x] Use original author name as display name for issue/PR author on issues/PR screen
[x] Use original author name as display name for all comments on issue/PR
[x] Use font awesome or similar to show icon of service it was migrated from (github only for now, soon to be gogs too)
[x] Link to original repo URL in comment headers
[x] Use different avatar than user who ran migration

Screenshots of old vs new behavior:

OLD
NEW

And if a user login with github OAuth2 and registered successfully, I think we can replace all the related issues and comments. So that he will have permission to edit that issues/comments.

And if a user login with github OAuth2 and registered successfully, I think we can replace all the related issues and comments. So that he will have permission to edit that issues/comments.

Sure, that can be another PR since this one will already have many changes. Storing the user ID in this PR should allow for that process later on. I will try to keep that in mind when changing the templates though so it will be easier going forward.
Right now it will check {{if .OriginalAuthor}}and show the original_authorstring instead of the Poster Display Name.
Maybe for a Gitea user who has registered with Github login then we can remove the original_authorand change the issue/comment to their Gitea user ID instead. Then it would just work with no new changes to the Template needed.
Or we could add an extra column and mark the issue as migrated to a different user and then check for that too.

Codecov Report

Merging #7352 into master will decrease coverage by 0.02%.
The diff coverage is 9.21%.

@@            Coverage Diff             @@
##           master    #7352      +/-   ##
==========================================
- Coverage   41.24%   41.22%   -0.03%
==========================================
  Files         467      468       +1
  Lines       63336    63395      +59
==========================================
+ Hits        26124    26132       +8
- Misses      33796    33849      +53
+ Partials     3416     3414       -2

Impacted Files
Coverage Δ

models/issue.go
48.97% <ø> (ø)
:arrow_up:

modules/migrations/migrate.go
21.11% <ø> (+1.9%)
:arrow_up:

models/migrations/migrations.go
1.32% <ø> (ø)
:arrow_up:

models/issue_comment.go
47.59% <ø> (ø)
:arrow_up:

modules/migrations/base/pullrequest.go
0% <ø> (ø)
:arrow_up:

models/migrations/v89.go
0% <0%> (ø)

modules/templates/helper.go
46.7% <0%> (-0.79%)
:arrow_down:

modules/migrations/github.go
84.22% <100%> (+0.17%)
:arrow_up:

modules/migrations/gitea.go
8.7% <2.85%> (+0.11%)
:arrow_up:

models/repo.go
48.6% <25%> (-0.11%)
:arrow_down:

... and 9 more

Continue to review full report at Codecov.

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

@lunny this is ready to start review.
I think the best way to assign comments in the future is to see if there is a match based on original_author_id and if so to change the poster_id to the local user and then delete original_author string but keep original_author_id. That way we keep the important information but the templates will act as normal if original_author is empty.
We can do this both as part of migration and afterwards if somebody signs up later and authenticates with their github account. Would be another PR but this one will start to store the information needed to make that happen.


Designate attributes as required

Expected Behavior
I can designate attributes as required
 val myPluginResourcesResolver by configurations.registering {
   resolvable()
   extendsFrom(myPluginResources.get())
   attributes {
-    attribute(MyPluginResources, "foo-resources")
+    attribute(MyPluginResources, "foo-resources", required = true)
   }
 }

Current Behavior (optional)
I cannot designate attributes as required.
Context
I have a plugin. It has a custom setup of Configurations for sharing some resources between subprojects
// buildSrc/src/main/kotlin/my-plugin.gradle.kts

val MyPluginResources = Attribute.of("my-plugin", String::class.java)

val myPluginResources by configurations.registering {
  declarable()
}

val myPluginResourcesResolver by configurations.registering {
  resolvable()
  extendsFrom(myPluginResources.get())
  attributes {
    attribute(MyPluginResources, "foo-resources")
  }
}

val myPluginResourcesConsumable by configurations.registering {
  consumable()
  extendsFrom(myPluginResources.get())
  attributes {
    attribute(MyPluginResources, "foo-resources")
  }
}

fun Configuration.resolvable() { isCanBeResolved = true;  isCanBeConsumed = false; isCanBeDeclared = false; }
fun Configuration.consumable() { isCanBeResolved = false; isCanBeConsumed = true;  isCanBeDeclared = false; }
fun Configuration.declarable() { isCanBeResolved = false; isCanBeConsumed = false; isCanBeDeclared = true;  }

Resources are dynamically added to the Configuration in :library
// library/build.gradle.kts

plugins {
  id("my-plugin")
}

if (someCondition == true) {
  myPluginResources.configure {
    dependencies.add(project.dependencies.create("org.example:blah:1.2.3"))
  }
}

:application depends on :library
// application/build.gradle.kts

plugins {
  id("my-plugin")
}

dependencies {
  myPluginResources(project(":library"))
}

What happens is extremely bizarre behaviour.

If someCondition == true then :application's myPluginResourcesResolver will correctly retrieve the defined files. This is expected.

But if someCondition ==false then application's myPluginResourcesResolver will contain random files, depending on whatever other plugins :library has or hasn't defined. This is unexpected, confusing, and undesired.
There's no reasonable way for :application to determine whether the resolved files are correct.
Additionally, if another subproject :ultra-application depends on :application and resolves myPluginResourcesResolver then those random files from :library will be forwarded again, further exacerbating the problem while obscuring the cause.

Artifact View
Using artifactView and filtering based on the resolved artifacts is insufficient for a few reasons

The Javadoc for artifactView {} says that it will "only" use the defined attributes, but it doesn't, and it will forget about attributes that have been defined (related: https://github.com/gradle/gradle/issues/26007)
it requires setting lenient(true) which hides other errors
it can trigger tasks in the other projects that provide the unwanted files, which can be slow and wasteful
it's verbose and tedious and boilerplatey

Sorry that you're having trouble with Gradle!
Your issue appears to be a question about how to use Gradle. Your question might be answered in Gradle documentation or on our community Slack or forums. Find links to these resources on help.gradle.org.
If you think you have come across a Gradle bug, please file a new issue describing the problem and how to reproduce it.
If you think Gradle is missing a feature, please file a new issue describing your use case for the feature.

See the documentation.
If a producer does not declare an attribute, then it's compatible with a consumer.
If you ask for a single attribute and the producer does not have it, then selection will either be ambiguous or resolve a variant that does not have the requested attribute.
It is critical to always define category attribute for your custom attributes to ambiguate between variants. E.g. always use 'dokkatoo' as your category everywhere.
One recommendation should be added to the documentation to clarify that.
It is related to:

https://github.com/gradle/gradle/issues/18846

thus closing this. The lack of documentation should be covered as a part of that issue.

Sorry that you're having trouble with Gradle!
Your issue appears to be a question about how to use Gradle.

It's not

Your question might be answered in Gradle documentation or on our community Slack or forums. Find links to these resources on help.gradle.org.

It hasn't been

If you think Gradle is missing a feature, please file a new issue describing your use case for the feature.

Sure, I'll make a new issue 👍

See the documentation.
If a producer does not declare an attribute, then it's compatible with a consumer. If you ask for a single attribute and the producer does not have it, then selection will either be ambiguous or resolve a variant that does not have the requested attribute.

That's why I'm asking for a new feature.

It is critical to always define category attribute for your custom attributes to ambiguate between variants. E.g. always use 'dokkatoo' as your category everywhere.

A category attribute won't help because it's not treated any differently from other attributes.

A category attribute won't help because it's not treated any differently from other attributes.

Again, documentation needs to be improved there.
But if you define your producer and consumer also to declare and request org.gradle.category with a custom value, like dokka (or some other value that has no risk of conflict), then you will not have the problem you expose here.
This is caused by the category attribute not having any compatiblity rule and being defined on all existing variants. Which will prevent any variant with org.gradle.category=<!dokka> to ever be selected.

A category attribute won't help because it's not treated any differently from other attributes.

Again, documentation needs to be improved there.

That's really astonishing to hear. I had no idea that Category was treated specially. So yes, documentation would be appreciated, thanks.
What's the advice? "Don't use Usage, because it's not strict, instead use Category which will be treated as required"?

But if you define your producer and consumer also to declare and request org.gradle.category with a custom value, like dokka (or some other value that has no risk of conflict), then you will not have the problem you expose here.

Thanks for the suggestion, I've tried Category but I still get the same problems.
It's still also a problem when the my plugin isn't applied to all subprojects. I guess unless the my plugin does something hacky, like adding a custom attribute to all other Configurations:
rootProject.allprojects {
  buildscript {
    configurations
      .matching { it.isCanBeResolved }
      .configureEach {
        attributes {
          attribute(Attribute.of("my-plugin-hack", String::class.java), "x")
        }
      }
  }
  configurations
    .matching { it.isCanBeResolved }
    .configureEach {
      attributes {
        attribute(Attribute.of("my-plugin-hack", String::class.java), "x")
      }
    }
}

Of course I try to write plugins that are good Gradle citizens, but it's such a difficult experience it seems like the only option is to give up on being 'correct' and resort to dumb hacks.

This is caused by the category attribute not having any compatiblity rule and being defined on all existing variants. Which will prevent any variant with org.gradle.category=<!dokka> to ever be selected.

Sorry, I don't follow you. Are you suggesting it's required that Category is added to Configurations? Because I'm sure that's not the case?
What it boils down to is: I want to have the option to use defensive programming principles and mark attributes as required. There's no option for this at the moment. I don't see relying on under-documented behaviour and hoping that all plugins uses the same mysterious combination of attributes as practical.


external usb wlan adaptor

Is it possible to use another external usb wlan adaptor-driver?
I use the mt7610u
Best regards
Peter

yes, should work. hotspot is using always onboard wlan adapter for access point functionality. other working/active IP adapters (regardless if it is ethernet or other wlan usb adpater) are used for backend connection. Prerequisite is that your usb wlan adapter is already working (driver loaded ...)

It works :-) Thanks!!!
But..... the wlan1 usb wifi stick lose connnection after one or two minutes..... and scanning is impossible. Any suggestions?

pls. try your usb wlan adapter without hotspot. is your connection stable?

On windows there is no problem. I tried the AC51 adapter on an other raspberry system (openplotter) and got the same results. Losing connection, unplugging en plugging resulted in a few minutes connection.
I use another usb wifi dongle and all systems are running :-)
Problem solved.
Tnx for the feedback


Parade map: Location permission dialog should close when Denied access

Describe the error in as much detail as possible.
Expected behaviour
When asked to allow access to use their location, if users deny the access dialog box should close and do nothing.
Description of issue
When asked to allow access to use their location, if users deny the access dialog box currently they are taken to the setting page where the can change the app settings.
If the deny, the dialog should close, taking the users back to the map view.
Steps to reproduce
Clear all permissions to enable the popup asking for location permissions.
Go on parade map.
Click on Current location.
Notice you get the dialog asking you to grant permission for Pride in London to use your location.
Choose "Don't Allow" or equivalent.
Notice that you are taken to the settings page for Pride in London.
OS / Browser / Device model
Tested on latest Beta release version 2.02 (8302) on iOS.

I will be looking into this along with #501 and #502.

We're adding a popup for denied access users:
Suggested copy:
title: Can't get your location
p: Share your location with Pride in London in your iPhone's settings to help find your way around the Parade.
CTA: Ok
Action: Closes pop-up
We're not actively doing anything to change the settings for the users.
@RGBboy ^^

@serdemli
I've amended slightly to:
title: We can't get your location
p: Enable location access in your Settings or try again later to help find your way around the Parade.
Mainly because I think this could be triggered if you have you location access enabled but it's very busy. Is that correct @RGBboy ?

@stevecottle This one is only for when the users have disabled their location being used.
If they have enabled it but we cannot get their location, we show a different pop-up telling them to try later.
This one is different as it's only for when we want users to enable their settings to be able to use the current location feature.

Makes sense, in that case I'd just suggest the following edit
title: We can't get your location
@serdemli

@stevecottle: great minds think alike. I already amended the title to exactly that 👍

@stevecottle @serdemli Here is a suggested update to align with negative + positive CTAs. Keep in mind the user just tried to go to their location hence the negative CTA (top one) being cancel.


[Errno -3] Temporary failure in name resolution

What happened?
Hi @effigies @oesteban
I used fmriprep-24.0.0 to preprocess my data, but an issue occurred.
It seems like templateflow did not work well. Please see the details below.
Best,
Yunhong
What command did you use?
export SINGULARITYENV_TEMPLATEFLOW_HOME="/templateflow"

subject=$( sed -n -E "$((${SLURM_ARRAY_TASK_ID} + 1))s/sub-(\S*)\>.*/\1/gp" ${BIDS_DIR}/participants.tsv )
age=$( sed -n -E "$((${SLURM_ARRAY_TASK_ID} + 1))s/sub-(\S*)\s+(\S*)\s+.*/\2/gp" ${BIDS_DIR}/participants.tsv )

echo "Running: $subject"
echo "Suject age: $age"

if (( $(echo "$age >= 7.5 && $age <= 13.5" | bc -l) )); then
  template="MNIPediatricAsym:cohort-4:res-1"
elif (( $(echo "$age >= 13 && $age <= 18.5" | bc -l) )); then
  template="MNIPediatricAsym:cohort-6:res-1"
elif (( $(echo "$age >= 4.5 && $age <= 8.5" | bc -l) )); then
  template="MNIPediatricAsym:cohort-2:res-1"
else
  template="Age is not in the range, you need choose another template"
fi
echo "Template is $template"

# bind container with host
cmd="singularity run \
        --cleanenv \
        -B $PROJECT:/rootdir \
        -B $BIDS_DIR:/data \
        -B $DERIVS_DIR:/output \
        -B $WORK_DIR:/work \
        -B ${TEMPLATEFLOW_HOST_HOME}:${SINGULARITYENV_TEMPLATEFLOW_HOME} \
        -B ${SINGULARITYENV_FS_LICENSE}:/freesurfer_license \
    ${FMRIPREP} /data /output \
    participant --participant_label $subject \
    -w /work \
    -vv \
    --fs-license-file /freesurfer_license \
    --fs-subjects-dir /output/freesurfer \
    --mem-mb 84000 \
    --n-cpus 14 \
    --write-graph \
    --output-spaces $template anat fsnative func \
    --return-all-components \
    "
echo "Running task: $SLURM_ARRAY_TASK_ID"
echo "Command: $cmd"
eval "$cmd"

What version of fMRIPrep are you running?
24.0.0
How are you running fMRIPrep?
Singularity
Is your data BIDS valid?
Yes
Are you reusing any previously computed results?
No
Please copy and paste any relevant log output.
(node:46029) Warning: Closing directory handle on garbage collection
(Use `node --trace-warnings ...` to show where the warning was created)
Downloading https://templateflow.s3.amazonaws.com/tpl-MNIPediatricAsym/cohort-4/tpl-MNIPediatricAsym_cohort-4_res-1_T1w.nii.gz
Process Process-2:
Traceback (most recent call last):
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/urllib3/connection.py", line 196, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/socket.py", line 962, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
socket.gaierror: [Errno -3] Temporary failure in name resolution

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
               ^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/urllib3/connectionpool.py", line 490, in _make_request
    raise new_e
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/urllib3/connectionpool.py", line 466, in _make_request
    self._validate_conn(conn)
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/urllib3/connectionpool.py", line 1095, in _validate_conn
    conn.connect()
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/urllib3/connection.py", line 615, in connect
    self.sock = sock = self._new_conn()
                       ^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/urllib3/connection.py", line 203, in _new_conn
    raise NameResolutionError(self.host, self, e) from e
urllib3.exceptions.NameResolutionError: <urllib3.connection.HTTPSConnection object at 0x7fcb06482610>: Failed to resolve 'templateflow.s3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
           ^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
              ^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/urllib3/util/retry.py", line 519, in increment
    raise MaxRetryError(_pool, url, reason) from reason  # type: ignore[arg-type]
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='templateflow.s3.amazonaws.com', port=443): Max retries exceeded with url: /tpl-MNIPediatricAsym/cohort-4/tpl-MNIPediatricAsym_cohort-4_res-1_T1w.nii.gz (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7fcb06482610>: Failed to resolve 'templateflow.s3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/envs/fmriprep/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
    self.run()
  File "/opt/conda/envs/fmriprep/lib/python3.11/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/fmriprep/cli/workflow.py", line 126, in build_workflow
    retval['workflow'] = init_fmriprep_wf()
                         ^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/fmriprep/workflows/base.py", line 94, in init_fmriprep_wf
    single_subject_wf = init_single_subject_wf(subject_id)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/fmriprep/workflows/base.py", line 317, in init_single_subject_wf
    anat_fit_wf = init_anat_fit_wf(
                  ^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/smriprep/workflows/anatomical.py", line 731, in init_anat_fit_wf
    anat_reports_wf = init_anat_reports_wf(
                      ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/smriprep/workflows/outputs.py", line 137, in init_anat_reports_wf
    template_iterator_wf = init_template_iterator_wf(spaces=spaces, sloppy=sloppy)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/smriprep/workflows/outputs.py", line 1131, in init_template_iterator_wf
    fetch_template_files(template, specs=None, sloppy=sloppy)
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/smriprep/interfaces/templateflow.py", line 205, in fetch_template_files
    files['t1w'] = tf.get(name[0], desc=None, suffix='T1w', **specs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/templateflow/conf/__init__.py", line 72, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/templateflow/api.py", line 174, in get
    _s3_get(filepath)
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/templateflow/api.py", line 329, in _s3_get
    r = requests.get(url, stream=True, timeout=TF_GET_TIMEOUT)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/requests/api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/envs/fmriprep/lib/python3.11/site-packages/requests/adapters.py", line 700, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='templateflow.s3.amazonaws.com', port=443): Max retries exceeded with url: /tpl-MNIPediatricAsym/cohort-4/tpl-MNIPediatricAsym_cohort-4_res-1_T1w.nii.gz (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7fcb06482610>: Failed to resolve 'templateflow.s3.amazonaws.com' ([Errno -3] Temporary failure in name resolution)"))

Additional information / screenshots
No response

This appears to be an issue with hitting the internet from your cluster.
https://www.nipreps.org/apps/singularity/#restricted-internet-access

Thank you very much @effigies
I checked the cluster's internet and found that the internet is not accessible.


Be able to easily mass move repositories to another user or organization accounts

Hello.
I really like GitHub, really. I think it's a great place to share and look other's people code!
Maybe it's my OCD, but I like to fork every project I'm interested in. Unfortunately, this mania made me have an unsustainable mess: 500+ plus +170 projects in timofonic + TimofonicJunkRoom.
I'm currently moving lots of forks to organization accounts, but I only found this Selenium script to more or less automatize the task.
Despite the lack of an ideal solution, it's far from being an ideal solution and moving projects is still a very time consuming task. I would prefer a MidnightCommander-like UI, it would be a lot easier.
I suggested this to the Github's hub project at issue 1634 too.
I also wrote about this in issue 277 at dear-github repository, a place I consider GitHub company members should look at for interesting feedback.
Kind regards.

I don't think this belongs to RGH. It makes sense as a command line tool, given its rare use, not as an extension.

@bfred-it Okay, thanks. I already submitted it to hub project. Do you recommend me any other candidates?

I agree. It would be better as a command-line tool.
You could try posting in https://github.com/sindresorhus/module-requests/issues


How will the new Oembed Read API will effect this plugin?

I know this plugin uses https://github.com/oscarotero/Embed, but will the deprecation of the old Oembed API and update to Oembed Read will effect this plugin? Trying to some things clear. Thanks!

If this isn't working with Embed 3 in particular, hopefully we'll be able to fix that in the not too distant future by releasing a new version of the plugin that uses Embed 4. Basic work on it has started, subscribe to #152 for updates on progress.


Make default InfluxDB client support custom HTTP endpoints

Proposal:
Make it possible to connect to an InfluxDB instance running behind a reverse proxy with a custom subpath / endpoint with the default InfluxDB client influx.
Current behavior:
I have InfluxDB, Grafana and nginx running as docker containers in a test VM at <IP_ADDRESS>.
InfluxDB is exposed at <IP_ADDRESS>/influxdb/
I can issue a ping command with curl but I can't log in using influx:
$ curl -sL -I l http://<IP_ADDRESS>/influxdb/ping
HTTP/1.1 204 No Content
Server: nginx/1.14.0
Date: Thu, 20 Sep 2018 11:21:11 GMT
Content-Type: application/json
Connection: keep-alive
Request-Id: 4714b565-bcc7-11e8-8009-000000000000
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.5.4
X-Request-Id: 4714b565-bcc7-11e8-8009-000000000000

$ influx -host <IP_ADDRESS>/influxdb -port 80
Failed to connect to http://<IP_ADDRESS>%2Finfluxdb: parse http://<IP_ADDRESS>%2Finfluxdb/ping: invalid URL escape "%2F"
Please check your connection settings and ensure 'influxd' is running.

Desired behavior:
I'd like to be able to connect to a custom endpoint with influx. :)
Use case:
I'm just getting started with InfluxDB but I'd like to be able to test the database with influx as the server is set up now. I might go back to just exposing the server directly via its default port and no endpoint instead if necessary.

@stale I'm still watching this and in need of this. AFAIK there is no workaround, so it's impossible to use the influx CLI to connect to such endpoints.

Is this still unavailable?
This is a common use case for people deploying influxdb using containers, like with docker stack or kubernetes.
Official Python client already have it:
https://github.com/influxdata/influxdb-python/blob/6baf7eee61e968c70d4c7f111e7179bc92a80e8d/influxdb/client.py#L62

Documentation
Issue
Commit

Even the third party Async Client has it:
https://github.com/gusutabopb/aioinflux/blob/b3186627a5bc071be36dd91eb81c02b8f8c23943/aioinflux/client.py#L93

Issue
Commit

And the official CLI doesn't? Seems pretty trivial change to me.
CLI has a path argument but it is unrelated:
https://docs.influxdata.com/influxdb/v1.7/tools/shell/#path
If you need a setup you may use the Docker stack attached.
aioinfluxdeploy.zip
Deploy stack with:
docker stack deploy --compose-file=stack.yml aioinflux
Access InfluxDB with:
curl -L -i http://<IP_ADDRESS>:8000/my/custom/path/ping?verbose=true

So every few months the stale bot tries to auto-close valid and accepted issues, and we have to keep spamming them in order to keep them open...

I also have topic starter's problem!
I run influxdb in docker-compose as described here: https://towardsdatascience.com/get-system-metrics-for-5-min-with-docker-telegraf-influxdb-and-grafana-97cfd957f0ac
I setup nginx as reverse proxy for ssl connection and checking link failed!
influx -ssl -host myhost.com/influxdb -port 443
Failed to connect to https://myhost.com%2Finfluxdb:443
Please check your connection settings and ensure 'influxd' is running.

It spends a lot of time for understanding, that it works!
curl -sL -I l https://myhost.com/influxdb/ping
HTTP/1.1 204 No Content
Server: nginx
Date: Sun, 22 Dec 2019 22:23:34 GMT
Content-Type: application/json
Connection: keep-alive
Request-Id: b11af176-2509-11ea-1111-0242ac181111
X-Influxdb-Build: OSS
X-Influxdb-Version: 1.7.9
X-Request-Id: b11af176-2509-11ea-1111-0242ac181111
X-Frame-Options: SAMEORIGIN


Autoscrolling issue when html/body set to 100%

I am seeing issues with autoscrolling when the height of the html and body elements is set to 100% (so that the body fills the whole viewport). I have fixed this by modifying updatePosition() to include scrollable.scrollTop in the calculation of bottomOffset:
bottomOffset = Math.min(scrollable.scrollTop + containerRect.bottom, window.innerHeight) - targetRect.bottom,

This seems to fix the problem.
Does this look correct?

I had issues with scrolling on mobile, the page kept skipping up and down. Substituting this line seems to have fixed it. Thanks!

@henrikhermansen -- thank you for letting me know. I am also using this myself with good results.

I believe these issues were fixed in #72.  Please feel free to reopen if you discover otherwise.


chore(main): release 0.1.3

:robot: I have created a release beep boop
0.1.3 (2022-10-03)
Miscellaneous Chores

check: Add actionlint (b570927)
check: Add actionlint (#16) (33c9adb)
check: move gitleaks scan to check workflow (5acf9a4)
check: move gitleaks scan to check workflow (#18) (6fd2e94)
deploy: Display url (02176a7)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/rotex1800/registration/releases/tag/v0.1.3 :sunflower:


Sending params along with time_entries GET request

Hey @Yaaqoub,
How would I pass along parameters along with the time_entries GET request? the Harvest API allows for parameters to narrow to the list results for various objects.
Thanks!

Hello @dgibney @chrisphilton,
I created a fix for that issue (I am sorry for being late). now there is two methods for timeEntries 'list' and 'listAll'.

Time Entries

list({params}, callback)
listAll(callback)
retrieve(timeEntryID, callback)
create({params}, callback)
update(timeEntryID, {params}, callback)
delete(timeEntryID, callback)
restart(timeEntryID, callback)
stop(timeEntryID, callback)
Example: harvest.timeEntries.list()

In your case you can do this now:
harvest.timeEntries.listAll(function(error, response, res) {
    if (!error) {
        console.log(res);
    }
});

Or
harvest.timeEntries.list({
    from:'2018-02-07',
    to: '2018-02-09',
    page:1,
    per_page:100
}, function(error, response, res) {
    if (!error) {
        console.log(res);
    }
});

Kind regards.

Any news on implementing this on all the other "list" calls. I need this as well? I'm not an experienced nodejs developer (yet), so I won't infect your project with my own bad attempts at implementing it.. But locally I have implemented it for /invoices list and it works perfectly.

Hello @sdlaursen,
we change the project structure, so the new one has some errors I will fix it soon, so we look into that.


Keybindings apply for all languages

Some keybindings such as ctrl-alt-o probably need to work no matter what the language grammar of the editor file is. Most should only work for c# buffers.

Looking at other plugins, we should be able to do something like this 'atom-text-editor[data-grammar~=cs]':. I can't seem to get it to work for omnisharp-atom though :(

atom-text-editor[data-grammar~="cs"]  ?

so far I tried [data-grammar~=cs], [data-grammar~=csharp], [data-grammar~="cs"], [data-grammar~="csharp"], [data-grammer="source cs"] and [data-grammar="source csharp"]

maybe it doesnt like ~=?
I have
'atom-text-editor:not([mini])[data-grammar*="cs"]':
  'ctrl-k ctrl-d': 'omnisharp-atom:code-format'

in my custom keymaps and it works.

Hmm... tried that too.. not working. Starting to think this is something specific to my machine or OSX

As soon as I change it to 'atom-text-editor':, the keys all start working again :(

I'll take a look at this this evening.

Sooo 'atom-text-editor:not([mini])[data-grammar~="cs"]': works for me.


Kill unused .c file which contains code in a language invented by a Danish guy.

If ATS committers were in charge of the Catholic Church probably that gospel where Jesus is married would never have been deleted from the Bible.

The reference in the Makefile is commented out.  I guess you might as well just get rid of the commented out test_UNUSED_SOURCES.  Otherwise this looks good to me.

[approve ci centos]

[approve ci ubuntu]

OK the makefile is changed.

[approve ci ubuntu]


:bug: Fix tools config

Custom configurations (like endpoints for image upload) didn't apply if not all plugins were enabled. This fix resolves the issue

@ChangJoo-Park please pay attention to these PRs and release a new version on npm

Thanks @Loskir. it maybe my fault.


4.0.3 socks5 mode sucks [2]

Steps to reproduce the problem:

setup two socks5 proxies (srelay & mitmproxy) at some amazon server (I've used free tier)
install stock ubuntu tsocks app at your test box
use simple /etc/tsocks.conf:

server = amazon_server_ip
# Server type defaults to 4 so we need to specify it as 5 for this one
server_type = 5
# The port defaults to 1080 but I've stated it here for clarity
server_port = 8080

launch slrealy proxy at amazon server and check some connection from some external to amazon host test box : tsocks telnet some_host 22

Trying xxxxx...
Connected to xxxxxx.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.4

All is working as expected.

Stop srelay, launch mitmproxy as mitmproxy -m socks5 :

Trying xxxx...
Connected to xxxx.
Escape character is '^]'.
Connection closed by foreign host.

Stock Ubuntu 16.04.4 LTS at amazon & Ubuntu 18.04 as second box & 4.0.3 mitmproxy

Made a typo about telnet over mitmproxy output:
tsocks telnet xxxxx 22
Trying xxxxx...
telnet: Unable to connect to remote host: Transport endpoint is not connected

this looks like a configuration issue on your end, "Transport endpoint is not connected" means no TCP connection could be established with the server.


How do we change binds?

I was able to see what the "virtual 360" is sending by game controller settings in devices, but it looks like the grips underneath are sending the exact same signal as X and A (buttons 1 & 3).
So how would I go about assigning the grips to shift up / down, while also being able to use the X and A buttons independently?
Additionally, it looks as though some buttons are not bound at all:
Full Trigger Pull (both Left and Right!)
Right pad center press (directionals do show as hats)
Left pad directional presses (all clicks show as button 10)
Where should we been editing the rumble settings? I saw there is more than one place to do this, default setup is very very fake feeling like the rumbler has no weight to it.

You have to rebind any individual GloSC-Shortcut like any other Steam Game
GloSC just "captures" and "forwards" what any Steam game would get, to the system.


Investigate and Provide Quotes for Storage Options in Birmingham, Glasgow, and Manchester

Description:
We have a need for accessible storage across multiple regions for the storage of laptops that can be used by the community at the Saturday sessions.
We need to investigate storage options and provide quotes for locations in Birmingham, Glasgow, and Manchester. This will help accommodate laptops and other necessary items, ensuring they are securely stored and easily accessible to volunteers.
Acceptance Criteria:

[ ] Research Storage Options: Identify potential storage facilities in each location (Birmingham, Glasgow, and Manchester) that are accessible, secure, and cost-effective.
[ ] Provide Quotes: Obtain quotes from at least two different storage providers in each location for a small storage unit (sufficient for laptops and related equipment).
[ ] Evaluate Accessibility: Consider proximity to universities or volunteer meeting points to facilitate ease of access for program use.
[ ] Documentation: Compile a document with all available options, including pricing, location, access hours, and any additional features (e.g., 24-hour access, security measures).

@cynthimicallef101 this ticket has passed its deadline. Do you have feedback on it?
We urgently need a solution for the Glasgow storage as it is currently being stored in a volunteers house.

We cannot expect the volunteer to store this until then. We can find a storage solution as an intermediary solution and reevaluate it once we have a new venue.
Please can I have feedback on why this deadline was missed? Is the deadline on the ticket not a good medium of communicating these?

Hi Amy, sorry I am struggling to keep up with all the Venue management tickets. As you know my work is only 20hrs per week, and the other half is many times also urgent and takes a longer time to complete than expected. I have to prioritise my work, and sometimes the other issues are more urgent.

@AmyCYF I am actually struggling to see the deadlines for all the tickets. If you can point me to where I can see the deadlines please? Thanks

@AmyCYF Glasgow Storage: Storage Solutions

If it is temporary and we only need a very small space for laptops (10sq ft for now), then Central Glasgow might be the best option. Volunteers can also walk to it I believe. See last option, Safestore.
Best to get input from someone in Glasgow for ease of access. \
Where are the laptops held right now? What is their postcode?

I agree - safestore looks good!
We can ask Douglas Greenshield - he is the volunteer who is also in Glasgow. Otherwise Dara-Emma (who used to work for CYF) is in Glasgow and I'm sure could offer some feedback.

The laptops are at Doulgas house at the moment. Why would we need the post code?

Update:

Birmingham storage unit, no longer unit. Laptops to be held at Aston Uni.
Glasgow: in progress. Safestore central Glasgow an option.

Yes we can proceed @cynthimicallef101


refactor(cc): do not expose deltaTime and previousValue as values

They don't seem to ever contain anything useful.

Thank God!


Add generation of enum array in query

Fixes https://github.com/microsoft/kiota/issues/4225

@baywet Thank you for the review- looks like I had some leftover changes that I had made when trying to track down the issue

@crobibero The intergration tests are failing for the PR when generating SDKs for the apisguru::github.com:api.github.com endpooint. Any chance you can take a look before we merge?

@andrueastman The breakage doesn't look to be from this PR as others are also failing, and I don't have the ability to run the the script that is failing on my machine; so no.

@andrueastman The breakage doesn't look to be from this PR as others are also failing, and I don't have the ability to run the the script that is failing on my machine; so no.

Thanks for double checking. Lemme take a look before we merge.

Confirmed that failures related to https://github.com/microsoft/kiota/pull/4174#issuecomment-1964384287
Tracked by https://github.com/microsoft/kiota/issues/4241
Will update suppressions in a separate PR.


Update submodules 'ot-br-posix' and 'openthread' for OTBR PD REF support

ot-br-posix 7f04c183b04dc490a40bf34f72be7a1b79fa1fbf
openthread deb35b0c257f6f530cf55c89546772ab867e8041

turn on prefix delegation for 1.4

Could you log this update in the CHANGLOG file? Thanks @yangsong-cnyn

When ot and otbr submodules are updated, may also update the ot-nrf528xx to contain latest changes.

Could you log this update in the CHANGLOG file? Thanks @yangsong-cnyn

updated


fix(projects): Fix error in 'vf lsprojects' when $PROJECT_HOME does not exist.

Looks good, thanks!


DartPad "Run" button covers code/comment directly under it

Here's a photo of the issue:

Part of the comment that starts on the first line in the DartPad gets covered by the "Run" button and this is the same case when I try to increase the size of my code editor screen. I hope this gets fixed for a much better user experience.

Is there any chance if we could place 'RUN' button on the appBar?

I want to work on this issue.

I want to work on this issue.

@RedBrogdon

Hmm. It's certainly true that we could move the run button to the title bar, but that would increase the minimum width required fo DartPad embeds, and it would be a significant design change.
There may be other options as well, such as collapsing the button to a single icon, then expanding it on mouse over to reveal the full text.
@johnpryan, I know you worked a lot on this design with Jeremy, so it's your call whether we should make a change here, and if so what that change would be.

The app bar starts to have issues when the page is too small, so I'm hesitant to add this to the app bar.

Maybe add a bit of a gap before the first line of code?

Another idea is to add the run button down, and leave some gap after the code:

Thanks for the issue! I'm going to close as a duplicate of https://github.com/dart-lang/dart-pad/issues/1381 which also discusses the same concern.


Markdown usage appears broken

When using this parser, I get a Prettier: failed to parse buffer error for markdown files. I'm just editing a README in a pretty standard app using create-react-app
Here's my prettier config from package.json:

  "prettier": {
    "parser": "./node_modules/@observablehq/prettier-react-tachyons",
    "autoformat": 0,
    "semi": false,
    "arrowParens": "avoid",
    "trailingComma": "none",
    "jsxBracketSameLine": false,
    "bracketSpacing": true,
    "singleQuote": true
  }

ah ha - I was looking for something like that in the docs but couldn't find it. that should do the trick. thanks for the prompt reply!


Do not connect S3 if no files are being uploaded

I only noticed this because I was trying to manually test the supplier app when not connected to the internet. Instantiating S3 talks to S3, this isn't necessary if we're not uploading files.

LGTM :+1:


Changed Red Hat provider description

Changed 'Red Hat Enterprise Virtualization Manager' to 'Red Hat
Virtualization Manager' in Red Hat provider description.
https://bugzilla.redhat.com/show_bug.cgi?id=1372992

@miq-bot assign @pkliczewski
Piotr can you please review this change?

@miq-bot add-label providers

@miq-bot assign @durandom

@miq-bot assign @durandom

@mzazrivec do you know if we need to change that in the docs too? And who do I have to ping for that?

@durandom Yes, I'd say the docs need to be modified too. I'd ask @chrispy1 regarding this.

@chrispy1 @mfeifer are you ok with merging this here? How would we propagate that change to docs?

@durandom create an issue in https://github.com/ManageIQ/manageiq_docs Is this being backported?  You will want to note in which set of docs to begin this change.

@durandom so what needs to be done to get this merged?

@borod108 I want to wait until @blomquisg is back next week, to see if he knows of other areas of impact, but probably it's ok.
If so, we'll create an issue as @mfeifer suggested and we're good

@blomquisg are we good on this one?

@miq-bot assign @blomquisg

@oourfali are we going to backport this to euwe? I would schedule it for fine release.
Also, will you take care of creating an issue in https://github.com/ManageIQ/manageiq_docs  once its merged?

@durandom I do think it can be merged to euwe. do you prefer the "F" release?

I'm afraid we change strings that are already in documentation and maybe even QE tests, so I'd prefer not to backport and aim for F

I've found other references to "Red Hat Enterprise Virtualization Manager"

https://github.com/ManageIQ/manageiq/blob/master/app/assets/javascripts/locale/en/app.js

see the en, jp, nl, and zh_CN directories

https://github.com/ManageIQ/manageiq/blob/master/app/helpers/application_helper/discover.rb
https://github.com/ManageIQ/manageiq/blob/master/locale/en/manageiq.po
https://github.com/ManageIQ/manageiq/blob/master/locale/jp/manageiq.po
https://github.com/ManageIQ/manageiq/blob/master/locale/zh_CN/manageiq.po
https://github.com/ManageIQ/manageiq/blob/master/locale/manageiq.pot
https://github.com/ManageIQ/manageiq/blob/master/spec/controllers/ems_infra_controller_spec.rb
https://github.com/ManageIQ/manageiq/blob/master/spec/models/ext_management_system_spec.rb
https://github.com/ManageIQ/manageiq/blob/master/spec/models/manageiq/providers/redhat/infra_manager_spec.rb

The po, pot, and app.js files might all be generated.  /cc @martinpovolny @himdel
The spec files aren't hugely important, but should be changed for completeness.

The po, pot, and app.js files might all be generated. /cc @martinpovolny @himdel

Exactly, the pot files are created by extrating strings from our code, po are downloaded from zanata, and ..javascritps/locale/** is generated from those po files.
Which only leaves the ruby files :).

@himdel I noticed that those files are committed ... when are they generated and who commits them?

@blomquisg that would be @mzazrivec .. he's our i18n automation :)

@blomquisg 👍 for grepping.
@borod108 can you change the specs as well?

@blomquisg, fixed. Can this be merged?

Euwe backport details:
$ git log -1
commit c7d9ef9bd80991a6d11763d0b5116ed19d12d854
Author: Greg Blomquist<EMAIL_ADDRESS>Date:   Wed Dec 7 16:18:49 2016 -0500

    Merge pull request #12471 from borod108/bugs/1372992rhev_to_rhv

    Changed Red Hat provider description
    (cherry picked from commit c58f60453e0c8bf351a42476d7007c880576afcb)

    https://bugzilla.redhat.com/show_bug.cgi?id=1403358


Polish admins-only policy room feature

Background
We recently added a configurable setting to all default and user-created policy rooms, available to admins only, that allows admins to define who can post in that room: All members or Admins only. This enables admins to "control the conversation" in rooms that have large membership, or for whatever other reason should be lower-noise.
While the bulk of the work is complete, there's some remaining polish to be done on the FE.
Tasks

[ ] Add the "Who can post" setting to the "New Room" form

The default form value should be all
Send the writeCapability value when calling the AddWorkspaceRoom endpoint
Ensure the value is included in the optimisticData (to support offline creation)
Note: BE PRs supporting the writeCapability value in the AddWorkspaceRoom endpoint aren't live yet, but don't need to block work here

[ ] Filter out admin-only rooms for members in the "Share somewhere" selector of the "Assign task" action (accessible via the FAB menu) - so that members cannot share a task to the room
[ ] Reduce the padding between the last message and the bottom of the page when the composer isn't present (e.g. for the "member" view in an admin-only room)
[ ] Update the room description to be Use ${roomName} to hear about important announcements related to ${workspaceName} for admin-only rooms

Internal issue for reference: https://github.com/Expensify/Expensify/issues/282865
I shared in Slack to see if a Callstack team member has capacity for this.

LMK if you need any Upworks stuff sorted!

Hi, I'm Michael (Mykhailo) from Callstack and I would like to work in this issue.

@amyevans Hi!
Is it possible to add my Expensify accounts to the white list of Create Policy Room?

Done

Collaboration among ${workspaceName} admins starts here! 🎉 Use ${roomName} to chat about topics such as workspace configurations and more.

This is the copy for the #admins room, and the #admins room is something different - it is one of 2 rooms created by default when you create a new workspace aka policy (#announce being the other default room). The purpose of the #admins room is for collaboration between admins. Users who are members of the policy (but not admins of the policy) are not in the #admins room.
Then we have this feature we're working on here, which is any room that is restricted to only admins posting (but plenty of non-admins are in the room). Check out the screen recordings/code in https://github.com/Expensify/App/pull/19094 for more context. So we'll want to insert a new condition here-ish:
https://github.com/Expensify/App/blob/5c6b751601c8bf71d9cc42dd12c2f63c0c160a35/src/libs/ReportUtils.js#L571
that checks if it's a room where only admins can post and then spits out Use ${roomName} to hear about important announcements related to ${workspaceName}.
Does that make sense?

@amyevans Thank you for your answer.
Just to clarify:

The #admins room is the policyAdmins chat type.
isAdminRoom verifies it of getRoomWelcomeMessage.
https://github.com/Expensify/App/blob/5c6b751601c8bf71d9cc42dd12c2f63c0c160a35/src/libs/ReportUtils.js#L574-L576
phrase1 should be Use . Because ${roomName} should be presseble to navigate.
https://github.com/Expensify/App/blob/5c6b751601c8bf71d9cc42dd12c2f63c0c160a35/src/components/ReportWelcomeText.js#L83-L94
phrase2 should be  to hear about important announcements related to ${workspaceName}.

Correct me if I am wrong 🙂

The #admins room is the policyAdmins chat type.

Yep! (But again, that isn't the room we're talking about in this feature at all.)

isAdminRoom verifies it of getRoomWelcomeMessage.
https://github.com/Expensify/App/blob/5c6b751601c8bf71d9cc42dd12c2f63c0c160a35/src/libs/ReportUtils.js#L574-L576

This doesn't directly answer your question, but more to point of what to do here, we'll want to create a new helper function:
function isAdminsOnlyPostingRoom(report) {
    const capability = lodashGet(report, 'writeCapability', CONST.REPORT.WRITE_CAPABILITIES.ALL) || CONST.REPORT.WRITE_CAPABILITIES.ALL;
    return capability === CONST.REPORT.WRITE_CAPABILITIES.ADMINS;
}

and use that function in a new condition in this logic:
} else if (isAdminsOnlyPostingRoom(report)) {
...
}

phrase1 should be Use . Because ${roomName} should be presseble to navigate.
https://github.com/Expensify/App/blob/5c6b751601c8bf71d9cc42dd12c2f63c0c160a35/src/components/ReportWelcomeText.js#L83-L94
phrase2 should be  to hear about important announcements related to ${workspaceName}.

Good point about why we separate out the phrases. That looks correct, thanks!

@amyevans Got it. Thank you!

Proposal
Please re-state the problem that we are trying to solve in this issue.
This is a feature issue. It has 4 tasks. Anyway, it resolves some user problems too:

Provides new functionality - "Who can post" setting during creating a new room.
Restricts to share "Assign task" in admin-only rooms if a current user is not admin itself.
Reduces the spacing between the last message and the bottom of the page when Composer isn't present.
Updates message the welcome message for admin-only rooms.

What is the root cause of that problem?

Add the "Who can post" setting to the "New Room" form.

The default form value should be all.
Send the writeCapability value when calling the AddWorkspaceRoom endpoint.
Ensure the value is included in the optimisticData (to support offline creation).
Note: BE PRs supporting the writeCapability value in the AddWorkspaceRoom endpoint aren't live yet, but don't need to block work here.

Filter out admin-only rooms for members in the "Share somewhere" selector of the "Assign task" action (accessible via the FAB menu) - so that members cannot share a task to the room.
Reduce the padding between the last message and the bottom of the page when Composer isn't present (e.g. for the "member" view in an admin-only room).
Update the room description to be Use ${roomName} to hear about important announcements related to ${workspaceName} for admin-only rooms.

What changes do you think we should make in order to solve the problem?

Add the “Who can post” setting to the “New Room” form.
a. WorkspaceNewRoomPage component.

Add writeCapabilityOptions of render method. The array is mapped of all write capabilities. The map returns the array of objects: value (capability itself) and label (reuse already existed strings).

const writeCapabilityOptions = _.map(CONST.REPORT.WRITE_CAPABILITIES, (value) => ({
    value,
    label: this.props.translate(`writeCapabilityPage.writeCapability.${value}`),
}));

Add one more Picker after RoomNameInput, because I consider to follow the same order of pickers as in ReportSettingsPage. It should reuse already existed title (Who can post). The default value should be - CONST.REPORT.WRITE_CAPABILITIES.ALL (all). It takes items (values) from writeCapabilityOptions.
Change bottom spacing of workspaces Picker Wrapper (View) from mb5 to mb2 to keep consistency between them.
Apply destructuring assignment of values of submit method. Because, the method always uses chains to get each value.
Take and pass writeCapability to Report.addPolicyReport(…, writeCapability) in the submit method.

Filter out admin-only rooms for members in the “Share somewhere” selector of the “Assign task” action (accessible via the FAB menu) - so that members cannot share a task to the room.
a. shouldReportBeInOptionList function of ReportUtils.js.

Takes one more argument - isShareDestination (the default value - false). Since, this function is being used across other places and other list of reports, I should apply changes only for the “Share somewhere” selector.
Add one more condition before the final return. When isShareDestination is true and writeCapability equals admin-only, the app should verify that a current user can post to a report. Find linkedWorkspace by policy.id and report.policyID. Then, check a role of the current user for this workspace. The role should be equal admin to allow the user to share to this report, otherwise this report is out of the list.

if (isShareDestination && report.writeCapability === CONST.REPORT.WRITE_CAPABILITIES.ADMINS) {
    const linkedWorkspace = _.find(policies, (policy) => policy && policy.id === report.policyID);
    const shouldAllowShare = lodashGet(linkedWorkspace, 'role', '') === CONST.POLICY.ROLE.ADMIN;

    return shouldAllowShare;
}

b. getOptions function of OptionsListUtils.js.

Takes one more value of options object. It is isShareDestination (the default value - false). Since, this function is being used across other places and other list of reports, I should apply changes only for the “Share somewhere” selector.
Passes the value to ReportUtils.shouldReportBeInOptionList(…, isShareDestination).

c. getShareDestinationOptions function of OptionsListUtils.js.

Passes isShareDestination to getOptions(..., {..., isShareDestination: true}).

Reduce the padding between the last message and the bottom of the page when Composer isn’t present (e.g. for the “member” view in an admin-only room).
a. Add pb0 (paddingBottom: 0) to spacing.js.
b. Apply styles.pb0 to View with styles.p5 of ReportActionItemCreated, when no other messages and Composer is hidden.

To understand that there is no messages yet, I would use lastMessageText of report and compare with an empty string.
To understand that Composer is hidden, I would apply the same conditions as inside ReportFooter.

const errors = lodashGet(props.report, 'errorFields.addWorkspaceRoom') || lodashGet(props.report, 'errorFields.createChat');
const isArchivedRoom = ReportUtils.isArchivedRoom(props.report);
const hideComposer = ReportUtils.shouldHideComposer(props.report, errors);
const shouldOmitBottomSpace = props.report.lastMessageText === '' && (isArchivedRoom || hideComposer);

<View
    accessibilityLabel={props.translate('accessibilityHints.chatWelcomeMessage')}
    // Apply the condition here
    style={[styles.p5, shouldOmitBottomSpace && styles.pb0, StyleUtils.getReportWelcomeTopMarginStyle(props.isSmallScreenWidth)]}
>

Update the room description to be Use ${roomName} to hear about important announcements related to ${workspaceName} for admin-only rooms.
a. reportActionsView of en.js.

Add beginningOfChatHistoryAdminOnlyPostingRoomPartOne - "Use ".
Add beginningOfChatHistoryAdminOnlyPostingRoomPartTwo like a method to pass workspaceName - " to hear about important announcements related to ${workspaceName}".
b. ReportUtils.js
Create a function - isAdminsOnlyPostingRoom. It takes report and gets writeCapability or use default value - all. It compares writeCapability with admins to verify that only admins can post here.

function isAdminsOnlyPostingRoom(report) {
    const writeCapability = lodashGet(report, 'writeCapability', CONST.REPORT.WRITE_CAPABILITIES.ALL);

    return writeCapability === CONST.REPORT.WRITE_CAPABILITIES.ADMINS;
}

Add one more else if to getRoomWelcomeMessage. It should use the new isAdminsOnlyPostingRoom function. When it returns true, it sets the first string (beginningOfChatHistoryAdminOnlyPostingRoomPartOne) to phrase1 and the second string (beginningOfChatHistoryAdminOnlyPostingRoomPartTwo) to phrase2.

What alternative solutions did you explore?

Reduce the padding between the last message and the bottom of the page when Composer isn’t present (e.g. for the “member” view in an admin-only room).
a. Remove wrapper of OfflineIndicator of ReportFooter. Remove styles.offlineIndicatorRow, because no wrapper anymore. The wrapper has a static height and is being rendered always on large screens. No sense to keep this empty wrapper when users are online.

The 1st task example:
https://github.com/Expensify/App/assets/57314631/d71abc12-d781-452a-93f5-cc4ef045cdbf

The 2nd task example:
https://github.com/Expensify/App/assets/57314631/23833ab3-8e67-417c-bd0d-642f7a5e5c4f

The 3rd task example:

The 4th task example:

Thanks for writing that out as a detailed proposal! I haven't had the opportunity to review it yet and will eventually want a C+ to help with the PR review, so going to pull 1 in now for proposal review as well.

Thanks for the detailed proposal @rezkiy37. Took sometime to go through all the points. Your proposal looks good.
cc - @amyevans
🎀 👀 🎀 C+ reviewed.

@amyevans Hi!
Could you please provide me translations for Use ${roomName} to hear about important announcements related to ${workspaceName} in Spanish.

Utiliza ${roomName} para enterarte de anuncios importantes relacionados con ${workspaceName}.

Heads up I'm OOO Mon/Tue next week! Feel free to open a PR and have @mananjadhav review it though, and I will get back to this Wed.

Invite sent to @mananjadhav

Not overdue, still working through this

#21950 is ready for review 🙂

PR review is done, left with 2 comments.

Seems causing a regression https://github.com/Expensify/App/issues/23638

Hi, @amyevans, @shawnborton and @mananjadhav!
Unfortunately, 2 regressions have occurred after the the merging: https://github.com/Expensify/App/issues/23638 and https://github.com/Expensify/App/issues/23646. I am going to fix the both of them.

Yes @rezkiy37. Thanks for that. I'll be available over the weekend too to fix these regressions.

@rezkiy37 thanks, I assigned us all to both! I'm around to review the PRs as well.

@amyevans, @mananjadhav, I've opened a PR for review - https://github.com/Expensify/App/pull/23815.

@rezkiy37 I think this issue https://github.com/Expensify/App/issues/23818 might be a regression from this PR

Hi, @amyevans and @mananjadhav!
Unfortunately, 1 regressions have occurred after the the merging: https://github.com/Expensify/App/issues/23818. I am going to fix it asap.

@amyevans, @mananjadhav, I've opened a PR for review - https://github.com/Expensify/App/pull/23919.

@amyevans can you check this Payment summary?

Contributor: @rezkiy37 $500 (due to regression) - Callstack, to invoice serparately
C+: @mananjadhav $500  (due to regression) - New.Dot payment

No Upworks job created

@jliexpensify The payout for me will be 125$, as there are two regressions.

There won't be any offending PR because this was more of a feature request. About regressions steps, @amyevans Can you confirm if these are added during the feature design?

About regressions steps, @amyevans Can you confirm if these are added during the feature design?

Good reminder, I haven't put in the request for new regression tests yet but I will Monday!

Payment summary here (to save me scrolling up)

Regression tests GH created: https://github.com/Expensify/Expensify/issues/308182
I think we're set to proceed with payment today!

Cool, so there isn't anything to pay in Upworks - @mananjadhav is getting paid in New.Dot and @rezkiy37 is invoicing us.
@amyevans are you happy to close this one, if everything is done?

Sure, I wasn't sure if we had to keep it open until the payment was made in NewDot. Closing now!


Resolves the bugs when trying to add or remove a user

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 56.768%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3271

Relevant Lines:
5762

💛  - Coveralls


Investigate rq for queueing

http://python-rq.org/
Looks super simple and awesome. Appears to support everything we use, and makes a lot of things (sending jobs to a specific queue, etc) much easier. The only thing I haven't looked into is if it has an EAGER mode, similar to celery.

Staying with Celery for now. We are depending more and more on it.


[Event Request] table 38 "Purchase Header" - OnValidateBuyFromVendorNoOnBeforeValidateEmptySellToCustomerAndLocation

Can we please get the following event?
field(2; "Buy-from Vendor No."; Code[20])
{
    Caption = 'Buy-from Vendor No.';
    TableRelation = Vendor;

    trigger OnValidate()
    var
        StandardCodesMgt: Codeunit "Standard Codes Mgt.";
    begin

        ...

        "Tax Area Code" := Vend."Tax Area Code";
        "Tax Liable" := Vend."Tax Liable";
        "VAT Country/Region Code" := Vend."Country/Region Code";
        "VAT Registration No." := Vend."VAT Registration No.";
        "Registration No." := Vend."Registration No.";
        Validate("Lead Time Calculation", Vend."Lead Time Calculation");
        "Shipment Method Code" := Vend."Shipment Method Code";
        "Responsibility Center" := UserSetupMgt.GetRespCenter(1, Vend."Responsibility Center");
        OnValidateBuyFromVendorNoOnBeforeValidateEmptySellToCustomerAndLocation(Rec, Vend, xRec);
        ValidateEmptySellToCustomerAndLocation();
        OnAfterCopyBuyFromVendorFieldsFromVendor(Rec, Vend, xRec);

        ...
}

[IntegrationEvent(false, false)]
local procedure OnValidateBuyFromVendorNoOnBeforeValidateEmptySellToCustomerAndLocation(var PurchaseHeader: Record "Purchase Header"; Vendor: Record Vendor; xPurchaseHeader: Record "Purchase Header")
begin
end;

There is already an OnBeforeValidateEmptySellToCustomerAndLocation inside ValidateEmptySellToCustomerAndLocation, we will add xRec there instead

@Stepanenko-Vadim okay. This is okay for me.

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


Adoption Request: Facts slide deck

Adoption Request
Providing some quick facts slides to reach out to the commnity. Slides contain the relationship between EDC and IDSA, describe important resources and explain how to contiribute to EDC
General information

Title
Description
Contact
Links

EDC facts slide
providing a short slide deck including the relationship of EDC to the work in IDSA and resources to get started with EDC and how to contribute to EDC
<EMAIL_ADDRESS>Link to repo

EDC facts slide
providing a short slide deck including the relationship of EDC to the work in IDSA and resources to get started with EDC and how to contribute to EDC
<EMAIL_ADDRESS>Link to repo

Adoption level
Next, please tell us what level of adoption you intend to provide. (pick only one)

[ X] Reference a feature as "friend"
[ ] Incorporate a feature as core EDC component

The PR was unfortunately forgotten. I am closing it for now due to the outdated information. A version with the current update regarding the relationship between EDC and IDSA will be created.


Modifying Style

@atapas , Hey ,I have modified the style.

@atapas please review this modification and if found applicable please help to merge this request.

@atapas Hey, can you please review this modification and if found applicable please help to merge this request.


Quickstart fixes

Describe changes
I implemented/fixed _ to achieve _.
Pre-requisites
Please ensure you have done the following:

[ ] I have read the CONTRIBUTING.md document.
[ ] If my change requires a change to docs, I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] I have based my new branch on develop and the open PR is targeting develop. If your branch wasn't based on develop read Contribution guide on rebasing branch to develop.
[ ] If my changes require changes to the dashboard, these changes are communicated/requested.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Other (add details above)

@schustmi I guess this also needs fixing upstream in the template as well?

@strickvl I think the quickstart is not actually coming from a template?

@schustmi yeah seems you're right! #TIL


Fail rultor build if any command returns non-zero exit code

https://github.com/yegor256/rultor/issues/1361

@rultor release tag=0.1.1

@rultor release tag=0.1.1

@dgroup Done! FYI, the full log is here (took me 3min)

@rultor release

@rultor release

@dgroup OK, I will release it now. Please check the progress here


when trying to resize image (CTRL+Shift+R)

Description
when trying to resize image it just comes up with unhandled exception object reference not set to an instance of an object
To Reproduce
just pressing (CTRL+Shift+R)
Additional Info
System.NullReferenceException: Object reference not set to an instance of an object.
at Pinta.ResizeCanvasDialog.SetAnchor(Anchor anchor) in D:\a\Pinta\Pinta\Pinta\Dialogs\ResizeCanvasDialog.cs:line 333
at Pinta.ResizeCanvasDialog..ctor() in D:\a\Pinta\Pinta\Pinta\Dialogs\ResizeCanvasDialog.cs:line 188
at Pinta.Actions.ResizeCanvasAction.Activated(Object sender, EventArgs e) in D:\a\Pinta\Pinta\Pinta\Actions\Image\ResizeCanvasAction.cs:line 46
at Pinta.Core.Command.<.ctor>b__29_0(SimpleAction o, ActivateSignalArgs args) in D:\a\Pinta\Pinta\Pinta.Core\Actions\Command.cs:line 63
at GObject.Closure.InternalCallback(IntPtr closure, IntPtr returnValuePtr, UInt32 nParamValues, IntPtr paramValuesData, IntPtr invocationHint, IntPtr userData)
Version
windows 10) and version of Pinta 2.2

Ah sorry, I think the development builds I linked you to were out of date
This should have been fixed by 975cbd04ed713b9ea531ee48a0bb0b2554e0006d
I've updated the builds at https://github.com/PintaProject/Pinta/releases/tag/dev-preview-builds - could you download the updated build (should be Pinta-2.2-dev2018.exe) and try that?

Ah sorry, there was a recent bug that caused a missing dll on Windows. Can you try again with the latest build from https://github.com/PintaProject/Pinta/releases/tag/dev-preview-builds (should be Pinta-2.2-dev2022.exe)

Closing as this should have been resolved with the later fixes to the Windows installer


SkiaImageView.Avalonia use ICustomDrawOperation to make less GC in 11.0.0-preview6

old:

new

使用 SKImage 播放视频后 内存不再出现锯齿状
(Memory no longer appears jagged after playing videos using SKImage)

 使用 SKImage 播放视频后 内存不再出现锯齿状 (Memory no longer appears jagged after playing videos using SKImage)

Sorry I haven't responded for a while. What was the cause of the frequent GC's after all?

Sorry I haven't responded for a while. What was the cause of the frequent GC's after all?

这个的GC看上去是由于不断的在BackingStore创建和回收 WriteableBitmap 造成的
(This GC seems to be caused by the continuous creation and recycling of 'WriteableBitmap' in 'BackingStore')

这个的GC是 FlashCap 在取流时造成的 具体是哪产生的GC还不清楚，但是在取一个较小的流的时候，GC会基本没有
(It is not yet clear which GC is caused by FlashCap during stream retrieval, but when retrieving a smaller stream, the GC is mostly absent)

Thanks for the explanation!
I feel that the graph transition after the improvement is sufficient performance 👍
Since some fine objects are reserved for each frame, any event that these objects are recovered by the GC is considered predictable.
Please mentions when the work is done and ready to merge. I have not checked the details yet, but I would like to check and merge at that point. Also, it would be great if you could change the base branch of this PR to develop :)

Thanks for the explanation!
I feel that the graph transition after the improvement is sufficient performance 👍 Since some fine objects are reserved for each frame, any event that these objects are recovered by the GC is considered predictable.
Please mentions when the work is done and ready to merge. I have not checked the details yet, but I would like to check and merge at that point. Also, it would be great if you could change the base branch of this PR to develop :)

已还原 SkiaImageView.Avalonia 并单独为  '11.0.0-preview6' 和 '11.0.0-preview8' 创建 project
(Restored 'SkiaImageView. Avalonia' and created projects separately for '11.0.0 preview6' and '11.0.0 preview8')

SkiaImageView 1.5.0 released.
The release does not include this fix, but I will close it once. If you would like to add any enhancements or improvements, I would be happy to make a diff to the latest develop branch head. Thanks for working on this project.

As a coincidence, I was working on a similar situation.
My app runs on a very-low performance computer, but the SKBitmap to WriteableBitmap conversion was taking too long which reduces the frame rate. I wrote a similar SKImageView implementation to avoid the conversion. I hope this PR can be reopen to improve the performance of the SKImageView control.
@kekyo
This is the code I've written and tested:
public class SKImageView : Control
{
    private SKBitmap? _source;

    public static readonly DirectProperty<SKImageView, SKBitmap?> SourceProperty =
        AvaloniaProperty.RegisterDirect<SKImageView, SKBitmap?>(nameof(SourceProperty), o => o.Source, (o, v) => o.Source = v);

    public SKBitmap? Source
    {
        get => _source;
        set
        {
            if (SetAndRaise(SourceProperty, ref _source, value))
            {
                InvalidateVisual();
            }
        }
    }

    public override void Render(DrawingContext context)
    {
        if (Source is not { } bitmap)
        {
            return;
        }

        var (scale, bounds) = CalculateDrawingBounds(new PixelSize(bitmap.Width, bitmap.Height));
        var drawing = new SKImageViewDrawing(bitmap, bounds, scale);
        context.Custom(drawing);
    }

    private (double Scale, Rect Bounds) CalculateDrawingBounds(PixelSize bitmapSize)
    {
        var scaleX = Bounds.Width / bitmapSize.Width;
        var scaleY = Bounds.Height / bitmapSize.Height;
        if (scaleX > scaleY)
        {
            // 水平留黑边。
            var x = (Bounds.Width - bitmapSize.Width * scaleY) / 2;
            return (scaleY, new Rect(x, 0, bitmapSize.Width * scaleY, Bounds.Height));
        }
        else
        {
            // 垂直留黑边。
            var y = (Bounds.Height - bitmapSize.Height * scaleX) / 2;
            return (scaleX, new Rect(0, y, Bounds.Width, bitmapSize.Height * scaleX));
        }
    }

    private class SKImageViewDrawing(SKBitmap bitmap, Rect bounds, double scale) : ICustomDrawOperation
    {
        public SKBitmap Bitmap => bitmap;

        Rect ICustomDrawOperation.Bounds => bounds;

        bool ICustomDrawOperation.HitTest(Point p) => false;

        public bool Equals(ICustomDrawOperation? other) => Bitmap == (other as SKImageViewDrawing)?.Bitmap;

        public void Dispose()
        {
        }

        public void Render(ImmediateDrawingContext context)
        {
            var leaseFeature = context.TryGetFeature<ISkiaSharpApiLeaseFeature>();
            if (leaseFeature is null)
            {
                throw new NotSupportedException("SkiaSharp is not available.");
            }

            using var lease = leaseFeature.Lease();
            var canvas = lease.SkCanvas;
            canvas.Save();

            canvas.Scale((float)scale);
            canvas.DrawBitmap(bitmap, (float)(bounds.X / scale), (float)(bounds.Y / scale));

            canvas.Restore();
        }
    }
}

@walterlv Thanks your suggestion, could you make a new PR with your patch on current develop branch?
I will review it when send this :)


the header of table cover the dropdown list

similar issues on https://github.com/mbrn/material-table/issues/416
hard to add the style z-index to control the style of header style

@twk7890 I see what you mean - will investigate!

https://github.com/henrybuilt/react-sticky-table/pull/84


Investigate Endpoints - sms-sender - archive

User Story - Business Need

In the effort to clean up our code we need to investigate and remove unused endpoints. This ticket is to take a look at the endpoints under /service/<uuid:service_id>/sms-sender/<uuid:sms_sender_id>/archive and determine if they are useful. Remove these endpoints if it is determined that they are not useful. You can view the table of endpoints here.
User Story(ies)
As an engineer
I want to clean up and reduce our codebase
So that it is easier to maintain and upgrade in the future.
Additional Info and Resources

Endpoint Table
Endpoint Spreadsheet

Engineering Checklist

[ ] Investigate the endpoints starting with /service/<uuid:service_id>/sms-sender/<uuid:sms_sender_id>/archive to see if they are useful
[ ] Document findings and share with the team

Only do the following if it is determined that these endpoints are not useful.

[ ] (Optional) Remove tests associate with those endpoints
[ ] (Optional) Remove the code associated with those endpoints (if possible). Make sure not to remove any code used by other parts of the application.

Acceptance Criteria

IF the designated code and tests have been removed, the application retains full functionality.

QA Considerations

[ ] The QA Regression Suite passes
[ ] The Cypress regression passes

Potential Dependencies

If code removal is necessary, make sure the removal of these endpoints doesn't affect the work Strike is doing.

Closing/no longer relevant.


[BUG] Aave yield chaser bot shows WRONG Gas Costs for Ethereum Bot start

Aave yield chaser bot shows WRONG Gas Costs for Ethereum Bot start
Bot Execution Feen $0.25 for Ethereum is incorrect.

Closing as won't fix to focus on Paloma GRAIN token launch.


Support for arm/Raspberry Pi

Installing with the command:
docker pull ghcr.io/maxmielchen/untiscalendar:latest
fails with the error message:
no matching manifest for linux/arm64/v8 in the manifest list entries
When overwriting the error message with:
sudo docker pull ghcr.io/maxmielchen/untiscalendar:latest --platform linux/amd64
it installs without errors. When starting it fails though (which was expectable...):
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
exec /bin/sh: exec format error

Is there a reason why the program wouldn't work on arm/Raspberry Pi?
Specs: Raspberry Pi 4 Model B
Thanks in advance

Hey thanks for reporting. As you said, only the image for amd64 is currently stored in the github container registry (ghcr.io). In the future, I intend to support every processor architecture.
But until then, if you want to run this container on an unsupported system, you'll have to build it yourself.
# Clone git repository
git clone https://github.com/maxmielchen/UntisCalendar.git
cd UntisCalendar

# Build image
docker build -t untiscalendar:latest .

# Start container
docker run \
    -e TIMEZONE="Europe/Berlin" \
    -e ROOM=Room \
    -e TEACHER=Teacher \
    -e SUMMARY=School \
    -e USERNAME=your_username \
    -e PASSWORD=your_password \
    -e SERVER=niobe.webuntis.com \
    -e SCHOOL=your_school \
    -e TOKEN=secret \
    -p 80:8080 \
    untiscalendar:latest

Hey, I have now found a better way as I also store in arm architecture at ghcr.io. It would be very nice if you could test this version. Its only important that you use the image under "ghcr.io/maxmielchen/untiscalendar:main".
If this version works, I will make a release and from then on you can use this version again under "ghcr.io/maxmielchen/untiscalendar:latest".


Plugin troubles with HIE

First of all great job on the library, I'm having a great time playing around with it!
My issue now: when using an editor like HIE on VSCode to play with polysemy, it fails to compile in-editor on pieces that require the plugin, I suppose since HIE doesn't get started with the plugin. I tried working around this by putting
{-# OPTIONS_GHC -fplugin=Polysemy.Plugin #-}
at the top of my module but that didn't seem to force it through HIE.
This probably isn't really specific to this plugin, but it would be nice to know if there's a way to force HIE to load a plugin (I tried searching and couldn't find anything) or otherwise get this working.
Barring that, it might be helpful to provide more examples of helping out the type checker without the plugin? I know I can fix this by writing it "correctly" in the first place, but am having a hard time even figuring that out. For what it's worth, the snippet I'm currently trying to get working without the plugin is
deleteKV :: Member (KVStore k v) r => k -> Sem r ()
deleteKV k = updateKV k Nothing

from Polysemy.KVStore in polysemy-zoo.

Without the plugin, you'll need to annotate the type of Nothing, since GHC is sutpid enough to think that maybe you want some other KVStore k v' effect.
As such, try this:
deleteKV :: forall k v r. Member (KVStore k v) r => k -> Sem r ()
deleteKV k = updateKV k (Nothing @v)

As for HIE, I have no idea, sorry! Maybe open a bug with those guys?

Yep, will check with them for plugin integration!
That's what I thought was missing, but it's giving the same ambiguity check error with that code above too, exactly as is. Note it gives the same thing if I also remove the explicit foralls but make the Nothing part (Nothing :: Maybe v).
While I'm asking about this, I might as well ask another related question...I was playing around with this KVStore and tried adding a LookupAllKV :: KVStore k v m [v] to the definition. This also fails with an ambiguous type error without the plugin enabled, but it actually fails on the template Haskell bit: makeSem ''KVStore. Is there any way around this, or would I have to either enable the plugin or manually write out the instances for this?

Oh dang! Nice catch -- you just inadvertently found a bug in the error messages! The snippet I posted above is correct, just that the type is now regular ambiguous (in the -XAllowAmbiguousTypes sense). Turn on AllowAmbiguousTypes and it should work as expected.
I suspect this will fix your LookupAllKV problem too, but you might be running into #48 instead.

FYI made an issue in HIE: https://github.com/haskell/haskell-ide-engine/issues/1264.
I think you're right in that LookupAllKV is running into that phantom parameter issue you linked, as it still fails with AllowAmbiguousTypes (with plugin not loaded).

Programming is hard! I'll see about fixing #48 tomorrow.

Appears to be fixed upstream!

It is not fixed upstream yet, but a patch is ready soon!


A new folder for examples?

I think it may be nicer to have a notebooks folder and store examples notebooks there. There can be multiple notebooks (I think shorter notebooks each focusing one example is nicer).

I've made a new folder for examples and wrote up a few short notebooks.  If you think of any additional examples that would be helpful, please let me know!


Ignore end-of-line file exemption comments

Summary
This PR protects against code like:
from typing import Optional

import bar  # ruff: noqa
import baz

class Foo:
    x: Optional[str] = None

In which the user wrote # ruff: noqa to ignore a specific error, not realizing that it was a file-level exemption that thus turned off all lint rules.
Specifically, if a # ruff: noqa directive is not at the start of a line, we now ignore it and warn, since this is almost certainly a mistake.

Do we not have tests for this behavior?

Do we not have tests for this behavior?

We have tests for # ruff: noqa more broadly, but I doubt we have one that puts a # ruff: noqa at the end of a line, since that's the mistake we're trying to catch here :) I will add another test for that case.


Inconsistent parsing of invitation payloads

When calling parseInvitationShortUrl, it is set that the invitation is always InvitationType.OutOfBand. However, there is no way to achieve when simply using oob, c_i, d_m query strings.
This creates an edge case scenario where payloads coming as a response from an URL are slightly different from a payload passed as query string. Is that intentional?
The result is that the attached messages seems to be parsed slightly different when invitationType is InvitationType.OutOfBand vs InvitationType.Connection. It seems like threadId  and parentThreadId might be populated differently (to be confirmed).
The key thing is that  up to this point we have been relying heavily on oob, c_i, and d_m for testing, but sounds like we also need to test payloads that are obtained from URL as they seem to produce different output.

Thanks for raising this. I think setting the type to InvitationType.OutOfBand always is a mistake, and the code below sets its correctly based on the invitation type received.
I'm not sure if just removing the assignment will work, but can't see why it won't


How to fine tune the existing weights on new data ?

I converted the hdf5 file back as a ckpt file (using the custom_getter method in bilm/model.py) and tried to use it with architecture in bilm/training.py but the loaded weights give very bad perplexity on heldout data when I do run_test.py. Are the architectures in bilm/model.py and bilm/training.py compatible. If you feel I m doing something wrong, is it possible for you to share the ckpt file of the given hdf5 file.
Thanks

I'll make the checkpoint file for the pre-trained model available shortly.

Thanks a lot. I missed that part. Yeah it would be great to have ckpt file as well but since vocab will anyways be new, pretrained softmax would not be required for fine tuning as well. So I am closing this issue.

Hi would it be possible for you to share the checkpoint file as well?

The checkpoint file is available: see https://github.com/allenai/bilm-tf/blob/master/README.md#can-you-provide-the-tensorflow-checkpoint-from-training


Minor bias in split selection?

In euclidean_random_projection_split, this part of the code is picking two random points to form the hyperplane:
https://github.com/lmcinnes/pynndescent/blob/db258cea34cce7e11e90a460c1f8a0bd8b69f1c1/pynndescent/rp_trees.py#L221-L224
right_index has an ever so slight bias to being chosen as 0, because when left_index == indices[-1] and right_index is also sampled as indices[-1], it will be "overflowed" to 0.
If right_index was selected as:
    right_index = tau_rand_int(rng_state) % (indices.shape[0] - 1)

then the bias is removed and there is no need for the right_index = right_index % indices.shape[0] -- I think?
This also affects the angular and sparse variants, but I assume this doesn't really matter. I am mainly asking to make sure I didn't miss something.

No, I think you are correct. This should probably be fine for large indices, but when you get low in the tree perhaps it could actually come into play? Thanks for pointing this out; I'll have to see if I can run some small experiments and see if it is worth trying to fix this up.


Implement fragment source gen for swagger editing.

Description:
Currently swagger editor is running on the old source gen implementation. Need to move this to the new source gen impl and implement a fragment adding mechanism to the source gen.

this has been fixed hence closing


Remove Cloud Platform SSO access for MoJDSD Account

User Need
As a Operations Engineering Team
I want to limit who can make changes to DNS
so that we have better visibility of change, all changes are made by this team, and reduce risk of someone outside the team making a change that negatively impacts services.
Value
Better visibility of change, all changes are made by this team, and reduce risk of someone outside the team making a change that negatively impacts services.
Functional Requirements:

Update AWS Route Account to remove SSO assignment of aws_organizations_account.moj_digital_services.id from webops.

Acceptance Criteria:

webops (i.e. Cloud Platform Team) can no longer access MoJDSD AWS account via SSO.

Notes:

Cloud Platforms access to the MoJ DSD account has now been removed ✅


Sanity checking

Hello all,
I did a little research and I tried to come up with a new license tree. Please refer the attachment. If anybody here could review it or add any comment's it would be really helpful.

Yeah looks good to me, very similar to https://www.dwheeler.com/essays/floss-license-slide.html and http://janelia-flyem.github.io/licenses.html
cc @tieguy for a second opinion


commit with the solution for the hackaton of week 1

This is my solution for the hackaton of week 1.

You’ve done a fantastic job on this hackathon challenge! You’ve made good use of functions to split your code up into well defined sections.
To level up your solution you could ask the user for what size world they would like to create and you could try benchmarking your program to see if there are any bottle necks in your code where speed could be improved. You could even label the continents on the map so they can be seen by the user on the printed out world.
Your function using recursion to implement the boundary fill algorithm is very clearly written and easy to understand.
Congratulations on solving the hackathon challenge and good luck with week 2!


Fix documentation for looking_at/look_at

Bevy's coordinate system is right-handed Y up, so +Z points towards my nose and I'm looking in the -Z direction. Therefore, Transform::looking_at/look_at must be pointing towards -Z. Or am I wrong here?

This has merge conflicts, but the change is correct.

main already has one part of the proposed change, the negative for look_at: https://github.com/bevyengine/bevy/blob/2cff2278cac1cd8da2b68ee6dbf5b68e4a02300d/crates/bevy_transform/src/components/transform.rs#L316

@bzm3r


Support default profile / language / folder values

Currently users have to go through a 5 step process to add a movie, 3 of which involve choosing the quality profile, language and storage location for the movie.
I realise some like the flexibility these choices provide, but I suspect in 99% of cases these choices will be the same each time.
Can we add support for setting defaults in the config and using those if set?
If I get time i'll have a look and send up a PR

It looks like the quality was originally hardcoded judging by the commit history on the project that this is forked from however using any default values from the config if they are specified would make the user experience much simpler. Sending notifications to group chat would also be useful, although I've not seen a way of it being done in any of the projects derived from either this or NodeJS.


Update petitparser dependencies

Why?
petitparser dependencies need to updated to the latest version
Because flutter_native_splash >=2.3.8 depends on xml ^6.5.0 and no versions of xml match >6.5.0 <7.0.0, flutter_native_splash >=2.3.8 requires xml 6.5.0.
And because xml 6.5.0 depends on petitparser ^6.0.0 and equations >=5.0.0 depends on petitparser ^5.4.0, flutter_native_splash >=2.3.8 is incompatible with equations >=5.0.0.
So, because fitneseo depends on both equations ^5.0.2 and flutter_native_splash ^2.4.0, version solving failed.

What?
I have updated the petitparser dependencies to ^6.0.2
Types of Changes

General improvements (quality updates to improve the stability of the project)

Notes
With the latest version of Flutter SDK. The intl package in the example also needs to be updated to ^0.19.0
Checklist

[X] I have provided a description of the proposed changes.
[X] I added unit tests for all relevant code.
[ ] In example/flutter_example, if needed, I have also added widget and golden tests.
[X] I added documentation for all relevant code.

Hi, it looks like I forgot to update the package version of the equation package from 5.0.2 to 5.0.3

Hello! I am updating everything now, you can close this PR and use the latest version

https://github.com/albertodev01/equations/pull/55


Filter

To start: I am sorry that I'm so bad with having a clean git history for these things. Also, should I be submitting pull requests against Master or Dev? Ok, now to the main message:
This work added filtering capabilities based on two main categories

TFA Methods -- sms, email, phone, hw, sw.
No TFA -- all non-tfa sites, non-tfa but in-progress

These filters play nicely with search. In fact, some of their functionality relies on the help of the search plugin. Currently everything works well EXCEPT for the checkboxes being disabled (as in: in doesn't make sense for the TFA method filters to be enabled if one of the Non-TFA filters is checked). Currently they go 'disabled' and look disabled, but you can still click on them. I'm not sure if there is an issue with this version of semantic-ui or not, but disabling the checkboxes does not seem to be preventing them from being clicked on as is suggested in the documentation. They also don't respond to the same events as described in the documentation. I suggest The site be updated to use the current version of semantic-ui and then these changes be tested and considered against that.
Also, somebody could pull this into dev and change how it looks or make suggestions on how to change the UI.
Lastly: It's obvious that my javascript conventions are less than stellar. I haven't picked up on how to properly encapsulate the javascript files. For example, the code block below is the project as I found it. I don't know if I'm supposed to be defining my functions inside one of those blocks or if they can just sit out in the root of the document. Thanks.
(function (root, $) {
    $('.menu .dropdown').dropdown();
    $('span.popup.exception').popup();
    $('a.popup.exception').popup();
    $('.ui.checkbox').checkbox();
}(window, jQuery));

$(document).ready(function() {
    $("img").unveil(50);
    updateFilterClasses();
});

Reference to Issue #521

This is cool; I'm looking through it now. And quick note, dev is an old branch. I don't even know what it was used for.

Uhm? Status?

This issue has been resolved in issue #1368.