Building Logic to play the game "Tic Tac Toe"

Microbyte Title : Building Logic to play the game "Tic Tac Toe"
Domain:

Android App
Building Logics

What learners actually learn

How to Build Logic for any app
Android Development

Activities for learners

Improve the layout and fix issues like Ids, string values, etc.
Fix Java Code in MainActivity.java
There is already some code written for learner convenience, you need to fix the issues and  add some logic.

There is no need to open/close a PR multiple times. Just keep pushing ur code and the PR will get updated. It is better for u to keep track of changes and also to have efficient workflow

@deepak-prajapatii Kindly follow the CONTRIBUTING.md properly. Check the updated one in the upstream/main branch. We've added templates for issues and PRs.

@Ak-Shaw Can you again check my PR.

Hey @deepak-prajapatii . Nice work. But we can't accept this PR as it is now. Kindly give more documentation in both activities. Try and give as many resource links as you can with proper indication and structure. As of now only an android developer can figure out your PR. There is not much to do. Just increase the documentation so that a new person can follow your microbyte and still be able to do it on his/her own comfortably. Caution: Don't make it like a tutorial, give resource links which learners have to follow and work to understand ur project. Through each steps u can add code snippets(hide some code so that contributors can complete it in the form of an issue) that will give ppl an better experience.
Cheers

Thanks for guiding me. I'll try my best.

Hey @deepak-prajapatii . Nice work. But we can't accept this PR as it is now. Kindly give more documentation in both activities. Try and give as many resource links as you can with proper indication and structure. As of now only an android developer can figure out your PR. There is not much to do. Just increase the documentation so that a new person can follow your microbyte and still be able to do it on his/her own comfortably. Caution: Don't make it like a tutorial, give resource links which learners have to follow and work to understand ur project. Through each steps u can add code snippets(hide some code so that contributors can complete it in the form of an issue) that will give ppl an better experience.
Cheers

Can you litle bit explain me how can I add documentation. Please give me some hints.

Hey @deepak-prajapatii . Nice work. But we can't accept this PR as it is now. Kindly give more documentation in both activities. Try and give as many resource links as you can with proper indication and structure. As of now only an android developer can figure out your PR. There is not much to do. Just increase the documentation so that a new person can follow your microbyte and still be able to do it on his/her own comfortably. Caution: Don't make it like a tutorial, give resource links which learners have to follow and work to understand ur project. Through each steps u can add code snippets(hide some code so that contributors can complete it in the form of an issue) that will give ppl an better experience.
Cheers

Can you litle bit explain me how can I add documentation. Please give me some hints.

Suppose u r a newbie to the microbyte. As you go through the microbyte you will have certain terms,functions,syntax,etc. doubts/thoughts right? Google about it. Public forums like Stackoverflow, github itself,geeksforgeeks,w3sv=chools, even youtube will do. All softwares and tools' official website have documentation, like this or this. Keep searching for references that will make enables all noob to pro to interact and learn from ur microbyte

Hey @deepak-prajapatii . Nice work. But we can't accept this PR as it is now. Kindly give more documentation in both activities. Try and give as many resource links as you can with proper indication and structure. As of now only an android developer can figure out your PR. There is not much to do. Just increase the documentation so that a new person can follow your microbyte and still be able to do it on his/her own comfortably. Caution: Don't make it like a tutorial, give resource links which learners have to follow and work to understand ur project. Through each steps u can add code snippets(hide some code so that contributors can complete it in the form of an issue) that will give ppl an better experience.
Cheers

Can you litle bit explain me how can I add documentation. Please give me some hints.

Suppose u r a newbie to the microbyte. As you go through the microbyte you will have certain terms,functions,syntax,etc. doubts/thoughts right? Google about it. Public forums like Stackoverflow, github itself,geeksforgeeks,w3sv=chools, even youtube will do. All softwares and tools' official website have documentation, like this or this. Keep searching for references that will make enables all noob to pro to interact and learn from ur microbyte

Okay I'll try

Umm.. @deepak-prajapatii , by mistake you've jumbled up between issue and PR.  If you still have queries, feel free to reach out to the maintainers and we'll sort it out for you.


UpdateDetail member: params changed

Which params (if any) have changed since the last update? Could be a useful option.

Done: 10382f3


Why have to set weight?

Hi Gary,
Thank you for sharing your code.
I was wondering at input transform and feature transform, why do we have to set it:
x = Dense(9, weights=[np.zeros([256, 9]), np.array([1, 0, 0, 0, 1, 0, 0, 0, 1]).astype(np.float32)])(x) input_T = Reshape((3, 3))(x)
f = Dense(64 * 64, weights=[np.zeros([256, 64 * 64]), np.eye(64).flatten().astype(np.float32)])(f) feature_T = Reshape((64, 64))(f)
Could you tell me why?
Thank you very much.
Minh

I think It's  because it's mentioned in the paper that you should initialize with the identity matrix


add test exercising SetUserCustomStatusWithUser

This is additional testing to cover https://github.com/nlopes/slack/pull/566

thanks!


Support for the Paddle sandbox environment

Paddle have recently added a sandbox environment for development and testing - https://developer.paddle.com/getting-started/sandbox
The Paddle Client (1.0.0) now supports the sandbox environment (https://github.com/paddle-python/paddle-client/pull/6) and since all of the requests to Paddle use the Paddle Client it's pretty trivial for us to support it here as well.
I have no updated any of the tests etc for now as I believed most of them are mocked anyway.
I also noticed the settings tests didn't actually check the error message that was raised to ensure it's correct so I added checks for that.

@pyepye good work!


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1227 ms

Resolved: Bofrost.at performance has improved in 2192f00 after 6 minutes.


Embedding Horizon server should immediately fail when trying to make the first connection to RethinkDB

At the moment, embedding Horizon server will infinitely try to connect to RethinkDB and log no errors when it is unable to connect nor eventually fail after N reconnect attempts.
We need to add two things:

In the Server class constructor it should immediately throw an error if the first connection attempt fails.
We should log failures to connect.

Thank you to @casche for reporting this. Note: @Tryneus.

thanks 👍 @dalanmiller for helping out!

So, I'm not entirely convinced this is possible or a good idea.  First of all, the Server constructor cannot throw when the first connection attempt fails because that happens asynchronously.  I think the best way to handle this is to get the Promise from server.ready(), and timer-supervise it.  We could make this promise error if there is a connectivity issue on the first attempt (but not a problem with table availability or metadata correctness, I suppose?) if you guys prefer.
The server not logging on failure to connect appears to be a bug (the messages are classified as debug, while they should be error).

I remember changing the logs to debug since they would not stop spamming while they were waiting for tables to be ready. Ideally, a connectivity error and a table-not-ready error should be disambiguated, with the former failing immediately and logging an error, and the latter maybe not logging anything until it times out

How does Horizon behave if the DB connection is ever severed?
I am now using docker-compose to start up my horizon app and RethinkDB.
web:
  build: .
  links:
    - db
  ports:
    - "8080:80"
db:
  image: rethinkdb
  ports:
    - "27015:27015"

Docker compose cannot guarantee the starting order of these services (without a kludge). So far the application starts first and the database second.
Creating beauty_db_1
Creating beauty_web_1
Attaching to beauty_db_1, beauty_web_1
web_1  |
web_1  | ><EMAIL_ADDRESS>prestart /usr/src/app
web_1  | > babel-node tools/startMessage.js
web_1  |
web_1  | Starting app in dev mode...
web_1  |
web_1  | ><EMAIL_ADDRESS>start /usr/src/app
web_1  | > node tools/distServer.js
web_1  |
web_1  | info: Connecting to RethinkDB: localhost:28015
db_1   | Recursively removing directory /data/rethinkdb_data/tmp
db_1   | Initializing directory /data/rethinkdb_data
db_1   | Running rethinkdb 2.3.4~0jessie (GCC 4.9.2)...
db_1   | Running on Linux 4.4.12-boot2docker x86_64
db_1   | Loading data from directory /data/rethinkdb_data
db_1   | warn: Cache size does not leave much memory for server and query overhead (available memory: 650 MB).
db_1   | warn: Cache size is very low and may impact performance.
db_1   | Listening for intracluster connections on port 29015
db_1   | Listening for client driver connections on port 28015
db_1   | Listening for administrative HTTP connections on port 8080
db_1   | Listening on cluster addresses: <IP_ADDRESS>, <IP_ADDRESS>, ::1, fe80::42:acff:fe11:2%10
db_1   | Listening on driver addresses: <IP_ADDRESS>, <IP_ADDRESS>, ::1, fe80::42:acff:fe11:2%10
db_1   | Listening on http addresses: <IP_ADDRESS>, <IP_ADDRESS>, ::1, fe80::42:acff:fe11:2%10
db_1   | Server ready, "2a361cf80bfd_wur" 51785a58-556a-45d4-9277-1b54b430fdc8

The application does not correctly start due to the issue that @dalanmiller described above. Can someone however answer what happens if the service running the DB ever restarts/dies/ etc? Does Horizon reconnect?

@dalanmiller pointed out a couple mistakes with my docker compose. He suggested I switch to the v2 syntax and use "depends_on":
version: "2"
services:
  web:
    build: .
    depends_on:
      - db
    ports:
      - "80:8080"
  db:
    image: rethinkdb
    ports:
      - "28015:28015"

The output in console is similar:
Creating network "beauty_default" with the default driver
Recreating beauty_db_1
Recreating beauty_web_1
Attaching to beauty_db_1, beauty_web_1
web_1  |
web_1  | ><EMAIL_ADDRESS>prestart /usr/src/app
web_1  | > babel-node tools/startMessage.js
web_1  |
db_1   | Running rethinkdb 2.3.4~0jessie (GCC 4.9.2)...
db_1   | Running on Linux 4.4.12-boot2docker x86_64
db_1   | Loading data from directory /data/rethinkdb_data
db_1   | warn: Cache size does not leave much memory for server and query overhead (available memory: 680 MB).
db_1   | warn: Cache size is very low and may impact performance.
db_1   | Listening for intracluster connections on port 29015
db_1   | Listening for client driver connections on port 28015
db_1   | Listening for administrative HTTP connections on port 8080
web_1  | Starting app in dev mode...
web_1  |
web_1  | ><EMAIL_ADDRESS>start /usr/src/app
web_1  | > node tools/distServer.js
web_1  |
db_1   | Listening on cluster addresses: <IP_ADDRESS>, <IP_ADDRESS>, ::1, fe80::42:acff:fe12:2%39
db_1   | Listening on driver addresses: <IP_ADDRESS>, <IP_ADDRESS>, ::1, fe80::42:acff:fe12:2%39
web_1  | info: Connecting to RethinkDB: localhost:28015
db_1   | Listening on http addresses: <IP_ADDRESS>, <IP_ADDRESS>, ::1, fe80::42:acff:fe12:2%39
db_1   | Server ready, "2a361cf80bfd_wur" 51785a58-556a-45d4-9277-1b54b430fdc8

Could we update #644 to give positive feedback when a connection is secured in an architecture like this?

@casche Would you mind making a suggestion for exactly what you'd like to see in the comments of #644?

Done! Thanks @deontologician 👍


Remove redundant joinOutputRows metric [databricks]

Fixes #10198.  Removes the joinOutputRows metric which always reflects the same value as the numOutputRows metric.

build


Add types for parameters, policies, and shovels

This adds several new types for managing rabbitmq policies, shovels and parameters.
I realize this is kind of a big pull request, please let me know if there's anything I can do to break it up and make it more likely to be merged.

Closing due to inactivity. Please feel free to reopen for the other new types.

@jawnb Any chance of submitting seperate pull requests for parameters and shovels? If not would you mind if I reuse some of your existing code and submit pull requests for them?

@mkrakowitzer feel free to do whatever you want with the code in this PR


Install?

How do I install this?

Oops, should have probably included some instructions. There should be some in the README in afb1c6d


Is there a pretrained DINOV2 model trained on the ImageNet-1k dataset available?

I would like to utilize the DinoV2 model pretrained on the ImageNet-1k dataset as the backbone for my research, specifically for comparing it with other methods in my research domain. However, I am facing limitations in terms of computational resources, which are insufficient to support the training process.

There are pretrained backbones provided. Read the ReadMe

There are pretrained backbones provided. Please refer to the ReadMe

I have reviewed the readme again, and I would like to clarify that I means a backbone pre-trained on the ImageNet-1k dataset, rather than on the LVD-142M dataset.

I would like to utilize the DinoV2 model pretrained on the ImageNet-1k dataset as the backbone for my research, specifically for comparing it with other methods in my research domain. However, I am facing limitations in terms of computational resources, which are insufficient to support the training process.

Hello, may I ask if your issue has been resolved? I also want to train my own dataset based on its pre trained weights


Live query + Cordova: does not sync differences after reconnect

I'm on  a Cordova app and Parse JS SDK 1.9.2.
Live query works fine while application is in foreground and stops working in background (and that's ok)
If any events occurs while in background they are not retrieved. Is there a way to avoid this?

What I try to do is detect the reconnection (which you can do with the open event on the subscription), and issue a query for any objects I might have missed.
You can probably do a little better in the browser if you also pay attention to window.online and window.offline events where available, and tear down and recreate your connection and subscription state appropriately, since the exponential back off for connections can take a lot longer to figure out that your connection has been restored.


Feat/add seed pattern for dfget interface

Ⅰ. Describe what this PR did
Add implementation of dfget interface for seed pattern.
Ⅱ. Does this pull request fix one issue?

NONE.
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Add ut.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #1363 into master will decrease coverage by 0.20%.
The diff coverage is 46.42%.

@@            Coverage Diff             @@
##           master    #1363      +/-   ##
==========================================
- Coverage   51.46%   51.25%   -0.21%
==========================================
  Files         133      142       +9
  Lines        8744     9136     +392
==========================================
+ Hits         4500     4683     +183
- Misses       3866     4053     +187
- Partials      378      400      +22

Impacted Files
Coverage Δ

dfget/pattern/seed/downloader.go
0.00% <0.00%> (ø)

dfget/pattern/seed/manager.go
0.00% <0.00%> (ø)

dfget/pattern/seed/register.go
0.00% <0.00%> (ø)

dfget/pattern/seed/report.go
0.00% <0.00%> (ø)

dfget/pattern/seed/data.go
50.00% <50.00%> (ø)

dfget/pattern/seed/data_scheduler.go
63.55% <63.55%> (ø)

dfget/pattern/seed/clientwriter.go
67.64% <67.64%> (ø)

dfget/pattern/seed/data_map.go
82.35% <82.35%> (ø)

dfget/pattern/seed/task_state.go
82.75% <82.75%> (ø)

... and 9 more

Continue to review full report at Codecov.

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


Compare L19 w/Bovy for some chosen sight lines

Sight-lines to watch:

Direction of Orion nebula - known to be problematic with DR2 (i.e. fraction of known YSOs - e.g. classified as so by Spitzer). Appears to be a background subtraction issue in Gaia Bp and Rp (spectral integration not PSF photometry) that moves these objects away from their expected positions in the CMD. Objects appear bluer than should be.
Pick some sight-lines without known YSOs - above problem far smaller.

For more, see Riello et al. 2021: Riello et al. 2021 A&A

Green et al 2019:
Lallement et al 2019:


feat: support descriptions longer than 1024 characters

https://cloud.google.com/bigquery/docs/schemas#column_descriptions

Codecov Report

Merging #250 (a36470c) into master (3cdd61d) will decrease coverage by 0.79%.
The diff coverage is 44.11%.

@@            Coverage Diff             @@
##           master     #250      +/-   ##
==========================================
- Coverage   58.94%   58.15%   -0.80%
==========================================
  Files           7        7
  Lines        1023     1049      +26
==========================================
+ Hits          603      610       +7
- Misses        353      372      +19
  Partials       67       67

Impacted Files
Coverage Δ

encoding/protobq/schema.go
74.84% <44.11%> (-9.37%)
:arrow_down:


Toggle developer tools doesn't work on My Sites, Bookmarks or History pages

Testing 0.15.0-RC6 on Ubuntu 18.04.3
"Toggle developer tools" option doesn't do anything on the following:

My sites
History
Bookmarks

Neither menu option nor keyboard shortcut works.

Also confirmed the same behaviour on RC5 on macOS.

Can also confirm. I tried this Monday on the 0.15.0 release.

So, these pages look like tabs... but they are not actually tabs. They are another part of the browser UI just now. So this isn't so much a bug, as the fact that those menu options should not be shown here (as things stand).
They could be made to be pages, simply served by the browser, eg, though this will complicate certain functionalities. Perhaps needlessly...
That's an open Q I'd say (and not something we'll likely look at in the near term). I'd say this issue should be resolved by:

[ ] Remove Developer Tools Toggles from context menu for internal react pages.


Migrate TD_AGENT_ prefix to FLUENT_PACKAGE_

TODO: fluent-package/msi/assets/fluentd.bat must be fixed after c:\opt\td-agent migration. #494

Rebased to the latest master.

I have added a fix: 87fcb2713c57fe1d3772217b337ce5919248aff1
This replacement is done to the new /etc/default/fluentd, so the replacement source must be FLUENT_PACKAGE_LOG_FILE, not TD_AGENT_LOG_FILE.
Now, waiting CI...

TODO: fluent-package/msi/assets/fluentd.bat must be fixed after c:\opt\td-agent migration. #494

@kenhys Is this already done, right?

@kenhys Is this already done, right?

already done via #484.


Benchmark code is wrong

The following benchmark code is wrong .
https://github.com/WillAbides/rjson/blob/main/benchmarks/goccyjson.go#L24
Must fix package from encoding/json to goccy/go-json and update result on README.md

Thanks!  I can't believe I didn't notice that before. I thought it was very suspicious that go-json's performance seemed the same as "encoding/json".  I'm fixing it now.

I've corrected the code and I did a quick run of the benchmark script with just rjson and go-json and updated README.md with that.  It takes a while to do a full run, and I didn't want the mistake to be online any longer than necessary. Later today I will do a full run and update again.
I apologize for making a mistake that is unfavorable to your code. go-json is a great package.

No problem 😃  Thank you for the correction !


regression - impossible to use on linux box without microphone - this was working last week.

I don't have a mic on this machine - no plans ever to do this. but was wanting to chat via text.
the mic dropdown is empty when I kicked off the chat.

This indicates you have not granted access to the microphont.


methodHasAutoProperty: support templateRecvMethodType

Codecov Report

Merging #45 (e0d66c6) into main (9f5b4d7) will decrease coverage by 0.07%.
The diff coverage is 77.27%.

@@            Coverage Diff             @@
##             main      #45      +/-   ##
==========================================
- Coverage   93.07%   93.00%   -0.08%
==========================================
  Files          12       12
  Lines        6035     6044       +9
==========================================
+ Hits         5617     5621       +4
- Misses        327      332       +5
  Partials       91       91

Impacted Files
Coverage Δ

func.go
95.58% <76.19%> (-2.37%)
:arrow_down:

codebuild.go
93.96% <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 9f5b4d7...e0d66c6. Read the comment docs.


WIP: THRIFT-5162: ThreadManager tests fail in appveyor

Client: cpp
Server: cpp
Fix waiting in wait(), waitForTimeRelative, waitForTime, waitForever.
Introduce new field notified_ to avoid spurious wakeups of Impl::conditionVariable_

[x] Did you create an Apache Jira ticket?  (not required for trivial changes)
[x] If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
[x] Did you squash your changes to a single commit?  (not required, but preferred)
[x] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
[x] If your change does not involve any code, add  [skip ci] at the end of your pull request to free up build resources.

@janosvitok any progress?

No. the code in PR causes deadlocks and I didn't have time to find out the problem, and I won't soon. Sorry.

No worries, please ping me whenever you are ready and I'll take a look.

I will not continue with this. Sorry.


[UNOMI-722] - Update Yauaa to 7.9.0 (CVE-2022-23496)

PR Title format:
[UNOMI-722] Update Yauaa to 7.9.0

Update this dependency because of CVE-2022-23496

[x] Make sure there is a JIRA issue filed
for the change (usually before you start working on it).  Trivial changes like typos do not
require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[x] Format the pull request title like [UNOMI-XXX] - Title of the pull request
[x] Provide integration tests for your changes, especially if you are changing the behavior of existing code or adding
significant new parts of code.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
Copy the description to the related JIRA issue
[x] Run mvn clean install -P integration-tests to make sure basic checks pass. A more thorough check will be
performed on your pull request automatically.

If this is your first contribution, you have to read the Contribution Guidelines
If your pull request is about ~20 lines of code you don't need to sign an Individual Contributor License Agreement
if you are unsure please ask on the developers list.
To make clear that you license your contribution under the Apache License Version 2.0, January 2004
you have to acknowledge this by using the following check-box.

[x] I hereby declare this contribution to be licenced under the Apache License Version 2.0, January 2004

I found that org.brotli.dec was added by httpcomponents-client v5.2.1.
https://github.com/apache/httpcomponents-client/commit/db47570efefe32054f6d5a45cf0023e9d6927338
Looking at their code I see they have already indicated this is optional (and my code does not need it at all):
    <dependency>
      <groupId>org.brotli</groupId>
      <artifactId>dec</artifactId>
      <optional>true</optional>
    </dependency>

I'm going to find a fix for this.

@jkevan Which test gave this error? I'm having a hard time running the full build locally to reproduce the effect.

@jkevan Please check if this is correct now.

I'm going to see if I can get rid of this dependency that I do not need within Yauaa.

Seem's good to me now that the dependency is optional.


Govendor sync and get fail w/ gcloud (child deps)

$ govendor sync
Error: Remotes failed for:
	Failed for "google.golang.org/cloud/internal/opts" (failed to get ignore files): open /Users/tejas/dev/.cache/govendor/google.golang.org/cloud/internal/opts: no such file or directory

Any idea what this is? Preventing me from moving from Godeps to Govendor. I tried deleting Godeps and just running govendor init && govendor fetch -v +^local,^vendor,^std but when I go get -t later, I keep getting
package github.com/segmentio/source-runner/vendor/google.golang.org/cloud/compute/metadata

	imports cloud.google.com/go/internal: use of internal package not allowed

so latest apparently isn't good

I'll look into. Thanks.
On Fri, Aug 5, 2016, 02:05 Tejas Manohar<EMAIL_ADDRESS>wrote:

$ govendor sync
Error: Remotes failed for:
Failed for "google.golang.org/cloud/internal/opts" (failed to get ignore files): open /Users/tejas/dev/.cache/govendor/google.golang.org/cloud/internal/opts: no such file or directory
Any idea what this is? Preventing me from moving from Godeps to Govendor.
I tried deleting Godeps and just running govendor init && govendor fetch
-v +^local,^vendor,^std but when I go get -t later, I keep getting
package github.com/segmentio/source-runner/vendor/google.golang.org/cloud/compute/metadata
imports cloud.google.com/go/internal: use of internal package not allowed

so latest apparently isn't good
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kardianos/govendor/issues/198, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAuFsSkKCbKRnCbeUdHMO5aLQaY19x6aks5qcvzTgaJpZM4Jdfdu
.

Hmm, I'm not sure what's going on. I think this will be hard for me to diagnose as it looks like google.golang.org/cloud/internal/opts doesn't exist on master. To compound it the source-runner repo isn't public.
Have you tried running govendor migrate in the root of the repo first? It should migrate the godep file into the vendor file so it keeps the correct revision.


Dubbo 2.7.6 breaks the generic invocation behavior

Environment

Dubbo version: 2.7.6 +

Steps to reproduce this issue
GenericService genericService = ...;
genericService.$invoke("method", null /* parameterTypes */, new Object[] { /* args */ });

Before 2.7.6, the parameterType parameter supports null value, means use the method without overloads.
However, since 2.7.6, see: https://github.com/apache/dubbo/commit/ad2d30ba90eaea6074fbe4c2497789e0545e915c#diff-d799d91b73870eef3c22b89216a3554fR74, a check args.length != types.length was added. An NPE will be thrown when types is null.
Expected Result
Support nullable parameterTypes.
Actual Result
A guard check args.length != types.length in https://github.com/apache/dubbo/commit/ad2d30ba90eaea6074fbe4c2497789e0545e915c#diff-d799d91b73870eef3c22b89216a3554fR74 causes NPE when types is null.

@sunchuanleihit could you please check this issue?

Let me have a look


Ported Raylib Audio and Core examples to Nintendo Switch

added new folder for raylib examples ported to switch
added full controller support without kbm emulation
added multi-controller support (core_input_multi_gamepad.c)
added split-screen support (by tethering UpdateCamera to player's gamepad)
added touchscreen support (No gestures)
added full camera-controller support (for all camera modes no kbm emulation)
added inverted Y-axis look support
updated related examples
updated example screenshots with switch changes

@luizpestana I'm not sure if you're interested in extending raylib-nx for more switch specific hardware support, so I thought I would post a PR of my changes. Any feedback at all would be greatly appreciated! :smile:

Hey @savaughn thanks for the contribution, im gonna take a look and test as soon as possible.

Hey @savaughn , i really appreciate the contribution, but i won't accept all the PR content because i want to keep this repo with only the required changes to make it work on the switch and also still compatible with all the other platforms. I made the changes you suggested to include the multitouch and the gamepad along with some fixes: https://github.com/luizpestana/raylib-nx/commit/6f0a2ebdd251229fa8ea599882db7e85e6c42de5
If you want to maintain a raylib-nx fork with switch specific features and examples i can add a link to your repo.
Thank you!


[QUESTION] How to set LVAR

Hi Maarten,
I'm wondering if it's possible to set LVAR such as A32NX ones described here https://github.com/flybywiresim/a32nx/blob/master/docs/a320-simvars.md
More generally, where can I find some documentation about the way the code should be written in type condition events?
Thank you for the great job you're doing.

Maybe this is the solution:
https://github.com/maartentamboer/X-Touch-Mini-FS2020/issues/15

Since you linked the simvars documentation of the FBW A320 I guess you want to directly change a simvar with an encoder. In this case you should be able to use the get_simvar_value and set_simvar_value. But there might be a problem with the way python-simconnect returns None when you request a simvar that is not in it's list. I will do some research for this.
{
  "index": 3,
  "event_up": {
    "type": "condition",
    "event": [ "{% set mfd_range = data.get_simvar_value('A320_NEO_MFD_RANGE_1') %}",
                 "{{ data. set_simvar_value('A320_NEO_MFD_RANGE_1', mfd_range + 1) }}"]
  },
  "event_down": {
    "type": "condition",
    "event": [ "{% set mfd_range = data.get_simvar_value('A320_NEO_MFD_RANGE_1') %}",
                 "{{ data.set_simvar_value('A320_NEO_MFD_RANGE_1', mfd_range - 1) }}"]
  }
},

For more information about how to write code for the condition events. I use jinja2 to parse and execute the template https://jinja.palletsprojects.com/en/2.11.x/templates/
To see which functions you can call on the data object you can take a look at the https://github.com/maartentamboer/X-Touch-Mini-FS2020/blob/main/conditionalrunner.py file

I've been looking into this and I'm not fully aware what an LVAR is. But I guess that it is a local variable that stays inside of the simulator / aircraft code. With that I was unable to connect to them using the simconnect API. I used the latest experimtal build of the FBW A320 and the simconnect API gave me this:
SIMCONNECT_EXCEPTION_NAME_UNRECOGNIZED
SIMCONNECT_EXCEPTION_UNRECOGNIZED_ID: in (b'A32NX_NO_SMOKING_MEMO', b'Bool')

also tried with the L: in front of it
SIMCONNECT_EXCEPTION_NAME_UNRECOGNIZED
SIMCONNECT_EXCEPTION_UNRECOGNIZED_ID: in (b'L:A32NX_NO_SMOKING_MEMO', b'Bool')

Hi,
I've been able to use some of LVAR variables of the FBW 320NX thanks to the Mobifligh WASM module.
You'll find som info here on how to use X-Touch-Mini-FS2020 with Mobifligh: https://pastebin.com/fMdB7at2 (with a sample config file).
Here is a list of the commands managed by mobiflight : https://docs.google.com/spreadsheets/d/1jTXlcHaJWx0B7TB63Pmma7bKwpxsxXJO6EJ3ECt7zpc/edit#gid=172455454
Note everything is not available, as some commands use "HVAR" variables. I don't know the difference between LVAR and HVAR.
Personnaly, I recently move from X-Touch-Mini-FS2020 to SPAD.NEXT, to be able to manage two X-Touch at the same time (and to gain the benefit of a UI tool to setup the commands). But I keep an eye on X-Touch-Mini-FS2020, I might switch back some time ;-)
@gleclere funny, we've recently been in touch on "Flight Simulator 2020 France" facebook group :-)

https://github.com/maartentamboer/X-Touch-Mini-FS2020/pull/41 has changes so the mobiflight WASM module can be used in conditional triggers. The config is really complex. So I will investigate adding a feature for using the encoder as a selector switch. Since these selector switches are quite common in aircraft.

Release https://github.com/maartentamboer/X-Touch-Mini-FS2020/releases/tag/v1.3.0 is now available. This release can set the range using conditional triggers and the mobiflight wasm module. I've added it to the config_a320.json in the release.
    {
      "index": 8,
      "event_up": {
        "type": "condition",
        "event": [ "{% if data.get_global_variable('MFD_RANGE') == 10 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_20', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 20) }}",
                   "{% elif data.get_global_variable('MFD_RANGE') == 20 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_40', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 40) }}",
                   "{% elif data.get_global_variable('MFD_RANGE') == 40 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_80', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 80) }}",
                   "{% elif data.get_global_variable('MFD_RANGE') == 80 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_160', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 160) }}",
                   "{% elif data.get_global_variable('MFD_RANGE') == 160 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_320', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 320) }}",
                  "{% elif data.get_global_variable('MFD_RANGE') == 320 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_320', 1) }}",
                   "{% else %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_10', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 10) }}",
                   "{% endif %}" ]
      },
      "event_down": {
        "type": "condition",
        "event": [ "{% if data.get_global_variable('MFD_RANGE') == 320 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_160', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 160) }}",
                   "{% elif data.get_global_variable('MFD_RANGE') == 160 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_80', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 80) }}",
                   "{% elif data.get_global_variable('MFD_RANGE') == 80 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_40', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 40) }}",
                   "{% elif data.get_global_variable('MFD_RANGE') == 40 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_20', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 20) }}",
                   "{% elif data.get_global_variable('MFD_RANGE') == 20 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_10', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 10) }}",
                  "{% elif data.get_global_variable('MFD_RANGE') == 10 %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_10', 1) }}",
                   "{% else %}",
                     "{{ data.trigger_event('MobiFlight.A320_neo_MFD_Range_1_10', 1) }}",
                     "{{ data.set_global_variable('MFD_RANGE', 10) }}",
                   "{% endif %}" ]
      }
    }

Hello,
I tried your new version and the above example for MFD_RANGE, it worked for me, great.
For testing I played a little bit with a statement like
{
"index": 8,
"event_press": {
"type": "condition",
"event":  [  "{% set myvar02 = (data.get_global_variable('MFD_RANGE'))  %}",
"{{ data.print(myvar02) }}"
]
}
just to print out the value to the console, also working great.
I jjust have no idea, why/how this 'MFD_RANGE' works. I cannot find any hint where this variable comes from.
I was looking for 'A320_NEO_MFD_RANGE_1' and always get the 'None' returned.
The reason why I am asking is that I want to have a similar thing for the button left to the range button, the MFD_NAV_MODE button.
There are 5 seperate events:
A320_Neo_MFD_NAV_MODE_1_LS / ...VOR / ...NAV / ...ARC .../ PLAN
I am looking for a variable that shows the state of this button.
I tried with A320_NEO_MFD_NAV_MODE_1, but as expected only 'None'...
Any ideas?
Thanks for your great work.
Frank

If I understand correctly from my playing around last night, the MFD_RANGE is an internal variable. You can set it to whatever, introduce your own etc.
It's easy from there, I've just implemented NAV mode myself:

    {
      "index": 2,
      "event_up": {
        "description": "MFD NAV MODE - Clockwise",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('MFD_NAV_MODE') == 0 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_VOR', 1) }}",
                     "{{ data.set_global_variable('MFD_NAV_MODE', 1) }}",
                   "{% elif data.get_global_variable('MFD_NAV_MODE') == 1 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_NAV', 1) }}",
                     "{{ data.set_global_variable('MFD_NAV_MODE', 2) }}",
                   "{% elif data.get_global_variable('MFD_NAV_MODE') == 2 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_ARC', 1) }}",
                     "{{ data.set_global_variable('MFD_NAV_MODE', 3) }}",
                   "{% elif data.get_global_variable('MFD_NAV_MODE') == 3 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_PLAN', 1) }}",
                     "{{ data.set_global_variable('MFD_NAV_MODE', 4) }}",
                  "{% elif data.get_global_variable('MFD_NAV_MODE') == 4 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_PLAN', 1) }}",
                   "{% else %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_LS', 1) }}",
                     "{{ data.set_global_variable('MFD_NAV_MODE', 0) }}",
                   "{% endif %}" ]
      },
      "event_down": {
        "description": "MFD NAV MODE - Anti-clockwise",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('MFD_NAV_MODE') == 4 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_ARC', 1) }}",
                     "{{ data.set_global_variable('MFD_NAV_MODE', 3) }}",
                   "{% elif data.get_global_variable('MFD_NAV_MODE') == 3 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_NAV', 1) }}",
                     "{{ data.set_global_variable('MFD_NAV_MODE', 2) }}",
                   "{% elif data.get_global_variable('MFD_NAV_MODE') == 2 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_VOR', 1) }}",
                     "{{ data.set_global_variable('MFD_NAV_MODE', 1) }}",
                   "{% elif data.get_global_variable('MFD_NAV_MODE') == 1 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_LS', 1) }}",
                     "{{ data.set_global_variable('MFD_NAV_MODE', 0) }}",
                  "{% elif data.get_global_variable('MFD_NAV_MODE') == 0 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_LS', 1) }}",
                   "{% else %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_MFD_NAV_MODE_1_PLAN', 1) }}",
                     "{{ data.set_global_variable('MFD_NAV_MODE', 4) }}",
                   "{% endif %}" ]
      }
    },

One question I have myself, just trying to implement the radio - even though it says tested on the WASM Events list, I'm getting no response with this code. Any glaring obvious reason I'm missing here?

    {
      "index": 8,
      "event_up": {
        "description": "Radio - Increase frequency",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('RADIO_INT_DEC') == 0 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_FDW_DIAL_L_INTEGER_INC', 1) }}",
                   "{% else %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_FDW_DIAL_L_DECIMAL_INC', 1) }}",
                   "{% endif %}" ]
      },
      "event_down": {
        "description": "Radio - Decrease frequency",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('RADIO_INT_DEC') == 0 %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_FDW_DIAL_L_INTEGER_DEC', 1) }}",
                   "{% else %}",
                     "{{ data.trigger_event('MobiFlight.A320_Neo_FDW_DIAL_L_DECIMAL_DEC', 1) }}",
                   "{% endif %}" ]
      },
      "event_short_press": {
        "description": "Radio - Toggle between whole and decimal values",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('RADIO_INT_DEC') == 0 %}",
                     "{{ data.set_global_variable('RADIO_INT_DEC', 1) }}",
                   "{% else %}",
                     "{{ data.set_global_variable('RADIO_INT_DEC', 0) }}",
                   "{% endif %}" ]
      }
    }

Too quick - apparently the FBW team fixed the default call. So we can just use:
    {
      "index": 8,
      "event_up": {
        "description": "Radio - Increase frequency",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('RADIO_INT_DEC') == 0 %}",
                     "{{ data.trigger_event('COM_RADIO_WHOLE_INC', 1) }}",
                   "{% else %}",
                     "{{ data.trigger_event('COM_RADIO_FRACT_INC', 1) }}",
                   "{% endif %}" ]
      },
      "event_down": {
        "description": "Radio - Decrease frequency",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('RADIO_INT_DEC') == 0 %}",
                     "{{ data.trigger_event('COM_RADIO_WHOLE_DEC', 1) }}",
                   "{% else %}",
                     "{{ data.trigger_event('COM_RADIO_FRACT_DEC', 1) }}",
                   "{% endif %}" ]
      },
      "event_short_press": {
        "description": "Radio - Toggle between whole and decimal values",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('RADIO_INT_DEC') == 0 %}",
                     "{{ data.set_global_variable('RADIO_INT_DEC', 1) }}",
                   "{% else %}",
                     "{{ data.set_global_variable('RADIO_INT_DEC', 0) }}",
                   "{% endif %}" ]
      }
    }

For radios its easier
{
"index": 8,
"event_up": "COM_RADIO_WHOLE_INC",
"event_down": "COM_RADIO_WHOLE_DEC",
"alternate_event_up": "COM_RADIO_FRACT_INC",
"alternate_event_down": "COM_RADIO_FRACT_DEC",
"event_short_press": "{alternate}",
"event_long_press": "COM_STBY_RADIO_SWAP"
},

Thanks for that mate, great stuff.
One more, I'm having an issue setting the Captain EFIS for the ILS - is the following the right way to make a single call to MobiFlight?
    {
      "index": 2,
      "event_press": {
        "description": "Trigger CPT EFIS LS",
        "type": "condition",
        "event": [ "{{ data.trigger_event('MobiFlight.A320_Neo_PFD_BTN_LS_1', 1) }}" ]
      }
    },

If you want to fire off a single event you can just place the name of the event:
    {
      "index": 2,
      "event_press": "MobiFlight.A320_Neo_PFD_BTN_LS_1"
    },

Some events have an option of passing a value with them, for those you can either use the manual event or the condition event.

That makes way more sense, thanks @maartentamboer . This does throw a warning "WARNING: Event MobiFlight.A320_Neo_PFD_BTN_LS_1, was not found in simconnect list. Using a manual binding". I'm assuming this is fine - however I'm not getting the expected result. I was hoping to control this button but so far without success.

Is there anything I'm missing?

Hello,
I tried your new version and the above example for MFD_RANGE, it worked for me, great.
For testing I played a little bit with a statement like
{
"index": 8,
"event_press": {
"type": "condition",
"event": [ "{% set myvar02 = (data.get_global_variable('MFD_RANGE')) %}",
"{{ data.print(myvar02) }}"
]
}
just to print out the value to the console, also working great.
I jjust have no idea, why/how this 'MFD_RANGE' works. I cannot find any hint where this variable comes from.
I was looking for 'A320_NEO_MFD_RANGE_1' and always get the 'None' returned.
The reason why I am asking is that I want to have a similar thing for the button left to the range button, the MFD_NAV_MODE button.
There are 5 seperate events:
A320_Neo_MFD_NAV_MODE_1_LS / ...VOR / ...NAV / ...ARC .../ PLAN
I am looking for a variable that shows the state of this button.
I tried with A320_NEO_MFD_NAV_MODE_1, but as expected only 'None'...
Any ideas?
Thanks for your great work.
Frank

Is it possible that you read and print sample has some missing or wrong brackets?
Is it possible that you post a real working sample?

That makes way more sense, thanks @maartentamboer . This does throw a warning "WARNING: Event MobiFlight.A320_Neo_PFD_BTN_LS_1, was not found in simconnect list. Using a manual binding". I'm assuming this is fine (edit: should've set "type" to "manual" to suppress this message) - however I'm not getting the expected result. I was hoping to control this button but so far without success.

...

Is there anything I'm missing?

I am trying to use BTN_LS_1_FILTER_ACTIVE variable , which i have found in the FBW file for YourControls
First i try to get the read and print sample working to look which values it needs and then try to toggle it
with conditional setvars

Is it possible that you read and print sample has some missing or wrong brackets?
Is it possible that you post a real working sample?

Hello,
sorry, my original code included a statement to light up the encoder LED. I thought it would be confusing so I dropped it. But without that line, it produces an error. The "event" statement seems to need 3 arguments.
So here my complete code: (tested)
{
"index": 8,
"event_press": {
"type": "condition",
"event":  [ "{% set myvar02 = (data.get_global_variable('MFD_RANGE'))  %}",
"{{ data.print(myvar02) }}",
"{{ data.set_encoder_led_value(8, 7) }}"
]
}
},
In the beginning if you press the button 8, it prints out None. You have to turn the encoder knob once to change then MFD_RANGE value at least once, then it works.

@TheJAG 👍
Thanks a lot, that helped. With the MFD_NAV_MODE it worked.
And after my previous post I also seem to understand one of my problems. I think I also checked the variable with "my print method" and was frustrated because it only always printed out 'None'.
I integrated your script, turned the encoder button, it worked, and now it prints out real values for  MFD_NAV_MODE.
I thought printing the values could be a fast method to help to detect the right variables.

Concerning A320_Neo_PFD_BTN_LS_1:
I just posted an answer in
https://forums.flightsimulator.com/t/behringer-x-touch-mini-works-flawless/193140
I think you need the latest beta <IP_ADDRESS> form the Mobiflight to use it succesfully. It has more functions and an extend events.txt. It can be found at https://bitbucket.org/mobiflight/mobiflightfc/downloads/
In the events.txt the line 296
A320_Neo_PFD_BTN_LS_1_#(>H:A320_Neo_PFD_BTN_LS_1)
should be changed to
A320_Neo_PFD_BTN_LS_1#(>H:A320_Neo_PFD_BTN_LS_1)
(remove the '_' before the '#',  the same for the subsequent lines)
With the "short" syntax
"event_press": "MobiFlight.A320_Neo_PFD_BTN_LS_1"
I also get a warning, but it works.
With the (old?) long syntax
"event_press": { "event": "MobiFlight.A320_Neo_PFD_BTN_LS_1", "type": "manual", "value": 1 }
it works without a warning.

 That's exactly it, the events.txt actually quite a few of these trailing underscores, and of course none of those calls work.
Thanks for confirming I'm not going crazy haha, never thought about checking the events.txt in that kind of detail. Great catch mate!

Is it possible to open the WIKI to collect snippets, tipps and tricks for configuration?
I think here in the comments these topics get lost for next users.
like
A32NX - LS on left side demonstrating mobiflight usage
In the events.txt of mobiflight WASM in community folder the line 296
A320_Neo_PFD_BTN_LS_1_#(>H:A320_Neo_PFD_BTN_LS_1)
should be changed to
A320_Neo_PFD_BTN_LS_1#(>H:A320_Neo_PFD_BTN_LS_1)
(remove the '_' before the '#', the same for the subsequent lines)
and in config use
{
  "index": 15,
  "event_press": {
    "event": "MobiFlight.A320_Neo_PFD_BTN_LS_1",
    "type": "manual",
    "value": 1
  }

NAV1 frequency and Swap demonstrating alternate events
Use this snippet to dial freqency of NAV1, short press switches between FULL and FRACT, long press swaps
to active
{
  "index": 6,
  "event_up": "NAV1_RADIO_WHOLE_INC",
  "event_down": "NAV1_RADIO_WHOLE_DEC",
  "alternate_event_up": "NAV1_RADIO_FRACT_INC",
  "alternate_event_down": "NAV1_RADIO_FRACT_DEC",
  "event_short_press": "{alternate}",
  "event_long_press": "NAV1_RADIO_SWAP"
},

I'm learning so much reading this thread!
I agree it should be nice to open a Wiki, or to add a "docs" folder to the project with markdown documentations.

This sounds like a great idea. I think there's 2 options.

Create a wiki
use github pages to make a website

To edit a wiki people need to be added as a collaborator to the repository, because you cannot edit a wiki trough a PR. If we go the gh-pages route everyone can just open a PR to propose changes to the website

3rd option would be readthedocs which might be the best one since it works great with multiple pages

I think the important thing is, that it will be a structured, tagged and searchable.
I see 2 different ways to look for samples/snippets

by aircraft and function
by code features like conditions, variables, alternate function, event types or things like general tipps regarding mobiflight wasm

Below the line every variant is better than documenting it just by creating sample configs or
post it here in the issues tracker.
Which solution can be combined with the issues tracker to discuss and test snippets?

This is an example of a readthedocs site https://docs.readthedocs.io/en/stable/intro/getting-started-with-sphinx.html . As you can see you can create separate pages that are searchable. So we could create different pages for different functions and dedicated pages or even whole sections for specific aircraft.
We could discuss snippets in the https://github.com/maartentamboer/X-Touch-Mini-FS2020/discussions tab and then anyone can create a PR to add it to the docs

Before we have the new knowledge base, here is my new Baro config for the A32NX
short press = std, long press =qnh. I dont think that the value 2 is needed, just had  no more time to test it
{
"index": 1,
"event_up": "KOHLSMAN_INC",
"event_down": "KOHLSMAN_DEC",
  "event_press": {
    "event": "MobiFlight.XMLVAR_Baro1_Mode_QNH",
    "type": "manual",
    "value": 2
  },
  "event_long_press": {
    "event": "MobiFlight.XMLVAR_Baro1_Mode_STD",
    "type": "manual",
    "value": 2
  }
},

I've made the baro somewhat more complicated .. ;)

Rotate increases / decreases the baro setting (however, it won't change the pressure setting if baro is set to STD)
A short press toggles between the user-selected and STD pressure setting
A long press toggles inHg and hPa

    {
      "index": 1,
      "event_up": {
        "description": "CPT side BARO - Increase barometric pressure",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('BARO_STD') == None %}",
                     "{{ data.trigger_event('KOHLSMAN_INC', 1) }}",
                   "{% endif %}" ]
      },
      "event_down": {
        "description": "CPT side BARO - Decrease barometric pressure",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('BARO_STD') == None %}",
                     "{{ data.trigger_event('KOHLSMAN_DEC', 1) }}",
                   "{% endif %}" ]
      },
      "event_short_press": {
        "description": "CPT side BARO - Switch between QNH and STD",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('BARO_STD') == None %}",
                     "{{ data.trigger_event('MobiFlight.XMLVAR_Baro1_Mode_STD', 1) }}",
                     "{{ data.set_global_variable('BARO_STD', True) }}",
                   "{% else %}",
                     "{{ data.trigger_event('MobiFlight.XMLVAR_Baro1_Mode_QNH', 1) }}",
                     "{{ data.set_global_variable('BARO_STD', None) }}",
                   "{% endif %}" ]
      },
      "event_long_press":  {
        "description": "CPT side BARO - Switch between inHg and hPa",
        "type": "condition",
        "event": [ "{% if data.get_global_variable('BARO_INCH_HP') == 0 %}",
                     "{{ data.trigger_event('MobiFlight.XMLVAR_Baro_Selector_HPA_1_inHg', 1) }}",
                     "{{ data.set_global_variable('BARO_INCH_HP', 1) }}",
                   "{% else %}",
                     "{{ data.trigger_event('MobiFlight.XMLVAR_Baro_Selector_HPA_1_hPa', 1) }}",
                     "{{ data.set_global_variable('BARO_INCH_HP', 0) }}",
                   "{% endif %}" ]
      }
    },

Woah nice config. The website is on its way. I hopefully have some time tonight to push it to the repo and configure the github action so it will be automatically published

Website is live at https://dev-tty.nl/X-Touch-Mini-FS2020/
I've added a little information about how to add content and preview the site locally in https://dev-tty.nl/X-Touch-Mini-FS2020/getting-started/developing/
It is automatically published every time something changes in the main branch.
I will start adding content this weekend. But feel free to open pull-requests
I've opened up a discussion over at https://github.com/maartentamboer/X-Touch-Mini-FS2020/discussions/48 to further discuss website content / snippets and so on. Since this issue has deviated quite a bit from the original LVAR issue.

Since the conditional triggers in this topic are becoming quite complex, I've just made a new release that enables you to have the conditional trigger in a seperate file. This means you can also get syntax highlighting in Visual Studio Code with the https://marketplace.visualstudio.com/items?itemName=samuelcolvin.jinjahtml plugin. Nice benefit is that these conditional-file triggers can now be reused accross multiple config giles
Example:
https://github.com/maartentamboer/X-Touch-Mini-FS2020/blob/main/Configurations/config_a320.json#L88-L95
https://github.com/maartentamboer/X-Touch-Mini-FS2020/blob/main/Configurations/Functions/A320/mfd-range-up.jinja2
Download is at https://github.com/maartentamboer/X-Touch-Mini-FS2020/releases/tag/v1.4.0

With the mobiflight plugin we call events and then they set the value in the simulator. It appears that they don't provide any simvars

Thanks a lot! I have asked the question in MobiFlight's forum. :)

A320_Neo_MFD_NAV_MODE_1_LS#0 (>L:A320_Neo_MFD_NAV_MODE_1)
A320_Neo_MFD_NAV_MODE_1_VOR#1 (>L:A320_Neo_MFD_NAV_MODE_1)
A320_Neo_MFD_NAV_MODE_1_NAV#2 (>L:A320_Neo_MFD_NAV_MODE_1)
A320_Neo_MFD_NAV_MODE_1_ARC#3 (>L:A320_Neo_MFD_NAV_MODE_1)
A320_Neo_MFD_NAV_MODE_1_PLAN#4 (>L:A320_Neo_MFD_NAV_MODE_1)

Does anyone have the description of the format used in MobiFlight's events.txt?

The first part appears the event that you can call using simconnect, between the braces () stands the variable that you want to write it to. I think it works like this:
A320_Neo_MFD_NAV_MODE_1_LS: The event that you want to create, call via MobiFlight.A320_Neo_MFD_NAV_MODE_1_LS
#0: The value that you want to write into the variable
(>L:A320_Neo_MFD_NAV_MODE_1): The variable that you want to write to

Coming back to the Lvars, do you have an idea if we can get the value of the MobiFlight Lvars?
Is there a way to get the value of L:A320_Neo_MFD_NAV_MODE_1?
I tried using for example:
data.get_simvar_value('MobiFlight.A320_Neo_MFD_NAV_MODE_1')
But it's not working, the value I get for that Lvar is 'None'

I’ve modded the code so you can use a new function data.get_mobiflightsimvar_value(‘L:A320_Neo_MFD_NAV_MODE_1’)
I’ve sent a pull request to Maarten with the modded code

New release has been made: https://github.com/maartentamboer/X-Touch-Mini-FS2020/releases/tag/v1.7.0

The latest experimental release of the A32NX seems to have changed some things related to the EFIS control panel and the ND as part of their custom LNAV since the current configurations with X-Touch-MSFS aren't working. I would assume the FBW team have created their own local variables for many of these items and I expect this info is documented somewhere, but I've had no luck finding it. Has anyone successfully configured the their X-Touch to work with the A32NX experimental LNAV?

If those are the new variables, I guess you would need to add them to Mobiflight as well (if not done already).
Once they are defined in Mobiflight, I guess they would be usable.

See a solution here https://github.com/maartentamboer/X-Touch-Mini-FS2020/discussions/89

If those are the new variables, I guess you would need to add them to Mobiflight as well (if not done already).
Once they are defined in Mobiflight, I guess they would be usable.

I've tried mimicking other variables in the events txt but I don't really understand how it works so I don't think I'm doing it right. And it doesn't work obviously. Is there a tutorial somewhere that illustrates the process of adding new variables?


[Bug] Cloudinary props are being applied to DOM image node

Bug Report
Describe the bug
The extra props that apply to Cloudinary are getting applied to the DOM node which can be invalid props, but are also should be cleaned up.

Steps To Reproduce the error
Example from the homepage:
<CldImage
  width="987"
  height="987"
  src={`images/woman-headphones`}
  crop="thumb"
  gravity="faces"
  removeBackground="true"
  tint="40:253f8c"
  underlay="images/city-skyline"
  alt="Image of woman with headphones transformed with Cloudinary"
/>

Expected behaviour
Only valid <img attributes should be applied to the DOM
CodeSandbox or Live Example of Bug
Docs homepage

Merged into Beta


Add encyclopedia to glossary and genre mechanics

Used to look up what items / units / places do and add flavor text.

See: https://github.com/Leafwing-Studios/Emergence/blob/main/design/src/glossary.md#encyclopedia


avoid copying of stringstreams to determine its length

For example in line: https://github.com/isovic/graphmap/blob/master/src/graphmap/process_read.cc#L522
ss.str() makes a copy of the whole string just to determine its length. I this case, ss.tellp() > 0 should be sufficient.

That's a good catch, thanks!
I'll incorporate it in the next release.
Best regards,
Ivan.

Hi, the suggestion has now been implemented in all such occurrences (only a couple though). Thanks again!


DIY: rx100 mounted on osmo mobile 6

note: do not give this man a dremel

[x] bracket cut
[x] pics taken
[x] order and replace magnet
[x] write the actual article lmao

closed by 35f09bc3bc656da74d9e53099a644479da2c5186


Where do migrations get generated by default?

I'm trying to extract migrations from an MSSQL server for re-implementation.   [Y/n] :
 > n

Setting up Tables and Index Migrations

Setting up Foreign Key Migrations

Finished

However, I can't find any such generated migration file - where should they be?

It's in database/migrations/ in my case.
You can use --path= to specify where to generate.

Indeed, migrations are placed in Laravel's default migration directory. Thanks @skys215


Experiment with requiring type applications

I want to require type applications when using from and into. My rationale is that a lone from or into can be confusing. Which types is it converting between? This is especially bad in a pipeline: from . from . from ...
This pull request adds an ambiguous type family that forces you to add a type application for the first type variable of both from and into. Note that via already requires a type application because the through type is ambiguous.
This trick didn't play nicely with the type class method, so I changed from from a method to a function. I renamed the existing From type class to Cast (and its corresponding method from from to cast). I didn't really want to do this, but perhaps it's better; the type signature for into is perhaps less confusing now.
I would prefer to have a custom type error for this that suggests using type applications, but I don't know how to do that (or even if it's possible).
-- cast does not require a type application
>>> cast 'a' :: Int
97

-- from now requires a type application
>>> from 'a' :: Int
<interactive>:1:1: error:
    • Couldn't match type ‘Ambiguous s0’ with ‘Char’
        arising from a use of ‘from’
      The type variable ‘s0’ is ambiguous
    • In the expression: from 'a' :: Int
      In an equation for ‘it’: it = from 'a' :: Int
>>> from @Char 'a' :: Int
97

-- so does into
>>> into 'a' :: Int
<interactive>:3:1: error:
    • Couldn't match type ‘Ambiguous t0’ with ‘Int’
        arising from a use of ‘into’
      The type variable ‘t0’ is ambiguous
    • In the expression: into 'a' :: Int
      In an equation for ‘it’: it = into 'a' :: Int
>>> into @Int 'a' :: Int
97

-- via still requires a type application
>>> via 'a' :: Integer
<interactive>:5:1: error:
    • Ambiguous type variable ‘through0’ arising from a use of ‘via’
      prevents the constraint ‘(Cast
                                  through0 Integer)’ from being solved.
      Probable fix: use a type annotation to specify what ‘through0’ should be.
      These potential instances exist:
        instance Cast a a
          -- Defined at /home/taylor/Documents/GitHub/tfausak/witch/src/lib/Witch.hs:154:10
        instance Cast Void.Void x
          -- Defined at /home/taylor/Documents/GitHub/tfausak/witch/src/lib/Witch.hs:178:10
        instance Cast Natural.Natural Integer
          -- Defined at /home/taylor/Documents/GitHub/tfausak/witch/src/lib/Witch.hs:214:10
        ...plus three others
        (use -fprint-potential-instances to see them all)
    • In the expression: via 'a' :: Integer
      In an equation for ‘it’: it = via 'a' :: Integer
>>> via @Int 'a' :: Integer
97

This is what happens if you provide the wrong type in the application:
>>> from @() ('a' :: Char) :: Int
<interactive>:1:1: error:
    • Couldn't match type ‘()’ with ‘Char’ arising from a use of ‘from’
    • In the expression: from @() ('a' :: Char) :: Int
      In an equation for ‘it’: it = from @() ('a' :: Char) :: Int

>>> into @() ('a' :: Char) :: Int
<interactive>:2:1: error:
    • Couldn't match type ‘()’ with ‘Int’ arising from a use of ‘into’
    • In the expression: into @() ('a' :: Char) :: Int
      In an equation for ‘it’: it = into @() ('a' :: Char) :: Int

I kicked this off with a discussion on Twitter: https://twitter.com/taylorfausak/status/1329084033003782148

I would prefer to have a custom type error for this that suggests using type applications, but I don't know how to do that (or even if it's possible).

https://twitter.com/BanjoTragedy/status/1329111542974046215
https://hackage.haskell.org/package/say-my-name-<IP_ADDRESS>/docs/Types-MustName.html

Error message from new approach:
>>> into () :: ()
<interactive>:1:1: error:
    • Couldn't match type ‘t0 Type.== ()’ with ‘'True’
        arising from a use of ‘into’
      The type variable ‘t0’ is ambiguous
    • In the expression: into () :: ()
      In an equation for ‘it’: it = into () :: ()

It feels like I should be able to say:
into :: forall s t s' . If (s == s') (Cast s t) (TypeError (Text "...")) => s -> t

But that doesn't work.


Set static IP based on SSID

Hi,
There are numerous posts online (typically in the raspberry pi forums) which suggest you can use various configuration under option "ssid".
I can't for the life of me get this working, and I wanted to clarify:

Is there there something wrong with my configuration?
Am I misunderstanding what should be possible?

Use case:
I want to be able to set a static IP provided I'm connected to a certain SSID. Otherwise, use DHCP.
The docs state: ssid - Subsequent options are only parsed for this wireless ssid
As below, my SSID has a space in it. What's unclear from the docs is:

Are you supposed to enter the SSID "as is" or do you need to wrap in quotes?
The leases file for my interface in  /var/lib/dhcpcd5/ has wlan1-My\040Network.lease the file name like so, so I also tried matching based on this.

 /etc/dhcpcd.conf

<output omitted>

ssid "My Network"
#ssid My\040Network
#ssid "My\040Network"
static ip_address=<IP_ADDRESS>/24
static routers=<IP_ADDRESS>
static domain_name_servers=<IP_ADDRESS>

Note, I can successfully set a static IP via dhcpcd provided I specify interface instead of ssid:
interface wlan0
static ip_address=<IP_ADDRESS>/24
static routers=<IP_ADDRESS>
static domain_name_servers=<IP_ADDRESS>

This is quite unhelpful however if you're taking for example a laptop from work, to home, with one location using a static IP, and the other requiring DHCP.
why not simply configure an address reservation? Because this is not always feasible if for example you don't have control over the DHCP server, but company policy allows user to reserve static IPs (just not through the actual server itself).
I've been banging my head against a wall for hours trying to make something around this work.
Help appreciated.
dhcpcd version - dhcpcd-8.1.2
Thanks,
Matt

I don't have a wireless interface to hand right now, but does this work?
ssid My Network
static ip_address=<IP_ADDRESS>/24
static routers=<IP_ADDRESS>
static domain_name_servers=<IP_ADDRESS>

I think that may have worked in some circumstances (apologies but I had to move on from this issue).
I found trying to apply to wlan1 or another wlan interface that networking had issues i.e. I don't see any ability to also work in conjunction with the interface command.

The interface and ssid blocks have no relation - you cannot tie a ssid to a specific interface.
This is by design.
As you've moved on, closing.


Multiple forks?

Looks like @maykar is endorsing @zanna-37's fork. Might it make sense for the two of you to join forces rather than maintaining two separate forks?

The bigger problem is that NemesisRE didn't fork via github, so we can't compare the two branches, or see what has changed since the fork.

Hi @smiller171, it seems to me that NemesisRE just changed few links and replace maykar name and nothing more (please, correct me if I'm wrong).
In my repo I'm committed to continue the development. I already solved all the issues that were present in the original repo and also addressed the pull requests. I also rewrote the exception logic and I'm willing to continue.
NemesisRE, and anyone else, is more that welcome to contribute by creating issues, discussion, or proposing pull requests. =)

Hi @jsnfwlr, actually you can compare the two repositories. You just need to compare the main branch against maykar's last commit. You can see all the changes by clicking in the following link https://github.com/zanna-37/hass-swipe-navigation/compare/168e0e321d56328d868d3ec8ad7bc8b20ff41533...main.
Moreover, I did fork via GitHub, but I choose to deattach from the original repository on purpose. Since maykar was clear about its intentions to not continuing the development in the next future, I don't think my repo will ever be merged back with maykar's one. Since the development will continue in my repo there is no need to have the back pointer to the original.
This is common when doing hard-forks, for example BorgBackup did something similar when hard-forking from attic-backup.
If maykar decides to come back we'll think about merging the commits manually, but it isn't a concern now.

@smiller171 My forks were meant to keep it in HACS mainly for me but when I do something like that for me I can do it for everyone. I am not a developer I'm a sysadmin so I happily archive my fork in favor of the active developed fork from @zanna-37.

@NemesisRE please archive your repository. It’s really confusing when installing this via HACS, since it isn’t clear which repository is under active development.


Update directive documentation with tip relating to v-html and scoped styles

Adding a tip relating to the fact that v-html content is unaffected by scoped styling, and explaining an example way around it.

Thanks! I only tweaked the content slightly to include a note about CSS modules. 🙂

Hah, cool. There's a super minor typo, where it says "In you want" instead of "If you want".

Thanks! Just fixed it. 😅


Support outputFile option for listTests option

Summary
Added to Feature Proposal as well -> https://github.com/jestjs/jest/issues/14943
🚀 Feature Proposal
Right now, the --listTests option will just write the list of tests to the console. My proposal is to use the --outputFile option along with the --listTests option to write the output to the file.
Motivation
We wanted to use the list of tests in the custom sequencers. This feature will help to store the list in the file so that the sequencers can access it.
Note that this is just my usecase. There may be different use cases as well.
Example
Pass --outputFile=test-lists.json along with --listTests
yarn test --listTests --json --outputFile=test-lists.json

@mkenchugonde hello! 👋 could you sign the CLA? 🙂

@mkenchugonde hello! 👋 could you sign the CLA? 🙂

I am not sure how I ended up pushing commits from @mkenchugonde ( I intend to use my personal account @manoraj ). I have signed the CLA from @mkenchugonde, but it needs approval from the organization I guess. I will wait for one or two days before seeking help for next steps.

If it's all you, you should be able to just rebase and change author or squash the commits

If it's all you, you should be able to just rebase and change author or squash the commits

@SimenB Have created new PR -> https://github.com/jestjs/jest/pull/14980. Will close this PR once you acknowledge.


feat: ✨ enable integration tests for components in CI/CD

Description:
As a developer, I want to be able to end-to-end check the element.
Rationale:
Changes in visualization must be verified before a release for various browsers. Also verification when browser versions change is necessary.

use playwright
make sure to run all package build scripts in ci/cd
create a pipeline job


View Usage Data of Your Website

Tutorial URL: https://developers.sap.com/tutorials/cp-webanalytics-view-usage-data.html
Please specify the step you are referring to:
step 2-There is no count in any of the tab on dashboard after allowing consent.

Hi @mrudula1412
Can you please give more details about the issue? Usually, if the consent is given then tracking data appears in the dashboard in real time. You can get in touch with me<EMAIL_ADDRESS>

Mrudula discussed the issue over emails. I have suggested her a couple of options to resolve. Else, I have requested her to raise a ticket.

Thank you for your feedback. The issue seems to be resolved, so I am closing the issue.
If you still have questions, feel free to reopen the issue.


Update README and Farm docs with latest data

#11 was merged 5 days ago but the README of this repo and Farm's official website https://www.farmfe.org/ still displays inaccurate data about Vite's performance. Please update the relevant places where the data from this benchmark is displayed to avoid misleading users.
I didn't include the updates in #11 because I think it's best to use data from the same machine that generated the previous data.

We'll update readme and official website today or tomorrow. Sorry, there is a lot of work to do...

Sorry, the update is delayed. Now the readme and official website have switched to the latest data.

All benchmark data generated on Linux Mint, 11th Gen Intel(R) Core(TM) i5-11400 @ 2.60GHz, 16GB

The latest data has been updated


Explore tinc-1.1 meson build process

Official compile step has updated to use meson instead of autoconf: https://github.com/gsliepen/tinc/blob/1.1/INSTALL.md
After a new version release, should update the script to handle this, and explore:

static linking
cross compile to arm4 (asuswrt router)

Should hold this off. Meson build hasn't been release after 1.18.
Also, after 1.18 the active committer seems to be a different person (with private Github profile). Unclear if the newer commits are still trustworthy.


Transparency not working on Windows 7 (0.9.0)

I am using FluentWPF in my application. It works perfectly on Windows 10, but the Acrylic thing doesn't seem to work on Windows 7 (at least in my virtual machine).
Screenshots:

^ Windows 7. The grid has the Acrylic effect. The background is blue.

^ Windows 10 (host PC). Here Acrylic works fine.

Windows 7 has huge difference in Aero Glass Api, i think you can try to do this effect by yourself:
_https://www.programmersought.com/article/51054953175/_
And don't forget to check OS: if (Environment.OSVersion.Version.Major >= 6){}
I love this system, but Windows 7 is depreciated and extended support ended more then year ago, so I don't think it makes a lot of sense to support all style features on this OS..


bit-set 0.2.0's Cargo.toml no longer accepted

Problem
When using bit-set = "0.2.0" as a dependency, it now fails with:
error: failed to download `bit-set v0.2.0`

Caused by:
  unable to get packages from source

Caused by:
  failed to parse manifest at `.cargo/registry/src/github.com-1ecc6299db9ec823/bit-set-0.2.0/Cargo.toml`

Caused by:
  dependency (bit-vec) specified without providing a local path, Git repository, or version to use.

Steps
cargo new abc; cd abc; echo 'bit-set = "0.2.0"' >> Cargo.toml; cargo c
Possible Solution(s)
This seems to be caused by https://github.com/rust-lang/cargo/pull/9686
The Cargo.toml contains an empty [dependencies.bit-vec] block: https://docs.rs/crate/bit-set/0.2.0/source/Cargo.toml
The solution might very well be 'won't fix'. But users of that crate wouldn't have seen any warning about it before. (E.g. users of libusb that uses it indirectly, since the latest version still uses bit-set 0.2.0.)
Notes
It works fine on:

cargo 1.55.0-nightly (3ebb5f15a 2021-07-02)

It fails on:

1.55.0-nightly (66a6737a0 2021-07-14)

That warning wasn't visible when depending on a crate with that problem, only when working on the crate itself. But yeah, six years is a long time. For me, my issue is already fixed by switching from libusb to rusb. Maybe it's good to keep this issue open for a while and see if others also run into this problem, and otherwise just close it.

I did a full scan of crates.io to find how common it was and came up with this list of root offenders:
bit-set-0.1.0
bit-set-0.2.0
bit-set-0.3.0
confusion-0.0.1
cryptosphere-0.0.0
font-atlas-0.1.0
font-atlas-0.1.1
font-atlas-0.1.2
kinetic-0.1.0
kinetic-0.1.0
kinetic-0.1.0
kinetic-0.1.0
kinetic-0.1.0
kinetic-0.1.0
kinetic-0.1.0
kinetic-0.1.0
kinetic-0.1.0
kinetic-0.1.1
kinetic-0.1.1
kinetic-0.1.1
kinetic-0.1.1
kinetic-0.1.1
kinetic-0.1.1
kinetic-0.1.1
kinetic-0.1.1
kinetic-0.1.1
kinetic-rust-0.0.13
kinetic-rust-0.0.13
kinetic-rust-0.0.13
kinetic-rust-0.0.16
kinetic-rust-0.0.16
kinetic-rust-0.0.16
kinetic-rust-0.0.16
kinetic-rust-0.0.16
macaroons-0.1.0
macaroons-0.1.0
macaroons-0.1.1
macaroons-0.1.1
macaroons-0.2.0
macaroons-0.2.0
macaroons-0.2.1
macaroons-0.2.1
macaroons-0.2.1
openssl-0.0.2
openssl-0.0.2
openssl-0.0.2
openssl-0.0.2
openssl-0.1.0
openssl-0.1.0
openssl-0.1.0
openssl-0.1.0
openssl-0.1.1
openssl-0.1.1
openssl-0.1.1
openssl-0.1.1
petgraph-0.1.0
petgraph-0.1.1
petgraph-0.1.10
petgraph-0.1.11
petgraph-0.1.12
petgraph-0.1.13
petgraph-0.1.2
petgraph-0.1.3
petgraph-0.1.4
petgraph-0.1.5
petgraph-0.1.6
petgraph-0.1.7
petgraph-0.1.8
petgraph-0.1.9
pistoncore-sdl2_window-0.0.6
ptrace-0.0.1
ptrace-0.0.2
shell-0.2.0
shell-0.2.0
shell-0.3.0
shell-0.3.0
traverse-0.0.10
traverse-0.0.11
traverse-0.0.12
traverse-0.0.8
traverse-0.0.9
water-0.10.26-alpha
water-0.11.27-alpha
water-0.12.30-alpha
water-0.13.31-alpha
water-0.14.38-alpha
water-0.14.39-alpha
water-0.14.41-alpha
water-0.15.42-alpha
water-0.16.43-alpha
water-0.16.44-alpha
water-0.16.45-alpha

I'm not sure how common any of these are as dependencies, but I think that list is small enough that this likely is "wontfix".

Hm well it's definitely a bug that we didn't, at some point, turn the warnings on for deps-of-deps. That's something we should be vigilant for in the future!
In any case I agree that leaving this here for a bit to see if others run into it is a good idea. If the impact is larger than expected we can always revert, implement a better warning, and then re-land the error in a year or so.

I've just run into exactly the same issue described by @m-ou-se. I'm using the latest libusb crate, which depends on bit-set v0.2.0. Rolling back to nightly-2021-07-02 as a workaround for now.

(@ikravets Note that the libusb crate hasn't been updated in five years. The rusb crate seems to be a maintained fork of it, with an almost identical public interface, and does not depend on bit-set 0.2.0.)

This is a super frustrating regression that could come and bite anybody at any time and is a breaking change for existing versions of existing crates. As consumers of large dependency trees, please can we get a way to turn this error off?

Sorry for the trouble, we did not expect anyone to be using these dependencies.  I have opened #9911 and #9912 to revert this.  If we try again in the future, we will likely try to use the future-incompatible warning system which can report potential breaking in dependencies ahead of time.

Same issue reappeared with bit-set v.0.2.0 dependency of libusb on nightly 1.80.0 (maybe even on 1.79, it was ok last time I checked 2 weeks ago)

Being further discussed in #13824


(#1189) Reset cursor style on switching game state

This PR is going to resolve #1189

@gooddoog looks good to me! :+1: Thanks for the contribution!


nixos: sshd - pressing backspace produces a space

Issue description
When running the sshd service and connecting to it using a terminal emulator like urxvt, pressing backspace will produce a space instead of deleting a character.
Steps to reproduce
Start sshd, open urxvt connect to the computer, type something now try to delete something using backspace.
Doing TERM=vt100 will resolve it, and allow for backspace deletion.
Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.
 - system: `"x86_64-linux"`
 - host os: `Linux 4.14.84, NixOS, 18.09.1446.db561c90ef3 (Jellyfish)`
 - multi-user?: `no`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.1.3`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

You have to add rxvt_unicode.terminfo to the server's environment.systemPackages. This will add urxvt to the terminfo DB.


How to get the public ip address in k8s experiments

How to get the public ip address in k8s experiments？ I am not familiar with that part. thank you

You will have to use your Nginx ingress controller's public IP address. This is not an issue of minifabric. Please close it and also please read the doc about setting up fabric using minifabric on k8s.


Data out of order after 1.8.9 to 2.0.8 upgrade with flux queries

Steps to reproduce:
List the minimal actions needed to reproduce the behavior.

Existing DB in influx 1.8.9
Automatic upgrade to 2.0.8
Run flux query

from(bucket: "bucket/autogen")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "rht" and r["nid"] == "35")
  |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")
  |> drop(columns: ["_start", "_stop", "_measurement"])
  |> rename(columns: {_time: "time"})

Expected behavior:
Ordered data in time as previously with the Flux query on 1.8.9
Actual behavior:
Out of order data - some data are  added at the end of the output
We had to add a sort() call to get same output as before.
from(bucket: "bucket/autogen")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "rht" and r["nid"] == "35")
  |> pivot(rowKey: ["_time"], columnKey: ["_field"], valueColumn: "_value")
  |> drop(columns: ["_start", "_stop", "_measurement"])
  |> rename(columns: {_time: "time"})
  |> sort(columns: ["time"], desc: false)

If we sort() (ie |> sort(columns: ["_time"], desc: false)before pivot(), data are still out of order at the end of the query.
As you can see in attached json files (generated with PHP Client 2.1.0 - but we have the same output in InfluxDB2 UI):

v1 output : all entries are ordred by date
v2 output : at the end, you will see old data

flux_query_output_v1.txt
flux_query_output_v2.txt
Environment info:

System info: CentOS 7.9
InfluxDB version: InfluxDB 2.0.8

Questions on our side:

After upgrade, can we enforce a bucket reindexation so that data are ordered again ? Or do we have to plan to do a post upgrade tasks which will rewrite all data in new buckets ?
We would prefer to avoid adding the sort() call everywhere in our apps. Otherwise what's the overhead of adding the sort() call to all our queries ?

Investigating further, seems the issue is in pivot(). If I look at the output from the 3 first lines, data seems in correct order. Then, once I apply pivot(), order is not maintained anymore.
So I think it will be required to add the sort() call after each query to be sure we have data in the right order.


[ppc64le] Undo setting of OMP_NUM_THREADS

This check was added because libopenblas on Power had threading
issues if OMP_NUM_THREADS was set higher than 1. This has been
fixed in all the latest versions of libopenblas and this check
is no longer needed.

Changes have been merged internally, waiting for auto-merge to happen.


[Year] comes before album even if set to be after album title

As subject says, the [Year] tag is being added to the beginning of the album title even though through settings the year tag is set to be after:
artistbeforetitle = True
addhyphen = True
addyear = After
But the output looks like this:
[2001] Anyone For Doomsday-

fixed


folder rename does not result in updated path

Testing #164522
Given this setup:

renaming folder "foo" to "bar" does trigger the prompt but the path "/foo/file_2.md" is not updated (and gets broken).

Still repros for me:

Still repros for me

Ugh this bug :/ I'm marking it as a candidate because I'm pretty sure the root cause (#164942) effects other markdown features too


.vimrc: set binary

The set binary option causes problems with tab-to-space conversion.
I also have this:
" Use 4 spaces for indentation and replace tabs in an intelligent way
set sw=4 sts=4 et

When combined with set binary, tabbing twice results in a tab rather than 8 spaces. Removing the set binary fixes the problem.

I cannot reproduce the issue. Using my current .vimrc, I opened the editor, then entered :set sw=4 sts=4 et, entered Insert Mode and hit ⇥ twice. In both Vim and gVim (MacVim) I ended up with 8 spaces.
What am I missing?
(I use tabs instead of spaces for indentation, so either way this is not a problem for me. I need the set binary to avoid adding empty newlines at EOF, though.)

I tried out your suggestion of remove et but I was still getting 2 tabs converting back to a tab rather than 8 spaces. Will do a bit more digging when I get home tonight.


fix source_data_schema

fix #244
Motivation
Issue #244
How to test the behavior?
from nwb_conversion_tools import OpenEphysRecordingExtractorInterface
OpenEphysRecordingExtractorInterface.get_source_schema()

@CodyCBakerPhD all we needed was a proper dictionary update, using our awesome dict_deep_update()
The weird error with TypeVar an Jupyter autoreload still exists though

@luiztauffer Check out my latest commit here, I was able to replicate your autoreload issue and simplified it to the following issue...

As you can see, with TypeVar, equality is checked at the object ID level, which changes when the values are reloaded from the module. Thus it is comparing two variables from two different environments, even though they have the same name. If TypeVar were an actual class, this wouldn't be an issue, but there wasn't a super good way to set up these File and Folder PathTypes as strict subclasses.
Anyway, the fix is pretty simple. It switches the annotation_type_map to a dictionary literal of string keys for each class, and the annotation check is applied to the string name of the Type.

Also, from the auto-populated checklist for the PR post that you deleted, the last item is including "fix #???" where ??? is the issue number as the first line of the PR so it automatically closes it upon merge - please remember to check that in the future. I've added it to your post now, though.

@CodyCBakerPhD seems to have locally! Good to merge


Add ability to test example DAG in UI

Please describe the feature you'd like to see
It would be nice if we can add the ability to test example DAG in airflow UI on the latest local astro-sdk code
Describe the solution you'd like
Spin the airflow instance using docker and we can keep make file to manage it like we have in astronomer-provider repo
Are there any alternatives to this feature?
Is there another way we could solve this problem or enable this use-case?
Additional context
Add any other context about the feature request here.
Acceptance Criteria
NA

I tried to do it here https://github.com/astronomer/astro-sdk/tree/spin_local_airflow_container it working but installation of astro-sdk in container looks bit hacky


[QoL] Fix or Remove false error outputs

Fairly regulary I get error messages printed into output on starting up my GD Sync project (0.6 C# enabled,  4.4 dev):

Everything seems to work just fine, but its pretty irritating nonetheless.
EDIT: These error also pop up every time when opening up the project settings
I don't know if this may be related but upon starting C# enabled projects, the editor also recognizes changes and marks the project as not saved, which is minor but still a bit annoying.
Overall, just some QoL / peace of mind suggestions, I appreciate your service!

This should now be fixed in version 0.7.