Add services to iotconfig crd

Type of change

Bugfix

Description
These changes should fix validation issue on kubernetes 1.18 and add ability to run SimpleK8sDeployTest on minikube/other kube cluster.
Checklist

[ ] Update/write design documentation in ./documentation/design
[ ] Write tests and make sure they pass
[ ] Update documentation
[ ] Check RBAC rights for Kubernetes / OpenShift roles
[ ] Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
[ ] Reference relevant issue(s) and close them after merging
[ ] Update CHANGELOG.md

@enmasse-ci run tests ocp4 profile=smoke-iot

I've made similar changes in my PR with minikube step and everything looks working well https://github.com/EnMasseProject/enmasse/pull/4425/checks

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: smoke-iot
TEST_CASE:
TOTAL: 96
PASS: 85
FAIL: 0
SKIP: 11
BUILD_NUMBER: 1101
BUILD_ENV: crc


Fix mobile toolbar layout.

On phones the toolbar should be stacked vertically instead of of left, and the back button needs to be moved or shrunk

#106


Update not create

Working with @markfalk discovered its easier to use this script if it has an update option.  This change includes these updates while maintaining backwards compatibility:

Can now use -u or --update to trigger a cfn update action instead of a create action
Fixes pep8 trailing whitespace
Fixes pep8 line length to be < 80 chars

Friendly ping - Hoping to get a review on this PR.

Merged this with master, I think its ready to review.

Thanks!

Thank you!


Implement filters into the translate method

Not really sure master is the correct branch to be submitting this to but since the API hasn't changed, I think it's probably OK.
Implemented filters as mentioned in #148 (mentioned as "processors").
Also, as a result the I18n::Backend#translate method has been somewhat refactored with the addition of the Translation class the stops us from having to pass hashes of options around.
Seems to me that Interpolations, Pluralizations and Transliteration could be implemented as filters to refactor the #translate method further, but with the tests the way that they are I'd like to discuss this before just going in and breaking it :)

Closing this PR as there's been no activity in 4 years.


Add note about Node 16 requirement to release notes

Lage v2 uses AbortController which requires either Node 16 or the --experimental-abortcontroller flag in Node 14. This should be mentioned in the changelog and release info.
Other updates:

Mention all breaking changes in the changelog, release notes, and migration page
Link to the release notes and migration guide from the changelog
Add info about how to semi-automatically pass the flag in Node 14
I don't think it's necessary to have release notes include getting started info (presumably someone reading the notes is already using lage), so I replaced that section with breaking change info and a link to the migration guide

Come to think of it, abort-controller the package can be used to polyfill. Perhaps we can do that once again?


S40 Weather Support

The S40 makes weather data available and it would be helpful to have some of this information available in HA.
As a specific example, the dew point measurement - is used by the S40 to prevent external ventilation when the measurement is above the configured threshold - as a result having this data would allow better insite into why ventilation is not running.
The weather data includes current data for now, hourly data and 10 day forecast; as well as some environmental information (like dew point).  Since hourly data and 10 day forecasts are already available in HA, there is limited value in providing it through this integration. The focus will be on providing the environmental data.
  Do we know what are the valid values for the first four?  From my log file I can see the following:
$ grep mold s40_local.log|sort -u
"mold": "high",
"mold": "low",
$ grep grass s40_local.log|sort -u
"grass": "moderate",
$ grep weed s40_local.log|sort -u
"weed": "low",
"weed": "moderate",
$ grep tree s40_local.log|sort -u
"tree": "low",
"tree": "moderate",
$ grep airQuality s40_local.log|sort -u
"airQuality": "good",
"airQuality": "moderate",
$
My assumption is that mold, grass, weed, and tree all have the same valid values, but airQuality has its own set of valid values.

That's a good way to handle the error value.

API - pull request - https://github.com/PeteRager/lennoxs30api/pull/70

https://github.com/PeteRager/lennoxs30/releases/tag/2023.10.0
Check it out when you have time.  report any issues


XTCE decom with CoDICE example

Change Summary
You will notice a few commits, which were organizing, formatting, and editing code. This is the Python script to generate an XTCE formatted XML file, as well as tests and decom using space-packet-parser.
Overview
Matthew and I went through and formatted the directories to match swe. Organized for simplicity and renamed for clarity.
New Files

make_xtce.py

This is the script that extracts an excel sheet and uses it to build the xtce file

p_cod_aut_test.xml

This is the xtce formatted file which is the output of make_xtce.py

decom.py

This uses the space-packet-parser to parse the data with the xtce

test_decom.py

This is a decom to test the data for ccsds headers

test_bin_data.py

This tests the data bin and will output the bin size in bytes, as well as print the data in hexagon

decom_python_example.py

This is an example of how to hard code parse

Testing

We tested this in a poetry environment with python 3.11

Update pyproject.toml to include pandas (maybe others too).

@maxinelasp @tech3371 @laspsandoval @bourque  I love all of these comments and suggestions. I worked in a lot of them. I did NOT get to some because this is a beginning, not a final version. I added some new files and took away the test_decom because it was not useful.
I plan to reopen a new PR to add more classes, move things around and update code for a broader use of instruments.

"pre-commit.ci autofix"

pre-commit.ci autofix

Nice work, @GFMoraga 🎉
Just an FYI that we shouldn't merge code unless all of the checks are green (unless you leave an explicit note in the PR saying "test X is failing and that is a known failure due to Y" or something like that). This now causes failures for everyone working on dev, so don't hesitate to reach out if you need help fixing linting problems. A more minor thing is that there are now a bunch of commit messages saying "fixed formatting" which aren't super helpful, so it'd be nice to squash merge if you have a bunch of unnecessary commits https://github.com/IMAP-Science-Operations-Center/imap_processing/commits/dev Let me know if any of this doesn't make sense and I'm happy to help out too!
Great work on your first PR, these are minor issues I'm mentioning that can be addressed in follow-ups.


Show private and customers access with different casing colour

Fixes #9207
Added access to the tag classes.
For a highway=service with access=private the casing is red.
For a highway=service with access=customers the casing is orange.
I allows to quickly see the access type.

This a base PR for discussion. I would like to ask if it would be ok to create a surface tag for all highways including those that are paths.
cc @kaligrafy @tahini @greenscientist


does the Warehouse mobile device user role require a dynamics 365 license?

does the Warehouse mobile device user role require a dynamics 365 license? Thank you

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

ID: a5522e9c-48f4-0185-3e23-d56b9fd37e03
Version Independent ID: 871c5530-6c5c-95ac-1df5-3ee5f0934e48
Content: Mobile device user settings - Supply Chain Management | Dynamics 365
Content Source: articles/supply-chain/warehousing/mobile-device-user-settings.md
Service: dynamics-365-supply-chain
Product: ****
Technology: ****
GitHub Login: @Mirzaab
Microsoft Alias: mirzaab

@jlabustro, Thanks for contacting us. Unfortunately, we're unable to handle Support requests for the product here. To contact Support, consider one of the options described here: Support contact options.


Responsive

Make website mobile first and suitable for tablet and computer (+ widescreen)

should be all good too on branch 19-general-sass @gaeVG


Update CMakeLists.txt

CMake project version bump

Hello @elitepleb,
Thanks for the contribution! Could you add a comment why you think this is necessary?

This change is not necessary or meaningful in any way.
I just noticed the old version number in the CMake project and incremented it.
If there is a problem with this pull request, please tell me so and i will close it.

Hmm, could you change the line's comment to "Set this to the minimal version you want to support" or something along these lines? That would work for me.

Hmm, seems the Github UI doesn't like it when you manually push pull requests. I've added a space, changed the commit message and pushed it. Thanks!


Sinon.js and Rhino issue with Fake Timers

This is continuation of my blog post about Sinon.js and Fake timers: Headless JavaScript testing, Sinon.js, Fake Timers and Rhino.
As promised, I've made environment with Rhino and Sinon.js where test for Fake Timers is not work properly (download). To execute tests use ./runtests.sh, you need to have Java.
I found debugger for Rhino and I will try to solve this issue but I don't have enough experience to do it efficiently.
Here is output:
Maxs-MacBook-Air:Sinon-Rhino maxk$ ./runtests.sh
[  Envjs/1.6 (Rhino; U; Mac OS X x86_64 10.7.3; en-US; rv:1.7.0.rc2) Resig/20070309 PilotFish/1.2.13  ]
Loading: runner.html
Runner Started.
Timers Issue Test : Failing timer test ...
Failed.
Timers Issue Test: 1 of 4 passed.
Runner Finished.
1 spec, 1 failure in 0.092s.

@joymax Did you mean to post this on the sinonjs repo? I'm not sure what relevance this has to jasmine-sinon. Closing.

Sorry, you're right, wrong tab. Thanks.


Support @connection to use Lambda resolver mapping template to solve the N+1 problem

N+1 problem of AppSync could be solved by utilizing the "BatchInvoke" feature, but unfortunately this option is only available on the "Lambda resolver mapping templates".
Currently, the framework implement the @connection relies on the "DynamoDB resolver mapping templates" which WILL cause the N+1 problem. This makes the @connection directive useless, because it can incur increased latency and cost to the application.
So to solve the problem I have to manually create my own lambda resolver for each of the connections, which should be the frameworks's responsibility.
Additionally the framework should let user determine if use "Invoke" or "BatchInvoke" as an argument of the @function directive.

Thank you for the creating an issue. We will be including this when we work on Transformer vNext.

Thanks for all your efforts to the Transformer vNext.
I'm really looking forward to the Transformer vNext ecosystem :)


[DOC]: The README setup step should be shown more obviously for developers

We want the quick setup has the same big font size with regular setup.

Hello! Can I help contribute to this?

Yes, for sure.

Close by a5783a9920968083ba56c60968cafda9505d9831


SQL injection when encrypting

Hi, guys,
there is an issue in the SQLCipherUtils when encrypting the DB with a passphrase containing ' char.  This is the code:
 db.rawExecSQL("ATTACH DATABASE '" + newFile.getAbsolutePath() +
                                  "' AS encrypted KEY '" + String.valueOf(passphrase) + "'");

Since passphrase is just added as plain text into SQL command, ' in the passphrase closes the String in the SQL and you get something like: SQLiteException: unrecognized token: " "
This is the resulting SQL, as you can see the key is closed as soon as it is opened because of the first char in the passphrase '.
ATTACH DATABASE '/data/user/0/com.bla.bla/cache/file' AS encrypted KEY ''dahuida'
I recommend doing something like this:
 final SQLiteStatement compiledStatement = db.compileStatement("ATTACH DATABASE ? AS encrypted KEY ?");
            compiledStatement.bindString(1, newFile.getAbsolutePath());
            compiledStatement.bindString(2, String.valueOf(passphrase));
            compiledStatement.execute();

I can also make a PR, but I saw that you are more fan of the issue being reported here :)

I'm not sure that we can use ? in the first position (for the database path). SQLite does not support placeholders in arbitrary locations in the SQL. The second might work. IIRC, this code was based on some Zetitec example code, and I didn't put much more thought into the process.
I'll give this a try, though it probably won't be for a couple of weeks.
Thanks for pointing this out!

I'm not sure why this wouldn't work. I tried to make this change locally with both placeholders (both DB path and passphrase) and it seems to work fine...

Good to know -- thanks!

Note that the code in your question does not exist in the current version of the project. I do not use AS encrypted KEY anywhere. Instead, I use AS plaintext KEY ''.
So, I am making your proposed change, to potentially help with strange paths for the database file path, but it will not affect strange characters in the passphrase, which should be working fine already.

Addressed in v1.0.1 and legacy-1.0.1.
Thanks again!


chore: fix by post review

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows Conventional Commits
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[x] Refactoring
[ ] Code style update
[ ] Build or CI related changes
[ ] Documentation content changes

@vladimirpotekhin hello, please review me)


fix post_process_function bug on sort results for rerank_pipeline_with_bge-rerank-m3-v2_model_deployed_on_Sagemaker.md

Description
fix post_process_function bug on sort results for docs/tutorials/rerank/rerank_pipeline_with_bge-rerank-m3-v2_model_deployed_on_Sagemaker.md
Related Issues
Resolves #3247

Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.
[ ] API changes companion pull request created.
[ ] Commits are signed per the DCO using --signoff.
[ ] Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

moving to  #3277


Consider simplifying type definitions of React components

This is a super preference-based style thing so feel free to ignore it! I figured I'd bring it up in case you were interested and I'd gladly make a PR for it if you do want the changes.
The type definitions for the components are a little verbose and I think we could simplify them a bit. Take for example Page:
import React, { PropsWithChildren } from "react";

export interface PageProps { ...}

const Page: React.FunctionComponent<PropsWithChildren<PageProps>> = (
  props: PropsWithChildren<PageProps>
) => {

Using FunctionComponent is great and, because of its greatness, you actually don't need to specify PropsWithChildren here! The definition for FunctionComponent is:
    interface FunctionComponent<P = {}> {
        (props: PropsWithChildren<P>, context?: any): ReactElement<any, any> | null;
        ...
    }

so it already wraps the type P you give it in PropsWithChildren! So we can simplify this to:
import React, { PropsWithChildren } from "react";

export interface PageProps { ...}

const Page: React.FunctionComponent<PageProps> = (
  props: PropsWithChildren<PageProps>
) => {

Next, because we've said that Page is a React.FunctionComponent<PageProps>, Typescript knows that the type of props must be PropsWithChildren<PageProps>! So we can simplify this to:
import React from "react";

export interface PageProps { ...}

const Page: React.FunctionComponent<PageProps> = (props) => {

A super small change we could make is that React has a type alias FC for FunctionComponent that we could import from React:
import React, { FC } from "react";

export interface PageProps { ...}

const Page: FC<PageProps> = (props) => {

Finally, and this is also super preference-based, we could destructure props to either:
const Page: FC<PageProps> = ({ children, isCurrent, title }) => {

or
const Page: FC<PageProps> = ({ children, ...otherProps }) => {

for better copy-pasting between files.
Lemme know if you're interested in any of these changes and I'd be glad to incorporate them!

These are excellent suggestions, thank you! I think some of them can be done largely with find & replace.

Lemme know if you're interested in any of these changes

Definitely - I'll be publishing a new batch of changes soon, and I can also include your suggestions - unless you would prefer to contribute. :)

I would love to contribute :-)

I'll be publishing a new batch of changes soon

Now the pull request #2 should include everything.
Please let me know if you will need any help with this!

Did a quick first pass in https://github.com/LowLevelAcademy/LowLevelAcademy/pull/3


Vncserver with Propeller

I am using Jessie and connecting to the Raspberry with Vncserver and the keyboard is wrong.
The letters I type are not the ones that end up on the editor. This is not an issue with SimpleIDE or any other program I access with VncServer.

I came across this one before, and don't know if there's any way to fix it. I believe it's related to Qt plugins or something currently beyond my understanding. It might be worth filing an issue against the PropellerIDE project to see if anyone can help: https://github.com/parallaxinc/PropellerIDE/issues


Add some logs about join build

What problem does this PR solve?
Issue Number: close #8257
Problem Summary:
What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/cc @windtalker

/run-all-tests

/cherry-pick 7.5

/cherry-pick release-7.5


Re-export imap-proto

Hello,
While trying to parse and put envelope data into a database I had problems reaching imap-proto types. Re-exporting imap-proto fixed this problem, while adding imap-proto to my project resulted in type conflicts.

This change is

So, this is a tough call — on the one hand, I'd like to disconnect imap from imap-proto in terms of its public type signatures so that we don't have to cut a breaking release if imap-proto has done the same, but on the other we use so many types from imap-proto that that dream may be infeasible, in which case re-exporting may be a good idea. @mordak what do you think?

We already re-export a few imap_proto types where it makes sense and is convenient, and it seems a bit inconsistent to re-export only some of them. We could probably just re-export imap_proto::types to make things consistent, and maybe simplify some of our internals a bit without re-exporting the entire imap_proto API.
I would be curious to see the original problem and understand what exactly is not working or it too difficult. I think this problem happened because we do not re-export imap_proto::types::Envelope but we do return it in Fetch::envelope()? I would be interested in seeing if just re-exporting imap_proto::types solves the original problem as well.

Originally I wanted to convert Envelope to bytes, but ended up with something similar:
`fn address_to_bytes(address: &Address) -> Vec {
let mut temp: Vec = vec![];
if let Some(name) = &address.name {
temp.extend(name.iter());
temp.extend(b" ");
}
if let Some(adl) = &address.adl {
temp.extend(adl.iter());
temp.extend(b" ");
}
if let Some(mailbox) = &address.mailbox {
temp.extend(mailbox.iter());
temp.extend(b" ");
}
if let Some(host) = &address.host {
temp.extend(host.iter());
}
temp.extend(b";");
temp
}

fn vec_address_to_bytes(vec_address: &Vec) -> Vec {
let mut temp: Vec = vec![];
for address in vec_address {
temp.extend(address_to_bytes(address));
}
temp
}
fn envelope_to_bytes(message: &imap::types::Fetch) -> Vec {
let envelope = message.envelope();
match envelope {
Some(envelope) => {
let mut result = vec![];
if let Some(from) = &envelope.from {
result.extend(b"from: ");
result.extend(vec_address_to_bytes(from));
result.extend(b"\r\n");
}
... And yes, problems started with 'Fetch::envelope() returning type which cannot be passed to functions, because that type was nowhere to be found in library.

Do I need to fix all those checks?

@jonhoo see https://github.com/jonhoo/rust-imap/pull/227/commits/01fc90c6e20b1d984e2d5d0cd6ebc3bdd803f017 as an alternate approach.  Here I just exposed the needed prototypes that are used/exposed in the public API of this types in this crate.

@urkle Unfortunately that doesn't solve the problem. Our API stability would still be tied to that of the imap-proto crate. If we bump the major version of imap-proto. that is still a breaking change for our API. Re-exporting might reduce the likely amount of breakage, but it's still a breaking change.

@urkle Unfortunately that doesn't solve the problem. Our API stability would still be tied to that of the imap-proto crate. If we bump the major version of imap-proto. that is still a breaking change for our API. Re-exporting might reduce the likely amount of breakage, but it's still a breaking change.

Currently you are re-exporting some pieces (in unsolicited_response).
Another option is to look at separating from using imap-proto and using your own parser that you can maintain in lock-step with this crate.  As it was rather cumbersome and annoying having to update the two crates just to get ACL support working. (and that that whole feature is now dependent on 2 different maintainers releasing updates)

I don't think we actually need our own parser. Instead, the trick is to just wrap all the output types in newtype wrappers that we control. It's not pretty, and more than a little annoying, but the alternative of being tied to imap-proto also isn't sustainable given the frequency with which it needs breaking changes.


Add generics support

With dart 2.0 this package is a bit inconvenient to use, because queries always return a generic Stream<Model> instead of the requested model. This results in lots of code like this:
final query = db.query(models.Page)
  ..filter('isPublished =', true);
return query.run().cast<models.Page>();

Ideally gcloud would support generics like this:
final query db.query<models.Page>()
  ..filter('isPublished =', true);
return query.run(); // <-- Stream<models.Page>

I was also thinking of adding generics to the Model class so the type of the id can be fixed.
class Model<T> {
  T id;
}

Because we exclusively use Strings as IDs, and we would need to use myModel.id.toString() everywhere used, since we can't override the id property with a more narrow type.

@kevmoo @mkustermann tell me what you think about the idea of adding generics to id and I can add it to the MR. (And obviously it would be great if you could look at the MR as well)

@enyo This makes the API much nicer to use, so it's great :)
The Model.id can be an int or a String atm iirc, so I'm not sure if this is feasible. Also the keys have parentKeys, which are untyped. Maybe we need to think about this a bit more.

@mkustermann yeah I ran into the problem with parents keys  while adding the generics support to keys. The rest is working well.
The fact that the keys need to be int or String is unfortunately something that can’t be represented in generics so the user of the library needs to provide one of the two when extending Model. I think that’s acceptable.
In regards to the parent keys I thought about providing a second generic type to Model and Key that defines the parent of type, but that seems a bit convoluted and only solves one hierarchy. I’m not sure there is a proper solution for that.


crash in netopeer2-server/sysrepo

Hi,

netopeer2-server crashed when executing "GET" RPC. Looks like memory corruption.

versions : netopeer2-server, libyang, sysrepo, libnetconf2 - fresh from devel

shm cleaned before the test

valgrind run didn't yield any additional info, just reported that address accessed in shm_main.c:995 is invalid and "is not stack'd, malloc'd or (recently) free'd"
I can reproduce is easily in my setup, but not sure how to reduce it to simple steps. If crash log below is insufficient, please let me know and I'll try to find simpler steps.
Crash log:
[INF]: LN: Accepted a connection on <IP_ADDRESS>:10830.
[INF]: SR: Session 3 (user "root") created.
[2020/01/23 13:46:57.537100, 2] ssh_pki_import_privkey_base64:  Trying to decode privkey passphrase=false
[2020/01/23 13:46:57.542749, 2] ssh_server_connection_callback:  SSH client banner: SSH-2.0-SSHD-UNKNOWN
[2020/01/23 13:46:57.542796, 2] ssh_analyze_banner:  Analyzing banner: SSH-2.0-SSHD-UNKNOWN
[2020/01/23 13:46:57.542862, 2] ssh_kex_select_methods:  Negotiated ecdh-sha2-nistp521,ssh-rsa,aes128-ctr,aes128-ctr,hmac-sha1,hmac-sha1,none,none,,
[2020/01/23 13:46:57.637610, 2] ssh_packet_server_ecdh_init:  SSH_MSG_KEXDH_REPLY sent
[2020/01/23 13:46:57.645817, 2] ssh_init_rekey_state:  Set rekey after<PHONE_NUMBER> blocks
[2020/01/23 13:46:57.645850, 2] ssh_init_rekey_state:  Set rekey after<PHONE_NUMBER> blocks
[2020/01/23 13:46:57.645895, 2] ssh_packet_server_ecdh_init:  SSH_MSG_NEWKEYS sent
[2020/01/23 13:46:57.662895, 2] ssh_packet_newkeys:  Received SSH_MSG_NEWKEYS
[INF]: LN: Received an SSH message "request-service" of subtype "ssh-userauth".
[INF]: LN: Received an SSH message "request-auth" of subtype "none".
[INF]: LN: Received an SSH message "request-auth" of subtype "interactive".
[2020/01/23 13:46:57.681936, 2] ssh_message_auth_interactive_request:  Warning: Got a keyboard-interactive response but it seems we didn't send the request.
[INF]: LN: Received an SSH message "request-auth" of subtype "interactive".
[INF]: LN: User "igort" authenticated.
[INF]: LN: Received an SSH message "request-channel-open" of subtype "session".
[INF]: LN: Received an SSH message "request-channel" of subtype "subsystem".
[2020/01/23 13:46:57.699372, 2] grow_window:  growing window (channel 43:0) to 1280000 bytes
[INF]: SR: Session 4 (user "root") created.
[INF]: SR: There are no subscribers for "ietf-netconf-notifications" notifications.
[INF]: NP: Generated new event (netconf-session-start).
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[INF]: SR: Session 5 (user "root") created.
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[INF]: SR: Published event "rpc" with ID 1 priority 0 for 1 subscribers.
[INF]: SR: Processing "/ietf-netconf:get" "rpc" event with ID 1 priority 0 (remaining 1 subscribers).
[INF]: SR: Published event "operational" with ID 1.
[INF]: SR: Processing "operational" "ietf-yang-library" event with ID 1.
[INF]: SR: Finished processing "operational" event with ID 1.
[INF]: SR: Event "operational" with ID 1 succeeded.
[INF]: SR: Finished processing "rpc" event with ID 1 priority 0 (remaining 0 subscribers).
[INF]: SR: Event "rpc" with ID 1 priority 0 succeeded.
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[INF]: NP: Session 1: thread 2 event new RPC.
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[INF]: SR: Session 6 (user "root") created.
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[INF]: SR: Published event "rpc" with ID 2 priority 0 for 1 subscribers.
[INF]: SR: Processing "/ietf-netconf:get" "rpc" event with ID 2 priority 0 (remaining 1 subscribers).
[INF]: SR: Published event "operational" with ID 1.
[INF]: SR: Processing "operational" "nc-notifications" event with ID 1.
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[INF]: SR: Finished processing "operational" event with ID 1.
[INF]: SR: Event "operational" with ID 1 succeeded.
[INF]: SR: Finished processing "rpc" event with ID 2 priority 0 (remaining 0 subscribers).
[INF]: SR: Event "rpc" with ID 2 priority 0 succeeded.
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[INF]: NP: Session 1: thread 0 event new RPC.
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[INF]: SR: Session 7 (user "root") created.
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[INF]: SR: Published event "rpc" with ID 3 priority 0 for 1 subscribers.
[INF]: SR: Processing "/ietf-netconf:get" "rpc" event with ID 3 priority 0 (remaining 1 subscribers).
[INF]: SR: Finished processing "rpc" event with ID 3 priority 0 (remaining 0 subscribers).
[INF]: SR: Event "rpc" with ID 3 priority 0 succeeded.
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[WRN]: LY: Unable to print anydata content (type 32) as XML.
[INF]: NP: Session 1: thread 4 event new RPC.
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[INF]: SR: Session 8 (user "root") created.
[INF]: LY: Resolving unresolved data nodes and their constraints...
[INF]: LY: All data nodes and constraints resolved.
[INF]: SR: Published event "rpc" with ID 1 priority 0 for 1 subscribers.
[INF]: SR: Processing "/notifications:create-subscription" "rpc" event with ID 1 priority 0 (remaining 1 subscribers).
[New Thread 0x7ffff1982700 (LWP 17162)]
[ERR]: SR: Internal error (/home/igort/Perforce/OLT/aspen/external/build/host-sim/third_party/sysrepo/sysrepo-devel/src/shm_main.c:605).
[WRN]: SR: Cleaning up after a non-existent sysrepo client with PID<PHONE_NUMBER>.

Thread 2 "netopeer2-serve" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff4988700 (LWP 17109)]
0x00007ffff73f792f in sr_shmmain_state_recover (conn=0x61fba0) at /home/igort/Perforce/OLT/aspen/external/build/host-sim/third_party/sysrepo/sysrepo-devel/src/shm_main.c:995
995	                    if ((mod_locks[j][k].mode == SR_LOCK_READ) || (mod_locks[j][k].mode == SR_LOCK_WRITE)) {
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) bt
#0  0x00007ffff73f792f in sr_shmmain_state_recover (conn=0x61fba0) at /home/igort/Perforce/OLT/aspen/external/build/host-sim/third_party/sysrepo/sysrepo-devel/src/shm_main.c:995
#1  0x00007ffff73fad20 in sr_shmmain_lock_remap (conn=0x61fba0, mode=SR_LOCK_WRITE, remap=0x1, lydmods=0x0, func=0x7ffff740a950 <__func__.9085> "_sr_event_notif_subscribe")
    at /home/igort/Perforce/OLT/aspen/external/build/host-sim/third_party/sysrepo/sysrepo-devel/src/shm_main.c:1964
#2  0x00007ffff73d0f2a in _sr_event_notif_subscribe (session=0x90ce10, mod_name=0x638460 "ietf-netconf-notifications", xpath=0x0, start_time=0x0, stop_time=0x0, callback=0x0,
    tree_callback=0x40a792 <np2srv_ntf_new_cb>, private_data=0x653e30, opts=0x1, subscription=0x61e7e0 <np2srv+32>)
    at /home/igort/Perforce/OLT/aspen/external/build/host-sim/third_party/sysrepo/sysrepo-devel/src/sysrepo.c:4340
#3  0x00007ffff73d12b1 in sr_event_notif_subscribe_tree (session=0x90ce10, module_name=0x638460 "ietf-netconf-notifications", xpath=0x0, start_time=0x0, stop_time=0x0,
    callback=0x40a792 <np2srv_ntf_new_cb>, private_data=0x653e30, opts=0x1, subscription=0x61e7e0 <np2srv+32>)
    at /home/igort/Perforce/OLT/aspen/external/build/host-sim/third_party/sysrepo/sysrepo-devel/src/sysrepo.c:4420
#4  0x000000000040d925 in np2srv_rpc_subscribe_cb (session=0x7ffff4987c40, UNUSED_op_path=0x62b7e0 "/notifications:create-subscription", input=0x7fffe00012f0,
    UNUSED_event=SR_EV_RPC, UNUSED_request_id=0x1, UNUSED_output=0x7fffe00017e0, UNUSED_private_data=0x0)
    at /home/igort/Perforce/OLT/aspen/external/build/host-sim/third_party/netopeer2/Netopeer2-devel-server/server/netconf.c:718
#5  0x00007ffff7404cab in sr_shmsub_rpc_listen_call_callback (rpc_sub=0x629530, tmp_sess=0x7ffff4987c40, input_op=0x7fffe00012f0, event=SR_SUB_EV_RPC, request_id=0x1,
    output_op=0x7ffff4987c18, err_code=0x7ffff4987be4) at /home/igort/Perforce/OLT/aspen/external/build/host-sim/third_party/sysrepo/sysrepo-devel/src/shm_sub.c:2327
#6  0x00007ffff74056f8 in sr_shmsub_rpc_listen_process_rpc_events (rpc_subs=0x651e00, conn=0x61fba0)
    at /home/igort/Perforce/OLT/aspen/external/build/host-sim/third_party/sysrepo/sysrepo-devel/src/shm_sub.c:2531
#7  0x00007ffff73cceee in sr_process_events (subscription=0x642c20, session=0x0, stop_time_in=0x7ffff4987e20)
    at /home/igort/Perforce/OLT/aspen/external/build/host-sim/third_party/sysrepo/sysrepo-devel/src/sysrepo.c:3012
#8  0x00007ffff740663f in sr_shmsub_listen_thread (arg=0x642c20) at /home/igort/Perforce/OLT/aspen/external/build/host-sim/third_party/sysrepo/sysrepo-devel/src/shm_sub.c:2925
#9  0x00007ffff7bbd6db in start_thread (arg=0x7ffff4988700) at pthread_create.c:463
#10 0x00007ffff6e4d88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) p mod_locks[j][k].mode
Cannot access memory at address 0x7573ad656c5d8572
(gdb) p mod_locks[j][k]
Cannot access memory at address 0x7573ad656c5d8572
(gdb) p j
$1 = 0x0
(gdb) p k
$2 = 0x0
(gdb) p mod_locks
$3 = (sr_conn_state_lock_t (*)[3]) 0x7573ad656c5d8572
(gdb) p *mod_locks
Cannot access memory at address 0x7573ad656c5d8572
(gdb)

Regards,
Igor

Hi @igortern, can you tell me which libyang's version did you update to?

Hi Ramon,
I'm currently working with devel branch, waiting for the next release.
Regards,
Igor
Sent from mobile, sorry for typos.
On Tue, 7 Apr 2020, 04:00 Ramon Salém<EMAIL_ADDRESS>wrote:

Hi @igortern https://github.com/igortern, can you tell me which
libyang's version did you update to?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CESNET/Netopeer2/issues/538#issuecomment-609947798,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEX4KW7UUU3OTTASLJNDTFLRLIKELANCNFSM4KKP6AFA
.


map_ramps contain vision blockers and dont contain blocked ramps

Currently, gameinfo.map_ramps contains vision blockers because the current ramp point condition self.placement_grid[(x, y)] == 0 and self.pathing_grid[(x, y)] == 0 is also true for them.
I think it is easier to filter them out by checking if there are different heights in these wrong Ramp objects, but maybe we can also change the ramp point condition in _find_ramps,
On the other hand, ramps that are blocked by destructable rocks are not in map_ramps.
I dont know how to find them.
We have the position of each destructable, but that is only one position, not the whole ramp.
Can we maybe get a footprint of it by its type_id?

Fixed in https://github.com/Dentosal/python-sc2/pull/275

Only partly fixed...
ramps blocked by rocks are still not counted as ramps


With last update I am now getting lots of logging during the build.

👋 friend. Welcome to styled-jsx and thanks for contributing!
⚠ IMPORTANT ⚠
If you need help or have a question about styled-jsx please ask it on Spectrum https://spectrum.chat/styled-jsx or join our Slack community at https://zeit.chat and ask it in the #next channel.
Before you open a new issue please take a look at our Frequent Asked Questions and open issues.
Remember, often time asking in chat or looking at the FAQ/issues can be faster than waiting for us to reply to a new issue*.
If you are here to report a bug or request a feature please remove this introductory section and fill out the information below!

Do you want to request a feature or report a bug?
Small bug
What is the current behavior?
During build I get notifications of plugins loaded:
[styled-jsx] Loading plugin from path: styled-jsx-plugin-sass

If the current behavior is a bug, please provide the steps to reproduce and possibly a minimal demo or testcase in the form of a Next.js app, CodeSandbox URL or similar

Use styled-jsx with the sass plugin.

What is the expected behavior?
No additional logging
Environment (include versions)

OS: Mac OS node 9.11
Browser: (this is a build problem)
styled-jsx (version):

├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>└─<EMAIL_ADDRESS>
Did this work in previous versions?
Yes worked fine prior to the last update and it's not a fatal issue, but kind of annoying.

That's expected. Is it logged many times or just one?

I now get about 20 of this messages when I start dev or build

ouch! Can you make a simple test repo that I can clone and try quickly? If there is a bug it should be fairly easy to fix

It's just a nextjs app. I can put together a demo repo next week I think. But as far as I know I am not doing anything custom with styled-jsx except extracting the css in one place to be able to send a css blob to my cms.

yeah but I don't have a lot of free time recently. So it'd be great if you could set up a repo and integrate a styled-jsx plugin and add a few styles so that I can clone and start to debug right away.

I added a little stack trace to each of the invocations. It looks like babel loads it fresh each time:
[styled-jsx] Loading plugin from path: styled-jsx-plugin-sass at Error: Where
    at /Users/andy/Development/oa-content/app/node_modules/styled-jsx/dist/_utils.js:421:13
    at Array.map (<anonymous>)
    at combinePlugins (/Users/andy/Development/oa-content/app/node_modules/styled-jsx/dist/_utils.js:410:18)
    at setStateOptions (/Users/andy/Development/oa-content/app/node_modules/styled-jsx/dist/_utils.js:545:21)
    at PluginPass.enter (/Users/andy/Development/oa-content/app/node_modules/styled-jsx/dist/babel.js:236:38)
    at newFn (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/visitors.js:223:21)
    at NodePath._call (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/path/context.js:64:19)
    at NodePath.call (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/path/context.js:38:17)
    at NodePath.visit (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/path/context.js:99:12)
    at TraversalContext.visitQueue (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/context.js:135:18)
    at TraversalContext.visitSingle (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/context.js:94:19)
    at TraversalContext.visit (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/context.js:176:19)
    at Function.traverse.node (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/index.js:76:17)
    at traverse (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/index.js:46:12)
    at transformFile (/Users/andy/Development/oa-content/app/node_modules/@babel/core/lib/transformation/index.js:108:27)
    at runSync (/Users/andy/Development/oa-content/app/node_modules/@babel/core/lib/transformation/index.js:35:3)
[styled-jsx] Loading plugin from path: styled-jsx-plugin-sass at Error: Where
    at /Users/andy/Development/oa-content/app/node_modules/styled-jsx/dist/_utils.js:421:13
    at Array.map (<anonymous>)
    at combinePlugins (/Users/andy/Development/oa-content/app/node_modules/styled-jsx/dist/_utils.js:410:18)
    at setStateOptions (/Users/andy/Development/oa-content/app/node_modules/styled-jsx/dist/_utils.js:545:21)
    at PluginPass.enter (/Users/andy/Development/oa-content/app/node_modules/styled-jsx/dist/babel.js:236:38)
    at newFn (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/visitors.js:223:21)
    at NodePath._call (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/path/context.js:64:19)
    at NodePath.call (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/path/context.js:38:17)
    at NodePath.visit (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/path/context.js:99:12)
    at TraversalContext.visitQueue (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/context.js:135:18)
    at TraversalContext.visitSingle (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/context.js:94:19)
    at TraversalContext.visit (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/context.js:176:19)
    at Function.traverse.node (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/index.js:76:17)
    at traverse (/Users/andy/Development/oa-content/app/node_modules/@babel/traverse/lib/index.js:46:12)
    at transformFile (/Users/andy/Development/oa-content/app/node_modules/@babel/core/lib/transformation/index.js:108:27)
    at runSync (/Users/andy/Development/oa-content/app/node_modules/@babel/core/lib/transformation/index.js:35:3)

I am thinking maybe just remove the log message :)

I have the same issue with styled-jsx 3.0.2, these lines are printed 142 times altogether:
[styled-jsx] Loading plugin from path: styled-jsx-plugin-postcss
[styled-jsx] Loading plugin from path: styled-jsx-plugin-stylelint

How can we disable these logs?

Can you prepare a minimal next.js app and wire up a plugin so that I can debug? It should load those only once

This reproduces the issue for me:
git clone https://github.com/sedubois/lingui-and-styledjsx-debug
cd lingui-and-styledjsx-debug
yarn
yarn dev

This shows the same as in the image above.

Bump. I get a wall of logs and Im not even using Next.js

Getting this on a lot of my repos as well. Nothing but a massive wall of [styled-jsx] Loading plugin from path: styled-jsx-plugin-sass every time I build.

The log is in _utils.js on line 488, inside of the combinePlugins function:
log('Loading plugin from path: ' + plugin)

This function is called inside setStateOptions, which is called on every <style jsx/> tag in each file. Hence, the numerous logs.

Plugins are supposed to be cached so should only load once:
https://github.com/zeit/styled-jsx/blob/bd7ae2a7f2ea755c54ecaabbd84b4337a14664f3/src/_utils.js#L636
But for some reason it's not working. Maybe some concurrency involved?

state is per file that's probably why this piece executes once per file i.e. multiple times per compilation. Probably we can keep a module variable and do that only once.

Also of note (this may be a separate issue), when I run webpack --profile --json > ./stats.json to export a stats file to analyze in a tool, the JSON is invalid because [styled-jsx] Loading plugin from path: styled-jsx-plugin-sass is printed at the top of the file. Only after manually opening the file and removed those logs does the JSON become valid.

Bump, This is making build status unreadable

There's a pull request (#518) up that fixes this. Looks like it'll be merged once approved and released shortly after. @giuseppeg any ETA on release?

@eliasthompson I'll try to get this out today or tomorrow

Just released 3.1.1 which includes this fix. If you are using Next.js you will have to wait for this to be merged and a new version of canary to be released https://github.com/zeit/next.js/pull/5617

I just upgraded to 3.1.1, and I'm still getting the excessive log output. Not using Next; just plain Webpack with babel-loader.

oh boy :) @atombender can you put a sample repo together?

@giuseppeg Here. Output:
$ yarn run server
yarn run v1.12.1
$ PORT=3000 NODE_ENV=development node -r @babel/register -r @babel/polyfill ./server.js
Server listening on port 3000
[styled-jsx] Loading plugin from path: styled-jsx-plugin-sass
[styled-jsx] Loading plugin from path: styled-jsx-plugin-sass
[styled-jsx] Loading plugin from path: styled-jsx-plugin-sass
webpack built b9ba76b59637eee11fa7 in 1483ms
ℹ ｢wdm｣: Hash: b9ba76b59637eee11fa7
Version: webpack 4.23.0
Time: 1483ms
Built at: 11/07/2018 12:36:45 PM
    Asset      Size  Chunks             Chunk Names
   app.js  1.44 MiB    main  [emitted]  main
app.js.gz   305 KiB          [emitted]
Entrypoint main = app.js
[0] multi ./src/index.js webpack-hot-middleware/client 40 bytes {main} [built]
<EMAIL_ADDRESS>893 bytes {main} [built]
[./node_modules/ansi-html/index.js] 4.16 KiB {main} [built]
[./node_modules/debug/src/browser.js] 4.62 KiB {main} [built]
[./node_modules/react-dom/index.js] 1.33 KiB {main} [built]
[./node_modules/react-hot-loader/index.js] 676 bytes {main} [built]
[./node_modules/react/index.js] 190 bytes {main} [built]
[./node_modules/strip-ansi/index.js] 161 bytes {main} [built]
[./node_modules/webpack-hot-middleware/client-overlay.js] (webpack)-hot-middleware/client-overlay.js 2.16 KiB {main} [built]
[./node_modules/webpack-hot-middleware/client.js] (webpack)-hot-middleware/client.js 7.59 KiB {main} [built]
[./node_modules/webpack-hot-middleware/process-update.js] (webpack)-hot-middleware/process-update.js 4.26 KiB {main} [built]
[./node_modules/webpack/buildin/harmony-module.js] (webpack)/buildin/harmony-module.js 573 bytes {main} [built]
[./node_modules/webpack/buildin/module.js] (webpack)/buildin/module.js 497 bytes {main} [built]
[./src/App.js] 3.55 KiB {main} [built]
[./src/index.js] 842 bytes {main} [built]
    + 311 hidden modules
ℹ ｢wdm｣: Compiled successfully.

Looks like one gets a new [styled-jsx] Loading plugin from path: styled-jsx-plugin-sass line for each component loaded that contains <style jsx>.
Node 10.11.0.

@giuseppeg It happens here, in styled-jsx-plugin-sass. The settings are:
{
  "sassOptions": {"includePaths": ["./src/styles"]},
  "babel": {
    "location": {
      "start": {"line": 10, "column": 20},
      "end": {"line": 14, "column": 9}
    },
    "vendorPrefixes": true,
    "sourceMaps": false,
    "isGlobal": false,
    "filename": "/Users/alex/Trash/styledtestcase/src/Thing2.jsx"
  }
}

If I comment out the includePaths.push() line, the logging only occurs once.

@atombender great thank you! This is definitely an issue with the sass plugin now. It shouldn't push the same directory multiple times and probably only push new "base" directories. I think that if includePaths has ./src/ for example probably it can easily include files from subfolders so we don't need to push ./src/something/ for example. Can you make a PR to styled-jsx-plugin-sass to fix this?

I can work on a PR, but this might be a breaking change, if people have accidentally used relative imports. For example, @import "foo" will find ./src/foo.scss or whatever today, but not if we fix the path modification.

Why not just remove the log? I don't see that it's very useful anyway.

@ricardo-cantu that doesn't solve the real issue. We should fix the behavior above first and then we can discuss about removing the log message if it is still annoying.
@atombender I created an issue on the plugin repo https://github.com/giuseppeg/styled-jsx-plugin-sass/issues/27

The update is great and works for me after a clean npm install, but I'm still getting the Webpack JSON profile issue, so I split that off into a separate issue, #520. Thanks for the fix @giuseppeg!


Add alarm sound

Handy alarm, if you're running the bot while being on your computer or if you want to be awakened for choosing an appointment.

That's a cool new feature! Nice idea, instead of using some audio file, just generating the sound programmatically - didn't thought of that.


Create scie.txt

@Flesh12138 I am sorry, I have to close this request without merging, because you requested to add a non-existent domain to this repository:
$ host scie.edu
Host scie.edu not found: 3(NXDOMAIN)

Please ensure you are familiar with this repository rules located at the bottom of this page and submit a new request with correct information. Thank you for the understanding!


[discussion] example for multiple "models" and passing data between them

taken from php-mvc

Mabey something very similar to the original php-login model handling system? I rather enjoyed that system and found it very easy to use (for most cases). If I get a chance this week I'll make a fork and start playing around with model loading.

hey guys, this is now implemented in MINI3, please find and test it here :) https://github.com/panique/mini3


Not working?

App not working. Why?

Several reasons check out #130 for an example of the biggest


Can't get brunch to pass bootstrap.scss through sass-brunch

Description
I'm using brunch with sass-brunch and bootstrap-4.0.0-alpha.2 as an npm-installed module; Bootstrap's javascript is being output in vendor.js like I want, but its CSS isn't ending up in vendor.css. Here's a small example project: https://github.com/bryanstearns/brunch-starter-bootstrap4
I'm new to brunch; I can't tell whether this is my own lack of knowledge (likely!) or a bug, so I asked this in this Stack Overflow question too.
I can see from the build output (below) that sass-brunch is successfully being used to process app/styles/main.scss - there's a brunch:pipeline line that shows it, and its transformed output appears in app.css. However, though a few lines near the top seem to indicate that it's found and compiled bootstrap's bootstrap.scss, and a brunch:generate line near the bottom appears to show that it's concatenated it to vendor.css, that file is empty except for the comment that points at vendor.css.map (/*# sourceMappingURL=vendor.css.map*/), and that map only contains {"version":3,"sources":[],"names":[],"mappings":"","file":"public/vendor.css"}.
Things I tried that didn't work:

Adding a plugins.sass.options.includePaths: ['node_modules/bootstrap/scss'] setting to brunch-config.js`; no change in output.

Adding a paths.watched: ['app', 'test', 'vendor', 'node_modules/bootstrap/scss'] setting to brunch-config.js -- it then seems to find & watch all the files in that directory, but still isn't sending bootstrap.scss through the brunch pipeline to where sass-brunch can have a crack at it.

This might be a red herring, but: I tried to trace through the code to find a difference between the path taken for main.scss and bootstrap.scss - the only thing I found was in brunch's pipeline.js, it looks like deppack.isNpm(path) returns true for bootstrap.scss and false for main.scss, but I wasn't able to trace further to see what the effect of this difference is.
Sorry if this is a newbie mistake - I appreciate any help.
 Closing this issue.


improved pipelien

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

Project coverage is 81.98%. Comparing base (b4fb957) to head (c4173b7).
Report is 3 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main       #8   +/-   ##
=======================================
  Coverage   81.98%   81.98%
=======================================
  Files           2        2
  Lines         161      161
  Branches       44       44
=======================================
  Hits          132      132
  Misses          4        4
  Partials       25       25

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


Build a dedicated sample project

Right now I'm testing against a sample of the Learning Log project from Python Crash Course, because supporting that project was my original motivation for this kind of work.
That will work for initial rapid development, but if this project is going to stay around for a while it should have its own sample Django project for development and testing purposes. This should be a simple generic blog app, so we all understand it without having to learn the context of a project.

I've created a simple blog project for this purpose in a separate, private repo. Integrate that project into this one:

[ ] Use dsd on the new project, and make sure it works.
[ ] Copy the project into this repository.
[ ] Modify integration tests to run against this project, rather than the external Learning Log project.


Matrix testing and multiple testbeds are needed in CI

We need the following abilities integrated into our repo for drone

[x] Support for a clean and identical testbed for each test run
[ ] Support for multiple test beds
[x] Address #650

Renaming this issue for matrix testing.

Duplicate of https://github.com/vmware/docker-volume-vsphere/issues/161


🚀 Feature: Analytics for Chatbot and Images on their pages

🔖 Feature description

add likes and report analytics for
chatbot
images

🎤 Why is this feature needed ?
for better understanding of engagement
✌ How do you aim to achieve this?
adding a total likes and reports count and ranking images and chatbots
🔄 Additional Information
No response
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

Are you willing to submit PR?
Yes I am willing to submit a PR!

Yup this feature is needed


Fix U.S. Area Code Generation (Fixes #1837)

Ensures phone numbers generated are valid.
Regular expressions extracted from the PHP port of Google's libphonenumber via the PHP port:
https://github.com/giggsey/libphonenumber-for-php/blob/f3a55dcb6fead9d4fb291c6dadda0564e5ae8d3f/src/data/PhoneNumberMetadata_US.php#L29

It doesn't look like the ImageTest is failing because of me: getimagesize(): Read error!

It doesn't look like the ImageTest is failing because of me: getimagesize(): Read error!

Correct, fix for this is already pushed in a PR for the 1.9.0 release.
This fix will solve #1837

Could we maybe add some tests?

Yeah, I wasn't sure on the best approach for testing this beyond what is already there.  I could check the output against the full regex, or I could pull in libphonenumber-php as a dev dependency and check it against that.
Actually that way we could easily test all of the different locales, though I suspect that could trigger even more failures.  Specifically, CA and other +1 countries should use similar logic to this.

Yeah, I wasn't sure on the best approach for testing this beyond what is already there. I could check the output against the full regex, or I could pull in libphonenumber-php as a dev dependency and check it against that.
Actually that way we could easily test all of the different locales, though I suspect that could trigger even more failures. Specifically, CA and other +1 countries should use similar logic to this.

Well we clearly have an issue with the 96 one which should not be there. So we can test that one right? Or even all the formats that can match

Please see #1792 which I submitted a while ago. It fixes #1837. I just rebased and tests are passing.


Namespace collisions

There can be namespace collisions when a namespace has a subspace and this subspace name is used as the root namespace in another project.
To resolve the problem the generated constructor should generate parameters with the global keyword:
global::Name.Space.TypeName x

In case this repo is dead, I have fixed it here: https://github.com/skbkontur/PrimaryConstructor/commit/064c1bbe23bbc017ee77a7711f0ddb1768f64702


Add FragmentCache functional

Q
A

Is bugfix?
✔

New feature?
✔

Breaks BC?
✔

Fixed issues

Changes
DynamicContentAwareTrait.php

Fixed type mismatch error if evaluateDynamicContent method returns non-string result.

View.php

Minor fixes in PHPDOC.
Added private property FragmentCacheInterface $fragmentCache.
Added private property string $placeholderDynamicSignature. It contains a random signature to fix the signature intersection issue.
Added $fragmentCache initialization to the constructor.
The setPlaceholderSalt method is replaced by generatePlaceholderSignatures. This method populates the $placeholderSignature and $placeholderDynamicSignature properties.
Backslash added to basic php functions.
The renderDynamic method now uses a dynamic (random) signature, because when using a constant signature, an error occurred with the intersection of dynamic insert names when using data from the cache in another cached fragment.
Added $ instance parameter to the popDynamicContent method to check the correct cache closing sequence.
Added a public beginCache(string $id, array $params = [], array $vars = []): ?FragmentCache. This method starts fragment caching and returns an object of the FragmentCache class or null if the data is found in the cache. The parameters of the method are the same as those of the beginCache method of the FragmentCache class. If data is found in the cache, it will be automatically output to the stream. If the data is not found in the cache, it is necessary to generate new data and at the end call the endCache method on the returned object to save the data in the cache and finish caching.

WebView.php

Calls of methods registerMetaTag, registerLinkTag, registerCss, registerCssFile, registerJs, registerJsFile, registerJsVar, setCssFiles, setJsFiles, setTitle are now cached along with the main content.

Added class Yiisoft\View\FragmentCache.
Added Yiisoft\View\FragmentCacheInterface interface.

This interface is used in the Yiisoft\View\View class to implement caching.

Description of the implementation of the Yiisoft\View\FragmentCache class.

This class implements the Yiisoft\View\FragmentCacheInterface interface and is used in the Yiisoft\View\View class.
Public properties:

int $duration = 60 - Caching time (can be changed during content generation).
bool $enabled = true - Cache activity (can be changed during content generation to false, changing from false to true will have no effect).

Public methods

beginCache(?View $view, string $id, array $params = [], array $vars = []): self

The method returns a cloned instance of itself, tries to read the content from the cache, and if it fails, starts caching.
Method parameters

$view - a link to a Yiisoft\View\View instance to register itself as an object of the Yiisoft\View\DynamicContentAwareInterface.
$id - String unique identifier of the cached block.
$params - Array of parameters. Possible parameters:

duration (int) - Caching time.
enabled (bool) - Cache activity (ignored if caching was disabled earlier).
cache (Psr\SimpleCache\CacheInterface|Yiisoft\Cache\CacheInterface)
dependency - If you use a cache that supports the Yiisoft\Cache\CacheInterface interface, you can transfer dependencies here.
variations - Additional data defining the uniqueness (variability) of the data. Added to id for variability.

$vars - Array of variables used in the fragment. Variables are not saved in the cache.

endCache()

The method ends the previously started caching with the beginCache method.

getStatus(): int

The method returns the status of the cached object. Possible statuses:

STATUS_NO - This is the root object used to call the beginCache method.
STATUS_INIT - This is the cloned object during the initialization phase.
STATUS_BEGIN - Caching in progress (after calling beginCache).
STATUS_END - Caching completed (after calling endCache).
STATUS_IN_CACHE - The content was received from the cache, a call to endCache is required to output data to the stream (after calling beginCache).

renderVar(string $name): string

The method returns the value of the variable (the signature or the value itself).

Variable content

Sometimes it is necessary to cache a large fragment, but there is a line in it that may change. You can use the variations value of the beginCache method parameters, but unlike variations, using variables allows you to store one instance of cached data.
Variable content differs from dynamic content in that it is calculated not after the formation of all content, but before the start of caching and can interact with the current environment and data. Also, when re-caching, the top-level cache will cache the variable content as text, not as variable content.

Configuration example:
final class WebViewProvider extends ServiceProvider
{
    public function register(Container $container): void
    {
        $container->set(FragmentCacheInterface::class, function (ContainerInterface $container) {
            return new FragmentCache(
                $container->get(CacheInterface::class),
                $container->get(LoggerInterface::class)
            );
        });
        $container->set(WebView::class, function (ContainerInterface $container) {
            $defaultParameters = [];
            $aliases = $container->get(Aliases::class);

            $webView = new WebView(
                $aliases->get($this->basePath),
                $container->get(Theme::class),
                $container->get(EventDispatcherInterface::class),
                $container->get(FragmentCacheInterface::class),
                $container->get(LoggerInterface::class)
            );

            foreach ($this->defaultParameters as $key => $value) {
                $defaultParameters[$key] = $container->get($value);
            }

            $webView->setDefaultParameters($defaultParameters);

            return $webView;
        });
    }
}

An example of using dynamic content:
if ($cache = $this->beginCache('test/test')):

?> Data Data Data <?= $this->renderDynamic('return date("d.m.Y H:i");') ?> Data Data Data <?php

	$cache->endCache();
endif;

An example of using variables (they are not saved in the cache):
if ($cache = $this->beginCache('test/test', ['duration' => 3600], ['content' => $content])):

?> Data Data Data <?= $cache->renderVar('content') ?> Data Data Data <?php

	$cache->endCache();
endif;

Tests and documentation
There are no tests and documentation.

Thanks for contribution. There are 2 issues with this pull request:

It breaks current unit tests.
There are no tests for functionality added.

Thanks for contribution. There are 2 issues with this pull request:

It breaks current unit tests.
There are no tests for functionality added.

Locally, Unit tests are all passed. What's wrong with them on GitHub?

Fixed tests. They pass locally now.
@terabytesoftw seems we have https://github.com/yiisoft/yii-widgets/blob/master/src/FragmentCache.php ... Would you please check it overall?

Fixed tests. They pass locally now.
@terabytesoftw seems we have https://github.com/yiisoft/yii-widgets/blob/master/src/FragmentCache.php ... Would you please check it overall?

The idea of FragmentCache is to save a part of the view in Cache, this PR goes much further, it is practically a View Cache, which in the end can cause problems in the view with the record of assets and the operation of the view. The functionality could be updated in the FragmentCache Widget in yii-widgets.

Fixed tests. They pass locally now.
@terabytesoftw seems we have https://github.com/yiisoft/yii-widgets/blob/master/src/FragmentCache.php ... Would you please check it overall?

The idea of FragmentCache::class is to save a part of the view in cache, this PR goes much further, it is practically a view cache, which in the end can cause problems in the view with the register of assets and the operation of the view. The functionality could be updated in the FragmentCache Widget in yii-widgets.

Explain what problems with assets registration are we talking about?
What are the benefits of implementing a widget (other than complication)?
The FragmentCache widget does not seem to work as expected. Most likely its current implementation will not be compatible with the current widget implementation.
The widget will definitely not work like this:
FragmentCache::begin(...);
FragmentCache::end();

Fixed tests. They pass locally now.
@terabytesoftw seems we have https://github.com/yiisoft/yii-widgets/blob/master/src/FragmentCache.php ... Would you please check it overall?

The idea of  is to save a part of the view in cache, this PR goes much further, it is practically a , which in the end can cause problems in the view with the register of assets and the operation of the view. The functionality could be updated in the FragmentCache Widget in yii-widgets.FragmentCache::class``view cache

Explain what problems with assets registration are we talking about?
for example https://github.com/yiisoft/assets/issues/8

What are the benefits of implementing a widget (other than complication)?
Having a simplified view, your code adds a lot of complexity, which can lead to errors in the operation of the view,

The FragmentCache widget does not seem to work as expected. Most likely its current implementation will not be compatible with the current widget implementation.
The widget needs to be updated.

The widget will definitely not work like this:
FragmentCache::begin(...);
FragmentCache::end();
With the widget it is only used in the required view.

Fixed tests. They pass locally now.
@terabytesoftw seems we have https://github.com/yiisoft/yii-widgets/blob/master/src/FragmentCache.php ... Would you please check it overall?

The idea of  is to save a part of the view in cache, this PR goes much further, it is practically a , which in the end can cause problems in the view with the register of assets and the operation of the view. The functionality could be updated in the FragmentCache Widget in yii-widgets. FragmentCache::classview cache ``

Explain what problems with assets registration are we talking about?
for example yiisoft/assets#8
What are the benefits of implementing a widget (other than complication)?
Having a simplified view, your code adds a lot of complexity, which can lead to errors in the operation of the view,
The FragmentCache widget does not seem to work as expected. Most likely its current implementation will not be compatible with the current widget implementation.
The widget needs to be updated.
The widget will definitely not work like this:
FragmentCache::begin(...);
FragmentCache::end();
With the widget it is only used in the required view.

Note: It is a bad idea to cache all view values.

You misunderstand the meaning. This is not something that gets passed to the view. And the cache has nothing to do with the view.

for example yiisoft/assets#8
This is in no way related to the cache and takes place even without the cache.

Having a simplified view, your code adds a lot of complexity, which can lead to errors in the operation of the view,
Do you think there is more complex logic in the FragmentCache widget? If not, what's the point of discussing this?
You still cannot explain what you mean.

The widget needs to be updated.
It's easier to rewrite from scratch than to finish what is there.

With the widget it is only used in the required view.
This is very bad.


MRI Scripts

Supported commands are:
OPEN file_name
CREATE file_name
CREATETHIN file_name
ADDMOD file1 file2 file3 ...
LIST
DELETE file1 file2 file3 ...
EXTRACT file1 file2 file3 ...
SAVE
CLEAR
END
The CREATETHIN and LIST command currently does not work as wanted. CREATETHIN just creates a normal archive as we currently dont have any way to specify type. LIST is expected to show in verbose, again something missing from API.
Apart from these, ADDLIB command is also needed but currently missing because API doesnt have its features.
All in all, ignoring the problems with ADDLIB and CREATETHIN, zar MRI scripts are more powerful and capable than llvm-ar's MRI scripts.
Anything after * or ; are treated as comments. A command cannot span across multiple lines.


Fix: Made mapstats responsive.

Fixes #951

gorgeous UI , but menu isn't working. You should have tested this on mobile before deploying. Toggling the menu open a list which is transparent!! A total mess!!

@deep5050 @jeremyphilemon i have fixed it here can you guys look at it once PR #957.

@Binu42 Yeah, looks great. One suggestion, could you please make the animation a little bit faster? And fix the UI problem on essential page (mobile) i.e. please center align the feedback and add button??

@Binu42 Yeah, looks great. One suggestion, could you please make the animation a little bit faster? And fix the UI problem on essential page (mobile) i.e. please center align the feedback and add button??

ya sure

@deep5050 Hey thanks for the feedback, we did test on mobiles extensively before rolling out the new navbar. Unfortunately, it looks like the it is being supported by old browsers' webkit.
Could you share details on what phone/browser you were using?
@Binu42 I'll get back to you wrt to your PR :)

@jeremyphilemon I'm on on redmi 6 ,latest MIUI 11 , most recent version of chrome.
Thanks.

Fixed! Thanks for you feedback boi.

@jeremyphilemon why to let me scroll when navbar is open. this is not expected behaviour, and my PR is solving responsive of homepage and navbar in better way.

@jeremyphilemon why to let user scroll when navbar is open. this is not expected behaviour, and my PR is solving responsive of homepage and navbar in better way. it will be good if you look at it once.

Agreed :)

@Binu42 hey, I'd really appreciate it if you could open a separate PR that fixes the navbar scroll issue!


The temporary uploads directory needs to be relocated under $HOME/.local

Describe the bug
To get around problem with moving uploaded files across volumes, the $HOME/uploads was used as the temporary uploads directory, as well as the final location. The problem with this is that the node application creates the directory when it starts up, even before it is needed. Thus it pollutes the home directory even when uploads are not being used.
The temporary directory $HOME/.local/share/workshop/uploads should be used instead.
Additional information
No response

This was also wrong because of the fact that the uploads directory was actually customisable and would default to the home directory.


Devtools in lightmode is almost unreadable

I thought I had broken something but I realize the colors for text are just very faint

This is how the items I'm hovering over look like

yikes, thanks for the issue, will try to resolve this issue as soon as i can

fixed in 0.8.9


Add resized welcome-bot banners

Re https://github.com/pymc-devs/pymc/issues/7323
With this PR we are adding a new version of the welcome-bot banners (resized to 910x483).
The images were resized with ImageMagick.
Example:
convert -resize 910x BannerCongratulations.jpg -quality 90 BannerCongratulations_resized_910.png

@markgreene74
Thanks for this PR. Is there a specific reason why the images need to be resized?

Is there a specific reason why the images need to be resized?

Hi @reshamas - it's related to https://github.com/pymc-devs/pymc/issues/7323

@markgreene74 OK, thanks for the background.
Can you add the original images back and rename then with a prefix "_orig". That way in case we need them to resize, or some other reason, they are available here.
After that, we can merge this PR in.

That's done now @reshamas

Thank you @markgreene74


Simtel histogram operations

This PR addresses #642. Here I start the development of a tool to estimate the trigger rate for CTA. In this very first step, I only expand the simtel_histograms module, following Konrad's recipe as described in #642.
Main changes:

Expanded integration tests of simtel_histograms to check the existence of the expected output file;
Implemented functions in simtel_histograms to calculate the trigger rate for all the histograms passed to the Class.

Overall progress and next steps can be found in  #642.

Thanks for the review @GernotMaier ! I adjusted the docstring once more, and will wait for the tests to pass before merging. Please let me know if something is still missing.

@VictorBarbosaMartins - have a quick look at my comment above; merge if you want.


FutureWarning

Getting this warning when running:
FutureWarning: iteritems is deprecated and will be removed in a future version. Use .items instead.

Thanks for letting me know, I'll release a new version shortly

Fixed in v1.2.2


FreeBSD fixes

Attached are a small number of fixes to make bish usable on FreeBSD. :-)

Thanks :-).


Denied

$ git clone git@github.com:awes-io/demo.git
Cloning into 'demo'...
The authenticity of host 'github.com (<IP_ADDRESS>)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,<IP_ADDRESS>' (RSA) to the list of known hosts.
<EMAIL_ADDRESS>Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Moved on


Cleanup previous assited installation

Not cleaning up the postgress DB makes that previous deployments have access to other deployments data.
TestBos2: assisted

recheck

retest

retest


Compilations are regularly out of date due to non-deterministic classpath ordering

Expected Behavior
Classpath order should be consistent or irrelevant when containing unique elements
Current Behavior
We regularly see Kotlin and Java compilations (both of which extend AbstractCompile) re-run due to dependencies on their classpath property changing order. This is a big drain on productivity and there doesn't seem to be any rhyme or reason. We can see why they re-ran in build scans.
This is one example, where the only change was to a test source file yet several projects recompiled.

The task was not up-to-date because of the following reasons: |
-- | --
Input property 'classpath' file /Users/zsweers/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-parcelize-runtime/1.4.32/8ba46fd36616d05f01881df92ee389029ad3f823/kotlin-parcelize-runtime-1.4.32.jar has been removed. |
Input property 'classpath' file /Users/zsweers/.gradle/caches/modules-2/files-2.1/slack.internal/slack-lint-annotations/00003/241d2cec0576e17eef9cb4a5419273f8f9ab1e8f/slack-lint-annotations-00003.jar has been added. |
Input property 'classpath' file /Users/zsweers/.gradle/caches/modules-2/files-2.1/com.jakewharton.rx3/replaying-share-kotlin/3.0.0/af8b55f3f0a03bdd7934550ae0e4af77de886c7f/replaying-share-kotlin-3.0.0.jar has been removed. |

Context
See above
Steps to Reproduce
I'm not able to decipher what causes this in gradle, but suspect it's due to the combination of the classpath being order-sensative and gradle's underlying components operating in parallel when adding dependency jars to the classpath property.
Your Environment
Gradle 6.8.3, macOS 11.2.3

Could this be related to? https://github.com/gradle/gradle/issues/15626

The @Classpath annotation makes order relevant because of the shadowing property of a classpath on the JVM: files found first will hide ones found later.
How are the classpath of the tasks composed? Dependency resolution only or some form of FileCollection merging on top?

or irrelevant when containing unique elements

Can you clarify what you mean with the above? The order of elements in a list of one element should never be an issue.

I don't know how they're composed, most of this is wholly opaque to consumers. We see it in both KotlinCompile and JavaCompile tasks

It reads to me like gradle has non-deterministic ordering of inputs on the classpath property and should offer a means of sorting them to make them deterministic. Between this issue and the related #15626, there doesn't seem to be a reliable way to trace where these are coming from and when.

or irrelevant when containing unique elements

This might be a technical infeasibility, but if they jars contain distinct classes then I'd expect it not to matter what order they're in. If I have lib1.jar with classes A, B, and C and lib2.jar with classes D, E, and F, why does it matter what order the jars are in?

I am sorry but in the screenshot provided I do not see the ordering difference. Was there more content below what was shared?

> or irrelevant when containing unique elements

This might be a technical infeasibility, but if they jars contain distinct classes then I'd expect it not to matter what order they're in. If I have lib1.jar with classes A, B, and C and lib2.jar with classes D, E, and F, why does it matter what order the jars are in?

My bad, I misunderstood "unique". I see what you are suggesting but I fear that would be quite a cost as instead of only snapshotting JARs, Gradle would need to also identify any class overlap.

AGP does a post-processing task check for duplicate classes that can run in parallel, would that be a reasonable compromise?
https://android.googlesource.com/platform/tools/base/+/studio-master-dev/build-system/gradle-core/src/main/java/com/android/build/gradle/internal/tasks/CheckDuplicateClassesTask.kt

Sorry I missed the first part of that

I am sorry but in the screenshot provided I do not see the ordering difference. Was there more content below what was shared?

I can try to get more but it's a large output and Gradle Enterprise doesn't always render it well nor offer an easy way to share it. Here's another text-only output

The task was not up-to-date because of the following reasons: |
-- | --
Input property 'classpath' file /Users/zsweers/.gradle/caches/modules-2/files-2.1/slack.internal/jsr250/00001/73264bd42585df63ad72dd8af4cc1bd2e39aa873/jsr250-00001.jar has been removed. |
Input property 'classpath' file /Users/zsweers/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core-jvm/1.4.3/1051e11eb789ed1df93412bebe0f06e9d29160e4/kotlinx-coroutines-core-jvm-1.4.3.jar has been added. |
Input property 'classpath' file /Users/zsweers/.gradle/caches/transforms-3/644465c02ac6678e96cf29655143b779/transformed/appcompat-1.2.0-api.jar has been removed.


Bread delete feature layout is broken when Server Side Processing

Laravel Version: 5.5.13
Voyager Version: 1.0.4
PHP Version: 70.
Database Driver & Version: Mysql 5.7.19

Description:
Bread delete feature layout is broken when Server Side Processing

Steps To Reproduce:

Create bread for users table with server side option

Try to delete a user

Confirm

What's the error you get?

It's a design issue ,not program

This was fixed in https://github.com/the-control-group/voyager/pull/2801 and will be included in 1.1


Could you update npm to the latest version?

Thanks for this lib!
Rethink doesn't get much love when it comes to sails.
But the version on npm has some runtime errors, but it looks like it's been fixed here.
Could you update what's on npm with what's currently in master?
Thanks again!

Update npm version to 1.0.3, please let me know if you have any problems.
On Sun, Oct 9, 2016 at 8:11 AM, Michael Beckler<EMAIL_ADDRESS>wrote:

Thanks for this lib!
Rethink doesn't get much love when it comes to sails.
But the version on npm has some runtime errors, but it looks like it's
been fixed here.
Could you update what's on npm with what's currently in master?
Thanks again!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/gutenye/waterline-rethinkdb/issues/1, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAXCyM_biA7cskMgYO0P3KcnLL9dEbDYks5qyDEngaJpZM4KR3GX
.

--
JavaScript, Go, Linux and Open Source

g http://GutenYe.comuten.me
github.com/g http://Github.com/GutenYeutenye

@gutenye thank you!


Parse US formatted date into DateTime object

previously was parsing day and month in reverse
'1/12/2017' would result in '2017-12-01'
'1/13/2017' would result in 'invalid date' ArgumentError

LGTM


updating gemfile.locks to pull in ohai 18.0.14

Signed-off-by: John McCrae<EMAIL_ADDRESS>We released version 18.0.14 of Ohai a couple of days ago. Now pulling that into Chef
Description

Related Issue

Types of changes

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

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[ ] All commits have been signed-off for the Developer Certificate of Origin.

Looks like we can close this one in favor of #12973


Refactor: Improve deezer api interface

Currently using https://github.com/krachot/passport-deezer to get complete oauth and homebrew superagent request to get history. Improvements that could be made:

[ ] Improve homebrew implementation

[ ] Explore actual deezer error message and implement an interface (currently using placeholder error handling from subsonic)
[ ] Implement an interface for history response

[ ] Replace homebrew with proper library

[ ] Contribute to https://github.com/tanukijs/deezer-api-ts using oauth from homebrew or from https://github.com/NarumiLy/deezer-api to get private api endpoints working
[ ] Contribute types for private endpoints used in MS

Deezer API has been discontinued and the MS Deezer source has been deprecated. #175


Support GHC 8.1.

It would be great to have a release soon, currently all Travis-CI jobs with GHC HEAD which use hashable are broken.

@svenpanne use --allow-newer (or hashable specific versions of that flag). See e.g. https://github.com/ekmett/bytes/blob/4b933f8b650b29567b684d67ac8c2979776a0895/.travis.yml#L31
IMHO it's a bit too early to push GHC 8.2 stuff to Hackage.

I don't understand what's the point of not relaxing the upper bound and releasing a new version: hashable compiles and its tests work. Telling all clients of hashable to use the --allow-newer sledgehammer instead of doing the real stuff upstream is a bit lazy and somehow contradicts the intention of version bounds.

@svenpanne you can say (in cabal) --allow-newer=hashable.
Also hashable compiles and tests works /now/, the 8.1 isn't frozen yet. It's unluckily to broke, but it's not impossible.
Also deepseq introduces NFData1, which Hashed could implement if @tibbe decides to include NFData Hashed, but it's not yet clear what the next version of deepseq would be (e.g. current primitive on Hackage fails to build).
It's not fair to ask maintainers to keep their libraries up to date with the unreleased bleeding edge.

I think asking maintainers to keep their libraries up to date with the unreleased bleeding edge is the only way to get a smooth transition in the package ecosystem when a new GHC comes out: At that point, you definitely don't want to use --allow-newer, otherwise you could just remove your upper version bound. So you are basically forced to wait until all packages up the dependency chain have updated their version bounds and do a release, which can take quite a long time if you have a lot of dependencies. If package maintainers release proactively, this is much less painful. hashable itself has very few dependencies, so it is not affected very much by this problem, but think about other packages much farther down the dependency chain. Another option would be using less strict version bounds, but that has other implications.
In a nutshell: Having very strict version bounds and not updating/releasing proactively does harm to the whole package ecosystem, but that's just my opinion...

@svenpanne I agree that it's good to prepare for GHC release, but can't we wait till the first (which won't be the last) release candidate?

That would be OK, I guess: https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-8.2.1 says that a RC should be available in a few weeks, and we all have a time window of about 2 months to fix/update packages then.

As you both seem to agree, there's a trade-off between

getting hashable working with an unreleased GHC, to reduce latency between the GHC release, the hashable release, and the release of dependent packages, and
avoiding duplicating work in case of GHC changes before release.

There's also a difference between having hashable HEAD working with the unreleased GHC, so people can test it using e.g. Stack, and having a released version of hashable that does. The latter can be dangerous because late changes to GHC could invalidate the Hackage release (e.g. it might not build, etc.) and we can't withdraw releases (although we could perhaps update the Hackage metadata so the package doesn't get picked up).
I wish the Haskell community would be slower to pick up new compilers (like many other communities) and we could use 1-2 months after the GHC release to get everything working, but that's not the case.
I'm OK making the compromise that once the GHC RC is out, we can try to make a release.

This was resolved in 4b847ef6f358f66119cf102991d07a3588c889db.


[Question] futur development

Hi
Thanks for your work. What is your plan for the future development ?
I believe a good feature who was in Norwell was the query search, especially the « - » operator. Example: « history -google ». It's a very good feature, not implemented in the built-in Firefox history.
Do you think implement this soon ?

For future development, I plan to do what I listed in ReadMe's todo.
For improved search, I wonder if there's some query language that could be easily included to do exactly this. I did a quick search in npm registry, but I'm not sure what keyword I should use. I'm not sure yet how I could implement - search yet.
I could quickly include datatables multi-filter which adds search fields to all columns.
My personal use case when I needed this was to have a date range picker to quickly see history based on a date range. I created the following feature/date-range-picker branch which I will update with master shortly.

Yes, I've seen your ReadME, but I only ask if you plan  to continue the dev and when ? When do you think to implement Query search ?
I've readen the Norvell source code. If I know trumpai code, he use Regex. To answer to your question posted 8 month ago at https://addons.mozilla.org/en-US/firefox/addon/norwell/reviews/, to see source code simply download the extension and unzip it. As Trumpai says, this code is already Open Source. If you want reuse portions of his code, you must ask him to place it under MIT licence.
There is no dependencies in the Trumpai plugin. It's cool, because I think it's lightweight. Maybe it's not necessary to search in npm registry
If I understand the Norwell plugin, he push only the result who match the regex.

For search  « history -google »:

retrieve all history who match « history » and who don't match « google ».
i.e. result = /^.+history.+$/ - /^+google.+$/

For search « "history google" » (surround by double quotes or simple quote)

retrieve all history who match /^.+history google.+$/.

For the date, if I understand the Norwell plugin, he use the javascript Date Object. Each column is associated to a Date. It displays only raw with Date => minDate && Date <= maxDate.
Maybe (it's not sure) in one month I'll could try to help you. But I'm not really sure to have any time. There is not emergency, actually we have Firefox ESR for legacy plugins ;-), or Waterfox (but I don't know if it is very secure).

For query search I think something like
``javascript
let result = [];
allHistory.forEach(function(item){
date = retrieveDate(item);
if (date >=Date && date <=Date && isMatch(item, regex)){
result.push[item];
}
})
I don't know if it's possible to do something like that.

I try to write a pull request ;-)

I like the idea. Maybe we could have a enable regex search checkbox so one could search using a regex string directly.
I also plan to add some unit tests to the project just to make additions keep working on the long term. Project is already set to run them automatically in travis.

I've had not a much time this afternoon. The next week, I will not have lot of time too, but probably some hour the next week-end.
I believe we must customize https://datatables.net/plug-ins/filtering/row-based/range_dates#Example .
(see example at https://github.com/DataTables/DataTables/blob/master/examples/plug-ins/range_filtering.html).
Could wait until the next week-end?

Sure, we can have a look next weekend. I did find the same links and examples as you. I also found vedmack/yadcf (Yet Another DataTables Column Filter) which has a few filters. Its date range filter uses jquery-ui and it feels old, but it could be a first working step for the date range.
Thanks for investigating this, have an awesome week.

yadcf also support bootstrap datetimepicker with moment, read more in the docs - datepicker_type relevant showcase page and I hope to finish the integration of another bootstrap plugin soon https://github.com/vedmack/yadcf/issues/435


Allow a list of local IP addresses to be used to add devices

If the Google devices connect via a VLAN or similar and don't have mDNS paths back to the HA network, they are not added.  The Google cast addon for instance gets around this by having an option to list the IP (reserved) addresses of the Google devices.

Not a terrible idea i think, we didn't include this at first because of simplicity for the end user, but you raise a good point about when not having the ability to use mDNS

Sounds like a reasonable feature request. Not impossible to implement but we would need to think of an elegant way to match the provided IP addresses with it's local authentication tokens that are coming from glocaltokens underlying package.

One little snag here:
I have 2 Nest Wi-Fi speakers, which are essentially Google Homes inside of a mesh Wi-Fi repeater. I'm going through all my Google devices and giving them static IPs only to discover that Google, in their infinite wisdom, has decided that their Wi-Fi pucks cannot be assigned static IPs. Anyone with a Nest Wi-Fi point will have to deal with the fact that it may change its IP from time to time.
It's not the end of the world, but it is fairly annoying since the combination Wi-Fi puck and speakers are by far the devices which I personally use the most often.
When this gets implemented, can a note be added to the README mentioning that Google Wifi pucks cannot have a DHCP address and will need to be reconfigured from time to time?


Add my blog, b0ba.dev

This PR is:

[x] Adding a new domain
[ ] Updating existing domain size
[ ] Changing domain name
[ ] Removing existing domain from list
[ ] Website code changes (512kb.club site)
[ ] Other not listed

I have:

[x] I used the uncompressed size of the site
[x] I have included a link to the GTMetrix report
[x] The domain is in the correct alphabetical order
[x] This site is not a ultra lightweight site
[x] The following information is filled identical to the data file

I confirm that I have read the FAQ section, particularly the two red items around minimal pages and inappropriate content and I attest that this site is neither of these things.

[x] Check to confirm

 - domain: b0ba.dev
  url: https://b0ba.dev/
  size: 504
  last_checked: 2022-04-12

GTMetrix Report: https://gtmetrix.com/reports/b0ba.dev/z3cC8Q3L/

Did I mess something up? I see that the CI has failed.

It happens to the best of us.
There is still one more error the domain shouldn't be indented

Oops.
I'll get on that.

Fixed. 🚀


Update workflows

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

Project coverage is 100.00%. Comparing base (4e1518d) to head (32ccf95).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #422   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           94        94
  Lines         2439      2439
  Branches       211       211
=========================================
  Hits          2439      2439

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


atomic key-value commands

I have a document that has a hash as one if its values. The values of that hash are numbers and I need to increment them from remote. Now I wish ArangoDB had Redis' HINCRBY and I could use it from the arangojs adapter.
// usageDocument before
{
  _key: "1234",
  phoneCalls: {
    "110": 5
  }
}

usageCollection.hincrby('1234', 'phoneCalls', '110', 1);
usageCollection.hincrby('1234', 'phoneCalls', '040 2374321', 1);

// usageDocument after
{
  _key: "1234",
  phoneCalls: {
    "110": 6,
    "040 2374321": 1
  }
}

That's just one example. Another example for a command I could use right now would be LPUSH to insert a new value at the beginning of an array in a document.
I think it would be awesome if there were equivalents for almost all of these in ArangoDB and if they were usable from the ReST api, local JavaScript, and maybe even straight in AQL.
http://redis.io/commands#hash
http://redis.io/commands#generic
http://redis.io/commands#list
http://redis.io/commands#set
http://redis.io/commands#sorted_set
http://redis.io/commands#string

Unless I'm missing something, this can easily be done using AQL:
LET doc = DOCUMENT(usageCollection, "1234")
UPDATE doc WITH {
  phoneCalls: {
    "110": (OLD.phoneCalls["110"] || 0) + 1,
    "040 2374321": (OLD.phoneCalls["040 2374321"] || 0) + 1
  }
} IN usageCollection

What's your concern? Performance? Flexibility?
I guess an AQL function along the lines of ...
LET diff = {"110": 1, "040 2374321": 1}
UPDATE doc WITH {
  phoneCalls: HINCR(OLD.phoneCalls, diff)
} IN usageCollection

... could be useful.

@pluma interesting. I guess your HINCR example could be realized with a user defined AQL function. Still...
https://docs.mongodb.org/v2.6/reference/operator/update/inc/
http://docs.couchbase.com/developer/dotnet-2.0/atomic-operations.html
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html#WorkingWithItems.AtomicCounters
;)

Based on my example the implementation of HINCR (or $incr) could be something like this in JS:
function HINCR(obj, diff) {
  for (const key of Object.keys(diff)) {
    if (!obj[key]) {
      obj[key] = diff[key];
    } else {
      obj[key] += diff[key];
    }
  }
  return obj;
}

I'm not sure what the performance implications of this are and whether it would be as easy to implement natively. @jsteemann ?

@mchacki has been doing all those javascript to c++ conversions.

FYI: this is what I settled on
function HINCR(obj, key) {
  let result = {};
  result[key] = (obj[key] || 0) + 1;
  return result;
}

which is sufficient when doing an update. (Btw you can't use a const for the loop's variable.)
Anyways, my main point is that all these actions make Redis useful (http://try.redis.io) and that great artists steal ;)

You can actually use const in a for-of like I did. Its scope is limited to each iteration, it's not reassigned.

@pluma: Do you know what difference it makes to V8? (var vs. let vs. const vs.)
I wonder why Object.keys() is required in for-of at all. In Python, you can directly iterate over dictionary keys...

for (const e of ['a', 'b', 'c']) console.log(e); with node 5.4.1 results in
a
a
a

vs. for (let e of ['a', 'b', 'c']) console.log(e);
a
b
c

@pekeler only outside strict-mode. Prefix the line with 'use strict'; in the REPL and it'll behave the same. ArangoDB actually complains if you try to use let/const outside of strict mode. I would imagine Node follows the pre-ES6 non-standard semantics outside strict mode -- it doesn't throw a ReferenceError when a const variable is referred to (e.g. via typeof) in the same block before it is declared, like var, not like let (or const in strict mode).
@CoDEmanX some people have argued that it could be optimized but even if it were the difference would likely be insignificant. It's mostly about signalling intent: this variable will not be reassigned throughout this block of code.
The reason Object.keys is required is that objects aren't dictionaries. Maps are dictionaries. And maps provide three generators: keys, values and entries (pairs of keys and values). Because Object.keys preceded the new collection types it will continue to return an array instead of a generator (and arrays can be treated as generators, i.e. used in for-of loops). The additional functions Object.values and Object.entries are currently in stage 3 and will likely land in ES2016 or ES2017 but they will behave like Object.keys (i.e. return arrays) rather than like the Map or Set equivalents (which is okay: they're also functions on the Object constructor like Object.keys rather than methods like the Map and Set equivalents).
If any of you want to discuss this further I would suggest taking it to the mailing list or IRC. Let's keep the issue focussed on its original topic: atomic key-value commands, not JS syntax. :smile:

Thanks @pluma, I wasn't aware of the differences between objects and maps (complete result array vs. iterator returned). BTW: for (entry of m) is equivalent to for (entry of m.entries()) if m is a Map. It also greatly combines with destructuring: for ([key, value] of m). But I digress.
AQL is mostly a declarative language. Mostly, because there are also many functions you can call. If I'm not mistaken, that makes it also a functional programming language. @pekeler's example of collection.hincrby(...) looks like object oriented programming, which can't be directly translated to AQL. Nonetheless, it could very well be a supported method of a collection object in some drivers like JavaScript. An AQL equivalent would be more like this though:
LET doc = DOCUMENT("coll/1234")
UPDATE doc WITH {phoneCalls: INCREMENT(OLD.phoneCalls)}

It would be more convenient, if something like the following was allowed:
UPDATE "coll/1234" INCREMENT OLD.phoneCalls

Or even:
INCREMENT DOCUMENT("coll/1234").phoneCalls

Note the change of INCREMENT from function to keyword to make the instruction shorter, but also less flexible. INCREMENT would be a lot more useful with the following extra features:

default value: if target attribute doesn't exist, initialize with given default value. Corner cases: should it also initialize if the attribute exists already, but has a null value? Should INCREMENT not do anything or raise an error if the target attribute exists already and is non-numeric (e.g. string)?
amount: add amount to current (or default) value. If negative amounts are allowed, should there still be a DECREMENT operation?

As function, the signature with support for both aforementioned options could look like INCREMENT(attr, default, amount) or INCREMENT(attr, amount, default). I'm in favor of the latter, because it's more apparent how to specify a default value even if you don't want to increment by a certain amount (just make it a 1). The other way around, people may wonder what to write for default value if they don't want to specify it (null or undefined?).