Variables in redis.address and allowed_outbound_hosts

Fixes #2153.
I am not sure if this is the right approach: it ends up very invasive, as the Resolver ends up being handed out to an alarmingly large number of parties.  Unfortunately, because those parties query the App metadata directly for allowed_outbound_hosts, I couldn't see a way to avoid this without making the App object resolver-aware, which felt a bit seismic (and caused ructions for the crate layering).
Because variable resolution is async, I experimented with letting all allowed_outbound_hosts checking be async, but it became painful.  Blocking during variable queries is clearly not desirable, but in practice full async is probably safe to punt to future work, at least for the CLI.
I don't yet understand the Cloud impact if we were to pursue this draft - I assume it would be ~terrifying~ non-trivial.  In particular, I'm not sure of the performance characteristics of variable queries: if those cross the network then the current blocking design is likely untenable.
Things that still need looking at:

Tests. So many tests
Whether this will play nicely with component variables (see also: 1)

Finally:

Some of the big changes are from splitting spin-expressions out of spin-variables - most of this is a straight copy so not as humungous as it looks!
I've had a lot of back and forth trying to get this working so if I've left in something badly named or badly explained then please be gentle with me, I tried to tidy it up but undoubtedly missed something...

Okay, I have a build that respects component variables - but now I'm thinking it's not the right thing.  Component variables are about what the component is allowed to see, the view the developer gives to the guest: they implement a trust boundary.  But allow-lists aren't given to the guest, they're used by the host.  You shouldn't have to surface a piece of data to the guest just in order to use it in an allow-list.
In practice if you're configuring your allow-list from variables, you're probably handing those same URLs to the guest via component variables.  So maybe "you shouldn't have to" gets trumped by "but you always will."
Thoughts?
(Also, this reflects a limitation of the current resolver, where you can resolve either at application level or at component level but not both.  We could relax that limitation and give allow-list resolution access to both sets of variables.  But first I want to get a sense for what people think is the right behaviour.)

I think the variables system should be redesigned. The current pull-based approach works fine (not great) for the way variables were originally designed - guests fetching values dynamically - but it is a bad fit for setting per-request behavior like allowed hosts.
Imagine a cat_facts_url variable is updated mid-request; first the host resolves it to old.cat-facts.com to set the allowed host, then the guest resolves it to new.cat-facts.com and the subsequent request fails. Now this particular scenario could be fixed by caching variable values for the duration of a request but there are other more subtle problems like resolving two interdependent variables at different times or performance issues with network-based variable providers as you point out above.
I think a better design would be for all relevant variables to be pre-resolved before any particular request comes in. This would be trivial for environment variables but for something like Vault it would require some kind of subscription or background refresh task. The way variables are exposed to users wouldn't need to change syntactically but the contract would change to e.g. "variable values represent a snapshot from the 'recent past'" rather than "fresh exactly when you fetch them".

Proposal is go with what we have (application variables, not snapshotted at start of instantiation).  If we want to allow component variables, or redesign the variables subsystem, we can do so later without impacting compatibility.
As @lann notes, this could result in inconsistency during a change, where one value is checked but a different one is used.  I don't believe this creates a security vulnerability, but it could result in spurious errors if a request is in flight at the moment the variable is changed.  So we need consensus that we are okay with that risk for the time being.  And as we both noted it won't be super performant if variables have to be fetched across the network, so we also need agreement that that's acceptable (and I admit that issue is not quantified).
If we decide we do want to do more foundational work around snapshotting, that's also fine - if so, let's make that call and we can get it under way.

I ignored out the Postgres integration test because the underlying one is also ignored (because flaky).  I have tested locally.

Holding this until #2287 merges so that @suneetnangia doesn't need to rework the MQTT publisher for it.  (The changes here for MQTT will be mechanical, he said, airily tempting a jealous Fate.)


imdb instance sampling is non-deterministic

The reason for this is that the instance order is dependent on the order of files returned by os.listdir() here, which is arbitrary. This bug already existed in v0.1.0.
This is a subtle bug because running multiple times on the same download folder usually results in the same order due to scenario download caching (the order seems to be based on some OS-dependent order). But deleting the scenario download folder and re-running it causes the order to change.
The long term fix is to use sorted(os.listdir()) instead.

code has the same problem. We should audit the other scenarios as well.

ice has the same problem.

Unfortunately we recently migrated the scenarios between disks and this caused the os.listdir to be shuffled, so now we don't have access to the original os.listdir order. I might be able to reconstruct the original order based on the published evaluations, but it'll be tricky.


database wont load

Not a developer, but I've been experiencing this issue with the site for a couple days. I've exhausted all my options on my personal machine, posting here in the event it's a broader issue.

Are you still having this problem @ra0uldukelives or @gereons?


Update issue templates

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (main@4f53cf8). Learn more about missing BASE report.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #216   +/-   ##
=======================================
  Coverage        ?   91.57%
=======================================
  Files           ?       56
  Lines           ?     2244
  Branches        ?        0
=======================================
  Hits            ?     2055
  Misses          ?      189
  Partials        ?        0

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


Set up infrastructure for MidenVM compilation mode

Description
Hello! I am beginning work on the MidenVM backend.
This PR closes: #3697 #3696 #3695 and #3694.
I have created a new trivial test under should_pass/midenvm. Ideally, eventually we will be able to run the relevant section of the main test suite via supported_targets. I will seek to do that after more compilation is built out. For now, this is a POC test that directly addresses #3696.
Note that the Miden VM ASM builder will be modified heavily going forward, and is not in a final state.  I am submitting this in the spirit of early feedback, and look forward to the reviews, but note that this code path should not be considered "production ready" (note the todo panics).
Checklist

[x] I have linked to any relevant issues.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have updated the documentation where relevant (API docs, the reference, and the Sway book).
[x] I have added tests that prove my fix is effective or that my feature works.
[ ] I have added (or requested a maintainer to add) the necessary Breaking* or New Feature labels where relevant.
[x] I have done my best to ensure that my PR adheres to the Fuel Labs Code Review Standards.
[ ] I have requested a review from the relevant team or maintainers.

I am unable to request reviewers or link issues, so I cannot check those off of the checklist.
I don't believe this should be considered a New Feature or Breaking since it is just preliminary work.

Converting to draft to work on clippy issues

No worries, great to see a start on this, thanks @p0ry-g0n.
Just a heads up:  I'm working on improving the IR significantly at the moment, mostly to make the back-end stuff under asm_generation simpler.  This is a WIP which I hope to merge Very Soon and it'll impact some of the nitty-gritty in asm_generation.
I also plan to move the asm_generation module under sway-core into its own crate ASAP, making it a peer to sway-core, sway-ir and the others.  It should be a fairly straight forward transplant when it happens though.
This is partly why our EVM support is practically non-existent, it's blocked waiting for these changes.  But we added it in an attempt to try to introduce the idea of different back-ends, because originally, back in the early days, we only planned to support FuelVM of course.

My bad, accidentally converted it to a real PR. I made it a draft again.

It would be great if you could add some more documentation regarding the overall architecture of MidenVM and how code generation needs to be done.

Would you mind if I do that as I go along? As you can likely see, this is just a skeleton, and I myself am still figuring out a lot of it :)

Btw you should add a new CI step to test the MidenVM stuff: https://github.com/FuelLabs/sway/blob/master/.github/workflows/ci.yml#L244

I thought this was handled by supported_targets in test.toml. What is the difference here?
And, @otrho , I'm thinking of working on front end changes next. MidenVM assembly expressions and perhaps the usize type that was mentioned to me. That should not conflict, correct?

Got it, thanks. I've added the CI stage.

And, @otrho , I'm thinking of working on front end changes next. MidenVM assembly expressions and perhaps the usize type that was mentioned to me. That should not conflict, correct?

Sure.  We're trying to keep the output from the IRgen fairly target agnostic, and to then have target specific passes mold things as needed later.  This can be beneficial for certain optimisation passes which may work better prior to target specialisation.  OTOH sometimes this may not really be feasible so we may need to add a target parameter to IRgen.
You can see some target specific passes I've added in my  branch, which we're calling directly in IRgen at the moment, but which should be moved into the pass manager, and will in the future be added only for those targets which need them.
https://github.com/FuelLabs/sway/blob/7312f290b74cdb8b94f44e32d1d808566d3c2030/sway-core/src/ir_generation.rs#L99-L119


Add support for light/dark theme variants in gnome-terminal

Gnome Terminal allows you to select the theme variant in its general settings. This adds support for that to home-manager.
Though "theme variant" seems like a more general feature than simply "dark" or "light", it appears Gnome Terminal only supports "dark" or "light". Anything else gets ignored as default. So I decided to encode it that way as an enum.

Thanks! I'll have a look as soon as possible but it may be a while since I'm traveling for a week.

Oh, please change the commit message to

gnome-terminal: add support for light/dark theme variants

We typically prefix the commit message with the affected module.

Looks good! Rebased to master in 0fa19ed55565ceca8cbbce9e9416fe4c06097115. Thanks for the contribution 🙂


I cannot check the backend-health using java sdk

How to check the health of application gateway using java sdk.
I need to perform a similar operation like below azure cli command using java sdk:
azure network application-gateway backend-health show "$1" "$2" --json \ | jq -r '.backendAddressPools[].backendHttpSettingsCollection[].servers[] | select(.health == "Healthy") | .address'

This is not yet exposed in the fluent API of the Java management libraries directly.
For the time being, a backdoor workaround that could be used would be to get to the auto-generated "Inner" client implementation of the application gateway service, and call backendHealth() directly. For example, see if this helps:
ApplicationGateway ag = azure.applicationGateways().get(myAGresourceId);
ApplicationGatewayBackendHealthInner health = azure.applicationGateways().inner().backendHealth(ag.resourceGroupName(), ag.name());
for (ApplicationGatewayBackendHealthPool poolHealth : health.backendAddressPools()) {
  for (ApplicationGatewayBackendHealthHttpSettings configHealth : poolHealth.backendHttpSettingsCollection()) {
    for (ApplicationGatewayBackendHealthServer serverHealth : configHealth.servers()) {
      if (serverHealth.health() != null) {
        System.out.println(serverHealth.address() + ": " + serverHealth.health().toString());
      }
    }
  }
}

Word of clarification: note the above workaround works in master, not in the released beta5, because beta5 did not yet expose inner() on collection objects or managers.

in progress for v1.4: https://github.com/Azure/azure-sdk-for-java/pull/1945


Fix/namespace requirement adfs

While working with a client there was this specific requirement the logout request needed. They are using ADFS which requires xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" on the issuer and nameid tags. E.g.
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">ENTITYID</saml:Issuer>
<saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">NAMEID</saml:NameID>

I've added a new config option to the idp data so that other users can specify different namespaces if needed.
I'm very new to SAML and SSO so I might not of fully understood how your package works, if it can already cope with this.
Thanks
Chris

I don't think ADFS requires xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" if is defined at the top of the XML.


Calling Observable.get() twice causes component to not render after state is changed using .set()

I imagine this is probably just not me understanding the library as I'm new to it, however I can't see anything in the docs that would specify why this is happening.
In the below code I am creating an observable, checkIndex. CheckIndex is just an array of numbers which is then used by the component to decide when to display a <Text> containing a string "Check". If the index of the list item is present in checkIndex then display the <Text>, pretty simple.
When any ListItem is pressed, it should either add or remove its index to checkIndex, depending on whether it's present in the array already. This works fine for adding, there's no issues.
But for removing, it only works assuming I don't use checkIndex.get() a second time. If I do, then "render" is never logged by the component and the component is never updated. If I remove the second checkIndex.get() and instead use the refderence to checkIndexArray to create a new array using the spread operator, then everything works as expected.
However newCheckIndexArray and the return of checkIndex.get() are identical, as newCheckIndexArray is created using checkIndex.get() higher up in the code. So the operation should be exactly the same in terms of the objects being operated on.
I can only assume .get() is quietly doing something here that I don't understand which is causing an issue when .get() is being called twice. But I don't know what. Calling it a third time doesn't change anything, it still doesn't work. But if I only call checkIndex.get() once everything else works okay.
Also, does .set() cause a render when the observable is updated?
export default function SelectExerciseModal() {
  const checkIndex = useObservable<number[]>([]);

  const handleOnPress = (exercise: Exercise, listItemIndex: number) => {
    let checkIndexArray = checkIndex.get();
    if (checkIndex.get().includes(listItemIndex)) {
      let index = checkIndexArray.indexOf(listItemIndex);
      let newCheckIndexArray = [...checkIndexArray]; //Causes render to be logged by the component below
      // let newCheckIndexArray = checkIndex.get(); //Render isn't logged by the component
      newCheckIndexArray.splice(index, 1);
      checkIndex.set(newCheckIndexArray);
    } else {
      checkIndex.set([...checkIndex.get(), listItemIndex]);
    }
  };

  return (
    <For each={exerciseState$}>
      {(item, index) => (
        <YGroup.Item>
          <ListItem onPress={() => handleOnPress(item.get(), parseInt(index))}>
            <XStack flex={1} justifyContent="space-between">
              <Text>{item.get().name}</Text>
              <Show
                if={() => {
                  console.log("render");
                  return checkIndex.get().includes(parseInt(index));
                }}
              >
                <Text>Check</Text>
              </Show>
            </XStack>
          </ListItem>
        </YGroup.Item>
      )}
    </For>
  );
}

By the way, this is a very common issue since React developers are used to state being immutable. So I wrote up some notes about that in the docs for the upcoming version 3. https://preview.legend.pages.dev/open-source/state/v3/usage/observable/#observables-are-mutable

Hi @jmeistrich, just had a chance to look over your reply now. I've altered my code around as per your suggestions and it's working perfectly now. I think it was the immutability differences that were the gap in my knowledge.
Thank you for your help, I'll make sure to read over the v3 docs as well. I'll close this off.
When is v3 coming out? I'm a big fan of your guys work, this is exactly the state management library I was envisioning when I started working with React.

Also, would you mind just telling me what the difference is in doing
let index = checkIndex.get().indexOf(listItemIndex);
vs
let index = checkIndex.indexOf(listItemIndex);

v3 alpha is out now :)
There is no difference between those two. Many of the observable array methods work a bit differently by passing the observable to the callback, but indexOf is unchanged: https://legendapp.com/open-source/state/v3/usage/observable/#arrays


Add a scriptencoding utf-8 declaration

This is helpful because this script contains literal Unicode characters.
Also, prefer the more specific case-aware string comparison operators
==# and !=#. This shouldn't change anything in practice but makes
vint happy.

Thanks


Warnings due to new concatenation syntax

WARNING: [a] concatenation is deprecated; use [a;] instead
 in depwarn at ./deprecated.jl:40
 in oldstyle_vcat_warning at ./abstractarray.jl:26
 in vect at abstractarray.jl:29
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in reload_path at ./loading.jl:152
 in _require at ./loading.jl:67
 in require at ./loading.jl:54
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in reload_path at ./loading.jl:152
 in _require at ./loading.jl:67
 in require at ./loading.jl:54
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in reload_path at ./loading.jl:152
 in _require at ./loading.jl:67
 in require at ./loading.jl:52
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in evalfile at loading.jl:168 (repeats 2 times)
 in anonymous at pkg/entry.jl:624
 in cd at ./file.jl:20
 in build! at pkg/entry.jl:623
 in build! at pkg/entry.jl:619
 in build at pkg/entry.jl:635
 in resolve at ./pkg/entry.jl:446
 in update at ./pkg/entry.jl:282
 in anonymous at pkg/dir.jl:28
 in cd at file.jl:20
 in cd at pkg/dir.jl:28
 in update at ./pkg.jl:43
WARNING: [a] concatenation is deprecated; use [a;] instead
 in depwarn at ./deprecated.jl:40
 in oldstyle_vcat_warning at ./abstractarray.jl:26
 in vect at abstractarray.jl:29
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in reload_path at ./loading.jl:152
 in _require at ./loading.jl:67
 in require at ./loading.jl:54
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in reload_path at ./loading.jl:152
 in _require at ./loading.jl:67
 in require at ./loading.jl:54
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in reload_path at ./loading.jl:152
 in _require at ./loading.jl:67
 in require at ./loading.jl:52
 in include at ./boot.jl:249
 in include_from_node1 at ./loading.jl:128
 in evalfile at loading.jl:168 (repeats 2 times)
 in anonymous at pkg/entry.jl:624
 in cd at ./file.jl:20
 in build! at pkg/entry.jl:623
 in build! at pkg/entry.jl:619
 in build at pkg/entry.jl:635
 in resolve at ./pkg/entry.jl:446
 in update at ./pkg/entry.jl:282
 in anonymous at pkg/dir.jl:28
 in cd at file.jl:20
 in cd at pkg/dir.jl:28
 in update at ./pkg.jl:43

I'm having a hard time tracking this down; is this actually from Homebrew?

It's URIParser by way of BinDeps, fixed in JuliaWeb/URIParser.jl#16.


Compilation time significantly slower in 3.7.1-RC vs 3.5.2, essentially the "check time" part.

TypeScript Version:  3.7.1-RC

Search Terms: Compilation time Check time 3.7.1-RC
Code
// takes 25-30 minutes
node --max-old-space-size=8092 "C:\Program Files (x86)\Microsoft SDKs\TypeScript\3.7\tsc.js"
// takes 2-3 minutes
node --max-old-space-size=8092 "C:\Program Files (x86)\Microsoft SDKs\TypeScript\3.5\tsc.js"

Expected behavior: Compilation should take a reasonable amount of time
Actual behavior: Compilation is 10 times slower than 3.5.2 version.
Related Issues: maybe related: https://github.com/Microsoft/TypeScript/issues/24435
Hi, we give a try at typescript 3.7.1-RC today (upgrading from 3.5.2) and we are facing a significant increase of build time.
I've launched the compilation with extendedDiagnostics flag and this is the "check time" which is a lot slower.
 I've saw nothing in breaking change that could cause that.
Thanks in advance.
the tsconfig.json used:
{
  "compileOnSave": true,
  "compilerOptions": {
    "incremental": false,
    "outDir": "./dist/js",
    "noImplicitAny": false,
    "allowJs": false,
    "checkJs": false,
    "noEmitOnError": true,
    "removeComments": true,
    "sourceMap": false,
    "target": "es5",
    "lib": [
      "dom",
      "es5",
      "scripthost",
      "es2015.promise",
      "es2015.collection",
      "es2015.core",
      "es2015.generator",
      "es2015.iterable",
      "es2015.proxy",
      "es2015.reflect",
      "es2015.symbol",
      "es2015.symbol.wellknown"
    ],
    "rootDir": "./src/js",
    "noResolve": true,
    "module": "amd",
    "moduleResolution": "node",
    "experimentalDecorators": false,
    "jsx": "react"
  },
  "include": [
    "./src/**/*.js",
    "./src/**/*.ts",
    "./src/**/*.tsx",
    "./Scripts/typings/**/*.ts"
  ],
  "exclude": [
    "./Scripts/excludedtypings/**/*.ts",
    "node_modules",
    "node_modules/@types",
    "wwwroot"
  ]
}

`
Su
`

yarn build triggers vue-cli-service build
Medium sized SPA

Version
1. build
2. build
3. build

3.6.4
37.51s
16.65s
17.36s

3.7.2
37.59s
16.14s
16.41s

... cant see any problem in our project 👍

@Ikaer thanks for the detailed feedback!  Any chance your build is something we can set up locally?  If not (no worries, it's pretty common), could you possibly try with 3.6.4 and let us know what you see?  That will help us narrow down the span of possible changes.

@amcasey We try to compile with 3.6.2 (we don't have the 3.6.4 installed on this server). It takes the same amount of time than the 3.7.  So It is probably a change made between the 3.5.2 and the 3.6.2.
I cannot provide the source code for this specific solution, sorry :(

Maybe this can help you to find where the problem is: I've done a node profiling of the compilation with 3.7, and below is a summary (the complete file is attached).
profiling.txt

Code move event for unknown code: 0x2d515da98c0
Statistical profiling result from v8.log, (755274 ticks, 5355 unaccounted, 0 excluded).

  Callers occupying less than 2.0% are not shown.

   ticks parent  name
  660248   87.4%  C:\Program Files\nodejs\node.exe
  88759   13.4%    C:\Program Files\nodejs\node.exe
  68263   76.9%      LazyCompile: *checkTypeRelatedTo F:\Users\xlefebvre\TestBuildTS\binaries\NodejsConsoleApp1\tsc.js:45724:36
  68239  100.0%        LazyCompile: *isTypeRelatedTo F:\Users\xlefebvre\TestBuildTS\binaries\NodejsConsoleApp1\tsc.js:45687:33
  68063   99.7%          LazyCompile: *isTypeOrBaseIdenticalTo F:\Users\xlefebvre\TestBuildTS\binaries\NodejsConsoleApp1\tsc.js:49246:41
  68062  100.0%            LazyCompile: *inferFromMatchingTypes F:\Users\xlefebvre\TestBuildTS\binaries\NodejsConsoleApp1\tsc.js:48929:44

  23009    3.0%  Stub: FastNewClosureStub
  22522   97.9%    LazyCompile: *checkTypeRelatedTo F:\Users\xlefebvre\TestBuildTS\binaries\NodejsConsoleApp1\tsc.js:45724:36
  22511  100.0%      LazyCompile: *isTypeRelatedTo F:\Users\xlefebvre\TestBuildTS\binaries\NodejsConsoleApp1\tsc.js:45687:33
  22429   99.6%        LazyCompile: *isTypeOrBaseIdenticalTo F:\Users\xlefebvre\TestBuildTS\binaries\NodejsConsoleApp1\tsc.js:49246:41
  22428  100.0%          LazyCompile: *inferFromMatchingTypes F:\Users\xlefebvre\TestBuildTS\binaries\NodejsConsoleApp1\tsc.js:48929:44
  13597   60.6%            LazyCompile: *inferFromTypes F:\Users\xlefebvre\TestBuildTS\binaries\NodejsConsoleApp1\tsc.js:48710:36
   8831   39.4%            LazyCompile: ~inferFromTypes F:\Users\xlefebvre\TestBuildTS\binaries\NodejsConsoleApp1\tsc.js:48710:36

@Ikaer Wow, thanks for the profile!  Any chance you'd be willing to share the underlying isolate logs?  They should only point into our source, not yours.  Better still, if you wanted to do a run with --trace-maps --trace-ic --prof, we could visualize which parts of our code are contributing to the slowdown.

I think the trace shows a huge increase in the amount of GC going on in the newer compiler and the extended diagnostics above seem to indicate that there are 5X as many identity cache entries.  That's pretty suspicious.

@Ikaer are you using a lot of intersection types?  There was some work done in 3.6 to eliminate duplicate signatures that requires a bunch of new identity checks: https://github.com/microsoft/TypeScript/pull/32049
If that seems promising, I can try to make you a private build without that change to confirm that it's the culprit.  If it is, we can refine the check.

@Ikaer you should be able to get a build of 3.6 without the potentially problematic check from #35073 when the bot finishes.

This creates a build which does a build, runs an LKG, runs normal tests, and then packs the result into an installable tarball (which can be downloaded from the build artifacts on the azure pipelines build status page), perfect for installing with npm i {URL to tarball} to test with.

I will get a run with this version and will let you know how it goes.
For the intersections, yep, we use them a lot, we have a transpilation engine which convert C# code (from server side) into declaration file with enums converted to string literal intersection type.

@amcasey this build does not effect the build time (still very long). In this files36Fix.zip , I've put the extenddiagnostics and the isolate file.
I was not able to use the flag --trace-maps (I'm using node 6.5.0, maybe its an option who appeared later ?),

but --trace-ic worked

@Ikaer sorry, it didn't even occur to me to mention that we needed a trace from a newer version of node (we generally use 10 or 12, but I suspect 8 would work as well).  In any case, the full trace (thanks for your patience - that thing is huge) is less likely to be less useful than the output of --generateCpuProfile in this particular case.  Did you have a chance to try it?  It may also depend on Node >= 8.
The extended diagnostics were very interesting.  It looks like it did partly address the regression - just not enough to be useful.  I'll see if I can find another change that might have had a similar effect.

@amcasey So.... I've installed node 12.13 and TS 3.7.2 and the compilation time is reasonable again, I have also run a test with the 3.6.2 and same outcome.
Compilation is still longer than before with 3.5.2 (221s vs 57s) but it's manageable.
I've attached diagnostics file (isolate file have been made with --trace-ic and --trace-maps this time.)
3.5.zip: extendedDiagnostics + isolate file
3.6.zip: extendedDiagnostics + isolate file
3.6withfix.zip: extendedDiagnostics + isolate file
3.7.zip: extendedDiagnostics +profile.cpuprofile

@Ikaer Thanks for the update!  I believe Node 12 removed the default memory cap (~1GB), so my guess would be that it's no longer running out of memory and then thrashing the GC.  However, there's still about 25% of time devoted to GC in the 3.7 trace, so I'd still like to understand what's allocating.  Obviously, every version of TS adds new checks (i.e. does more work and allocates more memory), but it's also possible that something is leaking.  I'll have to see if there's a way I can get an allocation trace without access to your source.

I haven't forgotten about this.  I've been iterating with another customer on how to figure out which compiler objects are being allocated without exposing user data and so far there isn't a clear solution.

@amcasey thanks for the update!
We can have an intermediate exposing. If it's just object names, types, paths, callstacks, any kind of aggregated information, I'm fine with it. Its just the source code I can't provide.
Btw, I've opened a ticket in visualstudiocommunity because the intellisense in visual studio 2019 with our project is really bad,
I'm not sure if it's related, because it is tsserver.js incriminated and not tsc.js. Just for you to know all the facts.
Also, do you think if we split this project into multiple project references, there could be room for significative compilation time improvements ? It's not an easy task to do (a lot of circular references to fix), so I prefer to ask for your opinion first.

@Ikaer Thanks!  If I come up with a solution with that level of information exposure, I'll let you know.  Unfortunately, the default trace includes string contents and the compiler's strings are your source code. 😢
Thanks for linking the ticket - I wouldn't have connected the two otherwise.  Yes, it's probably the same issue since tsc and tsserver share most of their code.  I'll try to confirm though.
I can't make any guarantees, but project references were specifically created to speed up checking of large code bases and have proven effective for other large projects (including TypeScript itself).  So, yes, I would expect moving to project references to help with both compilation time and language service (i.e. IntelliSense) performance.  If you go ahead, please keep me posted.

@amcasey This is very interesting.
Our project is using a homemade framework for designing and styling components which is inspired by React and there is an heavy use of CSSStyleDeclaration and methods which look like what you called "thunked CSS properties"
Here is a sample of code you can find a lot in our project:
export interface ComponentProperties<P extends ComponentProperties<P, X, K, S>, X extends IComponent<P, X, K, S>, K, S> {

    styleCSS?: DataBinding<Partial<CSSStyleDeclaration>, K, S, P, X>;
    id?: DataBinding<string, K, S, P, X>;
    events?: {
        click?: ComponentEventProperties<P, X, K, S, MouseEvent>;
        keyup?: ComponentEventProperties<P, X, K, S, KeyboardEvent>;
    }
    [...]
}

export interface ComponentEventProperties<P extends ComponentProperties<P, X, K, S>, X extends IComponent<P, X, K, S>, K, S, E extends Event> {
   [...]
    disabled?: DataBinding<boolean, K, S>;
}
export type DataBinding<U,
    K,
    S,
    P extends ComponentProperties<P, X, K, S> = ComponentProperties<any, any, K, S>,
    X extends IComponent<P, X, K, S> = IComponent<P, any, K, S>>
    = U | ((data: K, state?: S, props?: P, compo?: X) => U);

A difference however is that we not using the package https://www.npmjs.com/package/csstype for css, we directly use CSSStyleDeclaration from lib.dom.ts which is just a bunch of property:string for most of it

@Ikaer I believe that makes yours at least the third project we've seen having performance problems with that sort of pattern.  I think we're going to step back and think about that scenario as a whole (not a quick process, unfortunately).

@Ikaer Do you want to try the latest nightly build and let me know if it's any better?  It sounds like your project has similarities to material-ui and we've recently made several performance improvements that have gotten us back to roughly TS 3.5 speeds.

@amcasey Yep there is definitely significant improvements with this build. We go down from 4.30 min to 1.40 min in full mode (no change in incremental, around 7 seconds)
Check time go down from 253.29s to 74.43s
attached: extended diagnostics and prof-process of isolates
extendedDiagnostics_prof-process_3.7.4.zip
extendedDiagnostics_prof-process_3.8.0next.zip

@Ikaer does that mean you're back to 3.5.2 perf?

@amcasey yep and with a little gain, in the O.P, I was at least above 2min of compilation with 3.5, now I'm under 2 minutes, so yeah, We are back to 3.5.2 perf and even better.

Cool.  For bookkeeping purposes, I'm going to close this issue but, obviously, we're still focused on perf.  It sounds like the changes we make for material-ui and styled-components are likely to benefit your project as well, so I'd keep an eye on those.


Move jdk_security1, 2 and 4 to sanity

Since we have people make changes to security code, we would like to run security tests more often.
resolves: https://github.com/adoptium/aqa-tests/issues/3858

FYI @pshipton

Related to https://github.com/adoptium/aqa-tests/issues/4127


Bug report | moment(file.ctime) will incorrectly display the time in dataviewjs

What happened?
Before Everything
This may not be a dataview bug, and it tends to be a moment.js bug.
But the issue only occurs in dataviewjs, and from other places such as templater js snippets, there is no issue.

DQL
No response
JS
dv.table(
	["Recent files", "Last modified"],
	dv.pages()
		.sort(page => page.file.mtime.toMillis(), "desc")
		.limit(10)
                .map(page => [page.file.link, moment(page.file.mtime).format("YYYY-MM-DD HH:mm:ss")])
);

Dataview Version
0.5.67
Obsidian Version
1.6.7
OS
Windows

Interestingly, if we modify one simple line of the codes, the time will display correctly.
From
.map(page => [page.file.link, moment(page.file.mtime).format("YYYY-MM-DD HH:mm:ss")])

To
.map(page => [page.file.link, page.file.mtime])

Correct Modified Time

Modified Codes
dv.table(
	["Recent files", "Last modified"],
	dv.pages()
		.sort(page => page.file.mtime.toMillis(), "desc")
		.limit(10)
                .map(page => [page.file.link, page.file.mtime])
);

hey, I was searching for ‘how to get recent files with dataviewjs’ and found this issue, thank you very much for the example, in return I'll answer the question.
First of all use the shortcut Ctrl+Shift+i in obsidian to open the browser developer tools console.
With this code in dataviewjs block:
var t= dv.pages().first().file.mtime;
console.log(t)
console.log(t.toString())
console.log(moment(t).format("YYYY-MM-DD HH:mm:ss"))
console.log(moment(t.toString()).format("YYYY-MM-DD HH:mm:ss"))

you can see this result:
> DateTime {ts:<PHONE_NUMBER>339, _zone: SystemZone, loc: Locale, invalid: null, weekData: null, …}
> 2024-10-09T12:53:10.339+08:00
> 2024-10-12 00:00:00
> 2024-10-09 12:53:10

So mtime should be a custom class,  just add toString() and then moment.js will recognise it.
And the mtime class comes with a toFormat() function, which is more concise:
var t= dv.pages().first().file.mtime;
console.log(t.toFormat("yyyy-MM-dd HH:mm:ss"))

output:
> 2024-10-09 12:53:10

By the way, Dataview plugin settings can also directly change the default time output format.

hey, I was searching for ‘how to get recent files with dataviewjs’ and found this issue, thank you very much for the example, in return I'll answer the question.
First of all use the shortcut Ctrl+Shift+i in obsidian to open the browser developer tools console.
With this code in dataviewjs block:
var t= dv.pages().first().file.mtime;
console.log(t)
console.log(t.toString())
console.log(moment(t).format("YYYY-MM-DD HH:mm:ss"))
console.log(moment(t.toString()).format("YYYY-MM-DD HH:mm:ss"))

you can see this result:
> DateTime {ts:<PHONE_NUMBER>339, _zone: SystemZone, loc: Locale, invalid: null, weekData: null, …}
> 2024-10-09T12:53:10.339+08:00
> 2024-10-12 00:00:00
> 2024-10-09 12:53:10

So mtime should be a custom class, just add toString() and then moment.js will recognise it.
And the mtime class comes with a toFormat() function, which is more concise:
var t= dv.pages().first().file.mtime;
console.log(t.toFormat("yyyy-MM-dd HH:mm:ss"))

output:
> 2024-10-09 12:53:10

By the way, Dataview plugin settings can also directly change the default time output format.

Thank you for the enlightening reply!
Apparently, this issue should be attributed to my fault for 100% as I misuse the file.mtime in moment.js.

The mtime should be a custom class of  file.mtime in dataviewjs. While file.mtime is only recognitive to dataview, it is not the standard time format for moment.js to recognize.

I validated this by copying your codes and reproduced the case in my environment:
var mtime = dv.pages().first().file.mtime;

console.log(mtime)  //outputs `DateTime {…}`
console.log(mtime.toString()) //outputs `2024-09-27T13:49:41.528+08:00`
console.log(moment(mtime).format("YYYY-MM-DD HH:mm:ss")) //outputs `2024-10-12 00:00:00` (beginning of current date because `DateTime {…}` is unregpgnizable to moment.js )
console.log(moment(mtime.toString()).format("YYYY-MM-DD HH:mm:ss")) //outputs `2024-09-27 13:49:41`
console.log(mtime.toFormat("yyyy-MM-dd HH:mm:ss")) //outputs `2024-09-27 13:49:41`
console.log(moment(mtime.toFormat("yyyy-MM-dd HH:mm:ss")).format("YYYY-MM-DD HH:mm:ss")) //outputs `2024-09-27 13:49:41`

And here's the result in the console:

Btw, the toFormat should be cautious to be used if moment.js is more familiar to you, as the specified format is different from toString and moment.js. In an example to generate 2024-09-27, the required formats are discrepant:

In toFormat: yyyy-MM-dd
In moment.js: YYYY-MM-DD

To Add
Btw, a similar target can be achieved in templater, if you want to export the static data of dataview to your daily notes. For example, the notes you created and edited on the exact day.

In Obsidian, the file modified time will be updated once you modify the notes. If you edit multiple notes every day, the modified time of certain notes will be updated very frequently. In this case, you may not know which notes you edited yesterday, or last month, etc.

Reference

"Burning out" dataviews · Issue #42 · blacksmithgu/obsidian-dataview (github.com)
Using Dataview on Obsidian Publish · joschua.io

This thread can be closed and thanks for the answer again.


[Teamcoco] "hostname doesn't match either of" multiple domains certificate error

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.05.26. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.05.26

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

user@server:~# youtube-dl -v http://teamcoco.com/video/full-episode-thurs-5-24-james-comey-tig-notaro-and-cory-kahaney?playlist=x;eyJ0eXBlIjoidGFnIiwiaWQiOjl9
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'http://teamcoco.com/video/full-episode-thurs-5-24-james-comey-tig-notaro-and-cory-kahaney?playlist=x']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.05.26
[debug] Python version 2.7.12 (CPython) - Linux-4.4.0-112-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: ffmpeg 2.8.14-0ubuntu<IP_ADDRESS>, ffprobe 2.8.14-0ubuntu<IP_ADDRESS>, rtmpdump 2.4
[debug] Proxy map: {}
[Teamcoco] video/full-episode-thurs-5-24-james-comey-tig-notaro-and-cory-kahaney: Downloading JSON metadata
[Teamcoco] 103839: Downloading JSON metadata
[Teamcoco] 103839: Downloading m3u8 information
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/bin/youtube-dl/__main__.py", line 19, in <module>
  File "/usr/local/bin/youtube-dl/youtube_dl/__init__.py", line 472, in main
  File "/usr/local/bin/youtube-dl/youtube_dl/__init__.py", line 462, in _real_main
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2001, in download
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 792, in extract_info
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 500, in extract
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/teamcoco.py", line 163, in _real_extract
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 1456, in _extract_m3u8_formats
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 599, in _download_webpage_handle
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 579, in _request_webpage
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 2211, in urlopen
  File "/usr/lib/python2.7/urllib2.py", line 429, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 447, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
    result = func(*args)
  File "/usr/local/bin/youtube-dl/youtube_dl/utils.py", line 1101, in https_open
  File "/usr/lib/python2.7/urllib2.py", line 1195, in do_open
    h.request(req.get_method(), req.get_selector(), req.data, headers)
  File "/usr/lib/python2.7/httplib.py", line 1057, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 1097, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 1053, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 897, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 859, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 1278, in connect
    server_hostname=server_hostname)
  File "/usr/lib/python2.7/ssl.py", line 353, in wrap_socket
    _context=self)
  File "/usr/lib/python2.7/ssl.py", line 601, in __init__
    self.do_handshake()
  File "/usr/lib/python2.7/ssl.py", line 838, in do_handshake
    match_hostname(self.getpeercert(), self.server_hostname)
  File "/usr/lib/python2.7/ssl.py", line 272, in match_hostname
    % (hostname, ', '.join(map(repr, dnsnames))))
ssl.CertificateError: hostname u'teamcoco-api-prod-2.us-west-1.elasticbeanstalk.com' doesn't match either of '*.teamcoco.com', '*.prod-2.teamcoco.com'
eyJ0eXBlIjoidGFnIiwiaWQiOjl9: command not found

...
<end of log>

Description of your issue, suggested solution and other information
When trying to download a video from teamcoco it looks like the content may be hosted in elasticbeanstalk, as a result the teamcoco.com cert does not match the cert for elasticbeanstalk.com. This results in a failure of ssl and breaks youtube-dl
Suggested fix:
https://stackoverflow.com/questions/32667485/requests-exceptions-sslerror-hostname-boxfwd-com-doesnt-match-either-of-nyc

That worked, thanks.


Avoid casting object.keys on undefined

Coverage decreased (-0.02%) to 80.383% when pulling b3e3b5fa71f5e030f473ce8bb7b56240c602c48a on rvegas:master into 5687aabbd00df93bb3394b3636fab73a79fa283f on kusanagi:master.


Modifies grid to decouple internal state and DOM update

Grid now updates internally along with the simulation when visual updates are not desired so it can be noted if a hare died mismatched on the display in a "time skip."
Fixes #21.

 Evo: Decouple visual update and hare updates for grid


Add validateProfileId using native validator

Summary
Implemented validateProfileId handling in Assertion
New behavior

Profile
If a TestScript contains profile information, the engine requests the profile with reference URL (assuming it is an open URL). The engine transforms returned XML into FHIR StructureDefintion and stores. Once created, a profile can be reused by multiple asserts.

validateProfileId
If a TestScript contains an assert with validateProfileId, the engine runs FHIR profile validator to examine whether the response conforms the profile. At this point, this PR only covers the native validator provided by Ruby FHIR model. Later, it will be integrated with external validator along with necessary configurations.

Code changes
Change
assertion.rb
testscript_runnable.rb
validate_profile_id_spec.rb
basic_testreport.json
example_patient_uscore.json
structuredefinition-us-core-patient.json
Testing guidance
Run a TestScript containing profile and validateProfileId

I need to figure out which http library performs best, they behaves differently when running pulling profiles from remote

Resolved all conflicts

Close by outdated code, change of scope, and too much rebase needs. Creating a new branch is considered productive.


WIP: 1-cockpit-7: [no-test] Update translations from Fedora Weblate

Update translations from Fedora Weblate

[ ] po-refresh

po-refresh in progress on 1-cockpit-7.
Log: https://logs.cockpit-project.org/logs/po-refresh-1077-20200813-031515/

po-refresh  done: https://github.com/cockpituous/welder-web/commits/po-refresh-20200813-031717


Make both callout/Important boxes re Live Events the same

Prior PR updated the callout box to have caveat sentence re the assessment/triage stage of requests that go to the Live Events Assistance Team.  But that update was only to one box, and there are 2 with substantively the same language.  So this PR copies the updated box and its less-wordy text, and including the caveat sentence.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


implemented automatic generation of types

Hi @alonrbar ,
Here is my suggestion for the automatic types generation.
I implemented it just with tsc --emitDeclarationOnly but to get things working without any "manual" interaction I had to change your global declaration @types/ambient.d.ts and added this stuff to utils/misc.ts. Otherwise the types of this file were not imported and I did not find a better solution to handle this issue.
Let me know if this is okay for you or if you would like to change something.

This one requires a bit more attention. Forgive my availability as it will probably take me a few days to have time to property look into it.

Take your time... I can work with my version for now. But I just realised that for some reasons the other branches terser and scope-data were merged into this branch for some reasons. This should not be the case since I merged them from types branch to master in the github UI.
Let me know if this is an issue for you, then I will create a new branch with just the necessary changes!

I've tweaked the build script a bit and added a version of your changes directly to master. Thanks!


Better copy explanation for empty list in Built-In Elixir Modules

Describe the issue
the copy

An empty list technically counts as a keyword list, because it does not have any elements that don't follow the {:atom, term} keyword list pattern.

is too hard to understand for new reader, I think there will be a better copy for it
Reproduction Steps (If Applicable)
Steps to reproduce the behavior:

Go to Built-In Elixir Modules
Scroll down to Keyword exercise
the copy explanation is on the exercise that before the last one

Expected behavior
No brainer copy explanation
Screenshots

I agree we can simplify the wording here! I'm open to a PR on this.


coinbase pro/prime + websocket endpoint upgrade/replacement

replace existing ".gdax.com" endpoint/websocket references with gdax prime/pro endpoints
https://docs.gdax.com/#coinbase-prime

new master branch of gdax-python api updated with endpoints:
https://github.com/danpaquin/coinbasepro-python/commits/master

0d1a0cb


"No email address provided."

Running under WSL2 the http://<IP_ADDRESS>:8080/ page only shows "No email address provided." and never gives an opportunity to enter an email address.

Same problem for me

You first run poastal.py THEN open index.html


JSC files not running

I have compiled my .js files to .jsc files. And the entry point is a file named app.jsc, but while running it throws a error saying that this format is not understood and you should have a loader. I dont know which loader do we need to configure for .jsc files?
ERROR in ./src/app.jsc 1:0
Module parse failed: Unexpected character '�' (1:0)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
(Source code omitted for this binary file)

bytenode must be required before any .jsc files. So, you have two options:

Use bytenode cli to run your ./src/app.jsc. i.e. bytenode ./src/app.jsc.

Create another file, launcher.js, and require both bytenode and ./src/app.jsc inside it.

require('bytenode');
require('./src/app.jsc');


Add integration tests

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

Project coverage is 100.00%. Comparing base (40f67f2) to head (18a435b).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #391   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          107       107
  Lines         3291      3291
  Branches       269       269
=========================================
  Hits          3291      3291

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


documentation generator does not gracefully catch unclosed code blocks

Describe the bug
See https://github.com/aws/aws-cdk/issues/20623
Missing code block causes CDK documentation to be corrupted. In addition to fixing the instance, we should try to throw an error if this happens.
Expected Behavior
An error thrown, or some way to make sure the documentation that shows up is not corrupted
Current Behavior
Weird documentation shows up.
Reproduction Steps
See https://github.com/aws/aws-cdk/issues/20623
Possible Solution
No response
Additional Information/Context
No response
SDK version used
CDK
Environment details (OS name and version, etc.)
MacOs

Another example of nonexistent error handling in the doc generator: https://github.com/aws/aws-cdk/pull/24204


Connection Browse Tab

Adds a browse tab to the connection dialog behind a feature flag. Currently saved connections and Azure connection as a flat tree are available in this tab.

Pull Request Test Coverage Report for Build 248650153

13 of 289 (4.5%)  changed or added relevant lines in 5 files are covered.
345 unchanged lines in 7 files lost coverage.
Overall coverage decreased (-0.2%) to 38.921%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/azurecore/src/extension.ts
0
3
0.0%

src/sql/workbench/services/connection/common/connectionTreeService.ts
2
20
10.0%

src/sql/workbench/services/connection/browser/connectionDialogWidget.ts
2
21
9.52%

extensions/azurecore/src/azureResource/tree/flatTreeProvider.ts
0
86
0.0%

src/sql/workbench/services/connection/browser/connectionBrowseTab.ts
9
159
5.66%

Files with Coverage Reduction
New Missed Lines
%

src/sql/workbench/contrib/notebook/browser/cellViews/cellToolbar.component.ts
1
10.2%

src/sql/workbench/services/connection/browser/connectionDialogWidget.ts
1
7.1%

extensions/notebook/src/book/bookModel.ts
14
80.77%

extensions/notebook/src/book/bookTreeItem.ts
17
71.25%

extensions/notebook/src/book/bookTreeView.ts
58
49.07%

src/sql/workbench/contrib/notebook/browser/cellViews/textCell.component.ts
77
4.21%

src/sql/workbench/contrib/notebook/browser/notebook.component.ts
177
1.66%

Totals

Change from base Build 248526718:
-0.2%

Covered Lines:
19098

Relevant Lines:
44802

💛  - Coveralls

the issues found for the new feature is tracked by https://github.com/microsoft/azuredatastudio/issues/12909, I am going to merge this one to avoid merge conflicts.


optim: only check types once

Fixes https://github.com/formik/tsdx/issues/757
Change-Id: I998648be8181371ec14e23a3096dc3b4ac731957

The CI runs can vary highly and some came out slower than previous CI, but in other places there was a 10-20s improvement, which is big. I'll have to run it over a few times locally to get a more accurate estimate since CI runners aren't quite as stable.

It's roughly another 10-15% perf boost, so together with #691 it's a 20-30% perf boost! YMMV of course though

@allcontributors please add @Semperia for code


Create a full port to C

As of December 2022 ACPL will begin a full port to C as soon as possible. It will start after the new A23 update.

I am taking part in this #9, more PRS when that one is closed


(PUP-8542) remove target description from yumrepo

The target parameter does not work for yumrepo. So remove the description
so that we won't list it in the documentation. We've left the parameter so
that we don't break people that happen to have set it previously.

Why not add a deprecation message so it can be removed some time?

@vinzent because we're hoping to add support for it after we split out the provider

CLA signed by all contributors.

This will print an empty description in the reference documentation instead of omitting the property. Is this what we want? /cc @gguillotte
$ bx puppet describe yumrepo
...
- **sslverify**
    Should yum verify SSL certificates/hosts at all.
    Valid values are: false/0/no or true/1/yes.
    Set this to `absent` to remove it from the file completely.
    Valid values are `absent`. Values can match
    `/^(true|false|0|1|no|yes)$/`.

- **target**

- **throttle**
    Enable bandwidth throttling for downloads. This option
    can be expressed as a absolute data rate in bytes/sec or a
    percentage `60%`. An SI prefix (k, M or G) may be appended
    to the data rate values.
    Set this to `absent` to remove it from the file completely.

@joshcooper do we have support for hidden properties. I looked by didn't see anything. Maybe it would be better to change the description to something like:
"The target parameter is currently not supported."

Agreed with @ericldelaney via HipChat on:
"The target parameter will be enabled in a future release and should not be used."

@joshcooper updated
- **target**
    The target parameter will be enabled in a future release and should not
    be used.


BUG: Mines playfield can be dragged

iPhone model: 13 mini
iOS version: 17.6.1
App version: 1.2.1
If you press & drag on the non-playable grey border around the Mines game board, the entire board moves. I discovered this by accident while trying to swipe "back" to exit the game & go back to the main menu (a feature request I will be logging separately).
I think I've only encountered this on Mines, but I don't know if I've actually tested EVERY game in the collection.

This is a semi-intentional change as a result of some half-finished work I have - I'm working on adding the ability to use a single finger to scroll for games that can reasonably support it, rather than the default of two fingers. Mines (and I think one or two others) have the flag to enable it as on - it's a personal preference but I think single finger scroll is much easier for larger games that require zooming in.
I intend to surface a setting for those games (defaulted to off), I'll go ahead and add that to my work for the next version!

Ah, that makes a lot of sense and I think that'll be a great new feature for those who need it. I personally always set my game boards to be "big enough" for my screen (which also helps keep them solvable quickly on a short puzzle break), so the concept of needing to zoom or scroll never crossed my mind.

The setting for single finger scrolling is now exposed and released in version 1.3 now live in the app store. Closing as complete - let me know if you run in to any issues!


Initialize cpuinfo in the thread pool

Thread pool called cpuinfo_get_processors_count() without initializing cpuinfo. Only by chance it didn't regress performance: threadpool is initialized after NNPACK, and NNPACK initializes cpuinfo itself.
This commit also updates cpuinfo to a version that aborts with a fatal error if its used uninitialized.

Appveyor failure looks legit

@caffe2bot retest this please


Docs don't know how to handle new codecard format

Describe the bug
Docs view can only handle json format at the moment: https://arcade.makecode.com/advanced-stream uses the new format and fails to load as cards (but works on homescreen)
To Reproduce
Steps to reproduce the behavior:

Go to docs page with new format
See error

RE #2592

@abchatra - https://github.com/microsoft/pxt/blob/master/pxtrunner/renderer.ts needs updating to handle ### ~ codecard sections. Transfer issue to pxt?

Oh snap, I taught the arcade release picked up this update.

peli's fix from release handles this now~


Can not apply .env changes if running on artisan serve

Laravel Version: 6.5.0 (and old versions)
PHP Version: 7.3.11
Database Driver & Version: MySQL 5.7.24

Description:
ServeCommand executes PHP built-in server by using passthru().
passthru() (and other command excecute functions) inherits environment variables.
And Laravel do not overload environment variable.
Built-in server proccesses can not apply .env changes.
I have no idea for fix this behavior.
For example, using Dotenv::overload() instead of safeLoad() (or load()) fixes this behavior.
But this fix has too large side effects I think.
Steps To Reproduce:
$ laravel new --dev test
$ cd test
edit routes/web.php
+ return config('app.name');
- return view('welcome');

$ php artisan serve
visit http://localhost/ shows "Laravel"
edit .env and change APP_NAME
+ APP_NAME=Changed!
- APP_NAME=Laravel

visit http://localhost/ shows "Laravel" again.

I think this the intended behavior, and I believe this mentioned somewhere in the docs!

This is because artisan serve handles the requests without starting a new instance for every request.
Think about artisan serve like an opcached php instance with config:cache: if anything changes in the code/.env you should restart it.

Thanks for replies.
@netpok
artisan serve is not handle requests directly.
artisan process sets environment variables and inherits it to PHP built-in server is problem.
If PHP built-in server directly executed(Like php -S <IP_ADDRESS>:8000 /path/to/server.php), .env changes applies correctly.

This is the current and expected behavior.

@driesvints
Thanks for reply.
I think this behavior must document.
But my English is very ugly.
Please rewrite and document this behavior.

php artisan serve sets environment variables from .env (or other .env files).
Application process that ran by artisan inherits environment variables and can't overwrite variables, therefore can't apply .env changes.
If you want to ignore this behavior, use php -S directly.


[1.5pt] RoR group project: set up your Kanban board

https://github.com/users/sahlminkok/projects/3
Hello 👋 this is @sahlminkok and @techmoves RoR group project we are a team of 2 and we would like you to review our kanban board for this project

🟢 Project Approved! 🏆
Hi  @team              👋
Your project is complete! ✔✔  🏁
Your code was very professional 💯
There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Highlights 🌟

✔ Your Kanban board is ready

The code is top-notch! 💯 and have a huge potential.

Cheers and Happy coding!👏👏👏
Important Notes 📝

Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


error code 5

can't proceed further. I am getting error code 5 with no details
Any idea ?

Please can you provide the command you ran and and the output?
On Sat, Feb 11, 2017, 08:48 zongo<EMAIL_ADDRESS>wrote:

can't proceed further. I am getting error code 5 with no details
Any idea ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ttlequals0/autovpn/issues/28, or mute the thread
https://github.com/notifications/unsubscribe-auth/AIRxhLo8Ot7uYmiQ9YANk-otE5oWjJ0Kks5rbeZjgaJpZM4L-OWY
.

1 - create new key for desired region - Ok
2 - ./autovpn -C -r ap-southeast-1 -k ap-southeast-1_vpnkey
And then I get the error code 5. AWS is refusing the key
Creating ec2 instance in ap-southeast-1. This can take some time...
Instance has been created <IP_ADDRESS>
Giving new instance some time to fully boot up...
<IP_ADDRESS> is still booting...
Setting up VPN on <IP_ADDRESS>
Warning: Permanently added '<IP_ADDRESS>' (ECDSA) to the list of known hosts.
Permission denied (publickey).
lost connection
Error code 5

What OS are you using? Did you aadd key to your ssh-agent?

OS = linux
key ssh agent = yes
my guess is the error is probably linked to amazon.key is being denied by aws usually for two reasons. One account used. Second key has bad permissions.

What distributor of Linux?  Is hat is the full python traceback?
On Sun, Feb 12, 2017, 03:44 zongo<EMAIL_ADDRESS>wrote:

OS = linux
key ssh agent = yes
my guess is the error is probably linked to amazon.key is being denied by
aws usually for two reasons. One account used. Second key has bad
permissions.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ttlequals0/autovpn/issues/28#issuecomment-279212870,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIRxhEQ70FOGQvMTiNjZIX0VEFC9Fu2xks5rbvB4gaJpZM4L-OWY
.

Issue resolved - Recreated my keys. If you have a special character in the secret key, it may cause issue.
I have initiated a setup with the  -p flag on port 443 with success. I now have issue with the connection which I did not have before. It simply won't connect.


I don't think UNet is so bad at semantic segmentation

I don't think UNet is so bad at semantic segmentation

Hmmm not sure what is your issue?


The process seems to halt when switching to a different device

So I can run multiple locales on the same device without an issue. It even seemed to work when going from iPhone 6 to iPhone 6 plus. But When it switched to an iPhone 5, the script just sits there and nothing else happens.
So I tried removing the iPhone 6 devices from the config file. It went succesfully over the iPhone 5, and then again halts when trying to switch to iPhone 4s.
http://prntscr.com/8jp7kw
[15:26:31]: Running tests on iPhone 5s (9.0) in language fr-FR (locale fr-FR)
[15:26:31]: instruments -w 'iPhone 5s (9.0)' -D '/tmp/snapshot_traces/trace' -t 'Automation' /tmp/snapshot/build/Bomb.app -e UIARESULTSPATH '/tmp/snapshot_traces' -e UIASCRIPT './snapshot.js' -AppleLanguages '(fr-FR)' -AppleLocale 'fr-FR' -highscore0 '25' -highscore1 '614' -highscore2 '256' -difficulty1Unlocked YES -difficulty2Unlocked YES -tutorialFinished YES
[15:26:38]: Successfully took screenshot 📱
[15:26:41]: Successfully took screenshot 📱
[15:26:44]: Successfully took screenshot 📱
[15:26:45]: Removing the alpha channel from generated png files
[15:26:46]: Rotating the screenshots (if necessary)
[15:26:46]: Reinstalling app...
No matching processes belonging to you were found
[15:26:53]: Running tests on iPhone 5s (9.0) in language zh-Hans (locale zh-Hans)
[15:26:53]: instruments -w 'iPhone 5s (9.0)' -D '/tmp/snapshot_traces/trace' -t 'Automation' /tmp/snapshot/build/Bomb.app -e UIARESULTSPATH '/tmp/snapshot_traces' -e UIASCRIPT './snapshot.js' -AppleLanguages '(zh-Hans)' -AppleLocale 'zh-Hans' -highscore0 '25' -highscore1 '614' -highscore2 '256' -difficulty1Unlocked YES -difficulty2Unlocked YES -tutorialFinished YES
[15:27:00]: Successfully took screenshot 📱
[15:27:03]: Successfully took screenshot 📱
[15:27:06]: Successfully took screenshot 📱
[15:27:07]: Removing the alpha channel from generated png files
[15:27:08]: Rotating the screenshots (if necessary)
[15:27:08]: Reinstalling app...
No matching processes belonging to you were found
[15:27:16]: Running tests on iPhone 4s (9.0) in language en-US (locale en-US)
[15:27:16]: instruments -w 'iPhone 4s (9.0)' -D '/tmp/snapshot_traces/trace' -t 'Automation' /tmp/snapshot/build/Bomb.app -e UIARESULTSPATH '/tmp/snapshot_traces' -e UIASCRIPT './snapshot.js' -AppleLanguages '(en-US)' -AppleLocale 'en-US' -highscore0 '25' -highscore1 '614' -highscore2 '256' -difficulty1Unlocked YES -difficulty2Unlocked YES -tutorialFinished YES

Any ideas?

Unfortunately Xcode 7 introduced a lot of regressions which make snapshot a bit more unstable. I'm working on a new version of snapshot which uses all the latest APIs

Ahhh sounds good. Not to pressure of course, but do you any kind of ETA on that? Even rough? Just wondering if I should wait or not. Thanks!1

Probably a few weeks, what's the alternative you'd be using?

No alternative, just manually changing the file and running snapshot for each device :) But don't worry, there aren't that many devices, so I already did that. We are good! Thanks for your awesome tools

:+1:

I just released snapshot 1.0, please follow the migration guide.


Always open a ticket - test for PR #7620

Test for https://github.com/ZcashFoundation/zebra/pull/7620
Some workflows might have to be triggered manually (release stuff?) but i want to check how far it can go.
Sorry if this start to open tickets and be a bit noisy.

This opened 3 tickets when i submitted it:

https://github.com/ZcashFoundation/zebra/pull/7622
https://github.com/ZcashFoundation/zebra/pull/7623
https://github.com/ZcashFoundation/zebra/pull/7624

Then i manually triggered the 3 workflows and a new comment was added to each test.
Unfortunately we can't test by this method the 2 release workflows as they only get called when there is a release. I am pretty sure that will work too.
I am closing this test PR with those conclusions.


Skunk's raison d'etre

This is not an issue, just a question, what is the purpose of skunk given that we have doobie? What's the difference? Why would one use skunk (with a postgresql backend) and not doobie?
Thank you

Clearly, doobie is a JDBC wrapper, while Skunk uses postgre's protocols. I for one am very excited !

I give a lot of reasons in my Scala Days talk. I'll add a link to it here when the video is available.

@tpolecat - thanks

https://portal.klewel.com/watch/webcast/scala-days-2019/talk/28/
I highly recommend watching the whole thing, it gives raison d'etre, peak at internals, example use as well as general thoughts on program design

I'm willing to experiment this lib in an API already using Doobie (~100k LoC)

Differences are also discussed by Rob on this Scala Logs episode: https://open.spotify.com/episode/5yX2y0rspokvELFvEvfeZZ


Error response from daemon: OCI runtime create failed:

Run command
docker run -p 8000:8000 -d --name invana-engine invanalabs/invana-engine -e GREMLIN_SERVER_URL=ws://localhost:8182
And got this error:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"-e\": executable file not found in $PATH": unknown.
docker info
Client:
 Debug Mode: false
 Plugins:
  scan: Docker Scan (Docker Inc., v0.3.4)

 Containers: 8
  Running: 4
  Paused: 0
 Images: 20
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
  Volume: local
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 8fba4e9a7d01810a393d5d25a3621dc101981175
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.19.128-microsoft-standard
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 5.805GiB
 Name: docker-desktop
 ID: ILVR:JMGB:VGZB:ADMZ:2M4J:PRSH:BFNE:4MWU:3XDA:5QUB:D66N:BGEE
 Docker Root Dir: /var/lib/docker
 Debug Mode: true
  File Descriptors: 80
  Goroutines: 86
  System Time: 2020-12-07T13:49:47.7052343Z
  EventsListeners: 6
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false
 Product License: Community Engine

WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

This one works:
docker run -p 8000:8000 -d  -e GREMLIN_SERVER_URL=ws://xx.xx.xx.xx:8182/gremlin --name invana-engine invanalabs/invana-engine
This is readme issue.

Thanks! will update the read me


insight 5.5.11

bump insight version to 5.5.11
To be included in the next website update
cc @pwalczysko

Builds well and I can see insight 5.5.11 on https://snoopycrimecop.github.io/www.openmicroscopy.org/omero/downloads/ as expected.
Merging


Markdown soft wrap incorrect

此程式碼會印出「1 則新推文：horse_ebooks: of course, as you probably
alreadyknow, people」。

https://github.com/huacnlee/autocorrect/commit/cda73aecc24533ecd3cc1db3c4b5b83012894670


[feat] ? help dialog

Would be nice to have a help pop-up window when I hit ?.
The bottom menu doesn't contain keybindings such as ⬅ and ↩.  It took me a while to figure out how to expand/collapse an individual item without the mouse.

It is true that some keybindings may not be that intuitive. Plus, a help pop-up window is quite standard in TUIs and should be relatively easy to implement.

@huyz Here is a first draft, straight from my working directory:

Comments, suggestions?

@xavierog looks perfect to me. Didn't now about tab!

@xavierog looks perfect to me. Didn't know about tab!

Thanks for your feedback. I also intend to revamp the quit dialog:
Before:

After:

Yeah that's better.
I would leave Do not quit as a a default color, e.g. gray, as it's for a reversal of user intent and should thus be a rare occurrence and shouldn't grab so much attention.

I'll think about it. My initial intent was to use a traffic light pattern to reflect the security inherent to each option:

not quitting is the safest option as it involves no data loss whatsoever, hence the green color.
terminating the process is potentially dangerous depending on what it does, how it was designed and how it was implemented, hence the red color.
quitting and leaving the process untouched is a gentler option, hence the orange color.

IMHO, the traffic light pattern further confuses. "Green" means "go"—i.e., go with my original intent.  Which isn't what we'd want to convey

That makes sense.

The help dialog and the revamped quit dialog are available as of Moulti v1.13.0, released on 2024-07-21.

FYI, Textual 0.77 introduces a help panel that is slightly different (it appears on the right side, not in the middle) but is also context-aware and exhaustive. I think it is worth switching from the help dialog discussed here to that new help panel.


SyntaxError with 'better-sse' package

### Description:
I encountered a SyntaxError while attempting to import the 'better-sse' package in my project. The error specifically states:
SyntaxError: The requested module 'better-sse' does not provide an export named 'createSession'
    at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:190:5)

### Problem:
Despite having the 'better-sse' package installed, I'm unable to utilize the 'createSession' export, which is essential for my project.
### Environment:
Operating System: Windows 10
Package Manager: pnpm
Node version: 18
Steps to Reproduce:
Install 'better-sse' package using pnpm.
Import 'better-sse' and attempt to use 'createSession' export.
Expected Behavior:
I expected to be able to import and use the 'createSession' export from the 'better-sse' package without encountering a SyntaxError.
### Actual Behavior:
The SyntaxError mentioned above occurs when attempting to import 'better-sse'.
### Additional Information:
I have verified that the package is correctly installed.
My project relies on this functionality, so resolving this issue is crucial.

Do you have a minimal reproduction repo? I can't seem to reproduce this, also on Windows 10 and Node 18.
Perhaps there is an issue with your build system being unable to import CommonJS named exports. In that case you can try using the default export instead:
import sse from "better-sse";
const { createSession } = sse;

Thank you this work well mow.

@MatthewWid that works, but it breaks TypeScript.
I think you could fix this if you removed export * with explicit exports of the named exports.
https://github.com/MatthewWid/better-sse/blob/master/src/index.ts#L1-L8

I tried patching it locally, but since the code is minified, that's impossible.
You should't be distributing server-side code minified... makes it impossible to fix issues like this.

Fixed in v0.14.0.


basic ui with single button

closes #28

how do you load/reload a custom config dir in hydra? I can't get the code to work.
main complains about HydraConf not being set here
https://github.com/s1dlx/sd-webui-bayesian-merger/blob/a1f79c5813cf5e6d7a7fa0a98fd5290119abbb73/sd_webui_bayesian_merger/optimiser.py#L50
https://hastebin.com/share/codixowono.rust
my google searches return barely any documentation

how do you load/reload a custom config dir in hydra? I can't get the code to work.
main complains about HydraConf not being set here
https://github.com/s1dlx/sd-webui-bayesian-merger/blob/a1f79c5813cf5e6d7a7fa0a98fd5290119abbb73/sd_webui_bayesian_merger/optimiser.py#L50
my google searches return barely any documentation


🐛 Fixed cookies when running Ghost without SSL

As part of the updates to auth cookies we switched to SameSite=None
which requires an SSL connection. Local development, and some
production sites do not use SSL and so the cookie is invalid and a
session is unable to be created with the browser.

@thesved Chrome is not setting a cookie because of the combination of sameSite: none and secure: false. This commit fixes it by returning to the previous behaviour of sameSite: lax and secure: false for http sites.

@kevinansfield gotcha, my bad! 😅


Add skeleton for layout thread reflow

This PR adds the skeleton of a layout thread, following the example of Servo.  Because Servo's license is copyleft, I'll be closing this PR.  My question is whether it is worth re-doing the PR using WebKit or Chromium (Blink), or whether a different approach would be preferable.
I was looking at what to do with the stylesheets once the CSS3 parser has parsed the intput and produced them.  Since it wasn't obvious how they would be used by downstream code, I consulted Servo.  This PR is a (greatly simplified) skeleton of what Servo does in the process of handling a reflow event, in which it builds the render tree and sends new graphics data to the compositor to be rendered.  The thought with this code is for it to be clay to be gradually shaped into something better suited to what we want to do.  So I don't see a reason to stick too closely to what Servo is doing.
Note that there's no render tree in the skeleton code.  I'm wondering whether the articles that discuss a render tree are speaking in terms of a high-level abstraction.  Instead what is sent to the compositor over IPC is a low-level "display list" of computed values to render.  The closest thing to a render tree that I've seen is either the BoxTree struct or the FragmentTree struct.  So this PR is unavoidably taking things in a different direction than the recent src/render_tree.rs work.  I don't think this PR will step on that other work, but I do think the two lines of action will need to be reconciled at some point once we know more about how the pieces fit / should fit together.
In a later PR I would like to explore using the taffy crate to generate the BoxTree or the FragmentTree (not sure which is applicable, yet), using the CSS3 stylesheets as input.
Leaving this PR in draft because I'm not sure whether it makes sense to have a bunch of unused or barely used structs lying around.  I think they can be useful by providing pointers to people to know what code to consult next, so I'm inclined to go with them.

Seems the Servo code is under an MPL license, which is copyleft and similar in spirit to the GPL.  So if the general idea is received well, I'll plan on closing this PR and recreating it using Blink (Chromium) or WebKit as a starting point, since they're under more permissive licenses.

So, should i do a basic review of this PR then?

So, should i do a basic review of this PR then?

At this point, I'm looking for a high-level thumbs up or down to the general approach.  No detailed review needed for this specific PR since it will be closed soon, one way or another.

I guess my thought of how CSS would be handled is, during parsing the CSSOM tree is build (alongside the DOM) which can be modified during the parser (via JS.) Then after the parsing is finished, those two are combined to compute the layouts (what the goal of "render tree" is, albeit very early stages at the moment.)
I also briefly looked at taffy from Nico and was thinking about how we could incorporate that into what we currently have, since my next major goal with the render tree was to compute proper box layouts.
But granted, you've done a lot more research than I have so maybe that idea isn't sufficient

I have no research about this at all, so I might be on a completely wrong path. But I would think, we need some kind of "styles-merger" by that I mean, something that can merge two "style-sets" (a styles set would be a class, id, the parents inheritable attributes etc). This needs to respect all the different rules. For example selector specificity, the !important thing, and on where the style is placed, this results in the computed styles. From this, we can calculate it's position and size according to some things: the parent's position, margins, paddings, and other offsets like translate for example.

@Kiyoshika my apologies. Now that I better understand the scope of the work you were thinking tackling, and that it includes the calculation of the box model and investigating @nicoburns's taffy, I see now that this PR fully overlaps with what you were planning on implementing. During a recent Zulip thread, I thought to set aside the tokenization stuff I was looking at and see how to connect Ahmed's CSS3 parser up with whatever happens after it. I see now that you're already looking at that question.
With @jaytaph looking at the actual CSS3 parser coverage, I think I can resume looking at tokenization.

yes, no worries. The current RenderTree I have is very minimal in scope at the moment but that's because I just wanted to draw something on the screen. I am going to put in efforts to move towards incorporating box layouts likely using taffy or whatever I think would be easy to use

I have no research about this at all, so I might be on a completely wrong path.
But I would think, we need some kind of "styles-merger" by that I mean, something that can merge two "style-sets" (a styles set would be a class, id, the parents inheritable attributes etc). This needs to respect all the different rules. For example selector specificity, the !important thing, and on where the style is placed, this results in the computed styles.

Yep! And that's what the https://docs.rs/selectors crate does :)

Yep! And that's what the https://docs.rs/selectors crate does :) (well it handles matching style blocks to nodes, I don't think it actually does any merging - we'd need to do that bit ourselves).

Ah, okay. Interesting. By the term "merging" I meant something that combines the different sources of style attributes and combines it to the computed style by selecting which selector has higher specificity.

Ah, okay. Interesting. By the term "merging" I meant something that combines the different sources of style attributes and combines it to the computed style by selecting which selector has higher specificity.

I believe selectors will:

Parse selectors
Determine whether a selector matches a given node
Tell you what the specificity of the selector is

But once you have a list of selectors that match a node and there specificities, then you need to do the actual merging yourself. Because selectors doesn't deal with the actual style attributes at all.

I would guess that MPL is probably fine when used as a library, as it doesn't "infect" the libraries that depend on it. It just can't be used as inspiration for your own library if you don't want to license that library as MPL.


ensure SASL_MECH is none

This is listed on the Configuration page of documentation
"By default, OpenLDAP utils uses SASL and use must explicitly use -x CLI switch to force simple bind authentication. ldap2pg has a different behaviour. ldap2pg does not have default SASL mechanism. If SASL_MECH is empty or undefined, ldap2pg uses simple bind.
If you want to force simple bind, ensure SASL_MECH is none."
Our systems are configured globally with SASL_MECH GSSAPI.  I want to unset this on the user that is launching ldap2pg as our domain does not support Kerberos.  How can we unset this on a user level?  I have tried to put many different combinations in local .ldaprc file but most of them give unsupported method error.

Nevermind I found that putting this in my yml file solved my problem
ldap:
sasl_mech: ''

Hi @seanzechman . Thanks for the report. The error message is ugly and the documentation should include an exemple.

Hi @seanzechman . Thanks for the report. The error message is ugly and the documentation should include an exemple.

Hi @bersace - yes an example in the documentation would be helpful!  It was actually pretty easy to bypass once I figured out the correct way to do it :D - thanks for all your work!


Ability to fork and publish a log

Users should be able to edit an existing log and republish it.

Added in latest release


Adding test infrastructure

Adding some testing infrastructure to next-i18next using enzyme and
jest.  This is a commit of the initial scaffolding necessary to set up
tests, and a single test for the Link component.
Work in progress:

[x] Initial test infrastructure
[ ] create-i18next-client.js
[x] component/

[x] Link.js
[x] NextStaticProvider.js
[x] Trans.js

[x] config/

[x] create-config.js
[x] default-config.js

[ ] hocs/

[ ] app-with-translation.js

[x] middlewares/

[x] next-i18next-middleware.js

[x] utils/

[x] force-trailing-slash.js
[x] lng-path-corrector.js
[x] lng-path-detector.js

Resolves #18.

@isaachinman - when you get a chance, please let me know if I'm headed in the right direction with this.  Once it's clear that I am, I'll start writing up some more tests.

This is excellent work @capellini. You seem to have a strong grasp on both this project, and modern JavaScript development. Thank you so much!

Thanks and you're most welcome!

My only question regards deps - why not use @babel/core instead of the bridge? An honest question - I'm sure you've set it up correctly and I always forget these things when setting up new projects.

Jest breaks unless you include the bridge, though I have forgotten why since I last researched it.

However, I'm fine proceeding at the moment with a tests dir as is customary. Might change that in the future.

Ok.  I'm fine with changing the directory structure if you'd like.  I have no real preference either way, so if you'd prefer I put the tests alongside components/units, then just let me know and I'll make the change.

Ah, looks like the double underscore around "tests" was converted to bold via markdown.
Anyways, let's stick with a tests dir for now. If our test coverage ends up getting a lot larger in the future, it will make sense to shift things around.

I made some comments in the config tests (create-config.test.js, create-config-non-node.test.js) that I think might be bugs.

I've also pointed out a few more places where I think there may be bugs (I think there's an open PR for one of them).  If they are, in fact, bugs please let me know and I will submit PRs to fix them, rebase this branch, and then rewrite the tests to accommodate the new code.

@capellini Thanks, this is a lot of work you've done! Can you explain why you think those things are bugs? They're opinionated options, but I don't see how they could be construed as bugs - maybe I'm missing your point?

Can you explain why you think those things are bugs? They're opinionated options, but I don't see how they could be construed as bugs - maybe I'm missing your point?

I'll put some comments in this PR by the lines where I had commented before, explaining further.  It could very well be a misunderstanding on my part, as I'm very new to i18n in node/react/next.

@isaachinman - sorry for the delay.  I'm having trouble finding time to really parse through app-with-translation.js and create-i18next-client.js, which are a bit more involved than the other tests I've written thus far.  I appreciate your patience and I know that we need to roll this out soon, or risk it diverging from master.  So far, I've been able to keep up with rebasing, but I'm sure you'd like to get this in sooner, rather than later.  I will try to find more time soon.

@capellini That's no problem, you have the difficult task of trying to understand the entire project.
I was going to say this earlier but held my tongue - perhaps it's best to split this into several PRs so we can get the uncontroversial bits in ASAP? That will limit the potential for conflicts and rebasing.
We can get like 80% of this merged right away, I think. Let me know.

perhaps it's best to split this into several PRs so we can get the uncontroversial bits in ASAP?

Yes, that's probably best.  Should I rebase the commits into one so that you can merge?

Do you mean squash them? It doesn't matter to me what the commit sequence looks like, as long as it's logical and descriptive.
If you put the basic test infrastructure, as well as uncontroversial tests like Link and NextStaticProvider into a PR, I'll merge it immediately.

Also, the CodeClimate duplication rule is probably worth following. Unfortunately it looks like I can't set the minimum to 3 (which would be ideal), but it does look like we'll be reusing those code blocks repeatedly.

Do you mean squash them?

It's just something that I normally do on my projects to keep the commit history clean.  Once I'm done with a PR, I typically git rebase --interactive and squash all the commits into one, with a single descriptive message for the entire PR.  The individual commits here won't matter much to the overall commit history in the long run, but they help to parse through the PR to see what I've done step-by-step while the PR is active.  But it's a personal preference.  Whatever you'd like me to do works.

If you put the basic test infrastructure, as well as uncontroversial tests like Link and NextStaticProvider into a PR, I'll merge it immediately.

To clarify - you want me to remove the tests there I put in comments (so that we can address in them in a separate PR) and keep the rest of the tests, correct?

Also, the CodeClimate duplication rule is probably worth following. Unfortunately it looks like I can't set the minimum to 3 (which would be ideal), but it does look like we'll be reusing those code blocks repeatedly.

Ok.  It's been my experience that test directories are usually treated a little more leniently when it comes to things like code duplication to keep the tests isolated and so you can see what's happening in each test in isolation.  But I'll see what I can do.

with a single descriptive message for the entire PR

Sure, that's fine.

To clarify - you want me to remove the tests there I put in comments (so that we can address in them in a separate PR) and keep the rest of the tests, correct?

Yes.

test directories are usually treated a little more leniently

I've added __tests__ to CodeClimate exclusions.

@isaachinman - I opted to skip the controversial tests, rather than remove them entirely.  Then, once this is merged, I'll create some issues in the issue tracker so that we can discuss them and there is a record of the discussion, in case these questions should come up in the future.  Then, depending on what is decided in the issue, I can submit PRs to either revise the code, or revise/remove the tests, depending on what you think is best.  Does that work?  If not, I can remove them - whichever you prefer.

skip

Is that what this is?
'!src/index.js',

Hadn't seen that before. No, I'd rather they get removed completely so that they can be reviewed in earnest when the time comes. Is that possible?

Is that what this is?

No, that was just telling the coverage report not to include src/index.js.  If you look at some of the tests, you'll see an it.skip(... that tells the testing framework to skip the test and report the tests that were skipped in the testing summary.

No, I'd rather they get removed completely so that they can be reviewed in earnest when the time comes. Is that possible?

Absolutely.  I'll remove them now.

Hah, I suppose I looked through the PR pretty quickly. I'm confident in your work! Let me know when this is ready to be merged.

Let me know when this is ready to be merged.

@isaachinman - should be good to merge now.

Just leaving the office, but will take a look tomorrow. I will merge this before anything else. Thanks!

Just leaving the office, but will take a look tomorrow. I will merge this before anything else.

:+1:

Thanks!

You're most welcome!


feat: Include node.name as a field for interpolation

Signed-off-by: Ryan Copley<EMAIL_ADDRESS>Adds a feature to where you can reference the fully qualified node name. We plan on using this for a testing framework.
I used this PR as a foundation for making this change: https://github.com/argoproj/argo-workflows/pull/9387
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: hello-world-
spec:
  entrypoint: main
  templates:
    - name: main
      dag:
        tasks:
          - name: this-is-part-1
            template: main2
    - name: main2
      steps:
        - - name: this-is-part-2
            template: main3
    - name: main3
      dag:
        tasks:
          - name: this-is-part-3
            template: whalesay
    - name: whalesay
      container:
        image: docker/whalesay:latest
        command: [cowsay]
        args: ["{{ node.name }}"]

Results in:
time="2022-09-21T03:48:12.053Z" level=info msg="capturing logs" argo=true
 _________________________________________
/ hello-world-nm8lw.this-is-part-1[0].thi \
\ s-is-part-2.this-is-part-3              /
 -----------------------------------------
    \
     \
      \
                    ##        .
              ## ## ##       ==
           ## ## ## ##      ===
       /""""""""""""""""___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
       \______ o          __/
        \    \        __/
          \____\______/

@sarabala1979, would you be able to review this PR for me please? I apologize if this isn't the correct way to ask for a review, I didn't see any information about how to obtain one. Thank you

@RyanCopley Can you add a test for this?

@sarabala1979 I will have to research to see how to do soo for this project; however this PR is very similar and didn't include any: https://github.com/argoproj/argo-workflows/pull/9387/files

@sarabala1979 After researching the codebase I have discovered that none of this functionality related to localParams has any form of tests. I attempted to add some, but ran into significant complexity that I don't really quite have the knowledge of how to write. With this the case, do we absolutely need tests for this PR? It seems a bit much to write tests around code that I didn't write, as I don't have that first-hand knowledge. It seems like a much more complex PR, that I used to base mine off of, did not require tests for merging.

@alexec @sarabala1979 see updated pr please

@alexec @sarabala1979 Is there a process for formally asking for a review?


Update the contract metadata + ascii art for mainnet

Note to self: we can likely do with more descriptive text due to the way this is rendered on OpenSea and places like it.
Also, just use the signature style for both contracts - it fits better in the collection image than Derrida's signature does.
https://arweave.net/dDj2ppnvu07XkfH4obgbj946KPJlYbnIUnsPnlXguZ0
Also, look into cool ascii signatures if we can find them to place in the contracts now that we can easily verify them on Etherscan once deployed.

this is completed right?

Yes, thanks :pray:


composer install error

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 120 installs, 0 updates, 0 removals

Installing foxy/foxy (v1.1.0): Loading from cache
Plugin installation failed (No asset manager is found), rolling back
Removing foxy/foxy (v1.1.0)

[Foxy\Exception\RuntimeException]
No asset manager is found

You should install npm