Go Live 12 Nov

Push to live

Docs Build status updates of commit e2e8075:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/index.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Linux performance issues

Hi,
We talked about the GC features not yet implemented on Linux. Following is an example of where JsCreateString in a hot path can severely harm perfomance:
#include <ChakraCore.h>
#include <iostream>
#include <cstring>
#include <fstream>

void registerGlobalFunction(const char *name, JsNativeFunction nativeFunction) {
    JsValueRef jsFunction;
    JsCreateFunction(nativeFunction, nullptr, &jsFunction);
    JsPropertyIdRef propertyId;
    JsCreatePropertyIdUtf8(name, strlen(name), &propertyId);
    JsValueRef globalObject;
    JsGetGlobalObject(&globalObject);
    JsSetProperty(globalObject, propertyId, jsFunction, true);
}

JsContextRef context = 0;
JsValueRef cbFunction = 0;

int main(int argc, char **argv) {

    std::string script = "setCb((verb) => {});";

    JsRuntimeHandle runtime = 0;
    JsValueRef result = 0;
    unsigned currentSourceContext = 0;

    JsCreateRuntime(JsRuntimeAttributeEnableExperimentalFeatures, nullptr, &runtime);
    JsCreateContext(runtime, &context);
    JsSetCurrentContext(context);

    registerGlobalFunction("setCb", [](JsValueRef callee, bool isConstructCall, JsValueRef *arguments,
                           unsigned short argumentCount, void *data) -> JsValueRef {
        JsAddRef((cbFunction = arguments[1]), nullptr);
        return nullptr;
    });

    JsValueRef scriptSource = 0, scriptUrl = 0;
    JsCreateExternalArrayBuffer((void *) script.data(), script.length(), nullptr, nullptr, &scriptSource);

    JsCreateString("scriptUrl", 4, &scriptUrl);
    JsRun(scriptSource, currentSourceContext++, scriptUrl, JsParseScriptAttributeNone, &result);

    JsValueRef globalObject = 0;
    JsGetGlobalObject(&globalObject);

    const char string[] = "Something for JS-land";

    // adjust this number for your computer
    for (int i = 0; i < 20000; i++) {
        JsValueRef verb = 0;
        // creation of this string cause major slowdown
        JsCreateString(string, sizeof(string) - 1, &verb);

        JsValueRef arguments[] = {globalObject, verb};
        JsCallFunction(cbFunction, arguments, 2, &result);
    }

    JsSetCurrentContext(JS_INVALID_REFERENCE);
    JsDisposeRuntime(runtime);

    std::cout << "Reached the end" << std::endl;
    return 0;
}

I was suspecting from Utf8 encode/decode stuff at first. However, testing the sample above with different inputs show GC is the real cause. (note: we don't have high performance GC features available on xplat yet.)
20K -> original loop
real	0m0.339s
user	0m0.324s
sys	0m0.008s

30K
real	0m0.902s
user	0m0.786s
sys	0m0.018s

50K
real	0m1.718s
user	0m1.702s
sys	0m0.009s

@alexhultman Thanks for the test case.

@leirocks @jianchun FYI, worth running this test case as part of SWB/Partial GC validation

This is no longer an issue. @alexhultman could you please contribute this sample as a test case?
Create a new folder under test/native-tests and copy Platform.js and sample.cpp from test-char. Update the sample.cpp with your code above. JsCreatePropertyIdUtf8 -> JsCreatePropertyId


The datagrid is setting its column width too early when used inside an accordion panel.

Describe the bug
The datagrid component is setting its column width too eagerly when it's used inside the accordion panel.
How to reproduce
https://stackblitz.com/edit/clr-basic-datagrid-luwtjk
If you open the accordion panel and check its datagrid column widths, all of them are set to 0.
Expected behavior
The datagrid component should set proper column widths even if it's used inside the accordion panel.
Additional notes
The workaround to this issue could be instantiating the Datagrid only after the accordion panel opens fully.

just wanted to say this is also happening for my grid not in an accordion.
the grid renders before the data loads into it, ignoring the column widths.
<clr-dg-column _ngcontent-ufc-c11="" role="columnheader" class="datagrid-column ng-star-inserted" aria-sort="none" style="width: 0px;">

from
<clr-dg-column [style.width.px]="85">Size (MB)</clr-dg-column>

but if i load the page, via a different method when the data is ready.
<clr-dg-column _ngcontent-ufc-c11="" role="columnheader" class="datagrid-column datagrid-fixed-width ng-star-inserted" aria-sort="none" style="width: 85px;">

this only happens when i first load a page straight onto a view with a datagrid. any navigation after are fine.
its almost like the first time clarity renders something it has not loaded something?
if i set a timeout on a variable *ngIf'ing the datagrid, it works - but the screen flashes.
calling resize() on the ClrDatagrid viewchild has a hardcoded 92px min-width!
on first load:

after internal navigation:

@Dedme - datagrid columns have a 4rem min-width on the [.datagrid-column]. Binding [style.width.px]="85" will not override that. But, you could add in [style.min-width.px]="85" and it should override the styles delivered with the datagrid.
I don't think what you are describing is related to this issue. But to be sure, could you supply a stackblitz reproduction of the behavior you are seeing so we have working code to reference when investigating?

We experience the same issue. Some of the fields get so small that the filter and sort icons are invisible (column "Objektnummer" in this example) and the drag line goes over the text of the second column when the accordion is initially closed.

This does not happen if the accordion is open right away from the beginning.

@rootix - can you provide a simple reproduction in stackblitz? It's hard to investigate without seeing the issue with working code.

I believe one workaround would be to call the Datagrid.resize() method on open to force the Datagrid to recalculate sizes.

@hippee-lee Sure, here it is: https://stackblitz.com/edit/clarity-light-theme-v2-cuusjx

The issue happens only if there is not enough space for the columns
It does not happen if the column titles can break

@gnomeontherun I tried this already in afterViewInit with no luck. The only temporary hack was to put the grid in another ng-container which *ngIf set to true after an delay of 1ms after the accordion open is true in Chrome (even 100ms was not enough in IE11 as the animation of the accordion went nuts). But with this "fix" you see a "stair" when opening the accordion as the content is loaded after the initial animation of the empty container.

@rootix - I was able to find a way to make resize work.
I modified the example provided to use de-sugared syntax on the second row to grab the grid reference and call resize on it after the template has been rendered. I also used a separate grid because the reference needs to be distinct. If there are two templates with #grid rendered I'm not sure if it would call resize on the right one.
<clr-accordion-content clrIfExpanded (clrIfExpandedChange)="gridPanelChange($event)">
The de-sugared syntax gives a hook to call the resize method after the view has been rendered by the *clrIfExpanded directive.
I think something like this might work for you:  https://stackblitz.com/edit/clarity-light-theme-v2-o7ss2o
It seemed like there is an issue with the lifecycles of *clrIfExpanded used in conjunction with ngTemplateOutlet. The ExpressionChangedAfterItHasBeenCheckedError in the stackblitz example may be caused because is running before the template gets instantiated and rendered to the DOM via ngTemplateOutlet.
I would recommend using separate datagrids for content that is displayed immediately vs content that user may expand later. And, for content in the first panel that is loaded as expanded I'm not sure *clrIfExpanded is needed there because *clrIfExpanded is an optimization directive that only renders its template to the DOM as needed. (if the accordion has hundreds of rows each with a datagrid the clrIfExpanded directive would prevent all of the datagrids from being instantiated until the user interacted with them).

Binding [style.width.px]="85" will not override that

@hippee-lee is there a feature request to enable this in the future?

@geyuqiu - if i understand your question to be  "wiill Clarity provide an input for column width?" the answer is no.
If you want to set a different min-width for a column the way to do that would be to add both the [style.width] and [style.min-width] attributes to the column.

There is a workaround available for this issue, and we recommend using it for Clarity Angular. We would consider a contribution to address this issue if someone is able to work out a solution. As we build Clarity Core implementations, we expect that this issue won’t be an issue or will be configurable on the application side. To help us clean up our backlog, we are going to close this with a functional workaround available and suggest you follow updates for Clarity Core for enhancements that can support your use case with Clarity Core components.


fix:去掉uuid的中划线

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Crash on

I issue the command:
yard gems
and it crashes.
All the info I have to pass along is this:
[warn]: Load Order / Name Resolution Problem on State:
[warn]: -
[warn]: Something is trying to call child on object State before it has been recognized.
[warn]: This error usually means that you need to modify the order in which you parse files
[warn]: so that State is parsed before methods or other objects attempt to access it.
[warn]: -
[warn]: YARD will recover from this error and continue to parse but you may have problems
[warn]: with your generated documentation. You should probably fix this.
[warn]: -
/Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/code_objects/proxy.rb:218:in rescue in method_missing': Proxy cannot call method #child on object 'State' (YARD::CodeObjects::ProxyMethodError) 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/code_objects/proxy.rb:215:in method_missing'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/parser/c_parser.rb:108:in handle_alias' 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/parser/c_parser.rb:415:in block in parse_aliases'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/parser/c_parser.rb:408:in scan' 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/parser/c_parser.rb:408:in parse_aliases'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/parser/c_parser.rb:18:in parse' 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/parser/source_parser.rb:438:in parse'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/parser/source_parser.rb:361:in parse_in_order' 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/parser/source_parser.rb:89:in block in parse'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/logging.rb:66:in enter_level' 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/parser/source_parser.rb:88:in parse'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard.rb:18:in parse' 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/cli/yardoc.rb:215:in run'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/cli/command.rb:13:in run' 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/cli/gems.rb:41:in block in build_gems'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/cli/gems.rb:29:in each' 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/cli/gems.rb:29:in build_gems'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/cli/gems.rb:20:in run' 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/cli/command.rb:13:in run'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/cli/command_parser.rb:68:in run' 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/lib/yard/cli/command_parser.rb:50:in run'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/gems/yard-0.7.4/bin/yard:4:in <top (required)>' 	from /Users/artair/.rvm/gems/ruby-1.9.2-p180/bin/yard:19:in load'
from /Users/artair/.rvm/gems/ruby-1.9.2-p180/bin/yard:19:in `

This is not a crash, it's just a parsing error. Parsing errors can happen on some gems. If you run yard with --debug or --verbose you can narrow down which gem causes the problem and maybe there is an underlying bug that can be solved.


Approach to alert when IPPool is going to run out of IP

My k8s cluster is using Calico v3.6.5. It uses multiple IP Pools and each IP Pool is allocated to a rack.
If the IP Pool is running out of IP, the pod belongs to the rack will be ContainerCreating state.
I wonder if there is an approach to alert when an IPPool is going to run out of IP?

Hi @zionwu, unfortunately the only current method of checking IP Pool allocation is to run calicoctl ipam show and inspect the utilization. We don't have anything that sets up alerts currently though it has been discussed before. What kind of workflow are you thinking about for this? Also, any PRs to accomplish any parts of this would also be welcome.

Hi @mgleung , thank you for the reply.
There are two approaches I can come up with. The first approach is to export the ipam utilization as a metric so we can use Prometheus to collect it and alter when utilization is high. Another approach is calico-kube-controller would emit a k8s event if the utilization is over the configured threshold.
What do you think?

I believe that this is a duplicate of this existing issue: https://github.com/projectcalico/calico/issues/2715


Icons Not Getting Displayed in the Blog Posts

Here is a screenshot of what I see. I'm not sure why the Icons are not getting displayed? Any thoughts?

try with latest version of theme

The latest version of them theme runs into errors. Have a look here:
https://github.com/getzola/zola/issues/1623


Propose dangling filter false to be not same as the meaning of disable filter

Right now, the dangling filter in docker images or volumes means as following:
When dangling=true, it would just filter those images with "none"
Like this:
$ docker images -f dangling=true
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
               cb70b4991cfd        16 minutes ago      133.9 MB
But when dangling=false
$ docker images -f dangling=false
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
               cb70b4991cfd        17 minutes ago      133.9 MB
centos              latest              61b442687d68        13 days ago         196.6 MB
It is same as docker images:
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
               cb70b4991cfd        18 minutes ago      133.9 MB
centos              latest              61b442687d68        13 days ago         196.6 MB
It seems it is very confusing,  I think following maybe more meaningful:
If dangling=true it means just filter out those "none" images
if dangling=false, it means just filter out images without "none"
If without dangling filter, it means not use filter, so all images(include "none" would be listed)
It maybe more meaningful this way.
I just create this issue for discussion if it is meaningful for this propose

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

ping @cpuguy83 and @thaJeztah and @calavera   Wdyt ?  Thanks

Yes, I think that makes sense!


can anyone point me to an example using a dynamic form?

I'm trying to use RRF with a form where we are dynamically generating form fields depending on values from the state. So if you specify "number of nights" as 4, another screen will display four rows in an accordion, each row with 3 form fields associated with that given "night". Is this possible with RRF?

It's absolutely possible. I'll create a recipe soon. Here's an idea of how you can accomplish that:
// ...
const createNight = () => ({ foo: '', bar: '', baz: '' });

const store = createStore(combineForms({
  builder: { numNights: 1 },
  nights: [createNight()],
});

// ...
class Row extends React.Component {
  render() {
    const { model } = this.props;

    return (
      <Form model={model}>
        <Control.text model=".foo" />
        <Control.text model=".bar" />
        <Control.text model=".baz" />
      </Form>
    );
}

// this needs to be connect()-ed
class Builder extends React.Component {
  render() {
    const { builder } = this.props;

    return (

        Number of nights?
        <Control.text type="number" model="builder.numNights" />

        {Array(builder.numNights).fill(null).map((_, i) =>
          <Row key={i} model={`nights[${i}]`} />
        }

    );
}

(some imports, etc. left out for brevity)

@davidkpiano This is fantastic, thank you. Are dynamic forms are at all supported in the old 0.14.x branch or just in the beta?

They're supported in both 0.14.x and 1.0 (now out of beta)!


⚠ Bofrost.lu has degraded performance

In b4c2029, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2257 ms

Resolved: Bofrost.lu performance has improved in 6b5091c after 8 minutes.


[$500] Pressing shift+enter in the comment composer does not enter a new line (nothing happens).

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.24-4
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @tgolen
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1704906612957569
Action Performed:

In web staging, navigate to any chat
Type something (eg. Hello)
Press Shift+Return

##Expected Results:
Pressing Shift+Return should add a newline
Actual Results:
Pressing Shift+Return does nothing
(Bug occurs inconsistently)
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/38435837/d182ec0d-b0c3-48ef-9066-bc32afc72009

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~013be96addddf82207
Upwork Job ID:<PHONE_NUMBER>766141440
Last Price Increase: 2024-01-11

Im not able to reproduce it.
Read the slack conversation too.

Thanks @waterim! Closing.


Debugging

I worked with Prakruti for the last half of this due to the fact that my migrate wasn't work till the last day

Start backend using Debugging

Set break point at the beginning of endpoint code

Start in frontend with split screen loading source for an API fetch using GET.

Set break point on fetch, inside .then, inside .fetch

Run frontend, screen capture break at fetch while examining Body

Press play on frontend, observe stop inside of backend

Press step over on backend until you have obtained data from database, screen capture Python Object

Press play button to end backend debugging session.

Return to frontend debug session

Step in until you see data, screen capture capturing break point and Data.

0.86; worked on this together because Hannah's migrate.sh wasn't working but we helped eachother and understood all the concepts. Had fun doing the debugging :)!!


Failed to test endpoint Expected a torch.device with a specified index or an integer, but got:cuda

I have deployed openai whisper large model to managed online endpoint in azure with Standard_NC4as_T4_v3   sku
But I'm getting "Failed to test endpoint Expected a torch.device with a specified index or an integer, but got:cuda" error while testing

can anyone help me with this issue?

@premiitr
It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!

Sure
https://learn.microsoft.com/en-us/azure/machine-learning/how-to-deploy-mlflow-models-online-endpoints?view=azureml-api-2&tabs=studio

@premiitr
Thanks for your feedback! We will investigate and update as appropriate.

@premiitr
Thank you for your feedback!
Since this issue isn't directly related to improving our docs, and to gain a better understanding of your issue, I'd recommend working closer with our support team via an Azure support request. Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
Teams Q&A forum for technical questions about the configuration and administration of Microsoft Teams on Windows.
Microsoft Teams Community forum


[shortfin] Introduce system options

These options allow to deselect specific runtime drivers. With this libshortfin can be built, even if a driver is not available in the IREE build directory, avoiding a linker failure. The components are still built, but do not get linked.

Superseded. Will be addressed in a new PR.


Fixed the location of the timestamps in the vs code module

@Parsistence Can you check if we should merge this PR?  And if so, can you fix the conflict so we can merge it?


set up basic routing

Basic routing for the admin, doctor and patient dashboards has been implemented. This involved setting up the routes for the respective modules and configuring redirection to the admin dashboard as the default route (for now, login wasn't implemented yet). Some of the routing was already initiated during the initial project structure setup and further updates and refinements are still going to be done as the project progresses.

The routing setup and Cypress tests look good. Fix SonarCloud standards next time.


Adding DataFrames with offsets yields naive index

Adding two DataFrames with a  DateRange index (with BusinessMonthEnd offset) yields a DataFrame with a simple 'Index'.

from pandas import DateRange, DataFrame
from pandas.core.datetools import BMonthEnd
a = DataFrame({}, index=DateRange('2011-01-01', '2011-11-30', offset=BMonthEnd()))
b = DataFrame({}, index=DateRange('2011-01-01', '2011-11-29', offset=BMonthEnd()))
print a+b
Yields:
Empty DataFrame
Columns: Index([], dtype=object)
Index: Index([2011-01-31 00:00:00, 2011-02-28 00:00:00, 2011-03-31 00:00:00,
2011-04-29 00:00:00, 2011-05-31 00:00:00, 2011-06-30 00:00:00,
2011-07-29 00:00:00, 2011-08-31 00:00:00, 2011-09-30 00:00:00,
2011-10-31 00:00:00, 2011-11-30 00:00:00], dtype=object)
In Pandas 0.4.0, yields:
Empty DataFrame
<class 'pandas.core.daterange.DateRange'>
offset: <1 BusinessMonthEnd>, tzinfo: None
[2011-01-31 00:00:00, ..., 2011-11-30 00:00:00]
length: 11
Note, this doesn't just happen with empty DataFrames - I just did that for a simple repro.

Fixed in the above commit


Security dict documentation uses snake_case

Per onelogin/python-saml : https://github.com/onelogin/python-saml/blob/master/README.md dict keys are camelCase instead of snake_case

Fix in #16

thanks for that!


v-8.0.0    dreamview 无法同步场景并且routing模块的按钮找不到且无法打开......配置一个月了都没成功

We appreciate you go through Apollo documentations and search previous issues before creating an new one. If neither of the sources helped you with your issues, please report the issue using the following form. Please note missing info can delay the response time.
System information

OS Platform and Distribution (e.g., Linux Ubuntu 18.04):
Apollo installed from (source or binary):
Apollo version (3.5, 5.0, 5.5, 6.0):
Output of apollo.sh config if on master branch:

Steps to reproduce the issue:

Please use bullet points and include as much details as possible:

Supporting materials (screenshots, command lines, code/script snippets):

找不到routing的按钮

@TiHONGTONG There is no routing in Apollo 9.0 but I don't remember this being an issue for Apollo 8.0. Are you sure you are running Apollo 8.0?

@TiHONGTONG There is no routing in Apollo 9.0 but I don't remember this being an issue for Apollo 8.0. Are you sure you are running Apollo 8.0?

我现在解决了，但是9.0我自己下载的系统的场景集无法同步到dreamview

@TiHONGTONG There is no routing in Apollo 9.0 but I don't remember this being an issue for Apollo 8.0. Are you sure you are running Apollo 8.0?

我现在解决了，但是9.0我自己下载的系统的场景集无法同步到dreamview

下载的数据集需要线下模式

@TiHONGTONG There is no routing in Apollo 9.0 but I don't remember this being an issue for Apollo 8.0. Are you sure you are running Apollo 8.0?

我现在解决了，但是9.0我自己下载的系统的场景集无法同步到dreamview

下载的数据集需要线下模式
我下在是线下模式阿关键是

有解决吗楼主


tinepicker to false still on date selection input tag sets value with time.

I have implemented only date picker (timepicker:false) still on selecting date from dialog. It displays the selected date with current time in input box.
$('#demo_date').datetimepicker({
                timepicker:false,
               formatDate:'Y-m-d'
            });

I encountered this problem too, when I had to compare 2 dates without time. Сurrent time in a date-object does not allow to do it right.


Fix a flaky DnsMetricsTest

TBD

and it failed again? :sob:

Let me dig more into why the last resort, CNAME question was not written. 🤔
https://github.com/netty/netty/blob/4.1/resolver-dns/src/main/java/io/netty/resolver/dns/DnsResolveContext.java#L951-L960

PTAL. There are some remaining flaky issues. Let me clean up them after merging this PR.


Allowing 0% discount (no discount) for abandoned cart reminders

In ver. 1.6.* it was possible to send simple reminders with no discounts

Hello @vallka , thanks for your contribution, would you mind to rebase your pull request? Thanks

Hi @vallka, thanks for your contribution here! Do you want this behavior (leave 0 to disable the discount) to apply to all module cases (namely canceled carts, validated carts, good and bad customers) or only to the canceled carts case?

Yes, it would be consistent - to all cases
thanks
Valentine
------ Original Message ------
From: "LouiseBonnard"<EMAIL_ADDRESS>To: "PrestaShop/ps_reminder"<EMAIL_ADDRESS>Cc: "Valentine"<EMAIL_ADDRESS>"Mention"
<EMAIL_ADDRESS>Sent: 17/04/2020 15:58:54
Subject: Re: [PrestaShop/ps_reminder] Allowing 0% discount (no discount)
for abandoned cart reminders (#6)

Hi @vallka https://github.com/vallka, thanks for your contribution
here! Do you want this behavior (leave 0 to disable the discount) to
apply to all module cases (namely canceled carts, validated carts, good
and bad customers) or only to the canceled carts case?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PrestaShop/ps_reminder/pull/6#issuecomment-615292634,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADBMNHJAPZJ35L7QQDRWCI3RNBVC5ANCNFSM4GF67KMQ.

--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

Actually, it can only be applied to canceled carts, other follow up emails are not compatible as they all mention the discount. I, therefore, suggest to:

turn the name of the frame into Canceled carts (still localized in Modules.Reminder.Admin)
change the information notification into For each canceled cart (with no order), generate a discount and send it to the customer. In this case, you can send only the reminder by leaving both discount fields to 0. (still localized in Modules.Reminder.Admin)
make sure that, in this case, the content of the email does not mention any discount code

Hello @vallka , thanks for your contribution, would you mind to rebase your pull request? Thanks


Cryostat environment variables should be configurable

We should allow the user to supply environment variables to the Cryostat deployment, either by adding them individually to the Cryostat CRD where it makes sense, or by accepting an arbitrary list of environment variables in the CRD.

Not all environment variables used by Cryostat should be configurable with the operator. Some, like volume mounts, must continue to be controlled by the operator to ensure proper functioning. Selected environment variables should be added as separate properties in the Cryostat CRD spec.

Hey Elliott! I was wondering which environment variables you were thinking of making configurable with this issue?
I remembered the team mentioned during the release planning meeting that port numbers, memory, and enabling/disabling TLS should be made configurable. Since then, it looks like you've made all of the above configurable with serviceOptions, storageOptions, and spec.tls in the Cryostat CRD.
Besides the env vars related to jfr-datasource urls and file system paths, it seems like the remaining hardcoded env vars in the operator are either 1) constants that probably shouldn't be modifiable (eg CRYOSTAT_PLATFORM), 2) SSL variables which already rely on DISABLE_SERVICE_TLS from spec.tls, or 3) related to the command channel hostname/port.
Are there any existing variables that I missed? Or did you mean to add more variables in addition to the existing ones?

CRYOSTAT_MAX_WS_CONNECTIONS should be configurable, and CRYOSTAT_REPORT_GENERATION_MAX_HEAP should also be configurable even though it is only meaningful for deployments with 0 reports sidecar replicas. CRYOSTAT_TARGET_CACHE_[SIZE|TTL] also seem like they should be configurable.

Good suggestions. I think this class has a good collection of environment variables used by Cryostat: https://github.com/cryostatio/cryostat/blob/6c4ab056a3246d0e24fd383ab534c2b7e1585363/src/main/java/io/cryostat/configuration/Variables.java
@andrewazores What about CRYOSTAT_ALLOW_UNTRUSTED_SSL. We currently always set this to true, but that doesn't seem right.

Also, thank you @jan-law for taking this on!

Good suggestions. I think this class has a good collection of environment variables used by Cryostat: https://github.com/cryostatio/cryostat/blob/6c4ab056a3246d0e24fd383ab534c2b7e1585363/src/main/java/io/cryostat/configuration/Variables.java
@andrewazores What about CRYOSTAT_ALLOW_UNTRUSTED_SSL. We currently always set this to true, but that doesn't seem right.

That's a good one too. That variable is used when Cryostat makes HTTPS requests out to other (micro)services - so, when it sends data to the jfr-datasource or to the reports sidecar. Since the Operator should be setting that up nicely with cert-manager with certificates that we can know about in advance and trust, we should be able to set that variable to false in most cases.

Since the Operator should be setting that up nicely with cert-manager with certificates that we can know about in advance and trust, we should be able to set that variable to false in most cases.

I can make CRYOSTAT_ALLOW_UNTRUSTED_SSL false by default if users don't specify a value, and mention in config.md that users can set this value to true if they want to allow recording uploads with an untrusted SSL cert.

I wonder if CRYOSTAT_ALLOW_UNTRUSTED_SSL=true would ever be needed. jfr-datasource doesn't use HTTPS. The reports sidecar doesn't yet, but Cryostat talks to it using the internal service hostname whose certificates would be managed by cert-manager.

The reports sidecar doesn't yet, but Cryostat talks to it using the internal service hostname whose certificates would be managed by cert-manager.

What would happen if a user disabled cert-manager with enableCertManager: false?

In this case, Cryostat and the reports deployment would communicate over plain HTTP.

I wonder if CRYOSTAT_ALLOW_UNTRUSTED_SSL=true would ever be needed.

If there's no configuration that requires this env var anymore, I can create an issue/PR to remove CRYOSTAT_ALLOW_UNTRUSTED_SSL from both the -operator and -base projects. Thoughts?

If there's no configuration that requires this env var anymore, I can create an issue/PR to remove CRYOSTAT_ALLOW_UNTRUSTED_SSL from both the -operator and -base projects. Thoughts?

It might be useful to keep in Cryostat, for non-operator-controlled deployments, but it sounds like it can be removed from the operator. @andrewazores does that seem right?

Related to #277


Calling open-source LLMs in the planning and joining step

Is there any way to call open-source LLMs in the graph specially in planning and joining steps?

@nooralahzadeh Refer to the custom LLM code under llmcompiler\custom_llms to implement the LLM calling method you need, and then pass it to RunLLMCompiler.

I tried using a number of models other than OpenAI, but most of them did not work. One went as far and failed at joiner.inovke with  " AttributeError: 'NoneType' object has no attribute 'thought' ". Any advice?

@curiothinker It is likely that the custom LLM call did not succeed. You can paste your custom code here, or debug the part where the LLM request is initiated. This should help identify the issue.


[Fundamentals] fix cancel subscription markdown link

Quick link to currently broken link: https://developers.cloudflare.com/fundamentals/subscriptions-and-billing/delete-account/#prerequisites

Thanks for this (and all the other fixes you send along), @Le0Developer!


[web] Provide an option to change web build location

Hi,
I plan to use GitHub Pages for showcasing my projects. I hit a bump in the road when I saw that the .js version of the app is located in the directory called web and GitHub Pages only allows /root or /docs as a starting point for a GitHub Pages hosted app. I want to mention that I cannot use the /root since there I already have my own index.html presentation website.
As a solution, I have to move the web directory contents over to the docs directory every time I am publishing an update to the app.
Even though I must admit that for a presentation page, GitHub Pages does a great job, I am still looking forward for a more streamlined approach to publishing a Flutter web app.
Thanks for your time,
Marius

Hi @mariusCristianPop
if you referring to the web folder in the project, not the build/web, this web folder won't launch the app even if you host it.
In order to host, you need to build the app and once it is build, source files for this web build will be under your_app/build/web and these build web can be renamed it whatever you want
Can you please clarify which web folder you're referring to and provide some reproducible steps to test this issue
Thank you

Hi @TahaTesser ,
"Can you please clarify which web folder you're referring to":

I was referring to the web directory outside build directory. Since I am a beginner I misunderstood the fact that root/web is different than root/build/web. This is clarified now. Thank you.

"...provide some reproducible steps to test this issue"

I purchased a domain from a domain name provider
I got help to link it to a github pages repository where I have an html portfolio template like this:
Then I wanted to link my public projects to github pages as well so that I could link the project from my portfolio with pages like: https://www.mariuskristianpop.io/project1, https://www.mariuskristianpop.io/project2 and so on.
The issue appeared with the realization of the fact that github allows a project to run either at /root either at/docs.
The solution was, as you mentioned, to move the contents of build/web into the directory called /docs.

Still, the requirement that allows us to skip doing manual work remains:
Can we get a flag for ‘flutter build web’ command that will let us point the output directory to an specific directory, like ‘flutter build web -t docs’?
Do you have any other suggestions now that you have a bigger picture of the situation?
Thank you,
Marius

Hi @mariusCristianPop
Thanks for the details, I can understand the circumstances,

Still, the requirement that allows us to skip doing manual work remains:
Can we get a flag for ‘flutter build web’ command that will let us point the output directory to an specific directory, like ‘flutter build web -t docs’?

I am considering this as a proposal
Thank you

I wonder if a symlink from /docs to build/web would suffice, so you didn't have to manually move the code at all, the symlink can live in the repo forever, and you just need to modify the contents of build/web.


Understand, document and implement a better "fuel" counter for the symbolic engine

At the time of writing, our steps or fuel counter lacks some more intuitive semantics. What does it mean to "not find a counter-example" within 100 steps? Is 100 a lot? Is it very little?
I propose we follow through with an idea proposed by @serras a while ago and introduce a measure, sizeOf over datatypes instead. Now, the 100 could mean that we evaluated (in call-by-need) the assume res inputs :==>: prove res inputs where res = validator inputs for all inputs and res such that: sizeOf res + sizeOf inputs <= 100
Problems that need some thought:

PLC is a strict language but we can't drive the symbolic engine in a call-by-value fashion, it would constantly keep opening up the first value of an infinite datatype it finds.
Is call-by-need really going to ensure we "uniformly" expand the inputs? For example, if the input is of type (a, b), ideally we want to do as many steps exploring the second component as we do steps exploring the first. There's no use in expanding a to 99 constructor and b to zero

I don't fully understand the details here. But it could be worth using a notion of height rather than an notion of size (so that height (x, y) = 1+ max (height a) (height b)).
This would ensure fairness. But it makes it less clear what to do with types of infinite width (such as Integer -> a). And I don't know whether it's applicable to your use-cases.

I like that idea! If the types of infinite width are also SMT builtins we might be able to get away with it: the SMT will reason with symbolic integers... :thinking:

Another idea: keep track of different statistics during execution (# of known constructors, # of metavars, # of beta-reductions...), and give the user back the control. In the future we could say then "run this until you have 50 constructors, and 20 metavars", and so on.

I don't fully understand the details here. But it could be worth using a notion of height rather than an notion of size (so that height (x, y) = 1+ max (height a) (height b)).

I think this might be difficult to implement at first glance, because whereas to keep track of the "size" one only need to increment by 1 each time a constructor is added, this requires knowing where the constructor is added. Fairness is important, though, I would suggest to use a breadth-first instead of a depth-first search to guarantee that property.

I think that at this point #92 kind of addresses this; I'll close it for now. If any of the involved parties feel like reopening and bringing up future work, please do so! :)


Update the bureau structure chart

New update includes Small Business Lending Markets and a vacant
Principal Deputy General Counsel office with new PNG.
Testing

Visit http://localhost:8000/about-us/the-bureau/bureau-structure/

Review

@schaferjh
@jimmynotjim @sebworks

Screenshots

Checklist

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

@KimberlyMunoz Looking good -- just one last piece:
UPDATE titles of the three legal offices with people in place – all three should have "Deputy General Counsel, Assistant Director" as their title, per the updated PNG

👍 after addressing Jess's comment

Just noticed that it looks like the additional title change has been made, thanks! 👍


HHH-13685 Upgrade to Gradle 5

https://hibernate.atlassian.net/browse/HHH-13685
Before we merge this, we need to upgrade and release three Gradle plugins:

~https://github.com/sebersole/gradle-maven-publish-auth/pull/20~ => Done
~https://github.com/hibernate/hibernate-matrix-testing/pull/9~ => Done
~https://github.com/sebersole/gradle-xjc-plugin/pull/3~ => Done

I checked:

publishing to the local Maven repository
publishing snapshots to nexus
running the matrix plugin

I'd like to run tests on CI before we merge, but we need to release the Gradle plugins first.

@sebersole Done. I had to upgrade the maven-publish-auth plugin, I added a commit here and submitted a few PRs in the appropriate repos:

sebersole/gradle-maven-publish-auth#20
hibernate/hibernate-matrix-testing#9
sebersole/gradle-xjc-plugin#3

I didn't test the bintray release, but I imagine I need credentials that I don't have, and from what I understand it's not for snapshots.

The Gradle plugins have all been published. I just rebased and force-pushed; the PR now uses the latest version of every plugin.
The build passes locally, and I managed to publish to bintray.
Note that we may have to wait a bit before CI passes, because the matrix plugin has not been sync'ed with Maven Central yet.


Category filter

Hello,
just wonderinf if hou aim at ANN with category filter  ?

I think that NGT should support filtering. however, I have no concrete plan to implement it yet.

Sure,
Probably it would be a good addon

On Jan 11, 2022, at 16:43, Masajiro Iwasaki @.***> wrote:

I think that NGT should support filtering. however, I have no concrete plan to implement it yet.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.


Query size of single thread executor in NonBlockingStatsDClient

For a lot of metrics, it's is crucial to also monitor the size of the queue in the executor in NonBlockingStatsDClient. I propose opening up to supply a custom executor to the constructor. I think that's the most flexible solution. That said, is NonBlockingStatsDClient#clientSocket(...) thread safe?

Do you expect us to write threadlocal implementations to return the same StatsDClient per thread, remove() after request is processed or it is already done internally?
How do we monitor the BlockingQueue size? Why is it called NonBlocking then?


Crypto fix

Fixed padding issues with downloading and decrypting database logs
Also filter out deploy keys so that they cannot be added or removed

LGTM.


image from render_stage1 has a shrinkage/distortion effect

I test the code on garden data, then compare the validation image with origin image, the contents near image corner has a shrinkage/distortion effect,  other data also has this issue.
the validation image is generated by differentiable rendering from nvdiffrast, so why these issue happend ? is it a defect of differentiable rendering ?
compare image in the following gif.
thanks for apply.

@tianxiaguixin002 Hi, from the error map between GT and Pred renderings, I cannot tell if this is "shrinkage", maybe it's just because the error at edges are higher?


HasId should have setters

Some of the get functions in HasId should also have setters, e.g. set_id() which can trigger a new href.

This is important as currently the id can be set directly which won't regenerate the href and thus cause a mismatch. Better to set id to private and force use of get / set.


fix(livereload): wrong usage of reject, meant resolve.

Reject caused an error and did not return the URL. Fixed this by resolving and returning the image URL back to the promise.

thanks!


Crash when deploying blueprint with one tile of concrete

Hi,
I have this error when i deploy a blueprint with one tile of concrete.
http://i.imgur.com/u3Zcchw.png
Thanks !

You seem to be using an old version. Does this issue also occur with 0.2.6?

Oh, sorry, no i was not on last version.
But the problem is still here, the error line changed too:
http://i.imgur.com/1o1UUo7.png

Hey, that line number makes way more sense... I'll post a fix shortly!

Thanks !

0.2.7 should fix this


does ftlabs maintain fastclick ?

Hi ! The last accepted PR is more than 1 year old, and now 76 PR are waiting for merge,  is this library maintained by ftlabs ?
that could be a severe issue... :)

@benbarnett @JakeChampion @matthew-andrews @quarterto @rowanbeentje  @seanmtracey @triblondon

CC: @upthebuzzard @Lily2point0


Increased number of rings between Flow Functions based on RSS

Now all flows have flexible number of intermediate rings which
depends on RSS queues number. Packets for same sessions
follow exact same routes.
Scheduler now has one more notion - flow function instance (ffi),
main concepts of new scheduler are:

Flow Function - covering structure, includes name,
working function, parameters, user contexts and other general information.
Different flow functions are completely different and can't be compared to each other.
Flow function instance - structure for working at different RSS flows.
Contains determination of current RSS flow.
Instances of one flow function are absolutely independent:
different cores, mempools, input/output rings and handled sessions.
Instance clone - structure for one process that is done useful work.
Contains determination of core and start/stop/report flags/channels.
Clones of one instance work at different cores. However they are not independent:
They share input/output rings, high level protocol sessions and lines in various tables.

Added new user options:
RestrictedCloning - forbids scheduler to add more that one clone per instance which can result to reordering
MaxInIndex - limits instance number per flow function. Can various from 1 to RSS restriction
Changed constants:
As now we have one mempool per each instance we limit default size:
mempool - 8191 instead of 4*8191
ring - 64 * burstSize instead of 256 * burstSize
Details:
Each flow has constant number of parallel rings.
Flows which started with receive have MaxInIndex parallel rings
Other flows like KNI, generate, PCAP read have 1 parallel ring
Merge will merge parallel rings by their numbers:
flows with 1 and 16 rings will merge as first to first ring
Basicaly all functions have one instance and one clone. This instance
handles all input parallel rings. If some function can't handle input flow
scheduler will add additional instance and divide input parallel rings
like half and half. If there is only on input ring and instance still
can't handle it scheduler will add clones (if this is permitted by user).
Pluses:
No reordering, flow locality
No locks for the same lines per session in any intermediate tables
Can reassemble high level protocols like TCP or HTML
Faster scheduler (working independently with each instance)
Minuses:
Memory usage for additional mempools and rings.

Stability: tested
Performance:
without scheduler - should not changed (checked)
with scheduler:
perf_light_empty_on_64 |     18625990        20365     7 |     19905276        20851     7 |   +6.87%    +2.39%   +0.00%
perf_light_empty_on_128 |     20086095        36498     7 |     20365834        37463     7 |   +1.39%    +2.64%   +0.00%
perf_light_empty_on_256 |     17935009        39599     5 |     18156256        40088     6 |   +1.23%    +1.23%  +20.00%
perf_light_parsing_on_64 |     19855474        20387     8 |     19916869        20792     9 |   +0.31%    +1.99%  +12.50%
perf_light_parsing_on_128 |     19942202        37202     8 |     20855698        37352     8 |   +4.58%    +0.40%   +0.00%
perf_light_parsing_on_256 |     18084759        39930     6 |     18156500        40089     6 |   +0.40%    +0.40%   +0.00%
perf_light_parsing_reading_writing_on_64 |     23279252        20777    12 |     19905823        20870    16 |  -14.49%    +0.45%  +33.33%
perf_light_parsing_reading_writing_on_128 |     22810023        36826    12 |     19936540        37277    14 |  -12.60%    +1.22%  +16.67%
perf_light_parsing_reading_writing_on_256 |     18110973        39988     8 |     18156642        40089     9 |   +0.25%    +0.25%  +12.50%
perf_main_1000_50_on_64 |     19847713        20511    38 |     19880105        17558    43 |   +0.16%   -14.40%  +13.16%
perf_main_1000_50_on_128 |     20061129        36607    37 |     18620053        31027    43 |   -7.18%   -15.24%  +16.22%
perf_main_1000_50_on_256 |     18118732        40005    23 |     18149319        40073    36 |   +0.17%    +0.17%  +56.52%
perf_main_1000_50_on_1518 |      3258352        40090     8 |      3258309        40089     8 |   -0.00%    -0.00%   +0.00%
perf_main_1000_0_on_64 |     18613330        19429    34 |     19916205        17785    39 |   +7.00%    -8.46%  +14.71%
perf_main_1000_0_on_128 |     19968839        36697    34 |     22757141        31992    42 |  +13.96%   -12.82%  +23.53%
perf_main_1000_0_on_256 |     18124194        40017    19 |     18056558        39868    27 |   -0.37%    -0.37%  +42.11%
perf_main_1000_0_on_1518 |      3257752        40083     7 |      3258222        40088     8 |   +0.01%    +0.01%  +14.29%
perf_main_500_0_on_64 |     21299759        21260    25 |     19921811        21247    37 |   -6.47%    -0.06%  +48.00%
perf_main_500_0_on_128 |     20148334        33498    19 |     18510299        37094    37 |   -8.13%   +10.73%  +94.74%
perf_main_500_0_on_256 |     18101939        39968    14 |     18157284        40090    20 |   +0.31%    +0.31%  +42.86%
perf_main_500_0_on_1518 |      3255931        40060     6 |      3257877        40084     6 |   +0.06%    +0.06%   +0.00%
perf_main_250_0_on_64 |     19865093        18670    16 |     19879415        20280    22 |   +0.07%    +8.62%  +37.50%
perf_main_250_0_on_128 |     20090610        37151    17 |     20368786        30669    22 |   +1.38%   -17.45%  +29.41%
perf_main_250_0_on_256 |     18120315        40009    11 |     18157288        40090    13 |   +0.20%    +0.20%  +18.18%
perf_main_250_0_on_1518 |      3258372        40090     6 |      3258367        40090     6 |   -0.00%    +0.00%   +0.00%
perf_seq_250_2_posl_on_64 |     19857192        19343    24 |     19882902        21111    37 |   +0.13%    +9.14%  +54.17%
perf_seq_250_2_posl_on_128 |     19996077        34556    24 |     20174695        37407    37 |   +0.89%    +8.25%  +54.17%
perf_seq_250_2_posl_on_256 |     18069651        39897    16 |     18156792        40089    20 |   +0.48%    +0.48%  +25.00%
perf_seq_250_2_posl_on_1518 |      3258135        40087     6 |      3258270        40089     7 |   +0.00%    +0.00%  +16.67%
perf_seq_50_2_posl_on_64 |     19862317        17959    16 |     20597495        20419    22 |   +3.70%   +13.70%  +37.50%
perf_seq_50_2_posl_on_128 |     19796274        33591    16 |     20053067        37336    21 |   +1.30%   +11.15%  +31.25%
perf_seq_50_2_posl_on_256 |     18126287        40022    12 |     18155688        40087    12 |   +0.16%    +0.16%   +0.00%
perf_seq_50_2_posl_on_1518 |      3258397        40090     6 |      3258450        40091     6 |   +0.00%    +0.00%   +0.00%
perf_seq_50_3_posl_on_64 |     18775234        19318    19 |     23370298        22229    31 |  +24.47%   +15.07%  +63.16%
perf_seq_50_3_posl_on_128 |     22902794        35441    18 |     20798312        30524    21 |   -9.19%   -13.87%  +16.67%
perf_seq_50_3_posl_on_256 |     18127972        40026    12 |     18146012        40065    12 |   +0.10%    +0.10%   +0.00%
perf_seq_50_3_posl_on_1518 |      3258411        40091     6 |      3258236        40088     6 |   -0.01%    -0.01%   +0.00%
perf_seq_25_3_posl_on_64 |     20846826        20812    20 |     23192354        22251    21 |  +11.25%    +6.91%   +5.00%
perf_seq_25_3_posl_on_128 |     20194361        32688    16 |     22930758        37963    21 |  +13.55%   +16.14%  +31.25%
perf_seq_25_3_posl_on_256 |     18128401        40026    11 |     18155652        40087    12 |   +0.15%    +0.15%   +9.09%
perf_seq_25_3_posl_on_1518 |      3257987        40085     5 |      3258288        40089     6 |   +0.01%    +0.01%  +20.00%
perf_seq_25_3_par_on_64 |     19876495        18791    18 |     23132908        21330    24 |  +16.38%   +13.51%  +33.33%
perf_seq_25_3_par_on_128 |     19892780        35423    19 |     22643962        37644    23 |  +13.83%    +6.27%  +21.05%
perf_seq_25_3_par_on_256 |     18123409        40016    12 |     18155705        40087    13 |   +0.18%    +0.18%   +8.33%
perf_seq_25_3_par_on_1518 |      3257923        40084     6 |      3258401        40090     7 |   +0.01%    +0.01%  +16.67%
perf_seq_25_4_posl_on_64 |     20923602        20947    21 |     19847716        21111    33 |   -5.14%    +0.78%  +57.14%
perf_seq_25_4_posl_on_128 |     19081191        36167    18 |     19809514        37365    21 |   +3.82%    +3.31%  +16.67%
perf_seq_25_4_posl_on_256 |     18123584        40016    12 |     18153421        40082    12 |   +0.16%    +0.16%   +0.00%
perf_seq_25_4_posl_on_1518 |      3258460        40091     6 |      3258143        40087     6 |   -0.01%    -0.01%   +0.00%
perf_seq_25_4_par_on_64 |     19820357        18948    20 |     18623886        18583    25 |   -6.04%    -1.93%  +25.00%
perf_seq_25_4_par_on_128 |     19763489        35347    22 |     18601392        37137    23 |   -5.88%    +5.06%   +4.55%
perf_seq_25_4_par_on_256 |     18117944        40003    13 |     18155777        40087    14 |   +0.21%    +0.21%   +7.69%
perf_seq_25_4_par_on_1518 |      3257231        40076     6 |      3258347        40090     7 |   +0.03%    +0.03%  +16.67%
ipsec_on_64 |      6177921         4151    30 |      7143293         4799    44 |  +15.63%   +15.61%  +46.67%
ipsec_on_128 |      4752486         5626    26 |      6615830         7832    44 |  +39.21%   +39.21%  +69.23%
ipsec_on_256 |      4368110         9644    33 |      5249760        11591    44 |  +20.18%   +20.19%  +33.33%
ipsec_on_1518 |      1932182        23773    45 |      1857552        22854    44 |   -3.86%    -3.87%   -2.22%
nat_fixed_ports_on_64 |     16421345        11034    19 |      5012090         3367    14 |  -69.48%   -69.49%  -26.32%
nat_fixed_ports_on_128 |      4782677         5662    13 |      3772042         4465    18 |  -21.13%   -21.14%  +38.46%
nat_fixed_ports_on_256 |      6994649        15443    12 |      4964725        10961    16 |  -29.02%   -29.02%  +33.33%
nat_fixed_ports_on_1518 |      3255018        40049     8 |      3246905        39949    10 |   -0.25%    -0.25%  +25.00%
nat_nonfixed_ports_on_64 |      4791610         3219    16 |      6635931         4458    40 |  +38.49%   +38.49% +150.00%
nat_nonfixed_ports_on_128 |      4504887         5333    15 |      6539807         7742    44 |  +45.17%   +45.17% +193.33%
nat_nonfixed_ports_on_256 |      7849588        17331    13 |      8847932        19535    31 |  +12.72%   +12.72% +138.46%
nat_nonfixed_ports_on_1518 |      3246453        39943    10 |      3255220        40051     8 |   +0.27%    +0.27%  -20.00%
As you can see there is a problem with perf_main_1000_50_on_64 / perf_main_1000_50_on_128 - the most hard tests. The problem was debugged and it is because of NUMA - receives should be at the same socket. Other tests has enough cores to clone receive to the same socket and these hard tests can clone only for second. I will make an issue for this. However we don't see such hard scenarios in real life, so can fix later.

Changes: (from bottom to top)
low.h

Receive, send and stop now have one more loop - for their input rings
Remove all stuff with RSS - now we don't change any RETA tables - we make scheduling by handling RSS queues by different number of instances
extractDPDKrings - previously we can simply convert GO ring to C ring.  So we should extract C ring from each GO ring and produce C array from them. This is at initialization stage - no performance here.

low.go

deal with multiple mempools and multiple rings
use extractDPDKrings in C calls

flow.go

Slice of rings instead of one ring, inIndexNumber like max instance number from flow. (1 or 16 or user defined)
new user options, changed current defaults
FlowFunctions segment, write, copy now have one additional loop for their input rings as in low.h
Flow functions read, generate use [0] index as they use only one output rings (instead of 16 as receive)

scheduler.go

convert FlowFunction->ClonePair structure to FlowFunction->Instance->ClonePair structure. Also convert StartFF/StopFF to this new paradigm.
New debug information - per instance
Stuff with constructing indexes. New index - all numbers 0-15, ZeroIndex - 16 zeros - just to check that instance was created, DuplicatedIndex - half and half of input index - actual scheduling.
New scheduling heuristics for segment and receive. (Generate has only clones, no instances so now new heuristics). Heuristics for clones (if user permits them) remain the same.


Buffham, a minimal serialization library

Add a minimal serialization library with support for:

schemas & codegen
messages, transactions, & more codegen

Adjust the base project to use this serialization method.
TODO:

[ ] Test on Pico, see if I run out of stack again

The alignment issues disappeared when I tested it again 🧐 ; guess memcpy is smart and I was just running tests before I fixed the offset issues.

Tested on the Pico; it works! I can read out the flash from the Pico and it matches my locally compiled .bin file. refl was indeed, while cool, blowing through the stack with its introspection.
One thing that confuses me is how fast this is. The baud rate is set to 115200 and I can read out the 2 MB flash in as fast as 18.5 seconds. My understanding (and the average internet article) is that 1 symbol = 1 bit, so there's 115200 bps, which would take >2 minutes (ignoring stop/stop bit overhead) to transmit 2 MB. If 1 symbol = 1 byte (maybe with 8-N-1, we consider the 10 bit frame as one symbol?), we would still expect at least 18.2 seconds to transmit 2 MB. 0.3 seconds of overhead, including everything from how long the client takes to deserialize the response and serialize the next request to the time it takes to transmit that request, is a hilariously small amount of overhead for code running serially with no async patterns. Any thoughts on why this appears so fast? @mark64 or @michael-christen?
One weird thing was that I could set the read_size to 2048, which happens to be the size of the Pico's stack. The firmware crashes if I set it even a tiny bit higher, so I presume I was "gracefully" blowing past the stack with other overhead. I set it back to 1024 (which takes ~28 seconds to read) to ignore the problem.

One thing that confuses me is how fast this is. The baud rate is set to 115200 and I can read out the 2 MB flash in as fast as 18.5 seconds. My understanding (and the average internet article) is that 1 symbol = 1 bit, so there's 115200 bps, which would take >2 minutes (ignoring stop/stop bit overhead) to transmit 2 MB. If 1 symbol = 1 byte (maybe with 8-N-1, we consider the 10 bit frame as one symbol?), we would still expect at least 18.2 seconds to transmit 2 MB. 0.3 seconds of overhead, including everything from how long the client takes to deserialize the response and serialize the next request to the time it takes to transmit that request, is a hilariously small amount of overhead for code running serially with no async patterns. Any thoughts on why this appears so fast? @mark64 or @michael-christen?

UART speeds are given in baud clocks, that's the number of times per second you can toggle the line (rising + falling). Using those baud clocks, you can transfer a different number of bytes, depending on the number of stop bits and parity enable/disable. So that's why UART speeds, unlike many other protocols, isn't normally written in bytes/s or bps normally.
For your case with 115200 baud and 8N1, it takes 10 baud clocks to transfer 1 byte (start bit, byte, stop bit).
That means your actual byte rate is 11520 bytes/s.
The idea that you'd only have 0.3 seconds of overhead / 18.5 seconds transfer time is not unreasonable, especially with your custom simplified networking and message serialization stack. That's 292 microseconds per request (assuming 1024 requests). For comparison, the full C++ protobuf implementation can do protobuf decode/encode on both client and server sides in about 200 microseconds.
However, I think that either your math is off, there's a bug in your code, or your UART is running 10x faster than you listed. Transferring 2 MB (assuming you meant 2048x1024 bytes) will take 182 seconds, not 18.2 seconds.

Whoops that was from my work GitHub lol

Interesting. I'm leaning towards UART being 10x faster than I'm expecting. I'm definitely transferring 2 MB in ~18 seconds and verified the contents with a local copy of the .bin file. Glad to know it's pretty low overhead!


Updated introduction Twitter Rebranding

Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[x] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[x] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

Test Plan

Test links

Deploy preview: https://deploy-preview-_____--docusaurus-2.netlify.app/
Related issues/PRs

We have many more twitter links, and not necessarily willing to make the change sorry. x.com still server redirects to twitter.com


Zap unused import, use list comprehension

Shorter, more Python-idiomatic code.

@mohawk2 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

This looks like a nice simplification to me. Any objections, @davidmrdavid or @MaximRouiller?

LGTM! :shipit:

#sign-off


Non-Webpack JS consolidation / audit (security and "is it being used?")

Audit base.html - consider multiple base template inheritance or other solutions to avoid loading page-specific code site-wide

Round 1: Datatables.js:
Used:

disaggregation report
Version:
current
Disposition:
moving files to disaggregation report template

Round 2: django_tables2
Used: Nope.
Disposition: Removed.

Round 3: leaflet.js (and .css &c.)
Used: maps (home page, siteprofile add (location tab), siteprofile list
Current: very much no (0.7.2 from 2011, current is 1.5.1)
Disposition: move to home page/siteprofile add/list pages, upgrade to current version

the only items left in base are:
jquery (obviously going to be needed if and until we're fully webpacked)
jquery-ui and select2 (if we have any jquery-based pages, they need the ui and select2 packages)
datepicker (touching this seems ill-advised given the sheer number of dev-hours that have gone into datepicker-related bugs thus far)
Calling this ticket closed.


Upgrade Java to 1.7

Oracle discontinued support for Java 1.6 some time ago, and will soon end support for Java 1.7. Asking all consumers to jump to Java 1.8 is (in my opinion) a bit much to ask at this time, but I'd suggest that we should try to keep it no more than one "unsupported" version of Java behind.
I'm not sure of the process required to make such a switch, so I am expecting some discussion on this issue will be required before any pull request is accepted.

Master moved to java 8.


Update arkmanager

adding a warning when ARK SavedArks is not writeable on first install due to: #360 (https://github.com/FezVrasta/ark-server-tools/issues/360)

This should no longer be necessary as 7de6c8e creates the directory if it doesn't already exist.


Run the tests against main daily

We have to pass through the daily trigger to the test run jobs for concourse to actually run them daily, otherwise it would only prepare the bucket and stop there.
We don't pass the daily trigger to the publish-bucket job, tho; we really only need to do that when the repo's version changed.
So now, the test really run against repo's main, so you could consider that a soak test.

A daily run might be an inefficient use of resources for our repo, as not much activity happens.
Run only on PR and Merge.

A daily run might be an inefficient use of resources for our repo, as not much activity happens.

Well, we see some flakes and this would give us an idea about how frequent they happen. And running daily might also give us some opportunity to dig in to those a bit more.
And I think these tests are probably cheap enough to run them on a schedule, which informs us in case anything outside of our responsibility changes or if our own stuff is not predictable / consistent / flapping.
But I am absolutely not stuck on that, happy to remove the daily test run. The only thing I'd suggest then, is to remove the daily trigger completely, there is def. no use to prepare the bucket daily and then don't run tests off of that.
@leclaist & @aaronmeza : Any preference on that: Do you all see value in the daily tests or are they useless, too expensive, ... ?


Angular 12: Don't include deprecated TSLint by default

🐞 Bug report
Command (mark with an x)

[x] new
[ ] build
[ ] serve
[ ] test
[ ] e2e
[x] generate
[ ] add
[ ] update
[ ] lint
[ ] extract-i18n
[ ] run
[ ] config
[ ] help
[ ] version
[ ] doc

Is this a regression?
Not applicable
Description

TSLint has been deprecated since January 1st, 2020

As such, TSLint should not be included by default in Angular projects

🔬 Minimal Reproduction

(Optional) Create global angular config file to use yarn package manager if not present. cat ~/.angular-config.json{
 "version": 1,
 "cli": {
   "packageManager": "yarn"
 }
}

npx<EMAIL_ADDRESS>new web-apps --create-application false
Open package.json{
  "devDependencies": {
    "tslint": "~6.1.0"
  }
}

🌍 Your Environment

❯ ng version

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 12.0.0-next.1
Node: 15.9.0
OS: darwin x64 (11.2.1)
Yarn: cd web-apps` && `yarn outdated

Angular: 12.0.0-next.1
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Ivy Workspace: Yes

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.1200.0-next.1
@angular-devkit/core         12.0.0-next.1
@angular-devkit/schematics   12.0.0-next.1
@schematics/angular          12.0.0-next.1
@schematics/update           0.1200.0-next.1
rxjs                         6.6.3
typescript                   4.1.5

Anything else relevant?
Not relevant to this issue

Thank you to the team for making strict option the default when creating applications (starting Angular 12)

Not having a linter included with angular cli by default would make my life trying to help people work with Angular much more difficult.

We will stop generating new projects with TSLint starting version 12.
The TSLint builder will also be deprecated in version 12, but actual removal will be in v13.
When running ng test in version 12, CLI will print out commands to inform users third party alternatives that they can install on their own, much like the behavior of ng deploy.
As for replacing TSLint with something else by default, we'll let users make the call because existing solutions are all community owned, and our team does not have the resources to maintain and provide support for third party builders.
One of our major concerns is that adding third party builders to CLI could potentially increase the number of transitive dependencies by a lot, and hence massively increase the download size of Angular CLI.
For these reasons, we think it's best to leave the decision to users.

Is codelyzer package also not included by default?

Yeah, closely we is only used with tslint, hence when removing tslint we will also remove codelyzer..


Trying to put an item not allowed in a trinket slot causes a crash

Here I tried to put a pickaxe in a cape trinket slot. Using the trinket slots from the built-in inventory screen does not cause any crash.
Crash log

Wait, it actually happens with any item. :|


Exception handling model

Here is the msvc Exception handling model. So what option should I use when integrating your stl code ？

vcrtl applies the following:
https://github.com/jxy-s/stlkrn/blob/main/third-party/vcrtl/vcrtl_driver.props#L10
I have not tested with other models, your mileage may vary.


[NSFileManager] Updated to match Darwin version

I hope that I have this time do not forget anything, and the tests will pass.

#484 does the same, so I close this one.


Replace libc with core::ffi in Rust 1.64.0

Currently the libc crate is used for some FFI types. Since Rust version 1.64.0 those types are available in core::ffi without an additional crate.
This would bump the MSRV to 1.64.0
See robo9k/rust-magic#61 for the same change.

bindgen uses usize for size_t by default and with --no-size_t-is-usize something like ::std::os::raw::c_ulong.


Global: COVID-19 banner

Issue
The MEL team would like to promote their COVID-19 guidance and resources on TolaActivity.
Acceptance criteria

[x] 1. The COVID-19 banner appears globally, at the top of every page.

[x] 2. It has an "X" icon in the right corner. If I dismiss the banner, it is removed

[ ] …across the entire site…
[ ] …for that session only.
[ ] Next time I login, I see it again. (We don't want to be annoying and make people dismiss it on every page. But we also don't want to assume that because someone dismisses a banner once, they have no interest in seeing this information, ever.)

[ ] 3. The banner is translated AND the links go to the translated versions of each resource.

[ ] 3.1. In English, the bolded text reads:

COVID-19: Remote MERL guidance (PDF) | Recorded webinar

Language
Link one
Link two

English
https://library.mercycorps.org/record/32352/files/COVID19RemoteMERL.pdf
https://drive.google.com/file/d/1x24sddNU1uY851-JW-6f43K4TRS2B96J/view

French
https://library.mercycorps.org/record/32636/files/COVID19RemoteMERLfr.pdf
TBD

Spanish
https://library.mercycorps.org/record/32635/files/COVID19RemoteMERLes.pdf
TBD

Housekeeping

[ ]  Unit test/s written wherever applicable
[ ]  i18n tags included wherever applicable
[ ]  Functionality is accessible to people using screen readers

@jennyhavah I added some acceptance criteria for behaviors on the banner.
@sanjuroj or @camgnostic I assume I will need to use a session variable for this? I will dig into it but haven't done this … ever? … on a Django site. If I start to spin I will hand it off.
Also: can we put the translation links in the .po file, or should I use the language variable?

I would recommend language variable because the .po file undergoes complicated updates and it'd be weird to send links to a translator, I think?
For sessions, we have the session middleware engaged, but the only place we're using it is in our language middleware (but it does give a template for session variable updating in our current setup - that said I think you were the one who wrote that piece, Paul?).   I think you'll need an endpoint to bounce an AJAX update back to the backend to update the session, too, right?

For the translation links, I think you can do whichever you feel more comfortable with.  If you go the .po route, we'd just add the "translated" url links to the .po files ourselves, before they were sent to the translator.

ok language variable it is!
I did write the language middleware but devil if I can remember anything about it. Can either of you take the session-variable-handling part? (Crit. 2)

@jennyhavah if I click "close", do we want this to reappear again the next time I open a browser window (like, if I close the tab but then open it again) or the next time I log in?  Because a browser "session" and a log-in "session" aren't the same (related to cookies - think about the times when you can open Tola and be logged in still because you logged in earlier today, even if you closed your tabs) - it affects how we set up the session variable.  Thoughts?

@camgnostic Assuming it doesn't significantly increase the level of effort, I would vote for next time you log in.
I can imagine a situation where someone wants to have multiple windows of Tola open side by side, and it might feel odd or annoying if they thought they got rid of the banner in window 1 and then see it again i window 2.

@camgnostic Looks like the Pipe sign with spaces on each side is missing, in between the two links.
![image](https://user-images.githubusercontent.com
/33670923/80258171-6724a700-8637-11ea-9a30-4a6bef6a545d.png)

All looks good now!


PLM-4 | Vijith | Expose API to validate OTP and generate token

@Navinnair Addressed the PR comments. Yet to check the audit failure. I'll check this tomorrow and let you know once that is also resolved. But please go over the other changes and see if you have any other concerns

@Navinnair The bundle audit issue also have been addressed now. Please check again

LGTM 🚀