Revert check

Geronimooooo
I am just testing random things, don't bother.

No need to keep it anymore – there was an issue introduced by one of the commits, now resolved with https://github.com/openstack-k8s-operators/ci-framework/pull/1926


Fix issue with return value not being checked

Summary
Fix issue with return value not being checked
Impact
Testing

Please update Impact and Testing sections.


Fb botmill aurasphere evo

Resolved #46 : implemented lamda support with LamdaAutoReply and Reply interface. Minor fixes on javadoc.

@alvin-reyes  I'll let you review this before the merge.

Hey man, can you add an example or test case to show how this can be used? Include them on this commit.

Looks good! Thank you!


Refactor/do not consume profile

Codecov Report

Merging #872 (81f1846) into main (aaa1e1a) will not change coverage.
The diff coverage is 25.00%.

@@          Coverage Diff          @@
##            main    #872   +/-   ##
=====================================
  Coverage   8.68%   8.68%
=====================================
  Files        410     410
  Lines      32812   32812
  Branches    7211    7211
=====================================
  Hits        2849    2849
  Misses     29162   29162
  Partials     801     801

Flag
Coverage Δ

unittests-aries-vcx
8.68% <25.00%> (ø)

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

Impacted Files
Coverage Δ

aries_vcx/src/core/profile/vdrtools_profile.rs
35.00% <16.66%> (ø)

...ies_vcx/src/utils/mockdata/profile/mock_profile.rs
39.13% <33.33%> (ø)

^ i think if you do a search for Arc::clone in the codebase, pretty much every Arc::clone call is to clone a profile, which is now unnecessary.
could also probably argue that the signature could/should be updated to &Arc rather than Arc. Which could allow implementations of Profile to not have to Arc:;clone before returning..
e.g. :
    fn inject_indy_ledger_read(&self) -> &Arc<dyn IndyLedgerRead>;

    fn inject_indy_ledger_write(&self) -> &Arc<dyn IndyLedgerWrite>;

    fn inject_anoncreds(&self) -> &Arc<dyn BaseAnonCreds>;

    fn inject_anoncreds_ledger_read(&self) -> &Arc<dyn AnoncredsLedgerRead>;

    fn inject_anoncreds_ledger_write(&self) -> &Arc<dyn AnoncredsLedgerWrite>;

    fn inject_wallet(&self) -> &Arc<dyn BaseWallet>;

this would have no downside, as if the consumer really does need an Arc, then can always just Arc::clone over the &Arc.
But up to you whether you want to include that in this PR

@gmulhearn thanks for review and comments, however I'd like to suggest to push the suggested updates further down the road as this https://github.com/hyperledger/aries-vcx/pull/873 is building on top of this PR and generally eliminate profiles from non-testing portion of aries-vcx codebase. Profiles will still exist post-#873 however, so we can apply your suggestion afterwards. Right now addressing your suggestion would require many changes which would be subsequently removed by 873.

yea my bad, forgot about the profile removal work coming soon. approved!


xt::fmod doesn't match NumPy when handling empty arrays

Hi,
I would like to report that during development I have found that fmod doesn't match NumPy when it comes to handling empty arrays.
xt::xarray<double> a = xt::ones<double>({ 1, 2, 0, 3 });
xt::xarray<double> b = xt::ones<double>({ 1, 2, 1, 1 });

auto result = xt::fmod(a, b);
Result is an C++ exception: std::out_of_range - index 0 is out of bounds for axis 2 with size 0 as it does fail XTENSOR_TRY in xcontainer.hpp

NumPy's behaviour is to return empty array in case of only one is empty.
a = numpy.ones([1, 2, 0, 3])
b = numpy.ones([1, 2, 1, 1])
numpy.fmod(a, b)
array([], shape=(1, 2, 0, 3), dtype=float64)

Or the one with bigger dimensions in case both are empty:
a = numpy.ones([1, 2, 0, 3])
b = numpy.ones([1, 2, 0, 1])
numpy.fmod(a,b)
array([], shape=(1, 2, 0, 3), dtype=float64)

Thanks

This has been fixed in master


Optimize build to only import the libraries needed

You might consider specifying the desired database in features if it would have a positive impact on the size of our application at compile time.

Hello,
I am adding more context to this. I got the request to be able to programmatically run migrations. This is possible atm but it's not optimal as you get so many packages you don't need if you for instance only want to be able to make migrations for LibSQL.
Action points for this is:

[ ] Add database driver-specific libraries. We don't need SQLX if we want to make migrations for LibSQL
[ ] Add public functions to each driver to be able to make migrations via code

I've have added this to my todo but I don't know when I will be able to achieve this ☺

Geni was built to be a CLI so we're sticking with it.


Update Spoon.java

find this bug in version 5.0
when click the jobs treenode, it dose not work

Hello, This is an automated comment from our build system. Since this pull request originated from a user  not in the Pentaho organization, we will not proceed  with automatic validation of the pull request.  However, rest assured that it will be reviewed manually as soon  as we get the chance. Thanks for your contribution!

[PDI-15709]

Hey Clark911 - thank-you so much for your contribution. In the future, please create a JIRA case at http://jira.pentaho.com to report the issue. In this one-liner case, I created the JIRA case for you - PDI-15709.
Thank-you again for your contribution!


Gemi

ok

@KhineHbawi, We see that the issue template has not been filled, could you please do so as it helps us analyze the issue [SDK version, steps followed before you ran into this error or stand alone code/colab gist to reproduce the issue faced and reopen this issue. Thanks!


Create a repo

Please include:

GitHub repo to create: aries-builder-images
Project to be added to: Hyperledger Aries
Teams with which access: (examples on GitHub team list)

Team name: aries-builder-images-maintainers
Members:  @cvarjao , @TimoGlastra, @blu3beri, @andrewwhitehead, @jleach
Role:

Read: everyone/public
Triage:
Write:
Manage:
Admin: aries-builder-images-maintainers

here you go!

Thanks!


Add apache procrun compatibility

I was having the problem to run jmxtrans as a Windows service. I tried implementing it with apache procrun. Sadly procrun expects the start/stop methods to be static void and have the argument (String args[]). See https://commons.apache.org/proper/commons-daemon/procrun.html (Paramter --StartMethod).

Feel free to send a pull request! I don't use windows myself...


Remove CGO dependency from daemon_darwin.go

This should fix the darwin on linux cross compilation issue.
From the golang docs around os.Executable:
Executable returns the path name for the executable that started the current process. There is no guarantee that the path is still pointing to the correct executable. If a symlink was used to start the process, depending on the operating system, the result might be the symlink or the path it pointed to. If a stable result is needed, path/filepath.EvalSymlinks might help.

Executable returns an absolute path unless an error occurred.

Fixes #31

closing in favor of #28

Thanks @priyawadhwa. You are right. I'll follow up in the other PR (that we kind of missed/ignored for a while, it seems 🤫)

@priyawadhwa In case you didn't notice: the related PR was merged. Thanks once again for taking the time to submit this.

@gkristic thank you for letting me know!


Add custom errors with metadata on ChatConnector

This enables the cleanup of potencial invalid data.
Use case:
When a channel is deleted in Slack there is no event that gets triggered
into the bot. This means that any address associated with the channel
that is cached no longer will be valid. When trying to send a message to
this address, the global handler error will emit an error without
metadata about the action that triggered the error. Using this new type of error, the metadata can
be introspected and be used for taking actions.
I wasn't able to do in typescript because I can't get the source code to compile. Their is an open issues about that #1292

@bilby91,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Hi guys,
when do you think to merge?
Francesco


Auto data health checks

once the auto-backups are in place
create an action that downloads the latest database from heroku and compares it to the latest known good state.
If the known good state data isn't equivalent to the heroku ones, fail.
This might be possible by just dumping dbs, filtering out heroku custom things and checking for string equivalence

problem: known good state needs to be a heroku backup, it cannot be a local sqlite situation.
ideally local dev would also be a postgresql container, this would make data migration pretty trivial.


memory consumption

Related with #632
code for tests:
var Promise = require('...')
var promise = Promise.resolve()
console.log('mem usage:', process.memoryUsage())
function noop () {}
for (var i = 0; i < 500000; ++i) { promise.then(noop) }
console.log('mem usage:', process.memoryUsage())
setTimeout(function () {
  global.gc()
  console.log('mem usage:', process.memoryUsage())
}, 100)

Table for heapUsed (runned on node v0.12.3 with --expose-gc):

promise
before loop
after loop
after global.gc()

naive
3939264
472758048
3727816

bluebird
5420456
52508808
20717616

q
4605448
705704032
24285192

lie
4854176
131715744
3866144

bluebird looks pretty well with memory consumption after loop... but after global.gc() memory consumption isn't good.
I think it's because internal state of bluebird promise have many undefined values.. you can see it if run Object.keys(promise).length after loop, should return ~655332

@fanatid with 3.0 coming out every day now - can you try that benchmark in 3.0?
(Also, it's not a very meaningful benchmark, but before we go into that I have a theory I want to test)

Sorry, I haven't written versions of libraries that I used for tests
$ npm ls --depth=0
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
results for 3.0 branch, commit 06e8c05
mem usage: { rss: 23224320, heapTotal: 11803648, heapUsed: 5713360 }
mem usage: { rss: 162627584, heapTotal: 145355264, heapUsed: 110019824 }
mem usage: { rss: 80601088, heapTotal: 65090560, heapUsed: 20391216 }

This "use case" is flat out not even supported. In fact if you had tested the code for correctness it would have bugged out because the maximum parallel handlers is only 262k, but it could reasonably be even smaller..

I think it's because internal state of bluebird promise have many undefined values

In any realistic use case of cached promise there is a event loop turn or more awaited between handler attachment. Those indexes are then reused because the last turn's handlers are not occupied anymore.


Error when calling the function "destroy" which did not remove the ev…

Error when calling the function "destroy" which did not remove the events assigned to the sandbox is repaired.

Add a variable to store the function associated with the events.
Change the constructor to assign the function to the variable.
"BindEvents" and "unbindEvents" was changed to make use of the variable created.

Just as a heads up, I've forked this repo, and merged this PR in: https://github.com/zao-web/texthighlighter


Cant get this to work at all

I am not sure if its just me but I cant get this to work at all. Downloaded through bower, linked all good and when I add <app-datepicker-dialog></app-datepicker-dialog> nothing appears.
when I inspect the DOM for app-datepicker, looks like its loading but nothing appears on the screen. No console errors either. Any one else had this issue?

@srk289 Please show your reduced test case to ease debugging.

test.zip
added my test files.

@srk289 Ok. You misunderstood how a dialog works. You need to trigger a dialog to open or it will be hidden forever.
You can open a datepicker dialog from a button for instance. See the example code below to get a better understanding on how to do it in Polymer way.
<app-datepicker-dialog id="openMe"></app-datepicker-dialog>
<button on-click="_openDialog"></button>

_openDialog: function (ev) {
  this.$.openMe.open();
},

Closing this issue as it's not the problem from the element.

Thanks @motss You are right.   Appreciate your prompt response


Provide default export for ES6 / TypeScript users

Currently, BigNumber only uses module.export to export itself. For users of ES6 and TypeScript it would be nice to have BigNumber also as a named export or default export, e.g. if you could do
module.exports = constructorFactory();
module.exports.BigNumber = module.exports;
module.exports.default = module.exports;

which would allow to do
import {BigNumber} from 'bignumber';

I'm currently writing TypeScript definitions for BigNumber and this would simplify things a lot, as I could export other interfaces besides the main BigNumber class.

This seems reasonable, but please can you further explain why you want to be able to use
import {BigNumber} from 'bignumber';

rather than
import BigNumber from 'bignumber';

I don't yet know enough about TypeScript to understand why it "would simplify things a lot", or how it would enable you to "export other interfaces besides the main BigNumber class".

@MikeMcl that is just a matter of style. You export the BigNumber class, the BigNumberError class (for proper instanceof checks) and the TypeScript definitions can also export some interfaces. Then in addition, you say BigNumber should be the default export.
import {BigNumber, BigNumberError, Configuration} from 'bignumber.js';
// easier than import {default as BigNumber, BigNumberError} from 'bignumber.js';

try {
  const x = new BigNumber(123);
} catch (e) {
  if (e instanceof BigNumberError) {
    // TypeScript now knows that e has all the properties of BigNumberError
  }
}

the definitions would look like this:
declare module 'bignumber.js' {
  export interface Configuration {
    DECIMAL_PLACES: number;
  }
  export class BigNumber {
    static config(config: Configuration): Configuration;
  }
  export class BigNumberError extends Error {}
  export default BigNumber;
}

For the legacy module.exports TypeScript has a special syntax, export = . But when you use it you can only export one item:
declare module 'bignumber.js' {
  // cannot export this :(
  interface Configuration {
    DECIMAL_PLACES: number;
  }
  export class BigNumber {
    static config(config: Configuration): Configuration;
  }
  export = BigNumber;
}

and you have to use require() instead of import, which prevents you from compiling to ES6.
import BigNumber = require('bignumber.js');

TypeScript definitions don't only help TypeScript users, but power editor autocompletion in editors for JavaScript users. It would also benefit Node users as import/export may already land in Node 7 and all users who write front-end code in ES6.

If you are interested, check out https://github.com/felixfbecker/typed-bignumber.js

I've played around with it and yes it seems to work, but its hacky and irritating to have to add two redundant properties (which will show up in intellisense) to the BigNumber class so that ES6 imports work.
Is this something other libraries have done?

Yes, sequelize for example. I also saw it in other libraries.
It also has the added benefit that you could export the BigNumberError class (and possibly more in the future) aswell, all while maintaining BC. In the end, module.exports was never a standard, it was an extension by NodeJS. Both CommonJS and ES6 use named and default exports.
Typings work as they are, but what would maybe make it feel a bit "hacky" for ES5 users (honestly I think most wont even notice) would make it way less "hacky" for ES6 and TS users.

Okay, I just pushed v2.4.0.
Let me know if there any issues.
Great work on the definitions by the way.


Using Unity Vector instead of System Vector type

Why is this package using the System's Vector class instead of the Unity's? RG.ImGui is using Unity Vector's in ImGUI wrapper layer. We tried to replace the package to yours from RG however it's not practical to cast every single System Vector to Unity Vector. And definitely not worth to write another ImGUI wrapper layer just for Unity compatibility.
Would be nice if you convert your imgui layer to use Unity types.

Hello. The main objective of using the c# default was to update ImGui.Net.dll easier and often without changing things like these. I made some tests and didn't see why not use System.Vector2.
You can use something like that:
using NumericsConverter;
// ...
var myUnityV2 = transform.positition;
var mySystemV2 = myUnityV2.ToSystem();

I can think, if it makes sense, do a layer to those methods using Unity.Vector, but surely I will not make this default.
Hope you understand.
Cheers.

I mean It's a Unity package, and everytime you use something with a Vector you will have Unity Vector in your hands not the System one. And I think there is a valid case of using Unity types because ImGui utilizes lots of marshalling and almost every call using Vector is passed by ref. So even if you cast to System Vector, you will have to cast it back to Unity Vector back and forth. All those calls right now are dead basically. I believe a code generator that converts System type to Unity type after each ImGui.Net.dll update would be really useful but again I understand if it's out of scope of this project. Great work neverthless.

Hello.
I was reconsidering use Unity vectors instead of Numerics. I think that way we can nip a lot of problems in the bud. I made a fork from the original repo (ImGui.NET and ImGuiNET.nNative) so I can track any change easily and if anyone wants to help it will be easy too.
Could you help me to test the branch with this change https://github.com/psydack/uimgui/tree/feature/add-support-implot-imnodes-imguizmos?
Thank you!


Minor bug: Axon shifts notifications on iPad when vertical is activated, making an unnecessary shift to the left

Axon puts your notifications off-center to make room for the vertical list, room you already have with an iPad


Issue applying Connection_settings attributes when creating server templates

Issue: When attempting to create a server template with local storage san, we get the following error:
│ Error: The attachment (ID = 1) has a storage path that refers to connection (ID = 1) that does not exist on the profile.
│ Remove the storage path, or change the connection ID to correspond to a valid connection on the profile.
│
│   with module.Add_Server_Templates.oneview_server_profile_template.ServerProfileTemplateWithSanStorage,
│   on 06_Server_Templates\main.tf line 26, in resource "oneview_server_profile_template" "ServerProfileTemplateWithSanStorage":
│   26: resource "oneview_server_profile_template" "ServerProfileTemplateWithSanStorage" {
│
╵

Code for the resource below:
resource "oneview_server_profile_template" "ServerProfileTemplateWithSanStorage" {
  name                 = "NewTestServerTemplate_with_local_storage_san"
  type                 = "ServerProfileTemplateV8"
  #enclosure_group      = "EG"
  server_hardware_type = "DL360 Gen10 1"
  initial_scope_uris   = [data.oneview_scope.scope.uri]
  connection_settings {
    manage_connections = false
    compliance_control = "CheckedMinimum"
    connections {
      id             = 1
      name           = "SAN_A"
      function_type  = "FibreChannel"
      #port_id        = "Mezz 3:1-b"
      #requested_mbps = 2500
      network_uri    = data.oneview_fc_network.fcNetwork1.uri
    boot {
        priority           = "Primary"
        ethernet_boot_type = "PXE"
      }
    }
  }
  san_storage {
    host_os_type       = "VMware (ESXi)"
    manage_san_storage = true
  }
  volume_attachments {
    boot_volume_priority      = "NotBootable"
    id                        = 1
    lun_type                  = "Auto"
    volume_storage_system_uri = “<volume_storage-system-uri>”
    volume_uri                = “<volume_uri>”
    storage_paths {
      connection_id   = 1
      network_uri     = "<Network_uri>"
      target_selector = "Auto"
      is_enabled      = true
    }
}
}

We are able to force the resource to work if we set the manage_san_storage to false, however for our application we require that manage_san_storage be set to true.
Can you provide assistance as to why we are getting this error and what can be done to circumvent it?

Hi @josyfj ,
We will look into this and get back to you.
Thanks

Hi @josyfj ,
While we could not reproduce the issue , we have made some fix to the SPT creation and also added examples to create SPT with SAN storage.  You can try the below example:
 ##Creates server profile template with san storage for DL server with existing volume resource "oneview_server_profile_template" "ServerProfileTemplateWithSanStorage" {   name = "TestServerProfileTemplate_with_local_storage_san2"   type = "ServerProfileTemplateV8"   //enclosure_group      = "EG"   server_hardware_type = "DL360 Gen10"   initial_scope_uris   = [data.oneview_scope.scope.uri]   bios_option {     manage_bios = false   }   boot {     boot_order         = []     compliance_control = "Unchecked"     manage_boot        = false   }   boot_mode {     manage_mode     = true     mode            = "UEFIOptimized"     pxe_boot_policy = "Auto"     secure_boot     = "Unmanaged"   }   connection_settings {     manage_connections = true     compliance_control = "Checked"     connections {       id             = 1       isolated_trunk = false       name           = "connection1"       function_type  = "FibreChannel"       #port_id        = "Pci 1:1"       network_uri = data.oneview_fc_network.fcNetwork.uri     }   }   san_storage {     host_os_type       = "Windows 2012 / WS2012 R2"     manage_san_storage = true   }     volume_attachments {     boot_volume_priority      = "NotBootable"     id                        = 1     is_permanent              = true     lun_type                  = "Auto"     volume_storage_system_uri = "/rest/storage-systems/TXQ1000307"     volume_uri                = "/rest/storage-volumes/75FE3A14-7045-47E4-A760-AEAD00718827"     storage_paths {       connection_id   = 1       network_uri     = "/rest/fc-networks/81f84e14-91ee-4b88-a2af-defd12add74f"       target_selector = "Auto"       is_enabled      = true     }   } }

Closing it here as it is fixed in master branch


Copy deployment/ to archive in distTar

include the deployment/ directory in distTar to pick up other
skylab based files if they exist

Could you add a check to the tests that ensures this is in the tar? (There should be something similar to what you need already...and I thought I actually did check the manifest made it.)

Should this exclude manifest.yaml since it would conflict with the generated version?

#22 adds the missing tests, so going to kill this.


examples/chunks link in README is dead

Also see [`examples/chunks`](examples/chunks).

examples/chukns link in duck build section of README leads to 404 page.

@pirosikick thanks! 🥇


Onboarding screen with sign in and sign up

Description
create the UI screen as given below
Follow the Guidelines and code of conduct when you push changes.
Screenshots

Additional information
No response

I would like to work on it?

sure

I would also like to work on it?

@nithiink I'm already working on it.

@nithiink I'm already working on it.

Oops sorry

@Jaideep25-tech pls share the Figma file with the participant in the issue so that its easy for them to do the design and styling


vm/Makefile: Add an install target

In order to use the ubpf static library in other applications it is
useful to have a "make install" target. We place the relevent files
(libubpf.a and ubpf.h) into the /usr/local tree at the right spots to
allow other programs to reference them.
Signed-off-by: Stephen Bates<EMAIL_ADDRESS>

Coverage remained the same at 96.68% when pulling 69bc97cd2a64eabb0f340d52770ed655093b6a3d on iomartin:dev/make-install into 2219b94de2a04effd043f309604cd267bc9e7899 on iovisor:master.

Updated this PR with comments from @ygrek.

Looks good to me. @sbates130272 Could you update the README accordingly?

@pchaigno @ygrek - added short comment in Makefile.

Thanks @sbates130272!


numpy.quad relative and absolute errors

I wonder why the default numpy.quad is setting both the epsabs and epsrel value for performing the integral, as described in
https://www.gnu.org/software/gsl/manual/html_node/Numerical-Integration-Introduction.html
In my opinion, it would be safer to set as default just one of the two. Many Python users are not checking this fact, and are not aware about the possibility of working at fixed absolute or relative error.
I verified that this is not important for smooth integrals, but it becomes important (both for the reliability of the result and for the speed) as soon as the integrand is non-standard.

Default epsrel is required for results with large magnitude, and epsabs with results that are zero.
Having default value for both is quite typical, e.g. Matlab, Octave, R, ... do it similarly.
Changing this would have backward compatibility effects, and would need stronger reasoning than an opinion.

Thank you for your reply and explanation.  You are absolutely right about my opinion, but it was a starting point to discuss an issue I wanted to underline.
I would recommend to clarify this fact at least in the documentation.


Update for Nazir

Make the updates for Tractate Nazir

Just found a nice background on the Talmud https://steinsaltz.org/talmud/
As for Nazir, things may be ok. I think the only problem may be Hadran (they seem to have a strange URL for Nazir 2) and Living Greengrass (no post yet). Let's see what happens tomorrow.

It looks like there are no updates need for Nazir. There don't seem to be any permutations on the spelling of the tractate, so got lucky this time.


Add Various Buttons

Proposed Changes

Add Audius - Closes #578
Add Bandcamp - Closes #594
Add Forgejo - Closes #539
Add ORCID - Closes #473
Add Credly - Closes #601
Add Semantic Scholar - Closes #474
Add Google Scholar - Closes #472
Add Simplex - Closes #139
Add Mixcloud - Closes #65

Screenshot (If Applicable)

Checklist

[x] Tested locally
[x] Ran yarn ci to test my code
[x] Did not add any unnecessary changes
[x] All my changes appear after other changes in each file
[x] Included a screenshot (if adding a new button)
[x] 🚀

Woohoo!  Thank you!


[Minor] datapath log format improvement

Bug report
General Information

Cilium version: v1.10.4
Kernel version: Linux k8s002 4.18.0-305.12.1.el8_4.x86_64 #1 SMP Wed Aug 11 01:59:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Orchestration system version in use: Kubernetes v1.22.2

How to reproduce the issue

cilium monitor -vv with settings of cilium agent:

debug: "true"
debug-verbose: "datapath"

The traffic log shows
CPU 01: MARK 0x0 FROM 3103 to-proxy: 66 bytes (66 captured), state established, interface lxcb40932b0a2c5identity 30168->30747, orig-ip <IP_ADDRESS>.
There should be a comma and space before identity, making the log to be
CPU 01: MARK 0x0 FROM 3103 to-proxy: 66 bytes (66 captured), state established, interface lxcb40932b0a2c5, identity 30168->30747, orig-ip <IP_ADDRESS>.

The problematic code is located here: https://github.com/cilium/cilium/blob/a8e3fa283cf40b330035265bf83d63800b296bcf/pkg/monitor/datapath_drop.go#L63 and here: https://github.com/cilium/cilium/blob/cebd290c39dbb2f3214ac670a3b40ed77b79024f/pkg/monitor/datapath_trace.go#L219
Could you send a fix?


Add "What are alchemical free energy methods" section

Proposed Change
Add "What are alchemical free energy methods" section briefly summarising the same section in the first paper, directing readers
to the first paper, and highlighting their use a high-throughput, multiple calculation setting.
Proposed Authors and Reviewers
Please volunteer (before the end of January) to author/ review and state when you're available. Authors, please say roughly when you plan to contribute the changes (no later than the end of May).
Proposed author: Volunteer wanted
Proposed reviewer: Volunteer wanted

@fjclark I can write this section.
Best
Elvis


Updates to PackageMetadata to display more relevant information and f…

…ields
Some fields have been updated with new information, other fields have been added eg. icon

included suggested changes in https://github.com/vmware-tanzu/carvel-kapp-controller/pull/298


Reduce CPU consumption if UI cannot connect to backend

blank keyframes for blinking Connect animation
increased topology API retry timer interval

Fixes #1220

Yeah, I get a drop 9% -> 5-6% usage.
Crazy it chews so much. Tried some tricks like slapping on a translate3d but no luck. Animated gifs ftw?!...
LGTM, def. improves a bit.


language setting is not working

ERROR Error: Unknown culture : ru-RU
at Function.webpackJsonp.../../../../numbro/numbro.js.numbro.culture (http://localhost:4201/vendor.bundle.js:85882:23)

i am using "ng2-handsontable": "^1.0.3" version.
I tried install numbro separately, but in this case there are conflict on building process.

Try somthing like this your component:
import * as numbro from 'numbro';

@Component( {
    selector: 'mycomponent',
    templateUrl: './mycomponent.html'
})
export class MyComponent  {
    constructor( ) {
        numbro.loadCulturesInNode();
   }
}

@laurent1024 it is working. Thank you!

I would derive for a million years before figuring that out! Thank you very much @laurent1024 !


[Docs]: Typos on "Role Based Access Control" page

Type
Bug report
What do you want to report?
Small typos on https://docs.semaphoreci.com/using-semaphore/rbac:

This page describes gives an overview of RBAC, how to assign roles to users and groups, and how to create custom roles. > This page gives an overview of RBAC, how to assign roles to users and groups, and how to create custom roles.

Semaphore uses a RBAC mode > Semaphore uses an RBAC mode

For example, let's say Pam has admin role > For example, let's say Pam has an admin role

If Kevin gives her the reader role in one project, she is still effectively admin in that project. > If Kevin gives her the reader role in one project, she will still be effectively an admin in that project.

In addition to the pre-defined roles provided by Semaphore, you can create your custom own roles. > In addition to the pre-defined roles provided by Semaphore, you can create your own custom roles.

Code of Conduct

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

Thank you @diegoguerrad I fixed the typos on #321


Hystrix and Apache HttpClient timeout setting

Does anyone have good recommendation for Hystrix timeout and Apache HttpClient timeout?   Making them the same could be problematic if Hystrix is timeout before Apache HttpClient timeout?   I can always make the Hystrix timeout longer, but then by how much?   Does it make sense to set Apache HttpClient timeout to 1 seconds and Hystrix to 2 seconds?

It's a decision that only your app can make.  If you want Hystrix to manage cleaning up the HttpClient and its state, then make the Hystrix timeout shorter.  If you want your own code (in the HystrixCommand's run() method) to handle the cleanup, then make the Hystrix timeout longer.
It's likely you can do better than Hystrix, which just interrupts the IO thread, but either choice is valid.
If you do choose to have network timeouts fire first, then note that those failures will look like FAILUREs to Hystrix (and not TIMEOUTs).  If your system gets very backed up and the time it takes for the thread to get scheduled exceeds (HystrixTimeout - NetworkTimeout), only then would you see TIMEOUTs.

OK.  Thanks.   That's in line with what I am thinking.
If I want to do my own clean up and use the Http Client timeout, then should I just simply use Semaphore instead of thread pool?    What is the purpose of Hystrix thread pool here if I am able to "walk away" with the http Client?    That's the part I am struggling with.

Matt,
In this situation, I am really trying to understanding whether I should use ThreadPool or Semaphore.  Any insight will be greatly helpful.  Thanks.

If you put your blocking I/O call on a caller thread, then that caller thread cannot make forward progress until the I/O is complete.  The I/O call may also not gracefully exit, leaving your calling thread completely consumed.
As a rule of thumb, you should always put blocking I/O calls in thread-isolated commands.

Thanks for the reminder of the blocking I/O and the benefit of using Hystrix Thread pool to make it non-blocking.   That really helps!


.net core call java , the call chain break

java call .net core ,the http head is

sw6 = 1-MjUuNzQuMTU3ODUzNTczNTUzNzAwMzU=-MjUuNzQuMTU3ODUzNTczNTUzNzAwMzQ=-2-25-25-I2xvY2FsaG9zdDo4MDg3-Iy9oZWxsbw==-Iy9oZWxsbw==

and the call chain is right.like  that

.net core call java ,the head is

sw6=1-MjMuNzYuMTU3ODUzNjc5ODM4MzAwMDk=-MjMuNzYuMTU3ODUzNjc5ODQ0NTAwMTE=-0-23-23-I2xvY2FsaG9zdDo4MDg5-I2h0dHA6Ly9sb2NhbGhvc3Q6ODA4OS9oZWxsbw==-Iy9hcGkvdmFsdWVzLzE=

and the call chain is not right.like  that

I think you should submit the issue to .net repo. SkyWalking header propagation codes are right, due to most users are using it. So, my guess is, in some .net plugin, it doesn't report the data in right format, and the javaagent ignores the header and start a new trace.


docker repository not exist

https://github.com/StevenJSCF/OpenVoice
404 not found

Refer to https://github.com/myshell-ai/OpenVoice/pull/264

Refer to https://github.com/myshell-ai/OpenVoice/pull/264
And https://github.com/vladlearns/OpenVoice/tree/main
Please let us know in the comments of the pull what you think.

Thanks alot. And you can update it in the USAGE.md

@zooyf Will do! Please let me know if it worked for you. It worked for three people so far, but one person had issues—very weird issues—and then left without even trying to elaborate. So, maybe if we collect more feedback on the pull request, it will be merged


Incompatible cppad cg code for clang++

@jcarius had reported the following:
Some configurations* of Clang++ cannot compile parts of the cppad cg code:
/home/USERNAME/catkin_ws/src/ct/ct_core/include/external/cppad/cg/patterns/iter_equation_group.hpp:253:68: error: default initialization of an object of const type 'const std::map<size_t, std::set<size_t> >' (aka 'const map<unsigned long, set<unsigned long> >') without a user-provided default constructor const std::map<size_t, std::set<size_t> > IterEquationGroup<Base>::EMPTYMAPSETS;
The issue is summarized in this Stackoverflow Question
(*) Yet unclear what causes this, on another machine clang worked fine.

Hi, I'm facing the same problem. Did you find out any solution ?

No, as of now, no solution has been reported. It may well be that newer releases of CppAD and/or clang++ and g++ do not show this bug, but this needs to checked and tested.
By the way, the upcoming 3.0.2 makes CppAD and CppADCG optional, which will make it easier to circumvent this problem.


Type aliases requiring type parameters

Sometimes we need to capture a union of types that may be a mixture of primitives, functions, objects, etc. but we want to leave it parameterised (just as we already can with interfaces).
Example
A simple non-recursive example:
type Source<T> = T | (() => T);

Here, a source can either be a plain value or a nullary function that obtains a value.
We can provide uniform access to such sources:
function unwrap<T>(p: Source<T>) {
    return (typeof p === "function") ? p() : p;
}

And then we can specify model interfaces where we we leave open the nature of the source but we tie down the value types:
interface Person {
    name: Source<string>;
    age: Source<number>;
}

e.g. name is a constant, but age depends on when you ask:
var p: Person = {
    name: "John Lennon",
    age: () => ageFromDOB(1940, 10, 9),
}

But we can treat them identically in consuming code:
var n = unwrap(p.name), a = unwrap(p.age);

NB. The above is already possible with union types alone, but the interface Person has to repeat the pattern:
interface Person {
    name: string | (() => string);
    age: number | (() => number);
}

Not so bad for a simple example, but the pattern for a value source might evolve to get more complex and then you have a lot of fiddly updating to do because you "Did Repeat Yourself".
Recursion
The more flexible recursive version:
type Source<T> = T | (() => Source<T>);

A source can either be a plain value or a nullary function that obtains a source (which may be a plain value terminating recursion, or a nullary function that... and so on).
We can again provide uniform access to such sources, either with runtime recursion (risky until tail-call optimisation is widespread):
function unwrap<T>(p: Source<T>) {
    return (typeof p === "function") ? unwrap(p()) : p;
}

Or with a loop:
function unwrap<T>(p: Source<T>) {
    for (;;) {
        if (typeof p !== "function") {
            return p;
        }
        p = p();
    }
}

I was surprised that the type alias feature that was shipped with 1.4 doesn't support type parameters. This makes it of a very limited use which was hardly worth the effort of adding them the way they are. Please consider adding the type parameters, so we can say TypeScript supports type aliases.

:+1: on please allowing for type parameters

I would definitely like this. Was there any reason they weren't permitted in the first place?

:+1: definitely a must have.

Any point on a roadmap? When this (definitely a must have) feature will be implemented?

Lately we've been quite busy with ES6 alignment and the recently announced Angular 2.0 related features. We will get to (re)evaluating some of these type system specific issues but there's no concrete date for issues like this at the moment. If there are other motivating examples/use cases that you have in mind that you think influence the priority or design do let us know.

:+1:
type BaseReactClass<P,S> = reactWrapper.BaseReactClass<P,S>;

Is this feature underway?

Awaiting it eagerly for writing
type P<T> = Promise<T> | T;
type A<T> = P<P<T>[]>;

function resolve<T>(a: A<T>): T[] { ... }

instead of
function resolve<T>(a: Promise<(Promise<T> | T)[]> | (Promise<T> | T)[]): T[] { ... }

:+1:

:+1:

Approved. Anders suggests this will be non-trivial to implement, essentially requiring a new "kind" of type.
Any PR should have a large set of tests, especially in the area of self-referential type aliases and compatibility there.

@RyanCavanaugh can new "kind" of types be avoided if type-aliases will be implemented as higher-level types?
type List = Array
type Of<Container,Element> = Container<Element>
type Numbers = Of<List,Number>

Would it be backward compatible to what we have now?

I don't think so. The issue is that the any use of a type alias is always equivalent to a thing that we already have implemented (object type, primitive type, union type etc.).
A counterexample to that is generic instantiation -- it's never the case today that Foo<string> is anything but an object type, but with generic type parameters in type aliases, it could be a union type. So there's the notion of a new "kind" of thing that is generic, but doesn't always produce an object type.

@RyanCavanaugh  Oh, I see, what you mean. Of course new kind of types emerges here.
I'd say that HighOrderType would be an ideal new kind for types that will cover all needs for generic parameters for type aliases, and introduce new powerful and consistent feature.
Here HigherOrderType is a classical Λ-term
τ ::= φ | τ<τ{,τ}> | Λα{,α}.τ

where

φ – is one of the types that you have already implemented (let's call it final type)
τ<τ{,τ} > — type application (generalisation of generic class instantiation)
Λα{,α}.τ — type abstraction (generalisation of generic class definition)

Here we treat all names of generic classes as values from the universe of higher order types
It would be really cool and consistent to have full featured higher order types in TS
type P<T> = T | Promise<T>

just a syntax sugar to
type P = <T>(T | Promise<T>)

It's very interesting what @ahejlsberg would say about it. Are there practical/pragmatical obstacles to implementing it?

UPD. More text added to the previous comment -)

@Artazor I'm include to think this would be a separate feature suggestion. It's not covered by my examples. Specifically, what's not is highlighted by your example:
type Of<Container,Element> = Container<Element>

i.e. treating the type parameter Container as a generic type rather than a complete type. That's not currently possible anywhere in TS.
Having taken my first look at the tsc code today I can definitely agree with the summary from @RyanCavanaugh and Anders! The code in checkTypeRelatedTo (checker.ts) is organised around the assumption that object types are the only context in which type parameters must be mapped to type arguments.
In my limited understanding I got as far as a function resolveTypeReferenceMembers that sets up a TypeMapper from typeParameters to typeArguments but by that point we're deep into the assumption of structural checking of members of an object. So I guess there would need to be some new if-branches in checkTypeRelatedTo to detect and deal with AliasType, set up the TypeMapper and do the same kind of deep check that is currently done for object types.

@danielearwicker surely it can be a separate feature, but in that case I'm afraid that it will not be implemented at all. And it will disappoint me.
I hope you'd catch the following fictional sad analogy.
Imagine that in early implementation of some language in an alternative reality (where people not yet discovered OOP) you realised, that you need to implement a very special feature: when you extend a class you should be able to change the implementation of the existing method (the method overriding in our world). Meanwhile applications you've considered required only one particular method to be overridable,  so you start thinking that every class should have one such method.
You choose very special magical name to it, and design your language and compiler according to this idea.  Then hacks with switch inside that single overridable method will help to achieve effect of overriding multiple methods, and so on.
Some people can start to ask if it will be worth to allow overriding multiple methods by annotating them as "overridable" ("virtual" in our world), but your compiler is already build on the top of idea, that only one method can be overridden, you implemented special semantics, tricks, optimisations and so on. So if you want to allow multiple methods to be overridable then you have to rollback all these efforts and redesign overriding feature, to make it more general (with high risk to break a backward compatibility).  Or you may try to implement this as a separate feature, that duplicates already existing feature but is more general. In that case you will face with whole matrix of edge cases of interoperability between new feature and old ones, that will probably lead to nightmare. So the most pragmatic scenario in that case is to stitch with single overridable method forever (if you want multiple overridable methods - choose/fork/implement another language).
This sad story is ready to happen with HighOrderTypes in TypeScript. However it maybe already too late to introduce them (by implementation).
My implicit argument for the HighOrderType is that if you have
class MyVeryLongClassName<T> { ... }

then you can already write
type A = MyVeryLongClassName;

that is legitimate short form of the future
type A<T> = MyVeryLongClassName<T>;

and both form should be supported (this will be hold automatically if high order types will be implemented)
Also #2559 will be automatically resolved.
Still want to hear from @ahejlsberg and @RyanCavanaugh. Pleeeease say that it is not too late to implement it! (?)

:+1:

:+1:

Still awaiting on this :+1:

+1

:+1:
It would be great to be able to define type aliases like this:
type Predicate<T> = (element: T) => boolean;

(y)

:+1:

:+1:
It would be great and helpful feature

Since y'all asked: #3397. Enjoy!

+1 What a legend.

Awesome!
On Jun 5, 2015 5:59 PM, "Anders Hejlsberg"<EMAIL_ADDRESS>wrote:

Since y'all asked: #3397
https://github.com/Microsoft/TypeScript/pull/3397. Enjoy!
—
Reply to this email directly or view it on GitHub
https://github.com/Microsoft/TypeScript/issues/1616#issuecomment-109451967
.

-)

:+1:

(Y)

Awesome! My first try on this is type classOf<T> = {new(): T}

@HerringtonDarkholme That seems like an odd use of generic type aliases.  An interface seems like a better choice here:
interface classOf<T> {
    new(): T;
}


App does not work if the device UTC time differ more than 2h from the correct UTC time

Describe the bug
According to:
https://github.com/corona-warn-app/cwa-server/issues/723
@michael-burwig reports: "We do not check whether an end device has its time set correctly."
As far as I understand:
The correct UTC-time of a device is very important.
If the times of two meeting devices defer more than 2h, i.e. |t1-t2|>2h then no key-match will be found, if one of them reports his/her/its infection.
Moreover: if the device of the infected user with an UTC-time & date ti that defers more 2h from the correct UTC-time tu, i.e.
|ti-tu|>2h, then all of the transmitted keys are invalid / useless for others.
On the other hand, if the device time of an CWA user is wrong, he will receive the keys but no match will be found, also.
Note: Even the device shows the correct time and date the UTC-time may be wrong.
I assume IOS and Android devices are effected?
Expected behaviour
The user-set device time should not be important for value matching.
I could not find any information about that.
Possible Workaround
As long as the OS uses the (user-set) device time and not the correct time (from internet, GPS or mobile network) to store the received BT-keys and their own active day-keys, the CWA app should check if the device time is set correct.
The user should be informed that he has to set his device-time to the correct value to ensure the app will work.
This could be done by calling an external time server or a one to be implemented on the CWA server.
Additional context
https://blog.google/documents/69/Exposure_Notification_-_Cryptography_Specification_v1.2.1.pdf page 9
https://app.slack.com/client/T019BKJF80K/C0194ML0MLN/thread/C0194ML0MLN-1598688186.242400
Thanks to Michael Huebler and Paul-Olivier Dehaye

Internal Tracking ID: EXPOSUREAPP-2591

Somewhat related: https://github.com/corona-warn-app/cwa-wishlist/issues/88

Hi @Tho-Mat, thank s for sharing your content. We will keep and discuss this point with our development community and will come back to you as soon as possible.
Thank you.
Best,
MP

Corona-Warn-App Open Source Team

Hello @Tho-Mat Hello @daimpi , if both of you agree I would close this issue here because this topic is similar to #88. Based on #88 the community discuss this with our development team and I will come back to you as soon as possible.
Thank you.
Best,
MP
Corona-Warn-App Open Source Team

@Marco2907
I do not agree.
If time is not correct the app is useless.
So it's not a wish, its the same as if BT is off.

I also don't think closing this issue is right…
https://github.com/corona-warn-app/cwa-wishlist/issues/88 is about a quite different issue, which is only related in so far as that both issues concern the time-setting in your phone…
If anything I think this issue here should probably be moved to the documentation repo, as it affects both iOS and Android.

Hi @daimpi , sorry for the late response and misunderstanding, I will keep this issue to discuss with our development team. I will come back to you as soon as possible.
Thanks,
MP
Corona-Warn-App Open Source Team

Internal Tracking ID: EXPOSUREAPP-2591

This may be the next wrong time issue
https://github.com/corona-warn-app/cwa-server/issues/764#issuecomment-693209906

At the moment 2 of 4100 users that submit their keys seem to use the wrong time.
If i assume the same rate for the 18.000.000 users that download the app, we get round about 8800 users,
that do not know, the app is useless for them.

And again https://github.com/corona-warn-app/cwa-server/issues/764#issuecomment-695217330
So, if the  assumption of wrong date/time is right, this should be fixed
soon.

and again...
https://github.com/corona-warn-app/cwa-server/issues/764#issuecomment-695956079

so at the moment we have 5 of 4871 users with wrong time.
That means 1% or 18000 of 18.000.000 with useless app

and another
2020-09-21-hour-09.zip

Hi @Tho-Mat ,
thanks for raising this. We are currently looking into this with CWA Engineering and our partners in order to better understand the impact of this.
As you already suggested, we could interact with an external time server to check whether system time is off by more than e.g. 2 hours. While this sounds simple, integrating external services requires lots of iterations and approvals, depending on their service agreement.
Alternatively, we could share the server time with the client, for example in an HTTP header, but this also comes with the challenge of accuracy on slow network, etc.
My assumption is that in the end, we might only be able to inform users about the side effects of incorrect time settings and the risks associated with this.
We’ll keep you posted as we proceed in the discussions.
Oh, and btw, I think 5 of 4871 is rather 0,1% than 1% 😉

@mlenkeit

Oh, and btw, I think 5 of 4871 is rather 0,1% than 1% 😉
forgot ‰  sorry :-), corrected.

On the other hand with the missing 6 only those users are counted that have a time far in the future.
(1/2 to one day.)
All users, that have a time in the past also could not be found by this method.
So at least the number has to be doubled.
One easy solution would be to transmit the device time with the key-upload.
That would be an easy method to find wrong time devices.
Theoretically the server then could refuse the data, if device time is incorrect.
Correction of the time is not possible, since you do not know the start-time of the time-difference.
But better take the keys, even they do not work.
What about:
ntp1.t-online.de
"service agreement" should be included?
Time-share sounds nice for the moment.
Accuracy on slow networks is not a problem, since we have a time-period of 2 hours.
Best solution could only be made by Google/Apple, if they save the correct time and not the
device time. Are you in contact with them about this issue?
But at the moment we do not have this, so a solution has to be found with the things we can make ourselves.

@mlenkeit

some new sets arrived at
2020-09-21-hour-17
2020-09-21-hour-20
2020-09-22-hour-00
so in the last 24h at least 5 of 165 users are assumed to have the wrong time.
That looks to much. Maybe the assumption is not correct.
Since only the sets with keys in the far future could be identified, there could be 10 or more with the wrong time.

don't understand me wrong.
The time issue has to be solved. But the reason of the missing 6 could be something else.
The first time the missing 6 occurred was the 22.08.2020. But since then nothing important happend on the client side.
With
https://github.com/corona-warn-app/cwa-server/issues/764
the server crew tries to find out more details.
but on the client side we only talk.
What are the plans to solve this?
"To be reviewed" should be changed to "in progress" or "milestone".

A question on this missing key.
Do we know if it was even sent to the server?
Does the App perform some sanity checks or filtering on the keys retrieved from the ENF?
Have you verified that ENF does not suppress this key? And possibly the behavior differs here between Google and Apple implementation of ENF? and/or between the many iOS versions available meanwhile, including the betas?

@ndegendogo
Good questions.
The first may be answered after 30.09 when the new server version is published.

again we got the issue on:
2020-09-22-hour-08
2020-09-22-hour-15
2020-09-23-hour-03
Does anybody know when the first  IOS14.0 beta was released, that supports cwa?
The massive increase in the issue count may be related to IOS14?

Does anybody know when the first IOS14.0 beta was released, that supports cwa?

Beta 4 was the first iOS 14 version which supported ENF afaik. I think it was released around the time when I made this post to update the respective FAQ entry (4th August).

The massive increase in the issue count may be related to IOS14?

Or, possibly to Apple's new implementation of the ENF that supports the API version 2.
That would be since iOS 13.7.

This topic is now getting attention when we move this into the development planning. As of today, I do not have any date or release that I can share yet.
However, the number of links to other time-related issues gives a good indication about the importance - and now needs to be converted into priority.
I'll keep you posted.

Update for the missing 6 "Risk 6 key is missing in reported keys" https://github.com/corona-warn-app/cwa-server/issues/723
I report here since the issue is closed.
I now believe this is NOT time related.
Too many of them occur in the hour files:
2020-09-24 08:00 1 User
2020-09-24 09:00 2 User
2020-09-24 11:00 3 User
2020-09-24 12:00 2 User
2020-09-24 13:00 1 User
2020-09-24 14:00 1 User
2020-09-24 15:00 3 User
2020-09-24 16:00 2 User
2020-09-24 17:00 1 User
2020-09-24 18:00 2 User
2020-09-24 19:00 1 User
2020-09-25 07:00 4 User
2020-09-25 08:00 2 User
2020-09-25 11:00 1 User
2020-09-25 13:00 3 User
2020-09-25 14:00 1 User
2020-09-25 15:00 2 User
2020-09-25 16:00 1 User
2020-09-25 17:00 1 User
2020-09-26 06:00 1 User
2020-09-26 07:00 1 User
2020-09-26 08:00 9 User
2020-09-26 09:00 3 User
2020-09-26 10:00 4 User
2020-09-26 11:00 3 User
2020-09-26 12:00 3 User
2020-09-26 13:00 10 User
so at the moment we have 73 Users since 2020-08-22, if I count right.
It it is getting more and more every day.
That could not be related to a wrong time.
I more assume it is related to IOS 13.7/14 or some changes in android.

Thanks @Tho-Mat for your update.
So, what is now the plan how to proceed with the analysis of these missing keys?
I assume the improved logging at the server might give more insights?
Is there a ticket for this?

Missing means also there are not in the next day 3am package included ?

@ndegendogo
https://github.com/corona-warn-app/cwa-server/issues/764
@thomasaugsten
https://github.com/corona-warn-app/cwa-server/issues/764
https://github.com/corona-warn-app/cwa-server/issues/723

Missing means also there are not in the next day 3am package included ?
yes: I assume you mean the 2020-mm-dd-hour-00.zip file
I don't think the keys of a user are publish in different hour files. But I may be wrong with this assumption.

I also identify a special case in
2020-09-24-hour-16.zip

risk
date
keys

1
17.09.2020
70

1
16.09.2020
75

1
15.09.2020
70

1
14.09.2020
75

1
13.09.2020
75

1
12.09.2020
75

1
11.09.2020
75

3
18.09.2020
70

3
17.09.2020
5

5
19.09.2020
75

6
23.09.2020
70

8
23.09.2020
5

8
22.09.2020
75

8
21.09.2020
75

8
20.09.2020
75

8
12.09.2020
5

8
11.09.2020
5

Whatever you try, you will always get 2 key-chains with a missing 6.
One of them will have a start date 23.09 with risk 8
One of them will have a start date <=22.09 with risk 8
One explanation would be:
The first      user set his time 1 day in the future
The second user set his time 1 day in the future AND has switched off his phone on the day before he submits his keys.
If I assume that the missing 6 is not related to a time shift
it could be that all submitted keys have the correct UTC date but only the wrong risk value (not sooo bad)
it also could be that the submitted keys have the correct risk value but the wrong date (very bad, all keys are invalid)

The keys of a user are publish in different key files if he submits future keys this keys will publish start date + 26h this means you should find you risk score 6 keys in the 3am packages

@thomasaugsten
Ok.
Let's have a look on the hour-files of the 26.09.2020 (yesterday)
You will find 59 key-chains with a missing 6
With the multiplication of 5 that would result in 295 keys with a 6 for the 26.09.
The first hour file of today is 2020-09-27-06 with 215 key and looks like:

risk
date
key

1
21.09.
5

1
20.09.
15

1
19.09.
15

1
18.09.
15

1
17.09.
15

1
16.09.
15

1
15.09.
15

1
14.09.
15

3
22.09.
5

3
21.09.
10

5
23.09.
5

5
22.09.
10

6
26.09.
20

8
26.09.
5

8
25.09.
20

8
24.09.
20

8
23.09.
10

If you assumption was true there should be 290 more 6es.
only 290 since we only have one "lonely" 6.
a possible distribution

Risk
Date
Keys

Risk
Date
Keys

Risk
Date
Keys

Risk
Date
Keys

Risk
Date
Keys

Risk
Date
Keys

Risk
Date
Keys

Risk
Date
Keys

Risk
Date
Keys

Risk
Date
Keys

Risk
Date
Keys

Risk
Date
Keys

Risk
Date
Keys

8
26.09.
5

8
25.09.
5

8
24.09.
5

5
23.09.
5

3
22.09.
5

1
21.09.
5

1
20.09.
5

1
19.09.
5

1
18.09.
5

1
17.09.
5

1
16.09.
5

1
15.09.
5

1
14.09.
5

6
26.09.
10

8
25.09.
10

8
24.09.
10

8
23.09.
10

5
22.09.
10

3
21.09.
10

1
20.09.
10

1
19.09.
10

1
18.09.
10

1
17.09.
10

1
16.09.
10

1
15.09.
10

1
14.09.
10

6
26.09.
5

8
25.09.
5

8
24.09.
5

6
26.09.
5

@Tho-Mat both tickets you mention are closed.
I am happy if you use this ticket for further investigations, no need to create yet another. I just wanted to be sure, because the title of this ticket suggests a slightly different focus.

@ndegendogo
Since both are close we unluckily talk about 2 different problems.

like the title say.
I no longer believe the missing 6 is caused by the problem in the title.

History:
First i opened https://github.com/corona-warn-app/cwa-server/issues/723
A possible cause was the wrong time of a user device.
Then i opened this ticket to ensure all users have set their device to the right UTC time.
In the meantime a large number of missing 6s has occurred that can no longer be explained with the wrong device time.

ok can you extract the risk level 6 keys of all 3am packages or the first hour file with keys in the last days to see there is a higher distribution of level 6 keys

@thomasaugsten
mist, mist, mist:
Oversaw the -03 file from today.
Will have a look on it
Ashes on my head..

2020-08-22-hour-17: one missing 6 => 2020-08-22-hour-08 one lonely 6 => ok
2020-09-15-hour-22: one missing 6 => 2020-09-16-hour-05 one lonely 6 => ok
2020-09-17-hour-14: one missing 6 => 2020-09-18-hour-05 three lonely 6 => ok
2020-09-19-hour-08: one missing 6 => 2020-09-20-hour-06 one lonely 6 => ok
2020-09-21-hour-06: one missing 6
2020-09-21-hour-09: one missing 6
2020-09-21-hour-17: one missing 6
2020-09-22-hour-00: one missing 6
2020-09-21-hour-20: one missing 6 => 2020-09-22-hour-03 five lonely 6 => ok
2020-09-22-hour-08: one missing 6
2020-09-22-hour-15: one missing 6
2020-09-22-hour-03: one missing 6(or 14 keys) => 2020-09-23-hour-03 four  lonely 6 => ok
2020-09-24-hour-08: one missing 6
2020-09-24-hour-09: two missing 6
2020-09-24-hour-11: tree missing 6
2020-09-24-hour-12: two missing 6
2020-09-24-hour-13: one missing 6
2020-09-24-hour-14: one missing 6
2020-09-24-hour-15: tree missing 6
2020-09-24-hour-16: two missing 6
2020-09-24-hour-17: one missing 6
2020-09-24-hour-18: two missing 6 => 2020-09-25-hour-03 twenty-one lonely 6 => ok
2020-09-25-hour-07: four missing 6
2020-09-25-hour-08: two missing 6
2020-09-25-hour-13: tree missing 6
2020-09-25-hour-14: one missing 6
2020-09-25-hour-15: two missing 6
2020-09-25-hour-16: one missing 6
2020-09-25-hour-17: two missing 6 => 2020-09-26-hour-03 Seventeen lonely 6=>ok
2020-09-26-hour-06: one missing 6
2020-09-26-hour-07: one missing 6
2020-09-26-hour-08: nine missing 6
2020-09-26-hour-09: two missing 6
2020-09-26-hour-10: six missing 6
2020-09-26-hour-11: three missing 6
2020-09-26-hour-12: three missing 6
2020-09-26-hour-13: ten missing 6
2020-09-26-hour-14: two missing 6
2020-09-26-hour-15: five missing 6
2020-09-26-hour-16: two missing 6
2020-09-26-hour-17: two missing 6
2020-09-26-hour-18: three missing 6
2020-09-26-hour-19: three missing 6
2020-09-26-hour-20: seven missing 6
2020-09-26-hour-22: one missing 6 => 2020-09-26-hour-03 sixty-nine lonely 6=>ok
@thomasaugsten
So you are totally right.
The missing 6s are published in the first hour-file of the next day.
I already was wondering about the high amount of 6s on 25.09 and 26.09, but did not see the relation.
Thanks!!!!!
chapeau.
So no key is missing.
But the question remains: are they valid?

Yes they are valid. My assumption is the exposure check is independent of the start date of the TEK.

In the past a user could not submit a key for the current day.
Did this change?

This is still the case sameDay TEK s not yet possible but we are working on this. But if you change your date in the future then the 6er key is a normal yesterday key but with longer wait time because the startdate is in the future or today.
The problem with sameDay TEK there multiple TEKs per day possible.

But if the uses have changed their date to the future days before they submit their keys, all of the later keys are invalid or better: will not match on devices with the correct UTC time.
But I can't believe so many users have changed their date to the future.

The keys should match. I will double check on this but the validness of a TEK is independent of his startDate.
This is a common thing in games to reduce the waiting times. I have no other explanation for this, the ENF will not return sameDay TEK and the sameDay TEK has a riskLevel of 5.

But as far as I know the key is not independently from the date.
So if the date/time is more than +-2 wrong no match will be found.
You could also check, if a call to ENF -to give the own stored keys- will not give you keys for today. For iOS and android maybe one of them has changed this.

But as far as I know the key is not independently from the date.
So if the date/time is more than +-2 wrong no match will be found.

But aren't the RPIs which the user with the wrong date broadcasts also shifted by the offset? In this case the RPIs another user records will still match with the DKs the infected person (with the wrong date) uploaded.

@daimpi
Don't know. But I think this easily could be tested.
AFAIU:
The contact person only gets the TEK and the start period of the TEK and will only look in this period.
With the start period and the TEK the receiving device can calculate possible RPIs to find a match.
Let make things easy: sending and receiving device have the same date
but sending device is in period 1 and receiving in period 30
the function for calculating the RPI = TEK+1

sending device sends RPI=TEK+1 to the receiving device
the receiving device stores the RPI in period 30
the sending device uploads his TEK and the start period (normal the day)
the receiving device downloads the TEK
the receiving device calculates the RPI=TEK+1...TEK+144
a macht will only be found if TEK+1 will be found in period 1..12 (=2h)  but it can't, since it is in period 30.

Correct me if I'm wrong!

the receiving device stores the RPI in period 30

I don't think the time of storage is important in this context. Afaiu the validity period of a stored RPI is encoded in the ENIN, which is part of the PaddedData in the encrypted RPI (documentation, p.7):

I.e. in your example above the recorded RPI would have an ENIN value which corresponds to period 1 not 30, because the ENIN is provided by the sender who lives in period 1.

@daimpi
you are right. For the receiving device it would be possible to find the RPI(i,j) in his storage.
But then every time all received RPI had to be checked against all possible RPI.
For 14day that would be 14000*5=70000 TEK = 10 000 000 RPI to calculate and assume only 10 received RPIs a day
that would lead in 100 000 000 compares.
So they limit the compares to a 2h period on page 9 of the document:
A +/- two-hour tolerance
window is allowed between when a Rolling Proximity Identifier derived from the Diagnosis Key was
supposed to be broadcast, and the time at which it was scanned.
That can only be done, if the receive RPI are stored in a time slot (the time at which it was scanned).

So they limit the compares to a 2h period on page 9 of the document:
A +/- two-hour tolerance window is allowed between when a Rolling Proximity Identifier derived from the Diagnosis Key was supposed to be broadcast, and the time at which it was scanned.
That can only be done, if the receive RPI are stored in a time slot (the time at which it was scanned).

Good point I forgot about this. I remember we recently had a conversation on this topic on Slack 🙂.
In this case you're o/c right: the scanning/storage timestamp of the receiving device also matters for the RPIs validity and having your clock out of sync with real time by more than 2h will render your CWA pretty much useless no matter whether you're the sender or the receiver.

We will setup a test
three receiving device with wrong date and time
All devices a reseted with not collected keys
device01Android = -4h in the past
device01Iphone = -4h in the past
device02 = -24h in the past
device03 = correct time
device 01a, 01i, 02 and 03 are close together for 1h
device 03 will submit his keys and we will check the exposure on device 01 and 02
Will this answer all questions?
My opinion is only the RPI is important not the startdate of the key. This means the device with exact 24h will receive an exposure.

@thomasaugsten thanks this sounds great, I'm curious for the results 🙂.

My opinion is only the RPI is important not the startdate of the key. This means the device with exact 24h will receive an exposure.

Are you saying that your expectation is that device02 will receive an exposure, but not device01a/i ?
I would expect that none of the devices would receive an exposure, as they're all outside the 2h tolerance window.

Will this answer all questions?

@thomasaugsten I suggest to use one iOS <= 13.6.1 and another >= 13.7.
Apple has reimplemented their ENF to support the new spec version, and we have already seen several issues that they broke the backwards-compatibility ...

@thomasaugsten
there should also be 1 android and one iOS device with the correct time and most resent os.
This will show if they submit a key for today.
All of the four other devices should also submit their keys not only receive.

We are 100% sure the devices are not submit the sameDay TEK Risk Level 5. On Android only beta accounts and whitelisted bundleID on Apple only in ENAPIVersion 2

I know no same day key with risk level 5 is submitted by the users.
But that may depend on the app implementation.
The keys the app receives from the ENF could contain a key for today that gets the 6 by the app.

@thomasaugsten
on 2020-09-27 (hour-files 03-22) at least 41 users report a sameDay key 2020-09-27 with risk level 6.
Those keys were publish at 2020-09-28-hour-03.
That is round about 40% of the reporting users.
on 2020-09-28 (hour-files 03-20) at least 70 users report a key for 2020-09-28 with risk level 6.
Those keys were publish at 2020-09-29-hour-03.
That is round about 47% of the reporting users.
(Just saw you forget a device with a time in the future, but I think it will not be needed if all devices act as infected).

My expectation for the test if the user set device time is used:

If the correct GPS time or internet time would be used, then the user set time is not relevant.

@thomasaugsten
Now that you've been testing for 8 days, I'm looking forward to the presentation of the results.

Hi I have first results here and it looks like Google and Apple following this +-2h window. I will create tickets to help the users with an incorrect time

@thomasaugsten

Hi I have first results here and it looks like Google and Apple following this +-2h window. I will create tickets to help the users with an incorrect time

What do you mean about tickets?
Will a user be informed by the App?
It is not enough to just add a new entry to the FAQ. Nobody with incorrect time will read it.
Since he does see an error and does not know the app is useless for him.

@thomasaugsten
And what about the today key?
Any news about that?
You should also have seen this in your tests.

Ticket mean we created a backlog item to create a design to warn people with incorrect time and please them to correct the time.
Yes we see the sameDay TEK but Google is still searching why this is activated for Germany

@thomasaugsten
I would like to remind you in my open questions:
Do both, iOS and Android use the user-set device time? (Should be answered by your tests)
If not, did you ask apple and google to change this?

They use the device time set by The user

While IMHO the published code can’t be the production code, I think this shows what Google is doing with the 2 hour window: https://github.com/google/exposure-notifications-internals/blob/e953a09dd3c20c04dfa29e362eef461890dac25c/exposurenotification/src/main/java/com/google/samples/exposurenotification/matching/ExposureMatchingTracer.java#L648
Note that this is done after matching.

Not really solved, but improved with 1.7.0:
https://github.com/corona-warn-app/cwa-app-ios/pull/1426
The app will now show a message to the user if the device time is not correct.

Thanks, @Ein-Tim.
Related Internal Tracking ID: EXPOSUREAPP-3241

HI @Tho-Mat
This has been fixed already in release 1.11. Related internal ticket EXPOSUREAPP-2998.I suggest closing this issue.
Best wishes, DS

Corona-Warn-App Open Source Team

Also related: EXPOSUREAPP-3065


fix(deis.go): do not add top level command to cmdArgs

Ported from V1: https://github.com/deis/deis/pull/5099.

Background
We have a private PaaS with multiple Deis clusters (staging + two productions at the moment). We have also a tool that allows us to manage all clusters from a single web panel. It also connects other APIs such as servers provider and DNS provider. As the result we can perform actions that touches many parts of the system (for example create DNS records for all Deis workers and make CNAME to use with DEISCTL_TUNNEL or create a database and assign DATABASE_URL for a given application). We have also created plugins to extend Deis CLI. For example there is a support for database (+backups) management and easy SSH access for our developers.
Problem
We have deis backups:[create|show|restore|list] commands and we want to show usage help if user tries deis backups. There is a problem in such case because Deis CLI invokes deis-backups backups. Without additional support on the plugin side, it will throw an invalid command error.
Solution
We can solve it on the plugin side to handle unexpected arguments, but it feels not okay. Instead, Deis CLI should skip top level command (backups in this case) in cmdArgv. It already does that when used as deis backups:list or even deis backups:.
Code snippets
The output contains output using the following patch:
diff --git a/deis.go b/deis.go
index 6096618..85e574e 100644
--- a/deis.go
+++ b/deis.go
@@ -165,6 +165,12 @@ Use 'git push deis master' to deploy to an application.

                cmdArgv := prepareCmdArgs(command, argv)

+               fmt.Fprintf(wErr, "command: %s\n", command)
+               fmt.Fprintf(wErr, "argv: %s\n", argv)
+               fmt.Fprintf(wErr, "binary: %v\n", binary)
+               fmt.Fprintf(wErr, "cmdArgv: %v\n", cmdArgv)
+               return 1
+
                err = syscall.Exec(binary, cmdArgv, env)
                if err != nil {
                        parser.PrintUsage(&cmdr)

After
workflow-cli λ ./_dist/deis backups
command: backups
argv: [backups]
binary: /Users/smefju/.rbenv/shims/deis-backups
cmdArgv: [deis-backups]

workflow-cli λ ./_dist/deis backups:list
command: backups
argv: [backups:list]
binary: /Users/smefju/.rbenv/shims/deis-backups
cmdArgv: [deis-backups list]

workflow-cli λ ./_dist/deis backups --info
command: backups
argv: [backups --info]
binary: /Users/smefju/.rbenv/shims/deis-backups
cmdArgv: [deis-backups --info]

workflow-cli λ ./_dist/deis backups:create --info
command: backups
argv: [backups:create --info]
binary: /Users/smefju/.rbenv/shims/deis-backups
cmdArgv: [deis-backups create --info]

@bacongobbler I have extracted code to the prepareCmdArgs function to make it testable. I can make it the same in V1 if approach is okay. There is one spec missing:
func TestNastedCommandArgsPreparing(t *testing.T) {
	t.Parallel()

	command := "ssh"
	argv := []string{"ssh:info"}
	expected := []string{"deis-ssh info"}
	actual := prepareCmdArgs(command, argv)

	// t.Errorf("Expected %v, Got %v", reflect.TypeOf(expected), reflect.TypeOf(actual))
	if !reflect.DeepEqual(expected, actual) {
		t.Errorf("Expected %v, Got %v", expected, actual)
	}
}

I have got the following error:
--- FAIL: TestNastedCommandArgsPreparing (0.00s)
    deis_test.go:88: Expected [deis-ssh info], Got [deis-ssh info]

Both objects are []string type. Not sure where the issue is.

Thanks for the unit tests!

Current coverage is 72.29% (diff: 50.00%)

Merging #255 into master will increase coverage by 0.08%

@@             master       #255   diff @@
==========================================
  Files            57         57
  Lines          3904       3905     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           2819       2823     +4
+ Misses          777        773     -4
- Partials        308        309     +1

Powered by Codecov. Last update a6cd7e6...1622cf6


Python tests take very long

Looking at the test results, python tests generally take ~30 minutes to run while other wrapped languages only take a few minutes.
https://grpc-testing.appspot.com/job/gRPC_master_linux/241/testReport/(root)/aggregate_tests/
I know python has comparatively more tests (and that's great!), but it still seems that's not the only reason. Perhaps it would be worth investigating a bit why python tests take such long time to run.
(this is part of a general effort to decrease PR turnaround time)

CC @matt-kwong
(and sorry for typos in the issue name)

Thanks for the link but it doesn't offer too much insight into what's going on. How much more can you tell us about what they're doing in the thirty minutes during which they're running? They should be running in parallel; do we know that they are? Is any of that thirty minutes spent in build_python.sh, and if so how much? What's the "long pole" that if it were to be improved would most reduce the overall time?

Is ccache still being made available to the tests?  I posit that either Jenkins is doing something wonky that's making Python slow, or that something else has changed. In either case, I'm questioning whether or not this is further actionable without diving into Jenkins.

@soltanmm-google   how did you obtain the data? Running locally on your workstation?
also, what -j value has been used for run_tests.py?    If you run locally on your workstation I think you end up with -j 12 (= core count).

Does python have many long-lived tests? If so, tweaking the -j  value in our config could have a positive effect on the total running time.
CC @matt-kwong

I adjusted the test parallelism values to have Linux basic tests run in about 30 mins, although this doesn't affect Python specifically. I think a large reason Python tests take longer to run than other languages is that each individual test takes at ~30 seconds to run as seen here: https://grpc-testing.appspot.com/job/gRPC_master_linux/400/testReport/(root)/python_linux_dbg/. Every other language has tests finishing in < 1 second, so perhaps the slow tests issue is related to this.

We do have a number of tests that can take on the order of tens of seconds to finish (on my workstation). There does also exist at least one perma-hang somewhere in _rpc_test.py (which is being heisenbuggy much to my chagrin), but that'd result in a test timeout instead of the tests just being slow.

@matt-kwong   perhaps it makes sense to set -j  (a.k.a. _INNER_JOBS from run_tests_matrix.py) to a higher number specifically for python? Ideally, what we would want is to set parallelism just for running the tests (not for building), but I think increasing -j  for python will do the job just fine.

I already have _INNER_JOBS set to 150, which is pretty good imo for balancing test speed and not killing the workers. In fact, I think there might be test flakiness involved with a high _INNER_JOBS, but this is a completely separate issue I'm investigating.

Clearly a matter of opinion, but I'd expect 150 to be way to high (because
this might also run make -j 150 which is a bit crazy). I'd expect ~20 to
behave nicely. But yeah, let's use data and not guesses.
On Wed, Nov 9, 2016 at 11:43 PM, matt-kwong<EMAIL_ADDRESS>wrote:

I already have _INNER_JOBS set to 150, which is pretty good imo for
balancing test speed and not killing the workers. In fact, I think there
might be test flakiness involved with a high _INNER_JOBS, but this is a
completely separate issue I'm investigating.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/8494#issuecomment-259548284, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJeq5AIzhd6JnlZG2ylmBpL7FkYNQLoNks5q8kymgaJpZM4KgckK
.

I was benchmarking testing times against CPU usage on VMs, but I think that alone wasn't a good way to determine the -j value. I went ahead and readjusted it on Jenkins and will look into assignining specific -j values for different sets of tests.

It looks like Python test timing has gone down since this issue was reported: https://grpc-testing.appspot.com/job/gRPC_master_linux/1786/testReport/(root)/. Additionally, that 10 minute report time is just the summation of the individual test times, and since we run tests in parallel, the real time taken to run all Linux Python tests is around 5 minutes.
Running time python tools/run_tests/run_tests.py --use_docker -t -j 16 -x report_python_linux_dbg_native_sponge_log.xml --report_suite_name python_linux_dbg_native -l python -c dbg --iomgr_platform native takes 2.5 minutes when I run on a Linux VM. Of those 2.5 minutes, 1 minute is spent running https://github.com/grpc/grpc/blob/4f0752318b1f2f703b71b60f4404ef2954692354/tools/run_tests/helper_scripts/build_python.sh twice (once for Python 2.7 and the other for 3.4). Aside from making sure all of the commands in that script are necessary, I'm not sure how else to reduce the time taken to run Python tests.

The right report to look at is the "aggregate tests" (each of them corresponds to a single suite ran by run_tests_matrix.py).
https://grpc-testing.appspot.com/job/gRPC_master_linux/1786/testReport/(root)/aggregate_tests/
The sum of all tests run times is unimportant (from the high level perspective, we only care about the entire test suite finishing as soon as possible to reduce the PR turnaround time).
Actually right now  the dbg and opt  python suites take <3 mins each, which is definitely acceptable (it used to be more like 30 mins AFAIK). Do we know what we changed since then?

I think it's fine to close this issue now, but understanding why the python tests now run 10x faster would be great.

I'm not sure what changed, but @nathanielmanistaatgoogle might know why Python test timing has significantly decreased.


Health Boost Potion Charm constantly resets health.

The Health Boost Potion Charm grants the effect for long enough that you will technically always have the extra hearts, but because the effect is applied again an instant after it dissipates, the player takes damage every time it refreshes, resetting the extra hearts and effectively just making what would be a very useful charm into an active detriment to wear, as it just drains hunger to regenerate and then remove the same two hearts repeatedly.
If this is intended / the charm is meant to be useless, why even have the charm as an option at all for someone to craft only to be disappointed?

A possible solution could be for potion charms to apply their effect for just a second longer than technically necessary, so that, like a Beacon, the effect refreshes before it runs out.

is that even a vanilla effect?  Charms are dynamically generated for everything, I can't magically know what needs special handling

It seems that the potion was from another mod, I apologize for assuming that apotheosis added it.
Still, it is a vanilla effect, just not one normally accessible in Survival. I've seen it added in other mods as well, so it would make sense for Apotheosis to support a vanilla buff, even if it normally isnt available as a potion.

(the wiki page for the vanilla buff) https://minecraft.fandom.com/wiki/Health_Boost

Health Boost is an unused status effect so it's... not available normally, which means a mod is making it available.  A charm would only be generated for it if a craftable potion exists for it
Anyhow I can just give it the same treatment as night vision, I suppose.

Sounds good to me.

Will be added in 5.4.0

Re-opening this a while after the update. Though its not an immediate issue for me anymore, it seems that extending the time for the effect doesn't resolve the problem. It seems that, even if there is extra time left, re-applying the effect still causes the health to reset and take up saturation to refresh.
After messing around with the Effect Give command, it seems like this might just be a vanilla issue with re-applying health boost when a player already has it. :(
Not sure if it's possible to fix this, but I figured I'd at least reopen this issue in case others have the same problem in their modpacks.


Add a way to force the app to update if the user never restarts their phone or exits the app

Currently, if the user never restarts the app, updated versions loaded from AppHub will never get run. Since certainly some people I know keep their iPhones on perpetually and never fully exit apps, this means they could be waiting a long time between updates.
My boss @TobyAbel recently raised this by email with @benthehenten asking whether there was any built-in way to deal with this problem (there isn't) and suggesting that otherwise we can roll our own logic to quit the app from the background so that it can update. Ben agreed we'd need to handle such a case manually. But I think there's actually a fair bit of nuance here and it would be good to hash out how to do this publicly and then - if it is indeed possible - to add a method to the library that implements this logic.
Interface-wise, I'm imagining being able to add something like
[AppHub restartAndLoadNewBuildWhenInactiveForMinutes: 60];

to my AppDelegate.m in order to have the app request background execution time to kill itself whenever there is a new build waiting to be run and it has been inactive for at least an hour.
This seems like it's probably pretty easy for somebody familiar with the native framework's API to bash out, but tricky for every React Native developer to need to roll themselves, which to my eyes justifies including it in the SDK. Thoughts?
Also, does anybody know whether doing this would even be allowed per Apple's rules? I've read contradictory things on the internet about the acceptability of calling exit(0). https://developer.apple.com/library/ios/qa/qa1561/_index.html is pretty explicit about it being a thing that should not be done, but I've read people claim to have successfully submitted apps to the app store that call it. Thoughts?
And if we can't implement killing the app from the background, what would be the nicest way to reinitialise the React Native part of it from the background instead, and can that similarly be nicely wrapped up in a method in this SDK?

Hey @ExplodingCabbage, this is actually pretty simple to do with React Native! All you have to do is call [_bridge reload] and React Native will automatically restart the app.
Here's an example AppDelegate.m that implements this behavior: https://github.com/AppHubPlatform/AppHubStarterProject/blob/master/iOS/AppHubStarterProject/AppDelegate.m
We should consider adding this feature directly the AppHub SDK, since it is commonly requested. I'll leave this issue open. If a few more people chime in, we should think through a way to add this to the library.

@arbesfeld Is it possible to get the starter project updated?
I don't really know what I'm doing with Obj-c and that AppDelegate.m seems to be very out of date from the latest react-native version, so its a big struggle to get this working for me

@badams this actually still works. I'm currently using it in my project. What are you having trouble with?


include codeworld-available-pkgs in cabal.project

This PR also changes codeworld-available-pkgs.cabal so that building succeeds without GHCJS.

What's the advantage of doing this?

CI coverage, and I think it might help get Nix support working


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_90c388c8-648a-4fba-afd5-c08585702f07/pull/1 is merged into live branch.
Auto archive content to https://github.com/opstest2/docs-archive-test-target_90c388c8-648a-4fba-afd5-c08585702f07.git

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

File
Status
Preview URL
Details

:x:Error

Details

[Error-RuningBuildFailed] Some unexpected errors happened when running build, please open a ticket in https://aka.ms/SiteHelp and include the error report for our team to troubleshoot

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


How to handle data imbalancing?

In which section of the code, data imbalancing can be handled. Any help would be highly appreciated

“\second\data\preprocess.py ”，maybe this file

@chowkamlee81 @LittleYuanzi  what technique is used for data imbalancing ?? is it DS sampling


In-Meeting Task Modules pop up appears in dark as blank (desktop client)

we have implemented the teams tab task module from the below sample reference and same task module has been added as side panel in meeting, and in meeting Task module appears in dark as blank (below snap) and it only happens in desktop client and with web client it's working fine. (This is adoptive card-based task module).
reference 1: https://github.com/nanddeepn/code-samples/tree/master/MSTeams/task-modules-tab/YouTubePlayer_AdaptiveCards
reference 2: https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/meeting-recruitment-app/nodejs
web client works fine:

desktop client:

@pjpraveenjayakumar - We are looking into this we will get back to you soon. thanks!

@pjpraveenjayakumar -We already raised Bug for the issue and concerned team is looking into it. We will inform you once we get any update.

@sayali-MSFT thanks for the update.

@pjpraveenjayakumar -We are checking the status of the fix release with the engineering team. We will let you know once we have any updates on it.
Thanks!!

@pjpraveenjayakumar - Issue is resolved.
Microsoft Teams Version <IP_ADDRESS>79 (64-bit).
Could you please check it once and confirm the same.

Hello @pjpraveenjayakumar - We are closing this issue for now, please feel free to reopen it, if required.


How to autofocus the graph when clicking

Hello,
Is there a way to autofocus the graph on the selected markdown?
I have a very big graph and it is hard to find the blue dot, an autofocus option would be really nice

Hi!
Do you mean auto focus by scrolling the graph so the blue dot is visible? This is currently not (yet) supported, but it's an obvious thing to have and definitely should happen at some point.

Closing due to lack of activity in this issue.


Help with tests using cmp.Diff and chinese characters?

Hey there,
I'm trying to reproduce an issue in one of the projects I maintain and am using cmp.Diff to show what went wrong when a test fails. The issue I'm facing now is that I can't read the output, so I'm not able to do much with the information given.
I guess my question is, what can I do with the byte output shown below and would the // +|.[0m.[38;5;252m| be the string value of what's changed?
    glamour_test.go:279: got != want
        -want +got:
        diff:
          string{
          	... // 78204 identical bytes
          	0x6d, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x35, 0x32, 0x6d, 0x1b, 0x5b, 0x30, 0x6d, //  |m.[38;5;252m.[0m|
          	0x20, 0x20, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x35, 0x32, 0x6d, 0x31, 0x3a, 0x34, //  |  .[38;5;252m1:4|
        + 	0x1b, 0x5b, 0x30, 0x6d, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x35, 0x32, 0x6d,       // +|.[0m.[38;5;252m|
          	0x3a, 0x39, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x35, 0x32, 0x6d, 0x20, 0x1b, 0x5b, //  |:9.[38;5;252m .[|
          	0x30, 0x6d, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x35, 0x32, 0x6d, 0x20, 0x1b, 0x5b, //  |0m.[38;5;252m .[|
          	... // 340063 identical bytes
          }
--- FAIL: TestWrapping (0.33s)
    --- PASS: TestWrapping/english_short (0.00s)
    --- PASS: TestWrapping/chinese_short (0.00s)
    --- FAIL: TestWrapping/chinese_long (0.33s)
FAIL

cmp version: github.com/google/go-cmp v0.5.9
go version: go 1.17
Here's a link to the pull request and an example output we're comparing:
https://github.com/charmbracelet/glamour/pull/249
testdata/issues/long-chinese-text.test
Thank you very much for your great project and I appreciate any guidance you're able to give :)

This output seems to be working as intended. You're comparing two strings that cmp.Diff has detected contains non-printable characters. For that reason, it switched to a mode where it diffs the raw byte values.
This particular output is saying that the got has an additional string injected at some offset after 78204:
0x1b, 0x5b, 0x30, 0x6d, 0x1b, 0x5b, 0x33, 0x38, 0x3b, 0x35, 0x3b, 0x32, 0x35, 0x32, 0x6d,

The best ASCII representation of this string is:
.[0m.[38;5;252m

(BTW, the output you are seeing is inspired by the hexdump utility, which prints the raw hex values on the left, and the best ASCII representation on the right.)
This happens to be an ANSI escape sequence that is common in terminals.

@dsnet ah amazing, thank you for your help!


Pr/juliusl/agentpools operationresults

Signed-off-by: Julius Liu<EMAIL_ADDRESS>MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[x] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month. February/March
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.  Feburary/March
If updating an existing version, please select the specific langauge SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[x] No refresh required for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[x] Check this box if any of the following apply to the PR so that label "WaitForARMFeedback" will be added automatically to begin ARM API Review. Failure to comply may result in delays to the manifest.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you are using OpenAPIHub to initialize the PR for adding a new version. More details, refer to the wiki.

[x] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

Addresses https://github.com/Azure/azure-sdk-for-go/issues/15042

Our RP Champ said we didn't need to put this in our swagger doc since it's for async-operation tracking


multiple reads of nasa-nex-gddp-cmip6 dataset from MultiZarrToZarr concatenated metadata returns all nans

Simply running twice cells 13 & 14 of the notebook that read and plot point single variable time-series for a point will reproduce this issue where the first run will have the valid values but second will be all nans. I encountered this when parallelizing reading of the files with dask that results in multiple reads and the unexpected result.

Thanks for the report. I won't have a chance to look into this for a while, but one note in case you want to look into it:
It looks like that's mutating a value in-place:
d["templates"][key] = d["templates"][key] + "?" + sas_token

So that cell probably isn't idempotent, and so it probably wouldn't be safe to run multiple times.  I wonder what would happen if you avoid that (either by splitting the logic that updates the template, or by copy.deepcopy-ing d before running that.

Thanks for the quick response, will test that out.


Canonize service port env vars so K8S doesn't break them with tcp://<…

…ip>: prepended
Also reduce _HOST_PORT usage keeping it standard _PORT

Tested drupal, magento1, magento2 and spryker builds locally.


Model temperature argument setting

In the extract_thinker.llm.py file, it is suggested we pay more attention to model temperature.
For extraction purposes, setting the temperature to 0 presents a more consistent output.
below is not the best practice but a quick warp around.
    def request(self, messages: List[Dict[str, str]], response_model: str) -> Any:
        # contents = map(lambda message: message['content'], messages)
        # all_contents = ' '.join(contents)
        # max_tokens = num_tokens_from_string(all_contents)

        if self.router:
            response = self.router.completion(
                model=self.model,
                temperature=0,  # Set temperature to 0, for more consistent output
                #max_tokens=max_tokens,
                messages=messages,
                response_model=response_model,
            )
        else:
            response = self.client.chat.completions.create(
                model=self.model,
                temperature=0,  # Set temperature to 0, for more consistent output
                #max_tokens=max_tokens,
                messages=messages,
                response_model=response_model,
                api_base=self.api_base,
                api_key=self.api_key,
                api_version=self.api_version
            )

        return response

Yes. 100%
For IDP temperature doesnt matter, because should always be zero. I just added as a copy of Liltellm in terms of ctor as you can see.
Let me clean this as a proper way, because you dont need this "api_base" types of things, you can always set them as public variables.

Gonna merge this. But you can check at main,


Carthage Support

Added support for all three libraries as modules via Carthage. This involved adding a few new umbrella headers, and additional empty categories to force load from the static libraries.
The resulting frameworks provide modules that are used like:
@import FlurrySDK;
@import FlurryAdsSDK;
@import FlurryTumblrAPI;

Note that "FlurryAds" has "SDK" in it's name now. This was to avoid umbrella header file conflict with existing FlurryAds.h. Though, I believe the SDK is warranted regardless... this is the only incongruency between the CocoaPods and Carthage versions.
Since this doesn't require any breaking changes, we can get away with a minor version bump.
/cc #1

:+1:

Any movement on this?  I tested it out and it works great with Carthage!  It would be nice to see this officially merged.

Me too!

:+1: Please review and merge!

The SDK team has put it on the roadmap to review and merge with an upcoming release.
Regards,
Mike
On Tuesday, November 17, 2015 12:46 AM, Tommy Chheng<EMAIL_ADDRESS>wrote:

Please review and merge!—
Reply to this email directly or view it on GitHub.

@flurrydev  Thanks Mike!

see https://github.com/flurry/Flurry-iOS-SDK/issues/16

Any news ?

@adamkaplan Can you please update your fork to resolve conflicts and so it can be used instead of official Flurry version for Carthage compatibility?

Are we waiting for something here?

I am closing this per issue #16, and because it has become a distraction... PRs should not fester for so long. Ideally the Flurry team could allow a community member to maintain an unofficial, unsupported version with support for Carthage and simply link to it.
My fork will remain, for the foreseeable future. If anyone wants to submit PRs against it, or take ownership of it, I am open to that. I ended up not using Flurry via Carthage, so I do not intend on keeping a shadow fork up to date (@lyuna).