Model related GraphQL Transform with Key, Connection, and Auth Directives

Background
A graphQL schema is provided by the customer and amplify codegen models will generate the Model classes used by DataStore and API.
When provisioning the API backend, the schema with object types annotated with model directive will a backend with a set of APIs to apply CRUD operations. More details here: https://aws-amplify.github.io/docs/cli-toolchain/graphql#generates
This issue is to test out the different use cases provided by the documentation here https://aws-amplify.github.io/docs/cli-toolchain/graphql#graphql-transform
The focus will be on Model, Key, Connections, and Auth
After doing this excercise, we can have a conclude with

a list of issues that we are currently tracking
features we want to support
document unsupported use cases

Model Directive
Learn more at https://aws-amplify.github.io/docs/cli-toolchain/graphql#model
Test Model Directive with many different scalar types and

Key Directive
type Customer @model @key(fields: ["email"]) {
  email: String!
  username: String
}

type Order @model @key(fields: ["customerEmail", "createdAt"]) {
    customerEmail: String!
    createdAt: String!
    orderId: ID!
}

type Item @model
  @key(fields: ["orderId", "status", "createdAt"])
  @key(name: "ByStatus", fields: ["status", "createdAt"], queryField: "itemsByStatus") {
  orderId: ID!
  status: Status!
  createdAt: AWSDateTime!
  name: String!
}
enum Status {
  DELIVERED
  IN_TRANSIT
  PENDING
  UNKNOWN
}

Connection Directive
type Blog @model {
  id: ID!
  name: String!
  posts: [Post] @connection(name: "BlogPosts")
}
type Post @model {
  id: ID!
  title: String!
  blog: Blog @connection(name: "BlogPosts")
  comments: [Comment] @connection(name: "PostComments")
}
type Comment @model {
  id: ID!
  content: String
  post: Post @connection(name: "PostComments")
}

# Custom field on connection

type Project @model {
  id: ID!
  name: String
  teamID: ID!
  team: Team @connection(fields: ["teamID"])
}

type Team @model {
  id: ID!
  name: String!
}

# Has Many

# Belongs to

# Many to Many

type Note @model {
  id: ID!
  title: String!
  editors: [NoteEditor] @connection(keyName: "byNote", fields: ["id"])
}

# Create a join model and disable queries as you don't need them
# and can query through Post.editors and User.posts
type NoteEditor
  @model(queries: null)
  @key(name: "byNote", fields: ["noteID", "editorID"])
  @key(name: "byEditor", fields: ["editorID", "noteID"]) {
  id: ID!
  noteID: ID!
  editorID: ID!
  note: Note! @connection(fields: ["noteID"])
  editor: User! @connection(fields: ["editorID"])
}

type User @model {
  id: ID!
  username: String!
  posts: [NoteEditor] @connection(keyName: "byEditor", fields: ["id"])
}

Auth Directive

Version Directive
related issue:

https://github.com/aws-amplify/amplify-ios/issues/293


Show completed tutorials as "completed" on home page

Moving the issue from https://github.com/googlecodelabs/tools/issues/22 by @Akshar-Patel here:
I have completed constraint layout tutorial, but it is not saving up the progress when I reopen it and there is no indication of completion on the home page.

Now that codelab-elements code is in tools, closing this to track in googlecodelabs/tools#22.


[USABILITY] Provide quick way to access Status Card

Describe the usability issue
Users need to quickly access their status card to enter building multiple times during the day. Right now the only way to access that card is through the button under Your Health.
Expected behavior
Provide an additional button, always stuck at the bottom of a users home screen so they can access their card.
Screenshots
https://www.figma.com/file/4QHCL8V7ZVWmYGvBaORjnJ/For-Development?node-id=74%3A191

@AlliePixo Discussed and On Hold as low priority


For CMD like folder copy,  VAULT_TOKEN or ~/.vault-token should not be mandatory

For folder copy from one namespace to another namespace.
VAULT_TOKEN or ~/.vault-token should not be mandatory as vaku will use source token and target token.
vaku folder copy $path/ $path/ --use-source-target-params --source-address=$source_address --source-token=$source_token --source-namespace=$source_namespace --target-address=$target_address --target-token=$target_token --target-namespace=$target_namespace -o=text

Thanks for the issue! I agree this can be improved. A v2 is currently being worked on and I will track this with that release.

Version 2 was just released and resolves this issue! Keep in mind that there are other breaking changes in this version you may need to adjust to. Thanks for your contribution 😄


How do I keep my connection alive?

compose.io hardcodes timeouts to 5 minutes, so I need some way of keeping my connection alive. I'm currently passing in ioredis via the createClientFactory option, but it's unclear how to access the client Kue is creating so I can re-use the connection and do a setInterval or something similar so it's not severed.
Any ideas?

@seanlindo Did you end up figuring out a solution to this problem? I think I am having similar issues once I deploy my job processors to my server they connect to Redis hosted on compose fine but after a few minutes all the docker containers crash.

@AlexMotz Because we run on AWS, I found it desirable to use SQS and have had great success doing so.

@seanlindo Thanks for the info. What do you think of SQS? What kinda response times are you seeing? Do you find it at all limiting using an off the shelf Queue Service?
I was thinking about using RabbitMQ and Celery. From my research looks like the response times look to be a bit quicker.

@AlexMotz I think that depends on what kind of tolerance you need for your application. For my scale, the messages are worked instantaneously. In addition, the worker is hosted on Elastic Beanstalk. I haven't touched any of the business logic in over 30 days at this point.
It's been very liberating!
I worked at CareerBuilder many years ago, and we used IronMQ and IronWorker, but over the years their prices have become prohibitive.


iam_role arn pulled from dependency broken

It looks like there was a conscious decision to change the parsing for iam_role here:  https://github.com/gruntwork-io/terragrunt/pull/1807
However, this has lead to breaking existing terragrunt functionality where we would create global IAM roles for a particular environment/account, and then use dependencies to pull in the arns like so:
dependency "iam" {
  config_path = "../../../../../../global/iam"
}

iam_role = dependency.iam.outputs.eks_admin_role_arn

When running with v0.31.5, this works without issue.  It now no longer works and I get the following error when running with newer versions:
ERRO[0000] /Users/awiesner/git-v2/ego-infra/aws/prod/us-east-2/tp/az-a/vpc1/tp0/eks/terragrunt.hcl:57,12-22: Unknown variable; There is no variable named "dependency"., and 1 other diagnostic(s)
ERRO[0000] Unable to determine underlying exit code, so Terragrunt will exit with error code 1

Thank you, @yorinasub17 . Understood completely.  We're going to stay with our older version for now, and will also explore other ways of dynamically building the iam_role arn.


Investigations to CI

Add TravisCI and Appveyor support for building, running tests, running sanitizers, static analyzers, etc.


Python version

Hello,
I tried using the scripts but in openSUSE, but most did not work. Only they started to run after them performed with python3 and some adjustments in the code (indented with autopep8 and repair of ConfigParser).
Is there any version for python3?
Thank you.

I have not looked into supporting Python3 yet. I'm happy to accept any pull request that get the scripts working on Python 3.


Go big or go home.

trololololololol ooolololol

Why did I do this from this branch? I dunno man.


Change Xus literals to Xusize literals in sdl2-sys

This fixes a bunch of compile warnings in sdl2-sys.

Requires #340 to be merged before this will get a green build.

Nice one. Cheers


Buffer() without a new keyword is going to be hard-deprecated soon

Refs: https://github.com/nodejs/node/pull/8169, https://github.com/nodejs/node/pull/7152.
Two options here:

Use the new Buffer API — Buffer.alloc()/Buffer.from()/Buffer.allocUnsafe() (requires a shim for v0.10/v0.12 and older v4.x versions prior to v4.5.0).
Use new Buffer() for the time being — just add the new keyword everywhere. You should manually check that everything is safe in this case, see the links below for more explanation. That might be hard-deprecated at some later point.

More background:

https://github.com/ChALkeR/notes/blob/master/Lets-fix-Buffer-API.md
https://github.com/ChALkeR/notes/blob/master/Buffer-knows-everything.md
https://github.com/nodejs/node/pull/7152#issuecomment-240880317

Quick grep (you should better re-check):
browserify-13.1.0.tgz/test/bare.js:34:    ps.stdin.end('console.log(Buffer("ABC"))');
browserify-13.1.0.tgz/test/bare_shebang.js:32:    ps.stdin.end('#!/usr/bin/env node\nconsole.log(Buffer("WOO"))');
browserify-13.1.0.tgz/test/global/buffer.js:1:t.equal(Buffer('xyz').toString('base64'), 'eHl6');
browserify-13.1.0.tgz/test/global/buffer.js:2:t.equal(Buffer('eHl6', 'base64').toString(), 'xyz');
browserify-13.1.0.tgz/test/leak.js:46:    stream.push('t.equal(Buffer("eHl6", "base64").toString(), "xyz")');

The grep above only includes the lines that call Buffer() without the new keyword, if you choose to move to the new API — you should probably also replace new Buffer(…) calls.

😑 . Time to make sure the entire browserify dependency tree is updated, I suppose.

i just installed browserify,  nodejs 7.0
its a warning, but is it even running?
><EMAIL_ADDRESS>babel /Users/Austin/Projects/chicevents
> browserify src/assets/js/functions.js -t babelify --out-file dist/assets/js/app.js --source-maps

(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
const chic = {
  mobileNav() {
    const mq = window.matchMedia('(max-width: 890px)');
    const header = document.querySelector('header');
    const headerNav = header.querySelector('nav');
    const navUl = headerNav.querySelector('ul');
    const navHamburger = header.querySelector('.hamburger');
    const top = document.querySelector('header .top');
    if (mq.matches) {
      headerFire();
    }

    mq.addListener(() => {
      if (mq.matches) {
        headerFire();
      }
    });

    function headerFire() {
      navUl.classList.add('mobile');

      document.addEventListener('click', event => {
        if (event.target === top) return;
        if (event.target === top.querySelector('.container')) return;

        if (!navUl.classList.contains('mobile')) {
          navUl.classList.toggle('mobile');
          // navUser.classList.toggle('mobile')
          navHamburger.classList.toggle('mobile');
        }
      });
    }

    navHamburger.addEventListener('click', event => {
      navUl.classList.toggle('mobile');
      navHamburger.classList.toggle('mobile');
      event.stopPropagation();
    });
  }
};
chic.mobileNav();

},{}](node:14440) DeprecationWarning: Using Buffer without `new` will soon stop working.   I ended up rolling back to node 6 but at some point we'll have to upgrade :/

Is there a list of things that need to be done to get this done?  I am willing to help, but a casual glance at the source in the repo has nothing other than the tests usage of Buffer.  Is the solution traverse the entire dep tree for usages of the old api?

@wesleytodd yeah it looks like it will involve spelunking the dependency tree.  One alternative according to @mscdex https://github.com/nodejs/node/issues/9589#issuecomment-260166278 is to change the shebang line in https://github.com/substack/node-browserify/blob/master/bin/cmd.js to read #!/usr/bin/env node --no-deprecation.  It's worth noting that fixing the dependencies would at least help other projects that are suffering from the same issue.
Summarizing, I think there are a few ways to resolve this:

modify the browserify command to suppress the deprecation (easy but a hack)
vendor every dependency and make the relevant fixes in the tree (moderate but goes against the spirit of npm)
chase down every dependency, fix every incorrect use, and update the dependencies (hard and we risk facing the same issue next time node "pulls a fast one")

Upon reflection I'm a fan of choice 2, but it will be up to @substack to decide which is the best course of action

@spelunk To be fair, "pulling a fast one" would be if node core simply dropped constructor usage without any warning. The warning is there to give people time to migrate.
I honestly believe the only real solution is to fix the deprecations upstream, otherwise you're just masking the problem and you will get bitten once the deprecation becomes a removal at some point. At that time, things will probably be even worse because you'll be scrambling to fix actual broken dependencies.

I agree with @mscdex on the way forward.
Side note, it was actually @substack that called it "pulling a fast one" :)

Did we found a bad dependency or we need help here?

@ai you can find the first offending use case by running browserify using the --trace-warnings option:
$ touch foo.js
$ node --trace-warnings `which browserify` foo.js >/dev/null
(node:18812) DeprecationWarning: Using Buffer without `new` will soon stop working. Use `new Buffer()`, or preferably `Buffer.from()`, `Buffer.allocUnsafe()` or `Buffer.alloc()` instead.
    at Buffer (buffer.js:79:13)
    at DestroyableTransform.write [as _transform] (/usr/local/lib/node_modules/browserify/node_modules/browser-pack/index.js:53:32)
    at DestroyableTransform.Transform._read (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:159:10)
    at DestroyableTransform.Transform._write (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:147:83)
    at doWrite (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:313:64)
    at writeOrBuffer (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:302:5)
    at DestroyableTransform.Writable.write (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:241:11)
    at DestroyableTransform.ondata (/usr/local/lib/node_modules/browserify/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:531:20)
    at emitOne (events.js:96:13)
    at DestroyableTransform.emit (events.js:188:7)

The offending line from /usr/local/lib/node_modules/browserify/node_modules/browser-pack/index.js is
        if (first) stream.push(Buffer(prelude + '({'));

I think it was fixed in the source repo: https://github.com/substack/browser-pack/commit/c91b8166ae21441e0d855dcc791f90f7998d07e2 , so in this case it just comes down to @substack publishing a new version of the module.  Hopefully that's the only offending case

@spelunk thanks for --trace-warnings argument, never know about it.
I ping browser-pack developers https://github.com/substack/browser-pack/issues/76

The migration path for this isn't so straight forward because new wasn't even the issue. We'll need to update all of this again soon. Why bother? Node is wrong here.

Yeap, I agree that warning is not a error.
Sorry, I just thought that you could release it quick in patch release :).

@substack @ai changing the shebang line of bin/cmd.js to call node with the --node-deprecation argument suppresses the message without having to go through and change all of the dependencies:
--- a/bin/cmd.js
+++ b/bin/cmd.js
@@ -1,4 +1,4 @@
-#!/usr/bin/env node
+#!/usr/bin/env node --no-deprecation

This has the added benefit of suppressing future messages.

node removed the deprecation warning upstream. If you see this message, you are using a bad version of node 7. Upgrade to the latest version of node 7 to stop seeing this message.


add erc1155 to TributeNFT.sol

Closes #351

At the moment in this PR, I just used a simple if/else to switch between calling the 1155 and the 721 Extensions.
Issue: is it worth it to combine the 1155 and NFT Extensions into one? Or is better to deal with this on the Adapter level?
Pros - one combined contract makes it easier on the FE manage, because it only has to point to one contract address.
Cons - it would be essentially two contracts combined into one large contract, i.e.outside of a couple mappings there are not that many overlapping functions we can use.  For example, collect has to become collect721 and collect1155 .

At the moment in this PR, I just used a simple if/else to switch between calling the 1155 and the 721 Extensions.
Issue: is it worth it to combine the 1155 and NFT Extensions into one? Or is better to deal with this on the Adapter level?
Pros - one combined contract makes it easier on the FE manage, because it only has to point to one contract address.
Cons - it would be essentially two contracts combined into one large contract, i.e.outside of a couple mappings there are not that many overlapping functions we can use. For example, collect has to become collect721 and collect1155 .

@mcchan1
I believe it makes sense to keep them separated mainly because it gives you the freedom to choose which sort of extension you want to enable in your DAO, even though they manage NFT they are different standards, and keep them decoupled makes it easier to audit and maintain.
would love to get some input from @adridadou tho

moved to PR #370


drop if exusts multiple schemas tables

Closes #383
Description
support DROP IF EXSITS multiple tables and schemas
Is it a feature that change user experience?
yes, tests are added

Pull Request Test Coverage Report for Build 352538723

59 of 80 (73.75%)  changed or added relevant lines in 7 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.009%) to 89.581%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/query_planner/src/lib.rs
0
1
0.0%

src/node/src/query_engine/mod.rs
33
53
62.26%

Totals

Change from base Build 352474576:
0.009%

Covered Lines:
7437

Relevant Lines:
8302

💛  - Coveralls


dts: litex: add node label for cpu

This adds an node label for the litex cpu.

If I'm not wrong, this should be a 'node label' instead of 'alias'

If I'm not wrong, this should be a 'node label' instead of 'alias'

Yup, correct: https://docs.zephyrproject.org/latest/build/dts/intro-syntax-structure.html

If I'm not wrong, this should be a 'node label' instead of 'alias'

Yup, correct: https://docs.zephyrproject.org/latest/build/dts/intro-syntax-structure.html

I changed it in the commit description


Remove dispatchevent to default action

This PR removes dispatchEvent to default action from untrusted event - from chrome M53, chrome does not allow to dispatch default action except click from untrusted event, such as event created from javascript (https://www.chromestatus.com/features/5718803933560832), creates regression to substitution behavior.
Instead, this PR invokes document.execCommand directly to fire up intended behavior.
There maybe better, legit way of invoking instead of execCommand - feel freely close / adress if there's other way around.

Thanks @kwonoj. This seems to break the tests but I will fix them in a subsequent PR. 👍


METRON-2194 Update Ambari tooltip to specify single quotes for parser names with hyphens

https://issues.apache.org/jira/browse/METRON-2194
This is a cosmetic/text change to an Ambari tooltip. Hyphens in parser names cause issues with the Ambari parser list. This issue can be addressed by wrapping the parser name in single quotes.
Pull Request Checklist
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[x] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[x] Have you included steps or a guide to how the change may be verified and tested manually?

[x] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && dev-utilities/build-utils/verify_licenses.sh

n/a Have you written or updated unit tests and or integration tests to verify your changes?

n/a If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[x] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

n/a Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

n/a Have you ensured that any documentation diagrams have been updated, along with their source files, using draw.io? See Metron Development Guidelines for instructions.

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

Looks like this

+1 by inspection. Thanks @mmiklavc this is definitely useful and saves trouble for users who might potentially use hyphenation in parser names.


feat: add to_hex and to_bech32 methods for address payment and delegation parts

While being a nice to have feature in general, this will also allow us to progress filtering by address payment or delegate part in Scrolls in a cleaner way.

It's kind of a shame that to_bech32 is fallible. If it is just because of the fact the characters in the hrp have to be legal then can we just unwrap as acceptable hrps are hardcoded?


Wrong mention to npm in dart guide

In the displaying data tutorial there's a line that mentions the npm go command which might have come from the ts version by mistake.

Oops, thanks for pointing this out. I'll fix it asap.


Remove height from Header and merge Header with Misbehaviour

Surfaced from Interchain IBC team's review of 08-wasm at hash https://github.com/strangelove-ventures/ibc-go/commit/96e9930ab87a171a3ae6ac9717ee25bfda77212b
Summary

Remove height from Header and merge Header and Misbehaviour.
Problem Definition

The height should be already encoded in the data field of Header, so it should not be needed to include it as well in Header. The light client contract will be able to interpret the bytes in data and retrieve the height from there. The height is currently returned in UpdateState, but this does not scale well if the underlying light client supports batch updates, where multiple heights are updated.
Remove height and merging the types has 2 implications:

Header and Misbehaviour types become the same, therefore we can merge them in a single ClientMessage type. The logic of 08-wasm module simplifies because there is no need to figure out what concrete type the ClientMessage is when constructing the payload for the contract (e.g. here). However, it becomes then responsibility of the light client contract to figure out if the ClientMessage is of type Header or Misbehaviour and act accordingly.
When the light client contract is called to update state, then it should return the height(s) that were updated (or alternatively a query should be implemented to query this information after the contract executes update state). Doing this also enables light contracts to support batch updates, where the consensus state at multiple heights may be updated.

Proposal

Remove height from Header.
Merge Header and Misbehaviour in a ClientMessage type.
The light client contract should return the height(s) at which consensus state have been updated.

Tagging @misko9 @blasrodri to hear their thoughts, since this change impacts the contracts.

For Admin Use

[x] Not duplicate issue
[x] Appropriate labels applied
[x] Appropriate contributors tagged/assigned

Closed by #4133


Automatically generate Pipfile.lock on install/uninstall

It's not clear to me why pipenv lock is a separate command that the user must remember to invoke.  This introduces something easily forgettable into the pipenv workflow which can ultimately lead to, say, committing but forgetting to add your dependencies (which is a pitfall already true of normal pip/virtualenv workflows).
It would be great to have the lockfile automatically regenerated on pipenv install and pipenv uninstall. This brings pipenv more in line with tools like Yarn and Bundler, which make it hard to get your dependency info into an inaccurate state.
E.g. running yarn add underscore will both insert underscore into package.json and add a locked version to yarn.lock.  I think it's natural that pipenv install requests should add requests to the Pipfile and the new locked versions to Pipfile.lock.

because lock is slow

Couldn't install/uninstall simply add/remove a single key based on the package involved (while lock does a full reassessment of all package versions)?

@jacebrowning I don't think it could work like this since it involves messing with the dependencies from other packages.  It would be best to just relock your Pipfile as all the dependencies dependencies get looked at and hashed correctly.  You couldn't just add or remove one entry from the pipfile without removing it's dependencies as well.

@erinxocon @kennethreitz while I understand lock generation is slow that's what pretty much any other tool does already, even composer in PHP and to be fair it's not that slow. I don't know python well enough yet to be able to help or contribute but maybe checking what other similar tools do to speed up the generation process might be an idea. Can I also suggest that if the lock file is present it should have priority when running pipenv install? Otherwise it kinds of defies its existence.

Just echoing feedback as an end user that the separate lock command is surprising from what I'd expect coming from other deterministic package management solutions. yarn is a model example here and as I feel it, that is the distinct user interface improvement of yarn over npm. You could make earlier versions of npm behave deterministically, but remembering to shrinkwrap was always a pain.
Just adding an additional voice in support of this issue.
I totally understand the performance constraints, and thanks to everyone for all the work that's gone into pipenv!

this can be closed with 5.3.2

Thanks @Alok!

Now that locking isn't slow, we can do this. yay!

That involved way too much work, but i'm happy with the results :)

Thank you @Alok and @kennethreitz for all the hard work!


def template will be deprecated in Phlex 2.0

I just upgraded to Phlex 1.10 and my specs and features are spewing this deprecation message:

⚠ [DEPRECATION] Defining the template method on a Phlex component will not be supported in Phlex 2.0. Please rename the method to view_template instead.

I will create a pull request that resolves this. (Please bear with me. It will be my first.)

@bradgessler is there anything holding this PR (or rather the 'fix' of def template => def view_template) back?
asking 'cause my OCD keeps my eyes bleeding 🤣

Waiting for Phlex 2.x to leave beta, then I'll cut everything over to view_template.

This change was shipped in https://github.com/rubymonolith/superform/commit/7795d1c7d1d760445f291e7f4d2398bbda8e5500


Limit of the number of scan issues to mention in a notification

Exacerbated by #1 but still, no matter how many scan issues PB has, it should never be popping off this much.

Curious about what @amethystlilac thinks should be the limiting factor here.

If it's possible to say something like 'I found a ZIP file: x.zip and others,' I'd say limit to one per scan type. Otherwise, maybe 6 or so? Enough to encourage people to check, but not enough to take up your whole screen and still run out of space.

If it's possible to say something like 'I found a ZIP file: x.zip and others,' I'd say limit to one per scan type. Otherwise, maybe 6 or so? Enough to encourage people to check, but not enough to take up your whole screen and still run out of space.

Looking at your screenshot, what I'm thinking is:

If the number of issues is three or less, list them.
Otherwise, list the first two and a count of how many are left.

My reasoning here is that it seems like that would fit in the notification. I'd really prefer to avoid truncating.

That's reasonable. Users would know that there are multiple issues, but the notification was so big that if I didn't know what I was doing to cause it, it would have been overwhelming instead of funny.

What do you think?

Looks good. Not too big but still makes it clear there are multiple issues


Variables seem not to be set using docker-compose

It seems that setting the environment variables are not set when they are specified in the docker-compose.yml.
I'm running docker on a synology nas and with all other containers like openhab etc. setting the variables works.

There is a known problem with the docker update to 18.9.03 on synology regarding docker-compose. Read the synology forums for this.

Ah ok.
But I think this issue was even with docker 17.x
I updates to docker 18 a few weeks ago and before I had the same problem.

No, the 17.x version was fine regarding environment variables. As I know some users switch back to 17.x to resove the problems.

https://github.com/oznu/docker-homebridge/issues/227#issuecomment-531165177
I will try the new version.

I can confirm that the new Version (Build 506 instead of 505) works now

https://usdl.synology.com/download/Package/spk/Docker/18.09.0-0506/


Added Mern based project

Description
A simple CRUD based project using Mern
Technologies Used

For frontend: React & React Router
For backend: Express & Mongoose

Type of change

[x] New Project
[x] Issue fix (issue number: #13 )

Checklist:

[X] I have included a README.md file for my project clearly explaining its purpose, functionality, and usage instructions (applicable for new projects, not bug fixes).
[X] My code adheres to the style guidelines outlined by this project.
[X] I have thoroughly reviewed my code to identify and address any potential errors or inconsistencies.
[X] I have added clear and concise comments to my code, especially in sections that might be challenging to understand at first glance.
[X] I have reviewed and followed the project's Contributing Guidelines to ensure my contribution aligns with the project's requirements.

@sudo-parnab pls review & merge this. And do add the hacktoberfest & hacktoberfest-accepted label

Thank you @farhan-sayeed


Define IDL Instructions for the confidential transfer fee extension

This PR updates the IDL to support the initializeConfidentialTransferFeeConfig instruction of the confidential fee transfer extension.
This pull request was created for https://app.gib.work/bounties/a487ebf9-3e05-4877-920d-23e7d37f351e in an attempt to solve a bounty #23 . Payment for the bounty is immediately sent to the contributor after merge.

Really sorry, someone else has already tackled this issue now. Thank you for your contribution though!


Build for ARM v8

It would be nice to have a build that I could use on the Raspberry Pi.
Thank you

This doesn't work for you? https://github.com/wagoodman/dive/releases/download/v0.12.0/dive_0.12.0_linux_arm64.deb

arm64 docker image would by nice
on mac with arm64
docker run -ti --rm  -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive --help
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
This tool provides a way to discover and explore the contents of a docker image. Additionally the tool estimates
the amount of wasted space and identifies the offending files from the image.
…

Same problem here, please provide an arm64 docker image.
TIA, Wolfgang

https://goreleaser.com/customization/docker/#customization
a potential example with buildx
https://github.com/goproxy/goproxy/blob/master/.goreleaser.yaml#L49


I need some help ！

I ran the project locally and found that the project was out of style and confirmed that the node-sass installation was successful

manually add ur css or scss in ur angular-cli.json


MLS PoC Delivery Service

A proof of concept delivery service for MLS.
The corresponding CLI PoC is in #249.

MacOS fuzzing is broken (probably because a broken Rust nightly), let's ignore it for now and look into it separately.


ble_peripheral_basic fails to communicate with butterfly

`➜  ble git:(main) ✗ python ble_peripheral_basic.py 0

<InfoQueryResp capabilities=[50331734, 67108942, 100663374, 117440590, 16777358], device_id=b'~\x14\x85\x18\xad=\xfc\xbd\xa6\xec(<\xf7\xbd \xee', fw_author=b'Romain Cayre', fw_url=b'https://github.com/whad-team/butterfly', fw_version_major=1, fw_version_minor=0, fw_version_rev=1, max_speed=115200, proto_min_ver=2, type=1>

Traceback (most recent call last):
File "/home/sacca/Projects/whad-client/whad/device/init.py", line 1144, in wait_for_message
msg = self.__msg_queue.get(block=True, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.12/queue.py", line 179, in get
raise Empty
_queue.Empty
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/sacca/Projects/whad-client/examples/ble/ble_peripheral_basic.py", line 28, in
periph = Peripheral(WhadDevice.create('uart:/dev/ttyACM0'), profile=my_profile)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sacca/Projects/whad-client/whad/ble/connector/peripheral.py", line 111, in init
self.enable_peripheral_mode(adv_data, scan_data)
File "/home/sacca/Projects/whad-client/whad/ble/connector/init.py", line 564, in enable_peripheral_mode
resp = self.send_command(msg, message_filter(CommandResult))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sacca/Projects/whad-client/whad/device/init.py", line 423, in send_command
return self.__device.send_command(message, filter)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sacca/Projects/whad-client/whad/device/init.py", line 1235, in send_command
raise timedout
File "/home/sacca/Projects/whad-client/whad/device/init.py", line 1229, in send_command
result = self.wait_for_message(self.__timeout, command=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/sacca/Projects/whad-client/whad/device/init.py", line 1159, in wait_for_message
raise WhadDeviceTimeout('WHAD device did not answer to a command')
whad.exceptions.WhadDeviceTimeout: WhadDeviceTimeout(WHAD device did not answer to a command)
➜  ble git:(main) ✗`

Allright, I finally figured out what is happening here.
First, our BLE Peripheral class puts the WHAD interface in BLE peripheral mode, providing some advertising records (and scan response records). The problem is that when no advertising data is passed to the Peripheral class __init__() method, the WHAD interface is asked to advertise a device with no advertising records... And this makes ButteRFly crash, the firmware that runs on a nRF52840 dongle expecting at least a single record.
I've modified our Peripheral class in order to add a default flags advertising record if none is provided, thus avoiding ButteRFly to crash, but also patched ButteRFly to include some additional checks and return an error if this situation happens in the future. Modifications brought to ButteRFly will be pushed very soon.
For now, if you want to try our ble_peripheral_basic.py example without switching to our dev branch, you can simply change the way the peripheral is created:
    # Create the connector & the profile
    my_profile = MyPeripheral()
    periph = Peripheral(WhadDevice.create(sys.argv[1]), profile=my_profile, adv_data=AdvDataFieldList(
        AdvCompleteLocalName(b'TestMe!'),
        AdvFlagsField()
    ))

And everything should work with ButteRFly :crossed_fingers:.
Or if you prefer giving our dev branch a try, you may benefit of some recent fixes including the one I've just made. It could be nice to check if my fix works as expected on your side too, so that I can close this issue :smile:.

All good. Problem fixed in dev branch

Perfect, closing this issue.


[Refactor] [UI/UX] Refactor Clinical Site modals merged from HCO SSApp part 2 to use only webcardinal features instead of old cardinal framework

Following the guidelines presented within issues #76 - #101, refactor the following pages from Clinical Site SSApp under /code/modals directory:
add-new-tp.html
add-tp-number.html
answer-question.html

Mock-up: https://www.figma.com/file/CmwZYstqv2idRwREtOuQDv/eConsent-HCO?node-id=0%3A1
For the design path, in the current state, each HTML file is importing some CSS file(s) from /code/assets/css. Extract only the needed CSS rules that might be useful for the page(s).

https://github.com/PharmaLedger-IMI/clinical-site-ssapp/commit/ef20208a942d9be6d567c9ea606a7c89725f877f


Documentation Update

Better explanation of the Flatpak Filesystem stuff

Add dedicated page for Dev docs

Advertise the assemble file for development en

Add dedicated page for Translators

Done


OLM GUI does not have permission to list its OLM CRDs

On current Kubernetes cluster (see below), "Kubernetes Marketplace" page shows:
Restricted Access
You don't have access to this section due to cluster policy.
packagemanifests.packages.apps.redhat.com is forbidden: User "system:serviceaccount:kube-system:default" cannot list resource "packagemanifests" in API group "packages.apps.redhat.com" at the cluster scope

I installed OLM this way:

Run Kubernetes using hack/local-up-cluster.sh (~today-ish master)
Install OLM using kubectl create -f deploy/upstream/manifests/latest/ (with current OLM master)
Run console using ./scripts/run_console_local.sh

Hi @jsafrane
We provide two ClusterRoles that you can bind a user to: aggregate-olm-view and aggregate-olm-view. They are automatically aggregated to the view and edit roles, if those are appropriate to use.
cluster-admin works as well, but these will let you use OLM types without granting that high.


Feature request: AsChangeset batch update

I want to do a batch update of multiple items in the same table. But I don't see a way to do that in a single query. Currently, I am doing that with multiple queries:
conn.transaction(|| {
  items.iter()
    .map(|item| {
      diesel::update(posts::table)
        .set(item)
        .get_result::<Post>(&conn)
    })
    .collect()
})

Would that be possible to do with a single query like this, assuming items is a vector of a struct that implemts AsChangeset and Identifiable:
#[derive(AsChangeset, Identifiable)]
#[table_name="posts"]
struct UpdatePost<'a> {
  id: i32,
  title: &'a str,
}

let items = vec![
  UpdatePost { "id": 1, "title": "Title" },
  UpdatePost { "id": 2, "title": "Title" },
]

diesel::update(posts::table)
  .set(items)
  .get_results::<Post>(&conn)

There's no way in SQL to do this in a single query. Also note that your current code updates the entire table multiple times. I'd recommend reading http://diesel.rs/guides/all-about-updates/

Thanks for pointing out my mistake, I was under that impression that the id was automatically filtered if the Identifiable derive was added.
Is there then any way to build up the queries and send them simultaneously to the DB, to avoid doing a separate call for each item?
I have also had a look at batch_execute, but if I can understand the documentation correctly, that seems to only support raw queries?

Closed as the original idea does not really work due to limitations in SQL. If someone comes up with a better solution please open a feature request post in our discussion forum.

Closed as the original idea does not really work due to limitations in SQL. If someone comes up with a better solution please open a feature request post in our discussion forum.


Guru Meditation Error: LoadProhibited in esp_efuse_mac_get_default (IDFGH-5452)

Environment

Development Kit:     ESP32-DevKitC
Kit version (for WroverKit/PicoKit/DevKitC): v4
Module or chip used:  ESP32-WROVER-E
IDF version: v4.2.1
Build System:         CMake
Compiler version: (crosstool-NG esp-2020r3) 8.4.0
Operating System:     Windows
(Windows only) environment type: PowerShell
Using an IDE?: Yes, VSCode with ESP-IDF extension
Power Supply:         USB

Problem Description
I am using the esp32 to send certain system information to a server via https (over wifi), including its mac address. When I try to fetch the mac address using esp_efuse_mac_get_default, I receive a Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.
The same behaviour was observed using esp_efuse_mac_get_custom just to make sure.
I am including code, core dump and stack trace.
Expected Behavior
The mac address gets written onto the uint8_t * provided.
Actual Behavior
Call to esp_efuse_mac_get_default results in a LoadProhibited error in esp_efuse_get_field_size.
Steps to reproduce
Theoretically, simply call esp_efuse_mac_get_default or esp_efuse_mac_get_custom, although I can imagine these usually work.
My setup and wiring should have no bearing on this issue, but here is an image for the sake of completeness:

Code to reproduce this issue
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <sys/time.h>
#include "nvs_flash.h"
#include "esp_sleep.h"

char* build_mutation_request(void)
{
    sint32_t i;
    uint8_t mac[8];
    char mac_str[13];
    char request[1046];

    ESP_ERROR_CHECK(esp_efuse_mac_get_default(mac));
    ESP_LOGI(TAG, "MAC ADDR got");
...
}

sint32_t app_main(void)
{
    int test;
    uint64_t time_slept;
    touch_reading_t *measurement_pointer;
    struct timeval start, wifi, result, end;
    esp_sleep_wakeup_cause_t wakeup_reason;

    gpio_set_direction(GPIO_NUM_25, GPIO_MODE_INPUT);
    gpio_set_direction(GPIO_NUM_26, GPIO_MODE_INPUT);
    ESP_LOGI(TAG, "Stock detect booted up\n");

    // As we use RTC only deep sleep, we must rely on the RTC clock for timing, which measures at 6.6667 us resolution
    // Note: RC oscillator is affected by temperature fluctuations
    // therefore, times are accurate to ms
    gettimeofday(&start, NULL);
    // time slept
    time_slept = start.tv_sec - (get_end_time()).tv_sec;

    // At this point in time, the saved values for next_mandatory and next_optional wake are outdated
    // they need to be updated by the amount of time slept + the execution time of the current task
    update_mandatory_wake(time_slept);
    update_optional_wake(time_slept);

    wakeup_reason = esp_sleep_get_wakeup_cause();
    if (wakeup_reason == ESP_SLEEP_WAKEUP_EXT1)
    {
        execute_RTC_buttons();
    }

    //start wifi
    ESP_ERROR_CHECK(nvs_flash_init());
    wifi_init_sta();

    touch_sensor_init();

    measurement_pointer = measurements;
    read_touch_pad(measurement_pointer);

    printf("Request of length %d: %s\n", strlen(request), request);
    gettimeofday(&wifi, NULL);
    timeval_subtract(&result, &wifi, &start);
    update_mandatory_wake(result.tv_sec);
    update_optional_wake(result.tv_sec);
    ESP_LOGI(TAG, "Wifi init after %lds %ldus", result.tv_sec, result.tv_usec);

    /* CALL HAPPENS HERE */
    post_status(build_mutation_request());

    gettimeofday(&end, NULL);
    set_end_time(&end);
    esp_sleep_enable_ext1_wakeup(EXT1_SLP_MASK, ESP_EXT1_WAKEUP_ANY_HIGH);
    esp_deep_sleep_start();
    return EXIT_SUCCESS;
}

Naturally the entire code is longer, but this is the app_main and the relevant part of the relevant function. It is worth mentioning that a wifi connection is established before the call to get the mac address is made.
Debug Logs
I (6233) TAG: Wifi init after 5s 656232us
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.

Core  0 register dump:
PC      : 0x4014cd08  PS      : 0x00060730  A0      : 0x800d48b0  A1      : 0x3ffb9780
0x4014cd08: esp_efuse_get_field_size at C:/Users/USER/esp/esp-idf/components/efuse/src/esp_efuse_api.c:168

A2      : 0x00000008  A3      : 0x00000001  A4      : 0x00000001  A5      : 0x3ffd7c4c
A6      : 0x3ffb9c63  A7      : 0x00000030  A8      : 0x3ffd4d88  A9      : 0x06750675
A10     : 0x00000000  A11     : 0x00000000  A12     : 0x3ffb0af8  A13     : 0x00000000
A14     : 0x00000000  A15     : 0x00000000  SAR     : 0x00000000  EXCCAUSE: 0x0000001c
EXCVADDR: 0x06750677  LBEG    : 0x4000c46c  LEND    : 0x4000c477  LCOUNT  : 0xffffffff

Backtrace:0x4014cd05:0x3ffb9780 0x400d48ad:0x3ffb97a0 0x400d4888:0x3ffb97e0 0x400ee9b2:0x3ffb9800 0x400d4038:0x3ffb9840 0x400d3e79:0x3ffb9c90 0x400d2972:0x3ffb9d10
0x4014cd05: esp_efuse_get_field_size at C:/Users/USER/esp/esp-idf/components/efuse/src/esp_efuse_api.c:173

0x400d48ad: esp_efuse_utility_process at C:/Users/USER/esp/esp-idf/components/efuse/src/esp_efuse_utility.c:52

0x400d4888: esp_efuse_read_field_blob at C:/Users/USER/esp/esp-idf/components/efuse/src/esp_efuse_api.c:51

0x400ee9b2: esp_efuse_mac_get_default at C:/Users/USER/esp/esp-idf/components/esp_common/src/mac_addr.c:96
 (inlined by) esp_efuse_mac_get_default at C:/Users/USER/esp/esp-idf/components/esp_common/src/mac_addr.c:87

0x400d4038: build_mutation_request at C:\Users\USER\PROJECT\FOLDER\build/../main/file.c:239

0x400d3e79: app_main at C:\Users\USER\PROJECT\FOLDER\build/../main/other_file.c:455

0x400d2972: main_task at C:/Users/USER/esp/esp-idf/components/esp32/cpu_start.c:609 (discriminator 1)

ELF file SHA256: 9e4649ade8fced8c

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:4
load:0x3fff0034,len:6016
ho 0 tail 12 room 4
load:0x40078000,len:12860
load:0x40080400,len:4400
0x40080400: _init at ??:?

entry 0x400806c4
I (31) boot: ESP-IDF v4.2.1-dirty 2nd stage bootloader
I (31) boot: compile time 17:11:03
I (31) boot: chip revision: 3
I (34) boot_comm: chip revision: 3, min. bootloader chip revision: 0
I (41) boot.esp32: SPI Speed      : 40MHz
I (46) boot.esp32: SPI Mode       : DIO
I (51) boot.esp32: SPI Flash Size : 8MB
I (55) boot: Enabling RNG early entropy source...
I (61) boot: Partition Table:
I (64) boot: ## Label            Usage          Type ST Offset   Length
I (71) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (79) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (86) boot:  2 factory          factory app      00 00 00010000 00100000
I (94) boot: End of partition table
I (98) boot_comm: chip revision: 3, min. application chip revision: 0
I (105) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x173b0 ( 95152) map
I (150) esp_image: segment 1: paddr=0x000273d8 vaddr=0x3ffbdb60 size=0x08c40 ( 35904) load
I (165) esp_image: segment 2: paddr=0x00030020 vaddr=0x400d0020 size=0x800ec (524524) map
0x400d0020: _stext at ??:?

I (363) esp_image: segment 3: paddr=0x000b0114 vaddr=0x3ffc67a0 size=0x10c04 ( 68612) load
I (392) esp_image: segment 4: paddr=0x000c0d20 vaddr=0x40080000 size=0x00404 (  1028) load
0x40080000: _WindowOverflow4 at C:/Users/USER/esp/esp-idf/components/freertos/xtensa/xtensa_vectors.S:1730

I (393) esp_image: segment 5: paddr=0x000c112c vaddr=0x40080404 size=0x14d94 ( 85396) load
I (436) esp_image: segment 6: paddr=0x000d5ec8 vaddr=0x400c0000 size=0x00064 (   100) load
I (436) esp_image: segment 7: paddr=0x000d5f34 vaddr=0x50000000 size=0x00020 (    32) load
I (461) boot: Loaded app from partition at offset 0x10000
I (461) boot: Disabling RNG early entropy source...
I (461) cpu_start: Pro cpu up.
I (465) cpu_start: Application information:
I (470) cpu_start: Project name:     stock_detect
I (475) cpu_start: App version:      a5b89b8-dirty
I (481) cpu_start: Compile time:     Jun 23 2021 15:07:56
I (487) cpu_start: ELF file SHA256:  9e4649ade8fced8c...
I (493) cpu_start: ESP-IDF:          v4.2.1-dirty
I (498) cpu_start: Starting app cpu, entry point is 0x40081528
0x40081528: call_start_cpu1 at C:/Users/USER/esp/esp-idf/components/esp32/cpu_start.c:287

I (489) cpu_start: App cpu up.
I (509) heap_init: Initializing. RAM available for dynamic allocation:
I (516) heap_init: At 3FFAE6E0 len 0000F480 (61 KiB): DRAM
I (522) heap_init: At 3FFDBDC0 len 00004240 (16 KiB): DRAM
I (528) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (534) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (541) heap_init: At 40095198 len 0000AE68 (43 KiB): IRAM
I (547) cpu_start: Pro cpu start user code
I (565) spi_flash: detected chip: gd
I (566) spi_flash: flash io: dio
I (566) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (573) TAG: booted up

I (613) wifi:wifi driver task: 3ffde9fc, prio:23, stack:6656, core=0
I (613) system_api: Base MAC address is not set
I (613) system_api: read default base MAC address from EFUSE
I (623) wifi:wifi firmware version: c44a5e7
I (623) wifi:wifi certification version: v7.0
I (623) wifi:config NVS flash: enabled
I (633) wifi:config nano formating: disabled
I (633) wifi:Init data frame dynamic rx buffer num: 32
I (633) wifi:Init management frame dynamic rx buffer num: 32
I (643) wifi:Init management short buffer num: 32
I (643) wifi:Init dynamic tx buffer num: 32
I (653) wifi:Init static rx buffer size: 1600
I (653) wifi:Init static rx buffer num: 10
I (663) wifi:Init dynamic rx buffer num: 32
I (663) wifi_init: rx ba win: 6
I (663) wifi_init: tcpip mbox: 32
I (673) wifi_init: udp mbox: 6
I (673) wifi_init: tcp mbox: 6
I (683) wifi_init: tcp tx win: 5744
I (683) wifi_init: tcp rx win: 5744
I (683) wifi_init: tcp mss: 1440
I (693) wifi_init: WiFi IRAM OP enabled
I (693) wifi_init: WiFi RX IRAM OP enabled
I (703) phy_init: phy_version 4660,0162888,Dec 23 2020
I (803) wifi:mode : sta (3c:61:05:4c:43:08)
I (803) TAG: wifi_init_sta finished.

As you can see, the crash happens deep in the esp_efuse_api and try as I might, I have not been able to find someone with a similar problem, or a cause. I'm hoping this is simpler than I'm making it. I will be grateful for any help.

Hi @baWedekind!
I do not think that it is an issue with esp_efuse_mac_get_default or esp_efuse_api . The code where this happens is straightforward and there is a check of argument on NULL. I suspect that you need to increase the stack size of the main function.
(Top) → Component config → Common ESP-related -> Main task stack size (default 3584)
Also you can take a look at the ~/esp/esp-idf/examples/system/base_mac_address example which uses esp_efuse_mac_get_default.
Thanks.

Thank you for your input @KonstantinKondrashov, I had seen that example, and from it, it seems that I am not calling esp_efuse_mac_get_default at the wrong time, so I checked your suggestion of increasing the main task stack size, although i had already increased it to 35760 to allow for the https client.
The same error is still happening, in the same place, after increasing the stack size to 45760. I don't think the mac addresses are this big.
It is worth noting that the line where the illegal read happens is bits_counter += field[i]->bit_count;, which is after the NULL checks. EXCVADDR: 0x06750677 also does not seem to suggest a NULL pointer, if I understand correctly.

@baWedekind Yes, that I am talking about. esp_efuse_get_field_size goes through ESP_EFUSE_MAC_FACTORY_CRC and counts bits. The last item should be NULL where this function should finish. I think something damage this.
const esp_efuse_desc_t* ESP_EFUSE_MAC_FACTORY_CRC[] = {
    &MAC_FACTORY_CRC[0],    		// CRC8 for factory MAC address
    NULL
};

esp_err_t esp_efuse_mac_get_default(uint8_t* mac){
     esp_efuse_read_field_blob(ESP_EFUSE_MAC_FACTORY, mac, 48);
     ...
    uint8_t efuse_crc;
    esp_efuse_read_field_blob(ESP_EFUSE_MAC_FACTORY_CRC, &efuse_crc, 8);
    ...
}

esp_efuse_read_field_blob -> esp_efuse_utility_process -> esp_efuse_get_field_size

Is it possible for this to be due to the register hardware breaking?

@baWedekind  No, in the sequence of calls esp_efuse_read_field_blob -> esp_efuse_utility_process -> esp_efuse_get_field_size there is no reading hw regs yet (regs will be read farther). I think it is a software issue. You can try to call this function from another place to make sure that it works, or even run esp_efuse_get_field_size(ESP_EFUSE_MAC_FACTORY_CRC) and expect that it returns 8 as we can see in backtrace (A2      : 0x00000008).

@KonstantinKondrashov Interestingly, the error does not happen when i call the function earlier in my code, before wifi has initialized. Could it be something to do with that? Either way, this should already allow me to know the mac address, and pass it to the part of the program where i need it.

Success! This does indeed solve my problem, although ideally i would fetch the mac address once i need it, not on wakeup. Is there some way I can make this possible?

Thanks for reporting, feel free to reopen.


Repeat binding iterates an extra time for each item in array

I'm submitting a bug report

Library Version:
1.6.0

Please tell us about your environment:

Operating System:
Win 10

Node Version:
6.11.4

NPM Version:
3.10.10

JSPM OR Webpack AND Version
webpack 3.6.0

Browser:
Chrome

Language:
TS 2.5.3

Current behavior:
When adding an extra item to an observed array, the bindings on the repeat seem to break.
an array with length 2  would repeat 4 times, with the last two items being null.

${$index} -- ${item}

0 -- a

1 -- b

2 --

3 --

What is the expected behavior?
To work as it does on this gist:
https://gist.run/?id=0849daa54f6804e2ea378945da8b9f33

My current workaround is ugly:
if.bind="$index<items.length"

It's working as expected for me. Can you describe how to reproduce the error ?

@bigopon I wish I could, it only started happening on my colleague's workstation from a  fresh npm install.  Our solution is a bit too massive to easily dissect and find what makes it break like this.
Seems like the repeat binding breaks on splices. Possible related error here: https://github.com/aurelia/templating/issues/574

@Kukks were there any lock files prior to the clean install?

package lock and bumping the versions was the issue. Thanks for the help!

This has started appearing again. Tried all sorts of annoying tactics with package locks and version bumping..
https://github.com/aurelia/templating/issues/574#issuecomment-396849762

Hmm it's not easy to track down, I have updating through many version and haven't gotten into that bad state of the repeat. Can you please share a repro or some more info @Kukks  ?

Just an example of using .push on the array, with a .length print at the bottom:
https://gyazo.com/f5def4c9e4d8897e866a26f48b904309

Maybe the specific block that updating the array should do

            Name

          <resource-data-source resource="TranslationCultures"
                                view-model.ref="translationCulturesDS"></resource-data-source>

              <h-options
                class="col-md-6"
                read-only.bind="!editMode"
                if.bind="translationCulturesDS && translationCulturesDS.metadata"
                translate.bind="false"
                value-identifier.bind="chosenTranslations[$index]"
                allow-clear.bind="false"
                load-remote-options.bind="translationCulturesDS.loadSelectRemoteData"
                load-single-option.bind="translationCulturesDS.loadSingleRemoteData"
                prop-display.bind="translationCulturesDS.metadata.optionSettings.name"
                prop-id.bind="translationCulturesDS.metadata.optionSettings.id"></h-options>

              <button class="btn-sm btn-link text-danger" h-button click.delegate="chosenTranslations.splice($index, 1)" if.bind="editMode">
                <h-icon name="trash-o"></h-icon>
                Remove
              </button>

              <h-spinner show.bind="loading"></h-spinner>

              <button class="btn-link text-dark" h-button click.delegate="chosenTranslations.push(null)" if.bind="editMode">
                <h-icon name="plus-circle"></h-icon> ${'add' & t}
              </button>

              ${chosenTranslations.length}

How you are adding element to chosenTranslations ?

chosenTranslations.push(null); straight from the html
I have other scenarios where I get the same effect from a view model  x.push

I'm experiencing this problem as well...    Can we get this issue escalated and resolved?
Animated GIF

It's a bug in Aurelia, i did some further  debugging and had posted in the
gitter along with a nasty hack where you override the prototype with a
dangerous patch. It really is a crazy bad issue and seems to be very hard
to replicate but keeps popping up every time you try to update Aurelia.
On Sat, Jul 7, 2018, 21:22 doktordirk<EMAIL_ADDRESS>wrote:

can you double check that it's not pushed twice? maybe the event is fired
twice for some reason
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aurelia/templating/issues/575#issuecomment-403208660,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABu-_oQFd5RhURPxqRmGFRBQgNWMGQj6ks5uEJn9gaJpZM4QFjhL
.

@Kukks  hard to find anything on gitter. can you repost here or in discourse?

We had something similar happening in our project today, where the push was causing duplicate items. Looking at the final compiled code it appears we have ended up with two different versions of the binding library imported in our solution (1.6.0 and 2.1.0).
The binding library patches the push method on the array prototype with a version that adds a change record. With two versions of the library this being patched twice, it resulting in two changes being recorded for every push.

@michaelsmithson - when you say "binding library" do you specifically mean aurelia-binding (https://www.npmjs.com/package/aurelia-binding) or something else?

Here is my guess.
Probably this is the way how webpack works, it tries to mimic nodejs behaviour.
Previous @EisenbergEffect released new parser in aurelia-binding v2 to make it a safe opt-in. But since then, aurelia core libs have been updated to depend on v2.
But if you have some 3rd party plugin (very likely) still asks aurelia-binding ^1.x.x in the package.json, you end up with 2 versions of binding in your node_modules (one direct, another one under the plugin folder).
webpack tries to respect the plugin's dependency, thence bundled 2 versions of aurelia-binding.
This also answers why I didn't see this nasty issue, as I use cli+requirejs built, it only bundles one version of every libs.

Ah yes, i see that my:
aurelia-plugins-google-recaptcha
'requires' aurelia-binding ^1.7.1
I will see if I can fix it somehow.

@stuartbale yep, I do mean the aurelia-binding library.
To find this I was stepping through the code in the chrome debugger, and noticed this weird behaviour inside the binding library push function. I then stuck a breakpoint before it patched the push method and noticed that when I inspected the current Array.prototype.push method that it was not the native function (push() { [native code] }) but rather appeared already to be the aurelia patched version. At this point I hunted around and found that there were two versions of aurelia-binding being included by jspm.

Reference
https://github.com/darrenscerri/duplicate-package-checker-webpack-plugin
https://github.com/zillow/webpack-stats-duplicates

The new resurgence of this isssue, is apparently different from the original issue created by @Kukks.
The original issue was demonstrated in gistrun, which is an aurelia bug. It has been fixed.
The resurgence is caused by which I guess the webpack packed two versions of aurelia-binding.
It's confirmed.
I can reproduce this issue with cli+webpack, just use plugin aurelia-plugins-google-recaptcha (which requires aurelia-binding ^1.7.1).
Not only the repeat bug appear, but also DuplicatePackageCheckerPlugin complains
WARNING in aurelia-binding
  Multiple versions of aurelia-binding found:
    1.7.1 ./~/aurelia-plugins-google-recaptcha/~/aurelia-binding
    2.1.2 ./~/aurelia-binding

Bingo.

@huochunpeng I concur. I installed DuplicatePackageCheckerPlugin and saw the same result as you.

Yep, this will keep happening as long as these 3 conditions are met:

<EMAIL_ADDRESS>is pulled in as a result of any main dependency allowing it (which is approximately the whole framework at least)
<EMAIL_ADDRESS>is pulled in as a result of another dependency disallowing it (which is a large portion of the plugin landscape)
webpack and jspm not offering a means to override the dependency resolution tree

At the moment, the best thing to do I believe is to try and get all those plugins updated. They can be found by looking at https://www.npmjs.com/package/aurelia-binding / dependents. I'll start sending some PRs early next week. Anyone feel free to chime in and help out.

FYI
Temporary solution: Update webpack.config.js using alias to force one version of binding
module.exports = ({production, server, extractCss, coverage, analyze} = {}) => ({
  resolve: {
    extensions: ['.js'],
    modules: [srcDir, 'node_modules'],

// add alias for aurelia-binding
    alias: {
      'aurelia-binding': path.resolve(__dirname, 'node_modules/aurelia-binding')
    }
  },


Update the dependency on review-database to v0.26-alpha.1

Codecov Report
Attention: Patch coverage is 69.23077% with 28 lines in your changes are missing coverage. Please review.

Project coverage is 51.95%. Comparing base (8247a88) to head (2dc3105).
Report is 1 commits behind head on main.

Files
Patch %
Lines

src/graphql/event.rs
33.33%
10 Missing :warning:

src/graphql/node.rs
50.00%
6 Missing :warning:

src/graphql/customer.rs
50.00%
2 Missing :warning:

src/graphql/model.rs
0.00%
2 Missing :warning:

src/graphql/node/crud.rs
33.33%
2 Missing :warning:

src/graphql/sampling.rs
77.77%
2 Missing :warning:

src/graphql/triage/policy.rs
33.33%
2 Missing :warning:

src/graphql/data_source.rs
50.00%
1 Missing :warning:

src/graphql/network.rs
95.45%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #151      +/-   ##
==========================================
+ Coverage   51.17%   51.95%   +0.77%
==========================================
  Files          65       65
  Lines       10708    10781      +73
==========================================
+ Hits         5480     5601     +121
+ Misses       5228     5180      -48

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


Update google-api-services-sheets to v4-rev20240708-2.0.0

About this PR
📦 Updates com.google.apis:google-api-services-sheets from v4-rev20220620-2.0.0 to v4-rev20240708-2.0.0
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.apis", artifactId = "google-api-services-sheets" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.google.apis", artifactId = "google-api-services-sheets" }
}]

labels: library-update, commit-count:1

Superseded by #132.


[validate] validate data_feed in validateInlinePayload

data_feed has not been defined as Payload variant in spec.

close via #89


Add OntoWallet adapter

Can you merge code please？

@jordansexton have any questions about PR ? Please check and commit, Thanks

resolve the conflict

@jordansexton Hi guys, ONTO Web3 Wallet is the most popular wallet and have Millions users，our wallet have many users of Solana，so，please check and commit～！Thanks

Hey, I want to address the lack of activity on your PR. Thank you for your patience!
Here's a followup on the state of wallet-adapter, the issues that individual adapters have in getting integrated with applications, and how we intend to improve things: https://github.com/solana-labs/wallet-adapter/pull/384#issuecomment-1159115764
Let's discuss in that thread to keep it in one place.

Closing this PR since there's been no activity for over a month. Please let me know if you've made the changes above and I'll reopen!


Add devicetype.getById and getByType

As I needed those functions :)

I don't know are unit tests are passing by your side, in your validator file you have a function :
function validateDeviceType(devicetype) {
    device.should.be.instanceOf(Object);
    device.should.have.property('id');
    device.should.have.property('type');
    device.should.have.property('tag');
    device.should.have.property('sensor');
    device.should.have.property('device');
    device.should.have.property('min');
    device.should.have.property('max');
}

device does not exist, it's devicetype here !
To start the tests, you can run
grunt test

On your machine
You can replace  it('should return a deviceType', function (done) {
by it.only('should return a deviceType', function (done) { when you are working on it, so that only this test is executed.
Btw, try to separate as much as possible your PR, so that I can merge what's working, and comment what's not working :)

I gonna fix the validator which is wrong


Postgres: Container name collisions on threaded tests

Every so often, running a multi-threaded test will throw an exception like the following:
docker.errors.APIError: 409 Client Error for http+docker://localhost/v1.41/containers/create?name=testdb-434: Conflict ("Conflict. The container name "/testdb-434" is already in use by container "a8ea9". You have to remove (or rename) that container to be able to reuse that name.")

Hilarity ensues.
Steps to reproduce
Unknown.
Errata
Spawning PostgreSQL containers attempts to make a "UUID" by selecting a random number between 1 and 1000, and does no existence checking before trying to use it.  With a surface that small, collisions are bound to be relatively common.

Applied this change, and ran a multi-threaded test I have that has been known to collide fairly often, 100 times without issue.
Considering this one squashed.

I'll drop a release out soon.


MTsafe

It is multithread safe version.

Two things:

Can you please rebase this against the current version of the code?
Can you please write a more descriptive description as to what "It is multithread safe version" means and what this PR aims to do? The changes seem partially disjoint, so having some rationale behind it would be nice.


Request: Add option to force landscape video

Hello!
Could we have an option to force videos to be landscape-rotated (fullscreen) when opened, so that those of us who keep the rotation lock on don't have to fiddle with it a lot?
Thank you!

Would this essentially open videos in landscape despite the current device orientation?

Yes, similar to how the YouTube iOS app opens videos in landscape when you hit the fullscreen button.

Done with @colejd 's PR last week


Issue with "Checkbox Group" and action for "Other" value

Hi @kjac ,
I have tried FormEditor and it is very beautiful tool you have created and it is very useful for me.
But I am facing one problem with "checkbox group" control.
I have added one item "Other" and I want to show a textbox on selection of "Other" which is "Other Value" Textbox.

For that I have added action that when value of Question is "Other" it will show "Other Value" Textbox for me but when I am selecting another value with "Other" it will become disabled and not allow me to select multiple values like "Bank to bank transfer" and "Other" both with "Other Value" Textbox.

And There is one more problem I am facing
It will not allowing me to submit form if I have selected only one value "Bank to bank transfer"
Because "Other Value" Textbox is set required.
The reason behind set it to required is it will not validate and wait for user to input something in
"Other Value" Textbox if he/she has selected "Other" option.
And if I remove required from "Other Value" Textbox then it will submit the form though user has selected "Other" option

Hi @hardikmehta09,
Glad you like the package!
The first problem is caused because the value isn't "Other" when you pick multiple values; it's "Other,[more values here]" or possibly "[more values here],Other" - depending on the order of which you click the checkboxes. The thing is that a checkbox groups isn't a standard HTML form field like a radio button group, so implementations of it don't really behave as nicely as standard form fields.
You might be able to solve the first problem by creating a custom condition that lets you do "Value contains" conditional logic. Alternatively switch to a radio button group if you can.
The second problem is easier to solve. You shouldn't make the "Other Value" field required, because as you say - the form won't submit without a value in it. Instead you need to use conditional validation to make a field conditionally required. See this tutorial.
Note that if you end up solving the first problem with a custom condition, that same custom condition will be applicable for conditional validation as well.

I've got the logic for .Contains, would you like me to create a PR?
It's pretty straight forward, we just use indexOf in the front-end code, and use .Contains in the C#.


wip: move to apache thrift

testing

Hiya, I'm going to close this out as I'm not done with that branch yet. Hope your tests worked well!


Rain100h

Hello, Thanks,I want to ask how many epochs Rain100h has reached the best

Hello, Thanks,I want to ask how many epochs Rain100h has reached the best
How many epochs did you train on this dataset and whether you used augmentation. I've only been training for 300 epochs and it didn't work well


Fix crashes in FlatVector::set and setNoCopy

Summary:
FlatVector<T>::set and FlatVector<StringView>::setNoCopy used to crash if values
buffer is null.
Also, FlatVector constructor allowed to create vector with null values buffer
and non-null nulls buffer where not all rows were marked as null.
Differential Revision: D51527495

@Yuhta Jimmy, thank you for reviewing. Added isView check back. Would you take another look?


[CERT-TEST-FAILURE] - TC-CNET-1.3 - Test failed

Feature Area
Other
Test Case
TC-CNET-1.3
Reproduction steps

Bring up the DUT with all-clusters-app.
Pair the DUT using chip-tool through "ble-wifi" transport.
Run the command ./chip-tool networkcommissioning read cluster-revision  1 0

Expected Outcome:

[1649244866.275684][30440:30446] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion:<PHONE_NUMBER>
[1649244866.277721][30440:30446] CHIP:TOO:   ClusterRevision: 2
[1649244866.277827][30440:30446] CHIP:EM: Sending Standalone Ack for MessageCounter:10092551 on exchange 64234i

Actual Outcome:

[1649244866.275684][30440:30446] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion:<PHONE_NUMBER>
[1649244866.277721][30440:30446] CHIP:TOO:   ClusterRevision: 1
[1649244866.277827][30440:30446] CHIP:EM: Sending Standalone Ack for MessageCounter:10092551 on exchange 64234i

Bug prevalence
Whenever I try to read ClusterRevision.
GitHub hash of the SDK that was being used
f4735790763692462c0803be35c808d52741ffb4
Platform
raspi
Anything else?
In SPEC, the ClusterRevision value has been updated to 2. As per spec changes, SDK has to update the ClusterRevision value from 1 to 2.
Specification Reference:

Issue resolved


Add ability for bot to send messages after joining a channel

Maybe have it respond to the RPL_TOPIC/RPL_NOTOPIC server command responses?

+1


Create landing page view

Development Tasks

[ ] #2
[ ] #3

Some css styling details need to be fixed later


README: Replace Google Groups with Slack

Problem

The README is listing Google Groups for support

What this PR includes

I simply removed Google Groups and replaced it with the link from this comment: https://github.com/postalhq/postal/issues/917#issuecomment-615157381

I actually have a plan for this...

Enable GitHub Discussions for this repository
Close the Google Group (nobody uses it anyway AFAIK)
Add issue templates for issues for reporting bugs
Discourage anyone from posting support questions as actual issues in the repo.

This is an epic plan!!
Feel free to use anything from our issue templates on our other open source project: https://github.com/serversideup/amplitudejs/issues/new/choose
Code for it is here if you need to reference anything: https://github.com/serversideup/amplitudejs/tree/master/.github/ISSUE_TEMPLATE


First fit best fit and worst  fit algorithm

Is your feature request related to a problem? Please describe.
First fit best fit and worst  fit algorithm
Describe the solution you'd like
I would like to implement this in java python and cpp
Do you want to work on it
I would like to implement this in C++,python and java
Please assign me this issue as part of GSSOC `21

Please assign this to me in C++.I am a GSSOC'21 participant


[pdcurses] Add usage

When building it as a DLL, need to define PDC_DLL_BUILD to import external variables.
So I add the usage to this port.
Related issue #4848
No features need to test.

./azp run


Trim feed author strings in RichXMLParser

Partially addresses #1253
This trims whitespace off the parsed author strings of feeds. It also adds a string comparison to avoid combining two identical author strings, e.g. if the feed has both author and dc:creator elements.

I think it won’t be necessary to change the view code (ArticleListView) here. The row height is determined by -updateArticleListRowHeight and based on the number of “columns” shown. NSAttributedString apparently cannot prevent line-breaks caused by line-break characters in the text itself, so the change must happen in the source string anyway.


Add post model to admin

Show post model in the admin interface.

why did you close it?

@webknjaz Something I have done with this branch.
git rebase master did then solve the conflicts, git adds file and then git rebase --continue, tried to push - nothing.
git rebase --skip and pushed with the flag --force and everything, the branch was deleted.
Something wrong I did ... apparently, the skip was superfluous. And now what I can do?

To avoid such things I usually create a backup branch.
You shouldn't close PRs, continue where you started.
It's a chance to learn how to recover things in git, like using reflog. You must have smth locally. Then you can practice rebasing again.
You should've checked the branch locally. Force push is dangerous in many ways.

do you do that?

No, I just create a branch with backup suffix and operate on original branch and then I can compare them via git diff, for example

What am I supposed to do with this branch? Now?

Google how to recover lost branch using git reflog.

Tell me, what do you mean?

You still had an original branch on remote right up to the point when you force pushed your broken local branch there.

--skip was my big mistake. I read about it. Now hardly a repeat.

Yep :)
Did you finally get the idea of what's happening during rebase?

I explain how I understand it, @webknjaz
Branch is the first chain and master is the second chain.
And they join to each other. Is a straight line.
But if it merge we can see a circle.
In the end, no difference. We have a master code in first and second case.

Once you understand what rebasing is, the most important thing to learn is when not to do it. The golden rule of git rebase is to never use it on public branches.

from tutorials - merging-vs-rebasing
I think I'm still not understand for 100%. =(

public branches

It means the branches, where you collaborate with other people. It's usually about master or devel, or release. Not feature-branches for PRs.

Rebase takes a set of commits you give it and then applies them sequentially one by one to the target branch in the same order.

"branch" in git is a pointer to some commit, which corresponds to that commit and chain of all of the parent commits of that commits.
When you create a "merge commit", it's just like normal commit, except it contains pointer to more than one commit. (two or more parrent chains joining together).
Fun fact: merges with more than one parent are called "octopus" :)


(Fix): add view all artworks CTA to trove rail

The type of this PR is: fix

This PR solves GRO-834
Description

The View All Artworks tab was missing from the Trove Rail. It now links to /gene/trove collection page.

A cohesion version update in my package.json slipped into this pr.... is that ok?

Yeah I'd pull the package update off this PR


TaskCanceledException when requesting AccessToken

Noticed that if calling RequestAccessTokenAsync method end up in TaskCanceledException all further requests will also ended the same way as accessTokenTask won't be assigned to null, so added try finally to fix that

@StMilan @HMSPushKit
can anybody finaly merge this PR?


Conflicting advise/code sample in documentation

Is this a regression?
Yes
Description
In the readme of the GitHub page, it is advised to use the PRISM Node 2.1.1 in case the agent is below version 1.9.2. The example just above that note, shows exactly the opposite: agent 1.12 is used with node 2.2.1. That’s a bit confusing and should be updated.
Please provide the exception or error you saw
No response
Please provide the environment you discovered this bug in
No response
Anything else?
No response

@yshyn-iohk could you have a look at this?

The README.md file needs to be updated.
Currently, the latest version of prism-node 2.2.1 is compatible with the newest version of the prism-agent 1.23.0

I will update the documentation before the next release.


Test failure with QuickCheck 2.14.3

  Summation
    Kahan
      t_sum_shifted:                                         FAIL
        *** Failed! Falsified (after 62 tests and 16 shrinks):
        [2.0,6.0,0.0,0.1,0.0]
        Use --quickcheck-replay=740601 to reproduce.
        Use -p '/Kahan.t_sum_shifted/' to rerun this test only.

It passes with QuickCheck 2.14.2 or older versions, with everything else unchanged.

This seems to be fixed in 7e5deed1cb3fafdd6eb035b3713ae2f46b67014a.


[WIP] Debug PySpark test failures in ZeppelinSparkClusterTest

This will result in new CI profile and we can check if it's reproducible there, etc.
No need to merge it

@rawkintrevo I think you might need to go to https://travis-ci.org/rawkintrevo/incubator-zeppelin and enable CI

Apparently CI for this branch is running for my profile here https://travis-ci.org/bzz/incubator-zeppelin/jobs/144657380

From CI logs
It looks like this first test breaks pySpark interpreter, so next 2 just fail on pyspark is not responding
FAILURE! - in org.apache.zeppelin.rest.ZeppelinSparkClusterTest
pySparkDepLoaderTest(org.apache.zeppelin.rest.ZeppelinSparkClusterTest)  Time elapsed: 77.275 sec  <<< FAILURE!
java.lang.AssertionError: Paragraph:
Input:
%pyspark
from pyspark.sql import SQLContext
print(sqlContext.read.format('com.databricks.spark.csv').load('/tmp/test1492566832665921045csv').count())
Output:
%text Traceback (most recent call last):
  File "/tmp/zeppelin_pyspark-5848803750902136548.py", line 20, in <module>
    from py4j.java_gateway import java_import, JavaGateway, GatewayClient
ImportError: No module named py4j.java_gateway
pyspark is not responding Traceback (most recent call last):
  File "/tmp/zeppelin_pyspark-5848803750902136548.py", line 20, in <module>
    from py4j.java_gateway import java_import, JavaGateway, GatewayClient
ImportError: No module named py4j.java_gateway
 expected:<FINISHED> but was:<ERROR>
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.failNotEquals(Assert.java:743)
	at org.junit.Assert.assertEquals(Assert.java:118)
	at org.apache.zeppelin.rest.ZeppelinSparkClusterTest.pySparkDepLoaderTest(ZeppelinSparkClusterTest.java:241)

@jongyoul if you have a moment - could you please give us a hand with this issue?
What could be the reason py4j can not be find in pySpark tests on CI configuration...

@bzz,   turned on CI integration on my branch, do you want/ can I grant access?
This DIY travis-CI is at least a fresh approach, I'll throw some more energy behind it tomorrow.
for @jongyoul,  In essence- I've added a new interpreter mahout that extends SparkInterpreter.  All tests run fine, except the REST API tests in cluster mode, and only the pyspark ones fail.  Everything works as expected when actually running Zeppelin.  I have a python scripts that recreates the tests in ZeppelionSparkClusterTest.java

trigger ci

At first, I've tested this with my local machine. I've some patches for making same environments. I'll let you know the difference and my test results.

@jongyoul thanks so much!

I've submitted apache/zeppelin#1201 and test it with my local machine, and I've passed all pyspark tests. I'll also dig into CI error but could you guys also check it in local mode?

I confirmed it works for me in local as well.

@bzz @jongyoul the builds on the main PR started working after a rebase this morning. Whatever the issue was, it has resolved itsself... ? + !

Wow... @jongyoul thank you for looking into it! Do you have any idea what that might be inaster that fixed it?

@bzz and @jongyoul I'm going to close this unless you have any objections.
tg


[Request for External] report 840 "Suggest Worksheet Lines" - procedure ClearCircularRefData

Describe the request
Hello Colleagues,
Can you please remove the local prefix from procedure ClearCircularRefData in report 840 "Suggest Worksheet Lines"
Old signature
  local procedure ClearCircularRefData()
New Signature
  procedure ClearCircularRefData()
Thanks in advance,
Sameer
Additional context
We've developed a similar data item for "Cash Flow Account" that necessitates the use of this procedure.
Internal work item: AB#502641

This is checked in and available in Business Central 24.1

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 18626.


feat(client): ✨ Add spectators

Players who join late will now spectate the whole game
Spectators and dead users can view 1 on 1 chats
global chat is always available for dead users
dead users chat messages look different than alive users
spectators and dead users can't vote

you should show select a chat to specatate

add a isSpectator property to chatroom as a prop

pls pull from dev


Additional methods and error handling.

This adds new methods:

getHastagPhotos(params)
getPhotosByUsername(params)

Amazing @revall I just invited him to https://www.npmjs.com/package/instagram-web-api/access

There's a typo in getHastagPhotos - should be getHashtagPhotos.
Also, don't you think it'd be better if the method name was getPhotosByHashtag, so that it's consistent with the names of the other methods this API provides (getSomethingBySomething)?

Yes, I've missed it. @ivkos Thanks. I`m going to refactor this.


Expand README section on ignore_task_definition_changes and Blue/Green deployments

Is your request related to a new offering from AWS?
No
Is your request related to a problem? Please describe.
I am trying to use terraform-aws-ecs to create an ECS cluster and service that I can then deploy via GitHub actions.
The design doc is super helpful, but it has one issue that's causing me trouble.
The section on ignore_task_definition_changes says that changes to load_balancer are ignored, and after the bullet that starts with "When using the above ignore_task_definition_changes setting..." a sketch of an example configuration using codedeploy is given. Unfortunately, big chunks of the example are "omitted for brevity," which makes it harder for me to set up something similar myself.
This is tricky because without figuring it out, I'm not sure how to make my terraform both set up a load balancer and ignore changes to the task definition in the service.
Describe the solution you'd like.
I'd love to see this example expanded, with nothing omitted for brevity. Maybe it could even be turned into a full-on example in the examples/ directory.
Describe alternatives you've considered.
I'll just have to go read the docs on all the resources mentioned in the example today and try to figure out how to configure them for myself.
Additional context
n/a

Nooo don't close this please


PHP8: curl_init() is not returning a resource anymore

In PHP8, calling curl_init() in VCR/Util/HttpClient, will return a CurlHandle object, which is not a resource anymore (See comment about PHP8.0 here). As a result the Assertion::isResource() in the next line fails, and an exception is thrown:

"Could not init curl with URL http://foo.com'

Removing the assertion fixes the issue...

Duplicate of https://github.com/php-vcr/php-vcr/issues/337


stm32 i2cv1 async regression, silently reads back 0xFF

Will need to do a bisect to find the offending commit, but essentially somewhere between the crates.io release and current main there is a regression where i2c doesn't fail it just reads back 0xFF. This was produced on an F2 board, but it more than likely applies to other chips with i2cv1.
Blocking of course works fine.

Might want to reference some of the PRs mentioned here: https://github.com/embassy-rs/embassy/issues/2372

i'm seeing the same behavior with i2cv2. blocking works, async doesn't- but only for pmbus devices in my experience so far


Add Static Build Pack

PR https://github.com/istrategylabs/mo-static/pull/57
https://github.com/heroku/heroku-buildpack-static

@akrawchyk Take a look?

@josephabrahams left a few small comments on the PR.


_ObservedSet.close() tries to iterate a map

I'm adding better static analysis of for-in loops to analyzer, and I discovered an error in observe. In path_observer.dart:
class _ObservedSet {
  // ...

  // Dart note: the JS implementation is O(N^2) because Array.indexOf is used
  // for lookup in this array. We use HashMap to avoid this problem. It
  // also gives us a nice way of tracking the StreamSubscription.
  Map<Object, StreamSubscription> _objects;

  void close(_Observer obs) {
    // ...

    if (_objects != null) {
      for (var sub in _objects) sub.cancel(); // <-- Line 863.
      _objects = null;
    }

    // ...
  }

Map doesn't implement Iterable, so that's not going to do anything good (and now it generates a static warning). You probably want _objects.value.

I might be missing something obvious, can you clarify?  The only iteration I see is for _objects, which is a list.

_observers is a list, _objects is a map.

Sorry, thanks for clarifying, I mixed those up when looking at the original definition.
I however see the implementation going through _objects.values here: https://github.com/dart-lang/observe/blob/master/lib/src/path_observer.dart#L854?

We sent Jake back in time to fix that bug in April, 2015 :)
https://github.com/dart-lang/observe/commit/354778b4d7e5629d6f1feae1f13c307a971fe761

I'm going to tentatively close as this looks like it was fixed and more recent versions have been published...

Heh, oops! Looks like the observatory folks need to upgrade to the latest observe package in the Dart repo then.
cc @johnmccutchan


Creating a class for the python script

Once the script is confirmed, create a class for the code.

Okay Will do today in the meeting.


Check how much longer a credential is valid for before making any calls

In the various ways that I use this tool, I may call it multiple times even when my credentials don't need to be refreshed. To make the integrations faster, we should check if the credentials exist yet and if so then how much longer they're valid for. I'd suggest only refreshing them if they're valid for < 30 minutes or for less than half the length of the session duration. Perhaps we can have that as a configuration.

There already appears to be this functionality for refreshing all credentials, so it should be a matter of applying to refreshing a single profile


[DOC] Building from a rapids-compose setup

I ran into trouble when I was trying to bring a cudf build out of compose and into the plugin for testing. I thought I would document my process here to attempt to bring some light to the difficulty. I really like using the compose environment, but this means that I don't have gcc and cuda aligned with the internals of the docker container when outside of the container and that presents issues with building spark-rapids. I have cobbled together a workflow that isn't ideal, but is operational.
I first build cudf inside the container with build-cudf-cpp -DCUDF_USE_ARROW_STATIC=ON then I change into the cudf/java directory and build the maven package with CONDA_PREFIX=/home/knobby/code/rapids/compose/etc/conda/envs/rapids/ CUDF_CPP_BUILD_DIR=/home/knobby/code/rapids/cudf/cpp/build/release mvn install -DskipTests. This generates a .m2/releases directory inside the home directory, which is internal to the container and not a mounted volume. I then have to copy this directory to a mounted volume(mv ~/.m2/releases ~/cudf/) and move it to my home directory outside of the container(~/code/rapids/cudf/releases ~/.m2). From here I can go into the spark-rapids tree and use mvn verify to build and verify with my custom cudf.
Possible improvements

[ ] Volume mount ~/.m2 into the container so the maven install ends up in the correct place

Is this requesting a change to rapids-compose or just RAPIDS Accelertor dev documentation on setup flags to use when using rapids-compose?  Another alternative is you could extract the cudf jar and then manually install it via mvn into the local Maven repository with mvn install:install-file

Sorry I wasn't clear here. I'm not sure the best fix and that is why this is an issue instead of a PR. I don't know if we want to add a documentation section in contributing on how to build the plugin if you use compose or not. In thinking through it well while I was writing, I think I'm going to ask if rapids-compose can mount the volume or have an option for mounting the volume for the .m2 directory. That would solve lots of the trouble I ran into.
Thanks for the hint about mvn install:install-file, I didn't know that was an option.


build issue

"./autogen.sh &&  ./configure ... --prefix=/usr"on raspberry 4B show "checking whether the C compiler works ..no configure: error: C
compiler cannot create executables
the config.log shows "gcc:error ;unrecognized command Line option ‘-V’ ，"gcc:error:unrecognized command line option '-02'

what distro? should be sufficient to check the docs for that distro on how to properly install compiler and dev tools

what distro? should be sufficient to check the docs for that distro on how to properly install compiler and dev tools

distro of master,but cannot find docs for compiler and dev tools

I meant "what linux distribution?". Examples: ubuntu, fedora, archlinux, debian, raspbian, etc

I meant "what linux distribution?". Examples: ubuntu, fedora, archlinux, debian, raspbian, etc

latest raspbian (raspberry PI osRelease date: March 4th 2021 Kernel version: 5.10)

I meant "what linux distribution?". Examples: ubuntu, fedora, archlinux, debian, raspbian, etc

latest raspbian (raspberry PI osRelease date: March 4th 2021 Kernel version: 5.10)

and the complier is gcc 8.3.0

I don't use it, but googling it says sudo apt-get install build-essential should bring what you need

I don't use it, but googling it says sudo apt-get install build-essential should bring what you need
I already try this,the newest version gcc does not support build and shows errors,And I followed to downgrade the version of gcc,but failed

I'm running Raspbian (earlier image, but with the latest updates) on a Raspberry Pi 3 B and it just works fine.
$ gcc --version
gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Raspbian
Description:	Raspbian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

$ uname -a
Linux <redacted> 5.10.17-v7+ #1403 SMP Mon Feb 22 11:29:51 GMT 2021 armv7l GNU/Linux

IIRC, I just installed build-essential as mentioned by Lucas and nothing else compiler related on my system. Could you try to re-install the build-essential package? Either just with sudo apt reinstall build-essential or even the "hard" way:
sudo apt remove build-essential
sudo apt autoremove
sudo reboot
sudo apt install build-essential

Posting a link to the config.log and command line output (e.g. at gist.github.com) might also help our guessing, where the issue is.

Since Raspbian is debian-based, it likely needs the same set of packages. See #279


DEP: raise value error for object arrays

Reference issue

Closes #15764
What does this implement/fix?

A warning (not explicitly a DeprecationWarning) was added in https://github.com/scipy/scipy/pull/2719 nearly ten years ago. Under #15764 it was agreed this could be changed to an error.
Additional information

LGTM, thanks a lot for tackling these! :)


Dispatched routes response transformer

I have a few dispatched routes in my current project, but response returned from dispatcher is looking "raw", and seems like it is not applying transformers.
For example a normal api:
...
$collection = collect($parents);
return $this->response->collection($collection, new SchemaTransformer())->setStatusCode(200);

response returned using this api is something like this:
{
    "element": {
        "id": 1,
        "class_id": 1,
        "type_id": 1,
...

class_id and type_id has typecast in SchemaTransformer so that it returns  correct types.
But then in my dispatched route the response data is not using any casts, and doesn't transform the data:
...
$dispatcher = app('Dingo\Api\Dispatcher');
$result['element'] = $dispatcher->get('/element/'.$id);
...
return $result;

and response will be like this:
{
    "element": {
        "id": 1,
        "class_id": "1",
        "type_id": "1",
...

Typecasts for class_id and type_id were not applied. Does anybody knows how to solve this?
PS: Transformer:
public function transform($record)
    {
        return [
            'id'          => (int) $record->id,
            'class_id'          => (int) $record->class_id,
            'type_id'           => (int) $record->type_id
...

Looks weird, I don't think that should be the case. Can you verify through debugging 100% whether your transformer is in fact being used or not?

@specialtactics yea its definitely working and used if I hit just a normal route.
Response from dispatched one not doing type casts.
$result['element'] = $dispatcher->get('/element/'.$id);

Also, I just did a proof of concept on one of my projects, and the code you have there works perfectly fine.
    public function transform(Object $object)
    {
        $transformed = parent::transform($object);

        $transformed['name'] = (int)$transformed['name'];

        return $transformed;
    }

User's name here will be 0 when returned from my API.

Solved using return $response = $dispatcher->raw()->get('/departments');

https://github.com/dingo/api/issues/500#issuecomment-117599331

@specialtactics very curious how did it worked on your side when response returns original content, not transformed one)))
protected function dispatch(InternalRequest $request)
    {
        $this->routeStack[] = $this->router->getCurrentRoute();

        $this->clearCachedFacadeInstance();

        try {
            $this->container->instance('request', $request);

            $response = $this->router->dispatch($request);

            if (! $response->isSuccessful() && ! $response->isRedirection()) {
                throw new InternalHttpException($response);
            }

            if (! $this->raw) {
                $response = $response->getOriginalContent();
            }
        } catch (HttpExceptionInterface $exception) {
            $this->refreshRequestStack();

            throw $exception;
        }

        $this->refreshRequestStack();

        return $response;
    }

@hxdef2517 I am not using dispatch and this maybe where the confusion lies, in my case it's going through my transformer from controller. I am not really sure why you are using dispatcher->raw() and what the use case there is to do that and then still want transformation.
My transformers use a base transformer and that's why there's a call to parent::transform.

@specialtactics I see. yea there is a need of using a dispatcher and transform its response, because dispatcher returns an original contents no matter what, but unfortunately this functionality is not included in yet, even though I did manage to resolve it to my use case.


Missing words?

The sentence "The data model that powers the content pack includes user attributes that from Active Directory, enabling the ability to pivot in certain reports." seems be lacking a few words? Or maybe simply the word "that" should be deleted?

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

ID: 491f1b4f-6101-2741-32d9-77df46602591
Version Independent ID: 64c576f5-200a-a702-7662-d66892596c7f
Content: Microsoft 365 usage analytics
Content Source: Office365-Admin/usage-analytics/usage-analytics.md
Service: o365-administration
GitHub Login: @Sirkkuw
Microsoft Alias: sirkkuw

@baardhermansen - Thank you for submitting feedback.
I will get this issue over to the O365ITPro writing team for investigation.
Thank you for reporting and making the docs better. Much appreciated.
I made a note to request the team to update this when the work is complete.

@baardhermansen  - From our understanding, the issue has been resolved. If you feel it hasn't been resolved, please re-open this issue.
Thank you for your contribution to make the docs better! Much appreciated!