fix: set default podspec for staticpod podtemplatespec

What type of PR is this?
/kind bug
What this PR does / why we need it:
If not set default PodSpec for staticpod PodTemplateSpec, then when applying staticpod, it may be rejected due to PodTemplateSpec validation not passing.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

other Note

@y-ykcir Would you explain more about this case? From my point, I think we do need to set the PodSpec in order to pass the validation. When will we need staticpod just have metav1.ObjectMeta~?

@xavier-hou When I apply yurthub-staticpod.yaml. The following validation error occurred:
The StaticPod "yurt-hub" is invalid:
* template.spec.containers[0].livenessProbe.httpGet.scheme: Unsupported value: "": supported values: "HTTP", "HTTPS"
* template.spec.containers[0].livenessProbe.successThreshold: Invalid value: 0: must be 1
* template.spec.containers[0].terminationMessagePolicy: Required value: must be 'File' or 'FallbackToLogsOnError'
* template.spec.containers[0].env[0].valueFrom.fieldRef.apiVersion: Required value
* template.spec.restartPolicy: Required value
* template.spec.dnsPolicy: Required value

This should be because the validation requirement here is a complete template, and users may not always add default values when writing yaml. Therefore, it may be appropriate to add default values to fields that the user did not fill in during the mutate phase

@y-ykcir Really appreciate for your information~

/lgtm


Request for Source Code

Hello,
I am a research graduate student with a keen interest in the field of blink detection. After reading your paper, I became deeply interested in your research and intrigued by the methods and results presented.
I would like to further explore your work and apply it to my own research. Therefore, I wanted to inquire if it would be possible for you to share the source code of the method described in your paper. Having access to the code would greatly assist me in conducting relevant experiments and validations.
I understand that you may have your reasons for not publicly releasing the source code at this time. However, if you would be willing to share it with me, I would greatly appreciate it. I assure you that I will respect all relevant intellectual property and academic ethical guidelines. I will acknowledge your efforts and contributions appropriately in my work.
I am eager to engage in further discussion and would appreciate any guidance you can provide in obtaining the source code.
Thank you very much for your time and consideration.
Best regards,
Yours sincerely,
Yu Wang
<EMAIL_ADDRESS>

Hi,
Thanks for being interested in our work. I am currently busy with other projects and unable to organize and share the code you requested. However, I plan to make the code available after the CVPR conference. Thank you for your understanding！

The code has been released.


Hope add MulticastMessage support

Hey, @yswtrue thanks for posting the request. I am gonna prioritize some work on that.

https://github.com/healthjoy/async-firebase/pull/20

The support of MulticastMessage has been added to version 1.9.0. I am gone close this issue.

Thank you very much.


feature:add sealer e2e test

Describe what this PR does / why we need it
add sealer e2e test
Does this pull request fix one issue?

Describe how you did it
using ginkgo test framework to setup our sealer e2e test
Describe how to verify it

set up env:
test env list as below :

MAX_WAITE_TIME：max waite time for run sealer cmd (optional)
DEFAULT_WAITE_TIME: default waite time for run sealer cmd (optional)
DEFAULT_POLLING_INTERVAL: retry interval(optional)

REGISTRY_URL: registry url   (must)
REGISTRY_USERNAME: registry username  (must)
REGISTRY_PASSWORD: registry password  (must)
and also need to set AKSK

run test case

run e2e test :  ginkgo -v test
run special test case like sealer login:  ginkgo -v --focus="sealer login" test

Special notes for reviews
how to set ginko test env see:  https://onsi.github.io/ginkgo/

must -> require

Add how to run e2e test into test/README


Tag modules from the wizard as IMS ready

Only the adap chrom builder still has a warning message, i thought it was more modules. The message is suppressed in batch mode now.
In 3.2.8 the Rows filter and the isotopic peaks finder also did not have this tag.

looks good. Maybe chromatogram builder should be unrestircted and rather put the messages in a box


Is there a method to generate the localStorage items from a token?

Core Library
MSAL.js v2 (@azure/msal-browser)
Core Library Version
2.33.0
Wrapper Library
MSAL Angular (@azure/msal-angular)
Wrapper Library Version
2.5.3
Public or Confidential Client?
Public
Description
After getting a token, something writes entries to the localStorage so that msal knows where to grab it for future calls.  When I'm testing with something like Cypress, seems like it would be easier if I could just generate those same entries, vs. having each call need to add the token to the headers.
Is there any type of method that can be called to do that once I get the token back from the POST to .../v2.0/token?
MSAL Configuration
No response
Relevant Code Snippets
Cypress.Commands.add('login', () => {
    cy.request({
        method: 'POST',
        url: 'https://login.microsoftonline.com/.../oauth2/v2.0/token',
        form: true,
        body: {
            grant_type: 'client_credentials',
            client_id: environment.azure.clientId,
            client_secret: Cypress.env('lampClientSecret'),
            scope: `${environment.azure.clientId}/.default`
        }
    }).then((response) => {
        // Want to make a call here to store response.token so that msal-browser can just use it.
    })
})

Identity Provider
Azure AD / MSA
Source
External (Customer)

@grosch-intl msal-browser uses the web storage APIs to store tokens. We also send back the tokens acquired in the response in the format: AuthenticationResult.
If you want to store them, you can probably take the tokens from the response and try. We do not support custom storage yet unfortunately.

We took this approach: https://medium.com/version-1/using-cypress-to-test-azure-active-directory-protected-spas-47d04f5add9
However, since updating @azure/msal-browser from 2.34.0 to 2.36.0, there have been problems with it, so I've been looking for an alternative approach. Unfortunately, I haven't found one yet.
You could try the following in your then block:
      const pca = new PublicClientApplication(msalConfig);
      const { oid, tid } = JSON.parse(atob(response.body.access_token?.split('.')[1] ?? '{}')) as {
        oid: string;
        tid: string;
      };
      const clientInfo = btoa(oid) + '.' + btoa(tid); // mabe not neccessary
      return pca.getTokenCache().loadExternalTokens(
        {
          authority: msalConfig.auth.authority,
          scopes: loginRequest.scopes,
        },
        response.body,
        {
          clientInfo,
          expiresOn: response.body.expires_in,
          extendedExpiresOn: response.body.ext_expires_in,
        }
      );

It didn`t work for me because I used the Resource Owner Password Flow (see also https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc).
However, the application (React) then directly tried to refresh the token with the following error message:
Cross-origin token redemption is permitted only for the 'Single-Page Application' client-type.
I can't seem to use the refresh_token from the ROPC for the authorization code grant in an SPA.
The blob entry at the top says: "The OAuth Client Credentials flow does not give us the necessary claims that our API backend needs, specifically scope claims."

Not sure if this finally will work but it avoids fetching the token:
          expiresOn: Date.now() + (response.body.expires_in ?? oneHoure),
          extendedExpiresOn: Date.now() + (response.body.ext_expires_in ?? oneHoure),

expiresOn is of course expires_in + the current timestamp.

@ghdoergeloh Yeah, we do not recommend ROPC for Prod and it is definitely not supported for SPA flows (which are msal-browser based libraries intended for). We use msal-node in our tests with ROPC flow in our samples. Will modeling your tests (I assume that is the case here) on msal-node for ROPC help?

Yes, I tried it with msal-node. Currently I stayed with the raw request. Do you have an example of your tests with msal-node? I am still struggling with the authentication. We are using the popup authentication in our main application, but I want to test another "sub-app", which has no authentication process but uses the authentication result from the sessionStorage of the main application. In short: I do not have the possibility to integrate the default SPA Authentication Flow in my cypress tests, so I want to mock it using the ROPC flow.
It already worked locally, but not in Github Actions. So maybe it is a problem I have with cypress. Before I try to reinvent the wheel or share my code, do you have examples on how to test a SPA without running through the whole login process?

I finally managed it. It was a problem in the application, not in the test.
You can use the ROPC token for the tests. Only the refresh token won't work, but since the token is valid for at least an hour, you can use the access token for your tests.
Here is my code. It is based on the above mentioned medium blog by @franklores and replaces the injectToken method by the msal internal loadExternalTokens method, which makes it a bit simpler and also independent from the msal internal implementation:
import { AuthenticationResult, ExternalTokenResponse, PublicClientApplication } from '@azure/msal-browser';
import { loginRequest, msalConfig } from './authConfig';
import Chainable = Cypress.Chainable;

interface LoginOptions {
  clientSecret: string;
  username: string;
  password: string;
}

interface MsalJwtPayload {
  iat: number;
  exp: number;
  oid: string;
  tid: string;
}

const oneHoureInSeconds = 3600;

const pca = new PublicClientApplication(msalConfig);

export function loginCommand(loginOptions: LoginOptions): Chainable<AuthenticationResult> {
  // Get a new token via resource owner password credentials flow https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc
  if (!msalConfig.auth.authority) throw Error('No authority configured');
  return cy
    .request<ExternalTokenResponse & { ext_expires_in?: number }>({
      url: msalConfig.auth.authority + '/oauth2/v2.0/token',
      method: 'POST',
      body: {
        grant_type: 'password',
        client_id: msalConfig.auth.clientId,
        client_secret: loginOptions.clientSecret,
        scope: ['openid', 'profile', 'offline_access'].concat(loginRequest.scopes).join(' '),
        username: loginOptions.username,
        password: loginOptions.password,
      },
      form: true,
    })
    .then((response) => {
      const token = JSON.parse(atob(response.body.access_token?.split('.')[1] ?? '{}')) as MsalJwtPayload;
      const clientInfo = btoa(token.oid) + '.' + btoa(token.tid);
      const authResult = pca.getTokenCache().loadExternalTokens(
        {
          authority: msalConfig.auth.authority,
          scopes: loginRequest.scopes,
        },
        response.body,
        {
          clientInfo,
          expiresOn: token.iat + (response.body.expires_in ?? oneHoureInSeconds),
          extendedExpiresOn: token.iat + (response.body.ext_expires_in ?? oneHoureInSeconds),
        }
      );
      pca.setActiveAccount(authResult.account);
      return cy.reload().then(() => authResult);
    });
}

Because of your @ghdoergeloh solution I also got it to work. I only had to adapt this part (we are using Azure B2C and according to the documentation the tid claim is not returned):
const clientInfoObject = {
  uid: token.oid,
  utid: tenantId,
};
const clientInfo = btoa(JSON.stringify(clientInfoObject));


[#4910] Add documentation example for Style/CharacterLiteral.

[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] Added tests.
[ ] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[ ] Run rake default or rake parallel. It executes all tests and RuboCop for itself, and generates the documentation.

Note that the ?\C-\M-d example needs fixing as rake default yields lib/rubocop/cop/style/character_literal.rb: Syntax Error in an example. literal contains escape sequences incompatible with UTF-8.

Thanks for fixing so quickly, @pocke. After rebasing to master (with #5200), the error disappears.


PR: Remove Github action to add Binder badge on pull request creation

According to this
https://github.com/WordPress/gutenberg/issues/17324

Github actions don't work for pull requests created that involve a fork.

However. adding a comment with /binder as part of its text will add a badge to be able to test a PR in Binder.

/binder

Wonder why I was pinged for this

I think I fixed that in PR #13396.


Does lazy hydration improve fcp time?

Hi,
It should improve it as lazily loaded components are no longer render-blocking resources.

Hi,
It should improve it as lazily loaded components are no longer render-blocking resources.

Thanks, is there a benchmark?

Not yet, but I plan to add it, it's a good idea. By the way, PRs are welcome :)


Excess ice restart files in ESM1.5 simulations

In ESM1.5 simulations, cice currently produces an iced restart file every month which then gets copied over to the archive.
restart000/ice/
iced.01010301  iced.01010501  iced.01010701  iced.01010901  iced.01011101  iced.01020101     ice.restart_file-01001231  mice.nc
iced.01010201  iced.01010401  iced.01010601  iced.01010801  iced.01011001  iced.01011201  ice.restart_file  mice.nc-01001231

Only the latest one is useable, as the atmosphere and ocean only keep their restarts from the end of a run.
For the UM, the um.py driver currently culls its monthly restarts during the archive step
https://github.com/payu-org/payu/blob/89d70cf74655b6870505340b51124e7836284f9b/payu/models/um.py#L92-L107
It looks like something similar is included in cice.py:
https://github.com/payu-org/payu/blob/89d70cf74655b6870505340b51124e7836284f9b/payu/models/cice.py#L289-L301
however this part mustn't be running for ESM1.5 simulations. It would be good to get this working for ESM1.5, however I'm finding the logic in setting up the self.split_paths condition a bit difficult to understand. I'm concerned about making changes but inadvertently breaking other configurations – just wondering if anyone has any knowledge/ideas about what the safest way to implement this would be?

A few more details on the existing restart deletion:
The iced.YYYYMMDD file deletion under the if not self.split_paths: is being called during ESM1.5 simulations. What I didn't notice before is that it's collecting files to delete using get_prior_restart_files(). I.e. it's deleting restart files produced by the previous run. I think cice in ESM1.5 copies the previous run's restart files to self.work_restart_path, but also writes the new restart files during the simulation to the same directory, and so the previous run's restart files need to be deleted from this directory before archiving.
I suspect we might be able to delete both the previous run's restart files plus the current run's excess monthly iced... restart files by replacing
https://github.com/payu-org/payu/blob/89d70cf74655b6870505340b51124e7836284f9b/payu/models/cice.py#L297-L301
with something like
 for f in os.listdir(self.restart_path):
     if f.startswith('iced.'):
         if f == res_name:
             continue
         os.remove(os.path.join(self.restart_path, f))

I believe the if not self.split_paths condition will always be true for ESM1.5 simulations, and so if we modify this part of the code, it should always be called. The self.spit_paths condition it originates from
https://github.com/payu-org/payu/blob/89d70cf74655b6870505340b51124e7836284f9b/payu/models/cice.py#L65-L70
The cice_in.nml namelist file in our configurations doesn't contain a input_dir field, meaning payu assigns sets the init_path to equal the res_path. Following along the rest of the logic this results in self.split_paths being false.
I think it should be reasonably safe to add in this change. The reason I'm not 100% sure though is that it looks like something else is influencing the copying/deletion of files in the restart directory.
If we start a run with the following files in restart000/ice:
cice_in.nml  (namelist always there for timing)
input_ice.nml (namelist always there for timing)

ice.restart_file (The real restart pointer text file. Contains text: iced.01010201)
iced.01010201 (The real binary restart file)

mice.nc (The real mice.nc file)
ice.restart_file-01001231 (The restart pointer text file from the initial run. Contains text: iced.01010101)
mice.nc-01001231  (The mice restart file from the initial run)

ice.restart_file-fakeabc  (A fake pointer text file.  Contains text: iced.01234567)
mice.nc-01234567 (A fake mice.nc file - empty file)

Then the work/ice/RESTART directory contains the following during the simulation:
cice_in.nml
input_ice.nml

ice.restart_file
mice.nc
iced.01010201

ice.restart_file-01001231
mice.nc-01001231

ice.restart_file-fakeabc
mice.nc-fakeabc
iced.fakeabc

ice.restart_file-123
mice.nc-123

ice.restart_file-01234567
mice.nc-01234567

o2i.nc

And at the end of the run, the new restart directory restart001/ice contains
cice_in.nml
input_ice.nml

ice.restart_file
iced.01010301
mice.nc

ice.restart_file-01001231
mice.nc-01001231

ice.restart_file-fakeabc

ice.restart_file-01234567

I'm struggling to work out how this happens/what sort of logic can produce these results. I haven't been able to find anything in payu which would control the copying/deletion of these files. If I also add in a fake iced file named iced.fakeabc, the model tries to read it and crashes with the error
forrtl: severe (24): end-of-file during read, unit 15, file /scratch/tm70/sw6175/access-esm/work/more-restart-tests-more-restart-tests-6142a282/ice/./RESTART/./iced.fakeabc

Could some of the file deletion be occurring in the cice model itself?

Did we consider configuring CICE to produce less restarts? There is a dump_last option which we could set to true and then it would only write it at the end of the run. If we want to write these extra restarts so we can restart more easily in case of a crash then what you suggest to delete them look good. Its pretty low risk ... there is a different CICE5 driver and OM3 (i.e. CICE6) is built differently so it uses the cesm_cmeps driver.

It would be great to produce just the single restart at the end of the run. I think people usually run ESM1.5 in one year segments and so I don't think it would be a problem to just keep a single restart at the end of each run. I haven't been able to find a dump_last option in the CICE4 repo https://github.com/ACCESS-NRI/cice4/blob/access-esm1.5/source/ice_init.F90, I'm wondering if that was another improvement added to CICE5?
I guess another option if we want to avoid payu changes would be to swap it from writing monthly restarts to yearly ones, though that would prevent running in monthly segments – I'm not sure how many people do that, but I sometimes do for testing things out.

Apologies - Maybe leaving it on monthly is a good idea then, and lets go with the change in payu ?

No worries, it would have been perfect if the dump_last option was available! I'll test out these changes to payu.

If its a priority to do "something" for esm1.5, then the fastest is just to set the config to yearly restarts and document that the run length needs changing in two places. Lets do the payu change, but we don't want it to hold up esm1.5 release.

Would it be simpler to specify different INPUT and RESTART directories, so split_paths? If so is that a use-case we want to support?
Update: Seems I added it to cice5 so it isn't available for ACCESS-ESM1.5, but might be used in OM2, so be mindful of that when making changes.
https://github.com/ACCESS-NRI/cice5/commit/465494bb551ec15ec3ec82308359e6c7d3ae28a5

Ah ok, I hadn't realised the cice.py driver was running with CIC5, though that makes sense though. In that case would it be safest to run the extra deletion through the access.py driver, so that there's no risk of impacting CICE5/OM2?

In that case would it be safest to run the extra deletion through the access.py driver, so that there's no risk of impacting CICE5/OM2?

I suppose so. Or we could make a CICE4 driver if this is a CICE4 issue with not being able to sanely reduce the number of restarts.

I have a prototype of this running from the access.py driver in this branch. I can add a pull request for it if this seems like a reasonable approach.

I suppose so. Or we could make a CICE4 driver if this is a CICE4 issue with not being able to sanely reduce the number of restarts.

We can set dumpfreq in cice_in.nml to reduce the number of restarts produced.
Sorry - one more question @blimlim about changing payu - what happens if the user does want the extra restarts? How do we allow that?

Sorry - one more question @blimlim about changing payu - what happens if the user does want the extra restarts? How do we allow that?

Good question. I'm wondering whether the extra ice restarts would ever be usable, because there won't be any corresponding atmosphere or ocean restarts?

Sorry - one more question @blimlim about changing payu - what happens if the user does want the extra restarts? How do we allow that?

Good question. I'm wondering whether the extra ice restarts would ever be usable, because there won't be any corresponding atmosphere or ocean restarts?

Presumable they could be turned on at matching frequency?

I will make an issue to reduce the cice restart output frequency in https://github.com/ACCESS-NRI/access-esm1.5-configs

I will make an issue to reduce the cice restart output frequency in https://github.com/ACCESS-NRI/access-esm1.5-configs

That sounds good! I'll close this issue as we'll be adjusting the frequency via the CICE namelists rather than changing payu.


controllers: Shut down OCS client CSV pods if not in provider mode

The ocs-client-operator is a dependency of the odf-operator, which gets installed regardless of whether the cluster is in provider mode. However, the client operator is not needed in non-provider mode. This change ensures that the client operator is shut down if the cluster is not in provider mode.
Signed-off-by: Nitin Goyal<EMAIL_ADDRESS>https://issues.redhat.com/browse/DFBUGS-17
https://bugzilla.redhat.com/show_bug.cgi?id=2299443

/cherry-pick release-4.16

/hold for testing

/lgtm

/unhold


What happend when I ran ./tools/dist_test.sh

What does the following output indicate when I ran this command ./tools/dist_test.sh configs/zsi/65_15/test/gzsi/zero-shot-mask-rcnn-BARPN-bbox_mask_sync_bg_65_15_decoder_notanh_gzsi.py checkpoints/ZSI_65_15.pth 4 --show?

gx = torch.addcmul(px, 1, pw, dx)  # gx = px + pw * dx
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>          ] 8112/10098, 12.9 task/s, elapsed: 654s, ETA

Nothing happend except the inference process because  --show only works in single gpu model while you use 4 gpu to inference. See code here.

@zhengye1995 Why the inference took so long? normally it requires a few milliseconds to get inference from a trained model.

@algoteam5 Because this process inferences all 10098 images in test label file,  which is determined by this code in config file.


CosmosException on ReadNextAsync() in version 3.7 through 3.15.1 using .NET Core 3.1

Brief Description
When using .NET Core 3.1 and Cosmos SDK version >=3.7...
calling queryResultSetIterator.ReadNextAsync() results in an error message
Attempted Action
  var sqlQueryText = "SELECT * FROM c WHERE c.LastName = 'Andersen'";

  Console.WriteLine("Running query: {0}\n", sqlQueryText);

  QueryDefinition queryDefinition = new QueryDefinition(sqlQueryText);
  FeedIterator<Family> queryResultSetIterator = this.container.GetItemQueryIterator<Family>(queryDefinition);

  List<Family> families = new List<Family>();

  while (queryResultSetIterator.HasMoreResults)
  {
      FeedResponse<Family> currentResultSet = await queryResultSetIterator.ReadNextAsync();
      foreach (Family family in currentResultSet)
      {
          families.Add(family);
          Console.WriteLine("\tRead {0}\n", family);
      }
  }

Error Message
Error message occurs on line:
          FeedResponse<Family> currentResultSet = await queryResultSetIterator.ReadNextAsync();
InternalServerError error occurred: Microsoft.Azure.Cosmos.CosmosException : Res
ponse status code does not indicate success: InternalServerError (500); Substatu
s: 0; ActivityId: 00000000-0000-0000-0000-000000000000; Reason: (Unable to load
DLL 'Microsoft.Azure.Cosmos.ServiceInterop.dll' or one of its dependencies: The
specified procedure could not be found. (0x8007007F));
Full Error Message is attached:
FullErrMsg.txt
Reproduce
I found the error doing step 7 of the Microsoft getting started tutorial:
https://docs.microsoft.com/en-us/azure/cosmos-db/sql-api-get-started
The error doesn't occur if using .NET Framework 4.7.2
The error doesn't occur if using .NET core 3.1, Microsoft.Azure.Cosmos 3.2-3.6
The error does occur if using .NET Core 3.1, Microsoft.Azure.Cosmos 3.7 - 3.15.1
I've attached my exact files (minus key and URI) and with the file extensions changed to .txt from .cs
Family.txt
Program.txt
Environment
I'm using latest version of VS2019 on Windows 7 64

@tubli can you provide the csproj file? The nuget contains a ServiceInterop.dll which should be getting copied to the applications output directory. It seems that the file is not getting copied.

@j82w Thanks for responding.
I thought the same, but the .csproj for the one that works is pretty much the same as the csproj for the version thtat doesn't work.
Here is the .csproj and screenshot of the bin folder for verison 3.15.1 (has error):
CosmosDbDemo_3_15_1_csproj.txt

Here is the .csproj and screenshot of the bin folder for verison 3.6 (no error):
CosmosDbDemo_3_6_csproj.txt

Hopefully you see something that I don't.

@tubli can you provide the properties -> details of the ServiceInterop.dll? Then can you do a clean and verify the bin folder is empty and then do a build. The service interop changes with each release of the SDK. It's possible the service interop version is not getting updated when the SDK version is changed.

@tubli Are you running on Windows 7? Please see https://docs.microsoft.com/en-us/azure/cosmos-db/troubleshoot-dot-net-sdk#common-query-issues

Please use a newer Windows version or if that is not possible, remove the ServiceInterop.dll file from the project output, this would make the SDK retrieve the query plan using a network call.

Closing as by-design when using an older Windows version, please reopen if you are using a newer Windows version and still experiencing the issue.

For anyone having the same problem, here's what I found:
Removing the ServiceInterop.dll from the project output didn't fix the issue for .NET 5 or Core 3.1. However, everything works fine on windows 7 if you use .NET Framework 4.7.2 (no modifications needed), so I just switched to that since I didn't have strong cross-platform requirements for this part of the code.

For anyone having the same problem, here's what I found:
Removing the ServiceInterop.dll from the project output didn't fix the issue for .NET 5 or Core 3.1. However, everything works fine on windows 7 if you use .NET Framework 4.7.2 (no modifications needed), so I just switched to that since I didn't have strong cross-platform requirements for this part of the code.


Trade more frequent issue

I tried to make the bot trading more frequent, but when I changed the default_logic.js here
      rs.check_period = '1m' // speed to trigger actions at
I want to change 1m to 10s
Then the bot seems not calculate any more, its reporter gives same total amount and ROI with different trade price.
Can anyone give advices how to set the bot to make it check trigger every 10 sec and trade every minute.
Thx!

Check period and RSI can only be dropped to 1m.
You need to edit the min amount of time between trades.
On Mar 16, 2017 4:24 PM, "shusunny"<EMAIL_ADDRESS>wrote:

I tried to make the bot trading more frequent, but when I changed the
default_logic.js here
rs.check_period = '1m' // speed to trigger actions at
I want to change 1m to 10s
Then the bot seems not calculate any more, its reporter gives same total
amount and ROI with different trade price.
Can anyone give advices how to set the bot to make it check trigger every
10 sec and trade every minute.
Thx!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/carlos8f/zenbot/issues/125, or mute the thread
https://github.com/notifications/unsubscribe-auth/AJqpeZg-vtJUHYL_iyip8grxaG4NvXIqks5rmcS6gaJpZM4MgAK0
.

Cleaning up 3.x issues


Cannot "quit" the authentication dialog

From @JuanAr on May 27, 2016 18:25
Copied from original issue: dtzar/AzureBot#88

Help needs to be there before auth.
Add the text to the prompt so people know to say "goodbye" to exit the auth dialogue text.

This is a bug with the now dependent AuthBot.  https://github.com/matvelloso/AuthBot/issues/5


Missing error code 50056

Please add error code 50056 meaning. Regards.

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

ID: 6f83a9e6-2363-2c73-5ed2-f40bd48899b8
Version Independent ID: f47dc642-f083-b173-9b6e-ce61e31685a9
Content: Sign-in activity report error codes in the Azure Active Directory portal
Content Source: articles/active-directory/active-directory-reporting-activity-sign-ins-errors.md
Service: active-directory
GitHub Login: @MarkusVi
Microsoft Alias: markvi

Also, we need to understand the difference between 50056 and 50126. I see 50126 also talking about invalid username, but what happen if just the password is wrong, it will generate 50056 or 50126?

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

Hi @rraugusto, I have staged an update that includes 50056. A system can't know whether a right user has entered a wrong password.
#please-close

#please-close

@rraugusto We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Implementing min/max sum per partition contribution bounding

This PR implements max/min_sum_per_partition contribution bounding and implements SUM metric computations with this bound. This makes PipelineDP consistent with privacy on beam (code).
Note: tests and validation of parameters will be implemented soon.

I've added a comment that max/min_sum_per_partition can't be used with min_value/max_value in AggregateParams.
SumParams is used for Beam/Spark API, it will be done in the subsequent PR.
Update of the documentation as well in the next PRs.


Customizable Fancy Zone Quick snap

Description of the new feature / enhancement
When you drag a window to the top of the screen, a dropdown appears that gives pre-defined zones to snap your window.  I would LOVE to be able to add my custom made zones to that feature.

Scenario when this would be used?
I would use it all the time.  It would save me the step of holding my keyboard shortcut to pull up Fancy Zones
Supporting information
No response

I was thinking the same thing today, and also when you hover the maximize button:

/dup https://github.com/microsoft/PowerToys/issues/11792


One click deploy

From https://github.com/thinkingmachines/bqup/issues/28

@syvlabs : What's the best way to set up a one-click deploy thing?

me : Depends what you mean by "best" and what your requirements are for deployment. If fastest barebones deployment, I'm guessing a shell script would be easiest. Off the top of my head:
Things that can be automated:

gce instantiation
bqup installation
cron setup
creating instance repo
setting origin url
fetching public key

Not sure if can automate:

creating github repo
adding deploy key

moved to discussions: https://github.com/thinkingmachines/bqup-starter/discussions/5


🐛 [firebase_auth] FirebaseAuth.instance.currentUser is null

Bug report
Describe the bug
Since updating from 1.0.1 to 1.1.2 the call to FirebaseAuth.instance.currentUser is always null unless you add a delay.
Steps to reproduce
await Firebase.initializeApp();
var user = FirebaseAuth.instance.currentUser;
// is always null
print("currentUser: $user");
await Future.delayed(Duration(milliseconds: 1), () {
var user = FirebaseAuth.instance.currentUser;
// user is not null
print("currentUser after delay: $user");
});
Steps to reproduce the behavior:

Login
Restart the app.
Active user should be present

Expected behavior
A clear and concise description of what you expected to happen.
Sample project
Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.12.3
Flutter SDK 2.0.6
workspaces 1.0.14+24

dependencies:
- bloc 7.0.0 [meta]
- cached_network_image 3.0.0 [flutter flutter_cache_manager octo_image]
- carousel_slider 4.0.0-nullsafety.0 [flutter]
- cloud_firestore 1.0.7 [cloud_firestore_platform_interface cloud_firestore_web firebase_core firebase_core_platform_interface flutter meta]
- cloud_functions 1.0.5 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter]
- cupertino_icons 1.0.3
- custom_sliding_segmented_control 0.1.1 [flutter]
- equatable 2.0.0 [collection meta]
- firebase_analytics 8.0.2 [firebase_analytics_platform_interface firebase_analytics_web firebase_core flutter meta]
- firebase_auth 1.1.2 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 1.1.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_dynamic_links 2.0.2 [firebase_core flutter]
- firebase_storage 8.0.5 [firebase_core firebase_core_platform_interface firebase_storage_platform_interface firebase_storage_web flutter]
- fl_chart 0.20.1 [flutter path_drawing equatable pedantic]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_bloc 7.0.0 [flutter bloc provider]
- flutter_localizations 0.0.0 [flutter intl characters clock collection meta path typed_data vector_math]
- flutter_svg 0.22.0 [flutter meta path_drawing vector_math xml]
- google_fonts 2.0.0 [flutter http path_provider crypto]
- image_picker 0.7.4 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface image_picker_for_web]
- intl 0.17.0 [clock path]
- json_annotation 4.0.1
- package_info 2.0.0 [flutter]
- path_provider 2.0.1 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows]
- permission_handler 7.1.0 [flutter meta permission_handler_platform_interface]
- webview_flutter 2.0.4 [flutter]

transitive dependencies:
- archive 3.1.2 [crypto path]
- async 2.6.1 [meta collection]
- characters 1.1.0
- charcode 1.2.0
- clock 1.1.0
- cloud_firestore_platform_interface 4.0.3 [collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 1.0.7 [cloud_firestore_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- cloud_functions_platform_interface 5.0.3 [firebase_core flutter meta plugin_platform_interface]
- cloud_functions_web 4.0.5 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- collection 1.15.0
- crypto 3.0.1 [collection typed_data]
- ffi 1.0.0
- file 6.1.0 [meta path]
- firebase 9.0.1 [http http_parser js]
- firebase_analytics_platform_interface 2.0.0 [flutter meta]
- firebase_analytics_web 0.3.0 [firebase firebase_analytics_platform_interface flutter flutter_web_plugins meta]
- firebase_auth_platform_interface 4.2.0 [firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 1.1.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.0.0 [flutter meta plugin_platform_interface]
- firebase_core_web 1.0.2 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_storage_platform_interface 2.0.3 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_storage_web 1.0.5 [async firebase_core firebase_core_web firebase_storage_platform_interface flutter flutter_web_plugins http js meta]
- flutter_blurhash 0.6.0 [flutter meta pedantic]
- flutter_cache_manager 3.0.1 [clock collection file flutter http image path path_provider pedantic rxdart sqflite uuid]
- flutter_plugin_android_lifecycle 2.0.1 [flutter]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- http 0.13.3 [async http_parser meta path pedantic]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- image 3.0.2 [archive meta xml]
- image_picker_for_web 2.0.0 [image_picker_platform_interface meta flutter flutter_web_plugins]
- image_picker_platform_interface 2.1.0 [flutter meta http plugin_platform_interface]
- js 0.6.3
- meta 1.3.0
- nested 1.0.0 [flutter]
- octo_image 1.0.0+1 [flutter flutter_blurhash]
- path 1.8.0
- path_drawing 0.5.0 [vector_math meta path_parsing flutter]
- path_parsing 0.2.0 [vector_math meta]
- path_provider_linux 2.0.0 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_macos 2.0.0 [flutter]
- path_provider_platform_interface 2.0.1 [flutter meta platform plugin_platform_interface]
- path_provider_windows 2.0.1 [path_provider_platform_interface meta path flutter ffi win32]
- pedantic 1.11.0
- permission_handler_platform_interface 3.3.0 [flutter meta plugin_platform_interface]
- petitparser 4.1.0 [meta]
- platform 3.0.0
- plugin_platform_interface 2.0.0 [meta]
- process 4.2.1 [file path platform]
- provider 5.0.0 [collection flutter nested]
- rxdart 0.26.0
- sky_engine 0.0.99
- source_span 1.8.1 [collection path term_glyph]
- sqflite 2.0.0+3 [flutter sqflite_common path]
- sqflite_common 2.0.0+2 [synchronized path meta]
- string_scanner 1.1.0 [charcode source_span]
- synchronized 3.0.0
- term_glyph 1.2.0
- typed_data 1.3.0 [collection]
- uuid 3.0.4 [crypto]
- vector_math 2.1.0
- win32 2.0.5 [ffi]
- xdg_directories 0.2.0 [meta path process]
- xml 5.1.0 [collection meta petitparser]

Reproducible only on iOS with firebase_auth: ^1.1.2

flutter doctor -v
[✓] Flutter (Channel master, 2.3.0-1.0.pre.226, on macOS 11.2.3 20D91 darwin-arm, locale en-GB)
    • Flutter version 2.3.0-1.0.pre.226 at /Users/nevercode/development/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 51ca131e39 (11 hours ago), 2021-05-03 19:54:04 -0700
    • Engine revision 378e4dbc41
    • Dart version 2.14.0 (build 2.14.0-48.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/nevercode/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /Users/nevercode/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7199119/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/nevercode/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7199119/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      � https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      � https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/nevercode/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7199119/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      � https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      � https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Connected device (3 available)
    • Nevercode’s iPhone (mobile) • b668e524315069f3db3661ac11ff1f66afafebdb • ios            • iOS 14.5
    • macOS (desktop)             • macos                                    • darwin-arm64   • macOS 11.2.3 20D91 darwin-arm
    • Chrome (web)                • chrome                                   • web-javascript • Google Chrome 90.0.4430.93

• No issues found!

This seems to be fixed in firebase_auth: ^1.1.3

Yep this was recently fixed, thanks @ocastx


node type refactoring

saves about 5-10% more memory

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

293 of 294 (99.66%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 96.125%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

node.go
145
146
99.32%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
1166

Relevant Lines:
1213

💛  - Coveralls


Request for Maven Central 1.0.30 release

Hi,
A lot of great stuff has gone into the current release and I was hoping we can promote this to central.
ps. I didn't see any documentation for your release schedule or a forum so I'm creating this here. Sorry if this isn't the appropriate venue.

Will be released on May 14th

Has been released.  https://github.com/alibaba/druid/releases/tag/1.0.30


Introduce a project isolation compatible way to apply a plugin to multiple projects

When project isolation is enabled, APIs that currently allow applying a plugin to multiple projects (allprojects, subprojects, gradle.beforeProject, etc) become problematic.
At this point we are interested in collecting use-cases / requirements so we can come up with a satisfactory solution.

One of the use-case is applying convention plugin with project common configuration to all projects
Another use-case is to apply external plugin to all/subprojects.

So here are a few use cases in Micronaut:

adding a sanity check to verify that project names follow some convention
setting an ext property for backwards compatibility
conventionally set project group/version
introspecting projects based on plugins applied

There are probably more use cases, those are the ones I have in mind.

Apollo uses rootProject to register a global task that does some sanity checks accross all projects sharing the same GraphQL schema.

Sharing a few project isolation use cases (Slack discussion).
As context these are predicated on an environment that consists of a custom Gradle distribution (with init script and settings plugin), and a core convention plugin that sets up projects (largely addresses the "conventions for convention plugins" issue of repeating build logic per-project in a silo'd convention plugin).

Consistently setting project version and group across modules, from what is set in the root project.

    group = rootProject.group
    version = rootProject.version

The use of rootProject is not isolation friendly.
In the absence of other options have currently addressed this with a shared build service in our core convention plugin to set and retrieve these values.  While not currently an issue this approach introduces a timing-coupling, requiring the root project be evaluated first.

Access version catalog from sub-projects.

This one is either erroneous code on my part or perhaps has some legacy history:
public fun Project.versionCatalogs(action: VersionCatalogsExtension.() -> Unit) {
    rootProject.extensions.configure(action)
}

In any event, it is not necessary to access via rootProject - simply removing that addresses the issue.

In our custom Gradle distribution init scripts there are a few project-specific items to setup (code reduced to illustrate issue).

allprojects {
    // for the script itself, e.g. plugins
    buildscript {
        configurations.all {
            resolutionStrategy {
                cacheDynamicVersionsFor(1, TimeUnit.HOURS)
                cacheChangingModulesFor(5, TimeUnit.MINUTES)
            }
        }
    }

    configurations.all {
        resolutionStrategy {
            cacheDynamicVersionsFor(2, TimeUnit.HOURS)
            cacheChangingModulesFor(5, TimeUnit.MINUTES)
        }
    }
}

allprojects creates coupling between projects.
This one was readily solved by using beforeProject instead.

It's not strictly related to applying a plugin, but we have multiple cases where we push configuration down into the projects using mentioned hooks.
The whole concept of build adapter Nokee is developing for iOS support in Gradle uses Gradle#rootProject(Action), Project#allprojects(Action), and Project#project(String, Action). The settings plugin takes full ownership of the build layout and configuration, which is required to map everything to Gradle. If Gradle would provide a way to inject isolatable configuration action (similar to dependency resolution actions or ValueSource or BuildService), we could pass the required information isolated from everything else.
Our native IDE plugin refactoring will allow users to apply the plugin to the Settings and automatically enable IDE integration for all projects instead of applying the IDE plugin to each project individually.
Finally, Nokee's deep integration with Gradle relies on a init script which uses BuildListener#beforeSettings to configure the correct repositories and version alignment hooks. This is required to ensure the same Nokee version is used in all composite builds (included, buildSrc and source build). This is quite tricky to do correctly, and it's the only way to achieve this level of deep integration.

I've removed most of my use cases of going into other projects, but I still have a few.

I have a few tasks that extract resources embedded in a plugin for other tasks throughout a project to use. There are a few ways around this, but none are really as elegant or easy as just applying a task to the root project to do this extraction. Some way to have global tasks would completely solve this issue for me. Shared Build Services kind of work, but they mean I have to implement all the incremental and up to date checks myself, whereas as a task they automatically do exactly what I need.

I have a plugin that creates a task that needs to go across a few types of tasks across all projects in order to generate some metadata that must be in a single file. It only does the actual reaching at build time, so this might be ok, I just want to make sure it won't break.

Another use case: init scripts, especially when using the Tooling API. For example saw this yesterday.

Let's say we have some opinionated organisational plugins.

We want to always have a consolidated Jacoco report and the root level, when one or more of the subprojects apply Jacoco plugin. one way is for that subprojectisto invoke a plugin at the root level which will created the consolidated report.
In generic terms this is, when a specific plugin is applied to a subproject, we want to automatically have some additional functionality added at root level.
There is also cases where we want to have something happen ONCE across the project i.e. we might want to check for the existence of certain OWASP files (from the Gradle Dependency Check plugin). We do not want those checks to happen in every subproject, becasue we might only have applied that to subprojects 4, 7 & 8. So if the subproject applies the plugin that does that at root level, the will only be one task executed.

Not about applying a plugin but another use case is sharing a Gradle project property in the root project gradle.properties on all projects. That was working on Gradle 7, but it fails on Gradle 8.

With projects like Dokka, the most common scenario is people want to generate documentation for all subprojects, including any new ones that might appear in the future. It's usually only a couple of very specific subprojects that our users don't want to generate documentation for (and they're usually filtered out with an if).
If subprojects {} is recommended against, we have a hard time understanding how to deal with large user projects that already rely on subprojects {}. Especially if sources are generated. For example:

aws-sdk-kotlin (~250 subprojects). The sources for the majority of the subprojects need to be generated by hand.
ktor - many subprojects, but real ones this time.

At the moment, these projects use allprojects {} or subprojects {} to apply and configure Dokka.
Compared to the simplicity of using subprojects {}, it might be very tough to persuade the users to first migrate their build scripts to be idiomatic and use convention plugins, or to enumerate all projects in a single place for Dokka (so that the aggregate multi-module documentation could be built on the root level), as most people don't see the benefit in it and just want it to work.

I personally would not recommend putting any legacy and discouraged practices like subprojects { ... } in any documentation.
Especially if you target beginners, you right away show them the bad way and they will continue using it for long time instead of doing it good right away.
I'm not sure how much harder it is to use a convention plugin, especially when used with buildSrc. I'd say a convention plugin in buildSrc is the middle ground where convention plugins in included builds are the golden way. In your way, they use a legacy and discouraged way to apply plugins within a legacy and discouraged way to apply it to all projects. In the convention plugin way, they have the plugins { ... } block that applies the plugin and the configuration in an extra file that they then apply in the projects where they want to have the effect.
There's also no need to make a project "fully idiomatic", you can at any time start with your first convention plugin only centralizing the dokka configuration for projects and just apply that everywhere you want to have it. Theoretically, you could even apply it in a subprojects { ... } block, but that would be counterproductive of course. :-D
PS: https://github.com/adamko-dev/dokkatoo does not have such advice to use subprojects { ... } or apply(...) :-)

Due to this, we still haven't figured out how we should write the user-facing documentation for Dokka's Gradle plugin, and which configuration examples we should give.

@IgnatBeresnev what about giving the per-project instructions:
subproject:
tasks.dokkaHtml.configure {
    outputDirectory.set(buildDir.resolve("dokka"))
    // more stuff
}

root project:
tasks.dokkaHtmlMultiModule.configure {
    outputDirectory.set(buildDir.resolve("dokkaCustomMultiModuleOutput"))
    documentationFileName.set("README.md")
    // more stuff
}

Then leave users and Gradle figure out the details of how to factor their build logic code? As much as I'd like to see an "idiomatic"/"easy" way to do this, it doesn't feel like plugin authors should be opinionated about this.

But without the .configure please.
It is redundant in both DSLs.
In Groovy on the other hand even the tasks.dokkaHtml is not so good as it disturbs task-configuration avoidance and should use tasks.named<DokkaTask>('dokkaHtml') { ... } instead.
And of course for latest Gradle I prefer using = instead of .set(...). :-)

You should probably instead have a task that writes this information to a file, define an outgoing configuration to which you attach this tasks result and then depend on this from the root project and aggregate the data. Similar to how the test-report-aggregation and jacoco-report-aggregation do it. Then you do not need to access the subproject models from the root project or aggregator project directly. See here for more information: https://docs.gradle.org/current/userguide/cross_project_publications.html

Using allprojects or subprojects for depending on them should be fine.
Just the allprojects { ... } and subprojects { ... } and project("...") { ... } where you configure the other projects or directly querying properties of the other projects is bad.

That's exactly what I said.
The lambdas are bad and against porject isolation, as is querying properties from the other projects' models.
But depending on them like dependencies { allprojects.forEach { aggregateInfo(it) } } is fine.

Is there any way to get ProjectComponentIdentifier to include more information from a project? Like version?

But depending on them like dependencies { allprojects.forEach { aggregateInfo(it) } } is fine.

If this is the case, (and I trust Vampire), there should be a better API to not confuse users between allprojects { } and allprojects.forEach { }.
Or promote this feature in the docs, how to easily depend on all subprojects.

IdeaPluginConfigurator disabling download of sources and javadoc.
Via IDEA-341827.

Moving this feature to 8.8 to consider it in the larger context of patterns for introducing APIs compatible with Isolated Projects, with #28011 as an another example of API that should be consistent with the chosen pattern.

Fixed via #28581, and #28738 and #28875.

@bamboo can you elaborate on how those APIs would work?
I've read the 8.8-rc.1 changelog but the examples there are mostly read only?
They allow to read the subproject path in a project-isolation compatible way but are not a substitute for things like allprojects { it.pluginManager.apply("com.example") }. Is there any guidance about how to apply build logic to all subprojects?

Hi @martinbonnin, sure thing.
The callbacks receive a still mutable Project instance which the code is free to apply plugins to, register extensions and tasks, etc. For example:
gradle.lifecycle.beforeProject {
  pluginManager.apply("java")
}
gradle.lifecycle.afterProject {
  println("Is it java? ${extensions.findByName("java")}")
}


Item label and item content are not in same baseline

Description
Item label and item content are not in same baseline
#enum(
  enum.item(1,[
    I am in
    #set text(size: 1.5em, fill: blue)
    Item 1 #lorem(10)
  ])
)

But in latex it work correctly

Reproduction URL
No response
Operating system
Linux
Typst version

[X] I am using the latest version of Typst

Looks like a duplicate of #1204


[Core Rulebook] Add prompt for Specification to more Traits

Traits that could use prompt for specification (similar to Ward trait or Size trait):

Armour
Fear
Terror
Venom (select dropdown?)
Grim (Imperial Zoo)
Spellcaster

If I find more, I will comment under this Issue
From: forienfoundry: 11.315wfrp4e: 7.1.5wfrp4e-altdorf: 5.0.1wfrp4e-archives1: 5.0.1wfrp4e-archives2: 5.0.0wfrp4e-core: 5.0.4wfrp4e-owb2: 5.0.1wfrp4e-salzenmund: 5.0.1wfrp4e-up-in-arms: 5.0.0wfrp4e-wom: 5.0.2wfrp4e-zoo: 5.0.0Active Modules: forien-armoury, lib-wrapper, moo-dev

I would add here the Etiquette talent.


Upgrade Grafana to 8.2 version

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Upgrade grafana from 7.5.10 to latest version
Type of installation
Docker
Version
v1.24.2

Duplicate of https://github.com/adriankumpf/teslamate/issues/1728


.babelrc should not be in npm repo

I think babelrc is being published in npm which causes react-native app's to crash! It has been fixed in react-redux and redux. However this bug still exists in this module.

+1
More discussion about this in https://github.com/facebook/react-native/issues/4062

(Note: it's not so much our bug as RN tooling issue. But I'm happy to push an update soon!)

This should actually have already been fixed as of 1.0.2.

@gaearon thanks for your update.


add a workflow for updating torch-mlir

@ScottTodd don't review yet, I dont have a way of testing syntax figured out locally so I'm using github

Ok, seems safe to try it now. Afaik there is no way to test this without merging it and running it.

remote: Permission to openxla/iree.git denied to github-actions[bot].
am I'm doing something wrong with the GH_TOKEN?

@dan-garvey please close if stale

Superceded by https://github.com/iree-org/iree/pull/17236


Issue in unsubscribing APIs when application sharing feature enabled

Description:
Issue in unsubscribing APIs when applications that have same names shared among users belongs to same group.
Suggested Labels:
Bug
Suggested Assignees:

Affected Product Version:
AM 2.0.0, AM 2.1.0
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

Closing the issue, since there is no recommended way of sharing applications with same names among users belongs to same group


Thursday 21-09-2023 roll call

Roll Call!
Leave a comment with these two things:

A summary of your study using only emojis
Something you'd like to share, anything goes! (within respect)

emoji cheat sheet

Good morning 🌼

hi

Good Morning

Good morning

Present

good morning

present

Good morning

present!

present

🖖🏼


Upgrade bignumber 6

Submitter checklist

[x] Test covering functionality added/fixed in

Reviewer Checklist

[ ] Test/lint pass
[ ] Post merge, story marked complete

should be gtg.


Bot message show "/MYCOMMS" when writing a /buy or /sell command

Steps to reproduce the behavior:

Type /sell or /buy in the bot conversation
See the wrong behaviour

Smartphone:

Android 13

The bug occurs in both English and French languages.

it looks like you are linked to a community which have /MYCOMMS as fiat currency, you can use /setcomm off to unlink yourself of that community or tell to the community owner that he/she needs to change the fiat currency of that community

Well spot. Corrected. Thank you!


Generic types not narrowed with instanceof guard

TypeScript Version:  2.0.3
Code
  class Left<T> {
    // private foo?: void;
    constructor(public readonly value: T) {};
  }

  class Right<T> {
    constructor(public readonly value: T) {};
  }

  function eitherNumberOrString(): Left<number> | Right<string> {
    return new Left(0);
  }

  // e is Left<number> | Right<string>
  const e = eitherNumberOrString();

  if (e instanceof Left) {
    // e is Left<number> | Right<string>, not narrowed to Left<number>
    // e.value is number | string, not narrowed to number
    e.value;
  }

Expected behavior:
Left<L> | Right<R> should be narrowed to Left<L> after using a instanceof Left type guard
Actual behavior:
Type is not narrowed. Type is only narrowed if Left and Right are guaranteed to be different types (e.g., by adding a private foo?: void member to Left).

This is a #202 issue...  Until there is some form of nominal typing in TypeScript, types that are assignable to each other cannot be narrowed with the instanceof operator.  It is also covered in TypeScript FAQ - Why Doesn't x instanceof Foo narrow x to Foo?

types that are assignable to each other cannot be narrowed with the instanceof operator.

I don't think this is the issue here. Why would the compiler think Left<number> is assignable to Right<string> in the original example? Those evaluate to {value: number} and {value: string}, respectively, and are definitely not assignable to each other.

It is also covered in TypeScript FAQ - Why Doesn't x instanceof Foo narrow x to Foo?

I don't see the types that are assignable to each other cannot be narrowed in that FAQ.
However, what I see is types that are not even compatible are not narrowed - does the compiler think that Left is incompatible with Left<number>?

The problem is that the instanceof operator does not allow a specification of a generic argument.  So it has to assume Left<any>.  Left<any> is assignable to Right<any>, therefore both Left<number> and Right<string> are assignable to Left<any>, therefore no narrowing.  Again #202.  Until there is some form of nominal concept of typing, these sorts of constructs won't work.
A workaround would be to use a custom type guard:
 class Left<T> {
    // private foo?: void;
    constructor(public readonly value: T) {};
  }

  class Right<T> {
    constructor(public readonly value: T) {};
  }

  function eitherNumberOrString(): Left<number> | Right<string> {
    return new Left(0);
  }

  // e is Left<number> | Right<string>
  const e = eitherNumberOrString();

  function isLeft<T>(value: any): value is Left<T> {
    return value instanceof Left;
  }

  if (isLeft<number>(e)) {
    e.value; // e.value is number
  }

the instanceof operator does not allow a specification of a generic argument. So it has to assume Left

Thanks for the explanation, that bit wasn't obvious to me. Especially since if the type guard succeeds, it narrows the type to the correct generic argument and not any:
class Value<T> {
    value: T;
}

class Person {
    name: string;
}

let x: Value<string> | Person;

// instanceof assumes Value<any>?
if (x instanceof Value) {
    // Narrowed to Value<string>, not Value<any>
    x.value;
}`

I assume this is expected because the type guard does something like intersecting Value<string> | Person with Value<any>? In any case, closing because of #202.

I didn't notice at first your assignment to the generics.  I thought they were the same values.  When I looked at it again, I realised where my first explanation fell down

I assume this is expected because the type guard does something like intersecting Value<string> | Person with Value<any>?

It is assignability, Person cannot be assigned to Value<any>, therefore, Person can be eliminated from the type.  If you had something like:
class Value { }

Which has no methods or properties, TypeScript assumes that is {} and then BOOM everything can be assigned to it and then you can't narrow those types. (Note, even if you included generic slots, if they aren't actually used in the definition, TypeScript eliminates them when doing comparability, which is why I didn't include a generic in the above example).
There is one side note in this, which would be a seperate feature request though... the construct of x instanceof Value<string> could be allowable, in my opinion, because the generics could be erased and that would narrow the comparison type, and while it still isn't a nominal comparison, it would solve this use cases and potentially others.  Right now, when you pass generics, it evaluates the right hand as a constructor (typeof Value<string>) which is a TypeScript syntactical error, but wouldn't have to be.

the construct of x instanceof Value string could be allowable, in my opinion

I'm not sure this would work, both Value<string> and Value<number> have the same constructor and cannot be distinguished with the instanceof operator:
class Value<T> { value: T }

let x: Value<string> | Value<number>;

if (x instanceof Value<string>) {
  // Compiler thinks x is Value<string>
  // Runtime will enter this branch for Value<number> as well
}


Missing ERROR 420: Enhance Your Calm

I found this amusing; and had to do some googling before I could figure out what it is.

Thanks for the feedback! I've been on the fence about this status code as
its only used by Twitter, or so I thought. Someone said that they'd seen it
used by other companies but unfortunately I've been unable to locate any
other uses. Did you see 420 in the wild or through the Twitter API?
I don't want to pollute the website with every vendor specific status code,
given people who encounter it are (probably) going to look at the vendors
documentation first, and there are a lot of these sort of status codes out
there. That said if it's grown beyond Twitter and is something someone
might encounter in the wild we can re-add it!
On Sat, 14 Nov 2015 at 04:22, ELLIOTTCABLE<EMAIL_ADDRESS>wrote:

I found this amusing; and had to do some googling before I could figure
out what it is.
—
Reply to this email directly or view it on GitHub
https://github.com/citricsquid/httpstatuses/issues/35.

Oh, I discovered it through Wikipedia (and my original search was for 429, via Wikipedia's API, which is much more sensible imho.)
Maybe give a note for vendor-specific ones, instead of omitting them entirely?

@ELLIOTTCABLE I probably need to think about the purpose of the site and put together some guidelines that answer questions like what to include / what not to include. In the mean time, what do you think of having httpstatuses.com/420 available, but not listing it on the homepage -- so it'll show up in Google searches, but people aren't going to be misled into thinking it's an official status code when browsing the homepage?
That said we do already have a few non-standard status codes (499, 599) because of the traffic they drive, so perhaps you're right and some sort of vendor-specific note would be better, something that indicates on the homepage that the code may be seen in the wild but isn't part of the spec.

@citricsquid Besides Twitter, I've only seen 420 in the GroupMe API.

@jacroe Thanks for the information! Looking into it more it seems that Twitter have stopped using 420 in favour of the formal 429 status code in their latest version of their API and GroupMe might just be one of the only APIs out there using it any more. That said, given the status code is discussed online (and has been used by a large API before) I think a sensible idea will be to add a 420 page that explains that they should use 429 instead. Do you think that's a good idea?

@citricsquid I would certainly agree. If nothing else, 420 is an (in)famous status code amongst HTTP geeks, and I do think it should be included just like 418 is (while it may have an official RFC, it's still a silly April Fool's joke).  But yeah, a link to 429 wouldn't hurt either. /imho

The history of HTTP 420 Enhance Your Calm is documented here... it was a precursor to 429 Too Many Requests

https://evertpot.com/http/420-enhance-your-calm

Plus the status code is listed on the most authorative reference HTTP Cats:

https://http.cat/420


ClientOptions, GUISettings, Keybinds, Teams, Sidekicks, and more!

Closes #274 , #261 , #231 , #195 , #194 , #193, #186, #277, #275
Addresses #190, #191
This is a big one. Might take awhile to review. See changes below.
Client Options/Settings

Add ClientOptions (ClientSettings) class resolving #231
Load default options from bin files.
Moved all option variables to new ClientOptions class
Handle SaveClientOptions event (#193)
Serialized Client Options to database upon ClientOptions event (#231)
Add slash command for options debug /settingsdump

GUI Settings

Add GUISettings class
Handle WindowState event
Moved all gui variables to new GUISettings class
Serialized GUI Settings to database
Save/Handle chat window reconfiguration & chat window top/bottom masks (#195)
Save/Handle on_switch_viewport (first person view toggle) resolving #194
Save/Handle inspiration dock mode toggle
Save/Handle power tray dock mode (visibility of 2nd tray) toggle
Save/Handle chat divider position
Save/Handle chat channel selection
Save/Handle chat transparency
Add slash command for options debug /guidump

Keybinds

Add new Keybinds class
Load default keybinds from bin file
Handle Reset Keybinds event
Handle Save Keybind event
Handle Remove Keybind event
Handle Change Keybind Profile event
Serialized Keybind Profiles to database
Serialized Keybind assignments to database
Add slash command for options debug /keybinddump

Teams

Add New Team Class for team system - yay!
Add /invite, /i, /kick, /makeleader, /ml, /leaveteam slash commands for team system
Add framework for /findmember slash command
Add /buff toggle slash command for Team buff drawer visibility status.
Add Teams debug dump to existing /chardebug slash command

Sidekicks

Add Sidekick struct for sidekick system
Add /sidekick, /sk, /unsidekick, /unsk slash commands for team system
Ensure sidekick system checks for all conditions, including Level, level disparity (3+), sidekick status, team status (except 225ft "leash", see bottom of this PR), and sets proper flags + combat level.
Add sidekick debug dump to existing /chardebug slash command

Supergroups

Add preliminary SuperGroup system (struct for now, class later)
Add /setSG and /setSuperGroup slash commands for SuperGroup testing. They take 3 arguments, /setsg {sg_id} "{sg_name}" {sg_rank}

Logging

Implements QT Logging Categories in new Logging.h and Logging.cpp #277
Allows logging to be configured in settings.cfg -- DONT FORGET to update your settings.cfg files!
Allows logging to be toggled at runtime with /log {category} {...}
Defines several new logging categories teams, mapevents, slashcommands, emotes, chat, and more

Misc

Change database structures to accommodate gui and keybinds
Modify console output for clarity during server startup resolving #274
Fix error generating Command event type 210 (Issue #261). There probably is no event type 210
Add many checks for nullptr's returned on getEntity() and getEntityByIdx()
Add /assist slashcommand for Target Assist functionality
Delete unused variable bool m_selector1 from Entity class
Move getEntity out of EntityManager class
Make evUnqueueAll do some things (unset Target, etc)
Add handler framework for opcodes 30 and 31 SetDefaultPowerSend and SetDefaultPower for future completion
Add handler framework for ReceivePlayerInfo (opcode 69).
Add missing /emote prefix
Improve chat/emote/command handling slightly
Added check for Installed SQL driver during AdminServer::ReadConfig() #275

TODO

Should we move Teams and Supergroups to the character class? Do NPC Entities use Teams for organization? It appears as though the client has teams stored under Entity, so maybe we leave them for now?
How do we update Character Database automatically? Should we put Character Database updates in on_update_character? issue #271
Why do the client and server add 1 level to the set character level? /setLevel 10 == 11 issue #254
Occasional crashes from issue #273
Sidekick does not check for distance. In original game you could not venture more than 225ft from your mentor without a warning and eventual suspension of combat level change.

We should probably squash this during merge, as many of my intermediary commits are half-baked.

Regarding this /Users/travis/build/Segs/Segs/Projects/CoX/Common/GameData/gui_definitions.h:112:35: error: implicit instantiation of undefined template 'std::__1::array<GUIWindow, 35>'         std::array<GUIWindow, 35> m_wnds;
I think I may need to #include <array> to satisfy OSX, but I don't want to spam the PR with failed Travis builds as I try different things. Does this solution sound correct?

to array include: yes

Updated PR message with changes.

TODO:

Friendslist still doesn't work for some reason. I can't get FriendsListUpdate to fire
ChatDivider Position updates from the database but doesn't send to the Client. How to do this?
Need to call SidekickConfirm when adding sidekick.

Updated PR description with changes. This is ready for review and merge!

Realized I can't ask for a second review in GitHub, but this is ready for Review/Merge whenever.
Thanks @nemerle

This is awesome, You're awesome.


feat: characterClass (including character ranges)

Summary
  expect(buildPattern(characterClass(['a', 'z']))).toBe('[a-z]');
  expect(buildPattern(characterClass(['a', 'z'], ['A', 'Z']))).toBe('[a-zA-Z]');
  expect(buildPattern(characterClass(['a', 'z'], '0', '5'))).toBe('[a-z05]');

Test plan
Added tests.

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

Comparison is base (1b4e445) 100.00% compared to head (b45da8b) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #29   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           10        10
  Lines          124       136   +12
  Branches        30        32    +2
=========================================
+ Hits           124       136   +12

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


PI Tab Changes

Name of the PR
:recycle: Current situation & Problem
Describe the current situation (if possible, with an exemplary (or real) code snippet and/or where this is used)
Please link any open issue that is addressed with this PR
:bulb: Proposed solution
Describe the solution and how this affects the project and internal structure
:gear: Release Notes
Add a summary of the feature and possible migration guides if this is a breaking change so this section can be added to the release notes.
Include code snippets that provide examples of the feature implemented if it appends or changes the public interface.
:heavy_plus_sign: Additional Information
Provide some additional information if possible
Related PRs
Reference the related PRs
Testing
Are there tests included? If yes, which situations are tested, and which corner cases are missing?
Reviewer Nudging
Where should the reviewer start? Where is a good entry point?
Code of Conduct & Contributing Guidelines
By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

[ ] I agree to follow the Code of Conduct and Contributing Guidelines.

@dannyslowpark Do you need any help with merging this PR?
I see that you have not yet addressed the REUSE, SwiftLint, and tests to reflect your changes. Let me know if you need any help there! 🚀


dlink-client-1.16 cdc source cannot recognize oracle-cdc type

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
dlink 0.7.4 经过查看源码，发现oracle 整库同步在1.16中被去掉了，1.15是存在的，1.16为什么将oracle整库同步去掉了，是需要自行编写吗，异常点：未匹配到对应 CDC Source 类型的【" + config.getType(...
What you expected to happen
整库同步我看官方文档【http://www.dlink.top/docs/next/data_integration_guide/cdcsource_statements/】支持了很多种数据库，不仅是mysql，但源码没有支持，去掉的原因是否需要由用户自定义。
How to reproduce
基于dlink 1.16  整库同步oracle即可复现
Anything else
No response
Version
0.7.3
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

This is simple, users can add it themselves.

这个很简单，用户可以自己添加。
OK, I want to consult below, can the oracle whole library synchronization in dlink-client-1.14 be used directly? After I migrated it to dlink-client-1.16, the submitted task was not wrong, but the data could not be synchronized (the full volume and increment were not effective).
（ok，我想咨询下，dlink-client-1.14内的oracle整库同步可以直接使用吗？我这边将其迁移到dlink-client-1.16后，提交任务没有报错，但数据无法同步（全量、增量都不生效）


Consider implementing ToValue in glib_object_wrapper!

I'm working with difference rust wrappers/bindings for various glib-based libraries, such as libnice and gstreamer. It would be awesome if definitions emitted from glib_object_wrapper! also included the ToValue trait, so any such object can be injected into an object property as a Value (where appropriate of course).
For example: in gstreamer, there are nicesrc and nicesink elements that expose a property named agent; this property is an object pointer to a libnice agent.
I had to add a custom implementation of ToValue to NiceAgent. It wasn't that big of a deal, but I anticipate having to do something like this several more times.
Maybe implementing ToValue isn't the right way; maybe there's a better way? If so I'd like a suggestion.

glib_object_wrapper! already implements SetValueOptional (and FromValue, etc), which will give you ToValue (and other things) for free.
Why doesn't it work for you as-is? Can you give some example code that shows your problems?

such as libnice and gstreamer

Note that GStreamer already has bindings

Also note that the macro you want to use is glib_wrapper!. glib_object_wrapper! is an internal macro called by it. And not sure if you saw the code generator gir, that might save you some time.

Well, sorry to waste your time. I don't know how I possibly missed that. I guess this can be closed.
Actually, I was using code from a repo that wasn't using the glib_wrapper! macro. So I had to implement ToValue myself. And it seems that that repo has very recently been updated and now uses the macro.

No worries. Which repo is that and what bindings do you plan to work on exactly? libnice?

Affirmative. rust-libnice


Update Tool Not Updated with the Distribution

Currently, when a Ballerina distribution is updated, the "update tool" itself is not updated, nor it is prompting the user to do so. This sometimes ends up in incorrect behavior, e.g. cache related issues that was observed (which was fixed after updated the update tool). We need a mechanism to make sure the update tool is updated properly with the distributions.

We will do following improvement to update the tool along with dist pull/update
https://github.com/ballerina-platform/ballerina-update-tool/issues/152


[RunBook]: Ensure Classic Load Balancers Having No Instances Attached are Deleted in AWS

Contact Details
No response
RunBook Name
AWS Delete ELB with no instances
runbook Inputs
na
runBook Actions

List all load balancers  See issue #419
format list
Get instances for each LB: Existing Lego
format output
Delete Load balancer see issue #417

Comments
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Duplicate for #422


Allow loop in constant evaluation

Rendered

Just counting all terminators worries me slightly that a tweak to MIR optimizations or HIR->MIR lowering will result in code that happened to be right on the edge breaking in an update.
Is there some tweak to the rule that's more resilient to otherwise-invisible changes, and where it's easier to understand by looking at your code how many of whatever it's counting you're taking?  Like maybe only counting backedges taken.  (Though even that changes for loop unrolling, I guess.)
Come to think of it, I wonder if the recursion limit means that the MIR inliner should add a new marker statement to the MIR so that heuristic changes don't change how many times a function recurses...

Well.... the current limit is riddiculously high. 1 million terminators take a while to evaluate.
We could also hash the entire state at every terminator and detect true loops this way. We could even only do that once we reach the limit so we don't slow down the regular evaluations.

We could emit a warning for long evaluations so ppl know rustc isn't hanging, just busy

Also test builds could report how much time was spent in rustc itself vs const evaluation, so slow crates get blamed quickly.

Well.... the current limit is riddiculously high. 1 million terminators take a while to evaluate.

Do you have some guess as to how much a while might be? Just so we're on the same page =)

While that depends on the code you're executing, experience with when the limit was on statements was several minutes

We should not have any error on constant evaluation by default. Not time and not terminator count based. Instead, there should exist a lint of-sorts that would warn every so often that such-and-such constant item is still being evaluated, and that’s it. People who want to make sure stuff doesn’t get out of hand can then #[deny] it and people who know they gonna do heavy compile-time computations can #[allow] it so the compiler doesn’t nag at them too much.
So basically what this says.

@nagisa I'd be concerned about people running automated builds and finding that they take forever, in that case. CI, for instance.

@joshtriplett Sure, hence #[deny]. Of course we still would need to provide a way to configure actual limit. Most importantly, with this approach breaking code which uses #[deny(long_const_eval)] would be about as breaking as breaking code which specifies #[deny(warnings)] (we do not consider it to be a breaking change).

Considering how Rust's type system is turing complete, infinite compile loops are already possible. This just makes them a bit easier.

To the best of my knowledge you can't do infinite loops in the type system without hitting the recursion limit. True recursions would trigger an error of the form "needed X to compute X"

They are different, because now there can be repetitive recursions. I think going with the warning and no limit is the way to go. I'll change the RFC accordingly

Long running const eval doesn't cause errors anymore: https://github.com/rust-lang/rust/issues/49980

@rfcbot fcp merge
(I usually construct a comment thread summary before issuing the rfcbot command, but in this case I think all of the relevant comments were addressed, usually via incorporation into the RFC text, so I'm able to just recommend that people read the RFC.)

Huzzah! This RFC is now merged!
Tracking issue: https://github.com/rust-lang/rust/issues/52000


[Q] Stream series of dynamically created mp4 files out as SRT

Hey,
I'm quite new to the area of streaming. I'd like to know if there's a reliable way for me to stream a series of mp4 files out as SRT using tsduck.
Caveat: These mp4 files are being generated dynamically and I want to keep an SRT connection open that "adds" every new mp4 to the SRT out stream.
There isn't an obvious way at the moment except for me to keep recreating the SRT connection, but that requires the client to keep reconnecting which isn't a scalable solution.
Thank you so much @lelegard, this is one of the best Github projects I've ever seen!

Hi @akshhack
TSDuck is a transport stream processing tools. It can manipulate TS streams only. MP4 files are not TS files, the container format is different. You may try ffmpeg to convert the files and, possibly, directly stream the result in SRT.

 What would you suggest the best approach to take these and stream through SRT without needing the client to reconnect to fresh connections each time?
Thank you for the prompt response!

Hey @lelegard,
tsp -I hls foo.m3u8 --live -O srt -l <IP_ADDRESS>:9999 -m is the ``--liveflag equivalent in functionality to the--event` flag when HLS is in input, in effect?

Hi @akshhack
If I remember correctly, on input, the only difference between LIVE and EVENT is the starting point. The first time you load the playlist, TSDuck will start with the first segment of the playlist when it is EVENT and with the last one when it is LIVE.
An event shall be viewed from the beginning, even if it started a long time ago. Its playlist grows: new segments are added but the first ones are never deleted.
A live stream shall be viewed at "current" point, starting with the last available segment. The playlist is typically a sliding window of N segments. At each update, the first segment is removed and a new one is added at the end.
If you do something that is not really HLS but you want it to be ingested by the HLS input plugin (or any other HLS player), then you should follow the above rules. See all #1387 for a similar situation.


TypeError: can't compare offset-naive and offset-aware datetimes

Upgraded to 2.4.
2019-11-23 07:53:31 ERROR (MainThread) [homeassistant.components.sensor] garbage_collection: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 292, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 448, in async_device_update
await self.async_update()
File "/config/custom_components/garbage_collection/sensor.py", line 325, in async_update
next_date = self.get_next_date(today)
File "/config/custom_components/garbage_collection/sensor.py", line 297, in get_next_date
filter(lambda date: date >= day1, self.__include_dates)
File "/config/custom_components/garbage_collection/sensor.py", line 297, in
filter(lambda date: date >= day1, self.__include_dates)
TypeError: can't compare offset-naive and offset-aware datetimes

Right, looks like the timezone fix was not as smooth after all.
I have uploaded fixed version to the development branch. Would you like to grab and test if it works? Thanks

It's working again, thanks.  That was quick.


update api docs based on changes to build and run

update binary location
native build instructions
verbose logs
current failure on invoking version

major thanks to @pwittrock

/lgtm

@arschles updated

LGTM


[Feature] Firebase Realtime Db Integration

 Front conversations

Closing as a duplicate of #1626

Reopening this to track integration with real-time database of Firebase.

Got another request for firebase integration

Any news about this feature?
I'm very interested in testing, as I have clients that use Firebase Realtime as databases for their apps and having this feature we can achieve impressive webapps!

@joelgaribaygz we don't have this on our roadmap yet because we haven't heard of too many other requests for this feature

I'm super interested in the Appsmith integration with Firebase Realtime!
How can I help you? do you have documentation about creating a new data source?

@jalamprea Thanks for expressing interest in contributing to Appsmith. Much appreciated.
As a follow up, can you help us understand if you are looking to integrate with the realtime capabilities & data sync of Firebase Realtime DB? Or are you looking at Firebase Realtime DB as another data store where you can read/write your data (like any other database)?

I want to use Firebase Realtime DB as another data store

It would really be a help to many of us who develop apps. I currently have several clients whom with apps, using Firebase Realtime.
For now it would be awesome to read/write directly to the database.
My idea is to be able to:

Visualize in RT drivers/distributors who work in companies
Create a dashboard for mass loading of information, example: products with photo, name, description, price, etc.
Create a dashboard with information in Realtime of sales, profits
Reports

It would be of great help if you implement this BD

@jalamprea thanks a lot for showing interest to add the Firebase real-time DB. If interested we can meet briefly to discuss how to proceed with the implementation. You may book a slot for the meeting using this link. In the meantime you may want to go through the plugin development guidlines mentioned here. You can also join our Discord channel where you can interact with us more directly. Looking forward to working with you on the Firebase realtime DB :).

Hi Appsmith team,
We would love for you to add a connection to the Firebase real-time database. We have made apps like doc.com, mobbit.mx, Exxpres and flashgas.com using Firebase and we think Appsmith would be great for what we need, which is an administrative dashboard. It would be great if you could consider it.


package.json parse error

Hi, I get the following error when trying to install Gulp which relies on Through2.  Note: some file paths have been stripped of personal information:
npm ERR! Failed to parse json
npm ERR! Unexpected end of input
npm ERR! File: /home/user/.npm/through2/0.6.5/package/package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR!
npm ERR! This is not a bug in npm.
npm ERR! Tell the package author to fix their package.json file. JSON.parse
npm ERR! System Linux 2.6.32-042stab120.11
npm ERR! command "node" "/usr/bin/npm" "install" "gulp"
npm ERR! cwd /var/www/html/cyclotron-site
npm ERR! node -v v0.10.46
npm ERR! npm -v 1.3.6
npm ERR! file /home/landoman/.npm/through2/0.6.5/package/package.json
npm ERR! code EJSONPARSE
npm ERR! Error: ENOENT, open '/var/www/html/cyclotron-site/node_modules/gulp/node_modules/gulp-util/node_modules/replace-ext/.travis.yml'
npm ERR! If you need help, you may report this log at:
npm ERR!     http://github.com/isaacs/npm/issues
npm ERR! or email it to:
npm ERR<EMAIL_ADDRESS>

I just realized how old that version is, if i just use 1.0.0, will that be more or less equivalent?


403 forbidden error in Hotstar

Please make it compatible with New hotstar changes, it shows 403 forbidden error when i download mpd link

me too for udemy


Setting a cron of @weekly with incremental_by_time_range doesn't backfill properly if batch_size is set less than 7

We have some models that process timeseries data and set the batch_size to 1 (though this may not be entirely necessary all the time for us). When we looked at the resulting table it seemed to be missing quite a bit of data inexplicably. Upon investigation, I realize the batch_size doesn't actually work as expected based on the documentation:

For example, if a model specifies a cron of @hourly and a batch_size of 12, when backfilling 3 days of data, the scheduler will spawn 6 jobs. (3 days * 24 hours/day = 72 hour intervals to fill. 72 intervals / 12 intervals per job = 6 jobs.)

I would expect that for say a time range from 2024-01-01 to 2024-01-07 that I'd get a single job that executes a single query for that week but instead I see 7 jobs.
Part of this has something to do with the IntervalUnit being limited to a DAY and the next being a MONTH. I toyed with a fix that allows for a WEEK interval and I believe that would work for this specific case but I'm not sure if there is a better solution for this as it seems like this won't exactly scale properly to things where you might have say a cron that is every 3 days like 0 0 */3 * *. Due to the way the backfill works with the INCREMENTAL_BY_TIME_RANGE materialization, if you were to set the batch_size = 1 this could cause some data to be lost because it would generate a backfill for every day within that 3 day period. Assuming you were somehow bucketing results into that 3 day time interval, then the final BETWEEN {start} and {end} of the insert query would result in data loss because the {start} and {end} values used would be singular day which if used with start_ds/start_date/end_ds/end_date/etc would be the wrong dates.
I may just open a PR with my IntervalUnit fix to start but I think the discussion here would be useful to find the best answer.

Actually upon submitting this, I think the solution is to instead ensure that the cron_next of the IntervalUnit to always take into account the original cron as opposed to the IntervalUnit's label of month/day/hour/5-minute.

this is by design, cron is simply how often a job should run, interval unit is the actual granularity of each interval, so even if a job runs weekly, it's interval unit will be daily.
i'm not exactly sure what the issue is, but happy to continue discusing. closing for now.


Move lambdacomponents from ADOT to aws-otel-lambda

Description:
Move lambdacomponents from ADOT to aws-otel-lambda. These are the following changes that were made

Copy code from aws-otel-collector/pkg/lambdacomponents to aws-otel-lambda/collector/lambdacomponents
2. Update the patch-upstream.sh to test lambdacomponents and copy over to the desired folder

This PR just moves the lambdacomponents to aws-otel-lambda. Subsequent PR will be released to tag a particular commit in  patch-upstream.sh and also to trigger unit tests before moving over the files
Testing:
Tested on local machine by building and deploying layers

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

How will the unit tests be triggered at PR time? I think that must be included in this PR.

All the workflows initially run patch-upstream.sh on the repo. Unit tests can be triggered at the beginning of the process.

How will the unit tests be triggered at PR time? I think that must be included in this PR.

All the workflows initially run patch-upstream.sh on the repo. Unit tests can be triggered at the beginning of the process.I have updated the PR description.

It's not clear to me why that can't be included in this PR. Is triggering the unit test dependent on what tag is used? My ask is that these unit tests present for the default versions is ran at PR time. You have copied over a make file that contains a target to do just that.

How will the unit tests be triggered at PR time? I think that must be included in this PR.

All the workflows initially run patch-upstream.sh on the repo. Unit tests can be triggered at the beginning of the process.I have updated the PR description.

It's not clear to me why that can't be included in this PR. Is triggering the unit test dependent on what tag is used? My ask is that these unit tests present for the default versions is ran at PR time. You have copied over a make file that contains a target to do just that.

I have edited the shell script to run the unit tests initially. This should now be picked up by the workflows.


Open links in new tab

I'd prefer that links on the ABOUT page open up in a new window so that I could keep the ABOUT page as a reference.
suggestion: target="_blank"

@patrickm02L thanks and finally fixed :)


Replace code climate coverage

Hi,
you are using Codeclime to calculate the application coverage, do you know coveralls.io? I think that coveralls.io has good integration with Github and better notifications than Codeclimate.
Regards.

Codeclimate is working fine for us, and we have more pressing issues than investigating more on this. So I'll have to close this issue. For future questions, make sure to use our mailing list


Question about subtyping

Hello, I'm studying Grace and curious about the way it handles type inference with subtyping.
So consider this case which TYPES ok:
; cabal run -- grace interpret --annotate - <<< '[{answer: null}, {answer: 42}]'
[ { "answer": null }, { "answer": 42 } ] : List { answer: Optional Natural }

and this which FAILS:
; cabal run -- grace interpret --annotate - <<< '[{answer: 42}, {answer: null}]'
Not a subtype
...

So the depending on the order of elements in the list it either succeeds or fails which can be then fixed (suggested by the README) by adding a type annotation with an existential List ?:
; cabal run -- grace interpret --annotate - <<< '[{answer: 42}, {answer: null}] : List ?'
[ { "answer": 42 }, { "answer": null } ] : List ?

I think this can be a bit confusing to users (that in those two similar cases they either required or not to add type annotations). Do you think it's worth fixing and/or possible to fix by synthesising List ? type for List constructor?

Yeah, I think that would work well (i.e. falling back to ? as the element type if type-checking the List fails the first time)
I have to fix another type-checking bug first, because I realized there was something wrong in the course of trying to implement this

Reading more on Bidirectional Typing, which discusses "Complete and Easy" (more specifically section 5.1.1 "Greedy Instantiation"), mentions a similar problem — the first seen argument "wins" and instantiates the polymorphic variable — this doesn't work well with other forms of subtyping than the polymorphic one.
One approach I've seen which handles such subtyping with bidirectional type checking is Local Type Inference paper. They propose to collect a set of constraints over variables (lower and upper bounds) during synthesising/checking applications and solve them to instantiate type variables.

So I managed to fix the bug with typed holes that I mentioned: https://github.com/Gabriel439/grace/pull/27
However, it turns out that my proposed fix doesn't work, for the reasons you mentioned.  The hole will get instantiated greedily to the first element in the list it encounters, so you end up with the exact same problem.
I don't think this is fixable short of overhauling the type checker to use something other than bidirectional type inference.

I don't think this is fixable short of overhauling the type checker to use something other than bidirectional type inference.

Just to clarify — the "Local Type Inference" paper uses bidirectional type checking (in fact I've seen many cite it as the first paper describing it, though they themselves say that this is folklore).
But nevertheless, you're right, the change is probably not so trivial and I'm not sure how well it can be combined with polymorphic subtyping which Grace has now. So this issue can probably be closed.
By the way — do you think higher rank polymorphism is important for a configuration language (I don't have a good intuition where it can be used)?


How to perform functions query in design document

Hi,
For my project I have a requirement to perform functions in design document as given below.
list functions - https://cloud.ibm.com/docs/Cloudant?topic=Cloudant-design-documents#list-functions,
show functions - https://cloud.ibm.com/docs/Cloudant?topic=Cloudant-design-documents#show-functions
update handles - https://cloud.ibm.com/docs/Cloudant?topic=Cloudant-design-documents#update-validators
Could you please help if this is enabled in sdk?

Hi @saristar!
The functions are not enabled in the sdk yet. The update handler is in our TODO queue, but unfortunately, no estimated delivery time at the moment. We have not put the show and list functions in our TODO queue yet, we have to reconsider them.
However, it's worth mentioning these functions will be deprecated in CouchDB 4.0, I do not know whether Cloudant will follow them, or keep these functions in the future as well.

Hi @mojito317,
As there is no deprecation details about these functions in cloudant db, may I know like by when can I have it in the sdk?
I'm using this sdk only as a replacement for nodejs-cloudant npm package.
I see that few things are mentioned here about the migration but would it possible to add also the TODO items in this list?

As there is no deprecation details about these functions in cloudant db, may I know like by when can I have it in the sdk?
I'm using this sdk only as a replacement for nodejs-cloudant npm package.

There is no decision and no estimated delivery time at the moment. We will return to you if I know more.

I see that few things are mentioned here about the migration but would it possible to add also the TODO items in this list?

Good idea! We will take this into consideration!

Whilst these functions remain usable (for now when using legacy creds) in the Cloudant service as noted above they are deprecated since CouchDB 3.0. The fact they are still present (or not marked deprecated) in the Cloudant docs is an oversight which I have asked to be corrected. These operations are not present in Cloudant's API reference docs.
You are, of course, able to continue using them while they are available in the service if you see fit, but we won't be adding these functions to the SDK as we do not want to encourage new usages of obsolete API. Code rewrites during SDK migration are a good opportunity to replace usage of the obsolete APIs with client side alternatives.