Analytics log

I'm using Steam Machine and it works well, but now I'm trying to integrate ElasticSearch or Prometheus but I'm not sure how to do it and if the current version supports it, I found in root of the repository the following projects, which should be done for them to work with Stream Machine?
sm-topline-stats
prometheus_client_nodejs
sm-log-exporter
I also saw a Json fragment of configuration, it seems to me that this would be for ElasticSearch
"analytics": {
  "influx":         "influx://stream:machine@localhost:8086/streammachine",
  "finalize_secs":  300
},

Hi @matheusagnes,
To integrate with ES need add the code:
	 "analytics": {               "es_uri": "http://elasticsearch:9200/streammachine",               "finalize_secs":"300"         },
ElasticSearch support is build-in into SM core, influxdb at the moment is not a analitycs backend supported, was before, but @ewr switch to ES for new engine.
Full master example can see here:
https://gist.github.com/cdgraff/d65982fdc898ee1b8944#file-master-json

Thx @cdgraff
Currently what kind of information I can get doing catch?
Users listening for example?

@matheusagnes i'm using default Dashboard created by Eric can found here: https://github.com/SCPR/sm-dashboard
This be some of the info you can catch (the real dashboard has some others params i just tweak a little to me needs):

@matheusagnes: I apologize for the state of the docs. The params that @cdgraff gave you for the Analytics module are correct.
Analytics handles two types of logging: listens and sessions. Listens are chunks of listening behavior: a segment download for HLS or a time-based chunk of a Shoutcast session. By logging these both the same way, we can synthesize both together to get a complete picture of listening. Queries on the listens index are useful for answering questions about how many people are/were listening at a given time.
Once a session disconnects (Shoutcast) or quits appearing (HLS, using the finalize timeout setting mentioned), Analytics computes the total duration delivered for the session, start and end times, etc, and logs a single entry to the sessions index. Those can be used for queries about longer periods of time, and to create more traditional session logs.
Two useful tools:
https://github.com/StreamMachine/sm-log-exporter can be used to export a w3c log similar to what Shoutcast / Icecast produce. It exports sessions.
https://github.com/StreamMachine/sm-topline-stats produces summaries of hourly/daily/monthly listening. It can compute session count, total listening hours, CUME (unique ips) and ATSL (average time spent listening).
sm-topline-stats and the dashboard code linked above are good ones to get examples of the sort of ES queries you might come up with yourself to answer more specific questions.

Could someone post and example for sm-topline stats? I'm struggling with it. This doesn't work:
./node_modules/sm-topline-stats/runner-cmd --server localhost:9200 --start 2017-02-21 --end 2017-02-21 --query '{ “match_all": {}}'


Update jackson-bom in 1.3 branch:  Addresses 12 CVE

Update jackson-bom from  <IP_ADDRESS>00223 to <IP_ADDRESS>00411 for dropwizard 1.3 branch.  This would update jackson-databind from <IP_ADDRESS> to <IP_ADDRESS> and addresses 12 CVE by blocking multiple gadget types (including shiro-core, for which there is no CVE):

CVE-2020-9546
CVE-2020-9547
CVE-2020-9548
CVE-2020-10969
CVE-2020-10650
CVE-2020-10672
CVE-2020-10673
CVE-2020-10968
CVE-2020-11111
CVE-2020-11112
CVE-2020-11113
CVE-2020-11619
CVE-2020-11620

@msymons Thanks for your contribution!
Closed in #3246.

It's a pleasure, @joschi.
Any idea when 1.3.23 will be released? I have over 100 microservices that just need a teeny tweak to the dropwizard version property...  and a threat scanning system that has been going crazy in the meantime.

@msymons I've released Dropwizard 1.3.23: https://github.com/dropwizard/dropwizard/releases/tag/v1.3.23
This being said and with the context that Jackson <IP_ADDRESS>00411 will most likely be the last release in the Jackson 2.9.x line, I would strongly recommend upgrading your services to Dropwizard 2.x.


js-yaml adds single quotes around aliases

Pasting a snippet from yaml which js-yaml generates.
         steps:
      -    - '&prepublish echo prepublish'
      -    - '&new_step echo new_step'
      +    - &prepublish echo prepublish
      +    - &new_step echo new_step

First two lines are js-yaml  output and next two are expected output, having quotes in the array value does not make it an alias, but just a string. How can I make js-yaml output correct data for alias ?

I'm not sure dumper supports aliaces at all. Could you provide more detailed example (code)

@puzrin This is what I am trying to do
newsupply-lm:js-yaml-dump jithine$ cat index.js
'use strict';

const JSYAML = require('js-yaml');

const js = {
  stepTmpl: '&new_step echo new_step',
  step2: '*new_step'
};

console.log(JSYAML.dump(js));

newsupply-lm:js-yaml-dump jithine$ node index.js

Actual Output
stepTmpl: '&new_step echo new_step'
step2: '*new_step'

Expected Output
stepTmpl: &new_step echo new_step
step2: *new_step

Your expectations are not right. Dumper works exactly as expected - write properly escaped strings.

@puzrin My expectation is for js-yaml to understand that stepTempl defines an anchor and step2 aliases it. Is there anyway for js-yaml to dump "Expected output" I've given above ?

No. There are no ways to define aliases & anchors in dumper. Only noRefs option.


SD Card mounts to a different directory after Sleep/Suspend

Hello all,
Upon sleep, with crouton running, my SD Card (named SDC) mount location moves from /media/removable/SDC/... to /run/crouton/removable/SDC/... and is also unmounted, and inaccessible, from the ChromeOS file system. This causes me to not be able to use crouton or launch until after a reboot, and using umount doesn't work as the "device is busy", I also tried using fuser -km <mountpoint> and it causes the system to reboot, killing dbus-daemon and/or udisks-daemon.
EDIT: This occurs when letting the screen/system sleep/standby when in crouton desktop
(i.e. Alt+Ctrl+Shift+Right)
Any assistance would be greatly appreciated.
Warm Regards,
@Arch-io

This problem is solved by not putting the desktop environment in the background and leaving the terminal open for it.


Add IASZone binary sensors for extra bits

The new entities are disabled by default since devices do not support all bits and there is no way to automatically find if a device supports each bit.
Requires: https://github.com/home-assistant/core/pull/129706

This PR adds new entities to existing devices so CI is expected to fail.

I want to discuss how the extra bits on the IASZone should be made available in HA.
Having those bits are specially important for things like smoke or gas sensors, for users to know when battery gets low, for example. Some of those sensors beep when battery get critically low, which gets annoying when it happens at 4am. This in turn makes some people start looking at the code and opening RFC PRs :eyes:
Since IASZone devices usually do not implement all bits, but there is unfortunately no way to identify which ones are implemented, having them available by default would be wrong and lead users to complain that the values never change.
An alternative would be to have a flag on the quirk, specifying which entities to expose. The downside is that it makes it hard to actually identify bits supported by a device, since users would really have no practical way to track that proactively for new devices.
A mixed approach would be to create the entities disabled by default, and have a quirk flag that would make some of them enabled by default for specific devices. This would make the entities show up for devices that are already known to support them, while still allowing the users to manually enable them for newer devices with no quirk. The downside is that some users may still enabled them for devices that do not support them, and complain.
Before moving on with the tests, I would like to have some feedback on this.

This PR adds new entities to existing devices so CI is expected to fail.

Sorry, I was still writing the comment.

I think entities disabled by default is a good approach, with v2 quirks providing extra metadata to enable them for known-supported devices. We could also possibly explore auto-enabling entities if we ever find that the state ever changes.

Quick background
We also have the ability to assign one quirk_id to a device. We can enable/create entities in ZHA for multiple quirk IDs.
We currently use quirk_id for a bunch of Tuya quirks*. It allows us to have the configuration entities in ZHA and to create them for the devices that have that Tuya quirk ID assigned.
It's not used too often, but it is very useful in those cases. It also makes sure the quirk is applied before trying to create the entities. Other configuration entities in ZHA just check the model for example. Sometimes, the quirk doesn't even, so they'll error out because the custom cluster they're expecting isn't there.
(*The Tuya plug quirks cannot be converted to v2 quirks due to ignoring manufacturer (so the model in Tuya's case), as the quirks only match per their endpoint/cluster signature.)
Important part (why it's relevant for this)
We should probably allow a quirk to have multiple quirk IDs and we could rename it to something like exposes_features.
For the Tuya plugs, the exposed features will stay "Tuya plug config entities" (or similar).
But for this, we could have exposed features called something along the lines of "IAS tamper" and "IAS trouble".
It would allow us to enable the additional IAS entities in ZHA from quirks.
We could also easily make exposes_features compatible with v2 quirks. If there's the rare case that a device is actually fully standard compliant, we can just have a few lines of code with v2 quirks to enable the entity in ZHA.
(Technically just one line each, as they could all use the same basic v2 quirk to just set the exposes_features to "IAS tamper" for example).
IMO, this might be worth exploring, especially for this use-case.

I like the exposes_features approach since it is very versatile.
Could it also be use in negative? For example, for devices that are known to not support something (such as aqara motion sensors not supporting Tamper), we could have a "No IAS Tamper", to prevent the entity from getting created (instead of having it disabled)?

I discussed with the other ZHA maintainers and I think adding the disabled-by-default entities for every IASZone device is going to be too drastic of a change. We're instead going to add a way to expose this feature via quirks per-device. There are so few devices with this feature (I think I have only a single sensor by Bosch that has a microswitch for the battery cover) that it's going to cause more confusion than benefit.

Thanks for the feedback @puddly !
I do agree that it would add a lot of unnecessary disabled entities (see my comment at the top). My only concern is: how will users/developers identify that a device supports bit X? For tamper, it is easy, but for low battery or problem it would be much harder to identify.
Maybe we could have the entity added when the bit becomes 1?


Usage with JSPM / SystemJS

Hello! :)
Has anyone been able to use jquery.inputmask through JSPM? I've tried different recommendations I could find (shims and overrides), but none worked. I'm stuck with the message:
$(...).inputmask is not a function
Even though the module seems to be loading correctly (I can see it from the Network tab in the Developer Tools). I installed the plugin's module from the NPM registry.
Any help would be greatly appreciated!
Edit: jQuery module is loaded and works. And I also can use jquery.inputmask as standalone object (Inputmask as opposite to $.fn.inputmask)

@boredelf ,
Can you provide the config you are using?

@RobinHerbots, hello, thanks for replying. Here:
config.js: https://gist.github.com/boredelf/f36c35e483084e9b3a87
package.json: https://gist.github.com/boredelf/e433c4705942b5e731c8

Was this ever solved? Im having the same problem.


add: spinners

Fixes Issue

Changes proposed

Screenshots

Note to reviewers

Code of Conduct

[x] By submitting this pull request, I confirm I've read and complied with the CoC 🖖

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] My change requires changes to the documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

You can also join our Discord community.
Feel free to check out other cool repositories of the Thecyberworld.
Join the Thecyberworld GitHub Organisation by raising an issue (you will be sent an invitation).

Awesome
Thanks for contributing to this project.
If you want to contribute more then must check out other open-source projects and communities:

Thecyberworld.
Cryptoverse Web3
kabir0x23


JSON type MySQL column insertion issue

Environment
Knex version: 0.15.2
Database + version: MySQL 5.7.24
OS: OS X El Capitan 10.11.6
@smorey2
Bug

JSON column unable to handle an array that contains objects/object with multiple properties. Works as specified with an array with an object with a single property.

Error message:

Unhandled rejection Error: ER_INVALID_JSON_TEXT: Invalid JSON text: "Missing a comma or '}' after an object member." at position 75 in value for column 'products.images'.
    at Query.Sequence._packetToError (/Product-Details/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
    at Query.ErrorPacket (/Product-Details/node_modules/mysql/lib/protocol/sequences/Query.js:77:18)
    at Protocol._parsePacket (/Product-Details/node_modules/mysql/lib/protocol/Protocol.js:278:23)
    at Parser.write (/Product-Details/node_modules/mysql/lib/protocol/Parser.js:76:12)
    at Protocol.write (/Product-Details/node_modules/mysql/lib/protocol/Protocol.js:38:16)
    at Socket.<anonymous> (/Product-Details/node_modules/mysql/lib/Connection.js:91:28)
    at Socket.<anonymous> (/Product-Details/node_modules/mysql/lib/Connection.js:502:10)
    at Socket.emit (events.js:182:13)
    at addChunk (_stream_readable.js:283:12)
    at readableAddChunk (_stream_readable.js:264:11)
    at Socket.Readable.push (_stream_readable.js:219:10)
    at TCP.onread (net.js:639:20)
    --------------------
    at Protocol._enqueue (/Product-Details/node_modules/mysql/lib/protocol/Protocol.js:144:48)
    at Connection.query (/Product-Details/node_modules/mysql/lib/Connection.js:200:25)
    at /Product-Details/node_modules/knex/lib/dialects/mysql/index.js:154:18
    at Promise._execute (/Product-Details/node_modules/bluebird/js/release/debuggability.js:313:9)
    at Promise._resolveFromExecutor (/Product-Details/node_modules/bluebird/js/release/promise.js:483:18)
    at new Promise (/Product-Details/node_modules/bluebird/js/release/promise.js:79:10)
    at Client_MySQL._query (/Product-Details/node_modules/knex/lib/dialects/mysql/index.js:148:12)
    at Client_MySQL.query (/Product-Details/node_modules/knex/lib/client.js:202:17)
    at Runner.<anonymous> (/Product-Details/node_modules/knex/lib/runner.js:146:36)
    at Runner.tryCatcher (/Product-Details/node_modules/bluebird/js/release/util.js:16:23)
    at Runner.query (/Product-Details/node_modules/bluebird/js/release/method.js:15:34)
    at /Product-Details/node_modules/knex/lib/runner.js:48:21
    at tryCatcher (/Product-Details/node_modules/bluebird/js/release/util.js:16:23)
    at /Product-Details/node_modules/bluebird/js/release/using.js:185:26
    at tryCatcher (/Product-Details/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/Product-Details/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/Product-Details/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/Product-Details/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/Product-Details/node_modules/bluebird/js/release/promise.js:694:18)
    at Promise._fulfill (/Product-Details/node_modules/bluebird/js/release/promise.js:638:18)
    at PromiseArray._resolve (/Product-Details/node_modules/bluebird/js/release/promise_array.js:126:19)
    at PromiseArray._promiseFulfilled (/Product-Details/node_modules/bluebird/js/release/promise_array.js:144:14)

Issue discussion
I'm seeding a db with data from a CSV, one column contains an array of objects. For example purposes this is how one column in the DB appears:
_id, name, rating, reviewCount, itemNum, price, mainImage, images
1, Tasty Granite Fish, 1.8, 130,1, 239.00, 41-min.jpg, [{"image":"https://ss-ss-wwww-1.wwwwwwwww.www/rrrrr-ttttttttttt/1-min.jpg","color":"Plum"}]
2, Practical Metal Shoes, 1.1, 67,2, 467.00, 87-min.jpg, [{"image":"https://ss-ss-wwww-1.wwwwwwwww.www/rrrrr-ttttttttttt/2-min.jpg","color":"Grey"},{"image":"https://ss-ss-wwww-1.wwwwwwwww.www/rrrrr-ttttttttttt/86-min.jpg","color":"Cyan"}]

The issue I'm facing is the array containing the objects with multiple properties are being rejected as invalid JSON text. However when I I remove the second property within the object, the row is inserted without issue.
Using environment: development
  knex:client acquired connection from pool: __knexUid1 +0ms
  knex:query delete from `products` undefined +0ms
  knex:bindings [] undefined +0ms
  knex:client releasing connection to pool: __knexUid1 +12ms
  knex:client acquired connection from pool: __knexUid1 +55ms
  knex:query insert into `products` (`images`, `itemNum`, `mainImage`, `name`, `price`, `rating`, `reviewCount`, `_id`) values (?, ?, ?, ?, ?, ?, ?, ?) undefined +63ms
  knex:bindings [ ' [{"image":"https://ss-ss-wwww-1.wwwwwwwww.www/rrrrr-ttttttttttt/1-min.jpg"}]',
  knex:bindings   '1',
  knex:bindings   ' https://ss-ss-wwww-1.wwwwwwwww.www/rrrrr-ttttttttttt/41-min.jpg',
  knex:bindings   ' Tasty Granite Fish',
  knex:bindings   ' 239.00',
  knex:bindings   ' 1.8',
  knex:bindings   ' 130',
  knex:bindings   '1' ] undefined +62ms
  knex:client releasing connection to pool: __knexUid1 +15ms
  knex:client acquired connection from pool: __knexUid1 +1ms
  knex:query insert into `products` (`images`, `itemNum`, `mainImage`, `name`, `price`, `rating`, `reviewCount`, `_id`) values (?, ?, ?, ?, ?, ?, ?, ?) undefined +15ms
  knex:bindings [ ' [{"image":"https://ss-ss-wwww-1.wwwwwwwww.www/rrrrr-ttttttttttt/2-min.jpg"',
  knex:bindings   '2',
  knex:bindings   ' https://ss-ss-wwww-1.wwwwwwwww.www/rrrrr-ttttttttttt/87-min.jpg',
  knex:bindings   ' Practical Metal Shoes',
  knex:bindings   ' 467.00',
  knex:bindings   ' 1.1',
  knex:bindings   ' 67',
  knex:bindings   '2' ] undefined +15ms
  knex:client releasing connection to pool: __knexUid1 +5ms

Due to the size of the CSV file I'm attempting to use stream to insert the data.
exports.seed = function(knex, Promise) {
  // Deletes ALL existing entries
  return knex('products').del()
    .then(function () {
      // Inserts seed entries
      return new Promise(function(resolve, reject) {
        fs.createReadStream('database/data.csv')
        .on('error', reject)
        .pipe(csv())
        .on('error', reject)
        .pipe(new Transform({
          objectMode: true,
          transform: function(chunk, _, callback) {
            knex('products').insert(chunk).then(function() {
              callback();
            });
          }, function (done) {
            resolve();
            done();
          }
        }))
        .on('error', reject);
      })
    });
};

Any insight on how to resolve this issue will be greatly appreciated.

 From that it wil be easier for you to find out how to insert that single chunk correctly.
Closing as knex usage issue.

Thanks for the response.
Single test case has been done prior to reporting this issue. I am knew to JS and Knex so I could be missing something however.
The below object inserts with no issues
[{"image":"https://ss-ss-wwww-1.wwwwwwwww.www/rrrrr-ttttttttttt/1-min.jpg"}]

The below does not insert
[{"image":"https://ss-ss-wwww-1.wwwwwwwww.www/rrrrr-ttttttttttt/1-min.jpg","color":"Plum"}]

Instead the above inserts as the following (basically stopping after the first property and ignoring the second property.
[{"image":"https://s3-us-west-1.amazonaws.com/hrr34-trailblazer/1-min.jpg"

Resulting in the following error:
ER_INVALID_JSON_TEXT: Invalid JSON text: "Missing a comma or '}' after an object member.

Note: I had to stringily the object during the generation of the CSV as a result of it being returned as [object Object].

So if I understood correctly this works:
knex(’table’).insert([{”image” : ”a”}])
And
knex(”table”).insert([{ “image” : “a”, “color”: “p”}])
does not?

Yes, that is exactly what I'm facing.

Ok... none of them are working correctly. Since you are passing an array to .insert knex will think that you are inserting multiple rows with for example columns image and color in this case.
There is nothing in your code, which hints at all that you have JSON type of column used somewhere... 😐

So would be best to first try to add some correct data manually (by hard coding some queries with knex) to your table and that way you will also learn how to deal with inserting JSON data. You might need to use JSON.stringify before inserting javascript object to JSON column, but I don't know for sure how mysql driver behaves.

Thanks for your response. My apologies, I did not include it initially, but the JSON type column was specified in the table creation.
exports.up = function(knex, Promise) {
  return knex.schema.createTable('products', function(t) {
    t.increments('_id').primary().unique();
    t.string('name').notNullable();
    t.integer('rating');
    t.integer('reviewCount');
    t.integer('itemNum').notNullable();
    t.integer('price').notNullable();
    t.string('mainImage');
    t.json('images');
  })
  .then(() => console.log('table created'))
  .catch((err) => {
    console.log(err);
    throw err
  })
  .finally(() => {
    knex.destroy();
  })
};

exports.down = function(knex, Promise) {
  return knex.schema.dropTable('products');
};

I will continue to study the issue to see what is the cause. I was thinking there may be something I overlooked.

gg


fix(buttons): add consistency to button styling

add consistency to the buttons in fabric8-ui, according to PatternFly guidelines.
closes #1572

@mindreeper2420 snapshot fabric8-ui is deployed and available for testing at https://fabric8-ui-fabric8-ui-pr-1573-fabric8-ui.int.rdu2c.fabric8.io


Wrong hover text on right-hand sidebar toggle button

The right-hand sidebar toggle button shows "Toggle footer" on the hover text:
If you have trouble reproducing, the dataform page I'm looking at has no footer, and I'm running brave browser v1.4.96 on ubuntu 18.04 (64bit)

Thanks for letting us know! This should be resolved now.


Update workflows for GraalVM and Version Enhancements

Description:
Updated workflow to use the minor version of GraalVM JDK 17 as support for Major Version is not supported. Version enhancement for publish-action.
Related issue:
NA
Check list:

[ ] Mark if documentation changes are required.
[ ] Mark if tests were added or updated to cover the changes.

Merged commits.


[FAQ] Styles not applied before JS is executed – lazysizes issue

Question:
Lazysizes does not calculate size correctly. Images are all lowrez/pixelated.
Answer:
if using loadjs from this plugin you probably have to use the css and js to load the main css file and lazysizes javascript file. That way you force the browser to wait for the css to be loaded and applied before starting lazysizes.
return [
    'bnomei.htmlhead.css' => [
        '/assets/css/styles.min.css',  // <-- sharp
    ],
    'bnomei.htmlhead.js' => [
        '/assets/js/lazysizes.min.js',  // <-- sharp
    ],
    'bnomei.htmlhead.loadjs' => [
        '*' => [
            'template' => [],
            'dependencies' => [
                // '/assets/css/styles.min.css',  // <-- low-rez
                // '/assets/js/lazysizes.min.js', // <-- low-rez
                '/assets/js/main.min.js'
            ]
        ],
    ],
];

in refac remove load js and/or make it a separate plugin. https/2 will replace the need for that sooner or later.


app crash

app crash on initscanner

Would you let me know the below information first? You can find them on [EmKit > System Information]

Model name:
Android version:
SDK version:
OS image version:
Part number:
Serial number:

i add  PointmobileScanner.initScanner() to initState() => app crashes while running.
i remove PointmobileScanner.initScanner() from initState() => the app runs without crashing.


Jenkins: Armada Plugin

Initial design spike

these are all the specs that i could gather right now https://gist.github.com/mladjan-gadzic/7e447390fa66dc8acd256b60744c2b74

working mvp can be found here https://github.com/armadaproject/jenkins-plugin/tree/grpc


FederatedStore: Review and test "userRequestingDefaultGraphsOverride"

Class: FederatedOperation
Field: userRequestingDefaultGraphsOverride
Line: ~75
Examine the usage and need of this field but Primarily document and confirm if the following is true or false.
That the usage/need of this field is to override the usage of defaultGraphs (superseded by FederatedStore.ConfiguredGraphIds) and instead return all graphs without having to manually list all the graphIds.
...Because the user can "long hand" list all the graphId, is this field and logic unnecessary for amount logic required to support it.

Closed by https://github.com/gchq/Gaffer/pull/2833


Server crashes on startup

debug.log

Duplicate of #37

I am not on forge 47.2.20

yes you are
[cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserver, --fml.forgeVersion, 47.2.20, --fml.mcVersion, 1.20.1, --fml.forgeGroup,
(from your log)

but it said it was .18 in the jar install panel


Make it build on OTP23

cqerl depends on some packages that cannot be built anymore on OTP23, since they used to build/link their NIFs to liberl_interface which is not available anymore.
Also it was referring too uuid (and others) using the package name (which was uuid_erl) instead of app name which is uuid.

@matehat please, do you mind to tag a new version as soon as you merge this PR?

Awesome work! Thanks @bettio


Topo

In a older version of ID, I had maps with topo.
For a while it disappeared, with the last version of ID I found back some (looks like it depends of the country or region : so I'm not sure they disappeared).
I may of course use my own one's... and it is what I do.
But I think it will be a great thing if everyone could have that choice in the list of maps.
There is at least one I think you should add because it's open : in fact these are tiles from openstreetmap project :
https://a.tile.opentopomap.org/{zoom}/{x}/{y}.png
Best regards

Ok, yeah some people do want this.
In the past, we were using opencyclemap, and even more recently, thunderforest-landscape (probably the best one):
https://{switch:a,b,c}.tile.thunderforest.com/landscape/{zoom}/{x}/{y}.png
I'll move this issue over to osmlab/editor-layer-index for discussion there.

This issue was moved to osmlab/editor-layer-index#550

Sorry - I realized after commenting above that the layer already exists in editor-layer-index, and I just needed to enable it on the iD side.


I had to add  "import DKChainableAnimationKit" to make it work.

Great library!
Whiteout the line  "import DKChainableAnimationKit", I got the error "X doesn't have a member named animation".
It might be nice to add this to the documentation, or am I doing something wrong? I installed the library via Cocoapods.

Yeah.. I fogot to add this. Thx for point it out.
From Draveness
On 周一, 6月 22, 2015 at 04:56, Draveness/DKChainableAnimationKit
<EMAIL_ADDRESS>wrote:
Great library!
Whiteout the line "import DKChainableAnimationKit", I got the error "X doesn't
have a member named animation".
It might be nice to add this to the documentation, or am I doing something
wrong? I installed the library via Cocoapods.
—
Reply to this email directly or view it on GitHub
[https://github.com/Draveness/DKChainableAnimationKit/issues/9] .[https://github.com/notifications/beacon/AGMUR9tuaEpidVoJGK0nb2fe6K6Tond6ks5oVxxygaJpZM4FIcQH.gif]

Great!


Add isDirty to redux-fields

https://github.com/este/este/issues/791
Please be kind Daniel, because I'm sick ;)

Closing for now. Este must be as explicit as possible. Thank you anyway!


feat: export ServiceError from @grpc/grpc-js

This is coming up during the TypeScript transition in Bigtable.  This type appears to be used everywhere.

We normally call this a feat. Does not really matter since a major release is coming soon.


OAuth2 MongoDB default implementation

This PR adds a default implementation for MongoDB.
Note: I've changed ${spring.version} from 4.0.9.RELEASE to 4.1.8.RELEASE, if it's not allowed let me know. It was done because of spring-data-mongodb version requirement.

:+1:

👍

thx @jgrandja

Hi @marcosbarbero. Thank you for your efforts in this PR.
Unfortunately, this project is in maintenance mode going forward and are limiting new features and only resolving bugs or minor enhancements.
FYI, we are re-writing OAuth and integrating it into the Spring Security core. You can track the issue here.
I did spend some time in reviewing your implementation and we may consider this feature in the new OAuth implementation depending on demand. But I did want to point out a couple of things.
Our preference would be to include this feature and it's dependencies in a module that may be explicitly included by the user if required. Having the mongo dependencies in the main POM is not ideal. I know redis is included there now but things can and will get out of hand if we start including more data stores in the main POM. Module is the preference for this type of extended feature.
Also, I would be very reluctant to include the test dependency de.flapdoodle.embed.mongo. I took a look at this project briefly and it's fairly new with little activity thus far. We would only include 3rd party dependencies that have been proven to be stable and is widely supported.
Please do keep track of the new OAuth initiative within Spring Security and we hope you can contribute there. First milestone will be coming out real soon in March.

@jgrandja thanks for sharing all this info I really appreciate that.
As you already know somethings was done in that way because of how the project is written today e.g. the mongo dependencies. The decision to use de.flapdoodle.embed.mongo was based on Spring Boot Embedded MongoDB dependencies of course I can look for another approach but as long as it is being used for other spring projects I thought it could be a good option and even better than have an external dependency (standalone mongo running) to run the tests, just like it happens on Redis, at least when I wrote this PR there was a need of a up and running Redis on localhost.
Anyway I'll keep an eye on this new version of spring security and hopefully to contribute for it.

Thanks @marcosbarbero for pointing out that de.flapdoodle.embed.mongo is being used in spring-boot-dependencies. Makes sense that you would use this based on the fact Spring Boot is using it.
Either way, the module approach is preferred but given the state of way things are organized today we are limited.
I'm going to close this PR but please keep an eye out on the new OAuth coming out soon.

Thanks @jgrandja I'll keep an eye on the new approach.


add suggested fixes to registry redirect announcement

https://github.com/kubernetes/website/pull/39915#pullrequestreview-1335724112

/language en

This change is a small enough fixup that I think it's fine self-approving for steering.
/approve
FYI @kubernetes/steering-committee


Add helpString to Designer Properties

I think it can be like this:

Similar to:

Hello Evan
I would like to apply for GSoC 2019 with MIT App Inventor and help resolving this issue as part of the community introduction phase.

Hi @ewpatton ,
looking to fix this issue. Can I get some more information like where to find this in the code base?

This requires a few changes. Here’s a rough sketch:

Add the new field to DesignerProperty.java (in components...annotations)
Update ComponentDescriptionGenerator to include the new field in the json description of the property (in components...scripts)

Somewhere I have a branch that includes the property helpstrings in the UI that will use this. I will send you a pointer once I put it up. In the meantime you can work on implementing 1 and 2.

On Mar 23, 2019, at 09:14, suvamjain<EMAIL_ADDRESS>wrote:
Hi @ewpatton ,
looking to fix this issue. Can I get some more information like where to find this in the code base?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I have implemented steps 1 and 2 @ewpatton, @ColinTree. Now can you please guide me further, how to add a helpstring icon near designer properties and how do they show the property description on clicking it. Changes referring to step 1 and 2 in the respective files are highlighted in the screenshots attached below -
Step 1 --> changes in ../components/annotations/DesignerProperty.java

Step 2 --> changes in ../components/scripts/ComponentDescriptorGenerator.java

Also @ewpatton, can you please assign this issue to me

@suvamjain It seems reasonable to me. I'll try to find the branch I have for properties and get it up as a PR. Do you want to submit this?

Yes, I want to submit this. If I'm right I just have to commit the code on my forked repo and then a pull request should be sent, correct?

@suvamjain Yes, that's correct. For this change, you can submit the PR against master.

Note that the recommended best practice is to create a feature branch and commit your work there. This way your copy of master stays in step with ours. Submit the PR for the feature branch to master.

Just for confirmation, PR stands for Project Repository right?

@suvamjain  PR stands for Pull Request.

Oh!! thanks @josmas 😅

Hi @ewpatton, Please review the PR I just submitted.


Fix callerAttributes in the presence of frozen call stacks

Freezing the call stack is common when writing your own utility wrappers around e.g. withSpan. In this case you want to freeze the call stack before calling your utility, so that withSpan and friends see the "application" function as the top of the call stack.
However, the functions for getting information from call stacks just generally didn't work right in the presence of frozen call stacks. They assumed that the call stack was unfrozen, and hence that they could look up a fixed number of steps to find the caller info.
We can't in general tell directly if the call stack is frozen, but we use a pretty decent heuristic here: is the top element exactly our own function? If so, we probably have an unfrozen call stack. Otherwise we might have a frozen call stack and we have to try and do something else.

@michaelpj would you mind adding a note about this to the changelog?

Added


make shell scripts executable; remove unused files

make shell scripts executable in Git.
remove unused files in awsutil and testfiles.

OK


Signing App outside CI/CD action (Run-AlPipeline)

Hello. I would like to sign my extension, but I can't do that while CI/CD workflow runs. I have the EV Code Signing Certificate with a private key on a USB key, connected to server inside my company.
If I need to sign my extension by myself, I have to run VirtualHere Client, connect to the VH Server to use a USB key, and then I can sign my app. It is not possible to do that inside a docker container, because a Windows docker container doesn't support the kernel drivers (whatever it is and whatever it needs to be used).
So, I need to sign my app outside a docker container. The CI/CD workflow generates and saves repository artifacts. Next, a CreateRelease workflow creates a release using artifacts from previous step. When and how should I run my own PowerShell script to sign this extension? The CI/CD workflow runs on self-hosted server, where all needed tools and drivers for VirtualHere Client are installed.

After analysing the Sign-BcContainerApp.ps1 script I've noticed that this code invokes script in BC container. So, at the beginning it runs outside docker container. Now I can try to write a signing code on the host machine :)


Implement fetching of patient Data in the backend

Implement it into fetchZip in server.py

Delete the TestData if it works


ci: Add DAGGER_CLOUD_TOKEN client-side

Without this, even though the Engine already has this env var, runs will NOT appear in https://dagger.cloud
To test the above, I have not yet configured this secret in the repository. I will do a follow-up commit after the secret is set. If the above is correct, the run for the first commit will not show in https://dagger.cloud

Waiting for all jobs to run before I set the secret and push my second commit.

All runs in https://dagger.cloud for 339e26fb8bd8daa4f92de939dcf814d035b049f0 : https://dagger.cloud/changes?filter=dagger.io%2Fvcs.change.head_sha%3A339e26fb8bd8daa4f92de939dcf814d035b049f0

Having set DAGGER_CLOUD_TOKEN as an org-wide secret, let's see what happens when I push the next commit.

The second commit behaved like the first one: https://dagger.cloud/changes?filter=dagger.io%2Fvcs.change.head_sha%3Adf43a292dc480b94ca4a8a3da7dc7a2dd4cf3df2

Checking that DAGGER_CLOUD_TOKEN was set correctly...

I remembered: secrets (and vars) are NOT available in PRs. This GitHub feature works as advertised.
FTR:

https://github.com/dagger/dagger/pull/5817
https://github.com/thechangelog/changelog.com/pull/476#issuecomment-1657199532

I am going to open this as a new PR from a repo branch, as opposed to a PR from my repo fork.

This PR served it's purpose, following-up in https://github.com/dagger/dagger/pull/6020


mackerel-agent: init at 0.68.2

Motivation for this change
mackerel-agent is a client program for the mackerel.io monitoring service.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

/marvin opt-in
/status needs_reviewer

Fixed

bumped the version of rebased.


Transitions for the Background

This was requested by a discord user. I wanted to put it here so it doesn't get lost.
Suggested transitions: fade or dissolve or shake

I'll add fade in-out probably today


Feature/rfront 46 add discovered page

I made some changes in this commit just to tune up a few things. I'll try to add notes when I have more time.
*always wrap px sizes in rem-calc(16px)
Reason -> https://www.sitepoint.com/understanding-and-using-rem-units-in-css/

also try to use $ variables for theme specific things like color pallettes

last, do you have the eslint extension for VSCode? It will highlight any linting errors. Preferably we don't want to use --no-verify in commits unless we just need to push some code. The pre-push linting hooks are there to help keep the code clean and consistent. Can also auto-prevent bugs sometimes. Same is true for the use of Typescript.

https://github.com/rili-live/therr-app/pull/666/commits/95eb406cdad07edf5e124bf811d50a88eb4dc870


OpenAI Service Error Encountered with Planner Functionality

I encountered an error while attempting to use the Planner function from the example notebook in Python. The error message indicates that the OpenAI service failed to complete the prompt due to exceeding the maximum context length of the model.
Error Message: Error: (<ErrorCodes.ServiceError: 6>, 'OpenAI service failed to complete the prompt', InvalidRequestError(message="This model's maximum context length is 4097 tokens, however you requested 5998 tokens (4998 in your prompt; 1000 for the completion). Please reduce your prompt; or completion length.", param=None, code=None, http_status=400, request_id=None))

OS: Mac
IDE: VS Code

@chaowl2 - thanks for raising we will look into this.

@chaowl2 - can you confirm which model and service you are using?

Closing as no-repro.


chore: release 0.17.0 proposal

https://github.com/open-telemetry/opentelemetry-js/releases/tag/untagged-9dc4a117a47e9a2e70c0
This release contains the diag logger. After this release the contrib repo can be updated to use it.
After this release, another PR will be incoming which removes the old logger and another release will follow almost immediately, then the API package will be moved to the API repository and we will begin the RC process.

Sorry for missing updating the changelog. Good to know for my next contribution :)

API_BACKWARDS_COMPATIBILITY_VERSION should be updated as this includes breaking changes.

API_BACKWARDS_COMPATIBILITY_VERSION

What has changed in api ?, I can see changes in other places but not in the api itself ?

The changelog shows several breaking changes (e.g. removal of NOOP_SPAN, rework Baggage).

Would it be possible to slip in prometheus env vars https://github.com/open-telemetry/opentelemetry-js/pull/1857 ? If not, no worries.

Would it be possible to slip in prometheus env vars #1857 ? If not, no worries.

I was just thinking the same thing :)

Holding this release pending ongoing conversations between maintainers with respect to the new diag logger

It seems the description of this PR is not correct anymore as #1925 was merged before. Also the upgrade guidelines seem to refer to the wrong version.


Merge remote-tracking branch 'upstream/stable' into merge_stable

FreeBSD 32-bit is broken at the moment -  see https://github.com/braddr/d-tester/issues/70
We need to move forward, so I'm going to merge this PR.


Add support to map a shortcut

Thanks for creating a very nice and helpful extension.
Would be great if we could map a custom shortcut key for the Goto component command.

For what exactly would you like to map a custom shortcut?

I would like to map a custom key-binding or shortcut for Go to Component or in other words Go to definition. Similar to what vetur does for Vue component go to definition.


Add MolHash to Java Wrappers

Could the new MolHash code (#2636) be added to the Java wrappers?
Thanks
Steve

Yep. I'm surprised it didn't end up there automatically, but it looks like I never wrapped the hashing stuff. I'll get that fixed.

Thanks Greg - that would be really useful.  I started writing my own version in Java based on Noel's post a while back and then other things came up - this way will be much nicer!


Fix build error

Logs from before:
22:49:16.575      24:1  error  `../components/Icon` import should occur before import of `./parts/util/PageTitle`  import/order

So I just reordered the imports.

[x] I have read and agreed to the code of conduct.
[x] I have read and complied with the contributing guidelines.
[x] I have tested all of my changes.
Enter discord user: .pasithea (we require this for the contributor role)

:skull:


Page with signed ITO agreements

Only visible for payment-admins (IYO sub org, next to admins).
Similar as node orders, grouped by status, but with a Mark as paid button. Also show how much money they need to transfer (currency_rate * token_count + " " + currency)

duplicate #23


Document e2e watcher local setup

AC:

[ ] Document watcher e2e local k3d setup
[ ] Document should be aligned with the tutorial template

Blocked: will be done after first iteration


[google-cloud-bucket-c] Add new port

Describe the pull request

Google Cloud Bucket Client library in C
https://github.com/offscale/google-cloud-bucket-c

What does your PR fix?

N/A

Which triplets are supported/not supported? Have you updated the CI baseline?

all

Does your PR follow the maintainer guide?

I am still working on this PR
Currently it's just a C wrapper for some functionality of [the official] google-cloud-cpp. Might rewrite it with lighterweight dependencies in pure C… which may delay the merge for a-g-e-s

Thanks for the PR! We might need to rename the port to make it clear that it isn't an official Google project; something like offscale-google-cloud-bucket-c.

@ras0219-msft Yeah I was thinking the same thing. But I might also contribute it back, see https://github.com/googleapis/google-cloud-cpp/issues/6522

@SamuelMarks ,This is error log, please take a look:
Mismatching number of debug and release binaries. Found 0 for debug but 2 for release.
Debug binaries

Release binaries

    D:/packages/google-cloud-bucket-c_x86-windows/lib/google_cloud_bucket_c.lib
    D:/packages/google-cloud-bucket-c_x86-windows/lib/google_cloud_bucket_c_common.lib

Debug binaries were not found

Mismatching number of debug and release binaries. Found 0 for debug but 2 for release.
Debug binaries

Release binaries

    D:/packages/google-cloud-bucket-c_x86-windows/bin/google_cloud_bucket_c.dll
    D:/packages/google-cloud-bucket-c_x86-windows/bin/google_cloud_bucket_c_common.dll

Debug binaries were not found

Wrong port name. It is not by Google.
And personally I think C89 out of scope for a modern C++ package manager.
And personally I think packages should have some relevance before being accepted into the main repo.

This might also be a good case for a private registry, which you could host on github under offscale and self-publish all your libraries without going through this review process.
https://github.com/microsoft/vcpkg/blob/master/docs/users/registries.md is our current reference documentation, but we know it needs improvement so please open issues with any questions you have!

Closing this PR since it seems that no progress is being made. Please reopen if work is still being done.


Fix for sigsegv stack overflow behavior

Also stops Catch from assuming its the only signal user in the binary,
and makes it restore the signal handlers it has replaced. Same goes for
the signal stack.
The signal stack itself probably shouldn't be always reallocated for
fragmentation reasons, but that can be fixed later on.

This takes unconditional dependency on C++11 (in the form of including <array> and <memory>), while catch tries for C++03 conformance. Going to fix this later tonight.

@philsquared any updates on this??

@krvajalmiguelangel - I started work on my own signals fixes before I saw @horenmar's PR - and have now covered half of it - will look at the stack overflow part soon.

I cherry picked this into dev-signals branch, so the PR is obsolete.


Adding CODE_OF_CONDUCT.md

Fixes issue #12
Please review my PR. Can you add NWoC label?

Awesome!
Are you a nwoc participant?


Follow Data.Text types for splitOn

Data.Text.splitOn uses Text -> Text -> [Text], with Text as a first argument.
Follow that implementation.

Sorry for the delay.
This looks great, thanks! I'll make a release now.

Shipped!

Sorry to have to say this, but it seems the code I pushed is broken because Text seems to be represented as an array of characters. The code I presented won't work and a workaround is:
ffi "%2.join(\"\").split(%1)"
Which might even be why the original author did not follow the Data.Text type signature.
Is there a good way to add unit tests to this kind of thing?

I think you can just add these tests to the normal unit tests and then run the fay-tests executable.
But Text is represented as js strings, it's why the type exists. There may be some type conversion bugs lurking around that's causing this issue, I'm trying to recall the details....


enable to close & open area

enable to close & open area, of cause, it's better can be config

Hi there
Not sure what you mean?  Do you mean like an expander?

@raybooysen that would be my guess.
@shupeipei would something like this work for you?
<Layout>
  <Layout layoutWidth={100}>Column1</Layout>
  <LayoutExpander />
  <Layout layoutWidth='flex'>Column2</Layout>
</Layout>

The fixed column would collapse. If both left and right layouts are fixed or flex then the side to expand/collapse would need to be specified via props

when I click the < LayoutExpander />, the "Column1"  can be closed??If it is, that's what I want

Yep, it would be a different style to the splitter.
Sent from my Windows Phone

From<EMAIL_ADDRESS>Sent: 09/06/2015 02:05
To<EMAIL_ADDRESS>Cc: Jake<EMAIL_ADDRESS>Subject: Re: [react-flex-layout] enable to close & open area (#8)
when I click the < LayoutExpander />, the "Column1" can be closed??If it is, that's what I want
—
Reply to this email directly or view it on GitHubhttps://github.com/AdaptiveConsulting/react-flex-layout/issues/8#issuecomment-110187270.


Home page is not shown on vagrant up

Running vagrant file
vagrant up
Vagrant is up
curl <IP_ADDRESS>:8080
Page is not up.
I think Vagrant file should include the
config.vm.network "forwarded_port", guest: 8000, host: 8000, host_ip: "<IP_ADDRESS>"

Fixed in PR #15
@BarBenNaim Please close this issue


Old reference data in test cases

There is old reference data provided and must be updates for the following tests:
please verify the result of the current compile again before placing it as reference
61
220
222
282
285
327
527
622
701
702
703
704

also
51
65
70

Checked

[ ] 51
[ ] 61
[ ] 65
[ ] 70
[ ] 220
[ ] 222
[ ] 282
[ ] 285
[ ] 327
[ ] 527
[ ] 622
[ ] 701
[ ] 702
[ ] 703
[ ] 704


rpcserver: Prevent SendCoins to Pubkey

fixes #2920
This an early PR, this updates SendCoins in rpcserver.go to prevent an onchain transaction to a users own Pubkey.
Updated to check all use of pubkeys in SendCoins.

Hello - When I originally raised this issue, I was sending from one LN node's On-Chain Btc Address and accidentally sent it to a physically separate LN node's On-Chain Address.
Is your code checking and trying to prevent this?

Hello - When I originally raised this issue, I was sending from one LN node's On-Chain Btc Address and accidentally sent it to a physically separate LN node's On-Chain Address.
Is your code checking and trying to prevent this? (Sorry if it is - I'm a newbie at coding....)

@OfficialBigAl,
No worries! If I'm understanding your description, you sent on chain BTC.
From:

LN Wallet On Chain Address -------------------> LND Public Key

Is that correct?
Then this update will prevent any on chain BTC to be sent to LND Public Keys via the command line SendCoins.

Test result from my testnet node:
testnet c-lightning pubkey
>tlncli sendcoins 02aab1cd8a209da31e937ff70c150b5e1cdda96c0725c89cde1ea97b103fbefcbf 500000
[lncli] rpc error: code = Unknown desc = cannot send coins to pubkeys

testnet eclair node:
>tlncli sendcoins 03933884aaf1d6b108397e5efe5c86bcf2d8ca8d2f700eda99db9214fc2712b134 800000
[lncli] rpc error: code = Unknown desc = cannot send coins to pubkeys

testnet lnd node:
>tlncli sendcoins 03ecd95e86e780ae82139c3217b527073622d28c4d8a53b76142a7b7b1d1e36975 900000
[lncli] rpc error: code = Unknown desc = cannot send coins to pubkeys

mainnet c-lightning node:
>tlncli sendcoins 024655b768ef40951b20053a5c4b951606d4d86085d51238f2c67c7dec29c792ca 600000
[lncli] rpc error: code = Unknown desc = cannot send coins to pubkeys

mainnet eclair node:
>tlncli sendcoins 03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f 500000
[lncli] rpc error: code = Unknown desc = cannot send coins to pubkeys

mainnet lnd pubkey:
>tlncli sendcoins 030c3f19d742ca294a55c00376b3b355c3c90d61c6b6b39554dbc7ac19b141c14f 700000
[lncli] rpc error: code = Unknown desc = cannot send coins to pubkeys

Will try to test on my mainnet node.

@ccdle12 nice fix! ready for squash and rebase

@cfromknecht thanks! squashed and rebased :smile:

@cfromknecht thanks! all squashed and rebased


makeGrid with startY issues

I'm using the latest version
import 'github.com/grafana/grafonnet/gen/grafonnet-latest/main.libsonnet'
and trying to make use of calling  the new functionality of the  grid.makeGrid  function twice with the  startY  parameter but it does not appear to be working for me.
The first row and panels created  are positioned correctly  but the second call to   makeGrid    with the startY parameter leaves the
gridPos.y = 0   for the next row and the below panels are spaced correctly   with a gridPos.y = 1
This causes all of the   panels to exist under the second row.

The only way I seem to be able to get the grid to output the correct y positions for my new rows is by   adding the new row to the result of the first makeGrid   function call   and calling the function again.   This of course changes the x size of my first row though.

this was the MR  feature I was trying to use
https://github.com/grafana/grafonnet/pull/109

Did this work before? Do you have some example code I could execute?

I just introduced a fix for startY in #159, so perhaps your version is already outdated? :innocent:

I'm not sure if it ever worked before.   I'll see if I can get some sample code, under some deadlines so it may take me bit to remove all company information.
I'm using the latest tag
import 'github.com/grafana/grafonnet/gen/grafonnet-latest/main.libsonnet'

its clearly working in some situations.    The unit test I wrote for it appears work correctly but in my code I believe I'm still getting the same issue.

@Frankwayne Did you manage to resolve this?

I did not, I have bogged down with work tasks.   @Duologic    you can close the issue though, since I was able to see a working grid in the unit test I was writing for you.
Once I get a moment to retry and I'm able to reproduce outside of my code base, I will reopen and share the code.


Add embedded clang/llvm for runtime compilation of eBPF programs

What does this PR do?
Adds a statically-linked, embedded clang/llvm for runtime compilation of eBPF programs. If enabled, these programs are compiled on-demand. The output object file is cached, such that if any of the following changes, it will be re-compiled:

Kernel version
Source file hash

Each runtime-compiled source file is pre-processed during CI build to be a concatenation of the .c and all user (non-kernel) .h files. Also during CI build, a hash is computed for the pre-processed file, such that any modifications on the host would result in refusing to compile the program.
The pre-processed .c file is distributed separately from the system-probe binary, like our .o files, since it must be GPL-licensed to use certain kernel BPF helper functions.
Motivation
Planned features for networks and/or the system-probe require access to kernel structures that are too difficult to access with offset guessing. Runtime compilation allows us to compile on each host so it is targeted for the running kernel.
Additional Notes

This PR does not address any kind of automatic kernel-header downloading/installation. It will attempt to automatically find compatible headers, but a path can be provided via a config option.
The compiler currently does not support in-memory buffers or bundled files. If we decide to keep bundling (currently up for discussion), then that support will be added later.
The arm64 system-probe build is currently failing, due to g++ being killed. I'm investigating why, but it was not happening before I rebased on master.

Describe your test plan
The kitchen tests currently pass across a wide range of kernels/distros, but the runtime compilations tests only ensure that the programs can be compiled. No runtime-compiled functionality verification is done in CI, but I have run the tests locally in the agent dev VM.
Further testing with system_probe_config.enable_runtime_compiler turned on would be useful.

@ogaca-dd Thanks for the C++ review. I made changes in response, if you wanted to take another look.


Use "Data Item" Terminology Consistently

From<EMAIL_ADDRESS>on March 08, 2014 15:31:54
Use "data item" terminology consistently throughout and improve textual definitions for several terms:

IAO_0000027 data item

minor change to textual definition: An information content entity that is intended to be a truthful statement about something (modulo, e.g., measurement precision or other systematic errors) and is constructed/acquired by a method that reliably tends to produce (approximately) truthful statements.
remove editor note by JAR
change status: ready for release

IAO_0000009 datum label

change label: data item label
add alternative term: datum label
change textual definition: An information content entity that is part of some data item and is used to partially define the denotation of that data item.
change status: ready for release

IAO_0000003 measurement unit label

simplify textual definition: A data item label that denotes a unit of measure.
change status: ready for release

IAO_0000100 data set

change status: ready for release

IAO_0000109 measurement datum

change label: measurement data item
add alternative term: measurement datum
change status: ready for release

IAO_0000032 scalar measurement datum

change label: scalar measurement data item
add alternative term: scalar measurement datum
change status: ready for release

IAO_0000414 mass measurement datum

change label: mass measurement data item
add alternative term: mass measurement datum
change status: ready for release

IAO_0000408 length measurement datum

change label: length measurement data item
add alternative term: length measurement datum
change status: ready for release

IAO_0000416 time measurement datum

change label: time measurement data item
add alternative term: time measurement datum

IAO_0000582 time stamped measurement datum

change label: time stamped measurement data item
add alternative term: time stamped measurement datum

See OBI Core review notes for discussion: https://docs.google.com/document/d/1Iv5VS8kbOnoQbBTt-FaJU37gK9MXkENm7pHGSk_q4d0/edit?usp=sharing
Original issue: http://code.google.com/p/information-artifact-ontology/issues/detail?id=157

From<EMAIL_ADDRESS>on March 31, 2014 09:57:31
Partially discussed on OBI/IAO call 2014-03-31.

IAO_0000027 data item

do not remove JAR editor note
change status: pending final vetting
add editor note linking to http://odontomachus.wordpress.com/2014/03/30/aboutness-objects-propositions/ - IAO_0000009 datum label
seems problematic: Only a parent to one term in IAO. Also a parent to "categorial label" in OBI, but that term might be misplaced.

From<EMAIL_ADDRESS>on April 07, 2014 09:29:52
For terms which are singular we should keep datum as data item is too general. (IMO)

From<EMAIL_ADDRESS>on April 07, 2014 09:38:22
For terms which are singular we should keep datum as data item is too general. (IMO)
Reviewing choices.
datum label: No change unless new example of usage.
same for anything not mentioned below.
data set ->  data item set (AR agrees)
time stamped measurement data item
measurement datum -> measurement data item
But check if there are unpleasant interactions with the current definition of data item set

From<EMAIL_ADDRESS>on April 07, 2014 09:41:23
Ideally also change data item set to add axiom that it has min 2 data items (but this conflicts with transitive property)

From<EMAIL_ADDRESS>on April 07, 2014 09:49:35
Could be done with DL-safe rules, or we could document that we want people to use has_member and then add the cardinality restriction there.
To make one more specific, e.g.
mass measurement item set, use: (has_part only ('mass measurement datum' or not ('measurement data item'))).
Add editor note to this effect.

From<EMAIL_ADDRESS>on May 05, 2014 10:34:05
Discussed on OBI/IAO call 2014-05-05. We will not make these changes to labels. I will make the following minor changes:

IAO_0000027 data item

change status: pending final vetting
add editor note linking to http://odontomachus.wordpress.com/2014/03/30/aboutness-objects-propositions/ - IAO_0000100 data set
add editor note: Data sets include multiple data items, a data set with zero or one entry is a contradiction, but we have chosen not to add logical axioms in support.

If there are no objections, I would also like to upgrade the curation status of these two terms:

IAO_0000100 data set

change status: pending final vetting

IAO_0000109 measurement datum

change status: pending final vetting

From<EMAIL_ADDRESS>on May 07, 2014 07:20:09
Closed by commit r669 .
Status: Done


Add more IPLA flags, from newer libc

Update the libc dependency accordingly.

This is a draft, and can't be merged until libc PR https://github.com/rust-lang/libc/pull/2020 is merged and released.

This is a draft, and can't be merged until libc PR https://github.com/rust-lang/libc/pull/2020 is merged and released.

(force-pushed to re-run CI)

(force-pushed to re-run CI)

@jbaublitz Done. I've now added trailing-comma support to all exported macros that accept comma-separated lists.

@jbaublitz Done. I've now added trailing-comma support to all exported macros that accept comma-separated lists.


Connect to Device Failure(-1)

I set up the env in 3399pro.
from rknn.api import RKNN is ok. But when I run ../example/mobile_v1/test.py
I get error: Connect to Device Failure(-1). Init runtime environment failed.
Here is my envs:
rknn-tool-1.2.0
numpy:1.18.5
onnx:1.4.1
tensorflow: 1.15.5
After searching from the Internet, may the reason is that my low edition of npu-drv. However, I do not know how to check my npu-drv and how to update it? My device is neardi (not Firefly or ToyBrick).
Hope some help. Thanks.

update rknn-toolkit to 1.3.0 fixes it .


Add ability to publish private test

https://github.com/maxbeatty/jsperf.com/blob/breakdown/_tpl/publish.tpl

Closed by #113

I saw you can toggle private via edit but we're still missing the /publish endpoint here. Do we still want to implement that or just remove the link?

😯
I think it's easy enough to implement.
On Thu, Jul 7, 2016 at 9:42 AM, Max Beatty<EMAIL_ADDRESS>wrote:

I saw you can toggle private via edit but we're still missing the /publish
endpoint here
https://github.com/jsperf/jsperf.com/blob/47eb33d028da534cab541873549a6fe7767867ae/server/web/test/index.hbs#L20.
Do we still want to implement that or just remove the link?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/jsperf/jsperf.com/issues/9#issuecomment-231136694,
or mute the thread
https://github.com/notifications/unsubscribe/AB2PsYy00FUl2vKGUhoFt-2UUmSvA1dRks5qTSx2gaJpZM4EAtdY
.


document GA updates for snapshotter tool (and possibly implement auto-updates)

right now we have this guide about how to set up the snapshotter https://github.com/NebraLtd/hm-block-tracker/blob/master/snapshotter/README.md
however, it does not contain any details about updating to latest GAs, how frequently this should be done etc.
I am also not sure why this could not be automated?

@vpetersson the snapshot taking is in a cron job but the updating of the GA is not.
The GA update is entirely manual AFAIK

We can't automatically bump GAs straight to production. Working on setting up a staging environment now as per the other ticket.

@vpetersson we can for the snapshotter tool. there is no reason I can see that we wouldn't do this

https://github.com/containrrr/watchtower


IE11 500 Internal Server Error

I followed the instructions on this page to create windows docker containers with IE11 and Edge.
Then I started selenoid and selenoid-ui with docker-compose.
#docker-compose.yml
version: '3'
networks:
  selenoid:
    external:
      name: selenoid
services:
  selenoid:
    networks:
      selenoid: null
    container_name: selenoid
    image: "aerokube/selenoid:latest-release"
    ports:
      - "4444:4444"
    volumes:
      - "/home/dockertest/CBT/selenoid:/etc/selenoid/" # assumed current dir contains browsers.json
      - "/var/run/docker.sock:/var/run/docker.sock"
    command: [
               "-container-network", "selenoid"
             ]

  selenoid-ui:
    networks:
      selenoid: null
    container_name: selenoid-ui
    image: "aerokube/selenoid-ui:latest"
    links:
      - selenoid
    ports:
      - "8080:8080"
    command: ["--selenoid-uri", "http://selenoid:4444"]

#browsers.json

{
     "internet explorer": {
        "default": "11",
        "versions": {
            "11": {
                   "image": "windows:10",
                   "port": "4444",
                   "volumes" : ["/windows-images/ie11/data:/data"]
            }
        }
    },
    "MicrosoftEdge": {
        "default": "18",
        "versions": {
            "18": {
                   "image": "windows:10",
                   "port": "4444",
                   "path": "",
                   "volumes" : ["/windows-images/edge18/data:/data"]
            }
        }
    }
}

#entrypoint.sh

#!/bin/bash

SCREEN_RESOLUTION=${SCREEN_RESOLUTION:-"1024x768x24"}
DISPLAY_NUM=99
export DISPLAY=":$DISPLAY_NUM"

clean() {
  if [ -n "$XVFB_PID" ]; then
    kill -TERM "$XVFB_PID"
  fi
  if [ -n "$X11VNC_PID" ]; then
    kill -TERM "$X11VNC_PID"
  fi
}

trap clean INT TERM

xvfb-run -l -n $DISPLAY_NUM -s "-ac -screen 0 $SCREEN_RESOLUTION -noreset -listen tcp" \
  qemu-system-x86_64 -enable-kvm \
    -machine q35 -smp sockets=1,cores=1,threads=2 -m 2048 \
    -usb -device usb-kbd -device usb-tablet -rtc base=localtime \
    -net nic,model=virtio -net user,hostfwd=tcp::4444-:4444 \
    -drive file=/data/snapshot.img,media=disk,if=virtio \
    -loadvm windows &

XVFB_PID=$!

retcode=1
until [ $retcode -eq 0 ]; do
  xdpyinfo -display $DISPLAY >/dev/null 2>&1
  retcode=$?
  if [ $retcode -ne 0 ]; then
    echo Waiting xvfb...
    sleep 1
  fi
done

x11vnc -display $DISPLAY -passwd selenoid -shared -forever -loop500 -rfbport 5900 -rfbportv6 5900 -logfile /dev/null &
X11VNC_PID=$!

wait

If I now start an ie11 session in the selenoid-ui, the session fails with error 500 Internal Server Error.
selenoid       | 2019/10/22 13:16:38 [-] [NEW_REQUEST] [unknown] [<IP_ADDRESS>]
selenoid       | 2019/10/22 13:16:38 [-] [NEW_REQUEST_ACCEPTED] [unknown] [<IP_ADDRESS>]
selenoid       | 2019/10/22 13:16:38 [78] [LOCATING_SERVICE] [internet explorer] [11]
selenoid       | 2019/10/22 13:16:38 [78] [USING_DOCKER] [internet explorer] [11]
selenoid       | 2019/10/22 13:16:38 [78] [CREATING_CONTAINER] [windows:10]
selenoid       | 2019/10/22 13:16:40 [78] [STARTING_CONTAINER] [windows:10] [c4701bc065ae08b4c74bd8447e627dcf21f1051f986494030c8c3873e4b9c0aa]
selenoid       | 2019/10/22 13:16:41 [78] [CONTAINER_STARTED] [windows:10] [c4701bc065ae08b4c74bd8447e627dcf21f1051f986494030c8c3873e4b9c0aa] [1.17s]
selenoid       | 2019/10/22 13:17:05 [78] [SERVICE_STARTED] [windows:10] [c4701bc065ae08b4c74bd8447e627dcf21f1051f986494030c8c3873e4b9c0aa] [24.12s]
selenoid       | 2019/10/22 13:17:05 [78] [PROXY_TO] [c4701bc065ae08b4c74bd8447e627dcf21f1051f986494030c8c3873e4b9c0aa] [http://<IP_ADDRESS>:4444]
selenoid       | 2019/10/22 13:17:05 [78] [SESSION_ATTEMPTED] [http://<IP_ADDRESS>:4444] [1]
selenoid       | 2019/10/22 13:17:05 [78] [SESSION_FAILED] [http://<IP_ADDRESS>:4444] [500 Internal Server Error]
selenoid       | 2019/10/22 13:17:05 [78] [REMOVING_CONTAINER] [c4701bc065ae08b4c74bd8447e627dcf21f1051f986494030c8c3873e4b9c0aa]
selenoid       | 2019/10/22 13:17:06 [78] [CONTAINER_REMOVED] [c4701bc065ae08b4c74bd8447e627dcf21f1051f986494030c8c3873e4b9c0aa]

When I start an edge session in the selenoid-ui it works as expected. I can access the browser via VNC.
Is there something wrong in my ie11 configuration?

@davidulbrich you could try to start your image manually...
$ docker run -d --name ie -p 4444:4444 windows:10

... and check what is returned to curl as follows:
$ curl -vvv -X POST -H 'Content-Type: application/json' --data '{"value":{"capabilities":{"alwaysMatch": {"browserName": "internet explorer"}}}}' http://localhost:4444/

@vania-pooh thank's for your resonse.
I executed the curl command.
That was returned:
< HTTP/1.1 200 OK
< Content-Length: 136
< Content-Type: text/html; charset=UTF-8
< Cache-Control: no-cache
< Vary: Accept-Charset, Accept-Encoding, Accept-Language, Accept
< Accept-Ranges: bytes
< Connection: close
<
* Excess found in a non pipelined read: excess = 2, size = 136, maxdownload = 136, bytecount = 0
* Closing connection 0
<title>WebDriver</title>
This is the initial start page for the WebDriver server.

If i open http://localhost:4444/ in Browser i see also the text "This is the initial start page for the WebDriver server."

@davidulbrich should do a POST request to create a session.

@vania-pooh with this curl I could now create a session.
$ curl -XPOST http://localhost:4444/session -d '{"desiredCapabilities":{"browserName":"internet explorer"}}'

{
        "value" :
        {
                "capabilities" :
                {
                        "acceptInsecureCerts" : false,
                        "browserName" : "internet explorer",
                        "browserVersion" : "11",
                        "pageLoadStrategy" : "normal",
                        "platformName" : "windows",
                        "proxy" : {},
                        "se:ieOptions" :
                        {
                                "browserAttachTimeout" : 0,
                                "elementScrollBehavior" : 0,
                                "enablePersistentHover" : true,
                                "ie.browserCommandLineSwitches" : "",
                                "ie.ensureCleanSession" : false,
                                "ie.fileUploadDialogTimeout" : 3000,
                                "ie.forceCreateProcessApi" : false,
                                "ignoreProtectedModeSettings" : false,
                                "ignoreZoomSetting" : false,
                                "initialBrowserUrl" : "http://localhost:4444/",
                                "nativeEvents" : true,
                                "requireWindowFocus" : false
                        },
                        "setWindowRect" : true,
                        "timeouts" :
                        {
                                "implicit" : 0,
                                "pageLoad" : 300000,
                                "script" : 30000
                        },
                        "unhandledPromptBehavior" : "dismiss"
                },
                "sessionId" : "fe6a280d-8ae2-4047-a784-9d12fa525f52"
        }
}

@davidulbrich ok, does it work with Selenoid?

@vania-pooh how can I check that?

I have the setup running and the only thing I see missing on your browsers.js is the path:
    "internet explorer": {
        "default": "11.0",
        "versions": {
            "11.0": {
                "image": "nexus.internal.com:8443/docker/windows:browsers",
                "port": "4444",
                "path": "/",
                "privileged": true
            }
        }
    },
    "MicrosoftEdge": {
        "default": "18.0",
        "versions": {
            "18.0": {
                "image": "nexus.internal.com:8443/docker/windows:browsers",
                "port": "5555",
                "path": "/",
                "privileged": true
            }
        }
    }

Note: I use a single windows image with IE (port 4444) and Edge (port 555) to save storage space

Do you include the enableVNC capability when starting a container? IEDriverServer will refuse to create a session with non IE capabilities as per https://github.com/SeleniumHQ/selenium/issues/7479 and https://github.com/aerokube/selenoid/issues/771. Check the IE driver logs or the error returned by the webdriver to your testing framework as it should include this error if it is the case.

Using protractor I call Edge the following way:
  multiCapabilities: [{
    browserName: 'MicrosoftEdge',
    version: '18.0',
    enableVNC: true,
    enableVideo: false
  }]

And Internet Explorer like:
  multiCapabilities: [{
    browserName: 'internet explorer',
    version: '11.0',
    enableVNC: true,
    enableVideo: false
  }]

And I do get the VNC viewer to work.

@vania-pooh @emilorol @megalan247
Thanks for your feedback I could now carry out more test.
When I start a new manual session via the Solenoid UI, I see the following in the network analysis of the browser, with status 500 .
# request content
{"desiredCapabilities":{"browserName":"internet explorer","version":"11","enableVNC":true,"labels":{"manual":"true"},"sessionTimeout":"60m","name":"Manual session"},"capabilities":{"alwaysMatch":{"browserName":"internet explorer","browserVersion":"11","selenoid:options":{"enableVNC":true,"sessionTimeout":"60m","labels":{"manual":"true"}}}}}

# response
{
	"value" :
	{
		"data" : null,
		"error" : "session not created",
		"message" : "No matching capability sets found.\nUnable to match capability set 0: selenoid:options is an unknown extension capability for IE",
		"stacktrace" : ""
	}
}

If I start the manual session via curl, as displayed in the selenoid UI after selecting the browser, the session is created and I can access via VNC. The IP is the selenoid IP.
curl -X POST 'http://<IP_ADDRESS>:4444/wd/hub/session' -d '{ "desiredCapabilities":{"browserName":"internet explorer", "version": "11", "platform":"ANY", "enableVNC": true, "name": "this.test.is.launched.by.curl","sessionTimeout": "120s"}}'

How can I create a manual session for the Internet Explorer 11 also via the Selenoid UI?
I use CodeceptJS as a test framework.
If I omit vnc in the config, a session is created and the test is run.
#ie11.conf.js

exports.config = {
  tests: './*_test.js',
  output: './output/ie11',
  helpers: {
    WebDriver: {
      url: 'https://www.gogole.com/',
      host: 'selenoid',
      browser: 'internet explorer',
      desiredCapabilities: {
        browserName: 'internet explorer',
        browserVersion: '11'
      }
    }
  }
};

With VNC: unknown capability named enableVNC
#ie11.conf.js

exports.config = {
  tests: './*_test.js',
  output: './output/ie11',
  helpers: {
    WebDriver: {
      url: 'https://www.gogole.com/',
      host: 'selenoid',
      browser: 'internet explorer',
      desiredCapabilities: {
        browserName: 'internet explorer',
        browserVersion: '11',
        enableVNC: true,
        enableVideo: true
      }
    }
  }
};

Error: Can't connect to WebDriver.
Error: Invalid capabilities in alwaysMatch: unknown capability named enableVNC

With solenoid:option the same error as in the solenoid UI
exports.config = {
  tests: './*_test.js',
  output: './output/ie11',
  helpers: {
    WebDriver: {
      url: 'https://www.gogole.com/',
      host: 'selenoid',
      browser: 'internet explorer',
      coloredLogs: true,
      desiredCapabilities: {
        "selenoid:options": {
          "version": "11",
          "enableVNC": true,
          "enableVideo": true
        }
      }
    }
  }
};

Error: Can't connect to WebDriver.
Error: No matching capability sets found.
Unable to match capability set 0: selenoid:options is an unknown extension capability for IE

How does the IE11 config look like so that vnc works as in the curl call?
The working config for Edge looks like this
#edge.conf.js
exports.config = {
  tests: './*_test.js',
  output: './output/edge',
  helpers: {
    WebDriver: {
      url: 'https://www.google.com/',
      host: 'selenoid',
      browser: 'MicrosoftEdge',
      desiredCapabilities: {
        "selenoid:options": {
          "version": "18",
          "enableVNC": true,
          "enableVideo": true
        }
      }
    }
  }
};

@davidulbrich this seems to be a bug in IEDriver. It should ignore unknown extension capabilities instead of throwing an error.

It seems to be the IEDriver bug SeleniumHQ/selenium#7479  as described by @megalan247.
@emilorol but why does it work for you? Can you create an IE11 session via the Selenoid UI?

@davidulbrich No, I can not create a session for IE11 or Edge 18 thru the Selenoid UI, but I can thru CURL, Selenium or Protractor and it works very well with VNC and all.

Just to understand better, why do you need to create a session thru the Selenoid UI?

I read some of the react code of the selenoid-ui and I think I found the issue. When I make the change then I can start all browser sessions manually:

I will submit a PR in a bit.

Here it is:
https://github.com/aerokube/selenoid-ui/pull/253

I was able to make IE and Edge to work with CodeceptJS, but I could not get the VNC to work.
Here is Edge:
exports.config = {
  tests: './*_test.js',
  output: './output',
  helpers: {
    WebDriver: {
      url: 'https://github.com',
      host: '<IP_ADDRESS>',
      port: 4444,
      path: '/wd/hub',
      protocol: 'http',
      browser: 'MicrosoftEdge',
      desiredCapabilities: {
        alwaysMatch: {
          browserName: "MicrosoftEdge"
        },
        selenoidOptions: {
          enableVNC: 'true'
        }
      }
    }
  },
  include: {},
  bootstrap: null,
  mocha: {},
  name: 'test'
}

and here is Internet Explorer:
exports.config = {
  tests: './*_test.js',
  output: './output',
  helpers: {
    WebDriver: {
      url: 'https://github.com',
      host: '<IP_ADDRESS>',
      port: 4444,
      path: '/wd/hub',
      protocol: 'http',
      browser: 'internet explorer',
      desiredCapabilities: {
        alwaysMatch: {
          browserName: "internet explorer"
        },
        selenoidOptions: {
          enableVNC: 'true'
        }
      }
    }
  },
  include: {},
  bootstrap: null,
  mocha: {},
  name: 'test'
}

Note 1: The term selenoidOptions comes from here: https://codecept.io/helpers/WebDriver#selenoid-options
Note 2: If you want know how is the JSON that is posted you can use a tool like `Charles Proxy' or something similar.

I have the same issue. I'm using:
aerokube/selenoid:1.10.0 aerokube/selenoid-ui:1.10.2
browser.json
    "MicrosoftEdge": {         "default": "18",         "versions": {             "18": {                 "image": "windows/edge:18",                 "port": "4444",                 "path": "/", 		"privileged": true,                 "tmpfs": {                     "/tmp": "size=128m"                 }             } 	}     }
Errors from selenoid server.
2021/01/18 10:55:57 [794] [LOCATING_SERVICE] [MicrosoftEdge] [18] 2021/01/18 10:55:57 [794] [USING_DOCKER] [MicrosoftEdge] [18] 2021/01/18 10:55:57 [794] [CREATING_CONTAINER] [windows/edge:18] 2021/01/18 10:55:57 [794] [STARTING_CONTAINER] [windows/edge:18] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a] 2021/01/18 10:55:58 [794] [CONTAINER_STARTED] [windows/edge:18] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a] [0.44s] 2021/01/18 10:56:49 [794] [SERVICE_STARTED] [windows/edge:18] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a] [51.06s] 2021/01/18 10:56:49 [794] [PROXY_TO] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a] [http://<IP_ADDRESS>:4444/] 2021/01/18 10:56:49 [794] [SESSION_ATTEMPTED] [http://<IP_ADDRESS>:4444/] [1] 2021/01/18 10:57:24 [794] [SESSION_FAILED] [http://<IP_ADDRESS>:4444/] [500 Internal Server Error] 2021/01/18 10:57:24 [794] [REMOVING_CONTAINER] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a] 2021/01/18 10:57:25 [794] [CONTAINER_REMOVED] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a]
When I check via VNC what happening on windows VM, I see that browser is starting and after full start 500 error is generated and selenoid closing session.

I have the same issue. I'm using:
aerokube/selenoid:1.10.0 aerokube/selenoid-ui:1.10.2
browser.json
    "MicrosoftEdge": {         "default": "18",         "versions": {             "18": {                 "image": "windows/edge:18",                 "port": "4444",                 "path": "/", 		"privileged": true,                 "tmpfs": {                     "/tmp": "size=128m"                 }             } 	}     }
Errors from selenoid server.
2021/01/18 10:55:57 [794] [LOCATING_SERVICE] [MicrosoftEdge] [18] 2021/01/18 10:55:57 [794] [USING_DOCKER] [MicrosoftEdge] [18] 2021/01/18 10:55:57 [794] [CREATING_CONTAINER] [windows/edge:18] 2021/01/18 10:55:57 [794] [STARTING_CONTAINER] [windows/edge:18] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a] 2021/01/18 10:55:58 [794] [CONTAINER_STARTED] [windows/edge:18] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a] [0.44s] 2021/01/18 10:56:49 [794] [SERVICE_STARTED] [windows/edge:18] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a] [51.06s] 2021/01/18 10:56:49 [794] [PROXY_TO] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a] [http://<IP_ADDRESS>:4444/] 2021/01/18 10:56:49 [794] [SESSION_ATTEMPTED] [http://<IP_ADDRESS>:4444/] [1] 2021/01/18 10:57:24 [794] [SESSION_FAILED] [http://<IP_ADDRESS>:4444/] [500 Internal Server Error] 2021/01/18 10:57:24 [794] [REMOVING_CONTAINER] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a] 2021/01/18 10:57:25 [794] [CONTAINER_REMOVED] [c042796694959086fcb436267101c161f6656c21c9014379994ea94fa11b020a]
When I check via VNC what happening on windows VM, I see that browser is starting and after full start 500 error is generated and selenoid closing session.

@michal-jasinski-piwikpro error 500 usually means incorrect capabilities being passed from the test.

@michal-jasinski-piwikpro error 500 usually means incorrect capabilities being passed from the test.

@michal-jasinski-piwikpro error 500 usually means incorrect capabilities being passed from the test.

Hi
I didn't run any tests, this error is generated when I want to start the manual session from selenoid UI or by curl.

@michal-jasinski-piwikpro error 500 usually means incorrect capabilities being passed from the test.

Hi
I didn't run any tests, this error is generated when I want to start the manual session from selenoid UI or by curl.

If you want to run it manually use a curl command or any API testing tool like POSTMAN, but do not use the Selenoid interface as there are known issues with IE and the old Egde.

If you want to run it manually use a curl command or any API testing tool like POSTMAN, but do not use the Selenoid interface as there are known issues with IE and the old Egde.


Build on windows

This PR adds support for windows. The PR adds a new appveyor file that will build the project on stable.
This PR is blocked by stable support which should land with #20. Appveyor also needs to be hooked up to the app so that we can get the nice green check before merging.
This was first discussed in #17

Couldn't figure out how I can trigger Appveyor build for PRs. I've enabled checks and installed the application.

@xmclark Merging to see how it will behave.


Add a changelog and tag Docker images

It would help people using the webapp if we start maintaining a list of changes in a changelog file in the repo, and begin tagging new Docker releases with a version listed in that file. This would allow people to pull a specific image version if they didn't want the latest available, and check what changes might affect them before updating.

Good point @andrewramsay! 😎


[Storage] Performance regression in BlobClient.DownloadAsync()

PR #7525 caused a significant performance regression in BlobClient.DownloadAsync():

Build
RPS

12.0.0-dev.20190908.1
8,300

12.0.0-dev.20190911.1
100

CC: @pakrym

The reason the regression happened is that it's more expensive to leave a response stream unread when it's not buffered because HttpClient can't reuse the connection. I leave @tg-msft to decide if it's a big deal.

There's no user scenario for downloading without using the response stream, so we're okay with performance being worse in that case.


fix: validate env vars

This validates the env vars, throwing if they are not defined when starting the service.

I'm going to close this as it could expose values in the CI.


Add kwarg and documentation for dilation_rate to DepthWiseConv2D

Summary
Related Issues
fix for #12525 which is identical to #9642
PR Overview
This PR is very close to #9844. Just adding dilation_rate to arguments of DepthWiseConv2D explicitly.

[ n ] This PR requires new unit tests [y/n] (make sure tests are included)
[ y ] This PR requires to update the documentation [y/n] (make sure the docs are up-to-date)
[ y ] This PR is backwards compatible [y/n]
[ y ] This PR changes the current API [y/n] (all API changes need to be approved by fchollet)

So I modified convolution layers unit tests, but I don't understand how (or where) I can add expected test results.

Rather than adding a new parameterization to the existing generic test, please create a new test function. Something like:
def test_dilated_depthwise_conv2d():
    layer_test(convolutional.DepthwiseConv2D,
                     input_shape=(2, 2, 2, 3),
                     kwargs=...)  # make sure to pass dilation_rate

This checks that the layer can be run in various modes and workflows and checks that the static output shape is consistent with the actual output shape.

New commits consist of two parts.

Removes duplicated code in `layers._Conv().compute_output_shape and makes it shorter
DepthWiseConv2D().compute_output_shape layer didn't support dilation_rate. which led to failing tests. Fixed this method and made it very similar to compute_output_shape


Bindables are popped every time the editor loses focus

Bindables should be popped when either a tab is closed or the focused editor is changed.  Right now, they're popped too easily - all commands get removed from the menu if you click on one of the menu items.

There are three cases to deal with, here:

An editor pane is added (i.e. a new file is opened)
The focused editor pane is switched
An editor pane is closed

The problem is that 3 only happens when the last editor pane is closed, right now.  Closing an editor pane automatically focuses another one if there are multiples open, meaning that most of the time, closing an editor pane is functionally equivalent to 2.

This seems to have been solved by making all the tab change and split change bindables use the FileOpener bindable to open the correct editor pane or tab.  Will reopen if it comes back.


pcl: qt4 -> qt5; 1.8.0 -> 1.8.1

Motivation for this change
Get pcl building on darwin.
Drop the qt4 dependency as it is rotting.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

The Travis CI build failures are due to exceeding the time limit.

The way Qt5 dependencies are specified is different from Qt4.

use libsForQt5.callPackage instead of regular callPackage.
Don't pass "qt59" (due to the item above), instead use the sub attributes from the qt5 attribute set such as qtbase, qtx11extras and so on.

Thanks for the great feedback, @peterhoeg! I've made the changes you suggested, and had the extremely welcome surprise of those changes not changing the hash of the package, so I don't have to wait for another multi-hour build! 🙌

so I don't have to wait for another multi-hour build!

I will strongly recommend working against nixos-unstable instead of master so that all your dependencies are pre-built. That dramatically cuts down on the build time.

Still works for me, so I hope we're good to go.

I'll try building it on NixOS.

If you'd like to try building something that uses PCL to ensure that the GUI components work, here  is a test application they provide in their docs that I have packaged for nix for my own testing.

Thanks!


Docs code examples have bad highlighting

For example, here's the docs:

Here is VS Code:

I should probably find a way to use VS Code's syntax highlighter/parser for these examples.

Fixed by switching to Refractor!


Changed the size of Start Button in Mobile view

Change the size of Start Button and also improve CAPTCHA card design in Mobile view.
Screenshot :

Assign this issue to me.

  Hey @Adi-204, assign this issue to me with hacktoberfest label, I can come up with a better solution

@2021eo3ar If you want you can still work on this issue and share your solution before creating PR.

ok
On Sun, Oct 13, 2024 at 6:50 PM Aditya Sinha @.***>
wrote:

@2021eo3ar https://github.com/2021eo3ar If you want you can still work
on this issue and share your solution before creating PR.
—
Reply to this email directly, view it on GitHub
https://github.com/AdityaSinha2305/ForkTheCaptcha/issues/33#issuecomment-2408977939,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWZMCSBGWT33QA3TKE7WWQLZ3JXTTAVCNFSM6AAAAABP3JSOBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBYHE3TOOJTHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

Here is what I have modified, I modified CSS  and  index.html file to make the whole website responsive for each screen size, Have a look:-

Hey @AdityaSinha2305 I can correct that issue of long captchas please reopen my PR or should make a new One


Password protection randomly disables when clicking logout

Describe the bug
Not exactly sure what causes this. It's very random and does not always happen. Cannot find anything about this in the logs.
Version
v<IP_ADDRESS>

Same problem here, but happens everytime: When I set a password, I immediately have to enter it after that. But next time I visit the page, there's no password protection.
Everything else works fine.
Version v<IP_ADDRESS>
Installed with docker-compose

@kzshantonu please describe your steps
1..
2..
3...

I tried it now with version v0.39.13. Password protection works as expected here. So it seems to be a bug only in v<IP_ADDRESS>. It's a fresh installation with docker-compose. As a reverse proxy I use Traefik. Here is my docker-compose.yml
services:
    changedetection:
      image: ghcr.io/dgtlmoon/changedetection.io # :0.39.13 works fine
      container_name: changedetection
      hostname: changedetection
      volumes:
        - changedetection-data:/datastore
      networks:
        - proxy
      restart: unless-stopped
      labels:
        - "traefik.enable=true"
        - "traefik.http.routers.changedetection.entrypoints=http"
        - "traefik.http.routers.changedetection.rule=Host(`changedetection.example.com`)"
        - "traefik.http.middlewares.changedetection-https-redirect.redirectscheme.scheme=https"
        - "traefik.http.routers.changedetection.middlewares=freshrss-https-redirect"
        - "traefik.http.routers.changedetection-secure.entrypoints=https"
        - "traefik.http.routers.changedetection-secure.rule=Host(`changedetection.example.com`)"
        - "traefik.http.routers.changedetection-secure.tls=true"
        - "traefik.http.routers.changedetection-secure.tls.certresolver=http"
        - "traefik.http.routers.changedetection-secure.service=changedetection"
        - "traefik.http.services.changedetection.loadbalancer.server.port=5000"
        - "traefik.docker.network=proxy"

volumes:
  changedetection-data:

networks:
    proxy:
      external: true

Steps to reproduce (at least with me):

fresh install with docker-compose using the docker-compose.yml from above
visit https://changedetection.example.com and set a password
save
i am redirected to password page --> enter password
i am logged in <-- so far everything works as expected
logout (or visit page later)
i see immediately the main page; no password protection is set

@ginebib only difference in v<IP_ADDRESS> is just a fix for the pip packager, if you didnt install via pip, then it makes no difference to you :-1:
trafeik - maybe the bug is that theres a header not acting correctly through your reverse proxy setup, keep digging! let me know what you find out
try this - i bet it works fine if you access the container directly, NOT through any reverse proxy - let me know what you find out

Sounds strange, but I can't reproduce it now. I tried yesterday different configurations but everytime with the same behavior. Now I am back on v<IP_ADDRESS>, I changed nothing else, and it works now. When it happens again, I will have a deeper look at the traefik configuration.
For me this can be closed :) @dgtlmoon Thank you, great work!

@ginebib ok thanks, yeah it could still be an actual issue tho!

I can confirm it's similar to what @ginebib described. I remember changing a setting. Then hit logout. Then it went straight to main page. Settings said I don't have a password set anymore. I am using caddy reverse proxy. Is there any extra header I need to pass?

So I finally reproduced the issue.
Version: <IP_ADDRESS>

Set a password
Hit save
Login with the new password
Go to settings > fetching
Change fetch method
Hit save
Logout
Goes to main screen
Password gets disabled under settings

Unable to reproduce under nginx.. i dont use/know caddy or traefik sorry :(

Same problem, I use nginx, Here is my nginx.conf and docker-compose.yml
server {
    listen       80;
    server_name  monitor.example.com;
    client_max_body_size 0;

    location / {
        proxy_pass       http://<IP_ADDRESS>:6000/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

version: '3.5'

services:
  changedetection:
    image: ghcr.io/dgtlmoon/changedetection.io
    container_name: changedetection
    hostname: changedetection
    restart: unless-stopped
    environment:
      - USE_X_SETTINGS=1
      - BASE_URL=https://monitor.example.com/
      - PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000/
    ports:
      - <IP_ADDRESS>:6000:5000
    volumes:
      - changedetection-data:/datastore

  playwright-chrome:
    image: browserless/chrome
    hostname: playwright-chrome
    restart: unless-stopped

volumes:
  changedetection-data:

@dgtlmoon Maybe you should look into it

@xiya233 maybe you should pay me
sorry - this is free software - please provide your own time to help out here also, I'm working on this project in my spare time when I should be working a real job to better afford my own living costs
please dig deeper

Thanks to the developer. CD is realy a great project.
I did have the problem too, on the latest version <IP_ADDRESS>. When clicking logout at some point, it jumps straight to the home page and loses the password.
Sorry I don't know how to reproduce this process.

@dgtlmoon Thank you for taking the time to write this software.
Please excuse me, but I don't quite understand why you are so upset with @xiya233's post.
He gave us the information that he also has the problem with Nginx and that it happens even without a reverse proxy - so more users might be affected.
So he thought you might be interested in taking a closer look at the problem. I don't think he was demanding you to do that, though.
@xiya233 Can you reproduce the bug without a reverse proxy and describe your steps?

@langfingaz the steps I outlined works with or without reverse proxy. For now I am setting the password again every time I change any setting

If someone would want to setup a complete docker-compose.yml with the setup that reproduces the problem, i'll take alook
but without this, i cant do anything, i need to see what the environment is and work with it

services:
    changedetection:
      image: ghcr.io/dgtlmoon/changedetection.io
      container_name: changedetection
      hostname: changedetection
      volumes:
        - ./data:/datastore
      environment:
        - PORT=43571
        - PLAYWRIGHT_DRIVER_URL=ws://browserless:3000/
        - BASE_URL=https://changes.my.domain
      ports:
        - <IP_ADDRESS>:43571:43571
      restart: unless-stopped
    playwright-chrome:
      hostname: browserless
      container_name: browserless
      image: browserless/chrome:1.53-chrome-stable
      restart: unless-stopped
      shm_size: 2g
      environment:
        - "DEFAULT_LAUNCH_ARGS=[\"--window-size=1920,1080\"]"

@kzshantonu there is no reverse proxy there

I run caddy on my system as a systemd service. It doesn't matter. The issue happens even when accessed directly using IP:port

I can reproduce this too (on v<IP_ADDRESS>), and it has nothing to do with reverse proxies, logging out or changing settings.
The password protection disappears when clicking "save" in the settings.
Steps to reproduce:

Set a password
Hit save
Login with the new password
Go to settings
Hit save
Open the site in another browser or in privacy mode -> password protection is gone

It looks to me like a basic form handling issue.
When accessing the settings page, all form fields get pre-populated with the current settings from the store. If password protection is enabled, the password form field doesn't get pre-populated, because this would make the password readable for any logged in user: https://github.com/dgtlmoon/changedetection.io/blob/291700554ee83a2b39fcd0ac3d90efdea3d6cb83/changedetectionio/templates/settings.html#L46
This is good practice.
But when clicking save now, the form does not post a password field and changedetection.io interprets this something as something like "if there was no password posted, remove password protection".
I don't know anything about wtforms and glancing at the code, I couldn't identify where the problem actually occurs, but I suspect it's near here:
https://github.com/dgtlmoon/changedetection.io/blob/26f5c56ba40e3dda71f3d4cf2f5eb3b09331af34/changedetectionio/forms.py#L83

That's true. For me, the steps to reproduce the issue(v0.39.16) :

Set a password
Hit save
Login with the new password
Go to settings
Hit save
Open the site in a new tab
Hit logout
Password is gone

@PotatoYummy which reverse proxy? there are several, can you paste a config?

@PotatoYummy right! I can reproduce it without a reverse proxy!
Looks like hitting [save] in [settings] with a password set will sometimes do something strange with the password

That's what I've been saying from the beginning. Glad you reproduced it

@kzshantonu but what you are saying has nothing todo with a reverse proxy

@kzshantonu @PotatoYummy @marconett  please try the docker :dev tag when https://github.com/dgtlmoon/changedetection.io/actions/runs/2799910172 is finished
thanks for your patience, the mention of the reverse proxy really confused the situation - turned out it was completely unrelated

Great. Works as expected now. Thanks for the wonderful project

Fixed in <IP_ADDRESS> which is out now