Setting up guide in README outdated

I just set up a fresh install following the README guide step by step. I had two problems, at least one of which seems to be fixed in the setup script you provide.
1:
While executing the patches, I got one error:

$ for f in $TMP_CLONE/yesod-scaffold-patches/*.patch; do patch -p1 < $f; done
patching file Application.hs
Hunk #3 succeeded at 77 with fuzz 2.
patching file config/models
patching file config/routes
patching file config/settings.yml
Hunk #1 succeeded at 27 (offset 4 lines).
patching file Foundation.hs
patching file Handler/Home.hs
patching file Model.hs
patching file project_name.cabal
Hunk #2 succeeded at 82 with fuzz 2.
patching file Roles.hs
patching file Settings.hs
patching file templates/homepage.hamlet
patching file templates/homepage.julius
patching file templates/homepage.lucius
patching file test/Handler/HomeSpec.hs
patching file test/TestImport.hs
Hunk #2 FAILED at 48.
1 out of 2 hunks FAILED -- saving rejects to file test/TestImport.hs.rej

`
The contents of TestImport.hs.rej afterwards is:

--- test/TestImport.hs	2015-07-22 22:52:20.271915262 +0200
+++ test/TestImport.hs	2015-07-22 22:52:23.023910152 +0200
@@ -48,8 +47,8 @@
 -- Aside: SQLite by default *does not enable foreign key checks*
 -- (disabling foreign keys is only necessary for those who specifically enable them).

let settings = appSettings app
sqliteConn <- rawConnection (sqlDatabase $ appDatabaseConf settings)

let settings = appSettings app

sqliteConn <- rawConnection (sqlDatabase $ appDatabaseConf settings)
disableForeignKeys sqliteConn
let logFunc = messageLoggerSource app (appLogger app)

It seems this patch is assumig a sqlite database, and I am going with Postgres. So I just ignored this particular patch, and did the rest of the patches. This seems to have worked, but it was very disruptive to the flow of the guide.
2:
After the patching was done, I seemed to be missing a lot of dependencies, most importantly lambdacms-core itself. Poking through the setup script, I discovered it adds the following to stack.yaml extra-deps:

extra-deps:

lambdacms-core-<IP_ADDRESS>
friendly-time-0.4
lists-0.4.2
list-extras-<IP_ADDRESS>

After adding these to my own stack.yaml, I was able to finish the build. I am guessing this should be stated in the guide?

Yes you are right. I'm actually working on gettting the scaffolds to work with stack new; I ran into some problems and then also ran out of time... Sorry for that, and sorry for my late reply.
I will gladly accept a PR on the documentation and/or on the script itself. But if I find time I will first move the whole thing to stack new (this needs more then a simple PR, as it needs some infrastructure to stay in check with future versions of Yesod).
Thanks for your interest in LambdaCms, I hope it all worked out for you! If you have any questions feel free to ask them here.

I think all the problems would be solved by a stack scaffold, so it might not be worth updating soon-to-be-outdated documentation ;)
LambdaCms seems very interesting, I am still considering it for some projects :) It seems to be just what I need, I'm just unsure of its maturity.

It's safe to say it's not mature. But the good thing is that it is not
trying to do too much, and it pretty extendable. So it is just a thin layer
on top of Yesod (which I consider mature), that allows us to create and
share admin-sections in a uniform way.
On Sun, Mar 6, 2016 at 3:13 PM, Rasmus Klett<EMAIL_ADDRESS>wrote:

I think all the problems would be solved by a stack scaffold, so it might
not be worth updating soon-to-be-outdated documentation ;)
LambdaCms seems very interesting, I am still considering it for some
projects :) It seems to be just what I need, I'm just unsure of its
maturity.
—
Reply to this email directly or view it on GitHub
https://github.com/lambdacms/lambdacms/issues/14#issuecomment-192894838.

This is becoming quite unrelated, feel free to reply by message instead.
I get that the scope is reasonably small, but coming from the Django admin, does it offer enough hooks for customisation? I haven't dug into it yet, but plan on doing so.
Also, what is the future of the project? Do you consider it feature-complete, or is there a wishlist of future improvements? If we end up using it for the semi-commercial application we're brewing, we would probably end up contributing to the project, but we don't want to bet on something with no future plans.. There just doesn't seem to be a very supported option in the Haskell ecosystem yet :P

does it offer enough hooks for customisation?

Which hooks in particular are you looking for?

I haven't dug into it yet, but plan on doing so.

That's good. There is very little code to it, so a simple "read all" should
give you a good idea of where we are.

Also, what is the future of the project?

This is not a mature project like Django. You will have to bring some to
make use of it. Most importantly, this project is project is mostly giving
an infrastructure to build websites with admin backend on top of Yesod; in
a fashion that promotes code re-use.
It follows the model of Rails and RefineryCMS: RefCMS is a small layer on
top of Rails, just 20k lines of code, by which functionality can be
packaged (gems) in subsites (Rails engines) that can be re-used across
RefCMS installations.

Do you consider it feature-complete, or is there a wishlist of future
improvements?

Not feature complete. But not far from there either.
The most important feature I have in mind is to flesh out a way to expose
admin backend "widgets" that can be re-used by other admin backend modules.
For example an image picker widget that is exposed by the media library
package; you can use this widget in your hypothetical admin backend of you
"products" package.

If we end up using it for the semi-commercial application we're brewing,
we would probably end up contributing to the project, but we don't want to
bet on something with no future plans.. There just doesn't seem to be a
very supported option in the Haskell ecosystem yet :P

Nope. I really think this is your best bet. But be sure to look around.
There's HsCMS and ClckWrks, compared to them I'd pick LambdaCms.
The bottom line is that, since LambdaCms is a rather thin layer over Yesod,
you end up with a Yesod app. You can always take it from there, therefor
you are "buying in" to Yesod more then LambdaCms. And Yesod is, IMHO, the
defacto standard webframework for Haskell at the moment.
All the best with your choice, and do not hesitate to ask any questions you
may have.
On Mon, Mar 7, 2016 at 2:16 PM, Rasmus Klett<EMAIL_ADDRESS>wrote:

This is becoming quite unrelated, feel free to reply by message instead.
I get that the scope is reasonably small, but coming from the Django
admin, does it offer enough hooks for customisation? I haven't dug into it
yet, but plan on doing so.
Also, what is the future of the project? Do you consider it
feature-complete, or is there a wishlist of future improvements? If we end
up using it for the semi-commercial application we're brewing, we would
probably end up contributing to the project, but we don't want to bet on
something with no future plans.. There just doesn't seem to be a very
supported option in the Haskell ecosystem yet :P
—
Reply to this email directly or view it on GitHub
https://github.com/lambdacms/lambdacms/issues/14#issuecomment-193243916.

Thanks for all your time, you are mostly confirming my impression of it, which is good ;)
We are already on Yesod, which of course makes this tempting. I will test it out and make a decision within the coming weeks.

Please let us know what you found!
On Mon, Mar 7, 2016 at 3:10 PM, Rasmus Klett<EMAIL_ADDRESS>wrote:

Thanks for all your time, you are mostly confirming my impression of it,
which is good ;)
We are already on Yesod, which of course makes this tempting. I will test
it out and make a decision within the coming weeks.
—
Reply to this email directly or view it on GitHub
https://github.com/lambdacms/lambdacms/issues/14#issuecomment-193260852.

Will do
2016-03-07 15:22 GMT+01:00 Cies Breijs<EMAIL_ADDRESS>
Please let us know what you found!
On Mon, Mar 7, 2016 at 3:10 PM, Rasmus Klett<EMAIL_ADDRESS>wrote:

Thanks for all your time, you are mostly confirming my impression of it,
which is good ;)
We are already on Yesod, which of course makes this tempting. I will test
it out and make a decision within the coming weeks.
—
Reply to this email directly or view it on GitHub
<https://github.com/lambdacms/lambdacms/issues/14#issuecomment-193260852
.

—
Reply to this email directly or view it on GitHub
https://github.com/lambdacms/lambdacms/issues/14#issuecomment-193268342.

I think I've unfortunately come to the conclusion that this doesn't suit my needs. I was looking for something with a slightly larger scope. I was hoping this provided a way to wire a model up so LambdaCMS could provide some default templates and methods for CRUD operations, but it seems extensions have to implement all of that by themselves.
I guess that's fine, but to us the project's functionality doesn't justify the cost of integrating and depending on it being maintained.

Thanks for coming back to say this. I understand what you are looking for (not sure if I know such a project in any language, probably Administrator by Thoughtbot comes closest).
All the best for your project!

Closed the issue mistakenly, as it is still valid.

Well, I have primarily worked in Django, so maybe I'm just spoiled :P Their system has it, and it is such an unbelievable timesaver. But I realize now that it's probably pretty rare.

Hi Cies
I am trying to use 'stack new' approach (as it the only method now), but got lots of failures in patches. And just by looking at the patch files I get no clue on how to merge. Are you able to get time and fix this issue? or can you post a patched project which works correctly.

You could have a look at the project for the lambdacms.org website:
https://github.com/lambdacms/lambdacms.org


Asset is sometimes empty in production build

For some reason the mux asset in Gatsby is sometimes an empty object in production build with no playbackid. We fixed it by temporarily hard coding the playbackID in the front end.
Is this an issue with the mux sanity input or sanity's api or gatsby somehow?

Believe I just experienced the same. Asset kept returning as null in my Sanity data

Experiencing the same with Sanity and Gatsby.

I'm having the same issue. Seems like a quick fix to get done properly. Is it likely to happen soon?

Hey y'all, can you test v1.1.4 and see if it fixes it? 😄

I'm still seeing this issue in Gatsby. It will work for some time, then for some reason come back as null. If you do gatsby clean and then run gatsby dev it works again. Ping @stipsan

Me too! It does set _type to _reference, but that doesn't fix the issue. I gave up in the end and had to write a hugely convoluted custom publish script to pull all the data I need into fields, so it can't just disappear. Not ideal.

Related to this https://github.com/sanity-io/gatsby-source-sanity/issues/154, perhaps?

@palmerama Would you be able to share your solution? I'm moving into production with a site soonish and this issue is a blocker at the moment.

@intelligence last resort you could write a build script to use the sanity json api instead of the graphql endpoint to pull the mux data during build time then inject it into your gatsby site using an env variable or a gatsby source plugin to read it from a file

I think I may have found the underlying issue for why it turns up empty.
Adding:
sanityDocTypes.push('SanityMuxVideo', 'SanityMuxVideoAsset')
After:
https://github.com/sanity-io/gatsby-source-sanity/blob/main/src/gatsby-node.ts#L301
...seems to do the trick. I have no idea how to achieve this in a cleaner way though. For some reason those doc types are not included when looking through the cache.

This is now fixed with the upcoming 2.4.0
See: https://github.com/sanity-io/sanity-plugin-mux-input/issues/43#issuecomment-2121071213


No info in Debug Console in VSCode when debugging ADS extension via sqlopsExtensionHost

Azure Data Studio Version:
Insider build downloaded 3/5/19.

Steps to Reproduce:

Generate the default ADS extension project with Yeoman and generator-sqlops or generator-azuredatastudio.
a. If using generator-sqlops, change the runtimeExecutable value in launch.json.
Observe mocha tests generated in file extension.test.ts.
In VSCode, run the launch configuration "Extension Tests."
Observe the Debug Console.

Expected: Testrunner output detailing passing and failing tests (see comparison image below).
Actual: Only the line detailing the command used to start the ADS extension host (see actual image below).
Additional Information:
Break points added inside the tests are hit normally, indicating the tests do properly run. Suggests the issue is in piping output back to the debug console. Could this be an issue with the VSCode extension "Azure Data Studio Debug" instead?
Image of actual behavior:

Image of expected behavior; captured by running the same generated extension through a VSCode extension host instead of ADS:

This is interesting - what I've seen when using the debugger is that the output isn't as nicely formatted, but it does show up. Are you not seeing any output at all?
In general the output isn't quite as nice as in VSCode's case - the core issue is that the VSCode debugger uses a different launch method and way of getting feedback than the ADS debugger, since it's just launching a new version of its own process. I wasn't able to replicate that so had to use standard Node.js launching instead.
As a workaround, if you run tests from the cmdline you'll get all the test output shown fine and can verify using that, but I know it's more convenient to debug and see all output clearly.

No, no output at all beyond what is in the picture. I also tried a simple console.log() in the middle of the tests - it outputs fine in the VSCode extensionhost, but doesn't output at all for ADS.
I've had some difficulty with running tests from the command line:

When using "npx mocha -testpath-," vscode and sqlops imports in the test file cannot be found. This runs tests fine if those imports are not required in the tests.
When using the default "npm run test," script created by the generator, it runs the extension through VSCode.
When using "npm run test" after updating the script to use the sqlops module instead of vscode, an error prevents starting.

Admittedly I'm new to this technology, so it's possible I'm missing the correct method to run tests from command line, but that does start to stray away from the original topic here.

@kevcunnane, This issue still appears to be happening, at least for me. When I debug an ADS extension in VS Code, it does not output any console.log or console.info messages. This makes it much harder to debug.
I tried to add "outputCapture": "std" as other posts in the past have suggested, but that option does not appear to be available anymore.
This is my launch.json file:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Extension",
            "type": "sqlopsExtensionHost",
            "request": "launch",
            "runtimeExecutable": "azuredatastudio",
            "args": [
                "--extensionDevelopmentPath=${workspaceFolder}"
            ],
            "outFiles": [
                "${workspaceFolder}/out/**/*.js"
            ],
            "preLaunchTask": "npm: watch"
        },
        {
            "name": "Extension Tests",
            "type": "sqlopsExtensionHost",
            "request": "launch",
            "runtimeExecutable": "azuredatastudio",
            "args": [
                "--extensionDevelopmentPath=${workspaceFolder}",
                "--extensionTestsPath=${workspaceFolder}/out/test"
            ],
            "outFiles": [
                "${workspaceFolder}/out/test/**/*.js"
            ],
            "preLaunchTask": "npm: watch"
        }
    ]
}

Thank you for your help with this.

This issue is still apparent. For now I am logging debug messages to this function vscode.window.setStatusBarMessage() instead of console.debug(). There is no "outputCapture" option in the Extension configuration, and I've tried "internalConsoleOptions": "openOnSessionStart" to no avail.

Please update to the latest version of the debug extension and let us know if you're still seeing the issues - I've made some fixes there recently and it seems to be working as expected for me


chore(Windows/Unix): Remove toolbar on systems other than osx

What this PR does 📖
On OSX we NEED to provide a menu bar (for edit->copy paste) etc otherwise the keyboard commands will not work, this is not required in windows or linux so this PR disables it.

Works well on Windows but getting an error when trying to compile on MacOS


Improve install instructions

I am working on documentation for installs of the main pieces of the LBRY system. I use the following environment for testing:
Lubuntu 16.04.3 LTS - Ubuntu derived, takes half the disk space due to graphics diet.
apt update/apt upgrade so it's current.
tmux - share screens and log activity to text file, so I can watch a developer do an install.
When I run the install for lbry it builds smoothly, but at the end it's clear the person who wrote the instructions is intimately familiar with virtualenv, but not everyone is. I think this needs to be a subsection with a brief explanation of what virtualenv does and more explicit instructions.
The second issue I see is that this software can be run on a headless server, but there is no lbry.service file installed in /etc/systemd/system/, nor is there an example in the ~/lbry directory.
These are issues I can probably correct on my own, but I think it means that in addition to the documentation change there would be a lbry.service file to be included in the repository.
I'm D. Ray Blanco on Discord, would be delighted to get a little bit of time from the person who wrote the existing docs so we can make this smooth.

Here's a lbry.service file that would work:
[Unit]
Description="LBRY daemon"
After=network.target

[Service]
ExecStart=/path/to/lbrynet-daemon
Restart=on-failure
KillMode=process

[Install]
WantedBy=multi-user.target

@eukreign Do we want to add any of the above to the install instructions?

I don't think end-users should be using pip and virtualenvs to install lbrynet; especially now that we have on-push builds for all three platforms hosted at http://build.lbry.io/
We should add instructions and sample configs for how to run lbrynet in headless mode on at least Debian/Ubuntu (or common flavor there of).

The scope of this issue should be to create a debian package which properly sets up lbrynet to run as a service on Debian / Ubuntu.

I am working on documentation for installs of the main pieces of the LBRY system. I use the following environment for testing:
Lubuntu 16.04.3 LTS - Ubuntu derived, takes half the disk space due to graphics diet.
apt update/apt upgrade so it's current.
tmux - share screens and log activity to text file, so I can watch a developer do an install.
When I run the install for lbry it builds smoothly, but it's clear at the end that the person who wrote the instructions is partial to virtualenv, beacause most of us arent familiar with virtualenv, I think this needs to be a subsection with a brief explanation of what virtualenv does and include more explicit instructions.
The second issue I see is that the software can be run on a headless server, but there is no lbry.service file installed in /etc/systemd/system/, nor is there an example in the ~/lbry directory.
These are issues I can probably correct on my own, but I think it means that in addition to the documentation change there would be a lbry.service file to be included in the repository.
I'm D. Ray Blanco on Discord, would be delighted to get a little bit of time from the person who wrote the existing docs so we can make this smooth.

These are now up to date for installing the sdk.


Added fetching of groups to integration.

https://trello.com/c/dS55CbLu

 (5) i4a Integration update to support meeting registration validation

👍


Track dependencies for local packages that get combined

Fixes https://github.com/jazzband/pip-tools/issues/1505
Partially revert "Fix a regression where multiple declarations of a dependency"
(commit d720fe605b7a0c88be8a9afba5029b1408c8295b)
This brings back copy_ireq_dependencies and combines its use with that of the
proxies-for-naming. Editable and url_requirement ireqs are not cached by the
Repository, so when dependencies are queried for them once, no dependencies
will be found later for the copy made by combine_install_requirements.
copy_ireq_dependencies links those dependencies at the time of copy.

Contributor checklist

[x] Provided the tests for the changes.
[x] Assure PR title is short, clear, and good to be included in the user-oriented changelog

Maintainer checklist

[x] Assure one of these labels is present: backwards incompatible, feature, enhancement, deprecation, bug, dependency, docs or skip-changelog as they determine changelog listing.
[ ] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

Thank you!
Do you think it would be appropriate to combine this fix with this one (or an alternate form)?

Do you think it would be appropriate to combine this fix with this one (or an alternate form)?

@AndydeCleyre I cherry-picked your version of the fix. I also tried to take the test from the original PR, but between updating the test to fail without the fix (very important!) and adding make_package, I ended up re-writing it.
If you all think this PR is too bloated now, I can split the last two commits back out.

I'm going to close this in favor of focusing related attention on your own #1519. Please let me know if I'm making a mistake. Thanks!

Works for me! (I had left it open in case we wanted it as an incremental improvement, while progressing on the bigger change.)


Code generation failed with the following error

Amplify CLI Version 7.6.7.
AWS Services : auth api storage.
Hi, what is this error ?
✔ Generated GraphQL operations successfully and saved at src/graphql
Code generation failed with the following error
ENOENT: no such file or directory, lstat '/Users/rudy/Desktop/site/amplify/#current-cloud-backend/auth/site9aa3eb1e'.
✔ All resources are updated in the cloud

If that file is missing you may need to re-pull. Did you select "no" when responding to the prompt "do you intend to modify the backend"?

With a new deploy, the problem is over. Thanks.


gummy: 0.2 -> 0.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/fushko/gummy/releases.
meta.description for gummy is: "Brightness and temperature manager for X11"
meta.homepage for gummy is: "https://github.com/Fushko/gummy"
meta.changelog for gummy is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.3 with grep in /nix/store/hcqch6gn1rgdaqjymyh8pksa767grb1l-gummy-0.3
found 0.3 in filename of file in /nix/store/hcqch6gn1rgdaqjymyh8pksa767grb1l-gummy-0.3

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
gummy

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hcqch6gn1rgdaqjymyh8pksa767grb1l-gummy-0.3 \
  --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 gummy https://github.com/r-ryantm/nixpkgs/archive/08aaa97b1e1b7f82d7994b8714aa57036890f199.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/hcqch6gn1rgdaqjymyh8pksa767grb1l-gummy-0.3
ls -la /nix/store/hcqch6gn1rgdaqjymyh8pksa767grb1l-gummy-0.3/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 built:

gummy

Maintainer pings
cc @IvarWithoutBones for testing.

Result of nixpkgs-review pr 197089 run on x86_64-linux 1

1 package built:

gummy


responsive shop page

@Kratika0907 changes has been made for shop page responsiveness for mobile devices.

@Kratika0907 bill is mobile responsive now. Please review PR.

@Kratika0907 bill is mobile responsive now. Please review PR.


Alpha.10 Tab Styling Issue

Bug Report
Ionic Info
Run ionic info from a terminal/cmd prompt and paste the output below.
Ionic:

   ionic (Ionic CLI)          : 4.0.0-rc.11 (/usr/local/lib/node_modules/ionic)
   Ionic Framework            : @ionic/angular 4.0.0-alpha.10
   @angular-devkit/core       : 0.7.0-rc.1
   @angular-devkit/schematics : 0.7.0-rc.1
   @angular/cli               : 6.0.8
   @ionic/ng-toolkit          : 1.0.0-rc.10
   @ionic/schematics-angular  : 1.0.0-rc.10

Cordova:

   cordova (Cordova CLI) : 8.0.0
   Cordova Platforms     : ios 4.5.4

System:

   Android SDK Tools : 26.1.1
   ios-deploy        : 1.9.2
   ios-sim           : 6.1.2
   NodeJS            : v9.8.0 (/usr/local/Cellar/node/9.8.0/bin/node)
   npm               : 6.1.0
   OS                : macOS High Sierra
   Xcode             : Xcode 9.4.1 Build version 9F2000

Environment:

   ANDROID_HOME : /Users/kensodemann/Library/Android/sdk/

Describe the Bug
A community member asks me:
i m struggling with the new shadow dom by default
for example, im trying to change the ion-tabs styles
so i did :
ion-tabs {
  --ion-tabbar-background-color: cssvar(light);
}

which works, but when i try to change the ion-tab-button
ion-tab-button {
  --color-selected: var(--success);
  --ion-color-contrast: var(--grey);
}

it s not beeing applyed
(ion-tab-button are part of the shadow dom of the ion-tabs)
I performed a similar attempt in a basic tab starter:
ion-tabs {
  --ion-tabbar-background-color: var(--ion-color-dark);
}

ion-tab-button {
  --ion-tabbar-text-color-active: #ff0000
}

My result was the same (background ended up dark, but the active button was still blue rather than red.
Steps to Reproduce
Steps to reproduce the behavior:

Generate a tabs starter
add the second set of styling above to the tabs page scss
note that the tab bar turns black as expected but the selected icon does not turn red.

When this one gets fixed, please provide a link to the commit. The person who reported it to me is having a similar issue with some of their own components and would like some guidance.

@camwiegert - created a repo to duplicate. This may come down to just me and the person I am working with trying to accomplish this the wrong way.
https://github.com/kensodemann/test-tab-styling
See the tabs.page.scss file.
Let me know if this is the proper way to style the tabbar or not. Feel free to point to some docs if they exist as well and I will pass the info along.

Thanks @kensodemann - I'm looking into it this morning. Should have more info soon.

Here is the CSS that solves the issue for the OP:
ion-tabs {
  --ion-tabbar-background-color: var(--ion-color-dark);
  --ion-tabbar-text-color: #fff;
  --ion-tabbar-text-color-active: #ff0000
}

This should be fixed by the updates to the tabs API in this PR: https://github.com/ionic-team/ionic/pull/16048
Just need to confirm this.

Please let the user know that these are the updated tab globals which can be set on the root:

The individual tab buttons can also be styled using the tab button component variables like:
ion-tab-button {
  --background: var(--ion-color-dark);
  --color: #fff;
  --color-selected: #ff0000
}

Let me know if there are any questions or concerns, thanks!


Check file last modified date when serving source code

We should have some checks for the last-modified date/time of the source file and the compiled artifact, so that we can show a warning to the user if the code was edited after compilation.
For example, say I request the file layout/base/nsRefreshDriver.cpp for library XUL/<breakpadid> with address proof 0x1234 on macOS. Symbolication uses the file "XUL", which references a .o file, which has the DWARF data with the source filename. In the source code API response, we should include the last modified timestamp of all three files.

Additionally we can check the source file checksum. The PDB format can store a md5 / sha1 / sha256 checksum for each source file. This is exposed in FileInfo::checksum.


source code ?

Could you please provide source code for this article?

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

ID: 44dce36e-34a3-297b-a8c2-e4339042bd3c
Version Independent ID: f442dcb9-6014-7ca1-de8a-030b1e425759
Content: Create your first Service Fabric application in C# - Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-reliable-services-quick-start.md
Service: service-fabric
GitHub Login: @athinanthny
Microsoft Alias: atsenthi

@mchudinov That source code is generated by the service fabric sdk.
You can take a look at this repo https://github.com/Azure-Samples/service-fabric-dotnet-getting-started for the sample service fabric project

Thank you!


UX: Decider asked to introduce self with non-existent character title

This player was the decider, and the first to be asked to introduce themselves. They're asked to introduce their character title, but without a role card or clearer copy, this is a confusing instruction.

seems like we just need to exclude the decider in the introductions.


Link formats

The link formats could be simplified to a single link format if we allowed for limited arithmetic on positions. For now I just have a bunch of link formats that take a position and an offset:

Ref : Type -> Type
link8 : Pos -> U8 -> Format -> Format
link16 : Pos -> U16 -> Format -> Format
link32 : Pos -> U32 -> Format -> Format
link64 : Pos -> U64 -> Format -> Format

Todo:

[x] integration tests
[ ] check the open type format works with the new links
[x] write reference documentation

This has exposed a bug in how I handle Repr, which I'm currently tracking down!


KAFKA-8794: Deprecate DescribeLogDirsResponse.[LogDirInfo, ReplicaInfo]

I found this glitch while I was working on some monitoring system.
note:

Javadoc of DescribeLogDirsResult (2.3.0): does not provide link to org.apache.kafka.common.requests.DescribeLogDirsResponse.LogDirInfo.
Javadoc of DescribeReplicaLogDirsResult (2.3.0): provides link to DescribeReplicaLogDirsResult.ReplicaLogDirInfo

cc/ @hachikuji
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Thanks for looking into this issue. I agree this would be nice to fix it, but this is an API change, so it will require a KIP.

Retest this please.

@mimaison Hi. I updated the PR and submitted the KIP. I know that you must be on working frenzy now, but if you have some spare time please have a look and give some feedback.

Retest this please

In the meantime, someone else had submitted a KIP for this change: https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=158862109. I see both KIPs have active threads on the mailing list at the moment.


Switch to Redis for task queue

This PR configures celery to use the existing redis instance (the one used for caching) for queueing instead of provisioning a separate RabbitMQ instance.
@BryonLewis I applied this change to the rgd-dev instance as well, if you'd like to verify that as well.

GH actions is having some issues it seems https://www.githubstatus.com/


Crafting Storage Glitch

Downloaded the mod earlier, checked it out, neat concept for people who like to play larger modpacks, however there's a glaring issue:
Something causes the crafting storage interface to glitch out and be stuck on a random item (possibly one selected last) while also not showing any recipes anymore
Tried:

Breaking and replacing EVERY MSE block
Removing and reinserting stations
Unloading and reloading the mod

Nothing worked, hopefully something will be resolved soonTM

Only way I could fix this is restarting the game.

I am unable to reproduce this locally. Could you provide more information and your mod list?

homealone.zip
Here's the modpack, I don't know what causes it to misbehave like this. I'll try on my next world.

I'm also now unable to do this glitch, I'm not sure what caused it in the first place, so I'll close the issue for now. If it happens again, I'll open it back up and post log.


Config Setting for Setting Upscale Default to False?

Is there a way to use a default of false for the Upscale option by setting something in a config file?
I haven't found any info on this in documentation or in the repo. I hope I'm not missing it.
I have the following in my processing.config file:
    <plugin name="Resize" type="ImageProcessor.Web.Processors.Resize, ImageProcessor.Web" enabled="true">
      <settings>
        <setting key="Upscale" value="false" />
      </settings>
    </plugin>

@jjack-vertex No config I'm afraid. Only settings for max values
You could create an IWebGraphicsProcessor  based on Resize processor though that implemented the functionality.


doc: Add external dependenices of RMM & SDK

Islet RMM dependencies

Name
Type
License
URL

bitflags
runtime
MIT/Apache-2.0
https://github.com/bitflags/bitflags

cc
build time
MIT OR Apache-2.0
https://github.com/rust-lang/cc-rs

hashbrown
runtime
MIT OR Apache-2.0
https://github.com/rust-lang/hashbrown

lazy_static
runtime
MIT/Apache-2.0
https://github.com/rust-lang-nursery/lazy-static.rs

linked_list_allocator
runtime
Apache-2.0/MIT
https://github.com/phil-opp/linked-list-allocator

lock_api
runtime
MIT OR Apache-2.0
https://github.com/Amanieu/parking_lot

log
runtime
MIT OR Apache-2.0
https://github.com/rust-lang/log

spin
runtime
MIT
https://github.com/mvdnes/spin-rs.git

spinning_top
runtime
MIT/Apache-2.0
https://github.com/rust-osdev/spinning_top

Islet SDK dependencies

Name
Type
License
URL

bincode
runtime
MIT
https://github.com/servo/bincode

cbindgen
build time
MPL-2.0
https://github.com/eqrion/cbindgen

cfg_if
build time
MIT/Apache-2.0
https://github.com/alexcrichton/cfg-if

ciborium
runtime
Apache-2.0
https://github.com/enarx/ciborium

coset
runtime
Apache-2.0
https://github.com/google/coset

hex
runtime
MIT OR Apache-2.0
https://github.com/KokaKiwi/rust-hex

minicbor
runtime
BlueOak-1.0.0
https://gitlab.com/twittner/minicbor

nix
runtime
MIT
https://github.com/nix-rust/nix

p256
runtime
Apache-2.0 OR MIT
https://github.com/RustCrypto/elliptic-curves/tree/master/p256

p384
runtime
Apache-2.0 OR MIT
https://github.com/RustCrypto/elliptic-curves/tree/master/p384

rand
runtime
MIT OR Apache-2.0
https://github.com/rust-random/rand

rsa
runtime
MIT OR Apache-2.0
https://github.com/RustCrypto/RSA

serde
runtime
MIT OR Apache-2.0
https://github.com/serde-rs/serde

is this a required document for CCC?
People could see the dependency and license with cargo tree and cargo license and dependency would be more complex if the depth is deeper than 1.

is this a required document for CCC?
Exactly.

People could see the dependency and license with cargo tree and cargo license and dependency would be more complex if the depth is deeper than 1.
These are in depth 1.

Would it be possible to split the table for each RMM and SDK? It might be simpler to see at a glance which external modules are needed for each of them since we will also need this for Islet-HES soon.
I am very sorry if I am asking too much.

Would it be possible to split the table for each RMM and SDK? It might be simpler to see at a glance which external modules are needed for each of them since we will also need this for Islet-HES soon. I am very sorry if I am asking too much.

Sure. I reflected it :)


There is no prompt "No matching resources found" when selecting an empty Azure Container Registry

OS: Win10
Build Version: 20220903.1
Regression: Not a Regression
Repro Steps:

F1 -> Execute "Azure Container Apps: Create Azure Container Registry..." command to create an Azure Container Registry.
Right click one Azure Container Environment -> Select "Create Container App..." -> Enter a name for the new container app -> Select "Use image from registry" -> Select "Azure Container Registry" -> Select the above created Azure Container Registry.
Check whether there is a prompt "No matching resources found" or not.

Expect:
There is a prompt "No matching resources found".
Actual:
There is no prompt "No matching resources found".

Something like this:

Verified on build 20231006.4, it has been fixed.


FORGET operation generates a warning

FORGET operation generates a warning that looks like this:
[2021-09-06T04:56:45Z DEBUG fuser::request] FUSE(376) ino 0x09427d7bb63cf084 FORGET nlookup 1
[2021-09-06T04:56:45Z WARN  fuser::request] Request RequestId(376): Failed to send reply: No such file or directory (os error 2)

It seems that fuser is trying to reply with an error here, but failed because FORGET has no reply:
https://github.com/cberner/fuser/blob/af752ab355bc80fc0b758f543bc7dfa3584b5668/src/request.rs#L100-L114

Can you try out the change I just merged to master? It should fix this

It works for me.


amqpcpp lib stops to work after publish message to invalid exchange

amqpcpp lib stop to work after publish to invalid exchange

The code:
AMQP::Channel*    m_channel;

void RpcHandler::send_ack(const AMQP::Message &message, quint64 deliveryTag, const QByteArray& ba)
{
    AMQP::Envelope envelope(ba.data());
    envelope.setCorrelationID(message.correlationID());

    //    if (!m_channel->publish("", message.replyTo(), envelope))
    //        LDEBUG() << "qqqqqqqqqqq";

    // after this string library stop to work
    //     if coment this string and uncomment previous publish
    //    with correct exchange all is work (ack, receiving new messages etc.)
    //
    if (!m_channel->publish("ajhsakjdhasdkjhas", message.replyTo(), envelope))
        LDEBUG() << "qqqqqqqqqqq";

    if (!m_channel->ack(deliveryTag))
        LDEBUG() << "sssssss1";
}

After sending message to invalid exchange all stop to work:

When I sends ack of my previous message, server does not receives it like I did not send ack. After exit from amqpcpp callback, message status on server changes from unacked to ready status, like I did not send ack.
Also publish with invalid exchange return true, ack also returns true
No new messages does not comes to my all consumed queus. Also if I send messages to other queues. Messages are pushes to RabbitMQ server and does not comes to my service anymore
No any error reporting/conection closing on AMQP::ConnectionHandler::onError
No any errors from ack or invalid publish

I have only error message on rabbitMq server<EMAIL_ADDRESS>=ERROR REPORT==== 7-Aug-2015::17:46:25 ===
connection <0.2479.0>, channel 1 - soft error:
{amqp_error,not_found,"no exchange 'asasas' in vhost '/'",'basic.publish'}

No any errors about my ack.
Could you halp me? Is it bug? I do not want to stop working library, I want to have any errors as minimum e.g. ConnectionHandler::onError if everething stopped or return false from publish without stopping working library or any way to detect this situation in code (only from RabitMQ log file in current moment).  Just restarting of my service is helping (I did not try to close and reopen connection). Would be great to have false from publish call and all continue to work.
amqpcpp version which I uses I did not find in source code or headers files or readme. So I do not know my current version of library(((
Thank you.

Sorry. Invalid issue. I had published message to invalid project. amqp-cpp (from CopernicaMarketingSoftware) and amqpcpp it is diferent projects.


can't locate ocaml binary

I tried to follow the installation steps, but after running:
sudo apt install bzip2 make gcc bubblewrap rsync patch curl unzip
bash < <(curl -sL https://github.com/tarides/ocaml-platform-installer/releases/latest/download/installer.sh)
ocaml-platform

This is my attempts at running ocaml and installing it.
$ ocaml
bash: ocaml: command not found
$ opam install ocaml
[NOTE] Package ocaml is already installed (current version is 5.0.0).

What to do?

$ opam list
# Packages matching: installed
# Name                # Installed                    # Synopsis
base-bigarray         base
base-domains          base
base-nnp              base                           Naked pointers prohibited in the OCaml heap
base-threads          base
base-unix             base
dune                  3.6.1-ocaml5.0.0+platform
dune-release          1.6.2+platform
merlin                4.7.1-500-ocaml5.0.0+platform
ocaml                 5.0.0                          The OCaml compiler (virtual package)
ocaml-base-compiler   5.0.0                          Official release 5.0.0
ocaml-config          3                              OCaml Switch Configuration
ocaml-lsp-server      1.15.1-5.0-ocaml5.0.0+platform
ocaml-options-vanilla 1                              Ensure that OCaml is compiled with no special options enabled
ocamlformat           0.24.1+platform
odoc                  2.2.0-ocaml5.0.0+platform
$ opam install ocaml-lsp-platform
[ERROR] No package named ocaml-lsp-platform found.

Oh, seems like I was missing eval $(opam env)!


Add method for connecting remote browser server

Playwright provides BrowserType.connect for working with remote browser server.
However the API requires Playwright driver in executing on playwright-python.
https://github.com/microsoft/playwright-python/issues/732
BrowserType.connect is essentially creating WebSocket client and connecting to WebSocket server, and can be run even in Alpine Linux.
playwright-python would not support, so let's implement it in this library :)

npx playwright run-server
launches Playwright server
npx playwright launch-server firefox
launchrs Browser server
playwright.chromium.connect can work with WebKit or Firefox browser server :)


bug fix for github integration

There's a bug caused by the fallback to this piece of code.
Steps to reproduce:

Add a GitHub repo directly to the mops file

     base = "https://github.com/dfinity/motoko-base#moc-0.7.2"

then run mops install base

When the command is executed, it will display a log message instead of trying to install the GitHub package. This pull request is to fix this issue.

Hmm, the intended behavior of mops install base was to install a latest version of a package from on-chain registry, and save that version in mops.toml regardless of which version was there before.
This gives us the predictable behavior of the install command:
mops install - will install all packages according to mops.toml
mops install <package_name> - will install a package from on-chain registry and save its version in mops.toml
mops install https://github.com/... - will install a package from GitHub and save its url in mops.toml

Thank you for clarifying the intended behavior. I was thinking of the edge case where someone might try to update a GitHub package in mops.toml using the package's name instead of the URL. However, I see now that using mops install to update the packages will help avoid conflicts.


Add test for Thrust function in Motor file

I dont know if i've created the test file correctly. Didn't knew very well how to access a function inside a class.

@joaofoes I think you have rebased wrongly. Could you fix it?

The signalated merge should not exist.


Angular never searches for zone.js in the correct path

Command
build
Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
I have a monorepo, one of its workspaces is an Angular workspace. and I use pnpm to install the dependencies
each workspace has its own node_modules folder.
when I start building this app (the Angular workspace), it fails to find zone.js
it should find it inside node_modules of the Angular app
this debug info may be useful
as you can see it looks in:

dibo/node_modules/zone.js (the monorepo's top-level root)
dibo/apps/mobarmegeen/mobarmegeen-ui/zone.js

but never looks in the correct path which is dibo/apps/mobarmegeen/mobarmegeen-ui/node_modules/zone.js

debug info
 [DEBUG] Resolving import "zone.js/node" in directory "/home/dibo/dev/@its-dibo/dibo" of type "import-statement"

  Checking for package alias matches
    Failed to find any package alias matches
  Read 25 entries for directory "/"
  Read 1 entry for directory "/home"
  Read 25 entries for directory "/home/dibo"
  Read 4 entries for directory "/home/dibo/dev"
  Read 3 entries for directory "/home/dibo/dev/@its-dibo"
  The file<EMAIL_ADDRESS>exists
  Read 40 entries for directory "/home/dibo/dev/@its-dibo/dibo"
  Read 40 entries for directory "/home/dibo/dev/@its-dibo/dibo"
  Searching for "zone.js/node" in "node_modules" directories starting from "/home/dibo/dev/@its-dibo/dibo"
    Matching "zone.js/node" against "paths" in
<EMAIL_ADDRESS>      Using "/home/dibo/dev/@its-dibo/dibo/apps/mobarmegeen/mobarmegeen-ui" as "baseURL"
    Attempting to load<EMAIL_ADDRESS>as a file
      Failed to read directory<EMAIL_ADDRESS>open
<EMAIL_ADDRESS>no such file or directory
    Attempting to load<EMAIL_ADDRESS>as a directory
      Read 40 entries for directory "/home/dibo/dev/@its-dibo/dibo"
      Read 2 entries for directory "/home/dibo/dev/@its-dibo/dibo/apps"
      Read 2 entries for directory "/home/dibo/dev/@its-dibo/dibo/apps/mobarmegeen"
      The file<EMAIL_ADDRESS>exists
      Read 16 entries for directory "/home/dibo/dev/@its-dibo/dibo/apps/mobarmegeen/mobarmegeen-ui"
      Failed to read directory<EMAIL_ADDRESS>open
<EMAIL_ADDRESS>no such file or directory
      Failed to read directory<EMAIL_ADDRESS>      Failed to read directory<EMAIL_ADDRESS>    Parsed package name "zone.js" and package subpath "./node"
    Checking for a package in the directory<EMAIL_ADDRESS>    Read 40 entries for directory "/home/dibo/dev/@its-dibo/dibo"
    Read 76 entries for directory "/home/dibo/dev/@its-dibo/dibo/node_modules"
    Failed to read directory<EMAIL_ADDRESS>open
<EMAIL_ADDRESS>no such file or directory
    Failed to read directory<EMAIL_ADDRESS>    Attempting to load<EMAIL_ADDRESS>as a file
      Failed to read directory<EMAIL_ADDRESS>open
<EMAIL_ADDRESS>no such file or directory
    Attempting to load<EMAIL_ADDRESS>as a directory
      Failed to read directory<EMAIL_ADDRESS>      Failed to read directory<EMAIL_ADDRESS>
✘ [ERROR] Could not resolve "zone.js/node"

    angular:polyfills-server:angular:polyfills-server:1:7:
      1 │ import 'zone.js/node';
        ╵        ~~~~~~~~~~~~~~

  You can mark the path "zone.js/node" as external to exclude it from the bundle, which will remove
  this error and leave the unresolved path in the bundle.

Minimal Reproduction
https://github.com/its-dibo/issue-zonejs
1- install via pnpm pnpm install
if pnpm is not installed, simply, run npm I -g pnpm
2- run the app npm start
note: don't use any other package manager, as they hoist the packages of the app to the root of the monorepo.
.
Exception or Error
No response
Your Environment
Angular CLI: 17.0.3
Node: 20.10.0
Package Manager: yarn 1.22.22
OS: linux x64

Angular: undefined
...

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1700.3 (cli-only)
@angular-devkit/core         17.0.3 (cli-only)
@angular-devkit/schematics   17.0.3 (cli-only)
@schematics/angular          17.0.3 (cli-only)
rxjs

Polyfills are resolved from the workspace root because they're referenced in the angular.json file. Typically, in an Angular CLI workspace, it's expected to have a single node_modules directory at the top level of the workspace.

Polyfills are resolved from the workspace root

this is what I need, but the actual behavior is that it searches in the monorepo's root rather than the workspace's root

Can you setup a minimal repro please?
You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.
This might be related to your directory structure so its really important to get an accurate repro to diagnose this.

Can you setup a minimal repro please?

I updated the description with the minimal repro and steps to reproduction

Hello @its-dibo, thank you for your reproduction. It seems that this is an NX managed monorepo, so its operation differs slightly from an Angular CLI workspace due to the presence of multiple nested projects.json and an nx.json file. In an NX monorepo, however the workspace root is where your nx.json is located, so the polyfills and other node_modules entries are resolved relative to that location.

but, as you know, pnpm creates s node_module folder for each package separately (hard links)
that's mean that polyfills can never be found, as they'll never be presents in the same level of nx.json

Had a brief discussion about this within the team and decided it probably makes sense to resolve polyfills from the project root. Projects should be relatively self-contained and have all the information to build themselves. They shouldn't need to rely on workspace-level information here, so it makes sense to be project -relative.
This is arguably a bug fix, but it is an observable change and probably safer to do in a major version. Let's include this in v19.


Importing devices in V3 with JSON generated by V2 ttn-lw-migrate tool fails

Summary
The Import of devices with JSON file generated by the lorawan-migration tool fails. I'm using v0.3.0-rc1. If I modifiy the JSON file by deleting the session part the import is successfull.
...
Steps to Reproduce

Generate a JSON file of a device or entire application with tt_lw_migrate tool
Import the generated JSON file using the User Interface on the new ThingNetwork Console (Button import end devices)

What do you see now?
The Issue is described here: https://www.thethingsnetwork.org/forum/t/importing-devices-in-v3-with-json-generated-by-v2-ttn-lw-migrate-tool-fails/45169
The error generated by the import tool is: Invaild field mask

Hi @ThomasBaumgartner, thanks for reporting the issue.
Devices exported with an active session cannot be imported to The Things Stack versions prior to 3.12.0. This is due to a breaking API change with The Things Stack 3.12.0 (unreleased as of yet).
If using earlier versions of The Things Stack, please export devices without their session (add the --ttnv2.with-session=false flag in the export command), or (temporarily) use an earlier version v0.2.0-rc2.
There is also a PR to add a note for this in the README.
Sorry for the trouble caused, I hope this helps.

Hi @neoaggelos thank you very much for your help. It works perfectly with --ttnv2.with-session=false


Fix frame inApp detection

Paths outside the project root should be considered "not in app"

Done. Yeah, I was quite confused by this and I look around for about an hour "what am I doing wrong", and then I traced the code to this place, which didn't really make any sense :D

Do you mean in_app_exclude? That is covered here: https://github.com/getsentry/sentry-php/pull/911/files#diff-c2c964f09de947d90752fedd3917d9d5R138


Support for template parameters, as well as job parameters

I have just tried out ez-templates, which seems a very interesting solution to reduce the maintainance nightmare in big Jenkins installs (with lots of similar jobs doing the same thing, but needing a private workspace).
As far as I know, the only way to parameterize each job (template instance) based on a template, is by creating a full-blown Job Parameter ("This build is parameterized"). However, this will not always be desirable. For example, we may want to define a sample "build" job, which compiles and tests our project, and send an email notification to the development team if it fails.
Ok, so we can define a "template_build" job, and define two parameters: "REPO_URL" and "NOTIFY_TO".
Now we can make several instances of it and, for each job (development project), specify the SCM Url (e.g. "http://example.com/svn/project/trunk") and notification addresses (e.g<EMAIL_ADDRESS><EMAIL_ADDRESS>However, now it will be a bit awkward to execute this Build, because now it is a "Build with Parameters". Some plugins or scripts may not work with it the same way (the REST interface is different now), and more importantly, we have a form now to modify these data each time we execute the build. So, a user with the rights to execute the build, can essentially also configure it (because he can change the REPO_URL and NOTIFY_TO values, which should be hidden in the configuration).
Moreover, we may have also first-level Job Parameters, which are not intertwined with these template parameters.
So, the question is: is there some way to defined template parameters I am missing here? If not, I would propose to add support for template parameters. I think that in a previous effort of JoelJ, there was such a feature ("Templating" repo).
Thank you in advance for considering this!
Regards,
Aritz

@aritzbastida Sorry for the delayed response. My first implementation was fragile. I'm sure revisiting that type of templating wouldn't be a waste of time, but I'm not sure if that should be the goal of this plugin. I really like the simplicity. It uses existing Jenkins parameter expansion, so it works with any plugin that supports that. However, I wouldn't be completely opposed to adding something like this into this plugin for power-users. I'll take a look at your PR.

Hi @Joel! Thanks for taking a look at my PR, and conside. I think that the proposed implementation of template parameters is also simple (yet effective), and provides clear added-value when plain-old Jenkins job parameters are not convenient. But, of course, I am not neutral :stuck_out_tongue:


Builds and pushes docker container based on branch name.

Description
This pr integrates workflows to build and push docker containers using GH actions.
This PR requires DOCKERHUB_USERNAME and DOCKERHUB_TOKEN to be set as secret
Fixes #901
How Has This Been Tested?

[X] Similar action runs in private repository

/ this is failing due to unset DOCKERHUB_USERNAME and DOCKERHUB_TOKEN

@JeremyTheocharis can you set DOCKERHUB_TOKEN & DOCKERHUB_USER for this ?

\/ hangs on the old docker hub builds :D


Duplicated tree nodes in Java Projects view

Looks like a concurrent issue when multiple invocation of reveal() happens at the same time:
https://github.com/microsoft/vscode-java-dependency/blob/ac162dac91836aa065e07782a06880e624938004/src/views/dependencyExplorer.ts#L143


Pypercard requires Python 3.6 or greater

On Debian stretch, the system Python is python 3.5. Unfortunately the use of f-strings means that pypercard is incompatible with Python 3.5.
Adding python_requires='>3.5' or similar to setup.py would, with later setuptools, prevent installation on unsupported Python versions.

We're re-writing PyperCard to use PyScript (so Python is run in a browser context for rendering things). Ergo, the Python version is specified via PyScript and this problem will no longer be an issue. :+1:


[proposal][wasm][ffi] AOT wasm interoperability

Use case
wasm interoperability would offers great value to flutter's framework
I'm sure the team is aware of this [1, 2] given that there used to be a  labs.dart.dev's package wasm
that was discontinued in summer 2023;
according to this comment such decision was caused by 3 technical obstacles:

lack of dart/flutter native assets feature
lack of AOT mode of the wasm runtime of choice for ios
need for a separated package for bindings

as of today there is visible momentum towards the clearing of the main obstacles

dart has an experimental native assets feature

https://github.com/dart-lang/sdk/issues/50565
https://github.com/flutter/flutter/issues/129757

wasmedge besides provide support for several platforms is working on wasm AOT fro android and ios

https://github.com/WasmEdge/WasmEdge/issues/2621

Proposal
Track the clearing of technical blocker for a wasm implementation
and if/when these blockers are cleared resume/re-work the deprecated package:wasm

cc @devoncarew @mit-mit @liamappelbe @hydai

@iapicca What are you asking for? Being able to call into WASM code from a native backend? Or being able to compile Dart to WASMGC and calling into WASM from Dart when Dart is being compiled to WASM? What use case do you want to solve?
(My current thinking is that if you have native code, then it can be compiled to a dynamic library for the native backends, and to wasm (via emscripten) for web backends. And then we need support for calling WASM code from the WASMGC backend possibly via dart:ffi. We've explored such approach in https://github.com/dart-lang/native/pull/1390 which compiles libclang to WASM. So this is a completely different approach than bundling a WASM runtime in the Dart native backends. It's more in line with https://github.com/dart-lang/sdk/issues/46690.)

@iapicca What are you asking for?

to be able to call WASM code on all platforms supported by Flutter
similarly to the discontinued package wasm
that supported android, ios, linux, windows and mac (hilariously not web),
but with few differences:

AOT wasm runtime
native assets
web support

Being able to call into WASM code from a native backend?

yes, on all platforms

Or being able to compile Dart to WASMGC and calling into WASM from Dart when Dart is being compiled to WASM?

Given that AFAIK at the time of writing Dart compiles to WASM only for flutter web, then yes
the expectation that a wasm backend would work on all platforms including flutter web when compiled to wasm

Use case
wasm interoperability would offers great value to flutter's framework I'm sure the team is aware of this [1, 2]

What use case do you want to solve?

to be able to call WASM code on all platforms supported by Flutter (see above)

(My current thinking is that if you have native code, then it can be compiled to a dynamic library for the native backends, and to wasm (via emscripten) for web backends.

I don't assume native code as a starting point,
WASM doesn't need to be compiled for a specific "native platform" as the same code will run by default everywhere.
Yes, there is a need for a runtime and picking one will be an interesting choice to make
I mentioned WasmEdge because its work toward
android and ios support that could alleviate the effort of the team in that regard

And then we need support for calling WASM code from the WASMGC backend possibly via dart:ffi. We've explored such approach in dart-lang/native#1390 which compiles libclang to WASM. So this is a completely different approach than bundling a WASM runtime in the Dart native backends. It's more in line with dart-lang/sdk#46690.)

I'm sure it could work, but it feel a bit "artisanal", no offense.
I'm aware of web packages that already use wasm (eg: drift and see issue),
moreover having to manually wire native code to flutter for each platform defeats the purpose.
What I'm proposing is provide a tool that allows developers to call a wasm code from all supported platforms,
by embedding (as a federated plugin) the wasm runtime of choice
and bridge dart <-> wasm calls through code generation

I'm also interested in this. WASM could be a good library. You could just use wasm packages like npm packages and use it on all platforms.
I'm also interested if this could also be in a secure environment, to allow something like a plugin system inside a flutter app.
You could just add a wasm interface to your app and allow users to install any plugin they like which is written in WebAssembly.

I'm also interested if this could also be in a secure environment, to allow something like a plugin system inside a flutter app. You could just add a wasm interface to your app and allow users to install any plugin they like which is written in WebAssembly.

I don't think this is possible on all platform, basically ios forbid it (and some android as well?)
the code needs to be bundled and AOT AFAIK
there are WASM interpreters that don't have horrible performances, but I suspect it wouldn't be accepted

I would just keep it to the developer.
On desktop and on apk builds this should be no problem. VSCode has something like this with javascript and securing should be just an option? This shouldn't be a downside for bundled wasm plugins.

In the issue description I specify the need for a native asset,
for how I see it an implementation based on dynamic asset is out of the scope of this issue


Automatic stream quality based on current data throughput

I'm submitting a ...

[ ] bug report
[*] feature request
[ ] support request

General infomration
Would it be possible for the plugin to make use of the Netflix stream quality setting "Automatic"?
As avaiable here...
https://help.netflix.com/en/node/87
Prerequisites

[*] Are you running the latest version?

Description
[Description of the bug or feature]
Steps to Reproduce

[First Step]
Limit the bandwidth to 1Mbps to Netflix (any possible way). Video should start buffering often. Yet setting Netflix quality to "Low" requires only 0.4Mpbs. SD require about 1.5Mbps and therefore expected to buffer often.

[Second Step]
One would hope Kodi/plugin can compensate by auto testing the connection speed once in a while and bump the stream quality up or down accordingly.

[and so on...]

Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
The stream quality stays on STD no matter how much buffering happens.
Using another system with web access to Netflix the user can manually bump stream quality up or down to improve the Kodi experience.
Context (Environment)
Installation

[*] I installed the plugin via zip from the Releases page
[ ] I´m using the Netflix Repo
[ ] I´m using a different source (Please tell which)

Operating System

[ ] Linux (x86/x64)
[ ] OSX (x86/x64)
[*] Windows (x86/x64)
[*] Linux (ARM)
[ ] Android

Additional informatin on the environment
[Descripe your environment a bit more detailed, are you using LibreElec f.e.]
Using latest 18.0 Nightly build. (upgraded often) So far this has no impact on the plugin feature request.
Debug log
[Please include a link to your debug log (use something like http://sprunge.us/) or similar, please do not paste]
Other information
[e.g. detailed explanation, related issues, suggestions how to fix, links for us to have context, etc.]
Screenshots
[Please add a screenshot if that helps understanding your problem]
[You can erase any parts of this template not applicable to your Issue.]

You´re referring to automated bitrate switching which can't be handled by the plugin, this must be done within the Inputstream/Kodi pipeline.
Afaik. Inputstream theoretically supports this, but Kodi itself would need some changes to enable Inputstream to do its thing.
So sadly nothing that can be done here :/


Stereo flag is overlapped with a structure

Steps to Reproduce
Launch Ketcher.
Create a benzene molecule using the Templates tool.
Add a stereo bond (e.g. Single Up bond) to the following carbon atom:

3)Add a single bond to the following carbon atom:

Expected result: Stereo flag is not overlapped with a structure.
Actual result: Stereo flag is overlapped with a structure.

Browser: Chrome Version 93.0.4577.63, Standalone version
Text 'abs' appears inside (outside) the structure (see atach.)
https://user-images.githubusercontent.com/90637536/133435511-bf5414ef-5ee7-4fb0-803d-1ac73bee3045.mp4

Text 'abs' appears inside (outside) the structure because of selected settings.
When we set "Label display at stereogenic centres" in "Off" text don't appear (approved by @vitalgerko)

The problem was with the cookies. I have previously changed the settings in Сhrome. After clearing the cookies, everything is ok, all default settings appeared

Release/2.4 Closed as fixed.


typescript support

Please make this package is support for typescript

+1

Duplicate of
https://github.com/ankurk91/vue-loading-overlay/issues/49


TAJO-2179: Add a regular expression scanner and appender.

I refer to the hive for compatibility.

Could anyone review this?

+1 looks good to me. Sorry for late review.

Thank you for your review!


Failing in remote docker container

This extension is failing for me in a remote docker container.  This is what is shown in the flake8 output:
2023-03-16 10:28:41.759 [info] Error: Client is not running and can't be stopped. It's current state is: starting
	at D.shutdown (/home/gidev/.vscode-server/extensions/ms-python.flake8-2023.4.0/dist/extension.js:1:134381)
	at D.stop (/home/gidev/.vscode-server/extensions/ms-python.flake8-2023.4.0/dist/extension.js:1:133962)
	at D.stop (/home/gidev/.vscode-server/extensions/ms-python.flake8-2023.4.0/dist/extension.js:1:295966)
	at D.handleConnectionError (/home/gidev/.vscode-server/extensions/ms-python.flake8-2023.4.0/dist/extension.js:1:140469)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)

I would guess this could be a similar issue to what I encountered with the isort extension, but I do not see similar output in the Remote Extension Host as with that issue.
Disabling/removing the flake8 extension resolves this issue (the normal flake8 flow still works).  But is the idea to remove that in favor of this new extension?  If so, can we get a serverEnabled setting as a workaround?

@markedwards For isort we added the serverless mode as a stop gap due to a bug in isort itself. We will be removing that mode when the fix is shipped.
the issue here originates from this, in the docker file.
RUN ln -s /isortdemo/sitecustomize.py $(python -c 'import site; print(site.getsitepackages()[0])')

Basically, it is forcing python to load the sitecustomize.py everywhere. I am pretty sure this break debugging as well since debugger relies on DAP over stdout.
Based on the documentation here: https://docs.python.org/3.10/library/site.html . sitecustomize.py should get loaded automatically if it is placed in site-packages.
you could do the following (might need tweaks) in your docker file:

Create a tools venv python -m venv /isortdemo/.tools-venv
Create a project venv python -m venv /isortdemo/.venv
Copy the sitecustomize.py into /isortdemo/.venv/libs/site-packages
Set ${workspaceFolder}/.tools-venv/bin/python as the interpreter for isort.interpreter : ["${workspaceFolder}/.tools-venv/bin/python"] and for flake8.interpreter:  ["${workspaceFolder}/.tools-venv/bin/python"] .
Set the ${workspaceFolder}/.venv/bin/python as your project interpreter.

your container may not have venv, in that case install  python3-venv and python3-pip using apt or equivalent. ${workspaceFolder} is a special variable that should get replaced by your actual workspace folder by the extensions.

Because we have not heard back with the information we requested, we are closing this issue for now. If you are able to provide the info later on then we will be happy to re-open this issue to pick up where we left off.


cps/xfrm: make firstReturn aware of more returning control

Added detection for CPS control-flow annotations
Added traversal to control-flow blocks like try, finally, block
Added detection for raise

This should help us reduce the insertion of CPS control-flow where a
returning control will happen before it

Very good.  👍


Sidebar

Make a left sidebar, expandable, like in Jupyter Lab. Use it for:
• opening a previous query
• exporting and filling out metadata
• help sections

Done. Available in next release.


Provisioning links are not working

These two links in the "Get started with Lifecycle Services (LCS)" section do not work after the retirement of mbs.microsoft.com:
Provisioning guide on CustomerSource
https://go.microsoft.com/fwlink/?linkid=852080
Provisioning guide on PartnerSource
https://mbs.microsoft.com/partnersource/global/deployment/documentation/user-guides/D365Ops_OnPremEEProvisionGuide
Please correct the links to where these documents have been moved to.
Thanks!

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

ID: ebcc370e-5c3e-a7ed-bece-6d23bbc5e01b
Version Independent ID: aef5c71b-ab31-a0d8-0eaf-c32e1b9aab9b
Content: Buy Finance + Operations (on-premises) - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/fin-ops/get-started/purchase-on-premises.md
Service: dynamics-365-cross-app
Product: ****
Technology: ****
GitHub Login: @maertenm
Microsoft Alias: sericks

@jopankow , thank you for bringing this issue to our attention. I will forward it to the page author.

@jopankow, thanks for making us aware of the issue!  A new link to the Provisioning Guide is provided in the updated article, which will be published later today.


UI scaling

This is more of a feature request than a bug. I like this player a lot but it's almost unusable on my work 27 inch imac, the font and the icons are just too small. See screenshot
https://imgur.com/a/DoK5M7s
Thanks for the hard work on this project.

Thanks a lot for the feedback and issue report.
One of my big limitations is that I only have 2 Mac machines to test my app - both are 13" Macbook Pros, with the max scaled resolution being 1680 x 1050.
To be honest, I'm not sure if I will be able to solve the issue you reported, simply because I do not have access to a machine/display with a larger resolution. The other challenge is - I'm not proficient enough with UI development to know how to scale a UI to work optimally across a wide range of display resolutions.
It is not surprising that this issue has finally come up after all this time. I did expect it, and again, I appreciate your report.
Despite not being confident that I will be able to resolve this issue, I will keep this issue open. Perhaps, someone from the community will know how to resolve this.
Cheers !

maculateConception

Yeah I have zero experience with UI building and the cocoa framework so I have no idea how much the scaling functions actually automagically work (usually they don't) and how big would this fix be. Thanks for taking the time to respond anyway. Please let me know if you need more screenshots, I can provide one for each scaling level.

Yes, I would love to see more screenshots showing things like the track name displayed (in the player window when a track is playing), and what would also be really useful is a comparison between Aural Player text and the text of another app (side by side) which shows text in a good font size for your display, so that I have a reference as to what would be a good size for your display.

This is interesting, I tried it alongside the other program I'm using, and turns out it's not a matter of UI scaling, but only font size and icon spacing. The two programs scale identically when changing resolution.
https://imgur.com/a/j1Cn2AA
The main issues I see are

font is too thin (and maybe a bit smaller)
playlist items need more spacing
control icons need more spacing too
some icons are too cluttered (bottom playlist controls, volume/balance sliders)

So basically in the end it's not an issue but a matter of my personal preference. I think it would benefit just by simply spacing things a little.

@Pimentoso
Hi, I am working on a fix for the issue you mentioned ... at least to fix the font size.
My new work should allow the user to choose between "Normal", "Larger", and "Largest" text font sizes.
As of now, I have done this only for player text resizing, as a trial. I plan to also allow resizing of Playlist and Effects window text.
See the GIF below:

@Pimentoso
Hi, after a lot of thought and trial and error, I have implemented and released a solution to the text scaling problem. I now offer users 3 preset text size settings, that can be adjusted globally or per app window (see demo screenshot titled "Adjusting text size ..." on main page).
The new release is here
If not ideal, I hope this will at least mitigate the issue you brought up, somewhat. Icon scaling/spacing is perhaps a bit more challenging, at least because of the constraints I have set up. I'll leave that for another day.
If you're able to try this out and let me know what you think, I'd really appreciate it.
Thanks again for bringing this to my attention. This issue is now closed.


Update knative/pkg to get kmeta changes

Rename NewOwnerReference -> NewControllerRef.

/assign @mattmoor

/lgtm
/approve

@jonjohnsonjr how did you update the dependencies? I just realized that a bunch of unnecessary stuff from knative/test-infra was added (update-deps.sh should get rid of them). I'll write a PR for cleaning it up and make sure the script is WAI.


Features/UI rebuild 114

Builds out the Profile, Description and Access tabs of the Target page.
Moves Groups and Seeds into General tab
Adds delete target functionality with confirm dialog
Adds Types for Target parts

With the md-light-indigo theme, the height of input fields are stretched. It dwafted the buttons and checkboxes. I would like to unify the height of form fields in TargetList.
Some compling errors:

src/stores/target.ts:286:53

 error TS2339: Property 'split' does not exist on type 'string | number | boolean'.
  Property 'split' does not exist on type 'number'.

286                     override.value = override.value.split(',');

It can be fixed by coverting to string explicitly.

src/views/target/target-tabs/TargetTabPanelAccess.vue
error TS2322: Type '{ preventAbort?: boolean | undefined; preventCancel?: boolean | undefined; preventClose?: boolean | undefined; signal?: { readonly aborted: boolean; onabort: ((this: AbortSignal, ev: Event) => any) | null; ... 4 more ...; dispatchEvent: (event: Event) => boolean; } | undefined; }' is not assignable to type 'Nullable<string>'.
In fact, it's the StreamPipeOptions in types/target.ts which caused this issue.

When close the TargetTab View, the TargetList View will be refreshed. That would be good if the the Target List can stay at the previous status when cancel to close the TargetTab View, and only refresh the data in the table when save to close the TargetTab view.
The input form in General and Access tabs layout 2 columns, the one in Description and Profile tabs layout 1 column. My options is to unify to 1 column and set the input to full width. The height of the fields are different, it's hard to align every fields with multiple columns.


paper emphasizes joint training

the paper emphasizes joint training of sparse encoder and dense VQ-VAE to optimize the codebook and improve generalization. But in this code joint training has not been done right? is there any reason for that?

Hi, as joint training is especially for spares to dense generation, we only do unconditional generation here

Hi, as joint training is especially for spares to dense generation, we only do unconditional generation here

Ok, so if unconditional generation works, shouldn't your model be able to do conditional generation as well? In paper it is mentioned that for conditional generation we just need to give partial codeblock indices and the transformer will predict the full scene


feat: command batching SOFIE-2549

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

feature

What is the current behavior? (You can also link to an open issue here)

When sending commands to the atem, it is only possible to send one per packet.

What is the new behavior (if this is a feature change)?

The sendCommands method is now exposed, allowing for sending multiple commands in one packet.
Each call to the method will result in packets being sent, no buffering/debouncing is performed between calls. Commands are packed into packets in order, up to a defined byte limit per packet.
The maximum packet size is defined based on the packetMtu property supplied to the constructor. Care should be taken when setting this, as any upload transfers do not fully respect this value and will result in packets failing to send.

Other information:

This partially covers https://github.com/nrkno/sofie-atem-connection/issues/140, but only solves the case of constructing the commands manually (or with atem-state), not usage through the methods provided on the Atem class.
A friendlier batching api can be built on top of this work by someone later.

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Comparison is base (9f87cc1) 86.29% compared to head (3384972) 86.38%.
Report is 1 commits behind head on master.

Files
Patch %
Lines

src/atem.ts
95.00%
1 Missing :warning:

src/lib/atemSocket.ts
94.73%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #157      +/-   ##
==========================================
+ Coverage   86.29%   86.38%   +0.09%
==========================================
  Files         180      181       +1
  Lines        5814     5853      +39
  Branches      958      964       +6
==========================================
+ Hits         5017     5056      +39
  Misses        775      775
  Partials       22       22

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


Overhaul multicaret editing and selection in TextEdit

related #73471
fixes #86863 (all issues)
fixes #83410
fixes #72797
probably fixes #74400 (can't reproduce, related to other issues fixed)
fixes #73202
fixes #81535
fixes #83826
fixes https://github.com/godotengine/godot/issues/80378
supersedes #84901 (can still cherry-pick)
supersedes #81331 (can still cherry-pick)
supersedes #83451

Selection now goes from selection origin to the caret, so that the caret is always attached to the selection.
All TextEdit APIs now handle multiple carets. This should make it easier to use and use correctly.
If a method is called alone, it will merge overlapping carets. If it is called in a loop for multiple carets as part of a multicaret edit, the merge will happen afterwards to not affect caret indexes.
All text changes and caret changes now queue_redraw().

Implementation details
General

Added remove_line_at() and insert_text() in TextEdit to flesh out the API because methods now affects carets in different ways, so the way it is used and the context matters.

For example: set_line() was often used to insert text, but this doesn't allow for much context of how the carets on that line should be affected.

Moved move_lines_up/down(), delete_lines(), duplicate_selection(), and delete_lines() from CodeEditor to CodeEdit since the implementations changed so they can be tested, and based on this https://github.com/godotengine/godot/pull/66553#pullrequestreview-1598392668.
Made drag and drop text use a new caret instead of the main one so it won't interfere with any carets.

get_caret_count() and many other methods now ignores the drag caret if it exists, as it shouldn't be used as a regular caret in most cases.
I wanted it to not be part of the carets vector at all, but I also didn't want to copy lots of drawing and scrolling code.

Added _text_changed(), _caret_changed(), and _selection_changed() to have one clear place after a change that will be called immediately. These are used to redraw, defer emit signals, and cancel drag and drop if needed.

A selection_changed signal should be easy to add now, if it is needed in the future.

Added _cancel_drag_and_drop_text() to cancel the Viewport's drag and drop in certain circumstances.

Added Viewport::gui_cancel_drag() to support this, since I couldn't find an existing way of cancelling a drag and drop operation.

Added _unhide_carets() because sometimes the TextEdit needs to unfold a line, and it can't just use unhide the line.
Changed _cut_internal() to use _copy_internal() then just remove the selection/lines as it is much simpler.
In set_caret_line() the p_wrap_index param now accepts -1 to only clamp the column and not try to adjust it. In many cases set_caret_column() is called immediately afterward, so calculating the column so it lines up visually was unnecessary, and sometimes needed a workaround to avoid.
Changed some MessageQueue calls to use callables, since I moved them around. (related #86301)
Added cancel_ime() and apply_ime() for more control over the IME.

Added internally _close_ime_window(), _update_ime_window_position(), and _update_ime_text() to reduce code duplication and increase clarity.
We may want to make similar changes in LineEdit?

Added get/set_carets_state() for the various reload_text() methods and for getting/setting the entire state.
Updated some comments style. I didn't change the block comments that are used as headers, since they should probably be distinct from regular comments and I didn't know what style to change them to.
Changed GotoLineDialog::popup_find_line() to use a CodeTextEditor instead of a CodeEdit so it can use the existing goto_line() functionality and not need to recreate it.

GotoLineDialog should use a SpinBox or something, but that can be a separate PR.

TextEdit Multicaret

Added begin/end_multicaret_edit() to be able to allow merging the carets when the edit is complete.

These should always come in pairs.
These can be nested, and is what allows for more complex editing to use regular APIs, and have both merge only once at the end of the edit.

Added queue_merge_carets() to be used when merging should happen at the end of the multicaret edit.
Added multicaret_edit_ignore_caret() that should be used when iterating over carets when editing them and text is removed. This will return true when the given caret would have been removed due to it merging with another caret, or it was just added.

This allows multiple carets to be collapsed into one and delay the merging without affecting the edit.

Added collapse_carets() to move all carets in a region of deleted text to one overlapping location and add to the ignore list. These will be merged at the end of the edit unless they are separated.
Removed get_caret_index_edit_order(), because it is no longer needed since carets can be edited in any order.
Added get_sorted_carets() to replace some functionality from get_caret_index_edit_order, but in the opposite order. It sorts by selection_from_line instead of selection_to_line, in ascending order (top of page to bottom).
get_sorted_carets() is const and doesn't cache because it is usually only needed after a caret is moved which would invalidate the cache. I also use a Comparator so it should be faster, O(log(n)) instead of O(n^2). If there are still performance concerns, we can change it to use a cache.
Added get_line_ranges_from_carets() to get a vector of all the lines that are part of a selection or have a caret on them. This is useful for many common editing tasks.

This was inspired by the removed methods in CodeTextEditor _get_affected_lines_from/to(), but more comprehensive.

Removed adjust_carets_after_edit() because it is no longer needed now that carets are automatically handled.

_offset_carets_after() is similar (though not the same) and is used internally for a similar purpose, to move all carets after some text was added/removed.

Updated all code that operates on multiple carets.

TextEdit::merge_overlapping_carets(), TextEdit::_new_line(), TextEdit::_do_backspace(), TextEdit::_delete(), TextEdit::insert_text_at_caret(), TextEdit::add_caret_at_carets(), TextEdit::adjust_carets_after_edit(), TextEdit::get_selected_text(), TextEdit::delete_selection(), TextEdit::_handle_unicode_input_internal(), TextEdit::_backspace_internal(), TextEdit::_cut_internal(), TextEdit::_copy_internal(), TextEdit::_paste_internal(), CodeEdit::_handle_unicode_input_internal(), CodeEdit::_backspace_internal(), CodeEdit::do_indent(), CodeEdit::indent_lines(), CodeEdit::unindent_lines(), CodeEdit::_new_line(), CodeEdit::create_code_region(), CodeEdit::confirm_code_completion(), CodeEdit::duplicate_lines(), TextEditor::_edit_option(EDIT_TOGGLE_FOLD_LINE), ScriptTextEditor::_edit_option(EDIT_TOGGLE_FOLD_LINE), ScriptTextEditor::_edit_option(DEBUG_TOGGLE_BREAKPOINT), CodeTextEditor::convert_case(), CodeTextEditor::move_lines_up(), CodeTextEditor::move_lines_down(), CodeTextEditor::delete_lines(), CodeTextEditor::duplicate_selection(), CodeTextEditor::toggle_inline_comment(), CodeTextEditor::toggle_bookmark()

TextEdit Selection

Changed select() to now select from a 'selection origin' to the caret. Calling it will move the caret.
get_selection_from/to_line/column still gives the start/end of the selection and can be used like before. Since these values are now calculated and its a common use case, they return the caret line/column if there is no active selection.
Added set_selection_origin_line/column() to be able to set the origin of the selection directly, similar to set_caret_line/column().

Added a get_selection_origin_line/column(). Deprecated get_selection_line/column() because the functionality is a bit different, and I wanted a more clear name. It didn't always return the origin of the selection, it was just used to setup the different selection modes.
These functions work even if there is no selection because it is sometimes needed to use or set it before starting a selection, like in _pre_shift_selection() or add_caret_at_carets().

Selections can now touch each other since when I was reworking on merge_overlapping_carets(), I used VSCode for reference and that is how it is done there. It is also useful in some scenarios.
Changed has_selection(), get_selected_text(), and deselect() to be faster O(1) if the caret index is passed in instead of O(n). I didn't do this for all of them since there would be lots of copy pasted code.
Added is_selection_direction_right() to be able to tell if the selection is left to right (top to bottom) or the reverse, since it now always has a direction.
Removed _post_shift_selection() as it wasn't needed anymore.
This comment in _click_selection_held() is no longer true:

Warning: is_mouse_button_pressed(MouseButton::LEFT) returns false for double+ clicks...
I'm not sure when this changed but it does work for word and line mode.

Added selection_contains(), get_selection_at(), and is_line_col_in_range() as helper functions to reduce duplicate code.

Tests

Added clipboard and primary clipboard support to DisplayServerMock to be able to test cut, copy, paste, and paste primary

Removed those todos

Added build_array() to TestTextEdit and TestCodeEdit to be able to easily create arrays, copied from variant/test_array.h.

These can be replaced with initializer lists after #86015.

Updated comment style for CodeEditTests.
Added SEND_GUI_KEY_UP_EVENT test macro, for some text drag tests where the key up event was needed.
Added test cases for insert text, remove text, remove line at
Improved/added tests in areas that had bugs or where I changed lots of code.
Removed todo // Add undo / redo tests? line 1368 by adding undo redo tests for each input subcase.
Lots of lines_edited_args had to be changed since the order edits are done in are different, but this shouldn't be an issue.
Added some comments to clarify some tests.
Added // FIXME: Remove after GH-77101 is fixed. to some input tests, since a new action should not need to be started in between edits with different carets. related #77101.
Removed caret index edit order tests, Added sort carets and merge carets tests.
Added text manipulation test case with subcases backspace, new line,move lines up,move lines down,delete lines,duplicate selection,duplicate lines.

You're breaking compatibility and need to implement compatibility methods, if you need help I can instruct when I have the time 🙂

Many of the comment changes here are in unrelated areas of code and while appreciated they do complicate the git history, I think it should be limited to areas where you're already changing things to avoid chaos

Added compat file and removed comment changes.

Is there any chance you could spilt some of these change up into multiple PR / commits?

This is tricky since the multicaret edit change and the selection change require lots of functions to be rewritten, and some of them depend on each other.
I think I can split out some smaller parts into separate PRs, like the queue_redraw change and the IME changes. This PR would probably depend on them.

If we're trying to simply the interface could we always call merge_overlapping_carets?

I was thinking that users may still want to force a merge during a multicaret edit, but I'm not sure if there is a use case for that so I think we can remove queue_merge_carets() and put the functionality in merge_overlapping_carets().

via collapse_carets (should this be exposed?)

It doesn't need to be exposed since all methods that remove text call it internally. It's only public because it's useful for CodeEdit::fold_line(). If there are more uses for it like that, then we can expose it.

The intention behind this was to make editing consistent regardless of order the carets where placed down. Plus processing carets twice. I guess due to delaying the merge / ignore carets this becomes a non-issue?

Yes, with the delayed merge, ignored carets, and removing text updating carets after it, the order no longer has to be from bottom to top and can be in any order.

Would we want to force all multicaret edits to be complex operations? Otherwise the undo / redo will not be great. Though you might want a complex op to consist of multiple multicaret edits, so don't think we can combine them entirely.

There are also some places where we want a multicaret edit to not be part of undo / redo at all, like add_caret_at_carets, so we can't combine them.

is_selection_direction_right -> is_caret_after_selection_origin ?
is_caret_after_selection_origin is more

Fixed merge conflict, combined queue_merge_carets() and merge_overlapping_carets(), and renamed is_selection_direction_right to is_caret_after_selection_origin.
I'm going to try and extract some smaller PRs that can be merged more easily.

I'm testing this PR right now to help get it through. Should operations always have the same effect, regardless of the order in which you created carets?

I'll assume yes to my above post and report my findings, I don't wanna delay them. In general, I've found very few new issues.
lmofa
|lmo|fa

The result after pressing ui_text_backspace_word (Ctrl+Backspace) or ui_text_backspace_all_to_left (no default shortcut) is different depending on the order of placing down the carets.
fun|c lmofa():|
pa|ss
The result after pressing Fold/Unfold Line (Alt+F) is an error in output.

Ctrl+Shift+U for inputting unicode has several new bugs. On success, Ctrl+Shift+U no longer deletes the unicode stuff after you're done typing. With multicaret, carets easily get misplaced. If you do it with a selection, Godot pretty much breaks.

The backspace issue also happened with ui_text_delete_word when one of the carets was at the end of the line and the other on the last word. It doesn't apply to ui_text_delete_all_to_right though since it doesn't delete newlines.
I fixed the issue by making sure newlines are handled after removing text for the line, and added tests for it.
Fixed the fold line issue and added a test for it.
I couldn't find what you meant for the unicode issue. For me Ctrl+Shift+U isn't bound to anything and I didn't see any actions or functions about unicode that would function like that.
The only unicode input I know is holding ALT and typing + and the code, like +1F600. But it seems to be working fine.

Oh, so maybe Ctrl+Shift+U is linux-specific? I was discussing it with a friend who's on Windows once, I thought it's universal.
Anyway, when you do this shortcut, an underlined "u" appears, and then you write a 4-letter code and get a unicode character when you press Enter.
This worked before somewhat ok, now it doesn't work.

I think I can split out some smaller parts into separate PRs, like the queue_redraw change and the IME changes. This PR would probably depend on them.

As many as you feel happy to would be appreciated, dependent PRs are fine as they'll hopefully be smaller so can be merged quicker (with a little reabasing), or even creating separate commits would be okay!

If there are more uses for it like that, then we can expose it.

I'm leaning towards adding any public method to the API by default so we don't have too much "editor" only code if we can help it. As if we're making it public then there's a need for it somewhere. If there's really no use for it being called outside TextEdit / CodeEdit though, protected is fine (particularly around folding as that is awkwardly split at the moment).

There are also some places where we want a multicaret edit to not be part of undo / redo at all, like add_caret_at_carets, so we can't combine them.

This seems a little odd to me, as adding / removing carets shouldn't be changing any text? Looking at  add_caret_at_carets in particular, it calls merge_overlapping_carets at the end which should achieve the same purpose?

I split the commit into two parts:

Selection overhaul - includes changes to selection, mouse handling, and goto line changes.
Multicaret edit overhaul - includes multicaret edits, everything else.

It's not perfect since I don't think the first commit could be built by itself and most things are just in the last commit, but hopefully it helps with reviewing the code.
I can remerge them later, if we want.

I'm leaning towards adding any public method to the API by default

In this case, I will make _is_line_col_in_range and _selection_contains private, since they aren't needed elsewhere, and I'll expose get_selection_at and collapse_carets.
I wasn't able to expose get_line_ranges_from_carets, since I got compiler errors, I guess Vector<Point2i> can't be exposed?

Calling begin/end_multicaret_edit() here seems a little odd to me, as adding / removing carets shouldn't be changing any text? Looking at add_caret_at_carets in particular, it calls merge_overlapping_carets at the end which should achieve the same purpose?

I made add_caret always able to return a caret if in a multicaret edit, and it will be merged later. I needed to be able to add a caret even if it overlaps, so I can set the selection so it can get merged properly.
A better example would probably be CodeEdit::toggle_foldable_line_for_all_carets() which doesn't change text but needs to collapse carets without immediately merging them, and not be part of undo / redo.

Fixed failing check and added collapse tests.

Appreciate the split.

I wasn't able to expose get_line_ranges_from_carets, since I got compiler errors, I guess Vector can't be exposed?

Yeah can't expose Vector, have convert it to a TypedArray to do that.

A better example would probably be CodeEdit::toggle_foldable_line_for_all_carets() which doesn't change text but needs to collapse carets without immediately merging them, and not be part of undo / redo.

I see, that makes sense. I guess it might be worth adding a note to the docs that this doesn't replace complex op calls but rather an addition. Though in this case an example might be clearer?

Yeah can't expose Vector, have convert it to a TypedArray to do that.

If I use a TypedArray, I think I won't be able to use ranged for each loops with it.
Also, it looks like there is no PackedVector2iArray for some reason.

I see, that makes sense. I guess it might be worth adding a note to the docs that this doesn't replace complex op calls but rather an addition. Though in this case an example might be clearer?

I guess I thought it would be clear they are unrelated, but an example would be useful anyway.
Something like:
begin_complex_operation()
begin_multicaret_edit()
for i in range(get_caret_count()):
	if multicaret_edit_ignore_caret(i):
		continue
	# Logic here.
end_multicaret_edit()
end_complex_operation()

Rebased to fix minor merge conflicts and update to new deprecated doc style.
Also, I think I can split off a few more things into separate PRs so its easier to review.

I think this PR is clear enough as is. I gave it a big 30min round of testing, trying out every functionality I could think of, I couldn't get any bugs to happen.

Rebased to fix conflicts (#88474).
I removed the save multiple carets state and the goto line changes, since I wanted to make some changes to them and they can be done separately. I'll make a new PR for them.

Going to chime in and say that this would also fix https://github.com/godotengine/godot/pull/86978 . What an insane list of bug reports

Going to chime in and say that this would also fix https://github.com/godotengine/godot/issues/76093

This doesn't actually fix https://github.com/godotengine/godot/issues/76093.
This PR should fix all other issues that were fixed in https://github.com/godotengine/godot/pull/73580, except for that one.
I didn't fix https://github.com/godotengine/godot/issues/76093 because it seemed like a bigger issue since it also affects word left/right behavior and may affect TS->shaped_text_get_word_breaks, but I didn't really look into it.

Rebased and fixed minor conflicts after https://github.com/godotengine/godot/pull/85325

Rebased to fix conflicts.
Removed args for set_line and swap_lines so they don't break compat, and other suggestions.

rebased to fix merge conflicts

Great work! Thanks for putting up with the exhaustive review process :)


create Controller and Services for Auth(user)

1, Add /auth route in app.ts
2. Create authRoute.ts and link to app.ts
3. Create authController.ts and link to authRoute.ts
4. Create authService.ts
5. Create auth.ts that will handle authentication in a later ticket.


meta(engine): replace business metastore with mysql for test

As the title

/area engine
/type feature

/assign @maxshuang


[BUG] translation zh-Hans not work

set environment  FORCE_LANGUAGE=de work fine
set environment  FORCE_LANGUAGE=pt_BR work fine
set environment  FORCE_LANGUAGE=zh_Hans not work

I have checked the zh_Hans translation
It seems not be loaded completely


3.5.4 automatic ratio problem

In new version 3.5.4, if not set ratio property, ratio set in 16:9 regardless of video resolution.

Can you provide an example?

Can you provide an example?

Of course. The first image shows how player looks in 3.5.3 version. The second is version 3.5.4.
The purple block is equal to video size, the video block inside is stretched  to parent purple size.


.github: bump version of cilium-cli to v0.16.0

This release includes improved uninstall/cleanup command which should aleviate various issues when re-using clusters while re-running e2e tests.
Fixes: #30990 #30991 #30993

/test

/test

@michi-covalent Ah thought I would beat the robot 😄