docker-compose up -d does not start postgre database and fidesctl container becomes unhealthy.

With the recent update, 'docker-compose up -d' did not start postgre database properly. Also, fidesctl container becomes unhealthy. I am suggesting the following change to address these issues.

add ./ like - ./postgres-data:/var/lib/postgresql/data volume mapping
install curl in fidesctl container
correct healthcheck test so it refers to 8080 instead of 8000

diff --git a/.gitignore b/.gitignore
index 5435b80..ed9ec1d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -207,3 +207,6 @@ venv.bak/
 .mypy_cache/
 .dmypy.json
 dmypy.json
+
+# postresSQL data
+postgres-data/
diff --git a/docker-compose.yml b/docker-compose.yml
index b753e35..3a64874 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -5,7 +5,7 @@ services:
       dockerfile: Dockerfile
     command: uvicorn --host <IP_ADDRESS> --port 8080 --reload fidesapi.main:app
     healthcheck:
-      test: ["CMD", "curl", "-f", "http://<IP_ADDRESS>:8000/health"]
+      test: ["CMD", "curl", "-f", "http://<IP_ADDRESS>:8080/health"]
       interval: 5s
       timeout: 5s
       retries: 5
@@ -32,7 +32,7 @@ services:
       timeout: 5s
       retries: 5
     volumes:
-      - postgres:/var/lib/postgresql/data
+      - ./postgres-data:/var/lib/postgresql/data
     expose:
       - 5432
     ports:
diff --git a/fidesctl/Dockerfile b/fidesctl/Dockerfile
index 16bf4af..02f9c8b 100644
--- a/fidesctl/Dockerfile
+++ b/fidesctl/Dockerfile
@@ -3,6 +3,7 @@ FROM python:3.8-slim-buster
 # Install auxiliary software
 RUN apt-get update
 RUN apt-get install -y \
+    curl \
     git \
     ipython \
     make \

thank you @iokamoto-sm - I'm tagging this as a bug given the description here, we'll get this verified and addressed!

@iokamoto-sm the curl and healthcheck fix are clear, but what does the volume mapping update do?

I got the error to start up postresql unless I changed it to sub directory. I realized it is not necessary. Maybe you can update the document so users clean up the existing fides_postgres volume or use the different volume.
It seems fides_postgres volume had the old data in my env. It was made before fides changed its database name from fidesctl to postgres. Somehow it was blocking the database creation.

oh I see, sorry about that! We should've added a note about that change
We've also updated the installation guide and quick starts to not point end-users at the development docker-compose.yml and Makefile, this increases stability for end-users as well. https://ethyca.github.io/fides/installation/installation/
So in summary, for this issue we'll go ahead and fix the healthcheck port as well as add curl to the container for better debugging
fyi @earmenda

@earmenda i just went ahead and made these changes in #236 since they're small and I needed to fix the health check for the testing I was doing anyway :)


Sometimes avatars don't show in new chat creator

This is probably because of cached contact, we need to redo the contact system anyway

This is probably because of cached contact, we need to redo the contact system anyway

Nah, it's not. What's weird is that sometimes a contact has multiple addresses. And 2 of those will have the correct avatar, but the 3rd (same contact) will be just the letters. Might be a key issue again

Fixed. This was because certain addresses don't have handles associated with them. Thus, they aren't in the cached contact handles. I had to make a check that if it wasn't in the cache, do a lookup in the actual contacts service.


layer.get_config() does not hold classname

use type in order to get layer name

Incorrect fix; sent out the proper fix in a different PR. Thanks for reporting the issue.


How to access Span id (trace id) ?

Hi,
My Use Case, I would like to have read access to the Span id (SpanContext id) to be able to use it in log and in error reported (to end user,...).
Is it possible ?

if yes what is the way ?
if no, why ?

Thanks.

Right now, in OpenTracing Specification, these if no way to get the ids. Because, in the spec, we did not define how to generate these id, even whether exist these ids or not. It depends on the tracer implementation.
For example, sky-walking  tracer implementation only have traceSegmentId and Span SequenceId, but no ContextId.

And I know your scenario, if you want to do that, you depend the specific implementation. I think most tracer implementations provide their own API to get that.
In sky-walking, I did it by providing a toolkit, a set of new APIs. https://github.com/wu-sheng/sky-walking/wiki/sky-walking-application-toolkit-log4j-1.x

@wu-sheng , thanks for the info.
But I need to be expose the "trace id" in error message, then dev could use the trace to debug error reported by support, QA, end-user.
In the case of error, I thought to use "injector" like for remote call. But I guess I could not use injector (for bad performance) for logging (with log4j, logback,...). The solution provide sky-walking is nice, but doesn't fit my need (I search something more tracer and framework agnostic).

@davidB I agree, injector would not be a good choice, but the performance may be not that bad, most tracer just gave a snapshot of current context, mostly a get/set op. I concern, if using injector like that, the tracer may prepared for a remote call, that might influence the analysis.

I search something more tracer and framework agnostic

I thought if this is the goal, we should discuss on OpenTracing specification level, bring this issue to opentracing/specification.  But even we can agree on given a certain API about this,  I am not sure the return value should be a ID, always, also depend on the tracer implementation.
e.g.

Tracer A, toString returns traceSegmentId=xxx, spanId=xxx
Tracer B, toString returns globalSpanId=xxx

Please see http://stackoverflow.com/questions/42699603/how-can-i-get-a-trace-id-from-opentracing-api

thanks for the feeback and links.

@davidB , I think this discussion in spec level, meets your demand. You can check on that.
https://github.com/opentracing/specification/issues/24#issuecomment-286261320


BCeID integration

In order to allow full integration of BCeID for the 1.10 Complaint form, we need to make some changes in order to make sure the Telework Form is not impacted.
Isolation of Users
Users that log in with BCeID should be treated as separate users from IDIR users, even if they have the same email address. This has an impact where we need to update

Keycloak to use a user guid as the "username" instead of email as currently set up (for BCeID users)
Make sure Camunda uses a users username as the user identifier instead of email.

Without any changes, Keycloak will merge a BCeID user and an IDIR user due to the account merging setup we did to support pre-creation of Manager accounts for the Telework Form
Prefill first name, last name, & email

The 1.10 Complaint form should have first name, last name & email prefilled from your auth token

Acceptance Criteria

When I log in as a BCeID user with the same email address as an existing IDIR user, I cannot see previously submitted applications submitted by the IDIR user
When I log in as a BCeID user with the same email address as an existing IDIR user, I cannot see tasks the IDIR user is assigned to
When I log in as an IDIR user, I have access to the same forms/submissions/tasks as before
When I log in as a BCeID user, I cannot navigate to or submit the Telework form.
When I start to fill out the 1.10 complaint form after logging in with my BCeID, my first name, last name, and email is prefilled

Technical Info

Attributes received from BCeID can be found here (BCeID Basic - Gold): https://github.com/bcgov/sso-keycloak/wiki/Identity-Provider-Attribute-Mapping

Proposed KeyCloak Changes

Update IDP Username mapper in Keycloak to use the BCeID username as the users in-app username (bceid_guid@bceidbasic).
Update IDP email mapping to allow for users with duplicate emails within KeyCloak.

Camunda

Update Camunda to use the new username as a user identifier instead of email

App

Modify endpoints in app to allow restricting what forms you can see based on the IDP you are logging in with - only allow submissions of Telework form if you're logging in with IDIR
Modify /me endpoint to return your first name, last name and email if the IDIR attribute is not found (so we cannot look you up in the ODS)

Testing instruction:
Form Access
Each form has a new form access field that determines users by which Identity Providers (IDPs) (e.g., IDIR, BCeID, and BCSC) have been allowed to submit this form. This is done through a hidden form field called formSupportedIdentityProviders and its default values.
Telework allows IDIR users and the 1.10 form allows IDIR and BCeID users to access the form. A user with a designer group has access to all forms.
To test the form access, you can once access the form with the designer (who should have access to all forms) and once without it.

@MissionT
You can create a test BCeID account for each environment through the following:
Test environment: https://www.test.bceid.ca/register/
Dev environment: https://www.development.bceid.ca/register/

Passed all tests.

Andrew tested and can be closed


Style/naming guide

We should have a code style guide, and consistent naming conventions for stuff. In particular, I'd been using $ for signals, but you aren't actually supposed to do that because $ is supposed to be reserved for the scala compiler.
We can start with: https://docs.scala-lang.org/style/.

Here are some style violations I know are in the code in a variety of places, and we should fix:
https://docs.scala-lang.org/style/files.html

As a rule, files should contain a single logical compilation unit. By “logical” I mean a class, trait or object. One exception to this guideline is for classes or traits which have companion objects. Companion objects should be grouped with their corresponding class or trait in the same file. These files should be named according to the class, trait or object they contain:
package com.novell.coolness

 class Inbox { ... }

 // companion object
object Inbox { ... }

Sometimes we follow this, but we have a lot of "Multi-Unit Files". The style guide says that these should be given camelCase names with a lower-case first letter, i.e. option.scala.
https://docs.scala-lang.org/style/naming-conventions.html

Acronyms should be treated as normal words:
xHtml
maxId

Everything in the scaladoc section: https://docs.scala-lang.org/style/scaladoc.html... because we have very few docs :sob:


xRDServer: CimClass for does not appear to load in the DSC Namespace

Details of the scenario you tried and the problem that is occurring
Working to map the DSC Resources in this module for Puppetization requires being able to load the cim class for each resource and introspect on its properties - this is the most accurate way to programmatically map a DSC Resource, including fully mapping nested CIM instances.
The way we do this is first, make a dummy call to Invoke-DscResource to ensure the CIM class we want to introspect is loaded, like so:
$InvokeParams = @{
  Name       = 'xRDServer'
  Method     = 'Get'
  Property   = @{foo = 1}
  ModuleName = @{
    # Path to the module on disk
    ModuleName    = 'C:\dsc\...\xRemoteDesktopSessionHost\xRemoteDesktopSessionHost.psd1'
    ModuleVersion = '2.0.0'
  }
  ErrorAction = 'Stop'
}
Try {
  Invoke-DscResource @InvokeParams
} Catch {
  # We only care if the resource can't be found, not if it fails while executing
  if ($_.Exception.Message -match '(Resource \w+ was not found|The PowerShell DSC resource .+ does not exist at the PowerShell module path nor is it registered as a WMI DSC resource)') {
    $PSCmdlet.ThrowTerminatingError($_)
  }
}
# Then we can check the DSC namespace for the expected class:
Get-CimClass -ClassName 'MSFT_xRDServer' -Namespace 'root\Microsoft\Windows\DesiredStateConfiguration'

The final line above errors like so:
writeErrorStream      : True
PSMessageDetails      :
OriginInfo            :
Exception             : Microsoft.Management.Infrastructure.CimException: Not found
                           at Microsoft.Management.Infrastructure.Internal.Operations.CimAsyncObserverProxyBase`1.ProcessNativeCallback(OperationCallbackProcessingContext
                        callbackProcessingContext, T currentItem, Boolean moreResults, MiResult operationResult, String errorMessage, InstanceHandle errorDetailsHandle)
TargetObject          : root\Microsoft\Windows\DesiredStateConfiguration:MSFT_xRDServer
CategoryInfo          : ObjectNotFound: (root\Microsoft\...:MSFT_xRDServer:String) [Get-CimClass], CimException
FullyQualifiedErrorId : HRESULT 0x80041002,Microsoft.Management.Infrastructure.CimCmdlets.GetCimClassCommand
ErrorDetails          :
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {0, 1}

And we can see if we filter the DSC namespace for classnames matching xrd that it is indeed not loaded:
Get-CimClass -Namespace 'root\Microsoft\Windows\DesiredStateConfiguration' | ? {$_.cimclassname -match 'xrd'}

   NameSpace: ROOT/Microsoft/Windows/DesiredStateConfiguration

CimClassName                        CimClassMethods      CimClassProperties
------------                        ---------------      ------------------
MSFT_xRDGatewayConfiguration        {}                   {ConfigurationName, DependsOn, ModuleName, ModuleVersion...}
MSFT_xRDLicenseConfiguration        {}                   {ConfigurationName, DependsOn, ModuleName, ModuleVersion...}
MSFT_xRDRemoteApp                   {}                   {ConfigurationName, DependsOn, ModuleName, ModuleVersion...}
MSFT_xRDCertificateConfiguration    {}                   {ConfigurationName, DependsOn, ModuleName, ModuleVersion...}

Notably, this worked fine for xRDCertificateConfiguration, xRDGatewayConfiguration, xRDRemoteApp, and xRDLicenseConfiguration before failing to load the CIM class for xRDServer. I reworked the catch/throw block to write the error anyway and in all cases the error message was the same - could not find RemoteDesktop module - but the other CIM classes still loaded into memory.
Not sure offhand how to hunt this one down but I wanted to at least raise it - of more than 50 modules so far converted, this is the only module we've encountered this problem with.
The operating system the target node is running
OsName: Microsoft Windows 10 Pro
OsOperatingSystemSKU: 48
OsArchitecture: 64-bit
WindowsVersion: 1909
WindowsBuildLabEx: 18362.1.amd64fre.19h1_release.190318-1202
OsLanguage: en-US
OsMuiLanguages: {en-US}

Version and build of PowerShell the target node is running
Name                           Value
----                           -----
PSVersion                      5.1.18362.1171
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.18362.1171
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

Version of the DSC module that was used
2.0.0

I misread a critical piece of information: the version being targeted was <IP_ADDRESS> and earlier, which I do not expect a fix for.

I misread a critical piece of information: the version being targeted was <IP_ADDRESS> and earlier, which I do not expect a fix for.


Code Snippet & API Reference support for Java

Code Snippet & API Reference support for Java

Closing out in favor of https://github.com/stripe/vscode-stripe/issues/173 and https://github.com/stripe/vscode-stripe/issues/174


WCT failing on chrome 54

Description
Whilst testing elements on chrome canary ran into the following message - see paste bin. Not 100% sure of the root cause but appears to be with selenium, java and chrome drivers.
Steps to Reproduce

ensure latest version of chrome (dev/canary) installed
run wct in web-component-tester folder

Expected Results
Tests to pass for chrome 54
Actual Results
Errors see paste bin here
Browsers Affected
Arch Linux

Chrome - (Version 54.0.2824.0 dev (64-bit))

Mac OS X El Capitan

Chrome - (Version 54.0.2826.0 canary (64-bit))

Versions

wct: v.3.2

+1

This is currently breaking our build process.
Paste bin


How to obtain attention values for each layer

Hi all,
Please correct me if I am wrong.
From my understanding, The encoded values for each layer (12 of them for base model) would be returned when we run our results through the pre-trained model.
However, I would like to examine the self-attention values for each layer. Is there a way I can extract that out?
Regards

Not really.
You should build a new sub-class of BertPreTrainedModel which is identical to BertModelbut send back self-attention values in addition to the hidden states.

I see. Thank you!

Hi,
Just to add on. If this is what I would be doing, would it be advisable to fine-tune the weights for the pretrained model?
Regards

Probably.
It depends on what's your final use-case.


Language Options are ignored

Dunno what went wrong, where it went wrong, but something def went wrong.
Gearbot ignores the language set in the config at the moment.
Several people were able to repro this bug https://discordapp.com/channels/365498559174410241/474303535153020969/555014418119917580 (read below.)

This issue was fixed with https://github.com/AEnterprise/GearBot/commit/52ae9d94259596606f1eb812e3f8be3fdedc0e5c


Blank page

No reason is left blank. What should be
server > http://hubzilla.mamalibre.com.ar

I see an Error 404 (means: can't find it). I also see http instead of the mandatory https. So this ain't a Hubzilla issue, but a server issue. Please make sure that the server basics works, before issuing an issue here. Closing this issue cause of that.

Gives 404 error because it deletes the files. Because it showed blank page without any error in sight. I do not know what has happened. Later restore a backup in a stable code of hubzilla.


validate subtabs work correctly unit test is failing to run on Travis but success locally

A unit test is failing on Travis in the PR builds. This test runs successfully in our local dev env. We should disable the test for now in Travis to unblock dev. But we need to make sure that this runs successfully in our dev env for all new PRs
Summary of all failing tests
 FAIL  __tests__/common-properties/components/editor-form-test.js
  ● tabs and subtabs should be rendered correctly › validate subtabs work correctly

    TypeError: _tab$tabAnchor.scrollIntoView is not a function
      38 | 		const subTabs = subTabsContainer.find("a.bx--tabs__nav-link");
      39 | 		expect(subTabs).to.have.length(3);
    > 40 | 		subTabs.at(2).simulate("click");
         | 		              ^
      41 | 		category = wrapper.find("div[data-id='properties-Primary2']");
      42 | 		// use react object to find tab content.
      43 | 		let tabContent = category.find("div.properties-sub-tab-container TabContent");

      at Tabs.scrollTabIntoView (node_modules/carbon-components-react/lib/components/Tabs/Tabs.js:148:148)
      at Tabs.selectTabAt (node_modules/carbon-components-react/lib/components/Tabs/Tabs.js:163:13)
      at node_modules/carbon-components-react/lib/components/Tabs/Tabs.js:222:15
      at onClick (node_modules/carbon-components-react/lib/components/Tab/Tab.js:104:11)
      at HTMLUnknownElement.callCallback (node_modules/react-dom/cjs/react-dom.development.js:336:14)
      at HTMLUnknownElement.callTheUserObjectsOperation (node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)
      at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:318:25)
      at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:274:3)
      at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:221:9)
      at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:94:17)
      at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:231:34)
      at Object.invokeGuardedCallbackDev (node_modules/react-dom/cjs/react-dom.development.js:385:16)
      at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:440:31)
      at invokeGuardedCallbackAndCatchFirstError (node_modules/react-dom/cjs/react-dom.development.js:454:25)
      at executeDispatch (node_modules/react-dom/cjs/react-dom.development.js:584:3)
      at executeDispatchesInOrder (node_modules/react-dom/cjs/react-dom.development.js:609:5)
      at executeDispatchesAndRelease (node_modules/react-dom/cjs/react-dom.development.js:713:5)
      at executeDispatchesAndReleaseTopLevel (node_modules/react-dom/cjs/react-dom.development.js:722:10)
      at forEachAccumulated (node_modules/react-dom/cjs/react-dom.development.js:694:8)
      at runEventsInBatch (node_modules/react-dom/cjs/react-dom.development.js:739:3)
      at node_modules/react-dom/cjs/react-dom-test-utils.development.js:1560:7
      at Object.batchedUpdates$1 [as unstable_batchedUpdates] (node_modules/react-dom/cjs/react-dom.development.js:24386:12)
      at eventFn (node_modules/react-dom/cjs/react-dom-test-utils.development.js:1556:14)
      at fn (node_modules/enzyme-adapter-react-16/src/ReactSixteenAdapter.js:490:11)
      at node_modules/enzyme-adapter-react-16/src/ReactSixteenAdapter.js:354:37
      at batchedUpdates$1 (node_modules/react-dom/cjs/react-dom.development.js:24386:12)
      at Object.act (node_modules/react-dom/cjs/react-dom-test-utils.development.js:1092:14)
      at wrapAct (node_modules/enzyme-adapter-react-16/src/ReactSixteenAdapter.js:354:13)
      at Object.simulateEvent (node_modules/enzyme-adapter-react-16/src/ReactSixteenAdapter.js:489:9)
      at ReactWrapper.call (node_modules/enzyme/src/ReactWrapper.js:666:22)
      at ReactWrapper.single (node_modules/enzyme/src/ReactWrapper.js:1170:21)
      at ReactWrapper.simulate (node_modules/enzyme/src/ReactWrapper.js:665:17)
      at Object.<anonymous> (__tests__/common-properties/components/editor-form-test.js:40:17)
Test Suites: 1 failed, 106 passed, 107 total
Tests:       1 failed, 1052 passed, 1053 total
Snapshots:   0 total
Time:        333.169 s
Ran all test suites.

Fixed with https://github.com/elyra-ai/canvas/pull/261


WIP radiasoft/download#233: env comes from env_keep

Previously, env was hardcoded in the kernel.json (set at build time).
This doesn't work because some values (ex LD_LIBRARY_PATH) are only
known at runtime.
Unfortunately, jupyterhub doesn't allow for augmenting of the default env_keep
values. Some of them are required for the notebook to work so, they are copied
here and augmented.

As noted in https://github.com/radiasoft/download/pull/257#discussion_r914085974 I think this is unnecessary.

Hmm I think this is still needed. We source bashrc but that env isn't carried to the Jupyter notebook unless we explicitly tell it the values that should be carried over. That is what we are doing here.
W/o this change if you start a notebook and run
import os
os.environ['LD_LIBRARY_PATH']

You'll get a key error which I think is the wrong behavior.
Thoughts?

After reading the jupyterhub documentation more closely. I think my confusion is that I'm using a singleuserserver in dev and this conf is only needed for it. Sorry for my confusion.
I'm going to verify this isn't needed with how we configure in higher environments and close.

Perhaps we should fix singleuserserver and/or upgrade to a newer jupyterhub (if we can) that changes the way the server starts.

I'll look for a better option than singleuserserver. We are on jupyterhub 1.4.2 and the most recent is 2.3.1 so probably worth upgrading at some point.


drivers: systick: fix cycle count in sys_clock_set_timeout()

With this patch the sys_clock_set_timeout function counts the cycles
elapsed while computing the systick timer's new load (tickless mode).
This cycles are then added to the total cycle count instead of being
lost.
This patch mitigates uptime drifting in tickless mode (especially when
high frequency timers are registered).
Signed-off-by: Simon Guinot<EMAIL_ADDRESS>

Think of it like this:
Imagine a hypothetical device with a 10 kHz tick rate and a 10 MHz cycle clock.  So there are 1000 cycles in a tick.  We know that the last timeout was set for a known tick expiration.  Call it "tick 432" (I know the driver doesn't see absolute tick numbers, but this makes the explanation clearer).
Now you get a new sys_clock_set_timeout() call that wants to set the next timeout for two ticks later than that instead, at tick 434.
So, the time that we now want the timer to expire is going to be 2000 ticks after the time the current timer is going to expire.  How long is it until the current timer expires?  It's just the VAL register, by definition!  So in our example, this is all we need to do:
SysTick->LOAD = SysTick->VAL + 2000;

And that's almost perfect, with the two register accesses separated by no more than 2-3 instructions[1].  This is the essence of the scheme that we want, I think.
But there are edge cases:

Obviously the offset might be negative, causing VAL + offset to wrap below zero.

The offset may likewise wrap beyond 0xffffff and need to be corrected.

The new LOAD value may be "too soon" for the driver to handle (because of the way SysTick works, there's a practical minimum to how small this value can be, otherwise it can't be handled in time to be reset and will cause an interrupt storm).

VAL may wrap while we have interrupts masked, so you have to check CTRL for that.

So in practice, the code ends up more complicated than the 1-liner above.  But becuase there was no precision loss in that negotiation, you can just fix things up and repeat until you get a setting that works.
[1]  Timer: 1000 Uptime: 5
[00:00:01.005,000] <inf> main: Timer ISR number 1 Uptime: 1005
[00:00:01.005,000] <inf> main: Sys Timer ISR. Timer: 2000 Uptime: 1005
[00:00:02.005,000] <inf> main: Timer ISR number 2 Uptime: 2005
[00:00:02.005,000] <inf> main: Sys Timer ISR. Timer: 3000 Uptime: 2005
[00:00:03.004,000] <inf> main: Timer ISR number 3 Uptime: 3004
[00:00:03.005,000] <inf> main: Sys Timer ISR. Timer: 4000 Uptime: 3005

...

[00:10:50.952,000] <inf> main: Timer ISR number 651 Uptime: 650952
[00:10:51.005,000] <inf> main: Sys Timer ISR. Timer: 652052 Uptime: 651005
[00:10:51.952,000] <inf> main: Timer ISR number 652 Uptime: 651952
[00:10:52.005,000] <inf> main: Sys Timer ISR. Timer: 653052 Uptime: 652005
[00:10:52.952,000] <inf> main: Timer ISR number 653 Uptime: 652952
[00:10:53.005,000] <inf> main: Sys Timer ISR. Timer: 654052 Uptime: 653005
[00:10:53.952,000] <inf> main: Timer ISR number 654 Uptime: 653952

Without your PR
*** Booting Zephyr OS build zephyr-v2.5.0-3876-g21d1ad376230  ***
[00:00:00.005,000] <inf> main: Init done
[00:00:00.005,000] <inf> main: Timer ISR number 0 Uptime: 5
[00:00:00.005,000] <inf> main: Sys Timer ISR. Timer: 1000 Uptime: 5
[00:00:01.005,000] <inf> main: Timer ISR number 1 Uptime: 1005
[00:00:01.005,000] <inf> main: Sys Timer ISR. Timer: 2000 Uptime: 1005
[00:00:02.005,000] <inf> main: Timer ISR number 2 Uptime: 2005
[00:00:02.005,000] <inf> main: Sys Timer ISR. Timer: 3000 Uptime: 2005
[00:00:03.005,000] <inf> main: Timer ISR number 3 Uptime: 3005
[00:00:03.005,000] <inf> main: Sys Timer ISR. Timer: 4000 Uptime: 3005

...

[00:10:50.005,000] <inf> main: Sys Timer ISR. Timer: 651117 Uptime: 650005
[00:10:50.888,000] <inf> main: Timer ISR number 651 Uptime: 650888
[00:10:51.005,000] <inf> main: Sys Timer ISR. Timer: 652117 Uptime: 651005
[00:10:51.887,000] <inf> main: Timer ISR number 652 Uptime: 651887
[00:10:52.005,000] <inf> main: Sys Timer ISR. Timer: 653117 Uptime: 652005
[00:10:52.887,000] <inf> main: Timer ISR number 653 Uptime: 652887
[00:10:53.005,000] <inf> main: Sys Timer ISR. Timer: 654118 Uptime: 653005
[00:10:53.887,000] <inf> main: Timer ISR number 654 Uptime: 653887

Test Code:
/*
 * Copyright (c) 2020 Alexander Wachter
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <zephyr.h>
#include <soc.h>
#include <device.h>
#include <devicetree.h>
#include <irq.h>
#include <stm32_ll_rcc.h>
#include <stm32_ll_tim.h>
#include <drivers/clock_control/stm32_clock_control.h>
#include <drivers/clock_control.h>

#include <logging/log.h>
LOG_MODULE_REGISTER(main);

static uint32_t timer_cnt;

void timer_isr(void* unused)
{
	if(LL_TIM_IsActiveFlag_UPDATE(TIM2)==SET)	//Overflow interrupt
	{
		const uint32_t uptime = k_uptime_get_32();
		LOG_INF("Timer ISR number %d Uptime: %d",timer_cnt, uptime);
		timer_cnt += 1;
	}
	LL_TIM_ClearFlag_UPDATE(TIM2);	//Clear interrupt flag
}

void sys_timer_isr(struct k_timer* unused)
{
	const uint32_t uptime = k_uptime_get_32();
	uint32_t time = (uint32_t)(((uint64_t)timer_cnt * 1000000ULL + (uint64_t)LL_TIM_GetCounter(TIM2)) / 1000ULL);
	LOG_INF("Sys Timer ISR. Timer: %d Uptime: %d", time ,uptime);
}

void main(void)
{
	const uint32_t tim_clk = DT_PROP(DT_NODELABEL(rcc), clock_frequency);
	LL_TIM_InitTypeDef init = {
		.Prescaler =  __LL_TIM_CALC_PSC(tim_clk, 1000000U),
		.CounterMode = LL_TIM_COUNTERMODE_UP,
		.Autoreload = 1000000U,
		.ClockDivision = LL_TIM_CLOCKDIVISION_DIV1
	};
	const struct stm32_pclken pclken = {
		.enr = DT_CLOCKS_CELL(DT_NODELABEL(timers2), bits),
		.bus = DT_CLOCKS_CELL(DT_NODELABEL(timers2), bus),
	};
	const struct device *clock = DEVICE_DT_GET(STM32_CLOCK_CONTROL_NODE);
	struct k_timer timer;
	int ret;

	ret = clock_control_on(clock, (clock_control_subsys_t *)&pclken);
	if (ret < 0) {
		LOG_ERR("Could not initialize clock [%d]", ret);
		return;
	}
	if (LL_TIM_Init(TIM2, &init) != SUCCESS) {
		LOG_ERR("Timer Init failed");
	}

	IRQ_CONNECT(DT_IRQN(DT_NODELABEL(timers2)),
		    DT_IRQ(DT_NODELABEL(timers2), priority),
		    timer_isr, NULL, 0);

	LL_TIM_EnableIT_UPDATE(TIM2);
	LL_TIM_EnableARRPreload(TIM2);
	LL_TIM_EnableCounter(TIM2);

	LOG_INF("Init done");
	irq_enable(DT_IRQN(DT_NODELABEL(timers2)));
	k_timer_init(&timer, sys_timer_isr, NULL);
	k_timer_start(&timer, K_NO_WAIT, K_MSEC(1000));

	while(1) {
		k_msleep(10);
	}
}

I think it's not possible to fix finally.
The problem is that there is not atomic read and reset of the VAL.
@andyross I think your solution does not work because you always have to reduce the time to the next timout.
Since the SysTime is loaded with LOAD and always counts down to zero, there is no other way then reset VAL and reload with a smaller LOAD value.
@simonguinot most SoC have another system time implementation based on SoC specific timers.
They should be more precise. (but you may need an external LF crystal)

Imagine a hypothetical device with a 10 kHz tick rate and a 10 MHz cycle clock. So there are 1000 cycles in a tick. We know that the last timeout was set for a known tick expiration. Call it "tick 432" (I know the driver doesn't see absolute tick numbers, but this makes the explanation clearer).
Now you get a new sys_clock_set_timeout() call that wants to set the next timeout for two ticks later than that instead, at tick 434.
So, the time that we now want the timer to expire is going to be 2000 ticks after the time the current timer is going to expire. How long is it until the current timer expires? It's just the VAL register, by definition! So in our example, this is all we need to do:
SysTick->LOAD = SysTick->VAL + 2000;

OK, I get this part. But what's happening if we need to set a timeout
earlier, let's say "tick 431" instead of "tick 432" in your example ?
Is that an impossible case ?

@alexanderwachter Thanks for testing. Note that the uptime drifting is more important when the system is running high frequency periodic timers (> 100 Hz).

OK, I get this part. But what's happening if we need to set a timeout earlier, let's say "tick 431" instead of "tick 432" in your example ?
Is that an impossible case ?

2000 was computed as "(434 - 432) * 1000".  You can easily do "(431 - 432) * 1000" to get an offset of "-1000" too. :)
You're right that my pseudocode was wrong because I forgot that a write to LOAD doesn't reset VAL and you need to do that with a separate instruction (again, SysTick is just not a good interface vs. things like HPET, RISC-V or TSC-deadline which are comparators against 64 bit free-running counters that you don't have to race around to reset).
But negative offsets work just fine.  They don't work always (because of rollover and minimum interrupt delay problems), but that's OK because having set the counter (with zero precision loss) you can then take your time and see what you've done and reset the counter a second time while e.g. correcting a 24-bit rollover or pushing the expiration out by a tick, etc...

Hi, I wrote an almost drift free version.
It is still rough arround the edges, but it looks prommising :-)
I doubt I still miss some edge cases, because I removed a lot of code from the original driver ;-)
reworked driver
*** Booting Zephyr OS build v2.6.0-rc1-7-g50962dd3be32  ***
[00:00:00.005,000] <inf> main: Init done
[00:00:00.005,000] <inf> main: Timer ISR number 0 Uptime: 5
[00:00:00.005,000] <inf> main: Sys Timer ISR. Timer: 1093 Uptime: 5
[00:00:01.005,000] <inf> main: Timer ISR number 1 Uptime: 1005
[00:00:01.005,000] <inf> main: Sys Timer ISR. Timer: 2071 Uptime: 1005
[00:00:02.005,000] <inf> main: Timer ISR number 2 Uptime: 2005
[00:00:02.005,000] <inf> main: Sys Timer ISR. Timer: 3050 Uptime: 2005

...

[00:10:51.004,000] <inf> main: Timer ISR number 651 Uptime: 651004
[00:10:51.005,000] <inf> main: Sys Timer ISR. Timer: 652077 Uptime: 651005
[00:10:52.004,000] <inf> main: Timer ISR number 652 Uptime: 652004
[00:10:52.005,000] <inf> main: Sys Timer ISR. Timer: 653055 Uptime: 652005
[00:10:53.004,000] <inf> main: Timer ISR number 653 Uptime: 653004
[00:10:53.005,000] <inf> main: Sys Timer ISR. Timer: 654033 Uptime: 653005

...

[00:21:24.005,000] <inf> main: Sys Timer ISR. Timer: 1285011 Uptime: 1284005
[00:21:25.003,000] <inf> main: Timer ISR number 1285 Uptime: 1285003
[00:21:25.005,000] <inf> main: Sys Timer ISR. Timer: 1286098 Uptime: 1285005
[00:21:26.003,000] <inf> main: Timer ISR number 1286 Uptime: 1286003
[00:21:26.005,000] <inf> main: Sys Timer ISR. Timer: 1287076 Uptime: 1286005
[00:21:27.003,000] <inf> main: Timer ISR number 1287 Uptime: 1287003
[00:21:27.005,000] <inf> main: Sys Timer ISR. Timer: 1288055 Uptime: 1287005

Hi, I wrote an almost drift free version.
It is still rough arround the edges, but it looks prommising :-)
I doubt I still miss some edge cases, because I removed a lot of code from the original driver ;-)
reworked driver

Hi @alexanderwachter,
Here are the logs I get with your reworked driver by using the application program I attached to #35073:
[2021-05-16 14:30:48.006] *** Booting Zephyr OS build zephyr-v2.5.0-3058-gd28627401e36  ***
[2021-05-16 14:30:48.082] 355
[2021-05-16 14:30:57.875] 10141
[2021-05-16 14:31:08.020] 20277
[2021-05-16 14:31:17.813] 30063
[2021-05-16 14:31:27.958] 40198
[2021-05-16 14:31:38.827] 50334
[2021-05-16 14:31:48.620] 60120
[2021-05-16 14:31:58.764] 70255
[2021-05-16 14:32:08.558] 80041
... snip ...
[2021-05-16 14:40:39.254] 590325
[2021-05-16 14:40:49.048] 600111
[2021-05-16 14:40:59.192] 610246
[2021-05-16 14:41:08.985] 620032

So after 10 minutes running a 1000 Hz periodic "no op" timer the drifting is around 1 second (as with this PR), against 4.5 seconds with the original driver. But note that the uptime reported from the 10 second periodic timer doesn't look "stable", while it is with the original driver.
Are you going to try to implement the proposal of @andyross ? IMHO it is worth trying.

OK, I get this part. But what's happening if we need to set a timeout earlier, let's say "tick 431" instead of "tick 432" in your example ?
Is that an impossible case ?

2000 was computed as "(434 - 432) * 1000". You can easily do "(431 - 432) * 1000" to get an offset of "-1000" too. :)
You're right that my pseudocode was wrong because I forgot that a write to LOAD doesn't reset VAL and you need to do that with a separate instruction (again, SysTick is just not a good interface vs. things like HPET, RISC-V or TSC-deadline which are comparators against 64 bit free-running counters that you don't have to race around to reset).
But negative offsets work just fine. They don't work always (because of rollover and minimum interrupt delay problems), but that's OK because having set the counter (with zero precision loss) you can then take your time and see what you've done and reset the counter a second time while e.g. correcting a 24-bit rollover or pushing the expiration out by a tick, etc...

Got it. You lost me in a first place because of the missing line :) I was thinking you figured a way to avoid a reset...
If it is possible (and I think it is) to compute a valid offset (regarding the min an max counter values) without reading the counter (VAL), then your method is the cleanest way to go.
Moreover I like the idea of recovering the last few cycles via a Kconfig "platform" option, or even by counting them at run time (with some calibration performed during the initialization).


Missing data of Mecklenburg-Vorpommern

As of today (12.02.2021), Mecklenburg-Vorpommern only contains key "total". Other keys like "rs", "vaccinated", "vaccinated_by_accine", etc. are missing.
"Mecklenburg-Vorpommern": {"total": 1608138}, "Niedersachsen":
Is something wrong with parsing data for Mecklenburg-Vorpommern?

Hi @Viet2503,
the RKI added a * after the name in the excel, why the mapping isn't working anymore:

I will fix it.


Floating IP pool does not show up for deployments on non-admin tenants

Description
Floating IP pool does not show up for deployments on non-admin tenants on the UI.
Expected Behavior
Allow user to assign a floating IP for deployments even for non-admin tenants.
Actual Behavior
Does not show floating IP pools
Steps to Reproduce
Create VC/MC/DA

Create a deployment spec under the DA and select any non-admin tenant
Floating IP pool combo box is not populated

Additional Information

Environment

OSC Version/Build: 1.0.0-SNAPSHOT-56-g3debe76
Cloud Provider Info: Ocata openstack
Plugin Info: n/a
Other: n/a

Status

[ ] Reproduced
[ ] In Progress
[ ] Validated     =>    Verified in Version/Build:

Verified with Build Version: 1.0.0-SNAPSHOT (Build:76-g424f129, 2017-09-25T15:49:58Z).
Created a non-admin tenant and able to see the Floating IP pools while creating a DS. Ds also created successfully.


Actually disable CoW on @swap and @var_log

There is a bug with BTRFS where it uses the same mount option for the first subvolume for any subvolumes you mount.  In order to disable CoW, you must add chattr +C to those.
https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs(5)

Done.


Rudimentary bash completion

Fixes #61.
The completion is rather simplistic:

Just suggest all possible flags, all the time.
If the current word doesn't start with a hyphen, also suggest all files and dirs.

That makes it quite usable, because "flags and files" already covers most usages.
Fancy stuff that is NOT implemented:

All ValueHint logic (in particular Strings(Vec<String>), DirPath, ExecutablePath, Username, Hostname would be reasonably easy)
dd-style arguments
Mutually-exclusive flags/arguments (i.e. if -a and -b can never go together and -a was already given, then don't suggest -b)

All of these features would necessarily need to be implemented in bash, which doesn't sound fun.

Changes since last push:

Added a new commit to correctly handle the program with name [, inspired by https://github.com/uutils/coreutils/issues/5579

(Clippy failures are an existing issue, fixed by e.g. https://github.com/uutils/uutils-args/pull/113 )


create driver for coherent genesis laser

[ ] create dedicated driver repo coherent_genesis_laser
[ ] create voxel driver that wraps/inherits from dedicated driver repo
[ ] unit test driver with laser

note coherent support engineers have indicated that the verdi-c laser power supply is identical to the genesis laser power supply. the verdi-c user manual outlines simple RS232 communication with the las
hyper screen setup shot.docx
er. this needs to be tested. if this does not work, a more complicated communication protocol involving a DLL file and C++ is detailed in the genesis user manual. both are attached.
Genesis_MX_Series_End_User_1182314_RevAC.pdf

additional notes/links
coherent HOPS demo link
https://repo.coherent.com/software/CoherentHOPSDemov2_0_7.zip
OPLS software
https://repo.coherent.com/software/opsl-gui.zip
OPLS test
https://repo.coherent.com/software/opsl-test-2.4.zip

Adding additional notes to this issue. With some notes from the Coherent engineer.
2238113_VerdiCSeries_Operators_RevAB_Screen.pdf
hyper screen setup shot.docx
notes.txt


move GOVERNANCE.md under .github folder

Just fixing the link for governance.

/gcbrun

FYI I don't have permission to merge this.


am-collapse bug with dropdown

data-animation="am-collapse" is not applied to the  elements of dropdown causing them to show instantly while the ul expands

The am-collapse css class is actually not being applied correctly to the element with bs-collapse-target attribute and it causes a bug. The bug still appears in angular-motion ver. 0.4.3 used with angular-strap ver. 2.3.6.


Terraform replicated pipeline created without activities

https://github.com/lui91/airflow_ingestion/commit/267480853c279e0d5a59431189a7e9154ec01385


Solution for Quick sort

[x] PR's title includes the challenge's name and language
[x] PR has short and clear description of the challenge
[x] PR has appropriate labels and milestones for easy identification
[x] PR it is assigned to the owner
[x] reviewers are assigned
[x] the PR contributes only one focused change
[x] the branch is up to date with main/master
[x] the code works when pulled and run locally
[ ] all conflicts are resolved (if any)
[x] It is linked to an issue in the appropriate column of the project board
[ ] feedback is addressed (if any, and if it is appropriate feedback.)

README Documentation

[x] The solution is documented in /src/README.md
[ ] The markdown source is formatted
[ ] Spelling and grammar is correct in all text
[ ] The markdown looks correct when you preview the file
[ ] All links and images work
[ ] The README documents the solution's behavior, strategy(ies) and implementation(s)
[ ] There are use cases in code blocks to illustrate the function's behavior

Python Files

[x] There is a module header
[x] There is a module docstring
[x] File names are in snake_case
[x] Test files are named test_<module_name>.py

Function Docstring

[x] Behavior description
[x] Parameter description
[x] Return value description
[ ] Include any assumptions
[ ] Include 3 or more (passing!) doctests
[ ] Include 1-2 use cases (if necessary)

Function Implementation

[x] The solution is not is not copied from djeada
[x] The code is auto-formatted
[x] The code has no (reasonable) linting mistakes
[x] Variables are named with snake_case
[x] The function has a clear and helpful name
[ ] The file's name matches the function name
[x] The code follows the strategy as simply as possible
[x] Variable names are clear and helpful
[x] Comments explain the strategy (if necessary)
[x] There are type annotations
[ ] (challenge) The code includes defensive assertions

Unit Test Suite

[x] The test class has a helpful name in PascalCase
[ ] The test class has a docstring
Each unit test has

[ ] A helpful name
[ ] A clear docstring
[x] Only one assertion

[x] All tests pass
[x] There are tests for defensive assertions
[x] There are tests for boundary cases
[ ] Test suite includes black-box and glass-box tests

The algorithm is well implemented; I pulled it and ran it locally, and it works fine. Also, It is well-documented. Good job!


change name of project in README

To bikeshed about names is always a perilous activity, but I think we have to do something about "Coq-community Templates", since it's too specific and not descriptive enough.
How about: "Coq Project Templates"?

Let's bikeshed indeed!
I understand your will to make the general scope of the coq-community templates clearer, but on the other hand, I don't want to lose the sight that the main use case of the templates is still the coq-community organization.
What about "Templates for Coq projects in coq-community and beyond"?
Note that I will keep referring to the templates as "the coq-community templates" since these are the templates provided by coq-community.

OK, how about: "Templates for Coq projects in coq-community and elsewhere"?
Even "Templates for Coq projects in coq-community" would be an improvement.

OK, how about: "Templates for Coq projects in coq-community and elsewhere"?

LGTM
You can even make it "Templates for Coq projects (in coq-community and elsewhere)" if you want to emphasize the reusability a bit more.


Adding resetToRoute API

This API resets the current stack to 0, and thus can be used in deeper routes to begin again with a brand new navigator stack.
I created it so that replaceRoute can be used to replace the current route and maintain the previous navigator stack, and resetToRoute can be used to replace the current route and also start over with a blank navigator stack.
This means that "back" navigations will be gone.

Awesome! Can you update the README to document the new feature you added. Also check out a previous PR that got rid of the drag functions. This branch still has them, so if you could just get this one up to date then its good to go! (:

OK for the readme, didnt quite understand what you meant about the other PR..

By the way, a release to npm with this and the version bump would be awesome :)

but yea once we get these in I'll release to npm :) I've been having issues with npm lately that i'm still trying to resolve

looks great man! thanks for the contribution :+1:


Disk: Invalid Parameter error occurs with ReFS Volume on Windows Server 2019

When using the Disk resource to create ReFS volumes on Windows Server 2019, an "Invalid Parameter" exception occurs when calling the Format-Volume cmdlet in the Set method.
This can be replicated outside of the DSC Resource with the following code:
function New-VDisk
{
    [CmdletBinding()]
    param
    (
        [Parameter(Mandatory = $True)]
        [String]
        $Path,

        [Parameter()]
        [Uint32]
        $SizeInMB,

        [Parameter()]
        [Switch]
        $Initialize
    )

    $tempScriptPath = Join-Path -Path $ENV:Temp -ChildPath 'DiskPartVdiskScript.txt'
    Write-Verbose -Message ('Creating DISKPART script {0}' -f $tempScriptPath)

    $diskPartScript = "CREATE VDISK FILE=`"$Path`" TYPE=EXPANDABLE MAXIMUM=$SizeInMB"

    if ($Initialize)
    {
        # The disk will be initialized with GPT (first blank line required because we're adding to existing string)
        $diskPartScript += @"

SELECT VDISK FILE=`"$Path`"
ATTACH VDISK
CONVERT GPT
DETACH VDISK
"@
    }

    Set-Content `
        -Path $tempScriptPath `
        -Value $diskPartScript `
        -Encoding Ascii
    $result = & DISKPART @('/s',$tempScriptPath)
    Write-Verbose -Message ($Result | Out-String)
    $null = Remove-Item -Path $tempScriptPath -Force
} # end function New-VDisk

$VHDPath = Join-Path -Path $ENV:Temp -ChildPath 'TestDisk.vhd'
$null = New-VDisk -Path $VHDPath -SizeInMB 1024
$null = Mount-DiskImage -ImagePath $VHDPath -StorageType VHD -NoDriveLetter
$diskImage = Get-DiskImage -ImagePath $VHDPath
$disk = Get-Disk -Number $diskImage.Number
$FSLabel = 'TestDisk'
$disk | Initialize-Disk -PartitionStyle GPT
$partition = $disk | New-Partition -UseMaximumSize

# Following line works on WS 2016, but not on WS 2019.
$partition | Format-Volume -FileSystem ReFS

# Invalid Parameter occurs

$null = Dismount-DiskImage -ImagePath $VHDPath -StorageType VHD
$null = Remove-Item -Path $VHDPath -Force

The exception occurs:

The error appears to be in the WMI subsystem.
This should be logged with the Window Server storage team. I'll try and find the appropriate method to log the issue.
In the mean time there are two things than should be done:

Change the resource to display a warning message when ReFS is used with Windows Server 2019.
Add a known issue in the README.MD

Still experiencing this issue.

@TaylorTWBrown - does this occur outside DSC and which version of WS 2019 is this on?


Callback for skipping checks

I need more flexibility with regard to skipping checks, for Datasette: https://github.com/simonw/datasette/issues/1377
An optional callback function that gets the scope and specifies if it should be able to skip checks or not would be a great way to do this, and could be backwards-compatible since it could be implemented as a new optional keyword argument.
app = asgi_csrf(
    app,
    signing_secret="secret-goes-here",
    should_protect=lambda scope: True
)

Tricky thing is how this should interact with always_protect={set of paths}.

always_protect= solves a different case: it lets you specify that certain paths such as /login should ALWAYS be CSRF-protected even if they would not be otherwise (in that case to avoid login CSRF).

Relevant code (this is the only place that deals with always_protect at the moment): https://github.com/simonw/asgi-csrf/blob/bb7178decd99978f62c19e7c9d1c0f4f91e8bcc8/asgi_csrf.py#L118-L130

Maybe I'll go with skip_protection_callback=lambda scope: ... instead. That makes it a bit more clear what this optional mechanism is intended to do.

I wish always_protect= was called always_protect_paths=.

skip_callback= is shorter, but is it as clear?

I quite like skip_if_scope=.

I've been using this successfully in Datasette plugins for a while now.


Add warning text to questions in section 3 that are dependant on answers of other questions.

see #215

fyi info on the question that has a dep.
mui alert info - blue one.
Update other questions that do that. currently uses  component


Support for parsing opts line in /proc/self/mountstats

Currently procfs does not support parsing of the opts: line in proc/self/mountstats. Having these values would give users access to more info related to their mounts. This would also help with resolving an issue with node_exporter (https://github.com/prometheus/node_exporter/issues/993) where different versions of nfs would not be recognized thus causing only a single form of metrics to show.

It would also be nice to have this info for a node_mountstats_info metric. The only difficult is there seems to be some variation in available fields, so we would have to parse all mountstats, normalize the list of fields, and then fill in with empty string for mounts that have missing fields.

client_golang has changed so that's no longer required.

@brian-brazil Did you mean that parsing of opts is no longer required or something else? Just looking for some clarification.

Not sure what @brian-brazil is refering to.
In general +1 on this. Is this "accepted"? As in are we willing to accept a PR to implement this?

The only difficult is there seems to be some variation in available fields, so we would have to parse all mountstats, normalize the list of fields, and then fill in with empty string for mounts that have missing fields.

Is what I was referring to.

Got it, thanks. Either way, from the procfs pov this doesn't matter. So let's add this?


Roll Engine from b3a18f518282 to 34991bb18029 (2 revisions)

https://github.com/flutter/engine/compare/b3a18f518282...34991bb18029
2021-02-10<EMAIL_ADDRESS>Roll Dart SDK from 02230d7386c7 to 4bd4c2a493e9 (6 revisions) (flutter/engine#24313)
2021-02-10<EMAIL_ADDRESS>Roll Skia from 62b039b36d4d to e2c9d3c034dc (5 revisions) (flutter/engine#24312)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Commit queue failed; closing this roll.


findUnique() batching should deduplicate equality checks when where clause parameters are the same

Problem
When findUnique queries are issued with the same where and include parameters within the same tick, they are batched into a single findUnique with each of the original parameters OR'd together. Resulting in an output from the prisma query log like this:
("public"."Roles"."userId" = $1 AND "public"."Roles"."projectId" = $2)
OR ("public"."Roles"."userId" = $3 AND "public"."Roles"."projectId" = $4)
...
OR ("public"."Roles"."userId" = $N AND "public"."Roles"."projectId" = $(N+1))

However, in cases that the where clause values are the same across queries, this could be flattened to reduce the number of equality checks like so:
("public"."Roles"."userId" = $1 AND "public"."Roles"."projectId" = $2)
OR ("public"."Roles"."userId" = $3 AND "public"."Roles"."projectId" = $4)

where $1 === $3 and $2 === $4
would become
("public"."Roles"."userId" = $1 AND "public"."Roles"."projectId" = $2)

Suggested solution
Deduplicate these queries to reduce the size of the where clause generated
Alternatives
None
Additional context
This is especially useful when using graphQL and trying to reduce the overhead associated with the N+1 problem.

This sounds like a nice improvement, thank you for the suggestion. Have you observed any real performance issues because of duplication (e.g. increased latency, optimiser not being able to collapse them on the database side, etc) or is it more of a thing that just came up when you saw the query?

I don’t have exact metrics at the moment (but can pull them if it helps). I have found some instances where the optimizer does not correctly collapse the clauses, but that is a rare occurrence. In our use case we can see this number of clauses in the WHERE statement reach into the thousands. So if nothing else it is consistently having an impact on the time parse the query itself and create and the execution plan

@aqrln I have run into performance issues with this due to our extension that adds soft delete support. Here's what our extension looks like:
const prisma = basePrisma.$extends({
  name: "Soft Delete",
  query: {
    $allModels: {
      findUnique: ({ args, query, model }) => {
        return query({ ...args, where: { deletedAt: null, ...args.where } });
      },
      findUniqueOrThrow: ({ args, query, model }) => {
        return query({ ...args, where: { deletedAt: null, ...args.where } });
      },
    },
  },
});

Concurrent queries that look like this are handled two different ways depending on whether the extension is enabled:
prisma.myTable.findUniqueOrThrow({ where: { id: "a" } });
prisma.myTable.findUniqueOrThrow({ where: { id: "b" } });
prisma.myTable.findUniqueOrThrow({ where: { id: "c" } });
prisma.myTable.findUniqueOrThrow({ where: { id: "d" } });

Without the extension, it becomes:
select * from "myTable" where id in ("a", "b", "c", "d");

With the extension, it becomes:
select * from "myTable" where (id = "a" and "isDeleted" is null) or (id = "b" and "isDeleted" is null) or (id = "c" and "isDeleted" is null) or (id = "d" and "isDeleted" is null)

Ideally, it would be batched as:
select * from "myTable" where id in ("a", "b", "c", "d") and isDeleted is null;

Sometimes upwards of 2-3k of these queries are batched at once, and where the original or ideal query work just fine, the query where every id/isDeleted combination is specified explicitly causes our database to hang.

Hey piggybacking on this. Running into the same issue that ends up throwing an error because we're exceeding the number of bound parameters allowed by our driver.
We would not be running into this issue just yet if Prisma was a little more efficient in the batch query generated.
Also using this thread to suggest limiting the batch size to prevent parameter binding limits being hit.

@chris-basis Please make sure to also open a bug report issue if you are running into a problem/crash because of this. We need that information to fully understand the situation. Thanks.

@dickfickling Do you know why this is causing a performance problem? Generally the database should be smart enough to use the same indexes in a query where "isDeleted" is null is repeated multiple times. And just the additional characters in the query string also should not have any significant impact.
If you have an explicit reproduction, that would be amazing. Thanks!

Aside from that, better and more readable queries are of course desirable, which this improvement would lead to.

@janpio I haven't dug into the issue much, but here's a repo that displays the error on my machine: https://github.com/dickfickling/prisma_perf. To reproduce: yarn infra, yarn push, and yarn go
With this specific setup the error seems to crop up with queries for 5000-7000 records.

Should this fail every time, or just sometimes?

if you increase from 10k is there a number where the extended prisma with middleware stops working but the base prisma still works?
i think it's something to do with memory or CPU limits in parsing the query. for context i'm running postgres with 2gb of memory and 4vcpus

I split out the discussion with @dickfickling into its own issue: https://github.com/prisma/prisma/issues/24419 (I will hide the comments above some time in the future so clean up this issue thread.)


Add Callback for playing gif once.

Adding a call back if needed to excute code exctly after the gif finished once.

As far as I know you could already do that by passing a custom animationController and attaching a status listener to it

Actually you are probably right.


z.Date() resolves to a string type with a date-time check

When converting back to a zod object, this then gets registered as a ZodString type instead of a ZodDate.

This is intended behavior. Based on this and the other issue you logged I'm guessing you're using this package and json-schema-to-zod to de/serialize your Zod schemas? It can be useful sometimes, but since JSON schema cannot represent all of Zod and vice versa there will always be some issues. For instance, a JS Date object is not serializable in JSON at all and thus has no JSON schema specification, so the closest you can get it is what you see here.
I've discussed this a bit with the creator of Zod earlier this year, specifically about adding a flag to force the schema to only use serializable components (meaning no transformations without the output defined by a schema, no Date etc.) but I'm not aware of the status of that idea in practice.

Thanks for the detailed response, this all makes sense.

I'm guessing you're using this package and json-schema-to-zod to de/serialize your Zod schemas?

Yes I am, and having to do magic to make it work for my use-cases. So far, I've found work arounds to this issue and the other one I posted, but I imagine there's a lot more quirks around the corner.
Thanks for building this 🚀


Use redis-client for Sidekiq Redis client

We are now installing sidekiq-scheduler from GitHub to get these fixes (which are not yet released) https://github.com/sidekiq-scheduler/sidekiq-scheduler/pull/ 404 .

We still are also using the redis gem because our Flipper adapter and redlock still depend on it (and it's still listed as a dependency of Sidekiq, so we'd still be installing the gem, anyway).


catch all or redirect

Maybe I have missed the obvious, but how can I implement a catch all route? I currently have a number of routes, but I want that for any url that does not match one of my routes to be caught and sent to a default page.

you can config router with '/:def' tag like {'/:def': defaultPage}

Currently I am doing:
const router = new director.http.Router({
  '/pws/GetMaterial': {
    get: getMaterial,
  },
  '/pws/AddEvent2': {
    post: genericPost,
  },
});

How would I use '/:def' with this approach, in other words I tried you suggestion and it did not work in the way I am initializing a router.

Currently I am doing:
const router = new director.http.Router({
  '/pws/GetMaterial': {
    get: getMaterial,
  },
  '/pws/AddEvent2': {
    post: genericPost,
  },
});

How would I use '/:def' with this approach, in other words I tried you suggestion and it did not work in the way I am initializing a router.

A catch all that worked for me:
Router(self.routes())
	.configure({
		on: ns.view.table['all routes']
	})
	.init('/');

… and later:
'/?((\w|.)*)': ns.view.table['catch all'], // Catches all non-specified routes.
'/': ns.view.table['splash screen']

https://github.com/flatiron/director/blob/b507baed25cfd38307808ea41a0d6305ee6e1ebf/README.md#wildcard-routes


Last picture overriden on reload

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
In some blog entries with several pictures, the last picture is overridden by the previous picture when reloading the page.
I've setup the smallest blog entry that I've been able to create that will reproduce the issue in this project: https://github.com/pgrange/docusaurus-final-picture
I'm sorry I did not see https://new.docusaurus.io/ before trying to qualify the issue, I hope you can work with that.
The project has been created with:
npx create-docusaurus@latest docusaurus-final-picture classic

Then the following commit creates a blog entry which exhibits the issue.
The issue can be seen on the following page (when running locally): http://localhost:3000/blog/2023-05
Reproducible demo
http://localhost:3000/blog/2023-05 (sorry)
Steps to reproduce
git clone https://github.com/pgrange/docusaurus-final-picture.git
cd docusaurus-final-picture
yarn
yarn build
yarn serve

Then go to the following page: http://localhost:3000/blog/2023-05
You should see three images, a 1, a 2 and a 3.
Click reload.
Expected behavior
You should still see three images, a 1, a 2 and a 3 after reloading the page.
Actual behavior
You see a 1, a 2 and a 2 again. The 3 has been replaced by the 2.
Your environment

Public source code: https://github.com/pgrange/docusaurus-final-picture
Public site URL: none
Docusaurus version used: 2.4.1
Environment name and version (e.g. Chrome 89, Node.js 16.4): Safari 16.5, Node.js v19.8.1
Operating system and version (e.g. Ubuntu 20.04.2 LTS): MacOs 13.4

Self-service

[ ] I'd be willing to fix this bug myself.

Thank you for the great repro! Very easy to follow. I'll try to investigate.

I'm so sorry to read that you can't reproduce. It's quite deterministic on my side and we've observed it on our website that was built by GitHub action running on Ubuntu.
Just to confirm, if I open http://localhost:3000/blog then the first time, picture 3 html source code is:

If I hit reload now, picture 3 html source code becomes:

Also, if I prevent javascript from running (I tried by putting a breakpoint in the source of the page) then there is no problem. So it's really like the html is good but is immediately tempered with by javascript.
It's important to note that I have to reload the page to see the problem.

FYI, I asked some colleagues here to see if they can reproduce the bug and I haven't found anyone not having the issue yet.

I am not able to reproduce either on your repro:

Are you sure your repro is correct and you and your colleagues can reproduce deterministically the issue on your repro? Can you host your repro somewhere and then record us a video or screenshot showing the URL as a proof?
Maybe this problem only happens in your real app? In this case please share the URL and/or record a video too.

That is probably because of a React hydration issue. In some cases, the static HTML produced at build time is slightly different from the HTML rendered by React on the client, and the mismatch can create weird issues like this. It already happened in the past.
Docusaurus itself has some little mismatches that are now reported in the console with React 18, and I'm in the process of fixing them as part of the React 18 upgrade here: https://github.com/facebook/docusaurus/pull/8961
It's possible that it's the fault of Docusaurus hydration mismatches, we already saw that happen in the past (https://github.com/facebook/docusaurus/issues/5617). Apart from waiting for the React 18 upgrade, you can try to add extra JSX tags (divs, spans, sections whatever) around your content, and this may help React avoid this issue.

Edit: indeed I can see the problem on prod build on your repro (not with the dev server) and it looks like an hydration issue due to a mismatch somewhere else in the Docusaurus layout (should be fixed with React 18).
In the meantime this is a workaround that seems to work:

![Third picture](./img/3.jpg) Do you see a 3?

Ah yes... I forgot I need to run a build to see hydration problems😅
Wondering why this would be though.

Wondering why this would be though. My guess is that there's invalid markup "fixed" by Terser.

That's a possibility, but the React 18 PR also reported a few issues that I fixed, so we'll see if we can still reproduce once we upgrade

I have a closely related issue on one of my projects. It can be seen on the following page:
https://handleiding.tbvs.be/leerlingenrekeningen/Schooljaar/
Clicking on the sidebar loads the last image correctly, reloading the page or accessing it directly by the URL causes the last image to be replaced it with the previous one. That page leads to this markdown file: https://github.com/toolbox-kobavzw/toolbox-handleiding/blob/master/docs/leerlingenrekeningen/3. Schooljaar/index.mdx?plain=1
My repository is open, so feel free to use it to debug the issue.

This is likely to be fixed in Docusaurus v3 with React 18, I'm going to release the first alphas very soon but in the meantime you can use a canary release.
Please try to upgrade to a canary/alpha/beta/rc (or v3 once released) and if it's not fixed we'll debug it. It is not worth spending time debugging existing sites considering the issue might already be fixed

Looks fixed in Docusaurus v3 beta 0


Add updated doi and update title in readme

Add updated doi and update title in readme
In this PR, the DOI in the README is updated after manuscript figure edits and the title in the README is updated to reflect repo name change.

@gwaybio Thanks for the approval!


Where can I find my schedule ID?

Where can I find my schedule ID?

The schedule ID can be found in the URL, after the schedule component. That is schedule//appointment.


[New Scheduler] Initial commit for the scheduler component

Description
This is the first change to add the new scheduler component.
A series of subsequent PRs would be opened by me and my team members.
We would start from modules with fewer dependencies to modules that are highly dependent on the others.
We will add the "scheduler" label and [New scheduler] prefix in the title of PRs.
Please refer to the issue for more information and discussion history.
You may find this useful as well: new scheduler design
JFYI, this scheduler is running in production in Naver.
There are many "TODO"s in this PR.
As we agreed to incrementally merge PRs along with temporal commits, I left many parts of the original codes as "TODO".
I wanted to give some hints to reviewers about how it would be working.
Related issue and scope

[x] I opened an issue to propose and discuss this change (#4922)

My changes affect the following components

[ ] API
[ ] Controller
[ ] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[ ] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[ ] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[ ] Bug fix (generally a non-breaking change which closes an issue).
[x] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[x] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

From what I understand so far, LGTM for an initial commit. Can always come back and add comments if I learn something later

It seems there are some issues in the travis job.

Codecov Report

Merging #4983 into master will decrease coverage by 7.08%.
The diff coverage is 46.66%.

@@            Coverage Diff             @@
##           master    #4983      +/-   ##
==========================================
- Coverage   83.96%   76.87%   -7.09%
==========================================
  Files         202      202
  Lines        9795     9822      +27
  Branches      423      416       -7
==========================================
- Hits         8224     7551     -673
- Misses       1571     2271     +700

Impacted Files
Coverage Δ

.../org/apache/openwhisk/core/connector/Message.scala
78.90% <0.00%> (-0.46%)
:arrow_down:

.../org/apache/openwhisk/core/entity/InstanceId.scala
80.70% <0.00%> (-9.50%)
:arrow_down:

...la/org/apache/openwhisk/common/TransactionId.scala
95.18% <100.00%> (+0.05%)
:arrow_up:

.../scala/org/apache/openwhisk/core/WhiskConfig.scala
95.27% <100.00%> (+0.23%)
:arrow_up:

...core/database/cosmosdb/RxObservableImplicits.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...ore/database/cosmosdb/cache/CacheInvalidator.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...e/database/cosmosdb/cache/ChangeFeedConsumer.scala
0.00% <0.00%> (-100.00%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0.00% <0.00%> (-96.23%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0.00% <0.00%> (-93.90%)
:arrow_down:

...tabase/cosmosdb/cache/CacheInvalidatorConfig.scala
0.00% <0.00%> (-92.31%)
:arrow_down:

... and 24 more

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 af16122...21c5da6. Read the comment docs.

Let's postpone merging this PR until we release the OpenWhisk core 1.0

I merged this as the core 1.0.0 is released.


Query unfinished traces/operations

There could be situations when users would like to query unfinished traces/operations:
This could be done that user would add "start" tag/log at the beginning and when the operation is considered as finished add "finished" tag/log(in the same span or children spans). Then it would be possible to query on missing finished tag/log.

I don't believe that this feature would be trivial, but I would certainly find it beneficial.  I use Zipkin with a system where traces are long running, and it would be very nice if Zipkin could be used to investigate problems as they are happening, instead of only after the fact.

Thanks for the suggestion, I do agree that it does sound useful - to some extent. But the fact that this has not sparked any discussion or reaction after almost four years indicates that most users are probably ok with not having this feature. In any case, implementing this would not be a small feat as @sambishop hints, as the required modifications to the search syntax need to be supported and implemented for all our storage backends. Since we're a small team, we don't implement new storage features lightly unless there's very high and obvious demand for it.
Closing, feel free to reopen if you still feel strongly about this, or consider raising a PR to get things going.


CAMEL-21248 - Camel-Aws2-S3: Support Conditional Writes

Description

Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[x] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.

[x] I have run mvn clean install -DskipTests locally from root folder and I have committed all auto-generated changes.

Needs more work.


✨(learninglocker) create a volume dedicated to storage

Purpose
We discover in https://github.com/openfun/learninglocker-docker/issues/21 that LL create a storage repository at the project's root. This directory should be mounted in a PVC and used in every LL instances (api, ui, worker).
Proposal
Description...

[x] create a volume where storage will be saved
[x] use this volume base learning locker DeploymentConfig.

@jmaupetit I updated this PR changing the way the volume is mounted and "populated" with needed subdirectories.


Support loaderContext.loadModule

What problem does this feature solve?
Resolves the given request to a module, applies all configured loaders and calls back with the generated source, the sourceMap and the module instance (usually an instance of NormalModule). Use this function if you need to know the source code of another module to generate the result.
https://webpack.js.org/api/loaders/#thisloadmodule
What does the proposed API of configuration look like?
See: https://webpack.js.org/api/loaders/#thisloadmodule

bump


TypeScript declaration file

I am planning to use taggle.js in a TypeScript project and notice that there isn't currently a TypeScript  declaration file available.
There are 2 ways to publish a TypeScript declaration:

Include the declaration file in the npm package (E.g. Vue.js)
Publish the declaration file to DefinitelyTyped

I am evaluating whether I may be able to contribute one and whether Approach 1 is suitable.
@okcoker Is it acceptable to you to maintain a TypeScript declaration for taggle.js in this package using the first approach? Thanks.

I personally haven't gotten on the TypeScript train yet (not that I'm against it) so this would definitely be something I'd look to the community to contribute.
Based on the link you posted it seems approach 1 is more suited for libraries written in TypeScript? Since this lib isnt, written in TypeScript do you think that'd be a problem?
Is there's some kind of validator step you can add to the build script, because I'm worried that if I make changes to the library, the declaration will get out of sync.

Thanks for your quick reply!
I think approach 1 is a better option when the declaration is officially supported by the library so that users don't need to install the declaration separately.
To keep the source code and declaration in sync, I think it is possible to add a task during the test phase of the build script to use the TypeScript complier to compile example/js/scripts.js against the declaration. If they are out of sync, the build process will fail.
Approach 2 is required when the library doesn't want to maintain a TypeScript declaration. In that case, the declaration will be located in DefinitelyTyped with its own test case and maintained by the community.

@FranklinWhale go for it!


CocoaPods

Thanks for open sourcing this @cbowns. Would you mind adding it to CocoaPods?

@hpique Unfortunately, @trilorez's fork doesn't appear to be available.


Implement kismatic install step command

The step action can be used to run a single ansible play(book) located in ansible/playbooks. The ansible play will be run exactly the same way as if it were being run as part of kismatic install apply.
Sample usage:
out ./kismatic install step _apiserver.yaml

Validating==========================================================================
Reading installation plan file "kismatic-cluster.yaml"                          [OK]
Validating installation plan file                                               [OK]

Running Task========================================================================
1/1....  Install Kubernetes API Server                                          [OK]

Task completed successfully

Can you regenerate the docs by first deleting kismatic-cli-docs folder and running make kismatic-cli-docs
Would it be beneficial to be able to rerun the tasks based on their printed name, ie
./kismatic install step Install Kubernetes API Server. Maybe using tags or just maintain a map of names to yaml file

./kismatic install step Install Kubernetes API Server. Maybe using tags or just maintain a map of names to yaml file```

Yes. How much extra work is this, though?

Also: we don't want to leak too many Ansible details to a cluster operator, but in this case the PR is intended to make it easier for an operator who understands Ansible to run it the way `kismatic apply` does. I think it would be okay without building a playbook map.

My main reason for not adding that extra UX optimization was that this is mainly a debug feature.

Updated docs.

LGTM


Scheduled Queries packs not working

Hello All,
I am currently having an issue with scheduling query packs from fleet and I am not sure what I am doing wrong. I have created packs using some saved queries and have set the option to snapshot so I can see when the queries run and logged but it seems that these packs never run. If I setup a schedule using osquery config file, I see these queries run and log properly to the fleet server (osquery result log).
I am also able to run these queries from the fleet server but just the packs  don't run on my defined interval.
My OSQuery config looks like this:
{
// Configure the daemon below:
"options": {
// Select the osquery config plugin.
"config_plugin": "tls",
// Select the osquery logging plugin.
"logger_plugin": "tls",
// The log directory stores info, warning, and errors.
// If the daemon uses the 'filesystem' logging retriever then the log_dir
// will also contain the query results.
//"logger_path": "/var/log/osquery",
// Set 'disable_logging' to true to prevent writing any info, warning, error
// logs. If a logging plugin is selected it will still write query results.
//"disable_logging": "false",
// Splay the scheduled interval for queries.
// This is very helpful to prevent system performance impact when scheduling
// large numbers of queries that run a smaller or similar intervals.
//"schedule_splay_percent": "10",
// A filesystem path for disk-based backing storage used for events and
// query results differentials. See also 'use_in_memory_database'.
//"database_path": "/var/osquery/osquery.db",
// Comma-delimited list of table names to be disabled.
// This allows osquery to be launched without certain tables.
//"disable_tables": "foo_bar,time",
"utc": "false",
// "disable_events": "false",
//Kolide Options
"enroll_secret_path": "/var/osquery/enroll_secret",
"tls_server_certs": "/var/osquery/server.pem",
"tls_hostname": "x.x.x.x:8080",
"host_identifier": "hostname",
"enroll_tls_endpoint": "/api/v1/osquery/enroll",
"config_tls_endpoint": "/api/v1/osquery/config",
"config_tls_refresh": "10",
"disable_distributed": "false",
"distributed_plugin": "tls",
"distributed_interval": "3",
"distributed_tls_max_attempts": "3",
"distributed_tls_read_endpoint": "/api/v1/osquery/distributed/read",
"distributed_tls_write_endpoint": "/api/v1/osquery/distributed/write",
"logger_tls_endpoint": "/api/v1/osquery/log",
"logger_tls_period": "10"
}
As mentioned earlier, if I add a query to schedule or packs in the osquery config file, it works as expected but I would like to use fleet for managing packs and my config.
Can someone shed some light on what I am doing wrong.
What version of fleet are you using (fleet version --full)?

version 1.0.6
branch:       master
revision:     45165aa29aae52346ed1c458f19b89947d315c61
build date:   2017-12-04T22:50:27Z
build user:   marpaia
go version:   go1.9.2

What operating system are you using?
CentOS 6
What did you do?
Trying to schedule queries using packs
What did you expect to see?
Query packs should run and there should be logging
What did you see instead?
Nothing

Can you run osquery with the --tls_dump and --verbose flags and show us the output? I'm particularly interested in seeing whether the scheduled queries are being passed to osquery.
Also, can you please show us what your configuration looks like in Kolide?

Here is my Kolide Config, working on the osquery output, interested to see if I can use tls_dump and verbose just in the config file.

I'm not sure if this is the problem, but it looks like there is a syntax error with your file_events queries.

This is probably going to be easier to debug in the osquery slack.
In this scenario you describe, are you using Kolide? If not, please ask about it in #general. If so, please ask in #kolide.

@newbeeeeeee pack queries result will not store in osquery node , it store on fleet server, pls see this link: https://github.com/kolide/fleet/blob/master/docs/application/working-with-osquery-logs.md


Initialize Popup with IsOpen=true leads to crash in WinUI Desktop

Describe the bug
Initiate Popup with Closed state and set IsOpen as True after view loading works. But Initialize Popup in Open state leads to crash in WinUI Desktop.
Steps to reproduce the bug

Run attached sample
Application crashes due to Popup is in Open state

Expected behavior
Application should run without crash
NuGet package version:
[Microsoft.WinUI 3.0.0-preview3.201113.0]
Sample :
PopupSample.zip

@kmelmon FYI

@kmelmon FYI

I think this is related to #3389, with the Popup trying to open before it knows which XamlRoot it belongs to. It theoretically should know which XamlRoot it belongs to in this case since the Popup is defined in MainWindow.xaml, but I think the loader creates the element tree before it gets attached to the root.
We might want to fix this by having Popup wait to open until it actually gets Loaded, rather than try to change how the markup loader works.

I think this is related to #3389, with the Popup trying to open before it knows which XamlRoot it belongs to. It theoretically should know which XamlRoot it belongs to in this case since the Popup is defined in MainWindow.xaml, but I think the loader creates the element tree before it gets attached to the root.
We might want to fix this by having Popup wait to open until it actually gets Loaded, rather than try to change how the markup loader works.

Still not fixed, don't close it, please

Have just spent a nice 30 minutes pulling my hair out trying to make it work till I came to the conclusion this must be a bug and found this issue.


[OSX] macdeployqtplus bug fixes [OSX]

Background image of the OSX install window is mis-sized #379

@sherlockcoin would it be possible to automate the version which appears on the background? otherwise i think i would rather remove it and leave just NAVCOIN CORE

Sure! it is possible, just wanted to make sure people knew the right version when downloading the DMG.

utACK

I think these changes will require testing with gitian build

tACK
QT GUI compiled and tested on OS X 10.12.6 (Sierra) - Non-deterministic.

gitian fails
+ make osx_volname
echo NavCoin-Core >osx_volname
+ make deploydir
sed 's/PACKAGE_NAME/NavCoin Core/' < "contrib/macdeploy/background.svg" |  -f png -d 36 -p 36 | /usr/bin/convert - dpi36.background.tiff
/bin/bash: -f: command not found
convert: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504.
convert: no images defined `dpi36.background.tiff' @ error/convert.c/ConvertImageCommand/3258.
make: *** [dpi36.background.tiff] Error 1
Makefile:1195: recipe for target 'dpi36.background.tiff' failed

Can you tell me the gitian system and dependencies please? Looks like an imagemagick error.

Found it! :) One moment.

@aguycalled is it possible to verify if its an imagemagick issue? Would it possible to reinstall imagemagick and re-test?

you can do it yourself, gitian is a deterministic build system we use, hence its importance the binaries can build there. it should be patched on this pr if its needed.
https://github.com/navcoin/navcoin-core/blob/master/doc/gitian-building.md
Von meinem iPhone gesendet

Am 07.06.2019 um 13:29 schrieb sherlockcoin<EMAIL_ADDRESS>@aguycalled is it possible to verify if its an imagemagick issue? Would it possible to reinstall imagemagick and re-test?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Indeed. I will do the needful. 👍

Gitian Build success. :)

@mxaddict Thank you mate. It was quite a fix lol. 😄

@sherlockcoin the DMG looks nice and professional! Nice work! :+1:

@sherlockcoin the DMG looks nice and professional! Nice work! 👍

Thank you mate. <3 Cheers! :)

BTW, I'm doing a gitian build for OSX now, and will ask @lordhace to check my build, will post results here :1st_place_medal:

Can @aguycalled  and everyone review and merge this? :)

BTW, I'm doing a gitian build for OSX now, and will ask @lordhace to check my build, will post results here 🥇

Works on OSX 10.13.6

Nice!

Awesome! :)


Support Parquet format in FileSystem and Hive connector

What is the purpose of the change
This pull request adds support for parquet format in FileSystem and Hive connector.
Brief change log

Add format text(Hive's default format) and parquet.
Support for parquet format in FlinkProcessor FileSystem source/sink.
Support for parquet format in FlinkProcessor Hive source/sink.
Support for parquet format in SparkProcessor FileSystem source/sink.
Fix the bug that SparkProcessor cannot cast to bytes.

Changes related to hive have been verified using the corresponding Feathub e2e example.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): yes
The public API: yes

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? docs & python docs

Hi @Sxnan could you please take a look at this PR?

Thanks for the comments @Sxnan. I have updated the PR according to comments.

Hi @Sxnan thanks for your comments. I have updated the PR according to these comments.

@yunfengzhou-hub Thanks for the update. LGTM! @lindong28 Can you take a look at this PR?

Thanks for the update. LGTM.


Initial js SmartContract Compiler

This issue will implement a utility for transpiling javascript smart contracts for deployment on the neo blockchain.

Legacy issue from <=0.8.1.


[AIRFLOW-3626] Fixed zipped Dag trigger

Fixed zipped Dag trigger for Web and Api
Make sure you have checked all steps below.
Jira

[x] My PR addresses the following Airflow Jira issues and references them in the PR title.

https://issues.apache.org/jira/browse/AIRFLOW-3626

Description

[x] Added utility function similar to open_maybe_zipped to handle cases where fileloc can be a zipped python file. e.g. ~/airflow/dags/example.zip/example.py

Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[x] My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[x] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.
All the public functions and the classes in the PR contain docstrings that explain what it does

Code Quality

[ ] Passes flake8

Codecov Report

Merging #4438 into master will decrease coverage by 62.43%.
The diff coverage is 28.57%.

@@             Coverage Diff             @@
##           master    #4438       +/-   ##
===========================================
- Coverage    78.6%   16.17%   -62.44%
===========================================
  Files         204      204
  Lines       16498    16504        +6
===========================================
- Hits        12969     2669    -10300
- Misses       3529    13835    +10306

Impacted Files
Coverage Δ

airflow/utils/dag_processing.py
21.31% <20%> (-38.37%)
:arrow_down:

airflow/models/__init__.py
27.98% <50%> (-64.62%)
:arrow_down:

airflow/www_rbac/validators.py
0% <0%> (-100%)
:arrow_down:

airflow/utils/log/es_task_handler.py
0% <0%> (-100%)
:arrow_down:

airflow/example_dags/subdags/subdag.py
0% <0%> (-100%)
:arrow_down:

airflow/www/validators.py
0% <0%> (-100%)
:arrow_down:

airflow/example_dags/example_docker_operator.py
0% <0%> (-100%)
:arrow_down:

airflow/example_dags/example_subdag_operator.py
0% <0%> (-100%)
:arrow_down:

airflow/api/common/experimental/get_dag_runs.py
0% <0%> (-100%)
:arrow_down:

airflow/www/forms.py
0% <0%> (-100%)
:arrow_down:

... and 168 more

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 cfcb4da...4750f4d. Read the comment docs.


runners on base not being registered for older games

see: https://reblase.sibr.dev/game/aa1b7fde-f077-4e4b-825f-0d1538d02822

Closing, fixed in #25


Changes to get ES and Kibana working with x-pack alpha3. Still having…

… troubles getting logstash to work though.

Thanks for the help ! See #50


Bad position/placement if element is prepended in array

I have an array with elements that I get from filtering a larger array base on some value. I give the children to the masonry unique keys. This works great when the visible child at position 0 in array remains visible all the time. But when a child gets prepended in the array the child elements start to overlap.
class CategoryPage extends React.Component {

  static propTypes = {
    category: PropTypes.string.isRequired,
  }

  getCategory = () => {
    const { category } = this.props;
    return categories
              .filter((cat) => {
                return cat.params.category === category;
              })[0];
  }

  render() {
    const { items } = this.props;
    const options = {
      gutter: 0,
      isFitWidth: true
    }

    const current = this.getCategory();

    const filtered = items
      .filter(item => {
        return item.categories.some((category) => {
            return current.tags.indexOf(category) !== -1;
        });
      })
      .map(item => {
        return (
          <Card
            key={item.id}
            id={item.id}
            title={item.title}
            image={item.image}
            description={item.description}
            categories={item.categories} />
        );
      });

    return (

{ current.text }

            <Masonry
              options={options}
              disableImagesLoaded={true} >
              {filtered}
            </Masonry>

    );
  }
}

export default CategoryPage;

And all id's are unique? Seems like an edge case issue when doing prepending to the masonry.. Might be that the "algorithm" for diffing does not account for this. What happens if you always include a dummy element at the top that is "invisible"?

@cybercomkvint can you please try the 3.0.0 beta and see if it fixes things for you?
npm install --save<EMAIL_ADDRESS>You no longer need to pass in React to a function - also a little extra setup required if using Webpack. More info in Readme

I had the same problem and can confirm using 3.0.0-rc.1 does not fix it. However using a dummy element does fix it. Quite odd..
I am using a div with width 1px and height 0px which surprisingly does the trick. If I use an empty div with no styling, it causes all the masonry elements to be stacked vertically despite having plenty of space to be layed out horizontally.

Also hit this buglet. Same situation, I have a list of items and the ability to filter the set. When going from a filtered view to the "All Items" view, I end up with stacking, empty space in first row. I spent time trying to "kick" masonry to re-layout in componentDidUpdate (didn't work), then tried calling masonry.layout() in a setTimer(). No work.
I next did the horrible thing of making my element array key properties always random. that fixed it, but had unwanted side-effects for certain other modal views.
Adding the empty  as first element of every filtered view solved the problem.

Thank god I saw this issue, was trying to figure out what's happening with my layout with filtering involved. Hacked with div height 1 width 1 just the same.


Unit test coverage 50%

Created by: @bayegan Apr 26 2022 at 15:39 CET
Last updated: Jul 19 2022 at 15:00 CET
ClickUp ID: IK-2814
Given
Python SDK
When
CI pipeline running
Then
50% code coverage

Commented by: @bayegan May 20 2022 at 11:16 CET
@martasd : we'll speak next week, but if you have availability to continue on the project, implementing a full-featured python SDK is something is high on our wish list. cc @maprokes

Commented by: @martasd Jun 14 2022 at 10:42 CET
Already satisfied without needing to touch the code.


Changing Another Bot's Nickname

So I'm trying to have my bot change my other bot's nickname every time someone sends a message. Inside of MessageReceived() I have this line here:
var user = message.Channel.GetUserAsync(/*my other bot's ID*/);

Then I look inside of user and I don't see any properties/methods with which I can get/set the nickname of user. I know I've seen other people online doing something with ModifyAsync() but I don't see that method inside of user. Am I missing something?

FWIW: This has been handled in the guild.

Please close if this is resolved.


prevent exponential notation from being displayed in Custody Fee Panes

Under the hood we use Decimal.js, and in the docs I found the following:

src: http://mikemcl.github.io/decimal.js/#toExpNeg

number: integer, -9e15 to 0 inclusive
Default value: -7

In other words as we have a precision of 9 decimals for all our current chains, we would get into exponential notation for custody fees that are smaller than 0.0000001 GFT.
Overwriting this default globally should fix it. We can just use the maximum range value allowed for both this negative global as well as its positive variant, given the code on a higher layer already validates for values too precise, and the chain itself guarantees in an economic way that values never get too big.

Confirmed to be fixed now:


Incorrect header name "x-v-min" used

Description
In the test documentation there are mentions of an "x-v-min" header.  This should be "x-min-v".
Related Work Items

Thanks for the pick up @CDR-DF, I'll correct

The following Test Cases and Assertions have been corrected at the source and will be published in v1.0.1

Object
Field/s
Change

T.EAS.003
Title
x-v-min corrected to x-min-v

T.EAS.006
Title
x-v-min corrected to x-min-v

T.EAS.011
Title
x-v-min corrected to x-min-v

T.EAS.021
Title
x-v-min corrected to x-min-v

T.EAS.028
Title
x-v-min corrected to x-min-v

T.EAS.033
Title
x-v-min corrected to x-min-v

T.EAS.069
Title; PreConditions
x-v-min corrected to x-min-v

T.EAS.070
Title; PreConditions
x-v-min corrected to x-min-v

T.EAS.071
Title; PreConditions
x-v-min corrected to x-min-v

T.EAS.072
Title; PreConditions
x-v-min corrected to x-min-v

T.EAS.073
Title; PreConditions
x-v-min corrected to x-min-v

T.EAS.074
Title; PreConditions
x-v-min corrected to x-min-v

T.EAR.003
Title
x-v-min corrected to x-min-v

T.EAR.007
Title
x-v-min corrected to x-min-v

T.EAR.013
Title
x-v-min corrected to x-min-v

T.EAR.024
Title
x-v-min corrected to x-min-v

T.EAR.034
Title
x-v-min corrected to x-min-v

T.EAR.040
Title
x-v-min corrected to x-min-v

T.EAR.047
Title
x-v-min corrected to x-min-v

T.EAR.062
Title
x-v-min corrected to x-min-v

T.EAR.125
Title; PreConditions
x-v-min corrected to x-min-v

T.EAR.126
Title; PreConditions
x-v-min corrected to x-min-v

T.EAR.128
Title; PreConditions
x-v-min corrected to x-min-v

T.EAR.129
Title; PreConditions
x-v-min corrected to x-min-v

T.EAR.130
Title; PreConditions
x-v-min corrected to x-min-v

T.EAR.131
Title; PreConditions
x-v-min corrected to x-min-v

T.EAR.132
Title; PreConditions
x-v-min corrected to x-min-v

A.CVN.004
Title; Given Change
x-v-min corrected to x-min-v

A.CVN.005
Title; Given Change
x-v-min corrected to x-min-v

A.CVM.001
Title; Given; When; Then
x-v-min corrected to x-min-v

A.CVM.002
Title; Given
x-v-min corrected to x-min-v

All fixed. Merged and published


Option to configure number of saved responses to history

Adds and option to configure how many responses it should save to history.
Today I got in a situation where I sent a malformed request to 3rd-party API and it accidentally cleared crucial data. And I couldn't find the response\url because at the time we've noticed that something was wrong the history was already overridden.

The OAuth 2.0 are breaking. Not sure why  😕

Don't worry, it's complicated 😭. It's because the tests use deterministic ID generation logic, so the addition of the models.settings.getOrCreate() throws it off by adding an additional ID into the mix.
In order to decouple this a bit, I think it'd be wise to pass the max responses into the create function as a parameter instead of looking up the settings object from there. I would add it as a second, optional, parameter to keep things simpler. Note, only the calls within app.js would need to be updated.
export async function create(patch: Object = {}, maxResponses: number = 20) {
  // ...
}


VideoGallery gap fixed for Safari on iPhone SE

What

Using Stack tokens to apply gap between Stack children. Safari does not seem to support flex display and the gap property.
Why

https://skype.visualstudio.com/SPOOL/_workitems/edit/2641774
How Tested

Can someone with an IPhone SE please verify this works. I do not have an IPhone SE.
Process & policy checklist

[ ] I have updated the project documentation to reflect my changes if necessary.
[ ] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

lgtm


MudSelectExtended margin differs from MudSelect

!!! First off, awesome extensions, my thanks to you for your time and effort !!!!
It seems that one of the internal components of MudSelectExtended receives an ms-4 class which causes the text value to be presented with an indent.
When compared to the MudBlazor's standard MudSelect control, it doesn't have the margin.
MudSelect

MudSelectExtended

Perhaps it's being added by this line? https://github.com/CodeBeamOrg/CodeBeam.MudExtensions/blob/218c4a8c448c8fdb8c3fd6a91fec7288cba92ff9/CodeBeam.MudExtensions/Components/InputExtended/MudInputCssHelperExtended.cs#L32

Absolutely, and already fixed with #108. Will come with the next release. Thanks for feedback :)

This ms-4 class need for MudTextFieldExtended, so i didn't notice it breaks the select. My bad. Now fixed that it only applies to textfield.