Cossacks/American Conquest Game Speed Problem (Multiplayer)

Hi there,
I got a question which directs to Cossacks/American Conquest. This games are somehow detecting the CPU speed in network games and adjust the game speed on the lowest CPU speed in a MP game. With your "maxgameticks" option i cant really adjust that, cause it seems it's using a different API to detect it. Do you think you can find a solution for that?
So far the only thing i know, is to get a CPU Throttle Tool to scale down the CPU and then play the game.
If your interested, can you look into it and see if you can make something with your DLL there?
It's not important, cause the other graphic things are working with your DLL, so it's just a extra fix.

Ah damn, American Conquest was just unlocking the primary surface only once and then kept it unlocked and didn't call any ddraw functions anymore (that's why the log is so tiny with this game)... maxgameticks can't really do anything in this case. Where can I get that "CPU Throttle Tool"?

Not sure, like i said there are some, but i must say i don't like the idea of Capping my CPU for a game :-)
I though that perhaps you can take a look, if you find a workaround for this games.
https://gsc-game.com/index.php?t=downloads&ss=299&s=patch (this is a DDraw.dll, which seems(?) to fix this)
https://7thzero.com/blog/cpugrab-net (in case you want to take a look at the source to see how it is done)

Hm, it seems that some source of Cossacks got leaked and there "GetTickCount","QueryPerformanceCounter" and "QueryPerformanceFrequency" is called. I more think that they use "QueryPerformanceCounter" and "QueryPerformanceFrequency", cuase this 2, as far as i know, are depending on the CPU Speed. Can you hook them and adjust them? If you make them low, it should be visible in Amaerican Conquest.

Hm...okay this games are just weird as hell. Seems like it uses "GetTickCount" combined with a 20ms WndProc Timer. "QueryPerformanceFrequency" wont be called at all...just "QueryPerformanceCounter" once.  I just myself with the source, if i can hook "GetTickCount" and calc it lower. Perhaps that works...but im not sure.

Okay, when i make every 8 call to "GetTickCount" a 1ms Sleep it's realtiv okay from the game speed. But this value depends on the PC speed too. Perhaps you can find a way to combine it with your maxgameticks-

I had a look into the ddraw.dll you linked, seems to be a official one (it's even signed) but I couldn't see anything that could slow down the game. Did you check if it solves the problem? If it works then it might be better to investigate more on that one first. I couldn't reproduce the bug on my own yet, still have to set up a multiplayer test game somehow

The gamespeed problem only comes in multiplayer. But i tested with the DLL, it got some graphic problems sometimes and its not really working.

Ah damn.... I guess the only proper fix would be a game patch TBH
I created a new branch where it inserts a Sleep call every 17ms, maybe it's worth a try. You need to add "sleep=1" into ddraw.ini, might have to try a value between 1 and 16 to find out what works the best
ddraw.zip

Hmm nah the Sleep seems not to work. The only thing which seems to work is hooking GetTickCount, like i already said. The Steam version of American Conquest got there own DirectDraw Emulator, so your DLL dont work there. And for Cossacks exists a community github revamp version (cause the source seems to got leaked some years ago for bugfixing lol), which seems to work.
This is how i got atleast a CD version of it to work atleast a bit better. Seems to work for the Cossacks CD version too.
Will close this here, cause i more and more think, it's not worth the offer to go deeper into this.
DWORD WINAPI fake_GetTickCount()
{
    if (g_ddraw && g_ddraw->fixTickCount)
    {
        LARGE_INTEGER counter;
        LARGE_INTEGER frequency;

        QueryPerformanceFrequency(&frequency);
        QueryPerformanceCounter(&counter);

        LARGE_INTEGER tickCounter;
        tickCounter.QuadPart = (1000LL * counter.QuadPart) / (frequency.QuadPart);
        return tickCounter.LowPart;
    }
    else
    {
        return real_GetTickCount;
    }
}
´´´´

Yeah, I saw your fix., I just wanted to create a more generic solution that I could add so it can used for other games as well. I still haven't tested a multiplayer game yet but I'll have a look into it later

Hmm nah the Sleep seems not to work. The only thing which seems to work is hooking GetTickCount, like i already said and did myself. The Steam version of American Conquest got there own DirectDraw Emulator, so your DLL dont work there. And for Cossacks exists a community github revamp version (cause the source seems to got leaked some years ago for bugfixing lol), which seems to work.
This is how i got atleast a CD version of it to work atleast a bit better. Seems to work for the Cossacks CD version too. Will close this here, cause i more and more think, it's not worth the offer to go deeper into this.
DWORD WINAPI fake_GetTickCount()
{
    if (g_ddraw && g_ddraw->fixTickCount)
    {
        LARGE_INTEGER counter;
        LARGE_INTEGER frequency;

        QueryPerformanceFrequency(&frequency);
        QueryPerformanceCounter(&counter);

        LARGE_INTEGER tickCounter;
        tickCounter.QuadPart = (1000LL * counter.QuadPart) / (frequency.QuadPart);
        return tickCounter.LowPart;
    }
    else
    {
        return real_GetTickCount;
    }
}
´´´´

Hi! I am trying to implement this fix myself, and have been looking forever for a way to slow down Cossacks in multiplayer. Which file did you add your code into?

Hmm nah the Sleep seems not to work. The only thing which seems to work is hooking GetTickCount, like i already said and did myself. The Steam version of American Conquest got there own DirectDraw Emulator, so your DLL dont work there. And for Cossacks exists a community github revamp version (cause the source seems to got leaked some years ago for bugfixing lol), which seems to work.
This is how i got atleast a CD version of it to work atleast a bit better. Seems to work for the Cossacks CD version too. Will close this here, cause i more and more think, it's not worth the offer to go deeper into this.
DWORD WINAPI fake_GetTickCount()
{
    if (g_ddraw && g_ddraw->fixTickCount)
    {
        LARGE_INTEGER counter;
        LARGE_INTEGER frequency;

        QueryPerformanceFrequency(&frequency);
        QueryPerformanceCounter(&counter);

        LARGE_INTEGER tickCounter;
        tickCounter.QuadPart = (1000LL * counter.QuadPart) / (frequency.QuadPart);
        return tickCounter.LowPart;
    }
    else
    {
        return real_GetTickCount;
    }
}
´´´´

Hi! I am trying to implement this fix myself, and have been looking forever for a way to slow down Cossacks in multiplayer. Which file did you add your code into?

@puffdelore
This might not be needed anymore, at least with the steam/GOG release it should work now without any patches
American Conquest / Cossacks	Steam/GOG: Download proxy-dlls.zip and follow instructions

I've just been toying around with it a bit and it looks like the official patch is the reason for some of the bugs you reported. And as it turned out, the game speed limit was not working.
Here's a test build I made, the game speed limiter is working now:
cnc-ddraw_cossacks.zip
Note: Make sure you remove the file named "dplayx.dll" from your game folder

In single player skirmish games, if the map size is set to Huge, the game hiccups for a split second every 20-40 seconds or so. No idea if this has anything to do with cnc-ddraw because the game won't run normally without it.
P.S.
P.P.S. Today American Conquest: Fight Back is  played online with a modified executive. You might want to look into that. Quoting from the game’s discord:

Hi @everyone
Update 23rd March 2023.
A new version of the game patched with [netpatch2.2], now with installer, that fixes all network issues. It has VPN integrated into it, no need to install additional software. You can download it here:
https://drive.google.com/file/d/1V5vuY-pYFEQbjm4xTYcsSighxS6twQh9/view?usp=share_link
After installing, two desktop shortcuts will be created: one for singleplayer and another for multiplayer.
When starting multiplayer, go in the game menu in multiplayer, internet game, write your nick and press enter.
More details and strategies in the manual: https://drive.google.com/file/d/1oYiQij6J-AAhRYEwfjCC_apD4P2VEBS3/view?usp=share_link

@FunkyFr3sh
Hi, I tested both of the new builds you made and I am very happy and grateful for your awesome work.  I am excited to report that the CD version cnc-ddraw did work, and at 250 ticks, the multiplayer game runs at normal speed. The camera scrolling speed and chat fade are also the correct speed. For context, I use the GOG version of Cossacks. The steam/gog cnc-ddraw didn't work at all for either myself or the other player. However, the multiplayer game only ran at the right speed for him after we both installed the cd version cnc-ddraw, it wasn't enough for just me to have it installed. For context, he also bought the game on GOG and we both have Windows 10. I don't know if that's an issue specific to him though, since my tests of your builds with my second computer didn't have this problem. I only needed to install cnc-ddraw on one computer and it worked for both of them. In addition, there is sometimes about a second or two of delay when giving an order to units, and from what I could tell, our internet latency was fine. Also, the game would sometimes drop to low FPS for both of us, supposedly because the other player right-clicked on the screen too much (that's the reason he gave me). Overall though, the game was entirely playable and I am very glad that I am now able to play the game at the right speed and with minimal downsides. Thanks again for all of your generous help, FunkyFr3sh. I really appreciate it!

In American Conquest: Fight Back single-player skirmish games, when the map size is set to Huge, the game hiccups for a split second every 20-40 seconds or so. No idea if this has anything to do with cnc-ddraw because the game won't run normally without it.
P.S.
P.P.S. Today American Conquest: Fight Back is played online with a modified executive. You might want to look into that. Quoting from the game’s discord:

Hi @everyone
Update 23rd March 2023.
A new version of the game patched with [netpatch2.2], now with an installer, that fixes all network issues. It has VPN integrated into it, no need to install additional software. You can download it here:
https://drive.google.com/file/d/1V5vuY-pYFEQbjm4xTYcsSighxS6twQh9/view?usp=share_link
After installing, two desktop shortcuts will be created: single-player and multiplayer.
When starting multiplayer, go in the game menu in the multiplayer, internet game, write your nick and press enter.
More details and strategies in the manual: https://drive.google.com/file/d/1oYiQij6J-AAhRYEwfjCC_apD4P2VEBS3/view?usp=share_link

I don't know about you guys, but my game didn't work. Every time I started it, the screen changed, and I went into black-loading mode. Then, after a couple of seconds, the game crashed and reported an error. I tried to run it through a PC on Windows 10. I tried everything that was recommended on the Internet, such as a display mod for old games, launching with admin rights, changing to Windows 7 compatibility, and so on.

In American Conquest: Fight Back single-player skirmish games, when the map size is set to Huge, the game hiccups for a split second every 20-40 seconds or so. No idea if this has anything to do with cnc-ddraw because the game won't run normally without it.
P.S.
P.P.S. Today American Conquest: Fight Back is played online with a modified executive. You might want to look into that. Quoting from the game’s discord:

Hi @everyone
Update 23rd March 2023.
A new version of the game patched with [netpatch2.2], now with an installer, that fixes all network issues. It has VPN integrated into it, no need to install additional software. You can download it here:
https://drive.google.com/file/d/1V5vuY-pYFEQbjm4xTYcsSighxS6twQh9/view?usp=share_link
After installing, two desktop shortcuts will be created: single-player and multiplayer.
When starting multiplayer, go in the game menu in the multiplayer, internet game, write your nick and press enter.
More details and strategies in the manual: https://drive.google.com/file/d/1oYiQij6J-AAhRYEwfjCC_apD4P2VEBS3/view?usp=share_link

I don't know about you guys, but my game didn't work. Every time I started it, the screen changed, and I went into black-loading mode. Then, after a couple of seconds, the game crashed and reported an error. I tried to run it through a PC on Windows 10. I tried everything that was recommended on the Internet, such as a display mod for old games, launching with admin rights, changing to Windows 7 compatibility, and so on.

Did you check the wiki already?
If it still doesn't work upload me a log file, link: https://github.com/FunkyFr3sh/cnc-ddraw/issues/44


Atom won't run without Internet

issue exists as of today. i downloaded the latest installer for windows 10.. 64 bit..
i installed, used it while i was online, and it worked ok, though it does seem to be a heavy program and takes a few moments to load...
then i tried running it while offline, and... nothing... i couldn't open a file with it, or run it directly from the start menu.
i restarted my computer, thinking that might help, but it didn't help.
i got online and of course it loaded up normally.
sorry if i don't have all the bug testing info you're looking for. i'm not into spending time on this. and i'm not going to try messing around with safe mode or anything else. i will say i'm on the latest version of windows 10 as of this writing

ok so i read in some other post that enabling some adapter or something "solves the issue" for someone.. but honestly, that is not a "solution".. just a workaround at best

atom --version

Atom    : 1.35.1
Electron: 2.0.18
Chrome  : 61.0.3163.100
Node    : 8.9.3

ver

Microsoft Windows [Version 10.0.17763.253]

i don't know if this is noteworthy, but i don't use chrome. i'm a firefox person. so chrome is not installed on this machine

Thanks for reaching out!
We require the template to be filled out on all new issues and pull requests. We do this so that we can be certain we have all the information we need to address your submission efficiently. This allows the maintainers to spend more time fixing bugs, implementing enhancements, and reviewing and merging pull requests.
Thanks for understanding and meeting us halfway :grinning:

that's one way of closing bug reports...
i really don't like how this program might not work if i'm offline, regardless of the circumstances. so i don't see how it's important for me to spend a bunch of time filling out forms. i don't plan on using it now anyway.


Remove unnecessary slash in URL

@jlaneve That / is needed as most methods don't have a / before the link.

Yeah, they can probably be more consistent. If you wanted to make sure there's a slash before all of the methods I'm fine with changing it.

@brainflake @jlaneve on the pull request #25 I have change it so all methods have the slash before the link instead of the base url

:+1: thanks @iTsFILIPOficial ! Closing this PR then


made commands more readable.

Signed-off-by: Gaurav Shukla<EMAIL_ADDRESS>Describe your changes
I've  made commands more readable.
Related issue number or link (ex: resolves #issue-number)
Checklist before opening this PR (put x in the checkboxes)

[x] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[x] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

Hi @withgaurav
Thank you for the suggestion. :)
The code block (markdown) in the Readme is intentional and useful to make readers aware that the lines in the block is code or command that can be used as is.
I think we don't have to remove the code block. Also, we don't have to put additional line spaces considering the code can be copied and used as is.


Include directives are incorrectly merged

Describe the bug
@michaelstaib Here the bug as discussed via Zoom.
Looks like there is a merging issue with include (or other?) directives.
query homePageQuery(
  $isRegistered: Boolean!
) {
  me {
    ...fragmentA
    contracts @include(if: $isRegistered) {
      id
    }
  }
}

fragment fragmentA on User {
    contracts @include(if: $isRegistered) {
        active
    }
}

Variables: {"isRegistered": true}
Result:
{
  "errors": [
    {
      "message": "Only one of each directive is allowed per location.",
      "locations": [
        {
          "line": 13,
          "column": 5
        }
      ],
      "path": [
        "me",
        "contracts"
      ],
      "extensions": {
        "specifiedBy": "http://spec.graphql.org/June2018/#sec-Directives-Are-Unique-Per-Location",
        "remote": {
          "message": "Only one of each directive is allowed per location.",
          "path": [
            "customerContract"
          ],
          "extensions": {
            "specifiedBy": "http://spec.graphql.org/June2018/#sec-Directives-Are-Unique-Per-Location"
          }
        },
        "schemaName": "ContractClient"
      }
    }
  ],
  "data": {
    "me": {
      "contracts": null
    }
  }
}

Expected behavior
Should return all contracts with the fields id and active.

Version 11.0.1

The issue seems to be in the stitching layer. The validation here is OK. What seems to happen is that the stitching layer will send in a merged version of contracts that contains two include directives.


Merging change utxos in minting transaction

Hello, I'm relatively new to Cardano and Lucid. I am trying to mint a token like this, and my goal is to produce only 1 utxo that will also contain the token:
const txn = await params.lucid.newTx()
    .attachMintingPolicy({
      type: "PlutusV2", script: policyScript
    })
    .mintAssets({
      [`${token}`]: 1n,
    }, Data.to(12n))
    .complete();

const signing = await txn.sign().complete();
const hash = await signing.submit();
console.log("hash: ", hash);

And the result get splitted into 2 utxos:

I have tried other method such as:
const txn = await params.lucid.newTx()
    .attachMintingPolicy({
      type: "PlutusV2", script: policyScript
    })
    .mintAssets({
      [`${token}`]: 1n,
    }, Data.to(12n))
    .payToAddress(await params.lucid.wallet.address(), {
      [`${token}`]: 1n,
    })
    .complete();

const signing = await txn.sign().complete();
const hash = await signing.submit();
console.log("hash: ", hash);

but it still produces 2 utxos.
What can I do to make it produce 1 utxo only? Thanks in advance!

I don't believe it is possible, if you look carefully, it's not a bug but how the eUTxO and cardano works.
You need to send back to the wallet the ada it had minus what it has spent from the input, thus the utxo with the minted value.
I've seen this pattern many times.


feat(Algebra/GroupWithZero): add dvd_of_mul_dvd_mul

dvd_of_mul_dvd_mul_left and dvd_of_mul_dvd_mul_right were implemented only for Nat and Int.
We've generalised it for CancelCommMonoidWithZero.

bors merge


Quickstarts sample upgrade to asp core 3.1 resulted in login failed for latest Google Chrome because of  SameSite=None

Hi there,
I have downloaded Quick-start sample from: https://github.com/IdentityServer/IdentityServer4/tree/master/samples/Quickstarts
Working on 4_JavaScriptClient solution.
Sample working fine with ASP Core 3.0 as is.
I have changed target framework from ASP Core 3.0 to 3.1.
Now I am getting following warning during login for JavaScriptClient sample, and stuck at login page (not getting redirected back to index.html page).
A cookie associated with a resource at http://localhost/ was set with SameSite=None but without Secure. It has been blocked, as Chrome now only delivers cookies marked SameSite=None if they are also marked Secure. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5633521622188032.
Looking at following post:
https://docs.microsoft.com/en-gb/dotnet/core/compatibility/3.0-3.1
https://devblogs.microsoft.com/aspnet/upcoming-samesite-cookie-changes-in-asp-net-and-asp-net-core/
I have added CookiePolicyOptions and DisallowsSameSiteNone() as per above link.
But still I am getting same Chrome warning and login failed.
Also  External Login 'Demo IdentityServer' (AddOpenIdConnect) option failed because of same 'Cookies' issue.
Function 'DisallowsSameSiteNone(string userAgent)' return false because of I am getting 'userAgent' string value as 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36'
Option 1)
As per following link: https://docs.microsoft.com/en-gb/dotnet/core/compatibility/3.0-3.1
If I make use 'Opt-out switches' by adding runtimeconfig.template.json file in IdentityServer.csproj.
Now both

local user login (bob/bob) working fine.
External Login for 'Demo IdentityServer' also working fine.

Option 2)
If I add following Configure(IApplicationBuilder app, IWebHostEnvironment env) in Startup.cs
var cookiePolicyOptions = new CookiePolicyOptions             {                 MinimumSameSitePolicy = SameSiteMode.Lax             };             app.UseCookiePolicy(cookiePolicyOptions);
Now

local user login (bob/bob) working fine.
External Login for 'Demo IdentityServer' failed with following error:
System.Exception: An error was encountered while handling the remote login.
---> System.Exception: Correlation failed.
--- End of inner exception stack trace ---
at Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.HandleRequestAsync()
at IdentityServer4.Hosting.FederatedSignOut.AuthenticationRequestHandlerWrapper.HandleRequestAsync()
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at IdentityServer4.Hosting.BaseUrlMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

Question:
What is the best way to upgrade Quickstarts sample ('4_JavaScriptClient' solution) to asp core 3.1, which support both local and External Login like 'Demo IdentityServer' with latest Google Chrome ?
Please help/suggest.
Thanks,
Sanjay.

I also have this problem
Any solution?

Currently I am using Option 1). i.e. 'Opt-out switches' by adding runtimeconfig.template.json as per https://docs.microsoft.com/en-gb/dotnet/core/compatibility/3.0-3.1
Which is working fine for me.

Only option 2 worked on my asp.net core 2.1 project
add following Configure(IApplicationBuilder app, IWebHostEnvironment env) in Startup.cs
var cookiePolicyOptions = new CookiePolicyOptions { MinimumSameSitePolicy = SameSiteMode.Lax }; app.UseCookiePolicy(cookiePolicyOptions);

@Sanjay5875 Thank you!

When I use
var cookiePolicyOptions = new CookiePolicyOptions { MinimumSameSitePolicy = SameSiteMode.Lax };
I got error   Correlation failed. on asp net core 2.2

I needed to add
 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
     app.UseCookiePolicy(new CookiePolicyOptions { MinimumSameSitePolicy = SameSiteMode.Lax });
    ....
}

on the identiy server and on my websites

When I use
var cookiePolicyOptions = new CookiePolicyOptions { MinimumSameSitePolicy = SameSiteMode.Lax };
I get error Correlation failed. on asp net core 2.2

same problem here with netcore 3.1 and identityserver4 v 3.1.2
the problem occurs with chrome 80 and web project running in http and, as already stated, is caused by chrome SameSite policy for cookies:
idsrv.session is set with path=/; samesite=none  --> this will be blocked since samesite=none requires Secure flag
idsrv is set with path=/;samesite=none;httponly -->this again will be blocked
As already mentioned, setting cookie samesite policy to Lax makes things work:
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)          .AddCookie("Cookies", options =>          {             options.Cookie.SameSite = SameSiteMode.Lax;          });
what am asking is: will Lax have side effects?As far as I understand "Lax" will enable cookie to be sent to third domain if and only if a document GET is sent to the remote domain, so I expect that cors enabled ajax requests, will not ship this cookie.
If Identity server is accessed in https, the cookies above are set with Secure flag, thus it works

The real fix is to run the client on HTTPS.


License?

Without a license this is not usable at all.

Fair point. I will assign the Apache-2.0 license!


[FEATURE] Support for jsonschema==4.0

To support Open API 3.1 we first need to bring the new jsonschema & hypothesis-jsonschema versions into the repo.
Update the dependencies & fix broken tests :)
At the moment it is blocked by https://github.com/Julian/jsonschema/issues/853
This kind of performance regression might make Schemathesis barely usable for Open API schemas (especially due to the impl details in hypothesis-jsonschema)

Was added some time ago


Implement multilingual text input

@mirekys Ahoj Miro, I pushed my changes to the multilingual component. Please take a look. We can discuss tomorrow. Thanks!

@mirekys Ahoj Miro, I think there is a small issue with obj2array func in https://github.com/oarepo/oarepo-ui/pull/56/files#diff-a1e07c1856e416e328185387667e621add86c9864336a31c929ae6a0d0eac69b
export const object2array = (obj, keyName, valueName) => {   // Transforms object to array of objects.   // Each key of original object will be stored as value of keyNamekey.   // Each value of original object will be stored as value ofvalueName` key.
_map(obj, (value, key) => ({
[keyName]: key,
[valueName]: value,
}));
};`
The function does not return anything.

@mirekys Maybe not the best place to post this comment, but it is also related to these multilingual issues. It seems that the type i18n

Is literally used only in this one place for additional titles i.e. I am not sure if it warrants a separate component or should I just code it into the additionalTitles component?

I just implemented that input in https://github.com/oarepo/oarepo-ui/pull/65, you can now use that in the MultilingualTextInput by wrapping it in an aarrayfield

@mirekys Ciao Mirku, I made the following changes:

implemented i18nRichInput component
use both I18n inputs in multilingualTextInput

@mirekys Ahoj, I think there are two small issues:

Regarding the width of the rich input field, yes if we set it to 16 it looks ok in the begining, however if you paste a block of text inside of the input, the layout somehow changes and now the remove button protrudes to the right side:
 and I honestly don't understand how this is even possible. Maybe some richfield (CKeditor) particularity?
They key should actually be available options as below. It is because if not, then only that particular language select rerenders and others don't when you change it, which makes it possible sometimes to choose the same language twice, or sometimes, after you clear one language from adjacent language select, it is not available in the other select input immediatelly

They key should actually be available options as below. It is because if not, then only that particular language select rerenders and others don't when you change it, which makes it possible sometimes to choose the same language twice, or sometimes, after you clear one language from adjacent language select, it is not available in the other select input immediatelly

The correct way instead of relying on huge component keys (list of ~158 items for each input :) ) to do this would be to useState for available languages on multilingual input, and update state whenever any language input changes, which then rerenders the children using that state. But I haven't been able to do this myself because of ArrayField puts difficulty into that


Searchbar ionic V4 no show icon search android

Hello I have a searchbar, but in andorid it does not show the icon of the magnifying glass
<ion-searchbar
type = "search"
animated = true
spellcheck = true
[(ngModel)] = "searchTerm"
(ionInput) = "setFilteredItems ($ event)"
show-cancel-button = true
clear-icon = "close-circle "
search-icon =" search "> </ ion-searchbar>

I noticed the same problem when I set a background-color to ion-searchbar input.searchbar-input because the input is above the icon
Adding a z-index: 1 to the icon solved it
ion-searchbar {
    input.searchbar-input {
        background-color: red;
    }

    ion-icon.searchbar-search-icon {
        z-index: 1;
    }
}

maybe that solves it for you too?

This looks like an @ionic/angular app judging by the ngModel use. The properties in Angular should be camelCased:
<ion-searchbar
  type="search"
  animated="true"
  spellcheck="true"
  [(ngModel)]="searchTerm"
  (ionInput)="setFilteredItems($event)"
  showCancelButton="true"
  clearIcon="close-circle"
  searchIcon="search">
</ion-searchbar>

See usage example here: https://beta.ionicframework.com/docs/api/searchbar#usage
Does the icon only not show up when it's deployed to a device/simulator? Or are you not seeing it in Chrome as well?

I test it in the emulator with android 7. It does not show the search icon. I tested it on android 8 and it worked correctly

@peterpeterparker can you test again in beta.2?

@manucorporat with beta.2 it seems all good to me. also the workaround I described above isn't needed anymore
ion-searchbar input.searchbar-input {
    background-color: #f7f7f7;

screenshot for proof

Thanks David!

My pleasure


Replace assert(!err) with assert.ifError(err)

If an error is present, assert(!err) reports that false was expected to be
true, which means you have to re-run the test and print the error to actually
figure out what the error was. assert.ifError(err) fails if the error is
defined and will print the error if one is present, which means you don't have
to re-run the tests to figure out what went wrong.

This is great, thanks @kevinburkeshyp :raised_hands:


django-editorjs-fields it's working for django admin but not working form template.

I am properly configure as documentation but in template not working.

Fixed

Could you describe how did you fixed?


Dart2js the Future in JavaScript

I looked over a lot of document about dart web.
And I still dont know how to deal with Future Object from dart in Javascript.
I am sorry to ask this problem here but I wanna know the answer.Thanks.

Can you clarify your question with a few more details and if possible a small code snippet?

@mit-mit
import 'dart:html';
import 'dart:js_util';
import 'dart:js' as js;

import 'normalHttp.dart';
Future<String> getUserData () async {
  //do someting....
  return 'tmp';
}

void main() async {
  js.context ['getUserData'] = getUserData;
}

Like this.When I call getUserData () in JavaScript,How Can I get the real data instead of Future Object?

@mit-mit In dart I can use await to resolve this.But how to do it in JavaScript?


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_28b4c51b-54b0-4e95-ad65-8f19afff40e1/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_28b4c51b-54b0-4e95-ad65-8f19afff40e1.git

Docs Build status updates of commit 4f7dd47:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch Release_Archive_main_2022-02-17-01-17-52 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Jump to specific scene in tour

When I generate a tour it starts always with the firstscene.
Now I have made a tour from a fair boot consisting of 15 panoramas. On the webpage, where I show the tour, there will also be an overview picture of the booth with markers from where the panoramas where shot. I would like to use this overview as an image map and give the user the possibility to jump to a specific scene in the tour by clicking a marker on the image map.
Is that possible in an easy way, or do I have to make 14 copies of the json file used with different firstscenes?

Use the loadScene method of the API.

If you view your overview-image inside pannellum, another option would be to use hotspots. Use the .addHotSpot function, but beware of #387 !


Documentation cleanup and adding docker commands and badge

Docker commands
Docker badge
Cleanup pages with bad links

Build is failing @ctoestreich.  Broken Docusaurus links...

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Christian Oestreich seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@brianwyka  @PseudoCoding  who can approve these things these days?

I cannot anymore

We may be in some weird limbo state.
On Fri, Sep 23, 2022, 10:33 PseudoCoding @.***> wrote:

I cannot anymore
—
Reply to this email directly, view it on GitHub
https://github.com/Optum/sourcehawk-docs/pull/4#issuecomment-1256294854,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK7PMMHZAWJSUKW532UL5NLV7W5SDANCNFSM5XVJMZHQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Any of the three of you should be able to approve.  I left you all with write access when you left the company.  Since I'm here now, I'll take a look and get you approved.

Oh...Interesting.  We are in limbo.  I'll clean up the CODEOWNERS and then get this merged in.

@ctoestreich, you should be all good to merge when ready.  I updated CODEOWNERS to include the Optum org owners as well as the sourcehawk team.


US-2090: Transaction Summary - Issue with TX Hash Link Explorer Showing Incorrect Bitcoin Explorer Website

@rodrigoncalves, could you please check the BTC link on tesnet? This PR should work for both mainnet and tesnet; I just tested it and it currently works for mainnet but fails for tesnet.


Module: rancher-rke2-vsphere-cluster

Module Repository
aditya-tanwar/terraform-rancher2-rke2-vsphere-cluster
DCO

[X] I sign this project's DCO

Hi I want to add a custom module to opentofu registry that deploys rancher rke2 cluster on vsphere platform .


[BUG FIX] fixes panic recovery in nodehost.NewNodeHost

Function NewNodeHost (nodehost:339)
When panic happens it's message is type-asserted as error, but often panic() is called with just a string. As a result panic is silently recovered without calling panicNow() and nil NodeHost instance is returned without any error. It is now fixed.

if you add a default it would be a general fix


The example for sending custom metrics does not work

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

ID: e3284cd7-9477-14ac-7f6e-9fcfa31f8de1
Version Independent ID: 73812858-f1c5-f8a0-bdc5-7de0ec9541e5
Content: Send metrics to the Azure Monitor metric database by using a REST API - Azure Monitor
Content Source: articles/azure-monitor/essentials/metrics-store-custom-rest-api.md
Service: azure-monitor
Sub-service: essentials
GitHub Login: @EdB-MSFT
Microsoft Alias: edbaynash

@scottmcburney
It looks like your issue is resolved since you closed this thread.
If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.

@scottmcburney It looks like your issue is resolved since you closed this thread. If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion.

Thanks!  I thought I found some issues with the doc, but we are in a copilot test and I realized the problem was with the code that copilot generated.  Lesson learned - double check everything that copilot generates.


[KYUUBI #1565] Move time functions to RowSetUtils and move schema to spark package

Why are the changes needed?

move time functions from Rowset to RowSetUtils
move schema to spark package

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[X] Run test locally before make a pull request

Codecov Report

Merging #1566 (a2b79e3) into master (22d967e) will decrease coverage by 0.08%.
The diff coverage is 12.50%.

:exclamation: Current head a2b79e3 differs from pull request most recent head a375d53. Consider uploading reports for the commit a375d53 to get more accurate results

@@             Coverage Diff              @@
##             master    #1566      +/-   ##
============================================
- Coverage     59.09%   59.01%   -0.09%
  Complexity      248      248
============================================
  Files           260      260
  Lines         12965    12965
  Branches       1620     1619       -1
============================================
- Hits           7662     7651      -11
- Misses         4656     4669      +13
+ Partials        647      645       -2

Impacted Files
Coverage Δ

...kyuubi/engine/spark/operation/SparkOperation.scala
80.00% <ø> (ø)

...ache/kyuubi/engine/spark/schema/SchemaHelper.scala
93.97% <ø> (ø)

...he/kyuubi/engine/spark/shim/SparkCatalogShim.scala
78.26% <ø> (ø)

...ain/scala/org/apache/kyuubi/util/RowSetUtils.scala
0.00% <0.00%> (ø)

...org/apache/kyuubi/engine/spark/schema/RowSet.scala
87.40% <50.00%> (ø)

Continue to review full report at Codecov.

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

LGTM

Thanks, merging to master


Callout improvments, counts up

https://github.com/FRCTeam1987/teambroncobots.com/commit/af3a7f59e29e00231ef01c3937e49b11f27261b3

What branch was this created from?  It should have been merged off of master.  There should not be commits from 7 months ago in this PR.

Can you please link to the dev site where this new animation is used so we can see it?

How do you want me to have this and Navbar on the dev site? Heres a video to it for now: https://drive.google.com/file/d/1MvTOLV9ykGUoJF-s5hzJf-pY97JnSGQ1/view?usp=sharing

Can you please link to the dev site where this new animation is used so we can see it?

How do you want me to have this and Navbar on the dev site? Heres a video to it for now: https://drive.google.com/file/d/1MvTOLV9ykGUoJF-s5hzJf-pY97JnSGQ1/view?usp=sharing

This is good.  Please also do this for future changes.  It helps reviewers identify what to check!


refactor context related interface

standardizing  context's usage

For #19 , follow the context code pattern.


Flex 3141 automate regression test c170

This pull request makes the build fail.

This pull request makes the build fail.

This pull request makes the build fail.

This pull request makes the build fail.

This pull request makes the build fail.

This pull request makes the build fail.


Upgrade Calculator and CalculatorNuGet Samples

Description
Upgrade Calculator and CalculatorNuGet Samples to .72. Changes upgrade instruction to no longer use react-native-template-typescript as it is deprecated and uses the base template instead.
Why
Part of release checklist
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/react-native-windows-samples/pull/845&drop=dogfoodAlpha

@chrisglein Rename is expected with new template and also makes more sense to have the CalculatorNuget project actually called CalculatorNuget instead of just Calculator.


fix: Looker Components Popover positioning

Updates the index files in each example to set the root div's height to 100% to avoid customers encountering this issue that keeps reering its head:
https://github.com/looker-open-source/components/issues/2850
Internal issue ID: 240613386

Closed in favor of https://github.com/looker-open-source/extension-examples/pull/88


Staging next

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@FRidh am I able to push to this branch? or does that mess up the hydra jobs?

No, you can push. Just remember this is to stabilize. Therefore, mass-rebuilds should only go in when they're critical.

I think a lot of my mass re-builds were already done as part of the python-unstable period

let ofborg do the eval check


Signature help

Closes https://github.com/rescript-lang/rescript-vscode/issues/252
This implements signature help for function applications. Signature help is an "interactive" help hint you get when calling a function, that tells you what parameters the function has, as well as what parameter you're currently filling in, if any. Essentially a hover, but with the current parameter you're working on highlighted.

https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_signatureHelp

It's ready for a general review, although I have a couple of more cases to handle here in larger functions.

After some testing, this has some ways to go for larger function bodies. I had another idea - instead of printing a dummy function, extracting types, and calculating offsets that way, what if I simply take the label (type string) that will be the signature help, parse that type definition with the parser again, and let the parser tell me all of the offsets.
I think that should work, and also future proof/vastly simplify things.

Sounds like a good thing to try.

@cristianoc ready for your eyes.

Compared to other features, this is a little more elaborate i.e. maintenance cost for the future.
I'd say the ratio cost / value is OKish.

Will pick up this again and finish it soon.

@cristianoc ready for your eyes again.

Got some philosophical question.
Also how about when named and unnamed arguments are mixed in the same call: does that work at the moment?

It should, there are a few tests for it. Although I haven't tested it extensively.

@cristianoc would you mind having another look?


include more of Lift, not just lift-json

see prior discussion with @joescii at https://github.com/scala/scala-xml/pull/150. cc @Shadowfiend
this isn't something I can personally take on; I can sometimes to afford to take on things like lift-json, but 1) since Lift is a whole framework with a big complicated build, and 2) since Lift doesn't typically have open-source downstream dependencies, the cost/benefit isn't there for me.
on the other hand, I'm more than happy to offer as much help and advice as I can if you guys want to take a stab at adding it. and once it gets in, I can generally do light maintenance on it myself and notify you if there are problems.
the documentation at https://github.com/scala/community-builds/wiki is IMO already pretty solid, and I'm very interested in improving it if shortcomings are called to my attention.

I'll get a conversation going in the Lift community regarding this issue. Thanks a million, Seth!

Lift was also affected by https://github.com/scala/bug/issues/10437 . this could have been caught by the community build
...but note that (since it only involves Scala and doesn't involve rebuilding other dependencies) could it also have been caught up Lift included the current Scala nightly in their own CI. see https://stackoverflow.com/a/40622879/86485 for info on using the current nightly

Yes, this is also a good point… We'll mull this over and figure out what the best path forward is.
Are there guidelines as to what kind of stuff should be included in the community build vs not?

Are there guidelines

yup, https://github.com/scala/community-builds/wiki/Eligibility

closing for inactivity. happen to reopen if someone wants to take it back up. (I don't think it's something I'll tackle myself.)
if Lift wants to include "latest Scala nightly" in their CI matrix, the ticket where we're gathering lore on that is https://github.com/scala/community-builds/issues/599


getScrollElement is not supported by typescript

I'm using simplebar-react v.2.3.0 witth typescript
I wanna use getScrollElement()
but TS says getScrollElement does not exist
Now, no problem with @ts-ignore. But I hope supporting this

Plugin has been rewritten in TS so it should work now!


Refactor Cli

Refactor and clean up of the Command-line interface.
This PR aims to decouple prompt generation from model generation and make it easier to expand upon in the future.
TODO:

[ ] Decouple prompt generation from model loading and
[ ] Separate CLI UI from business logic
[ ] Create separate modes for the CLI

You'll probably want to wait until the other PRs land

You'll probably want to wait until the other PRs land

Which ones in particular are you thinking of?

#41, #68, #72, and once those are in I'm going to do some cleanup work in preparation for #57

Getting closer to being able to unblock you on this. In the meantime, you may be interested in looking into revising the CLI parameters to accommodate the different operational modes we have here; I suggest using Clap subcommands.
As an example of how you can share those parameters, here's how I do it in one of my other projects: https://github.com/AmbientRun/Ambient/blob/main/app/src/cli/mod.rs#L7-L100

Getting closer to being able to unblock you on this. In the meantime, you may be interested in looking into revising the CLI parameters to accommodate the different operational modes we have here; I suggest using Clap subcommands.
As an example of how you can share those parameters, here's how I do it in one of my other projects: https://github.com/AmbientRun/Ambient/blob/main/app/src/cli/mod.rs#L7-L100
(This should also help with offering a mode for #40)

When I started repl-mode was about merged in and I thought about creating an interactive-mode for the "chat-like" app but I can see there are more on the way.

#83's refactored the CLI a fair bit - do you think there should be more work in that area?

#83's refactored the CLI a fair bit - do you think there should be more work in that area?
There were a few additional things that I wanted to do after #85 get's merged that would further change the way models are loaded into the CLI.

Hm, should I close this PR and we'll revisit once #85's in?


Added docs on the "Communication Lifecycle"

Fixes #2691

coverage: 94.08%. remained the same when pulling a5eb5b2b39afcc04fb6996f5a7da8a5e38cafed9 on rahul-communication-lifecycle into a229348844a7b241c632ba7ba9956202d513cfa7 on main.


Create Spark quickstart

Done - https://rhiot.gitbooks.io/rhiotdocumentation/content/quickstarts/spark.html .


Modify the paquito.yml

Modify the paquito.yml to include own "Build Dependencies" to each distribution

done


Feature request: minimum amount of bytes (as an option) in the "Extract Files" operation

Is your feature request related to a problem? Please describe.
Sometimes the list of extracted files gets flooded with many very small (false positive) files.
Describe the solution you'd like
There should be an option in the operation to set the minimum file size as bytes.
Describe alternatives you've considered
No alternatives considered. (or just ignoring very small files)
Additional context

Agreed, I will work on this.


Consider support for local requires in server.js

Just ran into this ...
Packaging components...an error happened while packaging /path/to/my/component: ./path/to/local/module.json not found. Only json files are require-able.

I get the design decision of limiting local requires to .json files - keeping server.js small and limiting it's responsibility to component data fetching / plumbing 👍 .
However, the existence of a hard limitation in the framework seems a little too restrictive IMHO:

A component can still be "small" and still have local requires
Component authors can circumvent this restriction anyway by using a module bundler to generate server.js (in doing so bundle all of their local requires into one file)
There isn't much difference between npm dependencies and local dependencies yet one is allowed and the other isn't.

My particular use case is as follows (React server side rendering):
'use strict';

var React = require('react');
var ReactDOMServer = require('react-dom/server');

var Component = require('./path/to/my/component');

module.exports.data = function(context, callback) {
  var element = React.createElement(Component);
  var html = ReactDOMServer.renderToString(element);

  callback(null, { html: html });
};

Are there any major objections to this? Potential downsides I see are CLI bloat and percieved lack of control over server.js complexity. CLI bloat because we'd probably need some sort of module bundler to allow local requires. That being said we've discussed similar stuff in #339. And in terms of lack of control .... surely thats what code reviews are for 😇 .

There were a couple of reasons for doing this a while ago but I agree that's not an issue anymore.
We use webpack here for doing this - I would vote 👍 for putting this into the CLI and leaving to webpack to produce the bundled server.js. I think this would be the easiest way to achieve this as we wouldn't change anything on the publishing and execution, only thing would be to add the extra magic to the CLI.

Ah, there are other options apart from webpack obviously, we may do a spike to see what's the best way to do this :)

Yeah I would have suggested webpack too!

Also, @antwhite worked on this a while ago. I think we just may need to bring this code into the cli and add some testing: https://github.com/antwhite/oc-webpack

@matthewdavidson @matteofigus I like the idea of relying on a bundler + transpiler to solve this and https://github.com/opentable/oc/issues/339 issue. As per the goals I would suggest to go with rollup/bublé instead of the webpack/babel combo:

rollup bundles are always smaller then browserify or webpack
rollup config is way simpler then webpack
bublé limits itself to ES features that can be compiled to compact, performant ES5 (plus JSX)
bublé has no plugins or presets – less extensibility, but also zero configuration
bublé alters code only where necessary (formatting and code style remain intact)
bublé It's comparatively tiny and much faster then Babel

@matteofigus I've had a look at @antwhite's example - it's exactly the approach I mentioned above:

Component authors can circumvent this restriction anyway by using a module bundler to generate server.js (in doing so bundle all of their local requires into one file)

I'd like to have a go at a PR for a webpack solution if thats ok?
@nickbalestra, I'd heard of rollup before due to its tree-shaking ability but as far as I am aware it's not widely adopted or at least it's not as ubiquitous as webpack. Webpack 2 has tree shaking and will be stable very soon. I've never heard of bublé - I thought babel was the de-facto standard for compilation 🤔 . Either way i'd err on the side of webpack/babel just because I would feel confident in their future development / support / communities.

@nickbalestra also relevant since you mention it in your comment on #341.
create-react-app uses webpack & babel under the hood. Seeing as it's facebooks officially supported way of getting started with react i'd say they are a safe bet 😇  - although I do appreciate that this particular issue isn't related to front end framework choices in oc components themselves.

Very good points here. I think I would probably like to see both and then make a decision. Still, don't want to waste anyone's time for working on something that then gets thrown away.
My 2 cents, for me most important things are (for both bundler - webpack vs rollup - and transpiler - babel vs buble')

Community support: bundlers seem both really strong, in terms of transpilers babel seems a safer choice
Dimension: this stuff is going to be part of the CLI and would like to get the smaller amounts of modules there as sub-dependencies (we could spike both just on npm install + measuring the impact)
Secure: we are not integrating snyk yet but will soon. Whatever option we take I would like a completely green build when running a snyk test. Serverless architectures need to take security very seriously and my vision is to invest more on that soon.
Extensibility: when new ES6 features will come up, or will want to start using ES7, how easy will be to upgrade? I am mostly thinking about async/await here as JS community is in ❤ with that and I would like to support it asap if that makes it to ES7 and node 7 supports it.

Good points!
I'm fine with either. if we want to simply solve the initially mentioned goals with no string attached:

Local requires
es2015

then imho rollup/bublé just do the job.
But If we believe we need/want more powers then I agree that webpack/babel is the way. @matteofigus as per your points 1&4 I would say webpack/babel (both are more mature/battle-tested and have a huge community/plugins/you-name-it.
@matthewdavidson I'll be working on it this week and I would love your code-reviews / input / feedback as we move forward, so I guess we could work together on this.
About the webpack/oc dev integration I guess we want to have a webpack watcher -> so that any new webpack build triggers the oc dev watcher. Any other thoughts in this direction related to dx and what we would like/should have?

@nickbalestra in relation to the watcher I think it's almost as the opposite. OC has its own watcher during dev, once there is a change there is a "build" process that currently (re)generates the _package folder (which is also the publish output). The code for the server.js is mostly here:
https://github.com/opentable/oc/blob/master/src/cli/domain/package-server-script.js#L87-L98
I think we need to get rid of the require stuff (webpack takes care of it) and then add the babelification too. We can pair on this tomorrow ;)

Yup that's it. Let's do it :)

@nickbalestra Awesome, count me in for reviews etc.

Done with #346


Android: After new Release of Google Play services as on 20/03/2018, Not able to build apk.

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':processDebugResources'.

Error: more than one library with package name 'com.google.android.gms.license'

After new Release as on 20/03/2018, Not able to build apk.
https://firebase.google.com/support/releases
https://developers.google.com/android/guides/releases

Same here the problem seems to be that the plugin just uses + as dependency versions.
dependencies {
    compile 'me.leolin:ShortcutBadger:1.1.4@aar'
    compile 'com.google.firebase:firebase-crash:+'
    compile 'com.google.firebase:firebase-auth:+'
}

Can we change this to 11.+ ?

As plugin is using "+" to get the latest libraries and Prior to current release of 12.0.0, the stable version 11.8.0 should work.

Same here, is there any workaround to solve this problem ?

on changing inside gradle and plugin.xml, it worked for me
-----------------gradle----------------
compile 'com.google.firebase:firebase-crash:11.8.0'
compile 'com.google.firebase:firebase-auth:11.8.0'
------------------plugin.xml-----------------

Same problem here.
"cordova run android" runs in the error above.
I see in my console, that there are some files was downloaded. The download wasn`t triggered from my site.
Download https://maven.google.com/com/android/support/support-v4/28.0.0-alpha1/support-v4-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/appcompat-v7/27.0.2/appcompat-v7-27.0.2.pom
Download https://maven.google.com/com/android/support/cardview-v7/27.0.2/cardview-v7-27.0.2.pom
Download https://maven.google.com/com/android/support/customtabs/27.0.2/customtabs-27.0.2.pom
Download https://maven.google.com/com/android/support/support-vector-drawable/27.0.2/support-vector-drawable-27.0.2.pom
Download https://maven.google.com/com/android/support/animated-vector-drawable/27.0.2/animated-vector-drawable-27.0.2.pom
Download https://maven.google.com/com/android/support/support-media-compat/28.0.0-alpha1/support-media-compat-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/support-compat/28.0.0-alpha1/support-compat-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/collections/28.0.0-alpha1/collections-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/support-core-utils/28.0.0-alpha1/support-core-utils-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/documentfile/28.0.0-alpha1/documentfile-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/loader/28.0.0-alpha1/loader-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/localbroadcastmanager/28.0.0-alpha1/localbroadcastmanager-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/print/28.0.0-alpha1/print-28.0.0-alpha1.pom
Download https://maven.google.com/android/arch/lifecycle/livedata-core/1.1.0/livedata-core-1.1.0.pom
Download https://maven.google.com/android/arch/lifecycle/viewmodel/1.1.0/viewmodel-1.1.0.pom
Download https://maven.google.com/android/arch/core/runtime/1.1.0/runtime-1.1.0.pom
Download https://maven.google.com/com/android/support/support-core-ui/28.0.0-alpha1/support-core-ui-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/customview/28.0.0-alpha1/customview-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/viewpager/28.0.0-alpha1/viewpager-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/coordinatorlayout/28.0.0-alpha1/coordinatorlayout-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/drawerlayout/28.0.0-alpha1/drawerlayout-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/slidingpanelayout/28.0.0-alpha1/slidingpanelayout-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/interpolator/28.0.0-alpha1/interpolator-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/swiperefreshlayout/28.0.0-alpha1/swiperefreshlayout-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/asynclayoutinflater/28.0.0-alpha1/asynclayoutinflater-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/cursoradapter/28.0.0-alpha1/cursoradapter-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/support-fragment/28.0.0-alpha1/support-fragment-28.0.0-alpha1.pom
Download https://maven.google.com/com/android/support/support-annotations/28.0.0-alpha1/support-annotations-28.0.0-alpha1.pom
Download https://maven.google.com/android/arch/lifecycle/runtime/1.1.0/runtime-1.1.0.pom
Download https://maven.google.com/android/arch/lifecycle/common/1.1.0/common-1.1.0.pom
Download https://maven.google.com/android/arch/core/common/1.1.0/common-1.1.0.pom
Download https://maven.google.com/com/android/support/support-annotations/28.0.0-alpha1/support-annotations-28.0.0-alpha1.jar
Download https://maven.google.com/com/android/support/collections/28.0.0-alpha1/collections-28.0.0-alpha1.jar
Download https://maven.google.com/android/arch/lifecycle/common/1.1.0/common-1.1.0.jar
Download https://maven.google.com/android/arch/core/common/1.1.0/common-1.1.0.jar
Download https://maven.google.com/android/arch/lifecycle/runtime/1.1.0/runtime-1.1.0.aar
Download https://maven.google.com/com/android/support/support-compat/28.0.0-alpha1/support-compat-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/support-media-compat/28.0.0-alpha1/support-media-compat-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/documentfile/28.0.0-alpha1/documentfile-28.0.0-alpha1.aar
Download https://maven.google.com/android/arch/core/runtime/1.1.0/runtime-1.1.0.aar
Download https://maven.google.com/android/arch/lifecycle/livedata-core/1.1.0/livedata-core-1.1.0.aar
Download https://maven.google.com/android/arch/lifecycle/viewmodel/1.1.0/viewmodel-1.1.0.aar
Download https://maven.google.com/com/android/support/loader/28.0.0-alpha1/loader-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/localbroadcastmanager/28.0.0-alpha1/localbroadcastmanager-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/print/28.0.0-alpha1/print-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/support-core-utils/28.0.0-alpha1/support-core-utils-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/customview/28.0.0-alpha1/customview-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/viewpager/28.0.0-alpha1/viewpager-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/coordinatorlayout/28.0.0-alpha1/coordinatorlayout-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/drawerlayout/28.0.0-alpha1/drawerlayout-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/slidingpanelayout/28.0.0-alpha1/slidingpanelayout-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/interpolator/28.0.0-alpha1/interpolator-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/swiperefreshlayout/28.0.0-alpha1/swiperefreshlayout-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/asynclayoutinflater/28.0.0-alpha1/asynclayoutinflater-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/cursoradapter/28.0.0-alpha1/cursoradapter-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/support-core-ui/28.0.0-alpha1/support-core-ui-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/support-fragment/28.0.0-alpha1/support-fragment-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/support-v4/28.0.0-alpha1/support-v4-28.0.0-alpha1.aar
Download https://maven.google.com/com/android/support/support-vector-drawable/27.0.2/support-vector-drawable-27.0.2.aar
Download https://maven.google.com/com/android/support/animated-vector-drawable/27.0.2/animated-vector-drawable-27.0.2.aar
Download https://maven.google.com/com/android/support/appcompat-v7/27.0.2/appcompat-v7-27.0.2.aar
Download https://maven.google.com/com/android/support/cardview-v7/27.0.2/cardview-v7-27.0.2.aar
Download https://maven.google.com/com/android/support/customtabs/27.0.2/customtabs-27.0.2.aar

@tonysumi did you have to remove and re-add platform android after that?

I'm not sure with cache mechanism for Libraries so I removed android platform and re-aded with above mentioned changes

I am also facing same issue.
I made the above changes as tonysumi described but No luck.
I am still getting same error not able to build

Ya same here the above hasn't resolved the issue for me. Any ideas?

Yup, same scenario here. Already tried @tonysumi 's changes but no dice unfortunately

In order to complete @tonysumi solution, you have to force version 11.8.0 when a dependencie start with com.google.android.gms or com.google.firebase in build.gradle and project.properties

in platform/android/build.gradle add this
configurations.all {    resolutionStrategy {        force "com.google.android.gms:play-services-ads:11.8.0"        force "com.google.android.gms:play-services-base:11.8.0"        force "com.google.android.gms:play-services-gcm:11.8.0"        force "com.google.android.gms:play-services-analytics:11.8.0"        force "com.google.android.gms:play-services-location:11.8.0"        force "com.google.android.gms:play-services-basement:11.8.0"        force "com.google.android.gms:play-services-tagmanager:11.8.0"        force 'com.google.firebase:firebase-core:11.8.0'        force 'com.google.firebase:firebase-crash:11.8.0'        force 'com.google.firebase:firebase-auth:11.8.0'        force 'com.google.firebase:firebase-common:11.8.0'        force 'com.google.firebase:firebase-config:11.8.0'        force 'com.google.firebase:firebase-messaging:11.8.0'    } }
if that doesn't work, search in your project the string '12.0.0' and add in the list above the missing library

@jeremycastelli that's a nice solution and it works!
Although as @ComeBurguburu mentioned you might need to search through your dependencies prefixed with either com.google.android.gms or com.google.firebase and add them to the force list with the 11.8 version number appended.

I tried to put '11' in the dependencies but dont work for me.
Then I opened the folder /platforms/android/ in android studio
and I updated the gradle version
and the android studio builded the project
After in cmd I was able to generate apk.

@jeremycastelli
You can use cordova hook before_build like this:

module.exports = function(context) {
	var fs = require('fs');
	var path = require('path');

	var rootdir = context.opts.projectRoot;

	var platformDir = 'platforms/android';
        //change the path to your external gradle file
	var srcFile = path.join(rootdir, 'src/android/build-extras.gradle');
	var destFile = path.join(rootdir, platformDir, 'build-extras.gradle');

	console.log("copying "+srcFile+" to "+destFile);
	fs.createReadStream(srcFile).pipe(fs.createWriteStream(destFile));
}

//build-extras.gradle
configurations.all {
   resolutionStrategy {
       force "com.google.android.gms:play-services-ads:11.8.0"
       force "com.google.android.gms:play-services-base:11.8.0"
       force "com.google.android.gms:play-services-gcm:11.8.0"
       force "com.google.android.gms:play-services-analytics:11.8.0"
       force "com.google.android.gms:play-services-location:11.8.0"
       force "com.google.android.gms:play-services-basement:11.8.0"
       force "com.google.android.gms:play-services-tagmanager:11.8.0"
       force 'com.google.firebase:firebase-core:11.8.0'
       force 'com.google.firebase:firebase-crash:11.8.0'
       force 'com.google.firebase:firebase-auth:11.8.0'
       force 'com.google.firebase:firebase-common:11.8.0'
       force 'com.google.firebase:firebase-config:11.8.0'
       force 'com.google.firebase:firebase-messaging:11.8.0'
   }
}

Are there any known fixes for Phonegap Build? I tried setting the version as some suggested
		<framework src="com.google.gms:google-services:+" />
		<framework src="com.google.android.gms:play-services-tagmanager:11.8.0" />
		<framework src="com.google.firebase:firebase-core:11.8.0" />
		<framework src="com.google.firebase:firebase-messaging:11.8.0" />
		<framework src="com.google.firebase:firebase-crash:11.8.0" />
		<framework src="com.google.firebase:firebase-config:11.8.0" />```
but it doesn't seem to work

@dvcroft
<platform name="android">
        <hook src="fixFirebasePlugin.js" type="before_run" />
</platform>

https://cordova.apache.org/docs/en/latest/guide/appdev/hooks/

@dvcroft , @jeremycastelli
The above solutions didn't work for me as i was using "cordova-plugin-googleplus"
So i added 2 more dependencies in @jeremycastelli 's answer
configurations.all {
   resolutionStrategy {

       force "com.google.android.gms:play-services-auth:11.8.0"
       force "com.google.android.gms:play-services-identity:11.8.0"

       force "com.google.android.gms:play-services-ads:11.8.0"
       force "com.google.android.gms:play-services-base:11.8.0"
       force "com.google.android.gms:play-services-gcm:11.8.0"
       force "com.google.android.gms:play-services-analytics:11.8.0"
       force "com.google.android.gms:play-services-location:11.8.0"
       force "com.google.android.gms:play-services-basement:11.8.0"
       force "com.google.android.gms:play-services-tagmanager:11.8.0"
       force 'com.google.firebase:firebase-core:11.8.0'
       force 'com.google.firebase:firebase-crash:11.8.0'
       force 'com.google.firebase:firebase-auth:11.8.0'
       force 'com.google.firebase:firebase-common:11.8.0'
       force 'com.google.firebase:firebase-config:11.8.0'
       force 'com.google.firebase:firebase-messaging:11.8.0'
   }
}

Note: Even after changing the version to 11.8.0 , some of you might get the same error due to OneSignal library.

@smv-kepler did you end up finding a solution yet? I too need a solution that works with phonegap build...

i'm getting the same error with having + replaced with 11.8.0

Add this if OneSignal is used along with FCM Under build.gradle:
`buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.google.gms:google-services:3.1.0'
}
}
repositories {
mavenCentral()
maven {
url "https://maven.google.com"
}
}
dependencies {
compile 'me.leolin:ShortcutBadger:1.1.4@aar'
compile 'com.google.firebase:firebase-crash:11.8.+'
compile 'com.google.firebase:firebase-auth:11.8.+'
}
// ## Align gms and support group versions on all dependencies
def versionGroupAligns = [
// ### Google Play Services library
'com.google.android.gms': [
'version': '11.8.+'
],
// ### Google Firebase library
// Firebase has some dependencies on gms
// If present, ensuring they are aligned
'com.google.firebase': [
    'version': '11.8.+'
],

// ### Android Support Library
'com.android.support': [
    'requiredCompileSdkVersion': 26,
    'version': '26.1.+',
    'omitModules': ['multidex', 'multidex-instrumentation'],

    // Can't use 26 of com.android.support when compileSdkVersion 25 is set
    // The following error will be thrown if there is a mismatch here.
    // "No resource found that matches the given name: attr 'android:keyboardNavigationCluster'"
    'versionFallback': '25.+'
]

]
def resolveVersion(def versionOverride) {
def curCompileSdkVersion = android.compileSdkVersion.split('-')[1].toInteger()
def requiredCompileSdk = versionOverride['requiredCompileSdkVersion']
if (curCompileSdkVersion < requiredCompileSdk)
return versionOverride['versionFallback']
return versionOverride['version']
}
configurations.all { resolutionStrategy {
// Enable to find root causes of any remaining version mismatches
// failOnVersionConflict()

resolutionStrategy.eachDependency { DependencyResolveDetails details ->
    def versionOverride = versionGroupAligns[details.requested.group]
    if (!versionOverride)
        return

    def omitModules = versionOverride['omitModules']
    if (omitModules && omitModules.contains(details.requested.name))
        return

    details.useVersion(resolveVersion(versionOverride))
}

}}`

Worked for me
https://github.com/arnesson/cordova-plugin-firebase/issues/612#issuecomment-376217404

@tonysumi no i'm not using OneSignal (yet, but i plan too)
cc.fovea.cordova.purchase 7.1.3 "Purchase"
cordova-clipboard 1.1.1 "Clipboard"
cordova-plugin-app-version 0.1.9 "AppVersion"
cordova-plugin-device 1.1.7 "Device"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-firebase 0.1.25 "Google Firebase Plugin"
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
cordova-plugin-ionic-webview 1.1.16 "cordova-plugin-ionic-webview"
cordova-plugin-network-information 1.3.4 "Network Information"
cordova-plugin-screen-orientation 3.0.1 "Screen Orientation"
cordova-plugin-splashscreen 4.1.0 "Splashscreen"
cordova-plugin-sqlite-2 1.0.4 "SQLitePlugin"
cordova-plugin-statusbar 2.4.2-dev "StatusBar"
cordova-plugin-velda-devicefeedback 0.0.2 "DeviceFeedback"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-plugin-x-socialsharing 5.3.2 "SocialSharing"
cordova-support-google-services 1.1.0 "cordova-support-google-services"
es6-promise-plugin 4.2.2 "Promise"
ionic-plugin-keyboard 2.2.1 "Keyboard"

Hi @arnesson
Can you also update the npm?

@soumak77 Can we have this commit add to this project (in order to solve all the issues related to Google play services 12.0 0) ?

In Phonegap, still unable to build for Android........
BUILD FAILED
Total time: 0.906 secs
Error: /project/gradlew: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.

Where:
Build file '/project/build.gradle' line: 254

What went wrong:
A problem occurred evaluating root project 'project'.

Could not get unknown property 'PLAY_SERVICES_VERSION' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

this appears to be fixed by installing cordova-android-play-services-gradle-release

Hi, yes @soumak77 that gradle release plugin fixed that error, but now its failing with this......
Error - Some official plugins have to be updated if using PhoneGap >= 4.0.0. Please upgrade the version of any plugins that may include the following file: FirebasePluginMessagingService.java

in platform/android/build.gradle add this
configurations.all {
   resolutionStrategy {
       force "com.google.android.gms:play-services-ads:11.8.0"
       force "com.google.android.gms:play-services-base:11.8.0"
       force "com.google.android.gms:play-services-gcm:11.8.0"
       force "com.google.android.gms:play-services-analytics:11.8.0"
       force "com.google.android.gms:play-services-location:11.8.0"
       force "com.google.android.gms:play-services-basement:11.8.0"
       force "com.google.android.gms:play-services-tagmanager:11.8.0"
       force 'com.google.firebase:firebase-core:11.8.0'
       force 'com.google.firebase:firebase-crash:11.8.0'
       force 'com.google.firebase:firebase-auth:11.8.0'
       force 'com.google.firebase:firebase-common:11.8.0'
       force 'com.google.firebase:firebase-config:11.8.0'
       force 'com.google.firebase:firebase-messaging:11.8.0'
   }
}

if that doesn't work, search in your project the string '12.0.0' and add in the list above the missing library

after searching for hours finally this resolve my issue, Thanks
just add following code in build-extras.gradle in my cordova project
configurations.all {
    resolutionStrategy {
        force "com.google.firebase:firebase-core:16.0.8"
        force "com.google.firebase:firebase-messaging:17.6.0"
        force "com.google.firebase:firebase-config:16.5.0"
        force "com.google.firebase:firebase-perf:16.2.5"
    }
}


Announce our node on gossip

Would the node announcment come from
https://github.com/MutinyWallet/mutiny-node/blob/58f7e473ba171f781dea37d98315c0ce838e4ed5/mutiny-core/src/background.rs#L252
On process peer_manager?

No, background.rs is almost identical to the rust-lightning version and shouldn't really be touched. I am a little unsure what the benefit of announcing mutiny wallet node gossip actually.

No, background.rs is almost identical to the rust-lightning version and shouldn't really be touched. I am a little unsure what the benefit of announcing mutiny wallet node gossip is actually.

From LDK docs

What it's used for: if you have 1 or more public channels, you may need to announce your node and its channels >occasionally. LDK will automatically announce channels when they are created, but there are no guarantees you have >connected peers at that time or that your peers will propagate such announcements. The broader node-announcement >message is not automatically broadcast.

We don't do public channels so I don't think this would do anything here.


is uv pip sync with --find-links broken?

uv version: 0.1.24, running on MacOS.
In my use case, I want to install dependencies, some of them living as .whl files in a local directory. When running `uv pip sync ... -find-links LOCAL_PATH the whls were not found. I made a small example that reproduces the case for me, with disabled network lookup to simplify the case
Case 1: uv pip install seems to work correctly
 uv -v pip install MY_PACKAGE --find-links /Users/OTHER_STUFF/libraries/.wheels --no-index
result: based on the logs, it clearly finds the package (and only starts failing later, as this package has external dependencies which it is now blocked to fetch due to no-index flag). Snippet from the log:
DEBUG Found 4 packages in `--find-links` entry: /Users/OTHER_STUFF/libraries/.wheels
DEBUG Solving with target Python version 3.11.4
DEBUG Adding direct dependency: MY_PACKAGE*
DEBUG Searching for a compatible version of MY_PACKAGE (*)
DEBUG Selecting: MY_PACKAGE==0.0.1 (MY_PACKAGE-0.0.1-py3-none-any.whl)
DEBUG Adding transitive dependency: pytest*
...

Case 2: uv pip sync seems to fail
uv -v pip sync requirements-dev2.txt --find-links /Users/OTHER_STUFF/libraries/.wheels --no-index
content of the requirements file:
MY_PACKAGE==0.0.1
Snippet from the log:
INFO Found a virtualenv through VIRTUAL_ENV at: /Users/SOME_PATH
DEBUG Cached interpreter info for Python 3.11.4, skipping probing: .venv/bin/python
DEBUG Using Python 3.11.4 environment at .venv/bin/python
DEBUG Using registry request timeout of 300s
DEBUG Found 4 packages in `--find-links` entry: /Users/OTHER_STUFF/libraries/.wheels
DEBUG Identified uncached requirement: MY_PACKAGE ==0.0.1
DEBUG Unnecessary package: ruff==0.1.13
error: MY_PACKAGE isn't available locally, but making network requests to registries was banned.

Note: there actually is a whitespace in DEBUG Identified uncached requirement: MY_PACKAGE ==0.0.1. Could this be a pointer to what is wrong?
I also tried pip-sync for case 2 instead of uv pip sync, which also seems to work.

mre.zip
I made you a small MRE that replicates the issue on my side, see the README.md for instructions.

Thank you!

Okay, running on main, I do see error: lib1 isn't available locally, but making network requests to registries was banned, but I no longer see the space in lib1==0.0.1, so just gonna ignore that for now.

By the way, removing -no-index does succeed (but it should still succeed without it).

Thanks for the great MRE! Fixed in the next release.

Thanks a lot! Just a quick check: does it work without —no-index because it finds the local library, or is there a lib1 on PyPI mirroring the local library and is the problem therefore masked?

It finds both (like pip), but it correctly selects the local library since you pinned the version (in my testing).


Collection type is not a list

Currently the manifest parser expects Collections to be specified using
[Type]
This is somewhat confusing, it could imply that the collection type behaves as:

a list, i.e. (Typescript type) T[]
a list of a single element of type T, i.e. (Typescript type) [T]
an array containing items of type T.

In reality, it's behavior is closer to that of a set.
I propose that we change it's notation to
Set<T>

I wish I could add more than one :+1:

Adding some notes from discussions about this, views are not my own but I will try to be faithful to their holders expressions:

Collection is not great, in general, nested types are hard to read
Set behavior is only some of the problem. The other is communicating that these are more like a non-sorted DB than a data structure.
Set doesn't give this DB understanding, neither does [T] but lets not move until we can actually improve this.

Nested types are an ongoing problem. https://github.com/PolymerLabs/arcs/pull/4293 improves this for references, https://github.com/PolymerLabs/arcs/pull/4296 improves the state of 'line noise', but we haven't found a more general fix.
To generalize a little, we have prefix and suffix type annotations that are easier to read than nesting. e.g. &T is common and easier to read than Reference<T> (though easier to overlook). We could have a Set T or a T[] notation, but this makes lists of type names surprising. Maybe `Set::T (as in 'a T inside a Set').


Add more supported variables to Alert notifications to increase monitoring and observability flexibility

Is your feature request related to a problem? Please describe.
Right now the amount of variables we can use in Slack alert notifications is low. We are not able to pass in variables to make the messages have more context or see important information.
Describe the solution you'd like
Having the ability to pass in custom variables generated from a block, pipeline, or a global variable would greatly help my team monitor pipelines. E.g. I want to pass in variables generated from a pipeline, such as the number of rows returned from an API, so that I have more awareness into the pipeline behavior. I also would want to pass in runtime variables that state which execution type it ran in and over which dates (which are custom variables I have created).
Describe alternatives you've considered
I have had to build out custom data exporters in all of my pipelines to extract the number of rows loaded from the initial data loader block into a new table in my database. I also will investigate creating custom slack messages in a new block in each pipeline so that I can send the exact data I want over slack, except this will take time and increase maintenance.

+1

execution time in local time zone

@alaym3 have you got good ideas what are the variables you want to include in the messages?

@alaym3 have you got good ideas what are the variables you want to include in the messages?

Here are some ideas:

Runtime variables

E.g. I have runtime variables for execution types (e.g. Backfill, Incremental, and Manual Dates) and timeframes (e.g. from date and to date) that it is run for - it would be nice to see that information in the pipeline run messages

Variables created during the pipeline run

E.g. I would love to save the len(df) returned from each API call in data loader blocks and show them in the successful pipeline run Slack messages, so I have immediate visibility into how many rows are being returned

Environment variables

E.g. I have important details in my .env file that would be helpful to expose, even just if it's which environment (test vs prod) or which database name is being used

Other

Pipeline runtime would be nice to show; this is not totally necessary because we can pull that from the metadata tables, but still could be nice since the info should be readily available from Mage


Make name required for Language

Currently 3 languages miss name:

dsconfig
php
python-repl

If the project is converted to TypeScript, this could be verified statically.

Been thinking about this one.  Not sure I like forcing this on all 3rd party developers with v12.... What is the big win here again vs just the auto-registration?
And no we have no interest currently in TypeScript proper.


add docs for support for roles, cluster roles and subjects in CLI

Signed-off-by: Tathagata Paul<EMAIL_ADDRESS>Related issue
Closes #505

Proposed Changes

[x] Add docs for kyverno apply command for support in roles, cluster roles and subjects.
[x] Add docs for kyverno test command for support in roles, cluster roles and subjects.

Checklist

[x] I have read the contributing guidelines.
[ ] I have inspected the website preview for accuracy.
[x] I have signed off my issue.

@chipzoller Review needed. Also, I think few of the flags can be better named, which I will change shortly... (ex: userinfo -> user-info)

user_info.yaml is not a hard-coded name, right?

Yes


INF: Checkpoints

Right now, checkpoints are a pain to load, requiring that the full dataset is available.
We need to figure out a way around this...

[x] Add infrastructure to allow checkpoints to be completely loaded from hparams file and checkpoint
[x] Add unittests to make sure checkpoints are being loaded properly

This will also need some unittests in place

This has been addressed by #51


Add an optional param to skip the encoding step

Adds a new encode parameter to asr and detect-language endpoints, which when set to false, skips the ffmpeg encoding process and sends the file directly to whisper. I implemented this to avoid the #42 M4A/MP4 issue which occurs when trying to stream the input file. The simplest way to solve this was to encode on the client-side and send that directly to the ASR.

Thanks for your contribution, I will merge it soon.

Would also appreciate this merged and fixed.

closes #42

just a reminder to build and push a new docker image when you get the chance

We will have a new release with other features in a couple hours.

@ahmetoner Thanks for merging the changes really appreciate it! Love the project!
Just curious do you know when the latest version 1.1.0 will be on the dockerhub?

@blundercode, new version v1.1.0 has been released on docker hub.

@ahmetoner awesome you rock!
Is there anywhere to donate? I really like the project and think it's super helpful and would like to donate if possible.

@ahmetoner awesome you rock!
Is there anywhere to donate? I really like the project and think it's super helpful and would like to donate if possible.

@blundercode, you can use my sponsor page. Thank you!


⚠ St. Lawrence Global Observatory CKAN has degraded performance

In c9ba26a, St. Lawrence Global Observatory CKAN (https://catalogue.ogsl.ca/en/) experienced degraded performance:

HTTP code: 200
Response time: 18141 ms

Resolved: St. Lawrence Global Observatory CKAN performance has improved in e635609 after 10 minutes.


[Bug] It takes too long time to build preamble when open a file.

clangd takes so much time to build preamble at every time we open a file.
In a use case, for example, we have a project like this:
a_header.hpp (include some standard headers)
a.cpp (include a_header.hpp and just a small func)
b.cpp (include a_header.hpp and just a small func)
Then, if we open a.ccp, clangd will take a while (in my case, about 14 seconds) to build the preamble. And, if we open b.cpp, clangd will take the same time (another 14 seconds) to build the preamble. And if we close the a.cpp, and reopen it, clangd will rebuild the preamble and takes another 14 seconds...
log looks like:
I[16:37:49.480] Built preamble of size 99069332 for file /path/to/a.hpp version 1 in 13.90 seconds

So, can we speed the process of building preamble by multi-core?  And can we cache the preamble result for each file? Also, can we reuse the preamble result of the common header file to speed up this? Like building the commom a_header.hpp only once for a.cpp and b.cpp?
System information
clangd version 16.0.2 (https://github.com/llvm/llvm-project 18ddebe1a1a9bde349441631365f0472e9693520)
Features: linux+grpc
Platform: x86_64-unknown-linux-gnu
Output of clangd --version:
Editor/LSP plugin:  vscode+clangd
Operating system: using ssh-remote to work on ubuntu 18.04

So, can we speed the process of building preamble by multi-core?

I'm not aware of any prior art for parsing a single C++ translation unit in parallel.
The rules of the C++ language are such that the semantics of every declaration can depend on preceding declarations (including those in included header files), which makes this sort of parallelization unworkable as far as I'm aware.

And can we cache the preamble result for each file?

We've had multiple requests to cache preambles for the lifetime of the editing session (or possibly even longer); some previous discussions can be found in #312, #364, #1165.
My personal opinion is that this is worth experimenting with, but I'm not sure whether the tradeoff between responsiveness and disk usage will be reasonable in practice (experimentation would shed light on that).
Note that for vscode in particular, tweaking these settings (to prevent vscode from auto-closing editor tabs in many cases) already helps a lot in my experience.

Also, can we reuse the preamble result of the common header file to speed up this? Like building the commom a_header.hpp only once for a.cpp and b.cpp?

C++20 Modules are designed to enable this kind of optimization (if a_header.hpp is a module, it needs to be built only once, and both a.cpp and b.cpp can consume its built module artifact). Clangd does not yet support C++20 Modules, but work is in progress at https://github.com/clangd/clangd/issues/1293.

Okay, thank you for the info.