iOS release build: .env.production.local file does not overwrite variables defined in base .env file

[ ] Asked question in discussions
[x] Tried the troubleshooting Wiki
[x] Followed the migration Wiki

In iOS release build, variables defined in base .env file aren't overwritten by variables in .env.production.local
Reproduces only for iOS release builds. On Android there is no any issue.
To Reproduce
.env file:
SOME_VAR1=var1

.env.production file:
SOME_VAR2=var2

.env.production.local file:
SOME_VAR1=overwrite-var1
SOME_VAR2=overwrite-var2

Expected behavior
console.log(SOME_VAR1); // overwrite-var1
console.log(SOME_VAR2); // overwrite-var2
Actual behavior Android (release)
console.log(SOME_VAR1); // overwrite-var1
console.log(SOME_VAR2); // overwrite-var2
Actual behavior iOS (release)
console.log(SOME_VAR1); // var1 - but it should be overwritten by value in .env.production.local
console.log(SOME_VAR2); // overwrite-var2
RN: 0.70.6
react-native-dotenv: 3.4.2, 3.4.6
babel.config.js:
plugins:[
//...
  [
      'module:react-native-dotenv',
      {
        moduleName: '@env',
        path: '.env',
        safe: false,
        allowUndefined: true,
      },
   ],
]

A bit more info:

I don't use cache, it happens in CI that always start build from scratch by cloning repo into clean folder, installing deps etc.
I don't use APP_ENV, but I tried it and it doesn't help

hm... did you set your XCode config? https://github.com/goatandsheep/react-native-dotenv/wiki/Multi-env-troubleshooting#xcode

@goatandsheep I do use XCode schemes + build configuration like described in https://shockoe.com/ideas/development/how-to-setup-configurations-and-schemes-in-xcode/, but I don't set NODE_ENV anywhere - just didn't find where should I do that. But anyway, after some experiments I realized that .env.production.* files are used (so NODE_ENV=production in release configurations) like in issue description, but they aren't overwrite vars defined in base .env file.
Also I didn't give Full Access for XCode, like described in https://github.com/goatandsheep/react-native-dotenv/wiki/Multi-env-troubleshooting#xcode, but I don't think it matters for this case.

Thinking about Full Disk Access for XCode, but I don't understand for what case should I do that? Moreover I use cli for building apps with (XCode is not even opened).

Just tried to change set up for all release build configurations in XCode: for every Release build configuration added NODE_ENV=production user defined setting.
Also gave Full Disk Access for XCode
Nothing helps, unfortunately :(

I don't think it's some cache, but who knows....
I wipe out the repo folder before build in CI, clone RN app repo again, yarn install, xcodebuild clean..., xcodebuild archive..., so metro starts on every build by "Start Packager" script in XCode build phase that looks like the following:
export RCT_METRO_PORT="${RCT_METRO_PORT:=8081}"
echo "export RCT_METRO_PORT=${RCT_METRO_PORT}" > "${SRCROOT}/../node_modules/react-native/scripts/.packager.env"
if [ -z "${RCT_NO_LAUNCH_PACKAGER+xxx}" ] ; then
  if nc -w 5 -z localhost ${RCT_METRO_PORT} ; then
    if ! curl -s "http://localhost:${RCT_METRO_PORT}/status" | grep -q "packager-status:running" ; then
      echo "Port ${RCT_METRO_PORT} already in use, packager is either not running or not running correctly"
      exit 2
    fi
  else
    open "$SRCROOT/../node_modules/react-native/scripts/launchPackager.command" || echo "Can't start packager automatically"
  fi
fi

It doesn't work if Metro is started with the build and runs on another shell:
APP_ENV=staging react-native run-ios
APP_ENV=staging react-native run-android

It works if Metro is started alone
APP_ENV=staging react-native start

I have a strong suspicion as to what is going on here but I don't know why.
I added a bunch of console.log into react-native-dotenv. I discovered that everything in .env gets loaded into the environment. i.e. it exists in process.env when the babel transforms run.
So anything in the files is ignored because it exists in the environment.
I'm trying to work out what on the code side is pulling this into the environment.
I'm fairly sure it's code as my code push build, which calls metro directly, isn't affected.

I've worked this out for my particular use case.
I'm using sentry. sentry-cli gets called as part of the xCode build process. Sentry supports .env files to load in things like SENTRY_DSN.
You can disable it by setting SENTRY_LOAD_DOTENV=0

Hi @johnf ! Yes that's exactly how this is supposed to work. Sorry if there's been confusion and that you had to do all that digging.

@goatandsheep Do you think it's worth adding an entry to the README specifically about sentry? I'm happy to create a PR

I've worked this out for my particular use case.
I'm using sentry. sentry-cli gets called as part of the xCode build process. Sentry supports .env files to load in things like SENTRY_DSN.
You can disable it by setting SENTRY_LOAD_DOTENV=0

I'm also using sentry-cli, so I'll try to set SENTRY_LOAD_DOTENV=0 and inform here

I have used Sentry before, but haven't setup the DSN before so looked on this page https://docs.sentry.io/product/cli/configuration/
I don't think this is a good recommendation so I will not approve merging this to the README. My recommendation is to not push your keys to git and instead use the dashboards. This library is supposed to get the keys from the environment which is what the DSN does

@goatandsheep What I want to add (wiki could be OK) is a warning about sentry.
I am setting SENTRY_DSN in GitHub Action environment variables, but this happened to me.
My .env looks like this (simplified example)
APP_VERSION="git"

It's committed to git and will be loaded in on developer machines. In the burger menu Version: git is displayed as the version of the app.
As part of the CI process, I grab the git tag being processed and write the following to .env.local
APP_VERSION="1.4.1"

This works without any issues for my android builds. But for my ios builds, I was getting Version: git in my production app.
What was happening was this:

Sentry overrides the code build process in Xcode to build the JS bundle and upload the source files
It runs sentry-cli react-native xcode ../node_modules/react-native/scripts/react-native-xcode.sh
As part of this process, it has its own internal dotenv (using the go library, I believe)
This loads .env but not .env.local and sets the environment up for react-native-xcode.sh

This means when react-native-dotenv runs you have process.env.APP_ENV set to git. Most importantly, Sentry ignores .env.local.
This affects anyone who

Uses sentry in their react-native app
Has a variable in .env
Then changes it in .env.local

The env.local override will be ignored by react-native-dotenv because Sentry already loaded it into the environment.
From my perspective, this is completely unexpected behaviour from Sentry. I would never have expected that it supports .env files, and you must read the documentation thoroughly and deeply to discover it.
So perhaps we can add a one-liner to the readme like
NOTE: If environment variables are not loading correctly and use are using Sentry refer to WIKIPAGE

The wiki page could then dive into something like my explanation above and how to use SENTRY_DOTENV_LOAD=0

Oh interesting. This happens for local Sentry not just on the server. That is really bizarre.

Yeah it happens where ever you're running sentry-cli to upload the artifacts.
I'll throw some text together and send it across for you to add a little later

Okay I will update this entry to what you recommend https://github.com/goatandsheep/react-native-dotenv/wiki/Additional-Troubleshooting#sentry

Btw instead of setting to .env.local why don't you set to process.env ?

I can confirm that env variables are only overwritten on android and not on ios. The behavior is different. If a var exists in .env AND in .env.production, when building for production the .env.production won't be used on ios where it will on Android

This link https://shockoe.com/ideas/development/how-to-setup-configurations-and-schemes-in-xcode/ is not working mentioned here in docs https://github.com/goatandsheep/react-native-dotenv/wiki/Multi-env-troubleshooting#xcode

same issue here. do you have any suggestions about how to fix it or any workaround? thanks

I am not sure if it will help you but I am just checking my old git commit to what files I changed to make it work
I modified or created only these files:

.env
.env.development
babel.config.js include  'module:react-native-dotenv',

Now when I run the the app in dev mode react-native run-ios then it simply picks the variables from .env.development but when I create a release build it takes the variables from .env files.


Tweak Scheduling Config for Scheduled Tasks

Right now if you want to schedule a task to run multiple times a day, you actually create multiple tasks.
Think about if this is how we want it.
It's not bad, and it allows for tasks to be configured differently (e.g. a mid-day report that goes to less people than the daily report).
Maybe allow multiple times per task.
Allowing tasks to run every X hours/mins/secs would be a solution here,
but I am a fan of specifying a time of day for things to run.
This cuts down on ambiguity.

Implemented in a series of commits that ends with 5e394a0eee7b41add808d0dd22fe7c7bcfdfec4b.


Gauge and Taiko in 2021

From January 2021, Gauge and Taiko will move to being fully community managed open source projects.
After 6 years of fully sponsored development, ThoughtWorks will no longer sponsor a team to work full time on Gauge and Taiko.
Gauge saw its first release in 2014 when ThoughtWorks sponsored a small team to build a radically different framework around our solid experience in testing and software quality. In 2018, we released Taiko after feedback from Gauge users for the need for a different kind of browser automation tool.
As community managed open source projects, Gauge and Taiko joins other testing projects started at ThoughtWorks like Selenium/Webdriver, Mockito, Mountebank (and many more). ThoughtWorks is proud of these projects and they are thriving among their own communities.
Here’s a set of Q&A about what this decision means for the community and the future of the projects.
What happens to Gauge and Taiko after 2020?
From 2021, ThoughtWorks will no longer formally staff Gauge and Taiko teams. Gauge and Taiko will rely solely on community contributions.
Who will do Gauge and Taiko releases?
Gauge and Taiko releases along with its build infrastructure scripts are completely open source and automated using GitHub and GitHub Actions. Any modifications to the release process will be managed by core contributors.
Have you considered making Gauge and Taiko part of a foundation?
Yes. We are looking to do this over the next few months. We are still in early stages. Please do reach out to us if you can help us find one or have any recommendations.
What about Gauge and Taiko licenses and copyright?
Gauge and Taiko source use Apache and MIT licenses, respectively. Its content logo and assets are under Creative Commons. All contributions use Developer Certificate of Origin (https://developercertificate.org/)  for signing commits instead of a CLA.
Should I stop using Gauge/Taiko and migrate my tests?
ThoughtWorks will staff the Gauge and Taiko team till the end of 2020. The projects will remain open source and open to contributions during this period and beyond. The projects will have a release cycle based on contributions.
Please feel free to comment on this issue if you have any more questions.

Many thanks for the great work you guys (+ the community of course) have done and the great products that have come out of it. I've been using Taiko since recently and I have to say that especially its "black box testing" features are absolutely outstanding and make writing and maintaining e2e tests a pure joy. You can be very proud of what you have achieved in the past years and I hope Taiko will continue to thrive in 2021 and beyond. 👏 🙇♂

Thank you!
Great jobs!

can you provide the roadmap before 2021?
we look forward some feature: #1356 #1443
1356,can make the distribute running infrastructure (spec and test can run in grid cluster)
1443,can make the script authoring 10X

@zabil

Gauge+Taiko+Selenoid

Please refer https://github.com/orgs/getgauge/projects/6 for items in the backlog and which are worked upon.

@zabil ，thank you！
We can write some docs about our “gauge grid” or “taiko grid”，that make we can run spec in large browser cluster！

It's really a pity. Taiko is a great tool

@fmancardi to be be clear Taiko is pretty much stable and feature packed. It will still be round.


CSS broken

Sometimes its fine on deployment, sometimes not.

Why would this happen?

This is related to this issue - https://github.com/rohit-gohri/redocusaurus/issues/215
There is currently no clear fix for this, you can follow the history of this in the original thread. I'll close this as duplicate


Restapi 569 compute to be able to select file in target machine filesytem for submission

Compute endpoint can submit sbatch files located in the target system

Job submission until now was done uploading a sbatch file with POST compute/jobs
Now, in order to create an endpoint for job submission that allows submitting a file in a path in the target system, the endpoint POST compute/jobs/path has been created.
POST compute/jobs/uploadwill replace the old one (POST compute/jobs) (since RESTAPI can't return the same resource for different options with the same endpoint).
Changed openAPI specification.

Changed functions check_sourcePath (checked if a file exists) and check_targetPath (checked if a directory exists) for is_valid_file and is_valid_dir and moved to cscs_api_common.py

Note: since this branch was created before merging @aledabin's code in dev branch, there should be some "merge issues" to solve.

Please @fcndl let's prepare some tests before closing this PR. I'd suggest:

Create a sbatch file in the cluster
Submit the job successfully
Submit a non existing sbatch file
Submit a non accessible (read permission denied) sbatch file
Submit using an empty targetPath param.

Feel free to add others.

Thanks @fcndl for the feedback. These are the changes I've implemented

Now to check if the file is accessible to the user, uses tail command.
In test_unit_compute the call is a POST, therefore the status code retrieved from F7T is 201 (please skip the comment on commit e9c652b)
In test_unit_storage

to test a non-accessible file I used the /srv/f7t/test_sbatch_forbidden.sh file
Added a test if a directory is required to be downloaded.


Adding checkpoint backwards compatibility tests after 0.23.0 release

What does this PR do?
Following the release processing doc, this is the last step to add checkpoint backward compatibility tests

@mvpatel2000 , @snarayan21  sounds good. I will fire Daily test after the CI issues are resolved.

Can you run dailies and make sure they pass before merging this? And it would be helpful to link the daily test run in a comment

The daily test indeed failed test_fsdp_load_old_checkpoint. It seems expected because 2.1/2.3 can't load checkpoint saved by 2.3. I see it skipped composer 0.22.0. I guess I should do a similar change here.   @snarayan21 , is my understanding correct ? I started a new daily test.


Legend style not showing properly on IE

Legend icons are not appearing on the editor on visualizations on Internet Explorer with a custom legend. I tried in IE9 and IE11 with same results.
Example viz that fails
Other viz that is not working
Screenshots on Chrome and then IE with the editor and visualization

The user is working with a legend like this, not sure if this is generated by

Grifos

		Grifos

I'm inclined to think there's a problem on that template because I created another map with icons and the default legend and it's working on IE but it's like the style attribute is being removed but I'm not sure.

Also seeing this issue, see this map: https://stocktonca.cartodb.com/u/stockton-admin/viz/2e7043d0-84b4-11e5-bf5f-0e674067d321/public_map

Working on a similar (probably the same) issue: https://github.com/CartoDB/cartodb/issues/3068

Closing for duplication with https://github.com/CartoDB/cartodb/issues/3068


Closures and flow control commands

In Elvish, blocks in control structures like if, for, etc. are really just closures. This simplifies scoping and encourages use of higher order function.
However, using closures as blocks require one important extension: flow control commands like return, continue and break need to have knowledge of the surrounding closure. For instance, in
fn f {
    if true {
        return 1
    }
}

The return terminates the fn-block, not the if-block.
Open questions:

How should this be done exactly? Should it be part of the type system?
Should the ability to interpret flow control commands be exposed to commands, so that control commands like for can be implemented by the user?

Merged into #13.


Audit nullable annotations

In the client API, we mark some arguments as nullable (notnullable). Others like cacheName, collection name, etc are not annotated all together. Audit the arguments across the board this.

@malandis  : @nand4011 and I have discussed this and I think we are leaning toward removing most of them for now.  You should touch base with him before you do any work on this front.

We decided to use annotations across the top level API.


Automated cherry pick of #1568: fix cache domain tenants

Cherry pick of #1568 on release/2.11.0.
#1568: fix cache domain tenants

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11.0@6033002). Click here to learn what that means.
The diff coverage is 0%.

@@               Coverage Diff                @@
##             release/2.11.0   #1591   +/-   ##
================================================
  Coverage                  ?   7.68%
================================================
  Files                     ?     411
  Lines                     ?   63040
  Branches                  ?       0
================================================
  Hits                      ?    4842
  Misses                    ?   57790
  Partials                  ?     408

Flag
Coverage Δ

#aFlag
7.68% <0%> (?)

Impacted Files
Coverage Δ

pkg/cloudcommon/db/tenantcache.go
1.36% <0%> (ø)

pkg/compute/models/cloudaccounts.go
1% <0%> (ø)

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 6033002...9cc57b9. Read the comment docs.

/lgtm
/approve


Local parallax, using local mouse coordinates instead of window one.

Description
I added multiple scenes to one pages and added multiple <MouseParallax/>component.
Problem is, the ones after the first on top of tha page, had strange behaviour due to the fact that the component uses the position of the mouse in windows, not on the object.
IIt may be useful to add a prop to let the component use its local position instead.
Also it could be nice to add the possibilities to configure also the scrolloption of useMouse
I never proposed nor pushed PR to OSS and i really would like to start, and this seems something easy (i already reimplemented it in a project)...
Suggested solution
in MouseParallax.vue add a local boolean prop that then pass the option of the target to useMouse()
The prop should also enable useElementSize() as the source for widthand height instead of useWindowSize().
Alternative
No response
Additional context
No response
Validations

[X] I agree to follow this project's Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.

I Love the Idea, PRs is welcome.
If any doubt about the process please feel free to ask me, also, please read the contribution guide first :D
Is it ok if I assign you here, right?

Yes please, assign it to me!
I'll contact with you if i enconunter some problem... thanks!

Close by https://github.com/Tresjs/cientos/pull/402


SAA-1814: fix cron details for zero pay data fix

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 83.74%. Comparing base (7b31c12) to head (8a63bd7).

Additional details and impacted files
@@            Coverage Diff            @@
##               main     #995   +/-   ##
=========================================
  Coverage     83.74%   83.74%
  Complexity     3724     3724
=========================================
  Files           382      382
  Lines         12408    12408
  Branches       1088     1088
=========================================
  Hits          10391    10391
  Misses         1518     1518
  Partials        499      499

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


why does vscode execute my selection so slowly in python console?

This has been annoying me for weeks, it's usually not this bad but it's honestly like a snail at this point.
I can either run a specific line, or select some code and run the selection which sends that selection to the python console.
Why does this happen so slowly? See the gif...

Using Windows10 64bit.
Python 3.7
Is there any way to fix this? It was always kind of annoying but now it's just unbearable to run a block of code, I might as well type it

Unfortunately this is dependent on VS Code itself. In order to make a change it will require a change upstream. If you would like to see such a change then please open an issue at https://github.com/microsoft/vscode.


Added 'pack image tag' param to 'az acr pack build'

@qwordy please take a look.

@qwordy please take a look.

OK

In the above commit,

Solve conflict.
CI has problems. Merge latest dev branch to contain the fix of CI.

In the above commit,

Solve conflict.
CI has problems. Merge latest dev branch to contain the fix of CI.

Thanks - merged from latest dev.


Fix redis authentication reattempt issue

⚠⚠⚠ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules:
https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md#can-i-create-a-pull-request-for-uptime-kuma
Tick the checkbox if you understand [x]:

[x] I have read and understand the pull request rules.

Description
In the event, an Auth attempt fails to redis, it will continue to send auth commands. needed to add a disconnect and an additional isOpen check to prevent trying the ping after the connection is disconnected.
While testing this I found an uncaught exception error when auth is needed to the server but no auth was defined:
Trace: [ErrorReply: NOAUTH Authentication required]
    at process.<anonymous> (/home/kefoster/docker/uptime-kuma/src_uptime_kuma/uptime-kuma/server/server.js:1809:13)
    at process.emit (node:events:513:28)
    at emit (node:internal/process/promises:149:20)
    at processPromiseRejections (node:internal/process/promises:283:27)
    at process.processTicksAndRejections (node:internal/process/task_queues:96:32)
If you keep encountering errors, please report to https://github.com/louislam/uptime-kuma/issues

Type of change

Bug fix (non-breaking change which fixes an issue)

Checklist

[x] My code follows the style guidelines of this project
[x] I ran ESLint and other linters for modified files
[x] I have performed a self-review of my own code and tested it
[ ] I have commented my code, particularly in hard-to-understand areas
(including JSDoc for methods)
[x] My changes generate no new warnings
[ ] My code needed automated testing. I have added them (this is optional task)

@CommanderStorm  I addressed the comments you left. and did some further testing, to confirm the it always calls either resolve or reject.


Displaying times on page

I just tested the latest version of Toggl button on my eProject service and noticed that times no longer display next to the timer button.
This is what I use to have in some areas on the site. Eg. Task lists and single task showed the time.

So my question is, was this removed or was it just changed in the way its handled and I need to update my code?
Edit: I see they were removed https://github.com/toggl/toggl-button/commits/master/src/scripts/content/eproject.me.js
Just don't know why?

I believe this feature was phased out due to flaws and it was not up to quality standard. Closing this issue in favour of https://github.com/toggl/toggl-button/issues/508.


groups factor in histogram/horizon datatrack doesnt change its color

Hello,
I've been struggling to understand an error that makes impossible to overlay histogram tracks without confusing the data. In specific, I have not been able to change the color of data tracks based on the factor assigned in their group. If I use line or points plot the factor grouping works, e.g.:
library(Gviz)
gr1 = GRanges(seqnames = "chr1",ranges = IRanges(start = seq(1,100,by = 10),width = 5))

dt1 <- DataTrack(
  range = gr1,
  data = 1:10,
  alpha.title = 1,
  groups = factor("forward",levels = c("forward", "reverse")),
  type = c("p"),
  name = "forward only"
)

dt2 <- DataTrack(
  range = GenomicRanges::shift(gr1,3),
  data = 10:1 + 89,
  alpha.title = 1,
  groups = factor("reverse",levels = c("forward", "reverse")),
  type = c("p"),
  name = "reverse only"
)

plotTracks(list(dt1,dt2))

But not if it's an histogram, e.g.:
dt1 <- DataTrack(
  range = gr1,
  data = 1:10,
  alpha.title = 1,
  groups = factor("forward",levels = c("forward", "reverse")),
  type = c("histogram"),
  name = "forward only"
)

dt2 <- DataTrack(
  range = GenomicRanges::shift(gr1,3),
  data = 10:1 + 89,
  alpha.title = 1,
  groups = factor("reverse",levels = c("forward", "reverse")),
  type = c("histogram"),
  name = "reverse only"
)

plotTracks(list(dt1,dt2))

I noticed that on an original version it seemed to be working as intended (as shown in a much older bug):
https://github.com/ivanek/Gviz/issues/1
However, even using the same code, I'm not able to make the same figure. At first, I thought it could be due to the version of Gviz so I moved to R 4.3 and installed the most recent version of Gviz, however the issue remains. Changing OS between windows and Ubuntu didn't help either.
Finally, I also noticed that in the vignette of Gviz, the grouping worked for the overlay with points plot but not the one of the histogram:
https://bioconductor.org/packages/release/bioc/vignettes/Gviz/inst/doc/Gviz.html#62_Overlays
So perhaps this error have been present in a while. For now, I tried to alter the color schema using displayPars, however I am not able to have a proper legend.
Thanks for any info or work around this issue
Cheers

Hi @AmhedVargas,
Thanks for spotting it. I have fix 82fb103 it and pushed the update to Bioc 3.17 (version 1.43.3 in devel branch) but I am not sure if that would be directly reflected in first release 1.44.0. If not I back-port it there.

Hey @ivanek,
Thanks for your prompt reply and fix. I'll be updating Gviz much later then. For now, I solved the problem by changing the colors in the displayPars and then overlaying multiple times the plot with the right legend. Thanks again.


Missing wraper for promiscous mode.

The enablement of promiscous mode isn't wrapped in a safe function.

do you want to create an PR for it ?

Of course. Btw, ever noticed that the promisc mode described in the docs is actually monitor mode?

oh that sounds interesting. i never played with both before on esp, still on my todo list. does the esp driver can sniff on other packets while being an ap itself and send data to clients or does it come with some limitations?

Promiscuous mode for Eth would be nice too.


Cleanups for testing

As a consumer of this library via home assistant, I'd like to get some testing in there. This starts with a few simple changes on one of the manual scripts, then the introduction of tox linting as an easy place to get some verification into the library. I'll see about adding in real pytest tests as I go.

Thank you for the pull request.  I will check it out ASAP.


Node.insertBefore() second parameter is not optional

This is in the definition of a DOM Node, from lib.d.ts:
insertBefore(newChild: Node, refChild?: Node): Node;

According to it, refChild is optional, which is not true according to the MDN documentation and certainly causes a runtime error in Google Chrome.

PRs welcomed. You can find more information about contributing lib.d.ts fixes at https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md#contributing-libdts-fixes.


Ensure -mavx2 is added to CFLAGS when AVX2 intrinsics enabled

This should fix #82.

So, this isn't quite the right way to fix this. We can't just enable -mavx2 on all source files. Daala does runtime CPU detection, which means that only the source files with avx2-only functions can be safely compiled with -mavx2. Another solution, suggested by @smarter, would be to add a OD_CFLAGS variable that would be added to CFLAGS in the makefile for purposes such as this.


Iris context line break incorrectly formatted

See also: https://gitlab.mpi-sws.org/iris/iris/-/issues/581
With Iris, the context output is incorrectly formatted.
Lemma asm (P : iProp Σ) : P ⊢ P.
Proof.
  (**
    To enter the Iris Proof Mode, we can use the tactic [iStartProof].
    However, most Iris tactics will automatically start the Iris Proof
    Mode for you, so we can directly introduce [P].
  *)
  iIntros "H".
  (**
    This adds [P] to the spatial context with the identifier ["H"]. To
    finish the proof, one would normally use either [exact] or [apply].
    So in Iris, we use either [iExact] or [iApply].
  *)
  iApply "H".
Qed.

Output:

The separator --- should be on its own line.

coqtop seems to be generating the correct output:
asm <   iIntros "H".
1 goal

  Σ : gFunctors
  P : iProp Σ
  ============================
  "H" : P
  --------------------------------------∗
  P

This makes Iris very hard to use
Maybe related to #852.

Looks loke a bug, thanks for reporting


Create content for "How to backdate test results"

We've seen a handful of requests from users around how to backdate test results. We want to create content on the help page that tells users how to do this.

Instructions Alicia shared with a user:

What's the timeline and priority for this @LGFranklin ?

@LGFranklin suggested copy for this in the v4 doc (suggested changes under "Backdate a test result") for your review.

Linking to #156 where new content will go. Waiting on input from @LGFranklin on use of Snagit vs. other method for screenshots

Also linking to the original request 1464


show create table is broken for system tables

Hi!
here is an example:
clickhouse-client -u readonly -h XXX;
ClickHouse client version 1.1.54310.
Connecting to XXXX as user readonly.
Connected to ClickHouse server version 1.1.54235.

:) show create table system.tables;

SHOW CREATE TABLE system.tables

Received exception from server:
Code: 107. DB::Exception: Received from XXXX. DB::Exception: Cannot open file /var/lib/clickhouse/metadata/system/tables.sql, errno: 2, strerror: No such file or directory.

0 rows in set. Elapsed: 0.051 sec.

:) show create table system.one;

SHOW CREATE TABLE system.one

Received exception from server:
Code: 107. DB::Exception: Received from XXXX. DB::Exception: Cannot open file /var/lib/clickhouse/metadata/system/one.sql, errno: 2, strerror: No such file or directory.

0 rows in set. Elapsed: 0.045 sec.

:) show create table system.tables;

Yes, because they weren't created with a CREATE TABLE query :)
You can get information about the structure of the system tables with a DESCRIBE TABLE query.


SyncVar but for properties

Please explain the suggested feature in detail.
I initially thought there is some technical reason why this isn't supported, but then I found out it's possible to define a hook for a SyncVar, which allows you to execute code when the value of a SyncVar field changes. This should mean it's possible to create a SyncPropAttribute which works almost exactly like SyncVarAttribute, except the SetMethod of the PropertyInfo is always called instead of a hook function.
I tried hacking my own implementation for this into my copy of Mirror, but the code for SyncVar is too complicated for me - writing IL is not something I have any experience with at all.
How exactly does this keep you from releasing your game right now?
It does not, but it would make my life quite a bit easier. I'm not putting any priority on this feature request.

Being able to sync properties will probably be harder than sync fields since properties can have custom get and set that doesn't even have a backing value.
It might be better to just use a backing field that is a syncVar, and use the hook function to do any work when it changes.

I think will be almost impossible to do that.
Best workaround would be having a private variable, and a computed variable as public if you need.
private Object _someObject; public Object someObject {    get { return _someObject; }   set { _someObject = value; }  }

Does this not work?  I havn't tested it - but i know you can do this with other attributes to target the hidden backing store field of the auto property.
[field: SyncVar]
public Object someObject { get; set; }

Just tested [field: SyncVar] and it seems like it might work, the compiled code looks the same as a syncVar on a field.

[field: SyncVar]
public int NumberAutoProp { get; set; }

I didn't know you could do that in C#. If you used the third approach though, then the property setter would not be called by Mirror, would it? That's what I was hoping for.
You couldn't assign "set_NumberWithBacking" as the hook either because the signature does not match (Mirror passes the previous value as well as the new value, but a setter only takes the new value).

you could call the hook from with the setting, and then put the logic in the hook
set
{
    int oldValue = _numberWithBacking;
    _numberWithBacking = value;
    numberWithBackingHook(oldValue, value);
}

Another thing to think about @Foxite is with something like
[field: SyncVar(hook = nameof(hook)]
public int NumberAutoProp
{
    get => _numberWithBacking;
    set
    {
        _numberWithBacking = value;
        // some custom set code here
    }
}

If you put custom functionality in your property setter - when mirror syncs the data across the wire it also won't get called because its only syncing the backing field (not the property) AND only the hook on the syncvar of the backing field will get called so it creates these really strange flows of somethings are called in some paths and some things are called in different paths - which IMO makings code really really confusing.  So i feel like doing this is only really valid when you need a private setter but public getter which you cannot do with a SyncVar on a field
[field: SyncVar]
public int NumberAutoProp { get; private set; }

as thats really the only sane way to use this in relation to SyncVar IMO without driving yourself nuts.

I think [field: Attribute] only works on Auto-Implemented Properties, visual studio should give a warning if you have a backing field.
Even with this mirror calls the automatically generated backing field and not the set property when syncing. Without doing real testing it does look like it should work fine.
public int NumberAutoProp { get; set; }

I agree that the only valid/useful way to use this is when you need a private setter


include _count leads to error when using Turso

Bug description
When using Turso and attempting to generate an aggregated count, an error similar to the following is thrown
PrismaClientKnownRequestError:
Invalid `prisma.topic.findMany()` invocation:
Inconsistent column data: Conversion failed: expected a either an i64 or a f64 in column '_aggr_count_tools', found null

I think this error is thrown if the count for a specific relation equals 0.
This is the same as #23140 but that one was closed without solution.
How to reproduce
With a Turso setup, run a query similar to the following:
const topics = await prisma.topic.findMany({
  include: {
    _count: {
      select: {
        tools: true,
      },
    },
  },
})

Expected behavior
No response
Prisma information
model Tool {
  id             Int              @id @default(autoincrement())
  name           String
  slug           String           @unique
  updatedAt DateTime @updatedAt
  createdAt      DateTime         @default(now())
  topics          Topic[]
}

model Topic {
  id    Int             @id @default(autoincrement())
  name  String
  slug  String      @unique
  tools Tool[]
}

Environment & setup

OS: macOS
Database: Turso (LibSQL)
Bun 1.0.25

Prisma Version
5.11.0

Hi @piotrkulpinski.
Does the issue reproduce with an empty Turso database, or only when there is specific data in it? If later, could you provide a sample of that data?

Hi @piotrkulpinski, I wasn't able to reproduce this issue. Here's what I tried, using both Prisma versions 5.11.0 and 5.12.0-dev.45 (latest unstable version available). Note: I've used Node.js 20.9.0, not Bun.

schema.prisma
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["driverAdapters"]
}

datasource db {
  provider = "sqlite"
  url      = "file:./dev.db"
}

model Tool {
  id        Int      @id @default(autoincrement())
  name      String
  slug      String   @unique
  updatedAt DateTime @updatedAt
  createdAt DateTime @default(now())
  topics    Topic[]
}

model Topic {
  id    Int    @id @default(autoincrement())
  name  String
  slug  String @unique
  tools Tool[]
}

TypeScript snippet
import process from 'node:process'
import { createClient } from '@libsql/client'
import { PrismaLibSQL } from '@prisma/adapter-libsql'
import { PrismaClient } from '@prisma/client'

type Env = {
  TURSO_DATABASE_URL: string
  TURSO_AUTH_TOKEN: string
}

function getPrisma(env: Env) {
  const connectionString = `${env.TURSO_DATABASE_URL}`
  const token = `${env.TURSO_AUTH_TOKEN}`

  const turso = createClient({
    url: connectionString,
    authToken: token,
  })
  const adapter = new PrismaLibSQL(turso)
  return new PrismaClient({ adapter })
}

async function main() {
  const prisma = getPrisma(process.env as Env)

  await prisma.tool.deleteMany()
  await prisma.topic.deleteMany()

  await prisma.topic.create({
    data: {
      id: 1,
      name: 'Prisma',
      slug: 'prisma',
    }
  })

  const topics = await prisma.topic.findMany({
    include: {
      _count: {
        select: {
          tools: true,
        },
      },
    },
  })

  console.log('[topics]')
  console.dir(topics, { depth: null })
}

main()

Output:
[topics]
[
  {
    id: 1,
    name: 'Prisma',
    slug: 'prisma',
    _count: { tools: 0 }
  }
]

Can you please provide your own reproduction to this issue, so we can evaluate it and hopefully fix it internally? Thanks.

this is happening to me as well with prisma + Turso. It only seems to happens when 1 record has no relations and another does. Confirmed it doesn't happen when adapter is not passed to PrismaClient
here is my example:
schema.prisma
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["driverAdapters"]
}

datasource db {
  provider = "sqlite"
  url      = "file:./db.sqlite"
}

model User {
  id Int @id
  posts Post[]
}

model Post {
  id Int @id
  userId Int
  user User @relation(fields: [userId], references: [id], onDelete: Cascade)
}

test.ts
import { createClient } from "@libsql/client";
import { PrismaLibSQL } from "@prisma/adapter-libsql";
import { PrismaClient } from "@prisma/client";

const libSql = createClient({
	url: "file:./prisma/db.sqlite",
});

const adapter = new PrismaLibSQL(libSql);
const prisma = new PrismaClient({ adapter });

await prisma.user.deleteMany({});
await prisma.post.deleteMany({});

await prisma.user.create({
	data: {
		id: 1,
	},
});
// causes crash --
await prisma.user.create({
	data: {
		id: 2,
		posts: {
			create: {
				id: 123,
			},
		},
	},
});

// crashes - when 1 user has no posts and 1 does
await prisma.user.findMany({
	include: {
		_count: {
			select: {
				posts: true,
			},
		},
	},
});

crashes with error mentioned in post:
PrismaClientKnownRequestError:
Invalid `prisma.user.findMany()` invocation:

Inconsistent column data: Conversion failed: expected a either an i64 or a f64 in column '_aggr_count_posts', found null
 code: "P2023"

      at new V (/Users/andrew/Desktop/zen-test/node_modules/@prisma/client/runtime/library.js:22:1414)
      at handleRequestError (/Users/andrew/Desktop/zen-test/node_modules/@prisma/client/runtime/library.js:122:6854)
      at handleAndLogRequestError (/Users/andrew/Desktop/zen-test/node_modules/@prisma/client/runtime/library.js:122:6183)
      at /Users/andrew/Desktop/zen-test/node_modules/@prisma/client/runtime/library.js:122:5891

Any update on the issue am facing the same. did anyone find a solution?

Hi @piotrkulpinski, @AbdulrhmanBagazi and others. This issue was fixed via https://github.com/prisma/prisma-engines/pull/4893, and will be released in the next stable version of Prisma (5.15.0) early next week.
You can try it out right now with an (unstable) dev version of Prisma: 5.15.0-dev.50. Thanks!

I had same issue and now I saw the update and worked, good job!


Fix deprecation warning

Replaces NSYearCalendarUnit with NSCalendarUnitYear to fix the deprecation warning under iOS 8.

Is it ok to use NSCalendarUnitYear in iOS 7?

iOS 8+ only, so close this PR without merging if you want to maintain iOS 7 support.


map issue_id and commit_id

Description
Map issue_id (from issue management domain) and commit_id (from issue management domain) to calculate metrics such as bug count per commit.
This is a requirement proposed by our EE team to observe the delivery quality of their work.
Describe the solution you'd like
Users have 2 logical ways to map the 2 entities: issue and commit.

associate commit(s) to an issue, no matter it's the id, url, or value that contains the distinct identifier of a commit. Eg. use a field in Jira issue to store commit url.
associate issue(s) to a commit, no matter it's the key, url, or value that contains the distinct identifier of an issue. Eg. add an issue key like "EE-2581" in a commit message in Gitlab.

The EE team uses Gitlab for Jira, a Jira plugin that enables commits, branches, and MR in Gitlab projects to be synced to Jira.
When developers submit a commit with a commit message that includes an issue key like "EE-5315", the Gitlab url of this commit will automatically be stored in the web link field of a Jira issue. E.g. merico.gitlab.com/xxx/~/commit-abcdefg.
We can parse the web link value to get the commit id, abcdefg, by parsing the web link that matches the commit url rule.

However, this approach is only used by our EE team. Other users may use various personalized ways to log the commit identifier in a field of an issue. Therefore, we should

[ ] allow users to specify the field to be parsed, no matter in which domain the field is
[ ] allow users to specify the parsing rule by configuration

ER Relation between Issue and Commit
Issue:commit  = n:n
An issue can map to multiple commits, a commit can map to multiple issues.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Additional information for GitLab.com for Jira Cloud

https://marketplace.atlassian.com/apps/1221011/gitlab-com-for-jira-cloud?tab=overview&hosting=cloud

GitLab for Jira requires:

GitLab.com. Self-managed GitLab is not supported.
Atlassian Cloud.

TODO: add jira-gitlab testing data getting handbook. @narrowizard


[BUG] No WinGet packages shown in Software Updates / Installed Packages tabs

Please confirm these before moving forward

[X] I have searched for my issue and have not found a work-in-progress/duplicate/resolved issue.
[X] I have tested that this issue has not been fixed in the latest (beta or stable) release.
[X] I have checked the FAQ section for solutions.
[X] This issue is about a bug (if it is not, please use the correct template).

UniGetUI Version
3.1.0 beta 1
Windows version, edition and architecture
Windows 11 Pro
Describe your issue
There are some similar open issues but I'm not sure if they're actually the same problem.
For some reason, no WinGet packages show in the Software Updates tab or the Installed Packages tab, even though UniGetUI says Winget is enabled and ready to go (i.e. it's found). Both tabs' Sources section list Npm, Pip, Scoop, etc, but not Winget. There are no open winget*.exe processes to quit as you suggested in another issue. Refreshing the updates/installed tabs does not reveal the WinGet packages either. I don't know any way to cause them to be shown.
Could this be related to the missing WinGet PowerShell Module as see in the screenshot from #2375?
I could run Install-Module Microsoft.WinGet.Client but then I won't be able to test the fix from the just mentioned issue when beta 2 releases (if another beta is coming).
I noticed that there's a reset sources button in the UniGetUI's WinGet settings. I ran it thinking it may help and it produced this:
The system cannot find the path specified.
Info: Elevation allowed for process Id 14320 and children.
Warning: Cache is a security risk. Use `gsudo cache off` (or `-k`) to go back to safety.
This script will reset winget sources.
. Please wait...
winget path: "C:\Program Files\UniGetUI\Assets\Utilities\..\..\winget-cli_x64\winget.exe"
Deleting Winget local data sources...
Performing reset...
Resetting bundled WinGet
Removing source: winget...
Done
Adding source:
  winget -> https://cdn.winget.microsoft.com/cache
  ██████████████████████████████  5.77 MB / 5.77 MB
Done
Resetting all sources...Done
Resetting Native WinGet
Removing source: winget...
Done
Adding source:
  winget -> https://cdn.winget.microsoft.com/cache
  ██████████████████████████████  5.77 MB / 5.77 MB
Done
Resetting all sources...Done
Info: Cache session closed.
Task completed!
You can now close this window and restart UniGetUI
Press any key to continue . . .

The The system cannot find the path specified line looks fishy.
Steps to reproduce the issue
Unsure.
UniGetUI Log
[01/07/2024 21:21:50] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Winget
                      █ Enabled: True
                      █ Found: True
                      █ Fancye exe name: winget.exe
                      █ Executable path: D:\Scoop\shims\winget.exe
                      █ Call arguments:
                      █ Version:
                      █   Naive WinGet CLI Version: v1.7.11261
                      █   Microsoft.WinGet.Client PSModule version:
                      █   Using Native WinGet helper (COM Api)
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

Package Managers Logs
Manager Winget with version:
Naive WinGet CLI Version: v1.7.11261
Microsoft.WinGet.Client PSModule version:
Using Native WinGet helper (COM Api)

——————————————————————————————————————————

Logged native task on manager Winget. Task type is ListSources
Process start time: 01/07/2024 21:47:37
Process end time:   01/07/2024 21:47:37

-- Task information
  Found source msstore with argument https://storeedgefd.dsx.mp.microsoft.com/v9.0
  Found source winget with argument https://cdn.winget.microsoft.com/cache

The task reported success

——————————————————————————————————————————

Logged subprocess-based task on manager Winget. Task type is RefreshIndexes
Subprocess executable: "D:\Scoop\shims\winget.exe"
Command-line arguments: " source update --disable-interactivity"
Process start time: 01/07/2024 21:47:41
Process end time:   01/07/2024 21:47:43

-- Process STDOUT
  Updating all sources...
  Updating source: msstore...
  Done
  Updating source: winget...

   -
   \
   |

Done

Return code: SUCCESS (0)

——————————————————————————————————————————

Logged subprocess-based task on manager Winget. Task type is ListPackages
Subprocess executable: "C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe"
Command-line arguments: "-ExecutionPolicy Bypass -NoLogo -NoProfile"
Process start time: 01/07/2024 21:47:41
Process end time:   01/07/2024 21:47:45

-- Process STDIN
  Write-Output (Get-Module -Name Microsoft.WinGet.Client).Version
  Import-Module Microsoft.WinGet.Client
  function Print-WinGetPackage {
      param (
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Name,
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Id,
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $InstalledVersion,
          [Parameter(ValueFromPipelineByPropertyName)] [string[]] $AvailableVersions,
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [bool] $IsUpdateAvailable,
          [Parameter(ValueFromPipelineByPropertyName)] [string] $Source
      )
      process {
          Write-Output("#" + $Name + "`t" + $Id + "`t" + $InstalledVersion + "`t" + $Source)
      }
  }

  Get-WinGetPackage | Print-WinGetPackage

  exit

-- Process STDOUT
  PS C:\Program Files\UniGetUI> Write-Output (Get-Module -Name Microsoft.WinGet.Client).Version
  PS C:\Program Files\UniGetUI> Import-Module Microsoft.WinGet.Client
  PS C:\Program Files\UniGetUI> function Print-WinGetPackage {
  >>     param (
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Name,
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Id,
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $InstalledVersion,
  >>         [Parameter(ValueFromPipelineByPropertyName)] [string[]] $AvailableVersions,
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [bool] $IsUpdateAvailable,
  >>         [Parameter(ValueFromPipelineByPropertyName)] [string] $Source
  >>     )
  >>     process {
  >>         Write-Output("#" + $Name + "`t" + $Id + "`t" + $InstalledVersion + "`t" + $Source)
  >>     }
  >> }
  >>
  PS C:\Program Files\UniGetUI> Get-WinGetPackage | Print-WinGetPackage
  PS C:\Program Files\UniGetUI>
  PS C:\Program Files\UniGetUI>
  PS C:\Program Files\UniGetUI> exit

-- Process STDERR
  Write-Output : The term 'Write-Output' is not recognized as the name of a cmdlet, function, script file, or
  operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
  again.
  At line:1 char:1
  + Write-Output (Get-Module -Name Microsoft.WinGet.Client).Version
  + ~~~~~~~~~~~~~~~
      + CategoryInfo          : ObjectNotFound: (Write-Output:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException

  Import-Module : The specified module 'Microsoft.WinGet.Client' was not loaded because no valid module file was found
  in any module directory.
  At line:1 char:1
  + Import-Module Microsoft.WinGet.Client
  + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      + CategoryInfo          : ResourceUnavailable: (Microsoft.WinGet.Client:String) [Import-Module], FileNotFoundExcep
     tion
      + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

  Get-WinGetPackage : The term 'Get-WinGetPackage' is not recognized as the name of a cmdlet, function, script file, or
  operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
  again.
  At line:1 char:1
  + Get-WinGetPackage | Print-WinGetPackage
  + ~~~~~~~~~~~~~~~~~
      + CategoryInfo          : ObjectNotFound: (Get-WinGetPackage:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException

Return code: SUCCESS (0)

——————————————————————————————————————————

Logged native task on manager Winget. Task type is ListSources
Process start time: 01/07/2024 21:47:42
Process end time:   01/07/2024 21:47:43

-- Task information
  Found source msstore with argument https://storeedgefd.dsx.mp.microsoft.com/v9.0
  Found source winget with argument https://cdn.winget.microsoft.com/cache

The task reported success

——————————————————————————————————————————

Logged subprocess-based task on manager Winget. Task type is ListUpdates
Subprocess executable: "C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe"
Command-line arguments: "-ExecutionPolicy Bypass -NoLogo -NoProfile"
Process start time: 01/07/2024 21:47:43
Process end time:   01/07/2024 21:47:46

-- Process STDIN
  Write-Output (Get-Module -Name Microsoft.WinGet.Client).Version
  Import-Module Microsoft.WinGet.Client
  function Print-WinGetPackage {
      param (
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Name,
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Id,
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $InstalledVersion,
          [Parameter(ValueFromPipelineByPropertyName)] [string[]] $AvailableVersions,
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [bool] $IsUpdateAvailable,
          [Parameter(ValueFromPipelineByPropertyName)] [string] $Source
      )
      process {
          if($IsUpdateAvailable)
          {
              Write-Output("#" + $Name + "`t" + $Id + "`t" + $InstalledVersion + "`t" + $AvailableVersions[0] + "`t" + $Source)
          }
      }
  }

  Get-WinGetPackage | Print-WinGetPackage

  exit

-- Process STDOUT
  PS C:\Program Files\UniGetUI> Write-Output (Get-Module -Name Microsoft.WinGet.Client).Version
  PS C:\Program Files\UniGetUI> Import-Module Microsoft.WinGet.Client
  PS C:\Program Files\UniGetUI> function Print-WinGetPackage {
  >>     param (
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Name,
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Id,
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $InstalledVersion,
  >>         [Parameter(ValueFromPipelineByPropertyName)] [string[]] $AvailableVersions,
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [bool] $IsUpdateAvailable,
  >>         [Parameter(ValueFromPipelineByPropertyName)] [string] $Source
  >>     )
  >>     process {
  >>         if($IsUpdateAvailable)
  >>         {
  >>             Write-Output("#" + $Name + "`t" + $Id + "`t" + $InstalledVersion + "`t" + $AvailableVersions[0] + "`t" + $Source)
  >>         }
  >>     }
  >> }
  >>
  PS C:\Program Files\UniGetUI> Get-WinGetPackage | Print-WinGetPackage
  PS C:\Program Files\UniGetUI>
  PS C:\Program Files\UniGetUI> exit

-- Process STDERR
  Write-Output : The term 'Write-Output' is not recognized as the name of a cmdlet, function, script file, or
  operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
  again.
  At line:1 char:1
  + Write-Output (Get-Module -Name Microsoft.WinGet.Client).Version
  + ~~~~~~~~~~~~~~~
      + CategoryInfo          : ObjectNotFound: (Write-Output:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException

  Import-Module : The specified module 'Microsoft.WinGet.Client' was not loaded because no valid module file was found
  in any module directory.
  At line:1 char:1
  + Import-Module Microsoft.WinGet.Client
  + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      + CategoryInfo          : ResourceUnavailable: (Microsoft.WinGet.Client:String) [Import-Module], FileNotFoundExcep
     tion
      + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

  Get-WinGetPackage : The term 'Get-WinGetPackage' is not recognized as the name of a cmdlet, function, script file, or
  operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
  again.
  At line:1 char:1
  + Get-WinGetPackage | Print-WinGetPackage
  + ~~~~~~~~~~~~~~~~~
      + CategoryInfo          : ObjectNotFound: (Get-WinGetPackage:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException

Return code: SUCCESS (0)

——————————————————————————————————————————

Logged subprocess-based task on manager Winget. Task type is RefreshIndexes
Subprocess executable: "D:\Scoop\shims\winget.exe"
Command-line arguments: " source update --disable-interactivity"
Process start time: 01/07/2024 21:49:07
Process end time:   01/07/2024 21:49:09

-- Process STDOUT
  Updating all sources...
  Updating source: msstore...
  Done
  Updating source: winget...

   -
   \
   |

Done

Return code: SUCCESS (0)

——————————————————————————————————————————

Logged subprocess-based task on manager Winget. Task type is ListUpdates
Subprocess executable: "C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe"
Command-line arguments: "-ExecutionPolicy Bypass -NoLogo -NoProfile"
Process start time: 01/07/2024 21:49:09
Process end time:   01/07/2024 21:49:11

-- Process STDIN
  Write-Output (Get-Module -Name Microsoft.WinGet.Client).Version
  Import-Module Microsoft.WinGet.Client
  function Print-WinGetPackage {
      param (
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Name,
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Id,
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $InstalledVersion,
          [Parameter(ValueFromPipelineByPropertyName)] [string[]] $AvailableVersions,
          [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [bool] $IsUpdateAvailable,
          [Parameter(ValueFromPipelineByPropertyName)] [string] $Source
      )
      process {
          if($IsUpdateAvailable)
          {
              Write-Output("#" + $Name + "`t" + $Id + "`t" + $InstalledVersion + "`t" + $AvailableVersions[0] + "`t" + $Source)
          }
      }
  }

  Get-WinGetPackage | Print-WinGetPackage

  exit

-- Process STDOUT
  PS C:\Program Files\UniGetUI> Write-Output (Get-Module -Name Microsoft.WinGet.Client).Version
  PS C:\Program Files\UniGetUI> Import-Module Microsoft.WinGet.Client
  PS C:\Program Files\UniGetUI> function Print-WinGetPackage {
  >>     param (
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Name,
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $Id,
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [string] $InstalledVersion,
  >>         [Parameter(ValueFromPipelineByPropertyName)] [string[]] $AvailableVersions,
  >>         [Parameter(Mandatory,ValueFromPipelineByPropertyName)] [bool] $IsUpdateAvailable,
  >>         [Parameter(ValueFromPipelineByPropertyName)] [string] $Source
  >>     )
  >>     process {
  >>         if($IsUpdateAvailable)
  >>         {
  >>             Write-Output("#" + $Name + "`t" + $Id + "`t" + $InstalledVersion + "`t" + $AvailableVersions[0] + "`t" + $Source)
  >>         }
  >>     }
  >> }
  >>
  PS C:\Program Files\UniGetUI> Get-WinGetPackage | Print-WinGetPackage
  PS C:\Program Files\UniGetUI>
  PS C:\Program Files\UniGetUI> exit

-- Process STDERR
  Write-Output : The term 'Write-Output' is not recognized as the name of a cmdlet, function, script file, or
  operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
  again.
  At line:1 char:1
  + Write-Output (Get-Module -Name Microsoft.WinGet.Client).Version
  + ~~~~~~~~~~~~~~~
      + CategoryInfo          : ObjectNotFound: (Write-Output:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException

  Import-Module : The specified module 'Microsoft.WinGet.Client' was not loaded because no valid module file was found
  in any module directory.
  At line:1 char:1
  + Import-Module Microsoft.WinGet.Client
  + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      + CategoryInfo          : ResourceUnavailable: (Microsoft.WinGet.Client:String) [Import-Module], FileNotFoundExcep
     tion
      + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

  Get-WinGetPackage : The term 'Get-WinGetPackage' is not recognized as the name of a cmdlet, function, script file, or
  operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
  again.
  At line:1 char:1
  + Get-WinGetPackage | Print-WinGetPackage
  + ~~~~~~~~~~~~~~~~~
      + CategoryInfo          : ObjectNotFound: (Get-WinGetPackage:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException

Return code: SUCCESS (0)

——————————————————————————————————————————

Logged native task on manager Winget. Task type is FindPackages
Process start time: 01/07/2024 21:50:04
Process end time:   01/07/2024 21:50:08

-- Task information
  Generating filters...
  Loading available catalogs...
  Spawning catalog fetching tasks...
  Begin search on catalog msstore
  Begin search on catalog winget
  All catalogs fetched. Fetching results for query piece Firefox
  Found package: Mozilla Firefox|9NZVDKPMR9RD|Unknown on catalog msstore
  Found package: Profile Switcher for Firefox Connector|nulldev.ProfileSwitcherforFirefox|0.1.1 on catalog winget
  Found package: Firefox Nightly|Mozilla.Firefox.Nightly|116.0a1 on catalog winget
  Found package: Mozilla Firefox ESR|Mozilla.Firefox.ESR|115.12.0 on catalog winget
  Found package: Firefox Developer Edition|Mozilla.Firefox.DeveloperEdition|128.0 on catalog winget
  Found package: Mozilla Firefox|Mozilla.Firefox|127.0.2 on catalog winget
  Found package: PWAsForFirefox|filips.FirefoxPWA|2.12.1 on catalog winget

The task reported success

——————————————————————————————————————————

Relevant information
The Write-Output : The term 'Write-Output' is not recognized from WinGet's logs above might also be part of the problem. The end of the WinGet log shows a package discovery search for Firefox. The Discover Packages tab is the only tab which lists any WinGet packages. WinGet packages are completely missing from the other tabs.
At first there was a firewall issue as WinGet packages weren't even shown in the Discover Packages tab, but now that I solved that, that tab has no WinGet issues.
Screenshots and videos
No response

The Write-Output line error can be safely ignored. See here for more info: https://github.com/marticliment/WingetUI/issues/2379
It looks as if your Microsoft.WinGet.Client module is broken. Please try to
Uninstall-Module Microsoft.WinGet.Client

until it complains the module is not installed (this can take two or three times) and then
Install-Module Microsoft.WinGet.Client

When clicking on install, presumably a command prompt window should launch. What does it say?

Then, this issue was fixed on https://github.com/marticliment/WingetUI/commit/c6b4fbe306e7163ce88dc13d31ae34dbd478d827

Great!


feat(SPV-000): suggestion to json marshalling

Pull Request Checklist

[ ] 📖 I created my PR using provided  : CODE_STANDARDS
[ ] 📖 I have read the short Code of Conduct: CODE_OF_CONDUCT
[ ] 🏠 I tested my changes locally.
[ ] ✅ I have provided tests for my changes.
[ ] 📝 I have used conventional commits.
[ ] 📗 I have updated any related documentation.
[ ] 💾 PR was issued based on the Github or Jira issue.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 94.87179% with 2 lines in your changes missing coverage. Please review.

Project coverage is 47.43%. Comparing base (cfd828a) to head (8ec3b61).
Report is 2 commits behind head on feat/spv-1020-draft-tx-v2.

Files with missing lines
Patch %
Lines

models/request/draft_transaction_json.go
94.87%
1 Missing and 1 partial :warning:

Additional details and impacted files

@@                      Coverage Diff                      @@
##           feat/spv-1020-draft-tx-v2     #689      +/-   ##
=============================================================
+ Coverage                      47.37%   47.43%   +0.05%
=============================================================
  Files                            281      281
  Lines                          13126    13147      +21
=============================================================
+ Hits                            6219     6236      +17
- Misses                          6304     6307       +3
- Partials                         603      604       +1

Flag
Coverage Δ

unittests
47.43% <94.87%> (+0.05%)
:arrow_up:

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

Files with missing lines
Coverage Δ

models/request/draft_transaction_json.go
95.23% <94.87%> (-4.77%)
:arrow_down:

... and 1 file with indirect coverage changes

Continue to review full report in Codecov by Sentry.

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


Optimize for loop with pre increment

Ref : https://github.com/byterocket/c4-common-issues/blob/main/0-Gas-Optimizations.md/#g012---use-prefix-increment-instead-of-postfix-increment-if-possible

@pilagod If the loop iterate many times then the difference may be worthy. I think it could be the best practice although this should be optimized in compiler I think.


[micro-dash] Reduce typings incorrect (I think)

key: keyof E should be key: keyof ObjectWith<E>
export declare function reduce<E>(array: ObjectWith<E> | undefined, iteratee: (accumulator: E, value: E, key: keyof ObjectWith<E>) => E): E;
export declare function reduce<E, A>(array: ObjectWith<E> | undefined, iteratee: (accumulator: A, value: E, key: keyof ObjectWith<E>) => A, accumulator: A): A;

this the old repo for

It is? This is where npm leads :/ Sorry, where is the new one?

this the old repo for

It is? This is where npm leads :/ Sorry, where is the new one?

The old, deprecated package on npm is micro-dash, and this ticket was originally created over at it's repo. You'll see the deprecation notice at that link.
The new package is @s-libs/micro-dash, and it's repo is right here. You created this ticket at the old repo, and I transferred it over here to the new repo.
Sorry for the confusion. I moved all my open source libraries to this monorepo to simplify my life. I moved the NPM packages to sync up their version numbers, to make it easy to see/understand which versions of all the libraries go together.

The old, deprecated package on npm is micro-dash, and this ticket was originally created over at it's repo. You'll see the deprecation notice at that link.
The new package is @s-libs/micro-dash, and it's repo is right here. You created this ticket at the old repo, and I transferred it over here to the new repo.
Sorry for the confusion. I moved all my open source libraries to this monorepo to simplify my life. I moved the NPM packages to sync up their version numbers, to make it easy to see/understand which versions of all the libraries go together.

This should be fixed up in the next release. Thank you for the report!

This should be fixed up in the next release. Thank you for the report!

And the fix is now generally available in release 11.2.0

And the fix is now generally available in release 11.2.0

Thank you @ersimont! Long live micro-dash.

keyof ObjectWith<E> is going to simplify to something like string | number

PS, in my testing it actually does much better. If TS was able to infer the key names for a given type, each object in the collection will have full intellisense in the callback (VSCode)

Long live micro-dash.

Haha. Thanks!

PS, in my testing it actually does much better.

I'm surprised! type ObjectWith<T> = Record<string, T>, which I would have thought would lead to this chain of simplifications:
keyof ObjectWith<E>
keyof Record<string, E>
keyof { [x: string]: E }
string

I'm sorry, I was mistaken.
accumulator: E, value: E is what gives full intellisense. Yes I think the type of the 3rd parameter, key, is definitely just string

I'm sorry, I was mistaken.
accumulator: E, value: E is what gives full intellisense. Yes I think the type of the 3rd parameter, key, is definitely just string


[WIP] FASTA download from AssemblyAPI

Issue https://atlassian.kbase.us/browse/KBASE-3970

[x] Basic download capability
[ ] Unit tests
[ ] Regression tests
[ ] Sign off by plants team

Current coverage is 78.71%

Merging #191 into master will decrease coverage by -1.35% as of 193dcac

@@            master    #191   diff @@
======================================
  Files           21      23     +2
  Stmts         2994    3092    +98
  Branches         0       0
  Methods          0       0
======================================
+ Hit           2397    2434    +37
  Partial          0       0
- Missed         597     658    +61

Review entire Coverage Diff as of 193dcac

Powered by Codecov. Updated on successful CI builds.


CatchManager Class

I've been trying to develop a more generic/comprehensive way of catching pokemon in Questing.lua:
I added these lines of code to the "Quests/Quest.lua" file:
function Quest:throwPokeball()
	if isOpponentShiny() then
		if hasItem("Ultra Ball") or hasItem("Great Ball") or hasItem("Pokeball") then
			return true
		end
	elseif not isAlreadyCaught() then
		if hasItem("Pokeball") or hasItem("Great Ball") or hasItem("Ultra Ball") then
			return true
		end
	end
end

hp1Move = {"False Swipe", "Hold Back"}
sleepMove = {"Hypnosis", "Sleep Powder", "Spore", "Dark Void", "Grass Whistle", "Lovely Kiss", "Sing", "Yawn"}

function Quest:catchPokemon()
	if getOpponentHealth() == 1 then
		if getOpponentStatus() == "SLEEP" then
			return self:throwPokeball()
		else
			if game.hasPokemonWithMove(sleepMove) then
				if game.isActivePokemonWithMove(sleepMove) then
					return useMove(sleepMove)
				else
					return game.sendPokemonWithMove(sleepMove)
				end
			else
				return self:throwPokeball()
			end
		end
	else
		if game.hasPokemonWithMove(hp1Move) then
			if game.isActivePokemonWithMove(hp1Move) then
				return self:throwPokeball()
			else
				return game.sendPokemonWithMove(hp1Move)
			end
		else
			if getOpponentHealthPercent() < 50 then
				return self:throwPokeball()
			else
				return weakAttack() or attack() or sendUsablePokemon() or run() or sendAnyPokemon()
			end
		end
	end
end

function Quest:wildBattle()
	if isOpponentShiny() or not isAlreadyCaught() then
		return self:catchPokemon()
	end

	-- if we do not try to catch it

	if getTeamSize() == 1 or getUsablePokemonCount() > 1 then
		local opponentLevel = getOpponentLevel()
		local myPokemonLvl  = getPokemonLevel(getActivePokemonNumber())
		if opponentLevel >= myPokemonLvl then
			local requestedId, requestedLevel = game.getMaxLevelUsablePokemon()
			if requestedId ~= nil and requestedLevel > myPokemonLvl then
				return sendPokemon(requestedId)
			end
		end
		return attack() or sendUsablePokemon() or run() or sendAnyPokemon()
	else
		if not self.canRun then
 			return attack() or game.useAnyMove()
 		end
		return run() or attack() or sendUsablePokemon() or sendAnyPokemon()
	end
end

So I would like to use the functions game.hasPokemonWithMove(Move), game.isActivePokemonwithMove(Move) and game.sendPokemonWithMove(Move).
The 1st one is already stated in "Libs/gamelib.lua" but I doesn't work if Move is stated as a table with more than 1 move, and also add one more condition to return true if the specific move (or moves from a table) has more than 0 remaining PPs.
The other 2 functions I've tried writing:
function game.isActivePokemonWithMove(Move)
	for pokemonId=1, getTeamsize(), 1 do
		if hasMove(pokemonId, Move) and getRemainingPowerPoints(pokemonId, Move) > 0 then
			return true
		end
	end
	return false
end

function game.sendPokemonWithMove(Move)
	for pokemonId=1, getTeamSize(), 1 do
		if hasMove(pokemonId, Move) and getRemainingPowerPoints(pokemonId, Move) > 0 then
			return sendPokemon(pokemonId)
		end
	end
end

But I think it also need some fixing. Could anyone help me please?

so many errors, the idea is not bad,
for example u can use game.hasPokemonWithMove(sleepMove)
sleepMove is a table and game,hasPoemonWithMove() require a string
game.hasPokemonWithMove(sleepMove[0]) is ok u need write some custom function for parse the right move

"So many errors" :laughing:  I know I know, I'm still new.
So what you are suggesting is creating 2 separate functions for each set of moves?
game.hasPokemonWithMove(sleepMove) and game.hasPokemonWithMove(hp1Move)?
I'm not sure what's your point with game.hasPokemonWithMove(sleepMove[0]) :confused:

u need create a function for parse every move on the table, and for every move parse all team, when is found return the move name or pokemon index
for  move in sleepMove do

Oh dear, I think it's gotten way out of my league. I'll try fixing it later. thank for your input.

function game.hasPokemonWithMove(Move)
	if type(Move) == "string" then
		for pokemonId=1, getTeamSize(), 1 do
			if hasMove(pokemonId, Move) then
				return true
			end
		end
		return false
	elseif type(Move) == "table" then
		for pokemonId=1, getTeamSize(), 1 do
			for i, v in ipairs(Move) do
				if v == Move then
					if hasMove(pokemonId, v) then
						return true
					end
				end
			end
		end
		return false
	end
end

This is a far as I can go trying to crate the appropriate function, syntax is "ok" but it returns false when I actually have a pokemon with the move "False Swipe", it attempts to catch the pokemon with weakAttack() to reduce opponent's health below 50%. If anyone can help me with this function it would be much appreciated.

Have a look at some simple classes like Dialog.lua to understand how to create a class.

I just did and like a said before, I still don't now what else I need to do or fix, this is honestly beyond me, I can't make any more progress about it without REAL guidance, thank you all for the input anyways, I may push this a bit more when I have a better understanding of the language overall and way more time in my plate, but for now I'm closing this thread.


I am using Float balances on my laravel app and when i use Wallet action on my filamentphp table then it only saves in integer

I am using Float balances on my laravel app and when i use Wallet action on my filamentphp table then it only saves in integer
I am using HasWalletFloat on my User model and also implements WalletFloat.
Please tell me how can i make this work ?

we will try to handle it on the next version.

fixed in Wallet change integer to float #5


Mouse hover tooltips broken in Chrome

Still working in Firefox

This is working now in chrome, maybe it was a blip on my machine.

OK I now see what's going on. The mouse hover tooltips do not appear when the sidebar is open. (Maybe they are under the sidebar?) Please can this be fixed.

I'll close this since it's a duplicate of #248.


Update docs for registry mirror auth

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm

/cherry-pick release-0.12


Documentation: usefulness of hiredis?

Hello. The README states I can install coredis with optional dependency hiredis, but does not say why I would (or would not) want it.

Hm, found it, its there (hiredis and uvloop can make coredis faster, but it is up to you whether to install them or not.)

Sorry I missed this entirely. The documentation can definitely be better about the usefulness of both hiredis & uvloop. I'm going to reopen this and try to write up something in the docs/readme to clarify

Slightly  better than before I hope:

https://coredis.readthedocs.io/en/latest/#dependencies-supported-python-versions
https://coredis.readthedocs.io/en/latest/api_reference.html#parsers

Thanks, that is very good explanation.


[LiveComponent] Can just calling a public property make it null?

Hey! Yes I know, the title is really weird. But my case too :'(
This is for LiveComponent v2.7.1
I have a LiveComponent which is very complex. To put it simply, it's a listing, with lots of filters and checkboxes.
I have a filter which is an Autocomplete
<select
                            name="school_class_course"
                            {{ stimulus_controller('symfony/ux-autocomplete/autocomplete', {
                                url: path('ux_entity_autocomplete', { alias: 'listing_school_class_course' }),
                            }) }}
                            class="form-select"
                            data-action="live#action"
                            data-action-name="resetPage"
                            data-model="filterSchoolClassCourseId"
                    >
                    </select>

When I select a value, it applies well, and the "filterSchoolClassCourseId" model is well updated with the ID of the selected value. I can do other actions, and the "filterSchoolClassCourseId" model will still contain the previously selected value.
But who knows why, I have a simple action that will just check if the "filterSchoolClassCourseId" model contains something (and in which case will allow me to display a block on the page), but at this precise moment, the call to the model will make it null
This is just a simple method in the component :
    public function canSeeBloc(): Response
    {
        return $this->filterStatus === 'OK' && !empty($this->filterSchoolClassCourseId);
    }

At this moment, when I call the "filterSchoolClassCourseId" model to evaluate its value, although it had a value, just calling it will set it to null or an empty value (so the method will always return false, and that at the end of the Ajax call, the select will lose its value).
Have I gone mad?

Haha, I hope you haven’t gone mad ;).
I don’t see any problem, but let’s see if we can debug. On the request where you do the check (and the value is suddenly null), check the Ajax request in the network tooolw of your browser. What does “props” look like in the request? What about “updated”?
in theory, for an action, updates should probably be empty, as no models are being updated at that moment. And props should contain the filterSchoolClassCourseId set to the correct value. If it appears in “updated” and is set to null, then something is signaling that this model should be cleared. If it is already null in props, check previous request to see if you can spot if it’s in updated being set to null. Also (and this is trickier), check the HTML response in previous requests and look at the data-live-props-value attribute to find your model name. In this case, we’re looking to see if the value WAS correct at the start of a request, but then it became null on the server (e.g. you have some code that sets to null or some weird dehydration problem).

Hey! Thank you for your answer ! We did some tests, everything seems OK, but we think we have a lead.
The problematic input is a Symfony UX AutocompleteField using TomSelect.
When a change takes place inside the listing (it is a table), the TomSelect keeps its value.
On the other hand, strangely, when there is a change in the DOM elsewhere than on the table (above for example. At one point a block can be displayed), something happens and the TomSelect seems to be reset and therefore the model has its old value, but it is not returned to TomSelect, which means that on the next Ajax call, since there is nothing more selected, the model returns to NULL.
I seem to have seen in the Changelogs that you fixed this problem from version 2.8?


Stop supporting Bash 3

Bash 3 is +15 years old, the last version from the 3 series, 3.2, 10 years old, (I'm not sure, but I think that my guess is very approximate) and Bash 4 (currently 4.3) is the current stable version, that have some interesting and useful features, not found in Bash 3.
Mac OS X comes with Bash 3.2 by default, but with brew, the install of Bash 4 is very easy, so I suggest to stop supporting it.
Anybody that wants to install Bash it, can install Bash 4 with brew, so IMHO, there's no reason to not do it.
We can add a "check" during the installation and cancel it if the supported version cannot be found, and suggesting the user to upgrade.

:+1:

I'm on the fence about this one. While I agree that it's probably easy to upgrade Bash on the Mac (haven't actually tried it), we will lose a good chunk of the potential user base if we force people to upgrade.
In case someone hasn't installed Homebrew yet, and wants to use Bash-it, we will tell them that they first need to go through the Homebrew install (including recursively changing permissions on /usr/local), install Bash v4, and then they can start using Bash-it. For someone that just wants to check whether Bash-it might be a good idea, and they're not sure whether they want to use it, this seems like a big hurdle.
Wouldn't it make more sense to have the functionality that actually depends on Bash v4 make a check and then provide a message to the user? I haven't checked, but are there really that many features in Bash-it that require Bash v4? I'm using it with the stock Bash v3, and it works perfectly fine...

The new features included in Bash v4 are listed here:
http://www.tldp.org/LDP/abs/html/bashver4.html
another good read about the new features in Bash v4:
http://lcorg.blogspot.com.es/2010/04/new-features-in-bash-version-4x-part-1.html
some features can help to simplify the code, and remove the need from use external commands, others are options to change the default Bash behavior.
Really there's nothing that make a big difference to force the update...

We could support both by using $BASH_VERSION if it's needed.

indeed. as a Stallmanist I have no deep sentiments for OSX users, but I'm all for backwards compatibility if it's not a big effort. I think we can keep supporting it for a while...
as for the homebrew solution - it installs in /usr/local, it's not a ready option in chsh if you are not a power user (or an admin on your own Mac/Unix machine), so I think it will be a worthy effort to stay bash3 compatible.

We'll stay bash 3 compatitable for now. I'm closing this issue. When the time comes. Let's reopen.

Thanks - good discussion!


The background is blank with dark mode theme

Using Azure DevOps with dark mode theme (Dark, neptune, etc) the plugin backgroung stay in blank.

UP!

@rodrigokono and @Logikoz , do you mean the table and the filtering options should be "dark mode" compatible?

yes. before the last update this was good.
maybe changed the reference for theme styles of azure devops.

@rodrigokono Yep, I'll try to determine a solution, the DevOps UI gives me no way to easily identify whether you've toggled dark mode, there's some private internals for older components that tied into the dark mode status or not.

@rodrigokono and @Logikoz v2.1.1 should contain the necessary fixes for dark mode themes.


Unable to follow

We tried to use these instructions to create a VM under my subscription.
The shared gallery would be on my coworkers subscription.
In the end, we got this error when running the command to create the VM:
Message: The client '50912b21-edd7-4d11-b36b-xxxxxxxxxxx' with object id '50912b21-edd7-4d11-b36b-xxxxxxxxxxx' does not have authorization to perform action 'Microsoft.Network/virtualNetworks/read' over scope '/subscriptions/dc3a336a-194e-4669-ad3f-yyyyyyyyyy/resourceGroups/RRTestCloudStudio/providers/Microsoft.Network' or the scope is invalid. If access was recently granted, please refresh your credentials.

I think a diagram would be helpful. If someone is reading this and is interested in discussing the instructions, reach out to me on Teams, alias renrup.

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

ID: a777eea0-acf4-6f1d-9e56-e6069dddc577
Version Independent ID: d858a0bd-ec1c-4e32-e1d1-784feecd57c0
Content: Share gallery images across tenants in Azure - Azure Linux Virtual Machines
Content Source: articles/virtual-machines/linux/share-images-across-tenants.md
Service: virtual-machines
Sub-service: imaging
GitHub Login: @axayjo
Microsoft Alias: akjosh

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

Thank you for the feedback. At this point in time we have opted to leave the doc as is. However this feedback item will remain on the document so if others also have difficulty we can always reconsider.
#please-close


AFHTTPSessionManager+AutoRetry.m wrong condition

In requestUrlWithAutoRetry in if statement is if (retriesRemainingCount > 0) but it should be (retriesRemaining > 0). In your case the new attempt will never be executed since the retryOperationDict is not exist.

I am having the same issue you are probably having where no matter what retry count I use, the AFHTTPSessionManager+AutoRetry category does not actually do any retries. I believe this is because of a small typo in the creation of the taskDict property. In the block, the key used for fetching the task information (such as retriesRemainingCount as you have noted) is taskcreatorCopy. However, below the block, where taskDict is updated, the key used is task instead of taskcreatorCopy. I believe this is a typo. Fixing it resolves the issue and causes retries to be preformed as expected.

I just submitted PR #14 which should resolve this issue.

@shivanraptor has repaired this issue in his last commit :) enjoy

:+1:


#448 - support ordinal-N prefix in brokerProperties for pod specific …

…broker behaviours

@gtully nice improvement!!!
WDYT about the following alternative prefixes?

broker-N
$broker-N
$N

I would like broker-N, i.e. broker-0.connectionRouters.autoShard.localTargetFilter=NULL|0|-0

I like it, the ordinal-N is a bit clunky - however it is indeed what it is tied to, the stateful set ordinal, and it is unlikely to ever be a broker configuration attribute.
But broker-N. is indeed better. I don't want the use $ as that is the default for env var expansion.
thanks for the fast feedback :-) I will make it broker-N

broker- to be more exact


Add CITATION.cff

Was just doing this for daceml, thought i'd add it here too.
This adds a nice button to the repo metadata (with bibtex export).
You can see the result at https://github.com/orausch/test-cite.
With this file, the exported bibtex is the same as the one listed in the readme.

Cancelled tests on pauli to not block CI

@tbennun could you merge this? I again don't have rights to force merge.

@tbennun could you merge this? I again don't have rights to force merge.

I am not force merging into dace either. I'll let all the tests run.


Firebase Messaging throws exception and doesn't get back until server restart

I have a system built with spring boot, java 8 and hosted on google cloud using compute engine.
My server app is wildfly 21.0.1.Final.
I am using firebase messaging 9.1.1 to deliver notifications to the application users.
The service is working fine most of the time, however, I get this error from time to time.
 com.google.firebase.messaging.FirebaseMessagingException: Failed to establish a connection: Error getting access token for service account: IP_OF_PROXY_HOST_GOES_HERE, iss<EMAIL_ADDRESS>As a workaround, I do a full server (wildfly) restart to get the service back.
In my pom file, I have:

com.google.firebase
firebase-admin
9.1.1

I have searched for similar issues and checked:
1- The system clock is synchronized
2- Firewall access to firebase
3- The service works well and the issue happens randomly from time to time.
4- I can not reproduce since I don't know the cause.
Note: I don't use any other firebase service in this product.
Does anyone know what is happening and how to overcome this issue?

Hi Mohamed,
Once you start getting the error do you continue to get it till you restart or do you have successful requests even after you get the error (without restarting the server)?

Hello Arthur,
Yes, the error continues until I do the restart no success request happens
meanwhile.
On Wed, May 17, 2023 at 1:50 AM Arthur Thompson @.***>
wrote:

Hi Mohamed,
Once you start getting the error do you continue to get it till you
restart or do you have successful requests even after you get the error
(without restarting the server)?
—
Reply to this email directly, view it on GitHub
https://github.com/firebase/firebase-admin-java/issues/794#issuecomment-1550456704,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3RVJCMQSBXOXJVQ7BXJJDDXGQAFDANCNFSM6AAAAAAWSNAMCY
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


image-surface-get-data unknown format error

The image-surface-get-data function is returning the error "unknown format" for :argb32, :rgb24, and :a8 formats. A REPL session sample follows:

CAIRO> (defvar img-surface (create-image-surface :argb32 64 64))
IMG-SURFACE
CAIRO> (image-surface-get-format img-surface)
:ARGB32
CAIRO> (image-surface-get-data img-surface)
unknown format: ARGB32
[Condition of type SIMPLE-ERROR]
Restarts:
0: [RETRY] Retry SLIME REPL evaluation request.
1: [*ABORT] Return to SLIME's top level.
2: [ABORT] Exit debugger, returning to top level.
Backtrace:
0: (GET-BYTES-PER-PIXEL :ARGB32)
1: (IMAGE-SURFACE-GET-DATA #<SURFACE {10032470C1}> :POINTER-ONLY NIL)
2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (IMAGE-SURFACE-GET-DATA IMG-SURFACE) #)

It appears the culprit is that the case in get-bytes-per-pixels uses the following symbols: format-argb32, format-rgb24, and format-a8, which do not appear anywhere else in the code. Replacing these symbols with the normal :argb32, :rgb24, :a8 symbols fixes the problem. I will submit a pull request.

Must have been patched. :)


python38Packages.azure-mgmt-netapp: 5.1.0 -> 6.0.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.azure-mgmt-netapp is: "Microsoft Azure NetApp Files Management Client Library for Python"
meta.homepage for python38Packages.azure-mgmt-netapp is: "https://github.com/Azure/azure-sdk-for-python"
meta.changelog for python38Packages.azure-mgmt-netapp is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 6.0.0 with grep in /nix/store/r3p882wbck4424rb098bqd5nyrbb6ab2-python3.8-azure-mgmt-netapp-6.0.0

found 6.0.0 in filename of file in /nix/store/r3p882wbck4424rb098bqd5nyrbb6ab2-python3.8-azure-mgmt-netapp-6.0.0

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

4 package rebuild(s)

4 x86_64-linux rebuild(s)
4 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
azure-cli
docbookrx
python38Packages.azure-mgmt-netapp
python39Packages.azure-mgmt-netapp

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/r3p882wbck4424rb098bqd5nyrbb6ab2-python3.8-azure-mgmt-netapp-6.0.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python38Packages.azure-mgmt-netapp https://github.com/r-ryantm/nixpkgs/archive/d8c70d23e4f2ef9bc41d56af6fe31df556d5a874.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/r3p882wbck4424rb098bqd5nyrbb6ab2-python3.8-azure-mgmt-netapp-6.0.0
ls -la /nix/store/r3p882wbck4424rb098bqd5nyrbb6ab2-python3.8-azure-mgmt-netapp-6.0.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package failed to build:

azure-cli

2 packages built:

python38Packages.azure-mgmt-netapp
python39Packages.azure-mgmt-netapp

Maintainer pings
cc @jonringer for testing.

no longer relevant


Missing version info in Kitematic for Debian

Expected behavior
Easly check Kitematic version.
Actual behavior
There is no menu or --version or -v option to check what Kitematic version user have installed on his machine.
Information about the Issue
I tried to run Kitematic by command line interface via kitematic --version and I couldn't get version printed out. I tried to find any menu in Kitematic app and besides the configuration screen I can't find anything
Steps to reproduce the behavior

Install Kitematic on Debian 9
Try to get its version

What am I missing here?
~$ docker run --rm -it debian:latest bash
# apt-get update && apt-get install curl zip
# curl -sSLO https://github.com/docker/kitematic/releases/download/v0.17.3/Kitematic-0.17.3-Ubuntu.zip
# unzip Kitematic-0.17.3-Ubuntu.zip && cd dist
# dpkg --info Kitematic_0.17.3_amd64.deb
 new debian package, version 2.0.
 size 45139498 bytes: control archive=533 bytes.
     598 bytes,    13 lines      control
 Package: kitematic
 Version: 0.17.3-1
 Section: devel
 Priority: optional
 Architecture: amd64
 Depends: git, gconf2, gconf-service, gvfs-bin, libc6, libcap2, libgtk2.0-0, libudev0 | libudev1, libgcrypt11 | libgcrypt20, libnotify4, libnss3, libxtst6, python, xdg-utils
 Recommends: lsb-release
 Suggests: gir1.2-gnomekeyring-1.0, libgnome-keyring0
 Installed-Size: 171855
 Maintainer: Ben French<EMAIL_ADDRESS> Homepage: https://kitematic.com/
 Description: Simple Docker Container management for Mac OS X, Windows and Ubuntu.
  Run containers through a simple, yet powerful graphical user interface.

Version is clearly shown as 0.17.3-1
Using a container to proof this - as of this writing, debian:latest is Debian 9.2

You are not checking the version of installed application, you are printing info about installation package, and I wasn't asking for that.

# dpkg -i Kitematic_0.17.3_amd64.deb
# dpkg-query -l | grep kitematic
iU  kitematic                 0.17.3-1                       amd64        Simple Docker Container management for Mac OS X, Windows and Ubuntu.

That's nice, thanks.


[UI][React] propType warning due to using deprecated API

Getting following warning message for using deprecated propType API in here (and several other places)

Warning: Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead.

As stated in documentation we would need to use the prop-types library instead.

Fixed in APIM 3.0.0 Alpha


1, master persistent task 2. extract  master and worker communication model

1, master persistent task
2. extract  master and worker communication model

Codecov Report

Merging #1992 into refactor-worker will decrease coverage by 0.02%.
The diff coverage is 1.04%.

@@                  Coverage Diff                  @@
##             refactor-worker    #1992      +/-   ##
=====================================================
- Coverage              29.84%   29.81%   -0.03%
  Complexity              1367     1367
=====================================================
  Files                    301      301
  Lines                  15222    15236      +14
  Branches                1821     1821
=====================================================
  Hits                    4543     4543
- Misses                 10229    10243      +14
  Partials                 450      450

Impacted Files
Coverage Δ
Complexity Δ

...server/master/processor/TaskResponseProcessor.java
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

...e/dolphinscheduler/server/master/MasterServer.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...duler/server/worker/runner/TaskScheduleThread.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...server/master/runner/MasterBaseTaskExecThread.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...che/dolphinscheduler/common/enums/CommandType.java
72.72% <0%> (-16.17%)
2 <0> (ø)

...erver/worker/processor/WorkerRequestProcessor.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ache/dolphinscheduler/dao/entity/TaskInstance.java
0.92% <100%> (ø)
1 <1> (ø)
:arrow_down:

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 158322b...768de7c. Read the comment docs.


Home page for the editor

Currently, users see the home page if all tabs are closed.

Added in d2b192467d9750534247053ca1ff7c240dc320be.