[OPTIMIZER][BACKEND] significantly cleaner handling of mixed-precision kernels

we currently have a very janky approach to optimizing mixed-precision matmul workloads, where some layout combinations (e.g., NT matmul) were explicitly pattern-matched to take a more optimized codepath. Attempt at unifying all the codepaths to codegen cp.async failed, due to bugs in SharedToDotOperandMMAv2.cpp.
This PR fixes said bugs, add some assertions for SharedToDotOperandMMAv2 modes that aren't well supported, and greatly simplify our handling of element-wise operations between load and conversions to DotOperand.

:warning: This PR does not produce bitwise identical kernels as the branch it's merged against. Please check artifacts for details. Download the output file here.

I've recently been trying to implement a kernel that does a int8 x bfloat16 matmul with triton, and isolated the issues I'm running into down to a minimal example. With current main, it silently gives incorrect results, but with this PR branch it actually works! So I guess I'm just writing this to cheer you on with this PR 🎉
In case it's useful, I did notice that it still gives incorrect results if the A matrix has column major ordering. Probably not too important a case to support, but it'd be nice if it at least errored out instead of silently giving the wrong answer?

Yeah.. I think there were (and there may still be) pretty deep bugs in the way we emulate ldmatrix :x I've fixed some, and added some asserts, and also just generally cleaned things up.
Unfortunately this PR also has some performance regressions on some internal tests, so I still need to fix it before I can merge.

:warning: This PR does not produce bitwise identical kernels as the branch it's merged against. Please check artifacts for details. Download the output file here.


chore: add team-perception as code owners

Codecov Report

Merging #136 (7c32d82) into master (f46129c) will decrease coverage by 15.77%.
The diff coverage is 1.06%.


Validator seems to hang php-fpm

Laravel Version: 10.3.3
PHP Version: 8.2.3 (ARM64 on Apple M1)
Database Driver & Version: MySQL10.11.2-MariaDB-1:10.11.2+maria~ubu2004 (ARM64 on Apple M1)
Environment: Ubuntu ARM64 using latest Laravel Homestead on MacOS 13.2.1 with Parallels Desktop 18.2.0 on an Apple M1 Pro CPU.

Description:
I am in the process of upgrading my project from Laravel 9.x to 10.x. I have noticed that my registration form does not work anymore. I am not 100% sure if this started with Laravel 10 as I haven't tried to register a test user for ages.
Anyway. My whole application seems to run fine except the register function. Whenever I register a user and click the submit button the browser just hangs there, loading endlessly and finally timing out with a 504 Gateway Time-out error.
I did some debugging and it seems to hang on $validator->fails() as shown in this snippet:
        $validator = Validator::make($request->all(), [
            'username' => ['required', 'string', 'min:5', 'max:255', 'unique:users'],
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users', 'indisposable'],
            'password' => ['required', 'string', 'min:8', 'confirmed'],
        ]);

        if ($validator->fails()) {
            $error = $validator->errors()->getMessages();
            $request->flash(); // Flash old input back to session

            return $this->showRegistrationForm($request, $error);
        }

When I boil it down to an internal function in the Validator package specifically it seems get hung up on this if() condition:
if ($this->shouldBeExcluded($attribute))

On line 411 of this file: https://github.com/illuminate/validation/blob/master/Validator.php#L411
I have tried looking into it with XDebug but as soon as it want's to run the validator the request just hangs, XDebug never even sees it.
After retrying the request many times when I was trying to debug this, PHP8.2-FPM just stopped working entirely. I had to restart the service to get HTTP requests working again.
I have tried reinstalling the whole Homestead box, upgrading it to the latest version, tried using PHP 8.1.16 too. Not much useful info from FPM's error log:
[12-Mar-2023 19:50:42] NOTICE: fpm is running, pid 1343123
[12-Mar-2023 19:50:42] NOTICE: ready to handle connections
[12-Mar-2023 19:50:42] NOTICE: systemd monitor interval set to 10000ms
[12-Mar-2023 19:57:20] WARNING: [pool www] server reached pm.max_children setting (5), consider raising it
[12-Mar-2023 19:57:42] NOTICE: Terminating ...
[12-Mar-2023 19:57:42] NOTICE: exiting, bye-bye!

So I am not sure if this is a Laravel, PHP or FPM thing. But I lack the skills to figure this out...
Steps To Reproduce:
I wish I knew. Help? :-)

Hi there,
Thanks for reporting but it looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.

So I am not sure if this is a Laravel, PHP or FPM thing. But I lack the skills to figure this out...

this is happening to me too! only on custom validation, but on 8.1 fpm. Did you figure it out??


TorchScript unsupported functions in after update

I have a lot of basic model files saved in TorchScript and they were able to be opened weeks ago. However I cannot many of them after update Netron to v3.9.1. Many common functions are not supported not, e.g. torch.constant_pad_nd, torch.bmm, torch.avg_pool3d.

Can you share the model files? TorchScript keeps changing and there is lots going on under the covers needed to read all the different kinds of files created with different versions.

I cannot open any of these simple nodes.
nodes.zip

activation.zip

bmm.zip

constant_pad_2d.zip

netron_issue_432_activation.pth.zip

netron_issue_432_bmm.pth.zip

netron_issue_432_constant_pad_2d.pth.zip

Btw is there any way to downgrade netron to an older version? I believe I can open them in about v3.6

@lujq96 can you try the steps in DEVELOPMENT.md and check if changes in master resolve the issue? Repros for other operators like torch.avg_pool3d or the necessary changes to pytorch-metadata.json are welcome as well.

Still many other models cannot be opened in v3.9.2. I tried a old version 3.5.9 and everything works fine. Is there any major change that weakened the parsing function between them?

Can you share model files to reproduce these issues?

badcases.zip
These are all the badcases I found in my unit test models.

i meet the same question, it works well for pres version, but unsupported after update.
@lujq96  @lutzroeder

@linchaozhang please create a new issue and share the model file.


Schedule empty! Set Sidekiq.schedule

It would appear as though schedules aren't getting set.
$ foreman start
09:19:49 web.1    | started with pid 8147
09:19:49 worker.1 | started with pid 8148
09:19:50 web.1    | [8147] Puma starting in cluster mode...
09:19:50 web.1    | [8147] * Version 3.12.0 (ruby 2.5.1-p57), codename: Llamas in Pajamas
09:19:50 web.1    | [8147] * Min threads: 5, max threads: 5
09:19:50 web.1    | [8147] * Environment: development
09:19:50 web.1    | [8147] * Process workers: 2
09:19:50 web.1    | [8147] * Preloading application
09:19:51 worker.1 | 2018-08-20T14:19:51.706Z 8148 TID-ouhlhixzc INFO: Running in ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
09:19:51 worker.1 | 2018-08-20T14:19:51.706Z 8148 TID-ouhlhixzc INFO: See LICENSE and the LGPL-3.0 for licensing details.
09:19:51 worker.1 | 2018-08-20T14:19:51.706Z 8148 TID-ouhlhixzc INFO: Upgrade to Sidekiq Pro for more features and support: http://sidekiq.org
09:19:51 worker.1 | 2018-08-20T14:19:51.706Z 8148 TID-ouhlhixzc INFO: Booting Sidekiq 5.2.1 with redis options {:id=>"Sidekiq-server-PID-8148", :url=>nil}
09:19:51 worker.1 | 2018-08-20T14:19:51.708Z 8148 TID-ouhlhixzc INFO: Loading Schedule
09:19:51 worker.1 | 2018-08-20T14:19:51.708Z 8148 TID-ouhlhixzc INFO: Schedule empty! Set Sidekiq.schedule
09:19:51 worker.1 | 2018-08-20T14:19:51.708Z 8148 TID-ouhlhixzc INFO: Schedules Loaded
09:19:51 worker.1 | 2018-08-20T14:19:51.708Z 8148 TID-ouhlhixzc INFO: Starting processing, hit Ctrl-C to stop

Specifically seeing the Schedule empty! Set Sidekiq.schedule note when booting up.
Also, the Sidekiq Scheduled UI shows as "No scheduled jobs were found" message.
Here are pertinent files...
daily_album_update_job.rb
require 'sidekiq-scheduler'

class DailyAlbumUpdateJob
  include Sidekiq::Worker

  sidekiq_options :queue => :default

  def perform
    User.find_each do |user|
      FollowSpotifyJob.perform_async(user.id)
    end

    Artist.find_each do |artist|
      BuildArtistJob.perform_async(artist.id)
    end
  end
end

sidekiq.yml
:concurrency: 2
:queues:
  - default
  - artists

:schedule:
  DailyAlbumUpdateJob:
    cron: '0 20 * * *'  # Runs every day at 8pm
    class: DailyAlbumUpdateJob

I'm running Rails 5.2.0, Ruby 2.5.1, Sidekiq 5.2.1 and sidekiq-scheduler 3.0.0.

Hi @Shpigford,
I'd follow the rails approach for job scheduling.
# app/jobs/hello_job.rb (Generated with `rails g job hello`)
class HelloJob < ApplicationJob
  queue_as :default

  def perform(*args)
    puts "Hello"
  end
end

# config/application.rb
    config.active_job.queue_adapter = :sidekiq

See more details in https://guides.rubyonrails.org/active_job_basics.html
Now, back to the issue:

Your sidekiq.yml file is good. Is it located under the config/ directory?
What do you have in your Procfile?
Do you have a initializer that could be loading an empty scheduler into sidekiq-scheduler?


Fixed UninitializedPropertyAccessException in Custom Tab.

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

#4657  👈
develop

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

Join @anikiki and the rest of your teammates on  Graphite


Incorrect local block information.

This is a refactor of the following issues

https://github.com/andrewrk/mineflayer/issues/140
https://github.com/andrewrk/mineflayer/issues/133
https://github.com/andrewrk/mineflayer/issues/97

Currently a summary of the issues stand as:

[ ] Falling blocks such as gravel and sand do not cause correct updates
[ ] Special cases where blocks are formed such as a cobblestone generator cause issue
[ ] Explosions that cause a sudden amount of blocks to disappear do not work

Thinks to keep in mind

[ ] Single block updates need to be tested as working
[ ] Multiblock updates need to be tested as working
[ ] Confirm crops growing and fire damage work
[ ] Confirm that metadata updates work fine, a good example would be redstone

Need to test what part of this are still relevant (what works and what doesn't).

my recent experience is that breaking a door triggers a bug in mineflayer where the bot doesn't know the door is gone. the common theme seems to indicate that there's a multiblock update packet that we're not handling correctly.

@thejoshwolfe how do you test that ? I just tried to put a door between the bot and me and use forward in jumper.js, the bot correctly can't pass the door, when I destroy the door, it's able to come.

that's about what I did. I'll see if I can get a more controlled scenario to reproduce the problem.

falling blocks are entities (see http://minecraft.gamepedia.com/Data_values/Entity_IDs)

Confirm that metadata updates work fine, a good example would be redstone

This seems to make it impossible to dig redstone currently.

So, I agree all these edge cases should be handled, but it hasn't been handled until now : it is not more broken now than it was before.
So I'm postponing this for the next milestone/release.

pretty sure it's related to https://github.com/andrewrk/mineflayer/issues/266 (so that means part of that is fixed ?)

see https://github.com/andrewrk/mineflayer/commit/9ee9e49c3aaa5ac04690fd57cdd55c46488b568d

I just fixed multiblock update having incorrect location in #266.

Might be nice to check if that somehow fixed explosion block update.

redstone fixed

As of today, on server us.skyparty.me, digging in a cobblestone genny works exactly once for each block in the genny, and then the bot sees nothing but air, despite the blocks coming back after a short amount of time.
IS there any way to add a workaround for now? Like manually a
dig.changeto.js.txt
dding some kind of bot.on("packetnamehere") to manually set the block when the bot gets a block update packet?
Included is the code used for the digging

You need to wait for the block to come back before digging again.
See  https://github.com/PrismarineJS/mineflayer/blob/master/doc/api.md#blockupdatex-y-z-oldblock-newblock

I'm encountering what I think is this bug when a sapling grows into a tree. The bot can't find the logs, and also tries to pathfind through them using the pathfinder plugin. I guess, short of an actual bugfix, is there any way to force a sync between the bot and the server's world states?

There is no way except reconnecting.
Feel free to look into whether there is a bug though.
If you can reliably reproduce it with a minimal example that would be a
good first step
On Wed, Jul 27, 2022, 02:05 jabaldwin @.***> wrote:

I'm encountering what I think is this bug when a sapling grows into a
tree. The bot can't find the logs, and also tries to pathfind through them
using the pathfinder plugin. I guess, short of an actual bugfix, is there
any way to force a sync between the bot and the server's world states?
—
Reply to this email directly, view it on GitHub
https://github.com/PrismarineJS/mineflayer/issues/178#issuecomment-1196113388,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR437WH34IDOIEX6BUJGNTVWB4LJANCNFSM4AOQ7TBQ
.
You are receiving this because you commented.Message ID:
@.***>

I did a little more experimenting and my problem seems to have been due to #2708 . The NPM command on that issue fixed it


Featurize non-MVP features

This PR is expected to return parity-wasm to be only compatible with MVP features (modulo, mutable-globals, since it doesn't change the binary format).
Here is the list of PRs that had something to do with changes, please check that this PR correctly featurizes them.

#223
#225
#226
#227
#243
#244
#245
#264

Closes #265

I am worried that in general with this conditioned compilation it's hard to check what gives error and what does not
but fine for now I guess, because we are exclusively interested in v1 features


use named arguments

instead of positional

Need to run make format: https://travis-ci.com/nkansal96/blaze/jobs/261855481


docs: document official external commands

What does this PR try to resolve?
This documents external commands that are distributed along with the Rust toolchain, including

cargo-clippy
cargo-fmt
cargo-miri

The purpose of this is increasing the visibility of these tools, and redirecting people to the correct place to discuss and learn them.
Fixes #14640

How should we test and review this PR?

Is “External commands” the right name to put in The Cargo Book?
Do we really want to document the nightly-only cargo miri?

I feel like it is officially distributed, so we should.

Additional information

:pushpin: Commit 21dacad02b75ec825a35bbb6903bd71f26105a09 has been approved by epage
It is now in the queue for this repository.

:hourglass: Testing commit 21dacad02b75ec825a35bbb6903bd71f26105a09 with merge e8adba9d24257e14fef8793cecabb55b2fbcd0e3...

:sunny: Test successful - checks-actions
Approved by: epage
Pushing e8adba9d24257e14fef8793cecabb55b2fbcd0e3 to master...


Safari mobile window orientation: page content not resizing until orientation is switched

I'm using the skrollr library here: http://rhinos.org/the-crisis/.  I'm noticing that on Safari on my iPhone 6, when the page loads the page content is not resizing according to the window width.  When I re-orient my phone to either landscape or portrait view the page content resizes correctly within the window.  These issues do not appear on Chrome in mobile.
Is there an issue with Safari on mobile that prevents the window orientation from being detected properly? Any idea how I can fix?
The following screenshots from my phone show the page on initial load (portrait), re-oriented to landscape view, and then back to portrait:

Doh!  It was my meta tag.  I switched it from:

to:


shortcut to END node

End nodes always need to be added to terminate a programs execution and clear its queue.
It's pretty annoying however to have to click down into the logic gate category each time, though.
Maybe we should add a shortcut for the end node next to the request node button here?

That's a good idea.


if the SDK is an opam SDK, add a menu to manage the libraries

This would be a tab in "Project Structure > Module", for ocaml modules using an opam SDK (while others may use it too). This menu is available in Java to add jars/maven libraries. We should use this to add opam libraries.

[ ] done

They are loaded as sources (this was unexpected, we should see them here), and remove them too.


Finish putting route-param types next to props.

Following #4430, finish moving the screens' route-param type definitions to the files that define the screens themselves.
In the last of these commits, I've put a comment on loading/LoadingScreen in AppNavigator.js. I'm not quite sure how best to handle this one (see the comment on the navigation and route props in LoadingScreen). Possibly the right thing is to make RouteParamsOf not care if the screen's route prop is optional, but I wasn't sure about the potential downsides to relaxing it this way.

All LGTM -- thanks for doing this conversion!
I added a commit on top to take care of the LoadingScreen issue. Take a look, and please merge at will if that looks good.

All LGTM -- thanks for doing this conversion!
I added a commit on top to take care of the LoadingScreen issue. Take a look, and please merge at will if that looks good.

All LGTM -- thanks for doing this conversion!
I added a commit on top to take care of the LoadingScreen issue. Take a look, and please merge at will if that looks good.

Thanks for the review! Done.

All LGTM -- thanks for doing this conversion!
I added a commit on top to take care of the LoadingScreen issue. Take a look, and please merge at will if that looks good.

Thanks for the review! Done.

Hmm, it looks like when merging you dropped the new commit. Was that intended?
The commit ID was 59a29912d8038fd9ecd55dd77dfe4065fac1430e; I've pushed it as branch dev-nav-types on gnprice/zulip-mobile, so that it's still readily available.

Hmm, it looks like when merging you dropped the new commit. Was that intended?
The commit ID was 59a29912d8038fd9ecd55dd77dfe4065fac1430e; I've pushed it as branch dev-nav-types on gnprice/zulip-mobile, so that it's still readily available.

Hmm, it looks like when merging you dropped the new commit. Was that intended?
The commit ID was 59a2991; I've pushed it as branch dev-nav-types on gnprice/zulip-mobile, so that it's still readily available.

Er no, it wasn't intended! Thanks for catching this.

Hmm, it looks like when merging you dropped the new commit. Was that intended?
The commit ID was 59a2991; I've pushed it as branch dev-nav-types on gnprice/zulip-mobile, so that it's still readily available.

Er no, it wasn't intended! Thanks for catching this.

Pushed.

Pushed.


emergency pebble update

removes the salvage expedition board because apprently is so bad for no reason
About the PR
Media

[ ] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl:

add: Added fun!
remove: Removed fun!

To clarify, round-start availability of salvage expeditions are not part of the design for Nyano.

To clarify, round-start availability of salvage expeditions are not part of the design for nyano

Sorry


2.0.2 Dropbox still opens in some inline browser window

When I try to add my Dropbox account I still get a Window saying I need to "Upgrade your browser to use Dropbox". I got the impression that it should now just your default browser but it doesn't look like that is working.

I got the impression that it should now just your default browser but it doesn't look like that is working.
Then you are not using the v2.0.2. Please check, that you are not accidently using an old version in parallel. You can check this e.g. by opening the Update Checker.

Sorry, my bad, I accidently still had the old version installed. Now it works.


EnableStartAsAdmin does not allow PH to start

It seems the cause for this https://github.com/processhacker/processhacker/issues/582#issuecomment-606490971 was the EnableStartAsAdmin.
This might be because the processes in the system don't escalate via UAC, but use CyberArk Endpoint Priviledge Manager (somehow it intercepts UAC calls)
After disabling EnableStartAsAdmin I was given this:
ProcessHacker_KXOBONBAZQTHNFP_DumpFile.zip
And then everything was normal.
Still, there are no Executable Properties > Details, and no command line flag that lists the version or the other command line flags

processes in the system don't escalate via UAC

EnableStartAsAdmin uses the task scheduler registration for elevation requests identical to Chrome and Edge processes.

CyberArk Endpoint Priviledge Manager (somehow it intercepts UAC calls)

Are you using this on your home machine?

processes in the system don't escalate via UAC

EnableStartAsAdmin uses the task scheduler registration for elevation requests identical to Chrome and Edge processes.

Oh 😕 Well, I don't know what happens with those in that system

CyberArk Endpoint Priviledge Manager (somehow it intercepts UAC calls)

Are you using this on your home machine?

"Yes, of course I am using that in my home machine 😝" (no, I am not; it's the https://github.com/processhacker/processhacker/issues/572 system)

Setting the executable compatibility settings to launch as admin "works correctly"; so I assume the TaskManager call / creation is intercepted somehow

Setting the executable compatibility settings to launch as admin "works correctly"

... but not for the shortcut-version 😞
Well, all of this might be too complex and outside of your target audience to solve. Feel free to handle this as you wish

I assume the TaskManager call / creation is intercepted somehow

They would be injecting code into system processes and hooking functions since there isn't any other way to implement their type of product on Windows.

all of this might be too complex and outside of your target audience to solve

It's not complex just a waste of time trying to workaround buggy third party products that probably won't exist with the amount of issues they're causing.


Faction filter for Gear.

Is your feature request related to a problem? Please describe.
No would just be a quality of life improvement
Describe the solution you'd like
An option that allows you to filter Trial of the Grand Crusader by faction. could also be automatically applied when you select race
Describe alternatives you've considered
NA
Additional context
Na.

Already exists, go to the 'filters' in the item selection menu to choose your faction.


Fix uncorrect download path of btech dataset

📝 Description

The root directory in btech.yaml has a spell error.
🛠 Fixes # (issue number)

✨ Changes
Select what type of change your PR is:

[x] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] 🔨 Refactor (non-breaking change which refactors the code base)
[ ] 🚀 New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] 📚 Documentation update
[ ] 🔒 Security update

✅ Checklist
Before you submit your pull request, please make sure you have completed the following steps:

[x] 📋 I have summarized my changes in the CHANGELOG and followed the guidelines for my type of change (skip for minor changes, documentation updates, and test enhancements).
[ ] 📚 I have made the necessary updates to the documentation (if applicable).
[x] 🧪 I have written tests that support my changes and prove that my fix is effective or my feature works (if applicable).

For more information about code review checklists, see the Code Review Checklist.

@cjy513203427, thanks for the fix. Our CI is out of order at the moment. We will merge this PR as soon as fixing our CI.

Thanks for the great work again!

bash
trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
check yaml...............................................................Passed
check for added large files..............................................Passed
debug statements (python)................................................Passed
detect private key.......................................................Passed
ruff.....................................................................Passed
ruff-format..............................................................Passed
mypy.....................................................................Passed
bandit...................................................................Passed
nbqa-ruff................................................................Failed
- hook id: nbqa-ruff
- exit code: 1

error: `ruff <path>` has been removed. Use `ruff check <path>` instead.

prettier.................................................................Failed
- hook id: prettier
- files were modified by this hook

CHANGELOG.md

markdownlint.............................................................Passed
pre-commit: exit 1 ([60](https://github.com/openvinotoolkit/anomalib/actions/runs/9792299662/job/27175927191?pr=2171#step:5:61).26 seconds) /home/runner/work/anomalib/anomalib> pre-commit run --all-files pid=1953
  pre-commit: FAIL code 1 (70.67=setup[10.41]+cmd[60.26] seconds)
  evaluation failed :( (71.19 seconds)
Error: Process completed with exit code 1.

Hi. Could you tell me how I can solve the failed Pre-Merge Checks / Code-Quality-Checks (pull_request)?

@cjy513203427, I'm merging this to a fix branch, from which I'll sort out the rest.


Can't bring up dashboard

I am new to all of Kubernetes, but quite versed in Linux in general. So today for testing purposes I installed ubuntu 20.10 server 64-bit on 2 raspberry pis and installed microk8s on both. All goes well, I can join the leaf to the master.
What does not work is bringing up the dashboard. The command 'microk8s dashboard-proxy' tells me, the dashboard will be available at https://<IP_ADDRESS>:10443 and gives me a token. The browser says: '<IP_ADDRESS> has denied the connection'. I did some reading, but can't get it solved. Help is much appreciated.
inspection-report-20201101_143714.tar.gz

Duplicate of https://github.com/ubuntu/microk8s/issues/1705


How to run held-suarez model

Apologies for the basic questions. I am new to Clima but interested in running some simple held-suarez simulations to get started. I appreciate the example job scripts in the example folder, very useful! But I am not totally sure how to modify them properly to run Held-Suarez. I see some other examples for high top held-suarez.
Ideally I'd be trying to mimic the default CESM HS configuration as much as possible, which is T42, z30, mg17 resolution for the Eulerian spectral transform dynamical core. I'm not really sure how to set the dynamical core in Clima, is that by setting something in the driver or something in the "yml" file? I'm not totally bound to a specific dynamical core/solver so if its easier to make things run differently that's cool.
I see a sphere_held_suarez_rhotheta.yml, is that right? I don't see an associated toml file though. Is that because there are no additional parameters?
How can you pass in a specific set of IC's, I couldn't find much info on this?
I've read the readme on parameters, is it possible to alter existing parameters as part of the driver code by accessing the params of the integrator once it is set with the config?
Many, many thanks. Excited to try things out.

Thank you for your interest in ClimaAtmos. The model is still in a rapid development phase, and we should definitely improve our documentation. Here are some answers to your questions.
You would set most configurations in the yml file. The closest one might be longrun_hs_rhoe_dry_nz63_55km_rs35km.yml. For your specific configuration, I would suggest the following:
h_elem: 12
kappa_4: 3.0e16
z_elem: 30
z_max: 45000.0
dz_bottom: 200.0
dz_top: 3000.0
dt: "300secs"
forcing: "held_suarez"
t_end: [your simulation time]
output_dir: [your directory]

This should be similar to T42 z30. What does mg17 stand for? Note that I didn't try this myself. If there are numerical instabilities you can tune dt or kappa_4.
The initial condition is defined in this file. By default it uses DecayingProfile. If you have a simple function for the initial condition you can modify it there. The initial condition doesn't matter if you run a simulation to equilibrium and focus on the statistics.
It would be safer to change the parameters in the toml, following the documentation. That way it guarantees the same parameter is used throughout the code.
Hope this helps!

For a minimum working example, you could also check out our REPL scripts documentation. The closest job I can find to what you're looking for, there, is:
### Buildkite job `sphere_held_suarez_rhoe_hightop`

using Revise; import ClimaAtmos as CA;

config_dict = Dict();
config_dict["dz_bottom"] = 300.0;
config_dict["dt_save_to_disk"] = "4days";
config_dict["regression_test"] = true;
config_dict["t_end"] = "8days";
config_dict["forcing"] = "held_suarez";
config_dict["dt"] = "500secs";
config_dict["z_elem"] = 25;
config_dict["job_id"] = "sphere_held_suarez_rhoe_hightop";
config_dict["z_max"] = 45000.0;

config = CA.AtmosConfig(; config_dict);

include("examples/hybrid/driver.jl")

@szy21 and @charleskawczynski Thanks so much for the quick responses. Sorry for the delay on my end, crazy start to the semester.
@szy21 mg17 I guess defines the land/sea/ice mask. I guess that is probably not relevant here but is just a part of the resolution specification for CESM.
Thanks for pointing me to the initial conditions file. Is it possibly to start from a non-dynamic saved state? Like you would have to do if you wanted to restart the simulation from it's previous end point?

Thanks for pointing me to the initial conditions file. Is it possibly to start from a non-dynamic saved state? Like you would have to do if you wanted to restart the simulation from it's previous end point?

Unfortunately, currently there is no easy way to read the initial condition from a file. We can restart a simulation from the previous end point, but the file needs to be generated by a ClimaAtmos simulation.

Thanks again. Starting from previous ClimaAtmos simulation point is ok for my purposes. Based on another issue you made it seems like you can specify a frequency to save to jld2 files. Can you then restart from any saved point?

Yes, you can specify the frequency to save restart files (it's hdf5 now) with dt_save_restart. It should be able to restart from any saved point.

Thanks so much for your help. Is there any documentation or examples on the restart functionality you can point me to? I'd like to run a single long simulation (~500 days) for the generated initial conditions, then be able to start new simulations from the state at day 1, 2, 3, etc.

There is not much documentation right now, but you may find the configuration here helpful as an example. Specifically, the environment variable RESTART_FILE points to the restart file.

Thanks! I wasn't sure based on the link you sent how to specify what timeslice of the restart file you want to start from?
And to make the restart file you just specify something like dt_save_restart: "1days", wheres dt_save_to_disk: "1days" sets the netcdf save frequency?

So it makes a different restart file for each save interval?

So it makes a different restart file for each save interval?

Yes.

Apologies for another question, but is there anyway to pass the restart file as an argument? As I said above, I am hoping to run many simulations from various restart points, so needing to update the environment variables every time is a bit of a hurdle.

Not for now unfortunately, but that's something I want to change at some point. Are you running simulations on a cluster? You may be able to update the environment variable automatically in a e.g. bash script.

Yes, running on a cluster. I will look into it more but I'm hoping to run multiple simulations in parallel. I may be able to launch a subshell for each one with the correct environment variable. Thanks again!

Having now successfully installed ClimaAtmos and having all tests passing I am trying to run a Held-Suarez configuration as you advised. Unfortunately I am erroring out. After warnings about the environment variables for hdf5 etc being deprecated the errors mostly seem to concern override_default_config(config_dict::. I have attached my error log. I apologize for all the questions but is hard to if I'm creating these files in the proper way based on current documentation.
Job Script
#!/bin/bash

#SBATCH --nodes=2
#SBATCH --ntasks=24
#SBATCH --job-name=clima_hs_base_run
#SBATCH --time=1:00:00
#SBATCH --output=clima_hs_base_simulation.log
#SBATCH<EMAIL_ADDRESS>#SBATCH --mail-type=ALL

module purge
module load gcc
module load openmpi
module load hdf5
module load julia/1.9.4

export JULIA_MPI_BINARY=system
export JULIA_NUM_THREADS=12
export CLIMACOMMS_CONTEXT="MPI"
export JULIA_HDF5_PATH=""

#export RESTART_FILE=$YOUR_HDF5_RESTART_FILE

CA_EXAMPLE='/projects/tepr6090/software/ClimaAtmos.jl/examples/'
DRIVER=$CA_EXAMPLE'hybrid/driver.jl'

julia --project=$CA_EXAMPLE -e 'using Pkg; Pkg.instantiate()'
julia --project=$CA_EXAMPLE -e 'using Pkg; Pkg.build("MPI")'
julia --project=$CA_EXAMPLE -e 'using Pkg; Pkg.build("HDF5")'
julia --project=$CA_EXAMPLE -e 'using Pkg; Pkg.API.precompile()'

mpiexec julia --project=$CA_EXAMPLE $DRIVER --config_file /projects/tepr6090/hs_uq/clima_hs/clima_hs_ground_truth.yml

YML file
h_elem: 12
kappa_4: 3.0e16
z_elem: 30
z_max: 45000.0
dz_bottom: 200.0
dz_top: 3000.0
dt: "300secs"
forcing: "held_suarez"
t_end: "1days"
output_dir: "/projects/tepr6090/clima_outputs"
dt_save_restart: "300secs"
toml: "/projects/tepr6090/hs_uq/clima_hs/parameters.toml"
diagnostics:
  - short_name: ta
    output_name: temp
    period: 300secs
    writer: nc
  - short_name: ua
    output_name: zonal_wind
    period: 300secs
    writer: nc
  - short_name: va
    output_name: meridional_wind
    period: 300secs
    writer: nc

toml
[potential_temp_vertical_gradient]
alias = "Δθ_z"
value = 10
type = "float"
description = "Potential temperature gradient with height. See Held and Suarez (1994) https://doi.org/10.1175/1520-0477(1994)075%3C1825:APFTIO%3E2.0.CO;2"

clima_hs_base_simulation.log

My guess is that the error is from how toml file is specified (see https://github.com/CliMA/ClimaAtmos.jl/issues/2167). Try to follow what we have here? @nefrathenrici would know more if this is the case.

Yes, the error is caused by an incorrect type in the configuration. Please put brackets around the toml file entry in the configuration file:
toml: ["/projects/tepr6090/hs_uq/clima_hs/parameters.toml"]

Please let me know if you run into other issues.

Closing this. Please feel free to reopen it if you have more questions.


Change gzip blacklist to whitelist using mime types

Description
Use mimetypes to decide which files can be gzipped, instead of blacklisting the image asset directory
Leftover change from #2612 (https://github.com/seattle-uat/civiform/pull/2612#discussion_r889610985).

Ok, a whiteList is definitely more elegantly exclusive than a blackList. But if I remember correctly, when I ran a lighthouse test with this exact snippet as per [comment])(https://github.com/seattle-uat/civiform/pull/2612#discussion_r888362901) it didn't compress. Right now maven is taking a while to download after switching so it will be a bit before I can try again
Reading the doc it isn't exactly clear to me what text/* means, i.e. if thats a type indication or a path indication

Oh nevermind I just tried it, it worked!

But if I remember correctly, when I ran a lighthouse test with this exact snippet as per https://github.com/seattle-uat/civiform/pull/2612#discussion_r888362901 it didn't compress. Right now maven is taking a while to download after switching so it will be a bit before I can try again
Reading the doc it isn't exactly clear to me what text/* means, i.e. if thats a type indication or a path indication

@kmcnellis Well that was kind of rude of me. I shouldn't have assumed you wouldn't check it first. Sorry! I feel bad now

But if I remember correctly, when I ran a lighthouse test with this exact snippet as per #2612 (comment) it didn't compress. Right now maven is taking a while to download after switching so it will be a bit before I can try again
Reading the doc it isn't exactly clear to me what text/* means, i.e. if thats a type indication or a path indication

@kmcnellis Well that was kind of rude of me. I shouldn't have assumed you wouldn't check it first. Sorry! I feel bad now

No worries!


No IntelliSense for Express in MERN starter kit

VSCode Version: Insiders 1.11.0
OS Version: Mac OS

Steps to Reproduce:

scaffold out new MERN app:

    npm install -g mern-cli
    mern init myApp
    cd myApp
    npm install
    code-insiders .

Open server/server.js
After line 15 type in app.

Result: textual completions (you don't get completions for Express)

Now, change import to lowercase express and change instantiation to remove new.

Result: IntelliSense works.

@chrisdias This is a bug in the starter kit. According the express API documentation http://expressjs.com/de/api.html#express  you create an express app by calling the top level express() function. This is a top-level function and not a constructor. JS happens to be tolerant in this case.
I suggest to make a PR against the MERN starter kit.

https://github.com/Hashnode/mern-starter/pull/296


Sending SMS messages works now in Python3

I made some changes to be able to send SMS messages in Python3.  This is untested in Python2, but I think that it should still work there.  Also haven't tested the other capabilities.

+1


⚠ Bofrost.at has degraded performance

In af7c080, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1154 ms

Resolved: Bofrost.at performance has improved in 129b099.


Add TweeTextField

Project URL
https://github.com/oleghnidets/TweeTextField
Category
TextField & TextView
Description
Lightweight set of text fields with nice animation and functionality. Inspired by https://uimovement.com/ui/2524/input-field-help/ .
Why it should be included to awesome-ios
I was inspired by https://uimovement.com/ui/2524/input-field-help/ . I didn't find good implementation in Swift for this UI/UX. Also I was looking for simple (without one class overhead) implementation with clean code. But I hadn't found the similar library.
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 4 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Warning

:warning:
Found 1 link issue, a project collaborator will take care of these, thanks :)

Link issue by awesome_bot

Line
Status
Link

752
301
https://github.com/knly/Evergreen redirects tohttps://github.com/nilsleiffischer/Evergreen

  Generated by :no_entry_sign: Danger

@oleghnidets thanks for contributing 👍


Eject

Changes Unknown when pulling 71cba6083a64fbb8025c88027bfe50cad9fb2d39 on eject into ** on master**.

Changes Unknown when pulling 71cba6083a64fbb8025c88027bfe50cad9fb2d39 on eject into ** on master**.

Changes Unknown when pulling 71cba6083a64fbb8025c88027bfe50cad9fb2d39 on eject into ** on master**.


Add a step that collects the magic code when adding a VBBA

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/51166
PROPOSAL: https://github.com/Expensify/App/issues/51166#issuecomment-2427102709
Tests

Go to expensify.com > sign-up > choose "1-9" to be redirected to NewDot
Complete the onboarding modal steps to have a workspace created.
Go to Settings > Workspaces > Click into the workspace created
Go to More features > Enable workflows
Go to Workflows > Make or track payments > Connect bank account
Verify that there isn't a "Hold up! We need you to..." error message and after clicking "Connect online with Plaid" or "Connect manually" the ValidateCodeActionModal is displayed

[x] Verify that no errors appear in the JS console

Offline tests

Same as in the Tests section.
QA Steps

Same as in the Tests section.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (Reported here)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/e17b5b6d-8752-42b6-9730-3048115f8369

Android: mWeb Chrome
https://github.com/user-attachments/assets/d24399b3-1fcf-42ad-8512-a26f9102fcd5

iOS: Native
https://github.com/user-attachments/assets/c4eee5d4-93bb-490c-bb38-6b3852f9b7c4

iOS: mWeb Safari
https://github.com/user-attachments/assets/ec96b310-b40e-48c4-847e-13ba12b57e6b

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/c45909f5-1b37-4c5e-9afa-24ec1f309093

MacOS: Desktop
https://github.com/user-attachments/assets/6c2d89a9-7276-40e5-9445-ab13d97b6cfa

@shahinyan11 Got this crashed while connecting bank account from Workflow. Can you take a look?
https://github.com/user-attachments/assets/6cd94981-7c9e-4bd0-a493-3d9507240497

@hungvu193 Could you check again.

I was redirected to BankInfo page instead of ConnectBankAccount page after entering magic code successfully. Let's fix it.
https://github.com/user-attachments/assets/8d836719-f69e-4d82-988d-cc4f637e72d2

I was redirected to BankInfo page instead of ConnectBankAccount page after entering magic code successfully. Let's fix it.

@hungvu193 I think this is beyond the scope of this task. If you try this with a verified user in the main branch, you will see the same behavior. If this is not the expected behavior, Another Issue should be opened for this problem

Ah I see. Looks like changes wasn't deployed to staging yet. It also happens on main but not on Staging yet.

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

https://github.com/user-attachments/assets/71e1497b-a06d-4c98-90cc-fc6d977d39c0

iOS: mWeb Safari

https://github.com/user-attachments/assets/0d60d089-b056-450b-861f-4865894ff207

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/5482b08b-9f18-480f-9150-b0e9743937bc

MacOS: Desktop
https://github.com/user-attachments/assets/4b0cdd57-6cc5-429e-9f59-db43f67d43a7

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

Hey, just noting that this PR introduced a regression. The conditions for displaying Plain/manual were reversed.


[bug]: terraform apply crashing when attempting to create mongo db cluster

Description
When trying to create a MongoDB Cluster in our Subcontract, the terraform apply steps fails with the following message
ionoscloud_mongo_cluster.mongodb_cluster: Creating...
╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to ionoscloud_mongo_cluster.mongodb_cluster, provider "provider[\"registry.terraform.io/ionos-cloud/ionoscloud\"]" produced an unexpected new value: Root resource was present, but now absent.
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.

Expected behavior
Expected a MongoDB Cluster to be created
Environment
Terraform version:
v1.3.9

Provider version:
v6.3.5...

OS:
macOS (local test), ubuntu (CI)

Configuration Files
Minimal reproducible tf-setup:
# mongo.tf
locals {
  datacenter_id = "e58b36bf-5981-475e-9097-64e6c01b504c"
}

resource "ionoscloud_lan" "mongodb_lan" {
  datacenter_id = local.datacenter_id
  public        = false
  name          = "mongodb-lan"
}

resource "ionoscloud_mongo_cluster" "mongodb_cluster" {
  maintenance_window {
    day_of_the_week = "Sunday"
    time            = "09:00:00"
  }

  mongodb_version = "6.0"
  instances       = 1
  display_name    = "test-mongodb"
  location        = "de/txl"
  connections {
    datacenter_id = local.datacenter_id
    lan_id        = ionoscloud_lan.mongodb_lan.id
    cidr_list     = ["<IP_ADDRESS>/24"]
  }
  # template_id = data.ionoscloud_mongo_template.template.id
  template_id = "6b78ea06-ee0e-4689-998c-fc9c46e781f6"
  credentials {
    username = "mongodb-user"
    password = random_password.cluster_password.result
  }
}

resource "random_password" "cluster_password" {
  length           = 16
  special          = true
  override_special = "!#$%&*()-_=+[]{}<>:?"
}

# terraform.tf
terraform {
  required_version = "~> 1.0"

  required_providers {
    ionoscloud = {
      source  = "ionos-cloud/ionoscloud"
      version = "~> 6.1"
    }
  }
}

provider "ionoscloud" {
  endpoint = "https://api.ionos.com/cloudapi/v6/"
}

How to Reproduce
Run tf apply on the sources provided above.
Error and Debug Output
# tf apply with debug logs
ionoscloud_mongo_cluster.mongodb_cluster: Creating...
2023-02-24T16:08:37.090+0100 [INFO]  Starting apply for ionoscloud_mongo_cluster.mongodb_cluster
2023-02-24T16:08:37.090+0100 [DEBUG] ionoscloud_mongo_cluster.mongodb_cluster: applying the planned Create change
2023-02-24T16:08:37.213+0100 [INFO]  provider.terraform-provider-ionoscloud_v6.3.5: 2023/02/24 16:08:37 [DEBUG] operation : ClustersPost: timestamp=2023-02-24T16:08:37.213+0100
2023-02-24T16:08:37.213+0100 [INFO]  provider.terraform-provider-ionoscloud_v6.3.5: 2023/02/24 16:08:37 [DEBUG] response status code : 404: timestamp=2023-02-24T16:08:37.213+0100
2023-02-24T16:08:37.222+0100 [ERROR] vertex "ionoscloud_mongo_cluster.mongodb_cluster" error: Provider produced inconsistent result after apply
╷
│ Error: Provider produced inconsistent result after apply
│
│ When applying changes to ionoscloud_mongo_cluster.mongodb_cluster, provider "provider[\"registry.terraform.io/ionos-cloud/ionoscloud\"]" produced an unexpected new value: Root resource was present, but now absent.
│
│ This is a bug in the provider, which should be reported in the provider's own issue tracker.
╵
2023-02-24T16:08:37.229+0100 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = error reading from server: EOF"

Additional Notes
Additionally, how do we effectively get the information about the subnet, that is assigned to us by the IONOS DHCP server?
The documentation states, that one should check the NICs assigned IP - but, in our case, there is no separete nic "upfront".
I managed to create a MongoDB with the exact same settings via the dcd to validate our properties.

Hi, please remove the endpoint configuration and try again:
provider "ionoscloud" {   endpoint = "https://api.ionos.com/cloudapi/v6/"  }
This is the /v6 - Compute endpoint, but you're also trying to reach the DBaaS mongo endpoint, which is https://api.ionos.com/databases/mongodb/clusters. You don't actually need to define an endpoint, the SDK will know how to route the request.
We will add a better error message for the scenario.

Thanks - i'll try immediately! :)

i can confirm @cristiGuranIonos, that i could create the db now successfully. Thanks for your help!


No full call trace

[15:21:14] [plugins/mysql] mysql_format: invalid connection handle '0'
[15:21:14] [plugins/mysql] mysql_query: invalid connection handle '0'
[15:21:14] [plugins/mysql] cache_get_row_count: no active cache
[15:21:14] [plugins/mysql] cache_delete: invalid cache id '0'
[15:22:04] [plugins/mysql] mysql_format: invalid connection handle '0'
[15:22:04] [plugins/mysql] mysql_query: invalid connection handle '0'
[15:22:04] [plugins/mysql] cache_get_row_count: no active cache
[15:22:04] [plugins/mysql] cache_delete: invalid cache id '0'
[15:27:20] [plugins/mysql] mysql_format: invalid connection handle '0'
[15:27:20] [plugins/mysql] mysql_query: invalid connection handle '0'
[15:27:20] [plugins/mysql] cache_get_row_count: no active cache
[15:27:20] [plugins/mysql] cache_delete: invalid cache id '0'
[15:27:56] [plugins/mysql] mysql_format: invalid format specifier '%D'
[15:27:56] [plugins/mysql] error #1064 while executing query "» Received Food Wheel of Fortune token!": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '» Received Food Wheel of Fortune token!' at line 1
[15:31:16] [plugins/mysql] mysql_format: invalid connection handle '0'
[15:31:16] [plugins/mysql] mysql_query: invalid connection handle '0'
[15:31:16] [plugins/mysql] cache_get_row_count: no active cache
[15:31:16] [plugins/mysql] cache_delete: invalid cache id '0'
Shouldn't it show full call trace?

You need to compile your script with full debug symbols (-d2 compile flag).

Oh thanks! You should include that too. I was using -d3 before but after you replied here I remember that I just changed my location of compiler in notepad++ so had to add pawn.cfg there too.
Thanks once again, and this is a great plugin.
If someone else faces this use that and how to run -d2 compile flag? see here
https://github.com/Zeex/samp-plugin-crashdetect/wiki/Compiling-scripts-with-debug-info

so had to add pawn.cfg there too

Umm... why are you using pawn.cfg if you're using NPP? Just add "-d3" (or d2) to your command in NppExec and save it as a separate compiler. Then when you wanna compile normally you just use the normal command then if you want to compile with debug just compile with the debug command.

I don't get that how it will work?
I am using another file compile.bat (batch file) for checking the time it took to compile. So NppExec calls that batch file.

If you make the batch file correctly you can simply make it accept parameters.
For example, MY compiler batch:
@echo off
setlocal

set STARTTIME=%TIME%

%*

set ENDTIME=%TIME%

for /F "tokens=1-4 delims=:.," %%a in ("%STARTTIME%") do (
   set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
)
for /F "tokens=1-4 delims=:.," %%a in ("%ENDTIME%") do (
   set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
)

set /A elapsed=end-start

set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100
if %hh% lss 10 set hh=0%hh%
if %mm% lss 10 set mm=0%mm%
if %ss% lss 10 set ss=0%ss%
if %cc% lss 10 set cc=0%cc%

set DURATION=%hh%:%mm%:%ss%.%cc%

echo.
echo Compile Time : %DURATION%
echo.

endlocal
goto :EOF

My regular NppExec command:
echo ========== COMPILING  PAWN SCRIPT ==========
echo
cd $(CURRENT_DIRECTORY)
"C:\PAWN\pawncc.bat" "C:\PAWN\pawncc.exe" -i"C:\PAWN\include" -; -( "$(CURRENT_DIRECTORY)\$(FILE_NAME)"

My debug NppExec command:
echo ========== COMPILING  PAWN SCRIPT ==========
echo
cd $(CURRENT_DIRECTORY)
"C:\PAWN\pawncc.bat" "C:\PAWN\pawncc.exe" -d3 -i"C:\PAWN\include" -; -( "$(CURRENT_DIRECTORY)\$(FILE_NAME)"

And I have a few other modes, like assembly and such.

Thanks! This really helped.


take place of lodash

fix #2310
I replaced lodash with something else in the form.tsx file.

[x] I've read and followed the contributing guide on how to create great pull requests.
[ ] I've updated the relevant documentation for any new or updated feature
[ ] I've linked relevant GitHub issue with "Closes #"
[ ] I've added a visual demonstration under the form of a screenshot or video

@ryancogswell @Janpot
I replaced lodash with something else in the form.tsx file and I created a draft pr.
please tell me if  I got it wrong

@apedroferreira please check way.
I will follow this way if it's well

maybe it can't reach it if it only checks it by  Object.keys

 maybe it can't reach it if it only checks it by Object.keys

Ok, it's fine if the solution only considers objects and arrays, but feel free to have something more complete as long as it works well :)

@JerryWu1234 @Janpot
May I ask you about this pr?
Do we split this pr into more parts? Or all features in this pr?
Because this I only implemented one function

The original intent of "remove lodash.isEqual" is not "recreate lodash.isEqual in our own codebase". It is "the use of lodash.isEqual in this instance may indicate a bad algorithm, write a better one that doesn't need deep comparison". If this reasoning is not clear, I urge you to immediately stop spending time on this.
If it turns out we can't improve the algorithm, and we do need a deep comparison, I'd much rather stay with lodash.isEqual or use react-fast-compare instead.
Some of the reasons we remove lodash are:

JavaScript equivalents are terse enough (e.g. isString has no benefit over typeof x === 'string')
It introduces unsafe typing (e.g. .set and .get)

As such, we don't want to simply replace lodash methods with self written equivalents. It is not an improvement.

The original intent of "remove lodash.isEqual" is not "recreate lodash.isEqual in our own codebase". It is "the use of lodash.isEqual in this instance may indicate a bad algorithm, write a better one that doesn't need deep comparison". If this reasoning is not clear, I urge you to immediately stop spending time on this.
If it turns out we can't improve the algorithm, and we do need a deep comparison, I'd much rather stay with lodash.isEqual or use react-fast-compare instead.
Some of the reasons we remove lodash are:

JavaScript equivalents are terse enough (e.g. isString has no benefit over typeof x === 'string')
It introduces unsafe typing (e.g. .set and .get)

As such, we don't want to simply replace lodash methods with self written equivalents. It is not an improvement.

make me confuse

your teammate's wishes need a deep comparison.
I feel like I'm missing out on something

@Janpot please take a look

@JerryWu1234

As I said before the intent was not to recreate lodash. I'm sorry for the confusion, we should've communicated this better. We will probably close https://github.com/mui/mui-toolpad/issues/2310. The intent was to stop relying more on lodash.
As you've sunk a lot of effort into it, let's restrict this PR to replacing the isEqual method only, let's not add/replace any other methods.
As said, if we can't remove the need for deep comparison, we would probably prefer a tried and tested solution instead of rolling our own.

@Janpot
thanks for your reply.
Where can I contact you unless the GitHub?
I wanted to discuss this problem with you before
But I'm no idea where I can contact you.
Don't we maybe need to extract a new isequal function?
the inline also probably is a good idea because the isequal is less place and the place that was used is just a simple comparison

@Janpot, Could you have some free time so that we can discuss this problem?

Feel free to join the discord server. But bear in mind, this is a very low-priority issue, and initially mostly a reminder for the Toolpad team itself on how we want to handle lodash going forward. I don't have a lot of bandwidth to spend on this at the moment.

I can't send anything.
My nickname is Jerry in discord serve.

I can't send anything.

You can follow the instructions in the welcome challenge to get access

Feel free to join the discord server. But bear in mind, this is a very low-priority issue, and initially mostly a reminder for the Toolpad team itself on how we want to handle lodash going forward. I don't have a lot of bandwidth to spend on this at the moment.


max. concurrent login limits at Azure SQL Databases not listed for General Purpose G5 Standard

I have found in our documentation that with General Purpose G5 Standard is no max concurrent logins listed -->  Single database vCore resource limits - Azure SQL Database | Microsoft Learn.
But with Business Critical Stadard Series as well with the DTU Standard it is listed -->Single database vCore resource limits - Azure SQL Database | Microsoft Learn
It would be helpful to have this information also handy for General Purpose G5 Standard.

@fslearn -- thank you for raising this.
@WilliamDAssafMSFT -- William, please look into this issue.

Thanks @fslearn for taking the time to provide this feedback. A doc update is in flight. In general, "Max concurrent workers" and "Max concurrent logins" are the same. The documentation has some gaps to make this more clear and address gaps and discrepancies.


test ubuntu 18 ARM

This pull request adds Ubuntu 18 arm64 to the list of operating systems tested with auto-instrumentation.
Reviewer checklist

[ ] If PR title starts with [<language>], double-check that only <language> is impacted by the change
[ ] No system-tests internal is modified. Otherwise, I have the approval from R&P team
[ ] CI is green, or failing jobs are not related to this change (and you are 100% sure about this statement)
[ ] A docker base image is modified?

[ ] the relevant build-XXX-image label is present

[ ] A scenario is added (or removed)?

[ ] Get a review from R&P team

@robertomonteromiguel

You added the ubuntu 18 arm vm as not default vm, it is not going to execute on "extra vms" job.

I don't see the difference between this change and how I approached the Fedora change. What do I need to change on this PR?


Remember Multi-Factor Authentication page

[Enter feedback here]
This setting is not controlled under Azure Active Directory > Users > Multi-Factor Authentication > service settings as described in the article. When browsing to Multi-Factor Authentication in the Azure portal, under the Getting started page there is a link to "Additional cloud-based MFA settings" this is where the setting is configured.

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

ID: 84b26750-880c-8f14-1628-436293de915e
Version Independent ID: 518b727f-79e8-b5c2-bcb3-ff4de3444c6f
Content: Configure Azure AD Multi-Factor Authentication - Azure Active Directory
Content Source: articles/active-directory/authentication/howto-mfa-mfasettings.md
Service: active-directory
Sub-service: authentication
GitHub Login: @Justinha
Microsoft Alias: justinha

@nickl-koris
Thanks for your feedback! We will investigate and update as appropriate.

Thank you! I made a pull request to update the text. It does show up in that same area under "Per-user MFA"

https://github.com/MicrosoftDocs/azure-docs-pr/pull/168285
CC @nickl-koris


Correct word order

in contained -> contained in

Thanks, submitted internally. Probably won't make this release, probably the next after it.


Printing the middle of the earth

https://prnt.sc/xn42lh
USGS_LPC_NV_LasVegas_QL1_2016_16220_LAS_2018.zip
downloadlist.txt

When I was trying to figure out my own problem, some debugging showed that somehow in asc_parse.gen_stls_from_ascs, lowest_value was getting set to -9999.  I made a change to filter out values less than zero from d that I think fixed it, but couldn't verify due to my issues generating a reasonable sized STL.

When I was trying to figure out my own problem, some debugging showed that somehow in asc_parse.gen_stls_from_ascs, lowest_value was getting set to -9999.  I made a change to filter out values less than zero from d that I think fixed it, but couldn't verify due to my issues generating a reasonable sized STL.

I think I found the fix for this, just trying to get caught up on homework so I have time to implement the patch.

This should be resolved with my latest commit.  If it's still a problem feel free to leave a comment.


Metainfo file validation failing

Spotted with meson test
data/com.vixalien.sticky.appdata.xml: FAILED:
• attribute-invalid     : <screenshot> width (422) too small [https://raw.githubusercontent.com/vixalien/sticky/v0.1.1/data/resources/screenshots/note.png] minimum is 624px
• style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/vixalien/sticky/v0.1.1/data/resources/screenshots/note.png]
• style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/vixalien/sticky/v0.1.1/data/resources/screenshots/note.png]
• attribute-invalid     : <screenshot> width (422) too small [https://raw.githubusercontent.com/vixalien/sticky/v0.1.1/data/resources/screenshots/notes.png] minimum is 624px
• style-invalid         : <image> has vertical padding [https://raw.githubusercontent.com/vixalien/sticky/v0.1.1/data/resources/screenshots/notes.png]
• style-invalid         : <image> has horizontal padding [https://raw.githubusercontent.com/vixalien/sticky/v0.1.1/data/resources/screenshots/notes.png]
• style-invalid         : <ul> cannot start a description [(null)]
• style-invalid         : Not enough <p> tags for a good description [0/1]
stderr:
Validation of files failed

oh well.
I think most of the errors are because the image is too small and that the images have padding (i.e the space between the window and the image's borders)
I think we don't want to make the images larger, as usually sticky notes are meant to be small. The padding is also put there by GNOME's screenshot tool, which allows to show the drop shadow. Other GNOME app's screenshots also have the padding.
For the other errors, I'll make sure to fix them

Would you be interested in this kind of annotation of appstream-util output?

yes that would be great.
I'll create a PR soon making validate -> validate-relax)
On Fri, 19 May 2023, 16:09 Rafael Fontenelle, @.***>
wrote:

Would you be interested in this kind of annotation of appstream-util
output?
[image: Captura de tela de 2023-05-19 11-08-44]
https://user-images.githubusercontent.com/1571783/239554441-f122aff1-51c9-4d28-bb30-ffcbc39e7f96.png
—
Reply to this email directly, view it on GitHub
https://github.com/vixalien/sticky/issues/59#issuecomment-1554644759,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJB5FCJVYIETW5WEJ7JW7HLXG55KFANCNFSM6AAAAAAYFVUWPQ
.
You are receiving this because you commented.Message ID:
@.***>

should be fixed by #110


Analyzer issues error 'invalid override' in case of covariant argument and inherited implementation

Test:
class A {}
class B extends A {}

class Base {
  void f(B arg) {}
}

abstract class Interface {
  void f(covariant A arg);
}

class C extends Base implements Interface {}

Analyzer output:
Analyzing foo.dart...
  error • Base class introduces an invalid override. The type of 'Base.f' ('(B) → void') isn't a subtype of 'Interface.f' ('(A) → void') at foo.dart:13:9 • strong_mode_invalid_method_override_from_base
1 error found.

The following similar test does not produce an error:
class A {}
class B extends A {}

class Base implements Interface {
  void f(B arg) {}
}

abstract class Interface {
  void f(covariant A arg);
}

class C extends Base {}

CFE doesn't flag any errors in both cases.

@leafpetersen @lrhn I'm not sure what the right behavior is here. The spec still says "The modifier covariant is used in strong mode." and has no effect, but I'm guessing that's out of date :-)

cc @eernstg @munificent @jmesserly @stereotype441
The feature spec here is phrased in terms of overriding methods and doesn't specifically address the case where there is no overriding method (just an inherited method).  Implicitly then, I read the spec as saying that this is not allowed.  @munificent @eernstg do you agree with my reading, and do you recall whether this was an intentional choice in the spec as written or just accidental?

If possible, I'd prefer to work the same way as the corresponding generic case.
Maybe that would be:
class A {}
class B extends A {}
class Base  {
  void f(B arg) {}
}
abstract class Interface<T> {
  void f(T arg);
}

class C extends Base implements Interface<A> {}

We don't currently accept that.
On the other hand, if we change C to:
class C extends Base implements Interface<B> {}

we do accept it. That would be the same as the example above where the interface adds covariant B as parameter type instead of covariant A.

we do accept it. That would be the same as the example above where the interface adds covariant B as parameter type instead of covariant A.

Great point! So the current behavior does look consistent. This example has no errors:
class A {}
class B extends A {}

class Base {
  void f(B arg) {}
}

abstract class Interface {
  void f(covariant B arg);
}

class C extends Base implements Interface {}

It looks like CFE doesn't produce an error for the original example, or for @lrhn's generic example above. Should we file a CFE bug for that?

We do treat parameter types differently when they are covariant-from-class and when they are covariant-by-modifier.
In particular, a parameter which is covariant-by-modifier may be tightened arbitrarily, but a parameter which is covariant-from-class may not:
abstract class A1 { foo(covariant num n); }
abstract class A2 implements A1 { foo(int i); } // OK.

abstract class B1<X> { foo(X x); }
abstract class B2 implements B1<num> { foo(int i); } // Error.

The point is that we wish to maintain the guarantee that the actual type annotation on a parameter which is covariant-from-class follows the type variable of the enclosing class that occurs in its type (which is the initial mover that made the parameter covariant-from-class in the first place, so we always have such a type variable). If we want to allow B2 to tighten the parameter type not just to num (following the value of the type variable B1.X as passed in the implements clause of B2), but all the way to int, then we have to add an explicit modifier covariant on that parameter, somewhere.
ascertain
So that's the reason why we can say Interface<B> here, but we cannot say Interface<A>, because then we have an implementation of foo, but its parameter type is tightened beyond the relevant type (C should have a void f(A) where A is covariant-from-class, so void f(B) won't do).
@jmesserly's example here includes the covariant modifier, but it also takes away the property that the parameter of f is covariant at all. The following variant adds covariant-by-modifier to the parameter and preserves the property that it is covariant-by-class, and that shows how we can get a permission to tighten a parameter which is covariant-from-class (because it can be covariant in both ways):
class A {}
class B extends A {}

class Base {
  void f(B arg) {}
}

abstract class Interface<X> {
  void f(covariant X arg);
}

class C extends Base implements Interface<A> {} // OK!

So the analyzer should stop emitting an error for the first example ('Test:' here), and code generation may have to generate an implicit forwarding method in C such that we can check the dynamic type of the actual argument (because Base.f has a parameter which is not covariant, and hence it will probably not contain such a type check). The next example shouldn't and doesn't cause any errors, which is correct.
The first example here is flagged as an error, which is correct. With Interface<B> it is not an error, also OK.


Creation working canvas only if needed (CubeTexture)

If images with right size  there is no need in additional working canvas.
Added Logger.Warn, silent return took some time for investigation.
This change makes possible to use CubeTexture in a worker environment in case if images don`t need resizing.

 Just run npm run build to get it fixed :)

Actually I will fix it :) no worries and thanks!


Mergify should merge scala steward PR automatically if CI success

There is a problem with the mergify rule, normally it should merge the PR of scala steward automatically. However he can't since the Circle ci build in github actions is not enable for scala steward's PR.

How can we solve that? Is there a solution?

I don't why CircleCI is not acting correctly with scala steward PR :/.

I enabled something named: Pass secrets to builds from forked pull requests in CircleCI hope it will fix the issue !

Just be sure that there is no security issues with your build configuration :).


"Could not retrieve Cognitive Services speech token" exception

[12:00:18] Could not retrieve Cognitive Services speech token
[12:00:18] Error: Exception
[12:00:18] Details: System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:443 at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar) --- End of inner exception stack trace --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.HttpClientWrapper.d__31.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.MexParser.d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.MexParser.d__1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenNonInteractiveHandler.d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.d__57.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.d__37.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContextIntegratedAuthExtensions.d__0.MoveNext() --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at SpeechServices.TokenClient.InitSigningKeys(String speechAppId, String userName, String userPassword, Boolean rethrowException) at System.Threading.Tasks.Task.Execute() --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at SpeechServices.TokenClient.InitSigningKeys(Boolean block) at SpeechServices.TokenClient.GetToken(String appId, Int32 goodForInMinutes) at Intercom.Switch.Controllers.SpeechTokenController.GetToken(Int32 goodForInMinutes) ---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:443 at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar) --- End of inner exception stack trace --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.HttpClientWrapper.d__31.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.MexParser.d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.MexParser.d__1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenNonInteractiveHandler.d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.d__57.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.d__37.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContextIntegratedAuthExtensions.d__0.MoveNext() --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at SpeechServices.TokenClient.InitSigningKeys(String speechAppId, String userName, String userPassword, Boolean rethrowException) at System.Threading.Tasks.Task.Execute() ---> (Inner Exception #0) System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:443 at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar) --- End of inner exception stack trace --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.HttpClientWrapper.d__31.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.MexParser.d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.MexParser.d__1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenNonInteractiveHandler.d__5.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AcquireTokenHandlerBase.d__57.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.d__37.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContextIntegratedAuthExtensions.d__0.MoveNext()<--- <---
Running <IP_ADDRESS> on Windows 10
NodeJS Bot SDK V4

We've fixed a problem with Emulator Speech token retrieval.  Please try again, and let us know if you run into any issues. (The fix was done on the back-end, so there is no need to update the Emulator.)

Reactivate if you continue to run into this.


Consider passing through TARGET_CC & TARGET_AR in Cross.toml for rustls

According to the ring (dependency of rustls), the TARGET_CC and TARGET_AR env variables are required to cross-compile it.
Our cross-compilation seems fine, but we might want to provide these in the Cross.toml file. 🤷
[target.x86_64-unknown-linux-gnu.env]
passthrough = [
    "TARGET_CC=x86_64-linux-gnu-gcc",
    "TARGET_AR=x86_64-linux-gnu-ar",
]

[target.x86_64-unknown-linux-musl.env]
passthrough = [
    "TARGET_CC=x86_64-linux-musl-gcc",
    "TARGET_AR=x86_64-linux-musl-ar",
]

[target.aarch64-unknown-linux-gnu.env]
passthrough = [
    "TARGET_CC=aarch64-linux-gnu-gcc",
    "TARGET_AR=aarch64-linux-gnu-ar",
]

[target.aarch64-unknown-linux-musl.env]
passthrough = [
    "TARGET_CC=aarch64-linux-musl-gcc",
    "TARGET_AR=aarch64-linux-musl-ar",
]

Assigning P-LOW as it seems like the work is not blocking other efforts.
Guessing E-LOW.


"ImportError: cannot import name 'patterns'" when I run demo

Python Version: 3.5
Django Version: 1.10

python manage.py runserver

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/urls/resolvers.py", line 303, in urlconf_module
return import_module(self.urlconf_name)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 958, in _find_and_load_unlocked
File "", line 673, in _load_unlocked
File "", line 662, in exec_module
File "", line 222, in _call_with_frames_removed
File "/Users/frank/Documents/UM/MDP Project/repo/django-bootstrap3/demo/demo/urls.py", line 4, in
from django.conf.urls import patterns, url
ImportError: cannot import name 'patterns'

Thanks @jlesech


Iterating through slide.part.rels.items() raises a KeyError from 0.6.20 onwards

I use this code to copy a slide:
import copy
from pptx import Presentation

def copy_slide(prs, source, target_index):
    '''
    Copy ``source`` slide from presentatation ``prs`` to appear at ``target_index``.

    :arg Presentation prs: presentation to copy the slide in
    :arg Slide source: slide to copy
    :arg target_index: location to copy into. 0 makes it the first slide
    '''
    # Append slide with source's layout. Then delete shapes to get a blank slide
    dest = prs.slides.add_slide(source.slide_layout)
    for shp in dest.shapes:
        shp.element.getparent().remove(shp.element)
    # Copy shapes from source, in order
    for shape in source.shapes:
        new_shape = copy.deepcopy(shape.element)
        dest.shapes._spTree.insert_element_before(new_shape, 'p:extLst')
    # Copy rels from source
    for key, val in source.part.rels.items():
        target = val._target
        dest.part.rels.add_relationship(val.reltype, target, val.rId, val.is_external)
    # Move appended slide into target_index
    prs.slides.element.insert(target_index, prs.slides.element[-1])
    return dest

prs = Presentation('example.pptx')
source = prs.slides[0]
copy_slide(prs, source, 1)

This works fine in python-pptx 0.6.19 with example.pptx.
But in 0.6.20, it raises a KeyError
Traceback (most recent call last):
  File "D:\anaconda\3.7\lib\site-packages\pptx\opc\package.py", line 505, in __getitem__
    return self._rels[rId]
KeyError: <pptx.opc.package._Relationship object at 0x00000242D5189A20>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "killme.py", line 34, in <module>
    copy_slide(prs, source, 1)
  File "killme.py", line 24, in copy_slide
    for key, val in source.part.rels.items():
  File "D:\anaconda\3.7\lib\_collections_abc.py", line 744, in __iter__
    yield (key, self._mapping[key])
  File "D:\anaconda\3.7\lib\site-packages\pptx\opc\package.py", line 507, in __getitem__
    raise KeyError("no relationship with key '%s'" % rId)
KeyError: "no relationship with key '<pptx.opc.package._Relationship object at 0x00000242D5189A20>'"

Could you please guide me on what's changed, @scanny? Thanks!

Not so sure about that. In the original version, _Relationships inherited from dict I believe, and I'm not sure one could produce code that worked with both versions without branching on pptx.__version__.
The _Relationships object is not really an interface object so we don't feel compelled to maintain backward compatibility on it. That said, once the .__iter__() change is made it should work the same (like .items() works and other dict/mapping methods).
You could do something like:
from pptx import __version__

rels = (
    source.part.rels
    if __version__.split(".") < [0, 6, 21]
    else source.part.rels._rels
)

And then base your code on rels. _Relationships._rels is a dict holding the actual rId: _Relationship mappings in the latest version.

I'll plan accordingly. Thanks @scanny

As a matter of interest, are you copying within a presentation? Or between presentations?

Thanks @sanand0 for open this issue, I install old version 0.6.18 to fix this error.
BTW, copy_slide is the key feature of our product, we use python-pptx to generate pptx from the template, In our scenario, the template is controllable, so although copy_slide has some compatibility issues, it can still achieve most of the functions by modifying the template. Thanks @scanny for your amazing works!

Is this fixed in the source, or any new version?
I tried all versions from 0.6.18 to current 0.6.21 and still running into this.

Hi @scanny,
the following code works for versions 0.6.19 and earlier:
for _, value in six.iteritems(template.part.rels):
 if "notesSlide" not in value.reltype:
   copied_slide.part.rels.add_relationship(value.reltype, value._target, value.rId)

Per your comment, I changed it to:
for rel in template.part.rels:
  copied_slide.part.rels.add_relationship(rel.reltype, rel._target, rel.rId, rel.is_external)

but I get the following error:
AttributeError: '_Relationships' object has no attribute 'add_relationship'
Please help!

I've encoutered the same issue. It seems like the signature has changed: https://github.com/scanny/python-pptx/blob/62f7f6211c29150245fd8b383c5bde69534f48dd/pptx/opc/package.py#L484
You can still access copied_slide.part.rels._add_relationship(...) but it does not allow you to pass the relationship id. The id now comes from adding a relationship with get_or_add_ext_rel  or get_or_add_rel which uses get_or_add_ext_rel to generate the id or uses _get_matching to find an existing id.
I tried using it like this:
    for rel in source.part.rels:
        if rel.is_external:
            dest.part.rels.get_or_add_ext_rel(rel.reltype, rel._target)
        else:
            dest.part.rels.get_or_add(rel.reltype, rel._target)

But it leaves me with a corrupted output file. So far I could not find a solution other than to downgrade to 0.6.19 and it seems like even @sanand0 is still using the older version (correct me if I am wrong, but I figured it from your source code).

Fixed in version 0.6.22 circa Aug 20, 2023.
_Relationships.items() now works as expected (generating rId, relationship pairs).
Note that iterating _Relationships now generates the rIds. Basically _Relationships.__iter__() is now equivalent to _Relationships.keys() rather than _Relationships.values() as it was.

Note that _Relationships is still not an interface class so any use of it is off-label and its behavior is not guaranteed. Wouldn't stop me from using it, but be aware of the risks.