vscode crashes when moving a file via drag & drop

Describe the bug
When I try to move a file into another folder via drag&drop, the editor crashes. Sometimes it also crashes when opening/closing a file/folder.
Steps To Reproduce
Steps to reproduce the behavior:

Open vscode
Try to move a file into another folder via drag&drop
Crash

Expected behavior
vscode does not crash
Additional context
I tested this on branch nixpkgs-unstable and nixos-23.05.
Verbose terminal output:
[32581:0523/111545.105602:ERROR:wayland_event_watcher.cc(36)] libwayland: wl_surface@61: error 2: Buffer size (163x49) is not divisible by scale (2)
[0523/111545.112784:ERROR:process_memory_range.cc(75)] read out of range
[0523/111545.119446:ERROR:directory_reader_posix.cc(42)] opendir /home/chronicc/.config/Code/Crashpad/attachments/65e28708-0692-4204-a3f9-0e28069a4101: No such file or directory (2)
[0523/111545.123460:ERROR:http_transport_libcurl.cc(118)] dlopen:libcurl.so: cannot open shared object file: No such file or directory
[0523/111545.123484:ERROR:http_transport_libcurl.cc(118)] dlopen:libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
[0523/111545.123488:ERROR:http_transport_libcurl.cc(118)] dlopen:libcurl-nss.so.4: cannot open shared object file: No such file or directory
[0523/111545.123492:ERROR:http_transport_libcurl.cc(118)] dlopen:libcurl.so.4: cannot open shared object file: No such file or directory

The editor crashes both when extensions are installed and when no extensions are installed.
Notify maintainers
@ryantm
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.3.3, NixOS, 23.05 (Stoat), 23.05.20230521.9356eea`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.3`
 - channels(chronicc): `""`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Just checked without any extensions installed and it still crashes with the same log message as above. What also catched my attention is that my mouse pointer increases double in size just before the crash.

Running vscode on nixos-23.05 seems to work stable for now (even with extensions).

This might be related to the upstream issue https://github.com/microsoft/vscode/issues/156723

Currently running version 1.79.0 from nixpkgs master and it looks like the drag&drop problem has been fixed in this version. Will observe my vscode and close the issue within next week, if I don't experience any more crashes.

Is this still a problem? If not, I'd close the issue soon.

Closing. If it turns out to still be a problem, feel free to reopen.


Improve idea

Hello, is it possible to get the differents players that are in a same duo/squad and the bus driver thanks message ?
Thank you very much and have a good day !

Hi @leomelki
Unfortunately, that data is not so easy accessible. I'm working on it though! Once I have successfully parsed the entire replay, I'll probably open source that part as well. But dont expect it anytime soon :)

Oh, thank you for responding ! Good luck, you're doing an amazing job !


Apply CVI components on GUI base layout as Node.js packages

AS AN Architect
I WANT all GUI developments to be based on versioned e-gov/CVI Node.js packages
SO THAT I could be confident in their quality and them always being up-to-date
Acceptance Criteria
Source

[ ] Use #2 as a base

Implementing packages

[ ] Packages information in separate configuration files
[ ] When changing package version numbers, appropriate changes apply
[ ] Use Docker Compose to run the solution locally

Commits missing.

Updating header/menu package with new changes from Chatbot after TIM updates, with translation and menu opening fixes
https://github.com/buerokratt/sample-implementation-cvi/pull/13


Implement a Service Bus Shared Access Key Credential

Summary
Service Bus allows for authorization using a shared key and shared access signature that is currently only supported when using a connection string.  To align with best practices, we would like to guide library users to down the path of using Identity credentials for production applications.   In order to provide a unified approach to authorization around the use of a credential for all scenarios, a service-specific credential type that mimics the API of the TokenCredential is desirable.
Scope of Work

Design and implementation of a ServiceBusSharedAccessKeyCredential type where the API mimics the TokenCredentail form.

The credential should NOT derive from TokenCredential to avoid accidentally attempting to use it with another service.

The credential should support creation using a shared key name and shared key value combination.

The credential should support creation using a shared access signature.

The credential should allow the shared key and value or the shared access signature to be updated without stopping or recreating the associated clients.

The proposed surface area of the credential, as well as changes to the client API to accept it should be reviewed with the language architect, and approval obtained.  Full board review is not necessary.

Success Criteria

The design of a credential type detailed by the scope has been completed and approved by the language architect.

The credential has been implemented according to the design and is exposed as part of the public API of the library.

All clients that accept a TokenCredential also accept the new ServiceBusSharedAccessKeyCredential in a similar manner,

The tests necessary for its validation have been created or adjusted and pass reliably.

The existing test suite continues to produce deterministic results and pass reliably.

References

Follow-Up: Client Creation Discussion
Client Creation Discussion
[Event Hubs Client] Shared Key Credential + Connection String Parser (#16044)

This work has been invalidated by efforts to centralize shared key and SAS credentials into Azure.Core.    Closing this out in favor of #16419.


Add methods getDefinition, getBalances and getProfileUnits

Here is how to test these methods:
const addresses = ['TMWNLXR42CKIP4A774BQGNVBZAPHY7GH', 'ULQA63NGEZACP4N7ZMBUBISH6ZTCUS2Q'];

client.api.getDefinition(addresses[0]).then(result => { console.log('Definition', result); });
client.api.getBalances(addresses).then(result => { console.log('Balances', result); });
client.api.getProfileUnits(addresses).then(result => { console.log('Profile units', result); });

Are those return values (in callback and Promise) correct? In callbacks it always returns string and in Promises always string[], so I think something is missing there.

Updated @Sekhmet


Gatling EL: random Int and Long

https://github.com/gatling/gatling/issues/4316

@Amerousful Thanks. Could you please have a look at my comment?

@slandelle In progress

I'm not sure about correctness of solution, but it works

Yes, this is the correct solution.

Really, I forgot about documentation. Thank you.
Give me a minute)

@slandelle hm, I have doubts about documentation. What is preferable? Just pattern or example with values?

"#{randomLong(<min>,<max>)}"
"#{randomLong(2147483648,2147483658)}"

@Amerousful With value with a comment like "where<PHONE_NUMBER> is the min and<PHONE_NUMBER> is the max" please

Cherry-picked, thanks a lot!


Update release notes and tutorial for 1.6.1.

Travis-CI build passed but the webhook to update the GH UI apparently didn't fire.


Restore team

reverts unintended change from gh-17
cc @cbrueffer

:facepalm: :facepalm: I was wondering what this feedstock was for..., thanks @mbargull !


is_on_the_left should throw an exception for collinear segments

Currently, the is_on_the_left function accepts any type of geometries, even collinear linestrings:
>>> is_on_the_left(LineString([(0, 0), (1, 1)]),
                   LineString([(0, 0), (1, 1)]))
True

This is most probably undesirable, since the LinearRing generated in this function is invalid:
LINEARRING (0 0, 1 1, 0.5 0.5, 0 0)

This issue is irrelevant after https://github.com/LostFan123/pode/pull/17 was merged with the master.


SELECT related JSON map attribute cause error.

I'm trying to SELECT JSON filed in related model to get eventually post.tags # => "tags":["narty","wspinaczka"] by Post |> Repo.all |> Repo.preload(tags: from(t in Myapp.Tag, select: fragment("?::json->?", t.name, "pl"))), it seems that ecto want additionally to map map field, is it a way to do this only by ecto and sql without Enum.map?
post = Repo.get!(Post, id) |> Repo.preload([:tags, :category])
post.tags # => "tags":[{"name":{"pl":"narty","en":"ski"}},{"name":{"pl":"wspinaczka","en":"climbing"}}]

#how preload all with selected key?

posts = Post
  |> Repo.all
  |> Repo.preload(tags: from(t in Myapp.Tag, select: fragment("?::json->?", t.name, "pl")))

** (BadMapError) expected a map, got: "narty"
    (stdlib) :maps.find(:id, "narty")
    (elixir) lib/map.ex:27: Map.fetch!/2
    (elixir) lib/enum.ex:1387: Enum."-reduce/3-lists^foldl/2-0-"/3
    (elixir) lib/enum.ex:1043: anonymous fn/3 in Enum.map/2
    (elixir) lib/enum.ex:1387: Enum."-reduce/3-lists^foldl/2-0-"/3
    (elixir) lib/enum.ex:1043: Enum.map/2
    (elixir) lib/enum.ex:1043: anonymous fn/3 in Enum.map/2
    (elixir) lib/enum.ex:1387: Enum."-reduce/3-lists^foldl/2-0-"/3
    (elixir) lib/enum.ex:1043: Enum.map/2
    (stdlib) erl_eval.erl:669: :erl_eval.do_apply/6
    (stdlib) erl_eval.erl:438: :erl_eval.expr/5
       (iex) lib/iex/evaluator.ex:117: IEx.Evaluator.handle_eval/5

Migrations:
defmodule Myapp.Repo.Migrations.CreateTag do
  use Ecto.Migration

  def change do
    create table(:tags) do
      add :name, :map
      add :category_id, references(:categories)

      timestamps
    end

  end
end

defmodule Myapp.Repo.Migrations.CreateJoinTableTaggings do
  use Ecto.Migration

  def change do
    create table(:taggings) do
      add :post_id, references(:posts)
      add :tag_id, references(:tags)
    end
    create index(:taggings, [:post_id, :tag_id])
  end
end

Models:
defmodule Myapp.Tag do
  use Myapp.Web, :model

  schema "tags" do
    field :name, :map

    has_many :taggings, Myapp.Tagging
    has_many :posts, through: [:taggings, :post]

    belongs_to :post, Myapp.Post
    timestamps
  end
end

defmodule Myapp.Tagging do
  use Myapp.Web, :model

  schema "taggings" do
    belongs_to :post, Myapp.Post
    belongs_to :tag, Myapp.Tag
  end
end

defmodule Myapp.Post do
  use Myapp.Web, :model

  schema "posts" do
    field :title, :string

    belongs_to :category, Myapp.Category
    has_many :taggings, Myapp.Tagging
    has_many :tags, through: [:taggings, :tag]
    timestamps
  end
end

This is not supported on Ecto 1.1 but it will be supported on Ecto 2.0 (current master).

@josevalim With new Ecto 2.0.beta I got following error:
** (exit) an exception was raised:
    ** (FunctionClauseError) no function clause matching in Ecto.primary_key!/1
        (ecto) lib/ecto.ex:434: Ecto.primary_key!("narty")
        (elixir) lib/enum.ex:1473: Enum."-reduce/3-lists^foldl/2-0-"/3
        (elixir) lib/enum.ex:1473: Enum."-reduce/3-lists^foldl/2-0-"/3
        (elixir) lib/enum.ex:1473: Enum."-reduce/3-lists^foldl/2-0-"/3
        (elixir) lib/enum.ex:1473: Enum."-reduce/3-lists^foldl/2-0-"/3

Custom select is working for string field preload but not for JSON, what am i doing wrong? Preload is still: Repo.preload(tags: from(t in Myapp.Tag, select: fragment("?::json->?", t.name, "pl")))

Ah, it is a through relationship. I am not sure if this one works, I missed this detail. I will investigate and let you know. :)

Yup, I can reproduce the issue. I will work on a fix. :)

Fixed in master, please give it a try. We should have a new beta soon.

Tested and it is working, thanks a lot!

@bartroza unfortunately my commit introduced a bug. Because of how associations work, you will have to choose at least all primary keys alongside your result. I will revert it and make sure to add a decent error message.

To be clear, you will need this:
select: %{id: t.id, data: fragment("?::json->?", t.name, "pl")}


Use completed_labels argument (instead of global variable)

GITHUB_COMPLETED_LABELS is currently used instead of the completed_labels argument passed to GitHubPytestPlugin's constructor.
The default value for GITHUB_COMPLETED_LABELS is []. This has the effect of making all issues effectively unresolved. As a result, all github-marked tests are xpassed or xfailed (never passed or failed). This will mask any tests that should pass / fail after an issue has been resolved.

Coverage remained the same at 95.833% when pulling 15096c24a21597b6ab2fce679f4ea12f04783190 on jladdjr:use_github_completed_argument_not_global_var into 1b85fb9a5b2fe946d0a520dee3667c5a56db6f97 on jlaska:master.


ESLint: Command palette entry for managing eslint execution

Testing https://github.com/microsoft/vscode/issues/107584
I'd like to be able to control eslint execution through the command palette. To me, this is more easily discoverable than going through Problems (either panel or editor).

You can also click on the status.

I added a command ESLint: Manage Library Execution


Build(deps-dev): Bump eslint from 8.9.0 to 8.10.0 (#2949)

Pull request opened by the merge tool on behalf of #2949

Processing this pull request

An unexpected error occurred while processing this pull request. The request might have been partially processed. Caused by: GitHub API query failed: got errors in response: [{'type': 'UNPROCESSABLE', 'path': ['createPullRequest'], 'locations': [{'line': 2, 'column': 9}], 'message': 'A pull request already exists for inmanta:dependabot/npm_and_yarn/eslint-8.10.0.'}]


Fallback bug

The fallback strategy has a bug. The Chinese mandarin language (zh/中, how to pronounce) use a character system (Han/漢, how to write) which is divided into two kinds of symbol styles: Traditional Chinese characters (zh-Hant, where t stands for Traditional) and Simplified Chinese characters (zh-Hans, where s stands for Simplified).
For example, a user uses Traditional Chinese characters and lives in Taiwan, his language and locale should be zh-Hant-TW, and the priority of the i18n strategy should be:

zh-Hant-TW: Traditional Chinese characters used in Taiwan
zh-Hant: general Traditional Chinese characters
zh: general Chinese characters

The current fallback strategy of react-native-i18n has a bug. If it don't find zh-Hant-TW, it will only look for zh, not zh-Hant first.
I want to provide zh-Hant for all Traditional Chinese and zh-Hans for all Simplified Chinese no matter what the locale is, but it can't currently work. Devices provide lang+locale and react-native-i18n fallbacks to zh directly in this scenario.
Fallback strategy:

Expected: zh-Hant-TW -> zh-Hant -> zh -> default language
Current: zh-Hant-TW -> zh -> default language

// general Chinese
zh

// Traditional Chinese
zh-Hant

// Simplified Chinese
zh-Hans

// Traditional Chinese + Locale
zh-Hant-TW
zh-Hant-SG
zh-Hant-HK
zh-Hant-CN

// Simplified Chinese + Locale
zh-Hans-TW
zh-Hans-SG
zh-Hans-HK
zh-Hans-CN

@xareelee Since this library use i18n-js, I can do anything about it.
I suggest you to submit the same issue on their repository: https://github.com/fnando/i18n-js


Check if data_endpoint_auth keyspace exists

What is missing?
See https://github.com/k8ssandra/k8ssandra-operator/pull/100#discussion_r700316041 for context.
The controller currently calls the CreateKeyspace endpoint for every Stargate resource tha it creates, in order to ensure that the data_endpoint_auth exists.
As a long-term solution, we are going to create a new Management API endpoint to list existing keyspaces.
Once this new endpoint is available, this PR would then change the controller code to call that endpoint first, and only call the CreateKeyspace endpoint if the data_endpoint_auth keyspace is not present yet.
Why do we need it?
In order to avoid issuing CREATE KEYSPACE statements for nothing.
Environment
Irrelevant
Anything else we need to know?:
┆Issue is synchronized with this Jira Task by Unito
┆Issue Number: K8SSAND-855
┆Priority: Medium

Relevant Management API issue: https://github.com/k8ssandra/management-api-for-apache-cassandra/issues/126.


Callouts not happening randomly

I'm experiencing this for like a week now.  sometimes the timeline doesn't show, or TTS for the same ability in the same fight just don't happen, but then work on the next cast.
I got back to the game recently and waited a few days just in case some ACT update or cact update would fix it, but since there's not many recent issue posts about Cact behaving inconsistently I imagine something is wrong on my side.
looking for some advice to not loose my personal configs (if possible)
some details
I do
-Receive automatic updates
-Hear TTS callouts
-See the Timeline
-See screen warnings
They just fail at random
I Tried
-Disabling/Enabling on ACT
-Re-adding ACT on firewall permissions (DPS meter always works so it's unlikely ACT being blocked I guess)

Same problem, even after removing and reinstalling plugins

Yeah, I haven't heard anything about this.  The only inconsistent thing I know about is #4046, but that's either "everything works" or "nothing works until you restart ACT".
Can you explain what "fail at random" means? Just...sometimes the timeline doesn't start but sometimes it does? In the same fight sometimes at trigger shows but sometimes it doesn't? If you have video/network log of this happening, that would help a lot.

Sometimes the timeline doesn't start sometimes it does. I don't know why. For anything content.

Yeah, I need something more specific.  If you have a particular instance where the timeline doesn't start, please attach a Network log here and let me know which instance it didn't work in.

I'm still trying to reinstall properly. If this continues I will try to send a network log and maybe a video. I want to be sure that the problem is not mine. I'm still looking a bit.

Yeah, I need something more specific. If you have a particular instance where the timeline doesn't start, please attach a Network log here and let me know which instance it didn't work in.

It's hard for me to record long sessions but for instance, it is exactly as you described on the 1st Reply.
As for Network Logs. I'll keep an eye from now on and post here on the next instance it occurs. I didn't know about it. sorry.
But taking an overall look at the files I've noticed lines lines these on many boss fights.
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: >2 sec since last processed packet, resetting stream.|d927f0e20734042d
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872328281].|e4f436f2c6b957db
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872328012].|76fc8b8c2681109d
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872327924].|c3d27dc2af37ccc9
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872327545].|1d1ddca09292458d
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872327282].|fb5422c5255d8ac9
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872327002].|96c5a466ff737951
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872326914].|63c9313d168a9abf
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872326786].|39bfbd8df7726926
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872326590].|985672f1269989f4
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872326234].|5867a23a0ccd1535
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872325888].|d2e556d10462cb34
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872325679].|5f7b99bd1d3c4a5b
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872325378].|070fb612e5f19043
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872325086].|2487c4806ea7fb4c
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872324998].|1d2f70ea1f74b296
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872324910].|b764fecf6fe700ee
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872324822].|ca8805b8aca580a0
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872324581].|ea63d14c9a338975
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872324493].|5663705e395168ba
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872324221].|850e943d27a2c625
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872323954].|f10d9b3d63c7a59e
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872323866].|10d195308a8fb98e
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872323583].|f5404e38da63a64d
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872323323].|89faee1b4a5e8192
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872322963].|3483c62e86009ca5
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872322686].|6c2e24cb81126734
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872322502].|1cef3e0c4fb816c6
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872322414].|7ea9249d2c567c7e
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872322214].|6107ce387fe3e6e9
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872322048].|94d0b8ab2fe8e9de
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872321692].|51e4de13d4637669
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872321498].|8de2bccff3b06b3d
251|2022-02-03T10:50:24.0000000-03:00|TCPDecoder: Missing Sequence # [1872320382], Dropping packet with sequence # [1872320808].|c40a4e343b5e2ea1

I'm having this issue as well, cactbot calls work for 1-2 bosses, then just does nothing until restarted. Leveling an alt through MSQ, and it happen almost every other boss fight.

Are other people seeing the TCPDecoder: Missing Sequence error in the logs?

on The Dead Ends : no timeline, no calls.
ProcessTCPInfo: Removing connection <IP_ADDRESS>:52428=><IP_ADDRESS>:443(10296), it's normal ?

on ifrit, all works well.

on seiryu, all works well.
It depends on the content, it seems.

@VanSlanzar I think both of those messages are likely unrelated.  I don't know anything about ProcessTCPInfo.  The Oopsy issue is something I have tried to adjust in the past, but should not affect raidboss.
Does the timeline never work in the Dead Ends, not on any of the bosses for you? I wonder if it's a chat translation issue.  Do you have a network log?

Hi !
I may have the same problem. Like everything's fine in P2S but P3S is empty.
I guess you're on the right way thinking it's a chat translation issue as I use cactbot with my French FFXIV client (and I guess VanSlanzar is francophone too by looking at its past work on cactbot).
Also, another member of my static uses cactbot, has the client in English and has no problem.
I put my log file of the evening raiding P1S to P3S in Network_26401_20220201.2022.02.02_only_savage.log.zip
(I kept the first 45 lines of initialization and deleted everything that was not relevant to the savage parts)
I hope it helps.

Ok, I think I see an issue in common translations.  If I run this:
$ npm run util -- translateTimeline -t the_dead_ends -l fr | grep Ferm
(node:7416) ExperimentalWarning: --experimental-loader is an experimental featur
e. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
1000.0 "--synchronisation--" sync / 00:0839:Fermeture d(?:e|u|es) :Amas coquillier naufragé dans/ window 10000,0
2000.0 "--synchronisation--" sync / 00:0839:Fermeture d(?:e|u|es) :Colline des Dés jetés dans/ window 10000,0
3000.0 "--synchronisation--" sync / 00:0839:Fermeture d(?:e|u|es) :Jardin de l'Arbre-Monde dans/ window 10000,0

You can see that there's a colon in the name, which is incorrect.  However even if I fix the colon, there's more problems than that.  This is from a log file:
00|2022-02-06T22:56:30.0000000+01:00|0839||Fermeture de l'amas coquillier naufragé dans 15 secondes.|d8c2cd4b71153115
00|2022-02-06T23:02:17.0000000+01:00|0839||Fermeture de la colline des Dés jetés dans 15 secondes.|9cca17e5d7c16d87
00|2022-02-06T23:08:46.0000000+01:00|0839||Fermeture du jardin de l'Arbre-Monde dans 15 secondes.|b8025d40f1dff206

Does the French translation need to account for optional articles as well so that the automatic translation works? What possibilities are there? (cc @Akurosia)

I think I have fixed the issues with French, but I think that is not necessarily the issues that @jarrettcommmm and @Khuzvhan were having.  @jarrettcommmm, are you having the TCPDecoder issues too?  Please let me know if you see similar issues in the future, especially if it consistently happens on a particular boss or there is anything in the logs.  If you can attach a Network log file from any situation where it is not working, that would be appreciated.

Here's a full P3S night. No timeline displayed, no calls except for

The number call for the AoEs that dispels the invulnerable status of the Darkened Fire adds
The eyeball mobs. The cardinal direction call is made

Network_26401_20220220.zip
Hope that helps.

Well I resolved my problem ^^'
My FFXIV is in French and my FFXIV ACT plugin was set as English in the Parse Options...
So yeah, issue solve for me by switching it to French.

@QuidamAzerty Glad you got it sorted out!
I'm going to close this now.  If folks are having similar/related issues, please open up another issue at this point.


Minimum Password Length Enforcement

We should enforce minimum password lengths for users signing up and changing their passwords; server side enforcement and client side encouragement is probably the aim.
It has become clear that despite encouragement users (even me) won't use SSO methods like Google or Facebook and so we should make sure that sensible passwords are being used. Any changes / ideas should be discussed with @arb33 and others with a security background since all the password and login code received careful checking!

We think a simple 6 character minimum will be enough; but perhaps a blacklist or other sane validation technique. There's not much to gain by hacking an Isaac account, and there are sensible rate limiting and related security policies in place already

See https://github.com/ucam-cl-dtg/isaac-api/pull/92 and https://github.com/ucam-cl-dtg/isaac-app/pull/850


style: golang: use c++ style naming to remove NOLINT(readability-identifier-naming)

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/retest

/retest

this follow up https://github.com/envoyproxy/envoy/pull/29664
@phlax please take a look, thanks~


Empty Event.log

Recently used the support package, but the event.logs came back blank, but everything else came back fine.  Did you think this might be a bug, or a event resource allocation issue/user error?  I can't seem to repo it.

Are you looking at the events.txt file? It could be that there were no new events in the Namespace. When I ran the support package and the equivalent kubectl command, I confirmed that there were no events.


Auth sign-in redirect Url get carried through different environments

How did you install the Amplify CLI?
yarn
If applicable, what version of Node.js are you using?
18.11.0
Amplify CLI Version
10.6.2
What operating system are you using?
Mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No manual changes made
Describe the bug
I currently have two working environments (dev and staging) for my project and I am using Google Oauth provider for both of them.
The problem is that the sign-in redirect URL for one environment will get carried over when switching between the environments.
Expected behavior
I need the following sign-in redirect URLs for each environment:
dev: https://dev.mydomain.com/, http://localhost:3000/
staging: https://staging.mydomain.com/
Reproduction steps

When adding a new environment, sign-in redirect URLs are copied to the new environment: amplify add env
Switch to the new environment: amplify checkout env staging
Update auth with new sign-in redirect URL: amplify update auth - Add/Edit signin and signout redirect URIs
Push new configuration to the cloud: amplify push

At this point, the sign-in redirect URLs for both dev and staging are correctly configured on cloud

Switch to the original dev environment: amplify checkout env dev
Amplify detects the change to the auth made to the staging environment: amplify status
The sign-in redirect URL for staging is pushed to the cloud for dev environment: amplify push

Now the sign-in redirect URL for both dev and staging are incorrectly configured to be https://staging.mydomain.com/

Project Identifier
No response
Log output

# Put your logs below this line

Additional information
No response
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

Hey @yunchanpaik :wave: thanks for raising this and apologies for the delay! While we do not currently support env-specific redirect URI's I think this is a very reasonable request!
I was able to workaround this issue by lifting the oAuthMetadata property out of the auth resource's cli-inputs.json into the team-provider-info.json
{
  "dev": {
    "awscloudformation": {
    },
    "categories": {
      "auth": {
        "authenvredirects12ab993d": {
          "oAuthMetadata": "{\"AllowedOAuthFlows\":[\"code\"],\"AllowedOAuthScopes\":[\"phone\",\"email\",\"openid\",\"profile\",\"aws.cognito.signin.user.admin\"],\"CallbackURLs\":[\"http://localhost:3333/\"],\"LogoutURLs\":[\"http://localhost:3333/\"]}"
        }
      }
    }
  },
  "next": {
    "awscloudformation": {
    },
    "categories": {
      "auth": {
        "authenvredirects12ab993d": {
          "oAuthMetadata": "{\"AllowedOAuthFlows\":[\"code\"],\"AllowedOAuthScopes\":[\"phone\",\"email\",\"openid\",\"profile\",\"aws.cognito.signin.user.admin\"],\"CallbackURLs\":[\"http://localhost:4444/\"],\"LogoutURLs\":[\"http://localhost:4444/\"]}"
        }
      }
    }
  }
}

Marking as a feature request to support env-specific redirect URIs

The workaround did it! Thank you so much for the help, Jose.
Looking forward to a proper implementation for this feature. Currently, the Amplify Studio shows blank redirect_url even though it works, probably because it's not reading the overrides from team-provider-info.json

Hey @yunchanpaik glad to hear that worked for you! For the Studio issue, yes I don't believe Studio is set to look in team-provider-info for this detail, but we will keep that in mind as we work to improve this experience!

@josefaidt can you share more info on what can and can’t be done with team-provider-info.json?

Can any cli-inputs.json values be placed in the appropriate [env].categories.[category][resource_name] section of this file?
If a value is put in team-provider-info.json from an cli-inputs.json file, should I remove that entry from the cli-inputs file or leave it intact? Does the team-provider-info one take priority?
Is there a schema (or TypeScript interface) anywhere that shows exactly what can and cannot be put in the team-provider-info.json file?

@josefaidt thank you so much.


Migrate to null safety

It would be awesome if this package could be migrated to null safety.

Merged and published. Use ^3.0.0.


Product Grid component props are misplaced

Describe the bug

The "bordered" and "showDiscountBadge" props in ProductGrid are misplaced.

Expected behavior

The "bordered" and "showDiscountBadge" props in ProductGrid should be in the correct place.

Current behavior

Modifing the props through the hCMS doesn't actually work for it's purpose.

Possible Solution

Switch the "bordered" and "showDiscountBadge" props in the ProductGrid component.

Workspace
Master workspace
Additional context

As you can see, you're passing the showDiscountBadge value as "Bordered" prop and the "bordered" value a to the "showDiscountBadge" prop.
Line of code:
https://github.com/vtex/faststore/blob/e1489a02bc5e4de1aec3f9d60f77a3c4455cc22b/packages/core/src/components/product/ProductGrid/ProductGrid.tsx#L56C1-L56C1

Nice catch @fabsantandrea!
Thanks for reporting it! I'll fix it! 👍

Fixed in 2.2.3 version 🥳
Now, it should work as expected!


Add e2e tests with Playwright

@SrushtiPasari94  let's try to add a few playwright tests that check the functionality of:

Browsing for item
Adding item to cart
Removing item to cart

Added above test cases in the PR

@jamesmontemagno
Created New PR with updated test cases as per @debs-obrien suggestions.
https://github.com/dotnet/eShop/pull/235


Merge branch 'v1beta1-experimental' into main

Issue #, if available:
Description of changes:
This will move the changes from v1beta1-experimental into the main branch to start the process of moving our bundles to build based off cluster-api v1beta1
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/override cluster-api-tooling-presubmit

/override cluster-api-tooling-presubmit
Passed in previous execution

/override eks-anywhere-cli-tools-tooling-presubmit
The v1.0.1 tars won't be available until this PR gets merged with the tag changes

/override eks-anywhere-cli-tools-tooling-presubmit

/lgtm


Access older Insider builds

Would it be possible to make available the older Insider builds, for testing purposes? For example, debug breakpoints are currently not working (#45657), it would be useful to try in three different VSCode versions and I'd much prefer to do it in the Insiders version, not in my main installation.
Maybe it's already kept on some CI server, just the URLs are not publicly known? At least I couldn't find them.

You can check out all insider version numbers here:
https://vscode-update.azurewebsites.net/api/releases/insider
Then you can download the latest released build per version number like this:
https://vscode-update.azurewebsites.net/1.20.0-insider/darwin/insider
Just switch the version number in the URL.
For all other purposes, setup the VS Code development environment and use git to go back to old versions.

Cool, thanks. For reference, for Windows, the URL will be like:
https://vscode-update.azurewebsites.net/1.20.0-insider/win32-x64/insider
Also, there's this older issue: Publicly accessible previous versions of VS Code #11796 (I missed that previously).


chore: update Vite example to the lastest version

Describe the improvement
Generate a fresh Vite CLI example and copy relevant config ant test files.
Suggested implementation steps

Generate a latest RN template app using Vite CLI
Copy relevant config and test files.
Upgrade Reassure dep to latest version
Make sure the Reassure runs locally (until we have CI infra in place #1 ).

done: https://github.com/callstack/reassure-examples/pull/48


Customer feedback - Incomplete documentation

Type of issue
Missing information
Feedback
Can you please elaborate about the members of D3DDDI_SEGMENTPREFERENCE
Page URL
https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/d3dukmdt/ns-d3dukmdt-_d3dddi_segmentpreference
Content source URL
https://github.com/MicrosoftDocs/windows-driver-docs-ddi/blob/staging/wdk-ddi-src/content/d3dukmdt/ns-d3dukmdt-_d3dddi_segmentpreference.md
Author
@lorihollasch

Thanks for reporting this blank page, @sandilya-xilinx - oops! I've populated the page with details. :)

Thank you @lorihollasch for updating the page. Also, I want to thank MSFT to provide feedback link which is easy to submit our request/feedback for the MSDN pages and the turnaround time is impressive. Thank you again.


Maintaining pitch/yaw across scenes on hotspots

Is this possible? I have all panoramas set in a specific orientation and I'd like to preserve the pitch/yaw so that the "camera" orientation is preserved across scenes (ie always facing the same direction) when transitioning to a different scene.
I was able to do it using the loadScene() function (I would grab the current pitch/yaw and pass it to this function) but I couldn't get the Hotspots to do the same thing.
Thanks!

Set the hot spot's targetPitch and targetYaw parameters to "same". For more details see the configuration reference.

Closing due to lack of response.


All generated .gitignore files should gitignore themselves

Is your feature request related to a problem? Please describe.
I'm currrently trying out ddev in a couple of Drupal 8 projects. The ddev config command makes it very easy to add ddev to these projects.
As soon as I start the project with ddev start, new files are generated to make my site compatible with ddev. That's awesome! However, there are multiple files that are generated but not .gitignored.
My full list of files that I'm able to add to git, are:

.ddev/config.yaml
drush/.gitignore
drupal/web/sites/default/.gitignore

I think it would be better if there are less automatically generated files that can be added to git.
Describe the solution you'd like
If all .gitignore files would contain this line:
/.gitignore

then the .gitignore files themselves would be gitignored. That way, this would be the only file available for git:

.ddev/config.yaml

Of course, if someone wants to change these .gitignore files they can still do that and the file would be marked "User-managed". That way, everyone can still add the files to git if they really want to.
Describe alternatives you've considered
Two other options I have:

Add .gitignore to the files myself, and remove the #ddev-generated to make them "User-managed". But that way, I would have to do that every time I'm trying out ddev in a project.
Just commit the .gitignore files and deal with it :-)

Additional context
I don't know Go at all, and I don't know about the internal infrastructure of ddev. But I think I found the two lines that would need to change, if this would be implemented. But I could be wrong ;-)
Remove ".gitignore" from this line (so it won't be added to the file twice):
https://github.com/drud/ddev/blob/1c1a287d8d391bd91189266dcda4c8db59459762/pkg/ddevapp/config.go#L917
Add "/.gitignore" to the gitignore template, between these two lines:
https://github.com/drud/ddev/blob/1c1a287d8d391bd91189266dcda4c8db59459762/pkg/ddevapp/utils.go#L198-L199
That way, every ".gitignore" that is created and managed by ddev will have a "/.gitignore" entry. I think.

This part has been a bit annoying for DDEV Teams purpose, so I am agreed to remove the line /.gitignore on .ddev/.gitignore if possible :sweat_smile:
But so far I have managed to do ONLY in ddev-folder:

Remove the auto-generated message on top
and change from /.gitignore to !/.gitignore
Committed the .gitignore-file in our repo.

But hopefully, we can remove the line about /.gitignore and able to let us commit it since I have noticed that ddev start didn’t generate such file, only when doing ddev config. Otherwise, let ddev start generate this file if it doesn’t exist.
Also, (an off-topic), in web/sites/.gitignore I usually add two more lines like when using drupal/core-composer-scaffold:
default/default.services.yml
default/default.settings.php


Organize specs

From @benjaminwood on April 10, 2018 18:40
I found some capybara integration specs in a controller specs file. I'm not sure how much more of this sort of thing there is, but some effort should be made to ensure that specs are properly organized/categorized.
Example:
https://github.com/hintmedia/rigse/blob/748311842563874f7b1ed575700822ca079d10da/spec/controllers/investigations_controller_otml.rb#L53-L63
Copied from original issue: hintmedia/rigse#12

I think we're good here.


Provide a helpful message if git is not executable

Display a helpful message and exit early when gitsh is installed on a
system without git or when a non-existent git is specified using the
--git option.
This fixes #193.

I rebuilt CI in hopes that it will fix the segfault.
The code looks good to me, I had a minor question.

Left a few minor comments, but overall this LGTM!

Thanks for reviewing @georgebrock! I've updated the PR according to your comments.

Looks great. Thanks, Calle.

Sorry for dropping the ball on this one! I'll rebase, squash, and merge.

Thanks!


Make azplugins available on conda forge?

HOOMD is available on conda forge and users seem to use / install it that way. Should we look into supplying azplugins on conda forge as well for convenience?
conda install -c conda-forge azplugins

I have no sense of how much effort it is going to be, but for users who do not intend to develop any features this would be extremely convenient, and could potentially give us a broader user base.
Let's check how difficult it would be and how much effort it will be to maintain it. We should offer two versions, last one to support hoomd-2.X (e.g. the minor bug-fix +support branch) and then the new hoomd-3.0 one.  Is there a way to include a circleci + docker test for this as well?

I think it is not too bad to maintain after you get it setup at first. You propose a recipe on conda forge, which then gets you a conda feedstock repository, and then we just need to remember to bump this as we add new versions. I will look into it since I agree it would be very convenient.

It's pretty easy to build plugins, and I'm not planning to do this unless Josh supplies an easy template / mechanism for it.


Html repr

Companion to NSLS-II/metadatastore#146
Demo again: http://nbviewer.ipython.org/gist/danielballan/95dd38e97f12ddce7942

:+1: . Note that python2 CI is failing because replay bugs have not been fixed yet.


fix(k8s): use pg-user

Changes for kubernetes deployment :

rename .k8s to .socialgouv and  adjust GH workflows (align with new socialgouv/actions defaults)
remove azure-pg-user sealed-secrets from the repo : is now provided by infra
adjust restore job

:tada: This PR is included in version 1.86.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fix CentOS CI builds: Only create symlink when target doesn't exist.

The command for creating a symlink from /usr/bin/ninja-build to /usr/bin/ninja is failing, because it already exists. It looks like CentOS may have changed their packages to create this file/symlink. This PR only attempts to create it if it doesn't already exists.

@josephevans seems like a duplicate of #18906 from @leezu ? thanks to both of you for fixing it

@josephevans seems like a duplicate of #18906 from @leezu ? thanks to both of you for fixing it

Yep, I'll close this. Thanks for the heads up!


TypeError when using withNextIntl in combination with withContentlayer

Description
When using the withNextIntl inside the next.config.js in combination with withContentlayer (I didn't test it with other plugins) I get the following error. Both plugins work alone so I don't know where the problem occurs.
I use:
next-intl: 2.11.0-beta.7
Next 13 with the app directory
TypeError: Cannot destructure property '__extends' of '_tslib_js__WEBPACK_IMPORTED_MODULE_0___default(...)' as it is undefined.
at Object.8534 (/Users/alex/dev/Portfolio/.next/server/chunks/290.js:32353:9)
at webpack_require (/Users/alex/dev/Portfolio/.next/server/webpack-runtime.js:25:42)
at Object.2600 (/Users/alex/dev/Portfolio/.next/server/chunks/290.js:3236:15)
at webpack_require (/Users/alex/dev/Portfolio/.next/server/webpack-runtime.js:25:42)
at Object.4638 (/Users/alex/dev/Portfolio/.next/server/chunks/290.js:31921:26)
at webpack_require (/Users/alex/dev/Portfolio/.next/server/webpack-runtime.js:25:42)
at Object.3285 (/Users/alex/dev/Portfolio/.next/server/app/[locale]/page.js:377:67)
at Function.webpack_require (/Users/alex/dev/Portfolio/.next/server/webpack-runtime.js:25:42)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async collectGenerateParams (/Users/alex/dev/Portfolio/node_modules/.pnpm/next@13.1.6_biqbaboplfbrettd7655fr4n2y/node_modules/next/dist/build/utils.js:714:17)
Reproduction URL (CodeSandbox)
https://github.com/alex289/Portfolio/tree/feature/app_directory
Reproduction description
Steps to reproduce:

Open reproduction
Run pnpm build or pnpm dev
See error: TypeError: Cannot destructure property…

Expected behaviour
No error at all.

Nevermind, the issue is coming from contentlayer. Thanks for the great work.
https://github.com/contentlayerdev/contentlayer/issues/341

The more I read into this the more unsure I get about where the error is coming from 😅

I've replied here: https://github.com/contentlayerdev/contentlayer/issues/341#issuecomment-1429313376


[Feature Request] Custom item order in sidebar

For the navigation sidebar, it would be very helpful to be able to customise the order of elements - e.g. having certain files appear before directories, or rearranging elements otherwise. Currently I have a few root-level pages which appear at the very bottom after all directories, which is not very helpful.

That appears to be a partial solution, and I didn't know about that - thanks for sharing! However, that still doesn't fully solve my issue, as I wish to be able to arbitrarily sort my notes (or at least sort by creation date so I can use the frontmatter to set a custom creation date), to reflect the order of topics in the course I'm taking notes on. Is there any other feature or workaround for this?

I'm wondering if replacing pin (or adding) dg-sort-weight that would

(pin)
sort by sort-weight
sort by default

would make sense.
If it's not something that would be widely used it might not be worth it though.

dg-sort-weight is not a good idea in some ways. If you want to sort by sort-weight, you have to add weight to every note.
You can use the created by default as shown below.
@julesvirallinen @ThatOtherAndrew
--- a/src/helpers/filetreeUtils.js
+++ b/src/helpers/filetreeUtils.js
@@ -35,6 +35,14 @@ const sortTree = (unsorted) => {
         return aNum - bNum; //Fast comparison between numbers
       }

+	  // compare with createTime
+	  let a_createTime = unsorted[a].createTime;
+	  let b_createTime = unsorted[b].createTime;
+
+	  if (a_createTime && b_createTime) {
+		  return a_createTime > b_createTime ? 1 : -1;
+	  }
+
       if (a.toLowerCase() > b.toLowerCase()) {
         return 1;
       }
@@ -63,6 +71,7 @@ function getPermalinkMeta(note, key) {
   let noteIcon = process.env.NOTE_ICON_DEFAULT;
   let hide = false;
   let pinned = false;
+  let createTime = null;
   let folders = null;
   try {
     if (note.data.permalink) {
@@ -93,11 +102,12 @@ function getPermalinkMeta(note, key) {
         .split("/");
     }
     folders[folders.length - 1]+= ".md";
+	createTime = note.data.created;
   } catch {
     //ignore
   }

-  return [{ permalink, name, noteIcon, hide, pinned }, folders];
+  return [{ permalink, name, noteIcon, hide, pinned, createTime }, folders];
 }


getData not throwing error on 404s

the previous functionality is not being mirrored in 1.12+

should make sure it's throwing for other errors also


Feature/table selection

This PR allows to select targets from the compare table:
Also:

Fixes the links to NDC country
Fixes the search and the search on compare countries
Links the compare button to custom-compare page

Ready to review!

Ready, thanks for the comment

Nice, thank you for changes :+1:


Dart migrate exception

ı run "dart migrate command " and got this exception.
PS C:\flutter_projeleri\container_coordinates> dart migrate
Migrating C:\flutter_projeleri\container_coordinates
See https://dart.dev/go/null-safety-migration for a migration guide.
[exception: FileSystemException(path=C:\Program Files\Dart\dart-sdk\lib_internal\sdk_library_metadata\lib\libraries.dart; message=Cannot open file)][stackTrace: #0      _PhysicalFile.readAsStringSync (package:analyzer/file_system/physical_file_system.dart:184:7)
#1      FolderBasedDartSdk.initialLibraryMap (package:analyzer/src/dart/sdk/sdk.dart:473:41)
#2      new FolderBasedDartSdk (package:analyzer/src/dart/sdk/sdk.dart:371:18)
#3      ContextBuilder.findSdk. (package:analyzer/src/context/builder.dart:209:16)
#4      _HashMap.putIfAbsent (dart:collection-patch/collection_patch.dart:140:29)
#5      DartSdkManager.getSdk (package:analyzer/src/generated/sdk.dart:95:19)
#6      ContextBuilder.findSdk (package:analyzer/src/context/builder.dart:208:30)
#7      ContextBuilder.createSourceFactoryFromWorkspace (package:analyzer/src/context/builder.dart:178:19)
#8      ContextBuilder.buildDriver (package:analyzer/src/context/builder.dart:119:9)
#9      ContextBuilderImpl.createContext (package:analyzer/src/dart/analysis/context_builder.dart:98:37)
#10     new AnalysisContextCollectionImpl (package:analyzer/src/dart/analysis/analysis_context_collection.dart:65:36)
#11     MigrationCliRunner.contextCollection (package:nnbd_migration/migration_cli.dart:542:28)
#12     MigrationCliRunner.hasMultipleAnalysisContext (package:nnbd_migration/migration_cli.dart:551:12)
#13     MigrationCliRunner.run (package:nnbd_migration/migration_cli.dart:701:9)
#14     MigrateCommand.run (package:nnbd_migration/migration_cli.dart:184:72)
#15     CommandRunner.runCommand (package:args/command_runner.dart:196:27)
#16     DartdevRunner.runCommand (package:dartdev/dartdev.dart:199:30)
#17     CommandRunner.run. (package:args/command_runner.dart:112:25)
#18     new Future.sync (dart:async/future.dart:218:31)
#19     CommandRunner.run (package:args/command_runner.dart:112:14)
#20     runDartdev (package:dartdev/dartdev.dart:53:29)
#21     main (file:///C:/b/s/w/ir/cache/builder/src/third_party/dart/pkg/dartdev/bin/dartdev.dart:11:9)
#22     _delayEntrypointInvocation. (dart:isolate-patch/isolate_patch.dart:279:32)
#23     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
]
[exception: FileSystemException(path=C:\Program Files\Dart\dart-sdk\lib_internal\libraries.dart; message=Cannot open file)][stackTrace: #0      _PhysicalFile.readAsStringSync (package:analyzer/file_system/physical_file_system.dart:184:7)
#1      FolderBasedDartSdk.initialLibraryMap (package:analyzer/src/dart/sdk/sdk.dart:473:41)
#2      new FolderBasedDartSdk (package:analyzer/src/dart/sdk/sdk.dart:371:18)
#3      ContextBuilder.findSdk. (package:analyzer/src/context/builder.dart:209:16)
#4      _HashMap.putIfAbsent (dart:collection-patch/collection_patch.dart:140:29)
#5      DartSdkManager.getSdk (package:analyzer/src/generated/sdk.dart:95:19)
#6      ContextBuilder.findSdk (package:analyzer/src/context/builder.dart:208:30)
#7      ContextBuilder.createSourceFactoryFromWorkspace (package:analyzer/src/context/builder.dart:178:19)
#8      ContextBuilder.buildDriver (package:analyzer/src/context/builder.dart:119:9)
#9      ContextBuilderImpl.createContext (package:analyzer/src/dart/analysis/context_builder.dart:98:37)
#10     new AnalysisContextCollectionImpl (package:analyzer/src/dart/analysis/analysis_context_collection.dart:65:36)
#11     MigrationCliRunner.contextCollection (package:nnbd_migration/migration_cli.dart:542:28)
#12     MigrationCliRunner.hasMultipleAnalysisContext (package:nnbd_migration/migration_cli.dart:551:12)
#13     MigrationCliRunner.run (package:nnbd_migration/migration_cli.dart:701:9)
#14     MigrateCommand.run (package:nnbd_migration/migration_cli.dart:184:72)
#15     CommandRunner.runCommand (package:args/command_runner.dart:196:27)
#16     DartdevRunner.runCommand (package:dartdev/dartdev.dart:199:30)
#17     CommandRunner.run. (package:args/command_runner.dart:112:25)
#18     new Future.sync (dart:async/future.dart:218:31)
#19     CommandRunner.run (package:args/command_runner.dart:112:14)
#20     runDartdev (package:dartdev/dartdev.dart:53:29)
#21     main (file:///C:/b/s/w/ir/cache/builder/src/third_party/dart/pkg/dartdev/bin/dartdev.dart:11:9)
#22     _delayEntrypointInvocation. (dart:isolate-patch/isolate_patch.dart:279:32)
#23     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
]
#0      _PhysicalFile.readAsStringSync (package:analyzer/file_system/physical_file_system.dart:184:7)
#1      FolderBasedDartSdk.languageVersion (package:analyzer/src/dart/sdk/sdk.dart:395:12)
#2      ContextBuilder.findSdk (package:analyzer/src/context/builder.dart:231:40)
#3      ContextBuilder.createSourceFactoryFromWorkspace (package:analyzer/src/context/builder.dart:178:19)
#5      ContextBuilderImpl.createContext (package:analyzer/src/dart/analysis/context_builder.dart:98:37)
#6      new AnalysisContextCollectionImpl (package:analyzer/src/dart/analysis/analysis_context_collection.dart:65:36)
#7      MigrationCliRunner.contextCollection (package:nnbd_migration/migration_cli.dart:542:28)
#8      MigrationCliRunner.hasMultipleAnalysisContext (package:nnbd_migration/migration_cli.dart:551:12)
#9      MigrationCliRunner.run (package:nnbd_migration/migration_cli.dart:701:9)
#10     MigrateCommand.run (package:nnbd_migration/migration_cli.dart:184:72)
#11     CommandRunner.runCommand (package:args/command_runner.dart:196:27)
#12     DartdevRunner.runCommand (package:dartdev/dartdev.dart:199:30)
#13     CommandRunner.run. (package:args/command_runner.dart:112:25)
#14     new Future.sync (dart:async/future.dart:218:31)
#15     CommandRunner.run (package:args/command_runner.dart:112:14)
#16     runDartdev (package:dartdev/dartdev.dart:53:29)
#17     main (file:///C:/b/s/w/ir/cache/builder/src/third_party/dart/pkg/dartdev/bin/dartdev.dart:11:9)
#18     _delayEntrypointInvocation. (dart:isolate-patch/isolate_patch.dart:279:32)
#19     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
My versions :
PS C:\flutter_projeleri\container_coordinates> flutter --version
Flutter 2.2.0 • channel beta • https://github.com/flutter/flutter.git
Framework • revision b22742018b (10 days ago) • 2021-05-14 19:12:57 -0700
Engine • revision a9d88a4d18
Tools • Dart 2.13.0

As of 1c7fe7196dd7a542f7f91cd6ea2ac81e1a13146c, the null safety migration tool has been removed from active development and retired. No further work on the tool is planned.
If you still need help, or you believe this issue has been closed in error, please feel free to reopen.


Print icon in mobile view

Describe the bug

The print icon is not in place at 360px wide screens.

@RiyaGupta89 there is no such issue.


ESSIFI-167: substituted not escaped path with escaped path

Escaping @-related properties with correct pre and post-fixes.
related to this issue:
https://github.com/decentralized-identity/presentation-exchange/issues/278

Codecov Report

Merging #84 (e5c73c0) into develop (f9c2094) will increase coverage by 0.07%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##           develop      #84      +/-   ##
===========================================
+ Coverage    96.21%   96.29%   +0.07%
===========================================
  Files           60       60
  Lines         2037     2080      +43
  Branches       378      383       +5
===========================================
+ Hits          1960     2003      +43
  Misses          76       76
  Partials         1        1

Flag
Coverage Δ

unittest
96.29% <100.00%> (+0.07%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

lib/types/SSITypesBuilder.ts
98.46% <100.00%> (+0.02%)
:arrow_up:

lib/utils/jsonPathUtils.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

This is not conforming to the ticket, which mentioned it should match on a list of terms like @context. Also this seems to meddle with valid @-usage in JSONPath, which was also mentioned in the ticket.
Please reread the ticket including comments carefully!

Okay it looks like the json path uses @ only for the current cursor, which seems to imply it will always be followed by a dot (.) to access fields. If that is the case we could go with this approach as it is generic.


make sure dns name is set correctly for kubernetes services

@alena1108

Is required to fix - https://github.com/rancher/rancher/issues/5236

This PR makes the kubernetes service adhere to the format defined under "network identity" subsection of these docs - http://kubernetes.io/docs/user-guide/petset/


Outdated Links on Ships.csv and Enemy.csv

The last patch had removed the version numbers, but they reintroduced it on this update...

Added them back (those CSV files are generated with GenCSV), though from what I've seen you can use them or not, you will still get the same swf/mp3 file, so I guess it's just for caching.


currency feature can be turned off?

In the README, it implies currency feature could be turned off, but not implemented yet, right?
It seems to be turned on by default, and the config option enable_currency_extension doesn't seem to exist.
We have a large application which has the top level class named Money, and I've realized I can't use this awesome gem without a change.
If the above assumption is correct, can someone tell me if any plan to implement it?
If there is a config option to disable it, can someone clarify it as well?
Thank you!

@torumori what version are you using?

@rposborne I'm currently testing with the latest release version, v2.1.4.

@torumori I am going to cut a new release in the next couple minutes that will include this feature.

I cut 2.2.0 which should include the new enable_currency_extension feature

Thank you very much. I will try 2.2.0.

@rposborne we still use Rails 4.2, and i18n gem is 0.9.5 which prevents bundler from installing countries v2.2.0 which depends on i18n v1.0.1 or higher.
Though we plan to upgrade to Rails 5.x sometime soon, I think I need to backport only the enable_currency_extension portion into v2.1.4 so we can develop a feature meanwhile.
I'm not familiar with how you organize the branches for countries gem, but do you have any branch holding the v2.1.4 release?
Bundler could not find compatible versions for gem "i18n":
  In snapshot (Gemfile.lock):
    i18n (= 0.9.5)

  In Gemfile:
    activeresource (= 4.0.0) was resolved to 4.0.0, which depends on
      activesupport (~> 4.0) was resolved to 4.2.10, which depends on
        i18n (~> 0.7)

    countries (= 2.2.0) was resolved to 2.2.0, which depends on
      i18n (> 1.0.1)

@torumori It may be possible to relax the i18n restriction, I would try that first via a fork and see if that solves your issues.

@torumori looks like the hard dependency to i18n was accidentally added and is not needed.
https://github.com/hexorx/countries/pull/558

@rposborne Thank you so much!


WIP Microsite

How to test locally:

sbt docs/makeMicrosite
cd docs/target/site; jekyll serve
open http://<IP_ADDRESS>:4000/spire/

See #702

Codecov Report

Merging #753 into master will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #753      +/-   ##
==========================================
- Coverage   52.02%   51.98%   -0.05%
==========================================
  Files         196      196
  Lines       11904    11904
  Branches     1649     1649
==========================================
- Hits         6193     6188       -5
- Misses       5711     5716       +5

Impacted Files
Coverage Δ

...ala/spire/math/poly/BigDecimalRootRefinement.scala
79.47% <0%> (-3.32%)
:arrow_down:

core/src/main/scala/spire/math/Algebraic.scala
65.24% <0%> (-2.85%)
:arrow_down:

extras/src/main/scala/spire/math/FixedPoint.scala
34.97% <0%> (-0.55%)
:arrow_down:

core/src/main/scala/spire/math/SafeLong.scala
97.29% <0%> (-0.34%)
:arrow_down:

core/src/main/scala/spire/math/Natural.scala
65.75% <0%> (ø)
:arrow_up:

core/src/main/scala/spire/math/Rational.scala
95.29% <0%> (ø)
:arrow_up:

core/src/main/scala/spire/math/Interval.scala
70.17% <0%> (+1.79%)
:arrow_up:

...ore/src/main/scala/spire/math/interval/Bound.scala
53.54% <0%> (+7.08%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks @larsrh ! Refreshing this right now.

@larsrh I reintegrated the unidoc keys, so the commented out code is running again.
As I'm not @non, a copy of the website can be consulted here:
http://denisrosset.github.io/spire/index.html
Remains to split the readme/guide into subpages, as in the cats documentation, but this is a good start already.

@denisrosset Thanks for this! I'm happy for you to merge, but please squash-merge to avoid extra merge commits.

Closing as it is superceded.


ZD2: icons for G1/B1/A1 models

Has anyone figured out the location of the single-width icons (assuming these are encoded in the ZD2 file)? This is the icon that appears on the G1/B1/A1 FOUR screens.
Just to make it clear, the BM-section (@0x88) is not the icon that is being shown on-the-device, at least in the case of G1/B1/A1 models.
For example, for MATCH30 (MACH301U.ZD2) the on-device icon has wording MTCH30 and some accent details, while the BM-section shows an icon (302 bytes) with MATCH30 wording, and it's wider.
The on-device icon (about 23x30px):

NOT (the BM-section icon: 47x30px):

For ZD2 effects the Icon is contained within the effect file, and can be extracted with the decode_effect.py script.
https://github.com/mungewell/zoom-zt2/blob/master/decode_effect.py#L30
Are you saying that the unit display a different icon, maybe the one in the ICON section is just got GuitarLab. You can also extract the CODE section which is an ELF binary.... you could check that for the "narrow" bitmap.

Also double check that you are looking at the right file, seems that there are several with similar naming...
zoom_fx_AllZDL7$ find . -name 'MACH301U.ZD2' -exec md5sum {} \;
1557365fe45e0153cdf59e4144474bdc  ./G1X FOUR/unzipped/MACH301U.ZD2
1557365fe45e0153cdf59e4144474bdc  ./G1 FOUR/unzipped/MACH301U.ZD2
1557365fe45e0153cdf59e4144474bdc  ./R20/unzipped/MACH301U.ZD2
1557365fe45e0153cdf59e4144474bdc  ./H8/unzipped/MACH301U.ZD2

zoom_fx_AllZDL7$ grep "MATCH" master.txt
0x040000a0 : MATCH30 (v1.10, 34.86%), 0x4e53b71acf5e94bfa85c648dd285e5a5
0x040000a1 : MATCH30 (v1.00, 34.86%), 0x1557365fe45e0153cdf59e4144474bdc
0x040000a2 : MATCH30 (v1.00, 31.92%), 0xd01bd654453b2648839acac29255f104

Well, if you look in my message above, the icon in the ZD2 header (BM-section) is different, from the one on the device (the blue-shaded).

Yes, I did read you post, and suggest a place to look (in the CODE section of the ZD2). Anyhow, now I am home I was able to confirm your observation. The 'on device' icon does NOT match the ICON for MATCH30 on my G1X Four.
The CODE section can be extracted with, and the processed with arm-linux-gnueabi-objdump.
zoom_fx_AllZDL7$ python3 ../decode_effect.py -c test.code ./G1\ FOUR/unzipped/MACH301U.ZD2

It may be that the bitmap is just a 'raw' section of data. That was the case for the pedal name/icon/boot screen. See:
https://github.com/mungewell/zoom-zt2/issues/18#issuecomment-748546089
For reference the other ZD2's I mentioned are used on the following devices.
zoom_fx_AllZDL7$ find . -name 'list_sorted.txt' -exec grep 0x4e53b71acf5e94bfa85c648dd285e5a5 {} \;
0x040000a0 : MATCH30 (v1.10, 34.86%), 0x4e53b71acf5e94bfa85c648dd285e5a5, ./G3n/unzipped/MATCH_30.ZD2
0x040000a0 : MATCH30 (v1.10, 34.86%), 0x4e53b71acf5e94bfa85c648dd285e5a5, ./G5n/unzipped/MATCH_30.ZD2
0x040000a0 : MATCH30 (v1.10, 34.86%), 0x4e53b71acf5e94bfa85c648dd285e5a5, ./G3Xn/unzipped/MATCH_30.ZD2

zoom_fx_AllZDL7$ find . -name 'list_sorted.txt' -exec grep 0x1557365fe45e0153cdf59e4144474bdc {} \;
0x040000a1 : MATCH30 (v1.00, 34.86%), 0x1557365fe45e0153cdf59e4144474bdc, ./G1X FOUR/unzipped/MACH301U.ZD2
0x040000a1 : MATCH30 (v1.00, 34.86%), 0x1557365fe45e0153cdf59e4144474bdc, ./G1 FOUR/unzipped/MACH301U.ZD2
0x040000a1 : MATCH30 (v1.00, 34.86%), 0x1557365fe45e0153cdf59e4144474bdc, ./R20/unzipped/MACH301U.ZD2
0x040000a1 : MATCH30 (v1.00, 34.86%), 0x1557365fe45e0153cdf59e4144474bdc, ./H8/unzipped/MACH301U.ZD2

zoom_fx_AllZDL7$ find . -name 'list_sorted.txt' -exec grep 0xd01bd654453b2648839acac29255f104 {} \;
0x040000a2 : MATCH30 (v1.00, 31.92%), 0xd01bd654453b2648839acac29255f104, ./G11/unzipped/MACH30AU.ZD2
0x040000a2 : MATCH30 (v1.00, 31.92%), 0xd01bd654453b2648839acac29255f104, ./G6/unzipped/MACH30AU.ZD2

There are a few ZD2 effects which have updated revisions, perhaps these would be a good way to compare the CODE sections... assuming that the bitmap is unchanged. You might be able to hunt down a section which is not changed between the two files.
I have previously found this util to be quiet helpful...
https://github.com/Sepero/SearchBin

The icon is in the CODE section, although I have not tracked down exactly where... using objcopy to extract the .const section and then converting that as a 8x3200 monochrome image.
$ arm-linux-gnueabi-objcopy -j .const -S -w -K effectTypeImageInfo* -I elf32-little test.code -O elf32-little test_mod.code
$ arm-linux-gnueabi-objcopy -I elf32-little test_mod.code -O binary test.bin
$ convert -monochrome -size 8x3200 -depth 1 MONO:test.bin test.png

and you get:

Couldn't figure out how to extract just one symbol, so have to do some tricks with dd.
$ arm-linux-gnueabi-objcopy -j .const -S -w -K picTotalDisplay_* -I elf32-little test.code -O elf32-little test_mod.code
$ arm-linux-gnueabi-objcopy -I elf32-little test_mod.code -O binary test.bin
$ arm-linux-gnueabi-objdump -t test_mod.code

test_mod.code:     file format elf32-little

SYMBOL TABLE:
80000000 l    d  .const 00000000 .const
800006b0 g     O .const 0000005c .hidden picTotalDisplay_MATCH_30

$ dd if=test.bin of=test2.bin bs=1 skip=1712 count=108
$ convert -monochrome -size 8x108 -depth 1 MONO:test2.bin -transpose -crop 23x8+0+0 stripe1.png
$ convert -monochrome -size 8x108 -depth 1 MONO:test2.bin -transpose -crop 23x8+23+0 stripe2.png
$ convert -monochrome -size 8x108 -depth 1 MONO:test2.bin -transpose -crop 23x8+46+0 stripe3.png
$ convert -monochrome -size 8x108 -depth 1 MONO:test2.bin -transpose -crop 23x8+69+0 stripe4.png
$ convert stripe1.png stripe2.png stripe3.png stripe4.png -append icon.png
$ display icon.png

What a find!!
I too realized that the icon must be encoded in the ELF somewhere but short of knowing the format it's was next to impossible to spot it in hex. I almost suspected that these could be literally drawn on-device using some primitives.... luckily it was not the case (would be quite wasteful too).
I'm impressed!! (and quite a bit relieved, knowing that indeed the icon data is there). Trying to make sense out of your commands.

Just to give you some context of my inquiry. The MACH301U.ZD2 icon that you extracted is a 1U (single-unit width) icon, for a wide (aka two-slot, 8-param) module -- MATCH_30.ZD2 and which, I guess, contains the "wide" 2U version of the icon.  The 1U-variants also restructure the parameter sets to accommodate the paging (by inserting Dummy params). As such 1U icons fit properly on G1/G1X type of displays which allow only 5 icons, all 1U sized.
So, I can't prove that the MATCH_30.ZD2 contains a wide on-device icon, just a guess. You may readily extract the icon to see if this is the case indeed.
Meanwhile, another 1U module variant EGFLTR1U.ZD2 (it's targeted for G6, the G5n version is EGFILTER.ZD2), appears to be a hybrid -- it has 1U set of parameters, yet it displays a wide two-slot on-device icon, which kinda messes up the look on G1/G1X-sized display.
So, just an idea, I was wondering if it would make any sense to try to locate and replace the on-device icon, thus fully adapting the EGFLTR1U.ZD2 for G1/G1X use. Nothing special about it, just  a curious module meant to operate in STOMP mode, and selectively engages HFP/LFP filters.

Ok, now this all looks familiar. The bytes corresponding to the on-device icon seem to begin with fe 0.... I did see them before, but the bit-order did not look anything resembling the expected pixels... No wonder, as the bitmap is sliced by byte-wide fragments  and flipped, not sure why. There must be some transformation to apply, so that it could be stitched together.
From your steps I gather that the data is in the .const section of the .ELF module and is referenced to picTotalDisplay_${module-name}. So the section could then be extracted, and the icon-bytes will be at their offset in the section. Convert (ImageMagick) then is used to normalize the image.
I kind of rehashed the steps using more familiar to me tools and applied it to the G5n MATCH_30.ZD2 variant (wide). It all comes down to combining the referenced offsets (ZD2[ELF]:0x240, ELF[.const]:0x49a0, .const[picTotalDisplay_]:0x6b0)  and the object size:188)
$ hd MATCH_30.ZD2 | grep "ELF"
00000240  7f 45 4c 46 01 01 01 40  00 00 00 00 00 00 00 00<EMAIL_ADDRESS>
$ tail -c +$((16#240+1)) MATCH_30.ZD2 >tmp.elf ; readelf -a tmp.elf | grep -e "\] .const" -e "GLOBAL.* picTotalDisplay_" ; rm tmp.elf
  [13] .const            PROGBITS        80000000 0049a0 000d0d 00   A  0   0  8
   275: 800006b0   188 OBJECT  GLOBAL HIDDEN    13 picTotalDisplay_MATCH_30

$ xxd -p -s $((16#240+16#049a0+16#06b0)) -l 188 MATCH_30.ZD2 | xxd -r -ps > icon.bin

$ convert -monochrome -size 8x188 -depth 1 MONO:icon.bin icon.png

The G5n icon is wider (188 bytes vs 92 for 1U-size), it's split into 4 vertical slices, so the stitched width is 188/4=47px, and height 8*4=32px, thus 47x32px. The 1U icon is 23x32px.
Below are the extracted slices (convert can normalize it too, perhaps even in one shot, but it's too much to RTFM for now). As could be noticed, this icon looks just like the one from the ZD2 BM-section, except for the 2px whitespace crop at the bottom to make it 47x30px.

Applying the same steps to the mentioned EGFLTR1U.ZD2 (G6 targeted), yields an even wider icon 50x32px, it's more than twice wider than 1U. By the way, in this case the .const object name is with a leading underscore _picTotalDisplay.
.
Not sure if it's possible at all to stuff a smaller 1U icon into the ELF and then recraft the ZD2 module, so that it would be fully compatible with G1/B1/A1 FOUR models?

picTotalDisplay is a 'private' reference to the location of a blob of raw pixel data. There is likely a 'public' function that makes this available to host OS, or performs the writing to the LCD.
I don't think that the effort is worth it, but you could look further into the ELF to try to find it.
On the arrangement (slicing) of the pixels, this is probably just how the LCD screen is memory mapped. So code just has to copy chunks of memory around.

cleaned up the process with a little automation....
icon_it.sh.txt
$ bash icon_it.sh ./G1\ FOUR/unzipped/BLACKOPT.ZD2

Another interesting observation. The first byte of the effectTypeImageInfo block appears to be the width of the 'on-device' icon.
./G6/unzipped/EGFLTR1U.ZD2
80000268 l     O .const	00000130 .hidden effectTypeImageInfo
00000260  00 00 00 00 00 00 00 00  32 00 00 00 1e 00 00 00  |........2.......|

0x32 = 50

Icon is 50 pixels wide.

... looks like, it's the first 4-byte int for width ([17]=23, [2f]=47, [32]=50), the second 4-byte int for height: [1e]=30, even though the  encoded image (in 4 slices) adds up to height 32pixels, apparently it's sized to 30, just as the icon in the BM-section of the ZD2.
Also, if you examine the actual bytes following the on-device icon, it looks like there's another chunk(s) of graphical data encoded there, my guess it may be the "selected effect" icon, that one which is shaded when pressing the left-pedal foot-switch, just a guess, but it does not anything recognizable.

I wonder, if indeed, the  picTotalDisplay/effectTypeImageInfo  logic does rely on the stated ints for sizing the icon data, then supplanting it for narrower icon may be rather simple by fixing the width value and overwriting the icon's bytes, padding the rest with [FF] for white color. I guess a test may be just fixing the width to see if the wide icon shows up only to the set size.

Here it is. Patched the 1U icon from RNDMFLTR.ZD2 (22x32px, 88bytes) over the existing icon bytes in EGFLTR1U.ZD2, the remaining bytes or the old icon just as they were,  and also patched the sizing info bytes (width:[16], height:[20]).
Next, will try my hand at pixel-art to etch EG legibly instead of RNDM :)  Not sure if there's any image format that's easy to transpose into the raw bytes.

Cool that it worked OK. I assume you hand patch the bytes, rather than using a tool to re-write the ELF file?
It should be fairly easy to use convert to go from PNG to RAW bits (with the striping/rotation).
Realized that the 'extract' script didn't need a special ARM objdump/objcopy, so I checked it in here:
https://github.com/mungewell/zoom-zt2/blob/master/extract_device_icon.sh

... I assume you hand patch the bytes, rather than using a tool to re-write the ELF file?

How would you go about rewriting the ELF to pack in only the part we figured out, objcopy? Or you meant repacking the patched ELF part into ZD2? I just patched the ZD2 directly skipping the intermediary step, loosely scripted.
I guess, this could be fully scripted to copy an icon from a given input ZD2 into a compatible output ZD2, well, maybe it would be the next step, though not sure how many 1U ZD2 need such adaptation. My next step will be etching that "EG" nicely... by hand, though I'm looking if the byte-sequence for letters E and G could be lifted from another icon.

Got the E and G (my guess, it stands for Envelope Generator). Edited the sliced PNG in graphics editor, then converted back into monochrome bytes (sliced and transposed as original):
convert icon.png -depth 1 MONO:icon.bin
Here's the stitched together 22x32px PNG:

Yes, it has been fun. Although this specific application is perhaps not so useful to me, I think that the effectTypeImageInfo block may contain whether the effect is mono or stereo input/output... something that I have been looking for .
Just for more 'fun' I checked in a little tool to convert PNG to raw striped bytes,
$ bash extract_device_icon.sh zoom_fx_AllZDL7/R20/unzipped/EQ_AVN.ZD2
objcopy: test.code: warning: Empty loadable segment detected at vaddr=0, is this intentional?

test_mod.code:     file format elf32-little

SYMBOL TABLE:
80000398 l     O .const	0000005c .hidden picTotalDisplay_GraphicEQ
80000398 l    d  .const	00000000 .hidden .const
80000000 l    d  .const	00000000 .const

92+0 records in
92+0 records out
92 bytes copied, 0.000277523 s, 332 kB/s
icon width is 23

$ bash restripe_device_icon.sh icon.png
Files icon.raw and icon2.raw are identical

Do we think that this bug is now closed?

Great work! Thanks.

Added the -E flag to help pushing modified ELF code directly into the ZD2 file....
$ python3 decode_effect.py --help
usage: decode_effect [-h] [-d] [-s] [-m] [-b BITMAP] [-i INFO] [-c CODE] [-j]
                     [-x XML] [-t TEXT] [-D DONOR] [-B] [-T] [-I] [-C] [-X]
                     [-F] [-E] [-V] [-o OUTPUT]
                     FILE

positional arguments:
  FILE                  File to process

optional arguments:
  -h, --help            show this help message and exit
  -d, --dump            dump configuration to text
  -s, --summary         summarized configuration in human readable form
  -m, --md5sum          include md5sum of file in summary report
  -b BITMAP, --bitmap BITMAP
                        extract Icon/Bitmap to FILE
  -i INFO, --info INFO  extract Info to FILE
  -c CODE, --code CODE  extract Code to FILE

Language:
  Extract either English or Japanese segments

  -j, --japan           select Japanese version for export
  -x XML, --xml XML     extract XML to FILE
  -t TEXT, --text TEXT  extract Text to FILE

Donor:
  Take replacement sections from a donor ZD2

  -D DONOR, --donor DONOR
                        specify donor ZD2 FILE
  -B, --donor-bitmap    extract Icon/Bitmap from donor
  -T, --donor-text      extract Text from donor
  -I, --donor-info      extract Info from donor
  -C, --donor-code      extract Code from donor
  -X, --donor-xml       extract XML from donor
  -F, --donor-final     extract FinalBytes from donor
  -E, --donor-elf       replace Code with ELF file (ie whole file)
  -V, --crc             validate CRC32 checksum
  -o OUTPUT, --output OUTPUT
                        output combined result to FILE

$ python3 decode_effect.py -D MODIFED.code -E -o ZNR_MOD.ZD2 ZNR.ZD2
Checksum Recalculated: 0xca8343be

Looks like there a Python project which has tools for directly (binary) editing ELF files.
https://github.com/Gallopsled/pwntools
https://pwntoolsdocinzh-cn.readthedocs.io/en/master/elf.html

Well that turned out well.....
$ python3 decode_effect.py -c ZNR.ZD2.code ZNR.ZD2

$ python3
Python 3.6.9 (default, Nov 25 2022, 14:10:45)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pwn import *
>>> from hexdump import *
>>> code = ELF("ZNR.ZD2.code")
[!] Could not populate PLT: 'int' object has no attribute 'lower'
[*] 'ZNR.ZD2.code'
    Arch:     140-32-little
    RELRO:    No RELRO
    Stack:    No canary found
    NX:       NX enabled
    PIE:      PIE enabled
>>> hexdump(code.read(code.symbols["effectTypeImageInfo"], 16))
00000000: 17 00 00 00 1E 00 00 00  80 02 00 80 14 00 00 00  ................
>>> code.write(code.symbols["effectTypeImageInfo"], bytes([0x16, 0x00, 0x00, 0x00, 0x1D, 0x00, 0x00, 0x00]))
>>> code.save()
>>> quit()

$ python3
Python 3.6.9 (default, Nov 25 2022, 14:10:45)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pwn import *
>>> from hexdump import *
>>> code = ELF("ZNR.ZD2.code")
[!] Could not populate PLT: 'int' object has no attribute 'lower'
[*] '/home/simon/zoom-zt2-sdw-github/ZNR.ZD2.code'
    Arch:     140-32-little
    RELRO:    No RELRO
    Stack:    No canary found
    NX:       NX enabled
    PIE:      PIE enabled
>>> hexdump(code.read(code.symbols["effectTypeImageInfo"], 16))
00000000: 16 00 00 00 1D 00 00 00  80 02 00 80 14 00 00 00  ................
>>> quit()

Seems our Russian friend has a break-down/explanation of the "effect type info" used in ZDL effects. May give us some hints.
https://github.com/ELynx/zoom-fx-modding/blob/main/library/CH_1.md#optional-knob-positions


ci(test): Speed up tests on CI via parallelism

Related https://github.com/artsy/force/pull/10668
The type of this PR is: CI
Description
Jest
Jest 28 comes with a new --shard argument which allows one to split the tests across processes all run in parallel.
Test speeds went from 6+ minutes per run down to ~2m, so a 2/3rds reduction in time. If we wanted to decrease it further we could increase the parallelism value in our circle config.
The only question here is: Will this in any way constrain other jobs being executed on CircleCI outside of Force?

Are developers using Circle for this kind of test feedback still

All the time! I know myself and numerous other devs who only rely on CI and never ever run things locally, unless it's a single focused test. It's common.


Restaurant card: add cuisine

If no one else has already grabbed this. I'm going to try and tackle it.

@boazsender - I was added to the airtable team, but it seems like I still don't have enough power to close issues, assign issues, or merge PRs in this repo. This issue should probably be closed now that @jugglinmike merged my PR.


Error raised for create_openmm_system() (AM1-BCC charges) from molecules with net charge != 0

Describe the bug
I have adapted the "1_cyclohexane_1_ethanol" start-up python code and use it on other molecules.
One molecule is rosiglitazone (drug-like), whose net charge = 0, and the adapted script worked. Then, I tried other molecules, and some failed. A simple example is 'CCCCCCCCC(=O)[O-]' (or simpler ones).
To Reproduce
The adapted code is:
from simtk.openmm.app import PDBFile
from openforcefield.topology import Molecule
from openforcefield.topology import Topology
from openforcefield.typing.engines.smirnoff import ForceField
from simtk.openmm import XmlSerializer
from glob import glob
import time
from simtk import openmm, unit

sdfs = glob("m*.sdf")
for sdf in sdfs:
	nym = sdf[:-4]
	print(nym)
	# PDBFile provide omm topoplogy and initial positions
	# [kael: do we really need a pdb here?]
	pdbfile = PDBFile('j'+nym+'.pdb')
	# here we read a sdf for the correct top and aromaticity
	xBinder = Molecule.from_file(sdf)
	# Create the Open Force Field Topology from an OpenMM Topology object.
	# [kael: is this the most magic step? No! But, still magic]
	omm_topology = pdbfile.topology
	off_topology = Topology.from_openmm(omm_topology, unique_molecules=[xBinder])
	# Load the OpenFF "Parsley" force field.
	forcefield = ForceField('openff-1.0.0.offxml')
	# SMIRKS matching
	if True:
		with open('inspect_'+nym+'.txt','w',encoding='utf-8') as g:
			molecule_force_list = forcefield.label_molecules(off_topology)
			# Print out a formatted description of the parameters applied to this molecule
			for mol_idx, mol_forces in enumerate(molecule_force_list):
				print(f'Forces for molecule {mol_idx}', file=g)
				for force_tag, force_dict in mol_forces.items():
					print(f"\n{force_tag}:", file=g)
					for (atom_indices, parameter) in force_dict.items():
						atomstr=''
						for idx in atom_indices:
							atomstr += '%3s' % idx
						print("atoms: %s  parameter_id: %s  smirks %s" % (atomstr, parameter.id, parameter.smirks) , file=g)
	#
	# Parametrize the topology and create an OpenMM System.
	system = forcefield.create_openmm_system(off_topology, charge_from_molecules) # on this step the amber ACC is triggered
	with open('system_'+nym+'.xml', 'w') as f:
		f.write(XmlSerializer.serialize(system))
	#
	"""
	with open('system_BRL.xml', 'r') as f:
		system2 = XmlSerializer.deserialize(f.read())
	"""
	#Run a simulation#
	#We can now use the System object to run molecular dynamics trajectories with OpenMM.
	# Propagate the System with Langevin dynamics.
	time_step = 2*unit.femtoseconds  # simulation timestep
	temperature = 300*unit.kelvin  # simulation temperature
	friction = 1/unit.picosecond  # collision rate
	integrator = openmm.LangevinIntegrator(temperature, friction, time_step)
	# Length of the simulation.
	num_steps = 10000  # number of integration steps to run
	# Logging options.
	trj_freq = 100  # number of steps per written trajectory frame
	data_freq = 100  # number of steps per written simulation statistics
	# Set up an OpenMM simulation.
	simulation = openmm.app.Simulation(omm_topology, system, integrator)
	# Set the initial positions.
	positions = pdbfile.getPositions()
	simulation.context.setPositions(positions)
	# Randomize the velocities from a Boltzmann distribution at a given temperature.
	simulation.context.setVelocitiesToTemperature(temperature)
	# Configure the information in the output files.
	pdb_reporter = openmm.app.PDBReporter('traj_'+nym+'.pdb', trj_freq)
	state_data_reporter = openmm.app.StateDataReporter('data_'+nym+'.csv', data_freq, step=True,
													potentialEnergy=True, temperature=True,
													density=True)
	simulation.reporters.append(pdb_reporter)
	simulation.reporters.append(state_data_reporter)
	print("Starting simulation")
	start = time.process_time()
	# Run the simulation
	simulation.step(num_steps)
	end = time.process_time()
	print("Elapsed time %.2f seconds" % (end-start))
	print("Done!")

#

If the problem involves a specific molecule or file, please upload that as well.
Required files to reproduce the error include:

<EMAIL_ADDRESS>whose content is

ATOM      1  C1  UNL    1      15.965 -26.039   8.086  1.00  0.00           C
ATOM      2  O1  UNL    1      16.193 -25.641   6.946  1.00  0.00           O
ATOM      3  C2  UNL    1      15.510 -25.062   9.165  1.00  0.00           C
ATOM      4  O2  UNL    1      16.116 -27.367   8.369  1.00  0.00           O
ATOM      5  C3  UNL    1      15.468 -25.726  10.556  1.00  0.00           C
ATOM      6  C4  UNL    1      14.217 -25.299  11.315  1.00  0.00           C
ATOM      7  C5  UNL    1      14.187 -25.946  12.704  1.00  0.00           C
ATOM      8  C6  UNL    1      14.095 -27.489  12.689  1.00  0.00           C
ATOM      9  C7  UNL    1      13.997 -28.037  14.145  1.00  0.00           C
ATOM     10  C8  UNL    1      15.117 -29.064  14.401  1.00  0.00           C
ATOM     11  C9  UNL    1      14.855 -29.910  15.667  1.00  0.00           C
ATOM     12  H1  UNL    1      14.531 -24.707   8.921  1.00  0.00           H
ATOM     13  H2  UNL    1      16.212 -24.256   9.202  1.00  0.00           H
ATOM     14  H3  UNL    1      16.334 -25.433  11.112  1.00  0.00           H
ATOM     15  H4  UNL    1      15.451 -26.789  10.431  1.00  0.00           H
ATOM     16  H5  UNL    1      13.351 -25.603  10.766  1.00  0.00           H
ATOM     17  H6  UNL    1      14.226 -24.235  11.428  1.00  0.00           H
ATOM     18  H7  UNL    1      13.338 -25.565  13.232  1.00  0.00           H
ATOM     19  H8  UNL    1      15.116 -25.701  13.175  1.00  0.00           H
ATOM     20  H9  UNL    1      14.968 -27.890  12.218  1.00  0.00           H
ATOM     21  H10 UNL    1      13.220 -27.781  12.146  1.00  0.00           H
ATOM     22  H11 UNL    1      13.046 -28.509  14.282  1.00  0.00           H
ATOM     23  H12 UNL    1      14.103 -27.224  14.833  1.00  0.00           H
ATOM     24  H13 UNL    1      16.043 -28.541  14.521  1.00  0.00           H
ATOM     25  H14 UNL    1      15.151 -29.729  13.563  1.00  0.00           H
ATOM     26  H15 UNL    1      14.816 -29.269  16.523  1.00  0.00           H
ATOM     27  H16 UNL    1      15.645 -30.622  15.790  1.00  0.00           H
ATOM     28  H17 UNL    1      13.923 -30.426  15.565  1.00  0.00           H
CONECT    1    4    3    2    2
CONECT    2    1    1
CONECT    3    1    5   12   13
CONECT    4    1
CONECT    5    3    6   14   15
CONECT    6    5    7   16   17
CONECT    7    6   18   19    8
CONECT    8    7    9   20   21
CONECT    9    8   10   22   23
CONECT   10    9   11   24   25
CONECT   11   10   26   27   28
CONECT   12    3
CONECT   13    3
CONECT   14    5
CONECT   15    5
CONECT   16    6
CONECT   17    6
CONECT   18    7
CONECT   19    7
CONECT   20    8
CONECT   21    8
CONECT   22    9
CONECT   23    9
CONECT   24   10
CONECT   25   10
CONECT   26   11
CONECT   27   11
CONECT   28   11

<EMAIL_ADDRESS>
<EMAIL_ADDRESS>     RDKit          3D

 28 27  0  0  0  0  0  0  0  0999 V2000
   15.9650  -26.0390    8.0860 C   0  0  0  0  0  0  0  0  0  0  0  0
   16.1930  -25.6410    6.9460 O   0  0  0  0  0  0  0  0  0  0  0  0
   15.5100  -25.0620    9.1650 C   0  0  0  0  0  0  0  0  0  0  0  0
   16.1160  -27.3670    8.3690 O   0  0  0  0  0  0  0  0  0  0  0  0
   15.4680  -25.7260   10.5560 C   0  0  0  0  0  0  0  0  0  0  0  0
   14.2170  -25.2990   11.3150 C   0  0  0  0  0  0  0  0  0  0  0  0
   14.1870  -25.9460   12.7040 C   0  0  0  0  0  0  0  0  0  0  0  0
   14.0950  -27.4890   12.6890 C   0  0  0  0  0  0  0  0  0  0  0  0
   13.9970  -28.0370   14.1450 C   0  0  0  0  0  0  0  0  0  0  0  0
   15.1170  -29.0640   14.4010 C   0  0  0  0  0  0  0  0  0  0  0  0
   14.8550  -29.9100   15.6670 C   0  0  0  0  0  0  0  0  0  0  0  0
   14.5306  -24.7072    8.9206 H   0  0  0  0  0  0  0  0  0  0  0  0
   16.2123  -24.2556    9.2019 H   0  0  0  0  0  0  0  0  0  0  0  0
   16.3341  -25.4333   11.1120 H   0  0  0  0  0  0  0  0  0  0  0  0
   15.4508  -26.7886   10.4314 H   0  0  0  0  0  0  0  0  0  0  0  0
   13.3505  -25.6031   10.7658 H   0  0  0  0  0  0  0  0  0  0  0  0
   14.2263  -24.2350   11.4282 H   0  0  0  0  0  0  0  0  0  0  0  0
   13.3377  -25.5654   13.2320 H   0  0  0  0  0  0  0  0  0  0  0  0
   15.1159  -25.7005   13.1749 H   0  0  0  0  0  0  0  0  0  0  0  0
   14.9680  -27.8905   12.2183 H   0  0  0  0  0  0  0  0  0  0  0  0
   13.2202  -27.7812   12.1465 H   0  0  0  0  0  0  0  0  0  0  0  0
   13.0464  -28.5085   14.2824 H   0  0  0  0  0  0  0  0  0  0  0  0
   14.1032  -27.2243   14.8329 H   0  0  0  0  0  0  0  0  0  0  0  0
   16.0429  -28.5413   14.5214 H   0  0  0  0  0  0  0  0  0  0  0  0
   15.1510  -29.7286   13.5631 H   0  0  0  0  0  0  0  0  0  0  0  0
   14.8160  -29.2688   16.5227 H   0  0  0  0  0  0  0  0  0  0  0  0
   15.6446  -30.6215   15.7902 H   0  0  0  0  0  0  0  0  0  0  0  0
   13.9230  -30.4256   15.5649 H   0  0  0  0  0  0  0  0  0  0  0  0
  1  4  1  0
  1  3  1  0
  2  1  2  0
  3  5  1  0
  3 12  1  0
  3 13  1  0
  5  6  1  0
  5 14  1  0
  5 15  1  0
  6  7  1  0
  6 16  1  0
  6 17  1  0
  7 18  1  0
  7 19  1  0
  8  7  1  0
  8  9  1  0
  8 20  1  0
  8 21  1  0
  9 10  1  0
  9 22  1  0
  9 23  1  0
 10 11  1  0
 10 24  1  0
 10 25  1  0
 11 26  1  0
 11 27  1  0
 11 28  1  0
M  CHG  1   4  -1
M  END

KNA_pdb_sdf.zip
Output
Warning: Unable to load toolkit 'OpenEye Toolkit'. The Open Force Field Toolkit does not require the OpenEye Toolkits, and can use RDKit/AmberTools instead. However, if you have a valid license for the OpenEye Toolkits, consider installing them for faster performance and additional file format support: https://docs.eyesopen.com/toolkits/python/quickstart-python/linuxosx.html OpenEye offers free Toolkit licenses for academics: https://www.eyesopen.com/academic-licensing
Warning: In AmberToolsToolkitwrapper.compute_partial_charges_am1bcc: Molecule<EMAIL_ADDRESS>has more than one conformer, but this function will only generate charges for the first one.

Welcome to antechamber 19.0: molecular input file processor.

acdoctor mode is on: check and diagnose problems in the input file.
-- Check Format for sdf File --
   Status: pass
-- Check Unusual Elements --
   Status: pass
-- Check Open Valences --
   Status: pass
-- Check Geometry --
      for those bonded
      for those not bonded
   Status: pass
-- Check Weird Bonds --
   Status: pass
-- Check Number of Units --
   Status: pass
acdoctor mode has completed checking the input file.

Info: Total number of electrons: 88; net charge: -1

Running: /home/kael/openforcefield/bin/sqm -O -i sqm.in -o sqm.out

Welcome to antechamber 19.0: molecular input file processor.

acdoctor mode is on: check and diagnose problems in the input file.
-- Check Format for mol2 File --
   Status: pass
-- Check Unusual Elements --
   Status: pass
-- Check Open Valences --
   Status: pass
-- Check Geometry --
      for those bonded
      for those not bonded
   Status: pass
-- Check Weird Bonds --
antechamber: Fatal Error!
Weird atomic valence (3) for atom (ID: 1, Name: C1).

If you look at the above error raised, it can be understood that the "sanity-recheck" on the yielded "charged.mol2" file, is not passed. I believe that the error can be attributed to that the yielded mol2 file does not contain the net charge info.
In fact, when I add the option "-dr no", which disables the acdoctor mode, during the writing-out of the calculated charges, no errors will be raised.
So, here comes another issue: Now I have the AM1-BCC charges, how do I use them?
I have noticed that there is an option "charge_from_molecule" in the forcefield.create_openmm_system().
However, it is noted that, here, RDKit is only considered, therefore support for "mol2" is not enabled/recommended.
How do I put the calculated charges into the "sdf" files, and let the Molecule.from_file() automatically recognize the partial charges?
Or, should I manually modify the molecule.partial_charges attribute? If so, how to do it and is it reliable (or error-prone)?
Thanks!

Hi @Kael-the-Mad,
Thanks for the extensive write up. I have good news for you -- The OpenFF Toolkit 0.7.0 release (which came out 40 hours ago) should fix this issue (at least it makes your code run on my machine). It looks like you ran into the same issue as #492. Please let me know if upgrading to the newest toolkit version makes it work for you.
You can install it using:
conda create -n off070 -c conda-forge -c omnia openforcefield
conda activate off070

It's been a long time since our last release and many dependencies (including ambertools) have had major releases. That's why I suggest making a totally new conda environment instead of doing a normal upgrade.

So, here comes another issue: Now I have the AM1-BCC charges, how do I use them?
I have noticed that there is an option "charge_from_molecule" in the forcefield.create_openmm_system().

You would use it like this:
molecule = Molecule.from_file('mymol.sdf')
forcefield = ForceField('openff-1.2.0.offxml')
topology = Topology.from_molecules(molecule)
omm_system = forcefield.create_openmm_system(topology, charge_from_molecules=[molecule])

So, you write something like ff.create_openmm_system(topology, charge_from_molecules=[mol1, mol2]), where you have already set the molecule.partial_charges attribute set on mol1 and mol2. Then, any instances of mol1 or mol2 in the topology will have the charges from those Molecules assigned (skipping AM1-BCC)

However, it is noted that, here, RDKit is only considered, therefore support for "mol2" is not enabled/recommended.
How do I put the calculated charges into the "sdf" files, and let the Molecule.from_file() automatically recognize the partial charges?

The 0.7.0 OpenFF Toolkit also adds support for writing charges to SDF. They're stored in the <atom.drop.PartialCharges> SD data fields. So, now, when you read and write SDF files, the partial charges should stay on your molecules
Please let me know I covered all your questions, and if you can get the new OpenFF Toolkit running on your system :-)

Hi @j-wags ,
Thanks very much for the quick reply!
I am downloading the new released "openforcefield-0.7.0-py37-Linux-x86_64.sh", for installing it offline into my school's server.
The good news from you is really encouraging!
I will firstly study the release notes of 0.7.0 and try it out. As soon as the test is finished, I will report it here.

Hi @j-wags ,
The adapted script can run without errors.
I have curiously checked the new openforcefield/utils/toolkits.py. I think the '"dr" "-n"' option is functioning here.
I have also noticed that there are several new partial charge methods available in the newly released 0.7.0 off.
Given that the sqm can be (extremely) slow on complex molecular structures, these new charge calculation methods may be handy.
However, may I ask that is there a suggested priority or recommended "rank" or advantage over these methods?
That is, whether the AM1-BCC is the best (though slow), and the others (e.g., the fast "gasteiger" and the "chargeIncrementMethod") are somehow not as recommended (given that simulations with existing AMBER/CHARMM-force fields could be the ultimate goal of using the open force field)? Or, where can I cite/read relevant scientific literature to support a certain choice of partial-charge methods?
Thanks!

@Kael-the-Mad -- our force fields are designed to work with AM1-BCC. Support for other methods is to enable spin-off science/side projects, but if you're using one of our force fields we strongly recommend against changing the charge model.
chargeIncrementMethod is to enable us to do future BCC-like re-parameterizations as AM1-BCC is not the end of the story in that regard.
Sorry to be brief/not fully answer your questions, but I have a rather busy day on this. I guess the big picture is -- you'll see a lot of things enabled by our infrastructure that are there to help us (or others) do future science, and thus are not yet the topic of publications and need future research.

@davidlmobley
Thanks very much for answering my question. I will follow your recommendation.
@j-wags
I sort of figure out that, the bottleneck step of the adapted script is the sqm calculation, which can be done separately with only the SDF files.
Thus, I simply used the following snippet (in a try-excerpt way)
xBinder = Molecule.from_file('*.sdf')
xBinder.assign_partial_charges('am1bcc')
xBinder.to_file('q*.sdf', file_format='sdf')

Then, the generated "AM1-BCC"-charged SDF files will be directly used in the subsequent simulations.
I think my questions have been solved.
Thanks again.


CI: pin kubectl version

Temporary fix until we figure out https://github.com/2i2c-org/infrastructure/issues/1271

I don't think it closes #1271, it only mitigates the issue that makes us want to have a policy and procedure to upgrade our k8s clusters to a somewhat modern and cohesive version. I'm thinking for example that perhaps we should ensure all our clusters has version 1.21+ or similar at this point in time when 1.24 is out.

I don't think it closes https://github.com/2i2c-org/infrastructure/issues/1271, it only mitigates the issue that makes us want to have a policy and procedure to upgrade our k8s clusters to a somewhat modern and cohesive version. I'm thinking for example that perhaps we should ensure all our clusters has version 1.21+ or similar at this point in time when 1.24 is out.

Good point @consideRatio! I've updated the top comment so that it won't close the issue