import not working

I'm just copying the code from the examples and I get error on import statment saying:
Unable to resolve path to module in '../../dist/vue-xlsx.es.js'

@ZalgirisKaunas the examples are a bit misleading, just replace dist/vue-xlsx with vue-xlsx

Hello,
I can confirm the import are not working. Trying to import it in a Nuxt project with no succes...
I had to do:
import { XlsxWorkbook, XlsxSheet, XlsxDownload } from 'vue-xlsx'

Also I had to install xlsx package with npm, is that a missing dependency ?

Can you explain me how I can access to json_to_sheet method ?
Thx


Abstract ethercat slave id

Working with slave ids makes the ipc connections tightly coupled to electrical setup.
Utilize configurable address on devices which support it on a bus level, meaning configured per bus for each slave.
The id would be propagated down to each device driver so the driver can create its ipc channels accordingly.
This means the motor api would need to support abstract id.

Idea from @omarhogni maintain a list of known slaves, if the list changes try to maintain the list and maybe generate a random name for the new slave, or report an error if there is a missing slave


[adc_ctrl] Updates to LP -> NP transition

This contains the following patches:

the adc_ctrl FSM has one more arc now that allows it to go back to LP mode iff LP mode was enabled in the first place, and a match could not be confirmed after transitioning from LP -> NP mode.
an FSM state observation register is added. his is intended for debug purposes only.
another internal interrupt and wakeup source is added that allows to wake up or interrupt the system if an LP -> NP transition has occurred. this is intended for debug purposes only.

From the description, it sounds exactly as what we need.

The DIF has been aligned, but the DV environment still needs patches and fails currently.

Ok the latest force push updates the block-level DV and models the new behavior so that it is implicitly tested by randomized sequences like adc_ctrl_filters_wakeup. The FSM state output register for debug is just tested with an SVA right now.


build: latest a10

v11.2.4 has been released and contains a fix for the issue. Feel free to reopen the issue or to submit a new one if you meet any problems.


Result collection

Dear all,
Since Jonas made the location where we can put in our results..:
https://next.rl-institut.de/apps/files/?dir=/open_MODEX/01_WG_content/08_RC_Result_Comparison/01_Results&fileid=541551
..I guess it would be nice to have kind of an ongoing issue here, in which we can update Jonas and each other when and which results we upload.
Balmorel:
17/03/2021: Upload of results for 2016 (ID19 with the changes suggested my Soner/Christoph in Issue 'ID19 update #14')
https://next.rl-institut.de/apps/files/?dir=/open_MODEX/01_WG_content/08_RC_Result_Comparison/01_Results/Balmorel/ID19/2016 Results&fileid=1024607
Upload of results for 2030 (ID19 with the changes suggested my Soner/Christoph in Issue 'ID19 update #14')
https://next.rl-institut.de/apps/files/?dir=/open_MODEX/01_WG_content/08_RC_Result_Comparison/01_Results/Balmorel/ID19/2030 Results&fileid=1024607
Urbs:
GENESYS-MOD:
GENESYS2:
oemof:

thx, good idea :)

Tomorrow, I will show how this data can be uploaded easily via oedatamodel_api directly to OEP. From there it can be imported/analyzed with our results dashboard.

Uploaded my Balmorel-Upload-Progress to:
https://next.rl-institut.de/apps/files/?dir=/open_MODEX/01_WG_content/08_RC_Result_Comparison/01_Results/Example_Balmorel_upload_steps&fileid=1026176
Added a Steps.md where all changes are logged. Hope this helps!

I think this issue moved !
https://github.com/open-modex/result_comparison/issues/4
But thanks Stefanie and sorry nobody put in their IDs. Have to check those issues more regularly...

I think we probably can close the issue then?

You are right!

@jonasVano, @henhuy No problem at all :)
This issue was actually meant for keeping track on what data ID our results covers. So e.g. I just uploaded results of data ID31, but before then the results of Balmorel was from data ID19 or something like that. I guess this is kind of important to know when we compare different frameworks in the dashboard because maybe we are comparing frameworks that are made from different data versions. Eventually, all framework will cover the same data upload but until then in open-modex/result_comparison#4 we maybe could specify also what data ID our upload covers :)

Good idea!
Maybe data version should be present in upload data as well?
Maybe in scenario source or comment field?


Support querying null/non-null key using B+ Tree index

What changes were proposed in this pull request?
Support query for isNull/isNotNull in B+ tree index:
attribute is null , attribute is not null now is supported by B+ tree index
How was this patch tested?
unit test

please help reviewing the BTreeIndexRecordWriter and BTreeIndexRecordWriter files,
since I worked on it based on the ChunkedBuffer version before you refactored to Guava cache version.
Then I merged with the newest version, I concern that if there are some underlying bugs
@linhong-intel
thanks  : )

Just one question, Does intervalRange (DummyStart, DummyEnd) include those NULL value??

@yueawang

Does intervalRange (DummyStart, DummyEnd) include those NULL value?

nope, [DummyStart , DummyEnd] is all non-null keys

B+Tree Index File Structure
************************************************
*　　　　　　　 Version   info
*———————————————————
* 　　　　　　　Node Data
*———————————————————
* 　Row ID (with Non-Null key) List
* 　Row ID (with Null key) List　　　　　<=======
*———————————————————
*　　　　　　　 Footer
* 　Row Count with Non-Null Key
* 　Row Count With Null Key　　　　　<======
* 　Node Count
*　 Nodes Meta Data
*　 Min/Max Key Data for each node
*———————————————————
* 　Row Id List Section Size
* 　Footer Section Size
***********************************************

Thanks @Moonlit-Sailor , that's what I have expected.

LGTM but need some test cases.

LGTM pending tests.


"Number of circuits and sweeps must match" -- run_batch

I have a list of non-parameterized, non-sweepy circuits and thought I could just not pass params_list but it insists that it be of equal length to the number of circuits.

the default value shouldn't be None if that doesn't actually work (?)
can I pass a list of Nones? can we make this happen automatically?

I agree that users shouldn't be forced to pass parameters. It should just work.


How to respond server ping with a pong ?

Using node.js I'm sending ping to the client

ws.ping();

I'm receiving the ping but how to send a pong in response ?

Unfortunately, there is no way to send a pong frame now. I'll be working to fix this issue.

You can download the new version 1.2.0. This version contains Ping and Pong frames. Check it out!


Extend example in doc

Hi there. Great job already! Thank you guys.
Would really love to see an example of how to pass a prop to a custom extension.
for example i copied your TodoItem-extension and tried to pass an object in like this:

         Buy beer

and then tried to use this custom-prop inside of the template logic of TodoItem, but it wasn't available there.
is there a way to achive something like this? an example-code for this in the doc would help not only me, but also other.

Hey, thanks for your feedback! Can you tell me what you want to do with custom props? At the moment all data should be saved as node attributes (see todo item extension). All these attrs are available in your vue component.
Maybe you could paste your full extension here?

oh yes that actually helped me a lot, thank you. now i have access to the passed variables, awesome! But i'm still a bit confused about the reactivity you've mentioned through vuex. How would i get access to the store inside this custom vue-view? Do i have to pass the whole store as a prop?

Did you ever worked with Vuex? Maybe you should take a look, it's an amazing plugin. The good thing is that you don't have to pass everything as a props because there is a global store. For example you can import customValue directly from your store.
import { mapGetters } from 'vuex'

export default class TodoItemNode extends Node {

  ...

  get view() {
    return {
      props: ['node', 'updateAttrs', 'editable'],
      computed: {
        ...mapGetters([
          'customValue',
        ])
      },
      methods: {
        onChange() {
          this.updateAttrs({
            done: !this.node.attrs.done,
          })
        },
      },
      template: `

            {{ customValue }}

      `,
    }
  }

}

yes i use it every time, when im playing around with vue. thank you for your quick and helpful answers 🤙

It seems tiptap doesnt have an option like v-model="" so what if i want to attach a vuex store getter computed valute value to tiptap?

@rameezcubet
You can bind v-model to a computed with get() and set() like this
computed: {
  customValue: {
    get() {
      return this.$store.getters.customValue
    },
    set(customValue){
      this.$store.commit('setCustomValue', customValue)
    }
  }
},


Add support for "host components"

Host components are a way to add host implementations of component
interfaces with a dependency injection pattern. Host components
implement the HostComponent trait which defines how the host
implementation is linked and how the component's state is constructed.
Fixes #311

Keeping this a draft until dependency #382 merges.

I only updated outbound-redis and object-store in this PR to give an idea of what  HostComponent implementations look like. I think outbound-http will be a little more complicated to convert (but possible). I'm not sure about config yet; it might need to be kept separate if HostComponents end up using the config mechanism themselves. Wasi will stay in engine for now.


Add waveform generation for cocotb

Generate waveform of all signals. Only enabled when COCOTB_SIM is set. cocotb uses VPI and directly instantiates this module directly. To avoid another testbench, the waveform is generated on this level.

Hey Clifford,
I am currently working on integrating picorv32 in a cocotb testbench. For that, this change would be very useful.
Cheers,
Stefan

(1) What's the purpose of #1;?
(2) I haven't used cocotb but I'm not convinced that this is universally useful. What if you don't wan't such a vcd file? For example because generating it inevitably slows down simulation significantly, which may be a problem if you want to run very long simulations of the core executing long programs. Why not have this initial block in a separate module that is shipped with your cocotb test bench? (I'm assuming that cocotb follows the verilog simulation principle that allows for multiple top-level modules that all see each other.)

Hi,
thanks, I think i was too fast with pushing this out. I agree that it makes more sense to have it in a separate module, but I need to dig deeper into cocotb to handle it properly.
Cheers,
Stefan


password db.sqlite

Hello friends
I use this library in java
Where can I get this database db.sqlite password?

It is a random 256-bit string, stored encrypted in another file. There is no easy way to get it.

@levlam which file is it? It'll be useful to get the password so we could explore db schema

It is somewhere inside td.binlog, but that information will not help you to get it. As I've said before, there is no easy way to get it. Also manual access to database may lead to unpredictable changes in TDLib behavior.

Hmm, is the data in DB returned in a smart way? For example, if I try to get last 2 days' chat messages from a group chat, then later on I try to get last 7 days' messages, does it need to re-query last 2days' data from server again?

It will return messages from the local database if use_message_database TDLib parameter is set to true. If message database is enabled, then only unknown messages needs to be downloaded from the server.

Вon't have a solution yet? At least how to get the auth_key from the base?


Add Screenshot and Link to README

Add Screenshot and Link to README

Added Screenshots and a link to README


ServiceBus spring upgrade session entity lock renew overflow error v.7.1.0 19923

Issue : When we create a "session receiver" (i.e. we receive from session enable entity), the we start LockRenewOperation for each message also, which is not required.
Impacted Service bus version 7.1.0
More detail:
As of now we start two LockRenewOperation

For the session itself
for each message (This is unnecessary). As error is exposed when we upgraded to spring-core 3.4.3 , which brought this issue to surface. Mono.delay(), now using duration.toNanos() instead of duration.toMillis(). And since the the lock duration for each message is very high in case of session receiver. Now we get following error
java.lang.ArithmeticException: long overflow
at java.base/java.lang.Math.multiplyExact(Math.java:946)
at java.base/java.time.Duration.toNanos(Duration.java:1248)
at reactor.core@3.4.3/reactor.core.publisher.Mono.delay(Mono.java:283)
at reactor.core@3.4.3/reactor.core.publisher.Mono.delay(Mono.java:266)

fixes https://github.com/Azure/azure-sdk-for-java/issues/19923

/azp run java - servicebus - tests

/azp run java - servicebus - tests

/azp run java - servicebus - tests

/azp run java - servicebus - tests

/azp run java - servicebus - tests

/azp run java - servicebus


Documentation for the Midi module

We currently don't have a hygienic structure for cardio-crumble, yet. One thing is that we don't have interface files (i.e. mli-files) for all implementation files (i.e. ml-files). And for the mli-files we have, we don't have documentation.
As a first step to approach this, I propose to add documentation to the midi.mli-file. In OCaml, you mark documentation by (** <your documentation *). You can have a look at the mli-files of, for example, the mirage repo to see some examples for documentation in OCaml.
In general, to write API documentation, one needs to formulate the idea of what the values/types are for, as opposed to putting the implementation of the values/types into words.

Okay,thanks @pitag-ha
I'll read through that of the mirage repo as you suggested for better understanding.

@pitag-ha Can I work on this alongside #3 (I'll learn about the codebase as I work on both together, and write the docs)

Hi @Mojoeffect, please what's the name of the book you are using to study OCaml?

Hi @Mojoeffect, please what's the name of the book you are using to study OCaml?

Hey @kamtoeddy , most people are offline during the weekend I think :D
In the meantime, you can go through these 2 books (really helped me out) :-
OCaml Programming: Correct + Efficient  + Beautiful
Real World OCaml 2nd Ed

Hi @Mojoeffect, please what's the name of the book you are using to study OCaml?

Hey, @kamtoeddy
Well, I started out with
OCaml Programming: Correct + Efficient + Beautiful
In the further reading section of every chapter of that textbook, you'll get access to other documents that will aid the learning process. It's a pretty guided way to learn Ocaml.

@AryanGodara @Mojoeffect Thanks

File midi.mli documentation #11

File midi.mli documentation #11

Hiiii @pitag-ha @Engil
I've made the necessary corrections to the file.
I'd appreciate a feedback/review :) Thanks!


TypeError: Cannot read properties of undefined (reading 'className')

Version
@vueup/vue-quill version: "^1.0.0",
Describe the bug
It seems, that quill is not able to process inputs during production only. It renders on the page but does not operate properly displaying inputs (e.g. when loading HTML contents from a DB - or loading a hard coded HTML string) inside the :content property.
Quill usage:
<QuillEditor
      id="quillEditor"
      :key="quillInput"
      :content="quillInput.description"
      content-type="html"
      toolbar="full"
      :modules="modules"
      theme="snow"
      @update:content="updateContent"
    />

Using Blot Formatter from "quill-blot-formatter"
  const modules = {
    name: 'blotFormatter',
    module: BlotFormatter,
    options: {
      overlay: {
        style: {
          border: '2px solid #e2e2e2',
        }
      }
    },
  }

Error Message:
TypeError: Cannot read properties of undefined (reading 'className')
    at new t (index.1edf25e6.js:1:2800)
    at x.value (index.4d1e2715.js:82:22285)
    at x.value (index.4d1e2715.js:83:2735)
    at index.4d1e2715.js:82:22160
    at Array.forEach (<anonymous>)
    at x.value (index.4d1e2715.js:82:22118)
    at new J (index.4d1e2715.js:61:5408)
    at a (index.4d1e2715.js:103:1662)
    at index.4d1e2715.js:103:1412
    at index.4d1e2715.js:1:32781

To Reproduce
Steps to reproduce the behavior:

Implement Quill Editor as seen above
Load contents in :content prop via DB or hard coded HTML String
See error

Expected behavior
Quill HTML contents passed in via the :content prop should render properly.
Browser (please complete the following information):

Browser chrome
Version 109.0.5414.120

Additional context
I get following warning dropped alongside the error. I am not 100% sure if this is related, but It might help you guys.
index.4d1e2715.js:62 quill Overwriting modules/blotFormatter with ƒ t(e){var i=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};me(this,t),this.onClick=function(){i.hide()},this.quill=e,this.options=(0,de.default)(ve.default,n,{arrayMerge:be}),this.cu…
l @ index.4d1e2715.js:62

It seems, that removing the blot formatter fixes the production issue. Looks like the way I configured it is wrong either way...
So if anyone comes across this issue as well - there u go ¯_(ツ)_/¯


E2E: go schedule main config-ldflags-main slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2508356451
Workflow name: .github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Trigger: schedule
Branch: main
Date: Thu Jun 16 10:30:02 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2511990731
Workflow name: .github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Trigger: workflow_dispatch
Branch: main
Date: Thu Jun 16 22:08:43 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2514890993
Workflow name: .github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Trigger: schedule
Branch: main
Date: Fri Jun 17 10:39:19 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2520093081
Workflow name: .github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Trigger: schedule
Branch: main
Date: Sat Jun 18 10:26:55 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2523614792
Workflow name: .github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Trigger: schedule
Branch: main
Date: Sun Jun 19 10:27:07 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2528277081
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Trigger: schedule
Branch: main
Date: Mon Jun 20 10:34:19 UTC 2022

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/2534710353
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.schedule.main.config-ldflags-main.slsa3.yml
Trigger: schedule
Branch: main
Date: Tue Jun 21 11:43:44 UTC 2022
Tests are passing now. Closing this issue.


question about the parameters of model

Hi, congratulations on your experiment!
After running train.py, what do the params "sample_t_max", "num_timesteps" and "ddim_num_steps" mean ?  They are not the same, right ?

sample_t_max is just a convenient flag used in training, which controls the range of time steps sampled for training. num_timesteps is the time steps used in the DDPM model (training). ddim_num_steps is the number of steps used for DDIM sampling (testing).


AWS::Config::ConfigurationRecorder.ResourceTypes AllowedValues

Issue #, if available:
#1491
Description of changes:
Add new resource types to US-west-2
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks for the contribution! Left a note on the issue if you're interesting in getting these fixes into all regions

I updated the PR to have change the file the autogeneration stems from. Do I need to issue the command to auto-generate the region files and commit those as well?
Thanks!

I updated the PR to have change the file the autogeneration stems from. Do I need to issue the command to auto-generate the region files and commit those as well?

Source file should be enough, we can handle the autogeneration!

@alexmlee should we merge these in? Or do you want to keep looking into the other resource types?

@alexmlee should we merge these in? Or do you want to keep looking into the other resource types?

I think this is ready to go!

@alexmlee looking into starting to replace these manually maintaining AllowedValues with botocore enums and the botocore enum for this actually does not contain these two resource types but they do seem to be documented 🤔


fix update storage logic to take into account config file

With v15 to v16 upgrades, we started seeing failures updating storage of non-mainnet networks.
We reported upstream:
https://gitlab.com/tezos/tezos/-/issues/4892#note_1287844009
However it turns out that the data dir we were passing did not have a config file, so it was unable to figure out which network the data dir was for.
This is fixed by passing config file instead of data dir.
I tried by launching v15 ghostnet from a snapshot, then upgrading to v16. I also tried launching a v16 tarball directly from scratch. Both worked.
test

why doesn't it have a config file? I thought it get's copied over there

why doesn't it have a config file? I thought it get's copied over there

No, it's ok to have tezos node have a data dir in one place and the config file in another place. The location of the data dir is set in the config file. Ever since the beginning of tezos-k8s, we've had the config file in /etc/tezos/config.json and the data dir in /var/tezos/node/data.
Or maybe it gets copied over there? In any case, if it does, this container runs before this happens, so the PR is necessary. At least with v16. With v15, it was not, for some reason.


awswrangler.s3.upload not working with io.BytesIO

Describe the bug
wr.s3.upload does not upload to S3 if using a BytesIO buffer.
After the call is executed the object is not found on S3.
According to the documentation it should work with a file-like object.
How to Reproduce
from io import BytesIO
from PIL import Image

src_file = "s3://my-bucket/my-image.jpeg"
tmp_file = "s3://my-bucket/testfile.jpeg"
local_file = "testfile.jpeg"

with BytesIO() as buffer:
    # dowload file into the buffer
    wr.s3.download(path=src_file, local_file=buffer)
    # verify image loaded correctly
    display(Image.open(buffer))
    # upload from buffer to different s3 location
    wr.s3.upload(local_file=buffer, path=tmp_file)

# download file to local storage
wr.s3.download(path=tmp_file, local_file=local_file)
# display local file to verify
display(Image.open(local_file))
# delete local file
os.unlink(local_file)

This code will fail on the second wr.s3.download, because the image was not actually uploaded during wr.s3.upload.
Expected behavior
I need to transfer a list of images from one bucket to another bucket in a different account using different boto3 sessions.
I tried to download the images into a memory buffer and upload from there to the other accounts bucket.
The expected behavior is that after calling wr.s3.upload(local_file=buffer, path=tmp_file) the file should exist on s3 or an error should be given if it failed.
Your project
No response
Screenshots
No response
OS
Linux
Python version
3.8.13
AWS SDK for pandas version
2.18.0
Additional context
No response

I believe what you are seeing here, is the result of the byte stream being read by the Image.open method. Hence the call to wr.s3.upload when it tries to read the byte stream, the offset is already at the end of the stream. Before calling wr.s3.upload you can reset the stream by calling buffer.seek(0). The following modification to you code works:
 with BytesIO() as buffer:
    # dowload file into the buffer
    wr.s3.download(path=src_file, local_file=buffer)
    # verify image loaded correctly
    display(Image.open(buffer))
    # upload from buffer to different s3 location
    buffer.seek(0)  # Reset buffer offset
    wr.s3.upload(local_file=buffer, path=tmp_file)

Thank you!
It can't be the Image.open, since I can reproduce the error by just doing:
with BytesIO() as buffer:
    wr.s3.download(path=src_file, local_file=buffer)
    wr.s3.upload(local_file=buffer, path=tmp_file)

But the seek in between definitely makes it work, thank you!


Improve phrasing for built-in Compute role

Under the Compute section, for the role Classic Virtual Machine Contributor, the language is somewhat nondescript:
"Lets you manage classic virtual machines, but not access to them, and not the virtual network or storage account they're connected to."
Could be rephrased to remove ambiguity.

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

ID: 99581afb-7950-6daa-7227-055d04446b7e
Version Independent ID: f1a5bf89-9e54-aede-3a9a-70788a95927b
Content: Azure built-in roles - Azure RBAC
Content Source: articles/role-based-access-control/built-in-roles.md
Service: role-based-access-control
GitHub Login: @rolyon
Microsoft Alias: rolyon

@sabuncu
Thanks for your feedback! We will investigate and update as appropriate.

Thanks! I made a pull request to update the language around both of the VM contributor roles.


Upgrade spring to 2.6.4

deployed on test https://test.simplereport.gov/
What works in test:
so far everything that i have tested, please edit and add more to the list
What doesnt work:

Unit tests in CI
E2Es in CI

Liquibase issues:
liquibase version (managed by spring) has been updated from 3.10 to 4.5, the new version is stricter when running the old migrations, and it require you to specify the schema every time you reference a table, meaning if you blow away your local db, this branch will not be able to put it back together, this is the fix https://github.com/CDCgov/prime-simplereport/pull/3561
however that changes the checksum for the migrations which causes it not to work on an azure env
alternatively, in this pr, i specified the validChecksum as ANY.
I recommend merging these migration changes before this is merged and we have to do it env by env and recaculate the checksums as they deploy. hoping @jdorothy has a better solution
I also had to split all Spring SecurityConfiguration that extends WebSecurityConfigurerAdapter from cors config that implements WebMvcConfigurer, this is because spring 2.6 doesn't allow circular dependencies
will add the gradle lock files back once the pr is ready to be merged
Spring 2.6 release docs

This PR should now target spring 2.6.6: https://spring.io/blog/2022/03/31/spring-boot-2-6-6-available-now

#3582 in place to test the liquibase situation.

Spring 2.6.4 leaves the backend vulnerable to a "Critical" vulnerability.


Synthesis failed for java-dialogflow

Hello! Autosynth couldn't regenerate java-dialogflow. :broken_heart:
Here's the output from running synth.py:
Cloning into 'working_repo'...
Switched to a new branch 'autosynth'
Cloning into '/tmpfs/tmp/tmpg6oalqqt/googleapis'...
Cloning into '/tmpfs/tmp/tmpg6oalqqt/synthtool'...
Switched to branch 'autosynth-self'
Note: checking out '71e12465a5b6d69948e00f52521050398c5cddc4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 71e1246 chore: regenerate README (#176)
Note: checking out 'f8a9933e5e98202b04ef427f28d1d79221190fa4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at f8a9933 chore(java): allow overriding the versioning section of the Java README (#495)
Note: checking out 'c284e4f849e4b085a297d336cef8721ab69ba013'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at c284e4f8 Configure retry for Diaglogflow v2.Environments.ListEnvironments and v2beta1.Environments.ListEnvironments.
Switched to a new branch 'autosynth-self-2'
2020-04-30 13:59:15 [INFO] Running synthtool
2020-04-30 13:59:15 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/tmpfs/src/github/synthtool/synthtool/__init__.py", line 21, in <module>
    from synthtool import update_check
  File "/tmpfs/src/github/synthtool/synthtool/update_check.py", line 19, in <module>
    import packaging.version
ModuleNotFoundError: No module named 'packaging'
2020-04-30 13:59:15 [ERROR] Synthesis failed
HEAD is now at 71e1246 chore: regenerate README (#176)
Switched to branch 'autosynth-self'
Note: checking out '71e12465a5b6d69948e00f52521050398c5cddc4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 71e1246 chore: regenerate README (#176)
Previous HEAD position was f8a9933 chore(java): allow overriding the versioning section of the Java README (#495)
HEAD is now at 6b685a2 fix: synthtool path (#515)
Previous HEAD position was c284e4f8 Configure retry for Diaglogflow v2.Environments.ListEnvironments and v2beta1.Environments.ListEnvironments.
HEAD is now at 7e1c7603 Add an OAuth scope annotation in build_service proto file
Switched to a new branch 'autosynth-15'
2020-04-30 13:59:15 [INFO] Running synthtool
2020-04-30 13:59:15 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/tmpfs/src/github/synthtool/synthtool/__init__.py", line 21, in <module>
    from synthtool import update_check
  File "/tmpfs/src/github/synthtool/synthtool/update_check.py", line 19, in <module>
    import packaging.version
ModuleNotFoundError: No module named 'packaging'
2020-04-30 13:59:15 [ERROR] Synthesis failed
HEAD is now at 71e1246 chore: regenerate README (#176)
Switched to branch 'autosynth'
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 576, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 457, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 566, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 352, in synthesize_loop
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 362, in synthesize_inner_loop
    synthesizer, len(toolbox.versions) - 1
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 259, in synthesize_version_in_new_branch
    synthesizer.synthesize(self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 115, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth is still having trouble generating java-dialogflow. :sob:
Here's the output from running synth.py:
Cloning into 'working_repo'...
Switched to a new branch 'autosynth'
Cloning into '/tmpfs/tmp/tmpipuwxfvn/googleapis'...
Cloning into '/tmpfs/tmp/tmpipuwxfvn/synthtool'...
Switched to branch 'autosynth-self'
Note: checking out '71e12465a5b6d69948e00f52521050398c5cddc4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 71e1246 chore: regenerate README (#176)
Note: checking out 'f8a9933e5e98202b04ef427f28d1d79221190fa4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at f8a9933 chore(java): allow overriding the versioning section of the Java README (#495)
Note: checking out 'c284e4f849e4b085a297d336cef8721ab69ba013'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at c284e4f8 Configure retry for Diaglogflow v2.Environments.ListEnvironments and v2beta1.Environments.ListEnvironments.
Switched to a new branch 'autosynth-self-2'
2020-04-30 14:19:09 [INFO] Running synthtool
2020-04-30 14:19:09 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 23, in <module>
    import synthtool.metadata
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 15, in <module>
    import deprecation
ModuleNotFoundError: No module named 'deprecation'
2020-04-30 14:19:09 [ERROR] Synthesis failed
HEAD is now at 71e1246 chore: regenerate README (#176)
Switched to branch 'autosynth-self'
Note: checking out '71e12465a5b6d69948e00f52521050398c5cddc4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 71e1246 chore: regenerate README (#176)
Previous HEAD position was f8a9933 chore(java): allow overriding the versioning section of the Java README (#495)
HEAD is now at 6b685a2 fix: synthtool path (#515)
Previous HEAD position was c284e4f8 Configure retry for Diaglogflow v2.Environments.ListEnvironments and v2beta1.Environments.ListEnvironments.
HEAD is now at 7e1c7603 Add an OAuth scope annotation in build_service proto file
Switched to a new branch 'autosynth-15'
2020-04-30 14:19:09 [INFO] Running synthtool
2020-04-30 14:19:09 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 23, in <module>
    import synthtool.metadata
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 15, in <module>
    import deprecation
ModuleNotFoundError: No module named 'deprecation'
2020-04-30 14:19:09 [ERROR] Synthesis failed
HEAD is now at 71e1246 chore: regenerate README (#176)
Switched to branch 'autosynth'
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 576, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 457, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 566, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 352, in synthesize_loop
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 362, in synthesize_inner_loop
    synthesizer, len(toolbox.versions) - 1
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 259, in synthesize_version_in_new_branch
    synthesizer.synthesize(self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 115, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth is still having trouble generating java-dialogflow. :sob:
Here's the output from running synth.py:
Cloning into 'working_repo'...
Switched to a new branch 'autosynth'
Cloning into '/tmpfs/tmp/tmp6hd07fde/googleapis'...
Cloning into '/tmpfs/tmp/tmp6hd07fde/synthtool'...
Switched to branch 'autosynth-self'
Note: checking out '71e12465a5b6d69948e00f52521050398c5cddc4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 71e1246 chore: regenerate README (#176)
Note: checking out 'f8a9933e5e98202b04ef427f28d1d79221190fa4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at f8a9933 chore(java): allow overriding the versioning section of the Java README (#495)
Note: checking out 'c284e4f849e4b085a297d336cef8721ab69ba013'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at c284e4f8 Configure retry for Diaglogflow v2.Environments.ListEnvironments and v2beta1.Environments.ListEnvironments.
Switched to a new branch 'autosynth-self-2'
2020-04-30 14:35:57 [INFO] Running synthtool
2020-04-30 14:35:57 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/tmpfs/src/github/synthtool/synthtool/__init__.py", line 21, in <module>
    from synthtool import update_check
  File "/tmpfs/src/github/synthtool/synthtool/update_check.py", line 19, in <module>
    import packaging.version
ModuleNotFoundError: No module named 'packaging'
2020-04-30 14:35:57 [ERROR] Synthesis failed
HEAD is now at 71e1246 chore: regenerate README (#176)
Switched to branch 'autosynth-self'
Note: checking out '71e12465a5b6d69948e00f52521050398c5cddc4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 71e1246 chore: regenerate README (#176)
Previous HEAD position was f8a9933 chore(java): allow overriding the versioning section of the Java README (#495)
HEAD is now at 6b685a2 fix: synthtool path (#515)
Previous HEAD position was c284e4f8 Configure retry for Diaglogflow v2.Environments.ListEnvironments and v2beta1.Environments.ListEnvironments.
HEAD is now at 7e1c7603 Add an OAuth scope annotation in build_service proto file
Switched to a new branch 'autosynth-15'
2020-04-30 14:35:57 [INFO] Running synthtool
2020-04-30 14:35:57 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/tmpfs/src/github/synthtool/synthtool/__init__.py", line 21, in <module>
    from synthtool import update_check
  File "/tmpfs/src/github/synthtool/synthtool/update_check.py", line 19, in <module>
    import packaging.version
ModuleNotFoundError: No module named 'packaging'
2020-04-30 14:35:57 [ERROR] Synthesis failed
HEAD is now at 71e1246 chore: regenerate README (#176)
Switched to branch 'autosynth'
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 576, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 457, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 566, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 352, in synthesize_loop
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 362, in synthesize_inner_loop
    synthesizer, len(toolbox.versions) - 1
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 259, in synthesize_version_in_new_branch
    synthesizer.synthesize(self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 115, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth is still having trouble generating java-dialogflow. :sob:
Here's the output from running synth.py:
Cloning into 'working_repo'...
Switched to a new branch 'autosynth'
Cloning into '/tmpfs/tmp/tmpwu3p9y0z/googleapis'...
Cloning into '/tmpfs/tmp/tmpwu3p9y0z/synthtool'...
Switched to branch 'autosynth-self'
Note: checking out '71e12465a5b6d69948e00f52521050398c5cddc4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 71e1246 chore: regenerate README (#176)
Note: checking out 'f8a9933e5e98202b04ef427f28d1d79221190fa4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at f8a9933 chore(java): allow overriding the versioning section of the Java README (#495)
Note: checking out 'c284e4f849e4b085a297d336cef8721ab69ba013'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at c284e4f8 Configure retry for Diaglogflow v2.Environments.ListEnvironments and v2beta1.Environments.ListEnvironments.
Switched to a new branch 'autosynth-self-2'
2020-04-30 14:38:34 [INFO] Running synthtool
2020-04-30 14:38:34 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 23, in <module>
    import synthtool.metadata
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 25, in <module>
    import google.protobuf.json_format
ModuleNotFoundError: No module named 'google'
2020-04-30 14:38:34 [ERROR] Synthesis failed
HEAD is now at 71e1246 chore: regenerate README (#176)
Switched to branch 'autosynth-self'
Note: checking out '71e12465a5b6d69948e00f52521050398c5cddc4'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 71e1246 chore: regenerate README (#176)
Previous HEAD position was f8a9933 chore(java): allow overriding the versioning section of the Java README (#495)
HEAD is now at 6b685a2 fix: synthtool path (#515)
Previous HEAD position was c284e4f8 Configure retry for Diaglogflow v2.Environments.ListEnvironments and v2beta1.Environments.ListEnvironments.
HEAD is now at 7e1c7603 Add an OAuth scope annotation in build_service proto file
Switched to a new branch 'autosynth-15'
2020-04-30 14:38:34 [INFO] Running synthtool
2020-04-30 14:38:34 [INFO] ['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/synthtool/__main__.py", line 23, in <module>
    import synthtool.metadata
  File "/tmpfs/src/github/synthtool/synthtool/metadata.py", line 25, in <module>
    import google.protobuf.json_format
ModuleNotFoundError: No module named 'google'
2020-04-30 14:38:35 [ERROR] Synthesis failed
HEAD is now at 71e1246 chore: regenerate README (#176)
Switched to branch 'autosynth'
Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 576, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 457, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 566, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 352, in synthesize_loop
    synthesize_inner_loop(toolbox, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 362, in synthesize_inner_loop
    synthesizer, len(toolbox.versions) - 1
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 259, in synthesize_version_in_new_branch
    synthesizer.synthesize(self.environ)
  File "/tmpfs/src/github/synthtool/autosynth/synthesizer.py", line 115, in synthesize
    synth_proc.check_returncode()  # Raise an exception.
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 389, in check_returncode
    self.stderr)
subprocess.CalledProcessError: Command '['/tmpfs/src/github/synthtool/env/bin/python3', '-m', 'synthtool', '--metadata', 'synth.metadata', 'synth.py', '--']' returned non-zero exit status 1.

Google internal developers can see the full log here.

Autosynth passed, closing! :green_heart:


Task - Edit Matrix - Create new OTU

When I create a new OTU from the Edit Matrix interface (using New OTU button), the OTU should be automatically linked to the Matrix, the same way a new descriptor does.

I can't replicate this, when I create the new OTU is added to the matrix

This is from the New OTU link on the top.  It won't work untill we make a New OTU task. (Descriptor is a task).
I honestly think we should remove New OTU, we have it inline.

This is from the New OTU link on the top. It won't work untill we make a New OTU task. (Descriptor is a task).
I honestly think we should remove New OTU, we have it inline.

Yep, agree. I will remove it


LSP snipets description view problem

Hello, I use yegappan/lsp with ultisnipsSupport  = true and  there how it look with this plugin

and with lsp completion

Please tell me how I can fix this.
thank you

This plugin does not support ultisnips. I suppose it could support ultisnips, but is there a reason why you are not using vsnip?

Hello I use ultisnip for the very long time and have many custom snippets for it in my config, I dont use vsnip because it not run with  yegappan/lsp for me, I tryed to use it with this plugin but no luck vsnip dont work

I will try resolve this problem and send pull request if I will find solution

Set   customInfoWindow = false to keep default look of window. I think you are using a font without box characters.


PE 01 Enabling last few registers

Enabling ID_MMFR4_El1, PMSIDR_EL1, ERRIDR_EL1, LORID_EL1, ID_AA64MMFR2_EL1
Removing ERRFR_EL1 which depends on MMIO access

Change-Id: Ifc40d6fe9377b8c3e476f1e562523c5f487c91ff

Changes for #342.
This change enables the registers which are mentioned in reg array of test, but were not executing either to due commented out or NUM_OF_REGISTERS macro value was lesser than number of array entries.
RAS ERR feature Register checks requires more investigation and will be added as part of  #318 changes


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 1977

Questions ?
Please refer to the Backport tool documentation


Can't use the Office Customization Tool?

I'm logged in using my user-created corporate account (same one I use to access our VLSC)
When I follow the link to the OCT it says I don't have permission to access the site.
When I try to manually edit the XML it throws an error asking if my internet connection is working or if I have enough free space.  The components download fine with the default xml, but I need to customize it.
joys of new technology, thanks click to run, RIP msi installs :(

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

ID: 67f2376c-177b-110f-9c88-f83d53bd6bc7
Version Independent ID: a98d74e5-f7dc-c073-4cb9-a8901895a89a
Content: Overview of the Office Customization Tool
Content Source: DeployOffice/overview-of-the-office-customization-tool-for-click-to-run.md
Service: o365-proplus-itpro
GitHub Login: @jwhit-MSFT
Microsoft Alias: jwhit

@NickMo1 -- I've seen that internet/free space error message before when I have a syntax error in my xml file. One way to check is to see if you can open the xml file in your web browser. If it doesn't open there, you have an xml syntax error.
Also, have you tried to go to https://config.office.com in a private browser session, so it doesn't use your credentials?  You should be able to get to the main page and then choose Create in the lower left of the page.
Hope that helps.


Add support for fullscreen/immersive mode

android-browser-helper is making the Immersive Mode API easier to use: https://github.com/GoogleChrome/android-browser-helper/pull/95/

During the init command, Bubblewrap should use read display attribute from the Web Manifest.
If the display is fullscreen, default the configuration to use immersive mode. Otherwise, default to regular mode.
Ask the developer to confirm the choice.

Moved the issue to the Bubblewrap repo: https://github.com/GoogleChromeLabs/bubblewrap/issues/175


Dependency 'requests' is not installed when installing the GameBenchAPI-PyClient package

Describe the bug
When creating a brand new project, it was found that the requests library was needed for the GameBenchAPI-PyClient package after trying to run tests on creating the Authenticator.
To Reproduce
Steps to reproduce the behavior:

Create a new Python 3.7.2 project
Install the GameBench API package
Import the GAMEBENCH_CONFIG and Authenticator
Set the username and password
Call the Authenticator
Observe that an error occurs, detailing that the 'requests' library was not found

Expected behavior
All library dependencies are installed when the package is installed.
Desktop:

macOS 10.14.4
Python 3.7.2

Whoops! This one is on me. I'll take it and get a fix in quick.

On hold while I fix a dependency.
This is nearly finished, just need to write a single script to fire off all the scripts needed and drop in the Travis config for it to fire on master only.


Twig Template Editor

It would be great to give clients access to edit certain Twig templates instead of full theme editor access. You could potentially do a CodeMirror editor too, in which you can provide custom auto-completion based on your own theme's framework traversal! Yes, there's a "!" there, because that would just be amazing for users and developers alike. At that point, you may want to offer a way to create new twig templates as well :)

Hey all, I know this is really old but I'm cleaning up the issues list. If anyone has made progress on this please let me know.

I just made a plugin right here:
https://gitlab.com/DRogueRonin/wp-plugin-timber-editor
You can edit twig files in the theme & plugin editor and create and edit templates for individual pages/posts/cpts.
Currently waiting on review to be added to the wordpress plugin repository.

This is great @DRogueRonin! Please follow-up with the link to the WP.org release and we'll tweet about it from the @TimberWP account to let the world know!

@jarednova Here's the WP.org link: https://wordpress.org/plugins/editor-for-timber/
May I use a Timber logo/icon/banner for the plugin as well?

Yes, please do @DRogueRonin! Let me know if you need anything specific


The SIlverstripe Versioned Extension add bad sql query to searchcontext search

Whenever i search with a  searchcontext search, it throws up an error each time i try to run a search on a has_many relationship. The versioned extension seems to be the culprit becuase it adds _live to all tables regardless whether the baseclass has the versioned extension or not.
Silverstripe version 2.4.x and 3.0.x version all seem to be affected. I have not tested it in 3.1.x
http://stackoverflow.com/questions/15821580/how-to-stop-silverstripe-searchcontext-from-throwing-version-table-live-error

Versioned should now ONLY rewrite tables and classes that have the versioned extension.


ENH: Adding json line parsing to pd.read_json #9180

[x] closes #9180
[x] closed #13356
[x] tests added / passed
[x] passes git diff upstream/master | flake8 --diff
[x] whatsnew entry

lgtm, pls add a whatsnew note.

cc @Komnomnomnom
how does this look?

@jreback I think I added all your suggestions. Thanks for the review!

[Current coverage][cc-pull] is 84.23%

Merging [#13351][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

@@             master     #13351   diff @@
==========================================
  Files           138        138
  Lines         50721      50724     +3
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          42723      42726     +3
  Misses         7998       7998
  Partials          0          0

Powered by Codecov. Last updated by [0c6226c...f2dee0e][cc-compare]
[cc-base-branch]: https://codecov.io/gh/pydata/pandas/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/pydata/pandas/compare/0c6226cbbc319ec22cf4c957bdcc055eaa7aea99...f2dee0e64b829098120da4ad602f0f411a3b2c6e
[cc-pull]: https://codecov.io/gh/pydata/pandas/pull/13351?src=pr

Dask.dataframe users have started asking about this: https://github.com/dask/dask/issues/1236

I think need to pass thru the encoding option first, then this PR can work.

Yeah I'm looking through the code a bit more. The problem is that the current code works for json without an encoding. So adding this feature would make the encoding required which is not exactly a good experience for the user. Additionally, it seems there are several different standards. I'm still grokking the differences and how the parser works and will update the PR when I figure out the right answer (or if someone else has a better patch)

@aterrel no, you just need to do something if encoding is not None which would be the default.
This is already handled by io/common/get_filepath_or_buffer, literally this just needs to be passed thru (with some tests :)

Not sure if this is the right place to have this commentary, so please let me know if there is a better place.
This code got a little messier than I like. The get_filepath_or_buffer only decodes for url's (which I guess I should add a test for) and if a file is given it basically returns the filepath back and none for the encoding.
The _get_handler adds files correctly but I have to keep around the encoding.
It would be nice to have a gimme_unicode function that given any file, url, or buffer would produce the unicode stream handler. UnicodeReader looks like a good candidate but it is specialized to csv.
Anywho, please let me know if I understand the situation incorrectly. As is it might be good to accept the patch as is and have a new issue that unifies the unicode readers of csv and json (and other formats that are unicode).

@aterrel yeah its a little bit convoluted now, similar to a cleanup with compression, need to do same for unicode. I will make another issue for that.

xref https://github.com/pydata/pandas/issues/13401

this closes #13356 fully as well?
lgtm otherwise. ping on green.

@aterrel minor comments. ping when pushed and green.

Okay I'll try to get a few of these taken care of tonight. I should also make it be able to output to json lines as well.

BTW, there are now conflicts with this PR. Is the usual thing to rebase?

yes pls rebase

@jreback fixed it and added the ability to write to line delimited json. I ended up adding more than one line to the docs, because you know you need Hadoop in there for proper SEO =P

@aterrel Added minor doc comments.
Should there be some tests for the new encoding keyword? Maybe that is already tested through the use of _get_handle function, but there should at least be a test that checks that read_json accepts this keyword argument I think.

It is but I can put another test in. Looks like the coverage is only missing for the case when to_json recieves a lines parameter and not orient=records

@aterrel Github indicates that this cannot be merged (has conflicts). Did you rebase on upstream/master?

I did and it was green for a bit but I think the whatsnew changed again.
I'll rebase again when I get those tests put together.

can you rebase

@jreback @jorisvandenbossche I've rebased and added an encoding test.

fixed the doc issues, will add encodings for to_json later.

lgtm. @jorisvandenbossche ?

I understand that docs for encoding will be added in a follow-up PR? (as this is a new keyword as well?)

yes IIRC can add encoding in .to_json in a future issue; @aterrel can you create an issue for that as well.

For the rest, merge away!

thanks @aterrel
nice PR!
give a check in a few hours (or prob tomorrow) in the built dev-docs and see that everything looks ok for the changes.

sweet. I'll follow along in the other issues to keep up all the issues.


Rationalize configuration properties

I had a quick look at the code and I can see a lot of different prefixes for the configuration. A few thoughts:

Maybe it would be nicer if all options were gathered under a common prefix (something like jsf if that makes sense?)
If splitting the configuration by components is a good thing, maybe we should use the name of the component rather than a package name. This is a bit unusual compared to other libraries.

What do you think?

Current implementation uses the components (jsf api, mojarra, primefaces and omnifaces) context-param attributes, because it could help migration between traditional web.xml configuration to spring boot.
However, I agree that all of these properties should follow the same jsf namespace, creating subdomains for each component when necessary. The configuration of components should use the name of each component also.
So, jsf namespace should be:

jsf to standard jsf properties instead of javax.faces. For example javax.faces.PROJECT_STATE should be jsf.PROJECT_STATE
jsf.mojarra to mojarra properties instead of com.sun.faces.
jsf.omnifaces to omnifaces properties instead of omnifaces.
jsf.primefaces to primefaces properties instead of primefaces. For example, primefaces.THEME should be jsf.primefaces.THEME

More helpful suggestions @snicoll ?

@persapiens apologies for the delay, I was quite busy this week. The change looks good to me, thanks!


Off by one error

Something is happening with the way the buffer is getting either refreshed or concatenated, a boundary condition that's difficult to replicate, changes to the buffer size cause the error to move elsewhere as the boundary impacts other parts of the files being read.

Looks like this problem is due to the use of file.slice which specifies the offset by using the length of the text read in, and this is getting a bum value if there are multibyte characters due to the nature of the string "length" function producing the number of characters, but the file.slice function wanting bytes.
> 'é'.length
1
> (new TextEncoder().encode('é')).length
2

Maybe I can make a PR

As I'm looking into this more there's a fundamental problem here with multibyte text. According to the manual

The important thing to keep in mind is that File inherits from Blob, File doesn't actually have a slice method, it gets this method from Blob. File just adds a couple metadata attributes.
The best way to think of a Blob (or File) is as a pointer to data, but not the actual data itself. Sort of like a file handle in other languages.
You can't actually get to the data in a Blob without using a reader, which reads asynchronously to avoid blocking the UI thread.
The Blob slice() method just returns another Blob, but again, this isn't data, it's just a pointer to a range of data within the original Blob, sort of like a bounded pointer to a view. To actually get the bytes out of the sliced Blob, you still need to use a reader. In the case of a sliced blob, your reader is bounded.

So it's possible that a multibyte character could be split along multiple calls to the slice function, but the concat function of string will have already coerced to the string type and I'm not 100% sure but I don't think it'll reassemble them correctly.


bug: ape_accounts.accounts.KeyfileAccount.transfer(receiver) tries to send entire balance

Environment information

OS: linux wsl2 ubuntu
Python Version: 3.9.9
ape and plugin versions:
ape 0.2.4

Installed Plugins:
  hardhat      0.2.1
  solidity     0.2.3
  etherscan    0.2.1
  alchemy      0.2.0
  fantom       0.2.0
  tokens       0.2.0
  vyper        0.2.1.dev1+g80c2bf9
  infura       0.2.0
  ens          0.2.0

hardhat:
  fork:
    ethereum:
      mainnet:
        upstream_provider: alchemy(apeworx)

What went wrong?
ape_accounts.accounts.KeyfileAccount.transfer(receiver) will attempt to send entire balance and then fail for not enough balance for gas.
VirtualMachineError: Sender does not have enough balance to cover transaction value and gas  (has<PHONE_NUMBER>81624999999999, needs<PHONE_NUMBER>97705462516999)
I would hate to send an entire balance accidentally because I forgot the amount argument.
I'm not sure if this is intended to be like this or not.
In [27]: accounts.test_accounts[0].transfer(accounts.test_accounts[1])
---------------------------------------------------------------------------
ValidationError                           Traceback (most recent call last)
File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/ape_test/providers.py:82, in LocalProvider.send_transaction(self, txn)
     81 try:
---> 82     txn_hash = self.web3.eth.send_raw_transaction(txn.serialize_transaction())
     83 except ValidationError as err:

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/eth.py:831, in Eth.send_raw_transaction(self, transaction)
    830 def send_raw_transaction(self, transaction: Union[HexStr, bytes]) -> HexBytes:
--> 831     return self._send_raw_transaction(transaction)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/module.py:57, in retrieve_blocking_method_call_fn.<locals>.caller(*args, **kwargs)
     56 result_formatters, error_formatters, null_result_formatters = response_formatters
---> 57 result = w3.manager.request_blocking(method_str,
     58                                      params,
     59                                      error_formatters,
     60                                      null_result_formatters)
     61 return apply_result_formatters(result_formatters, result)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/manager.py:197, in RequestManager.request_blocking(self, method, params, error_formatters, null_result_formatters)
    194 """
    195 Make a synchronous request using the provider
    196 """
--> 197 response = self._make_request(method, params)
    198 return self.formatted_response(response,
    199                                params,
    200                                error_formatters,
    201                                null_result_formatters)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/manager.py:150, in RequestManager._make_request(self, method, params)
    149 self.logger.debug("Making request. Method: %s", method)
--> 150 return request_func(method, params)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/middleware/cache.py:136, in construct_simple_cache_middleware.<locals>.simple_cache_middleware.<locals>.middleware(method, params)
    135     else:
--> 136         return make_request(method, params)
    137 finally:

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/middleware/formatting.py:94, in construct_web3_formatting_middleware.<locals>.formatter_middleware.<locals>.middleware(method, params)
     93     params = formatter(params)
---> 94 response = make_request(method, params)
     96 return _apply_response_formatters(method=method, response=response, **formatters)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/middleware/gas_price_strategy.py:90, in gas_price_strategy_middleware.<locals>.middleware(method, params)
     89     return make_request(method, (transaction,))
---> 90 return make_request(method, params)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/middleware/formatting.py:94, in construct_web3_formatting_middleware.<locals>.formatter_middleware.<locals>.middleware(method, params)
     93     params = formatter(params)
---> 94 response = make_request(method, params)
     96 return _apply_response_formatters(method=method, response=response, **formatters)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/middleware/attrdict.py:33, in attrdict_middleware.<locals>.middleware(method, params)
     32 def middleware(method: RPCEndpoint, params: Any) -> RPCResponse:
---> 33     response = make_request(method, params)
     35     if 'result' in response:

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/middleware/formatting.py:94, in construct_web3_formatting_middleware.<locals>.formatter_middleware.<locals>.middleware(method, params)
     93     params = formatter(params)
---> 94 response = make_request(method, params)
     96 return _apply_response_formatters(method=method, response=response, **formatters)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/middleware/formatting.py:94, in construct_web3_formatting_middleware.<locals>.formatter_middleware.<locals>.middleware(method, params)
     93     params = formatter(params)
---> 94 response = make_request(method, params)
     96 return _apply_response_formatters(method=method, response=response, **formatters)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/middleware/formatting.py:94, in construct_web3_formatting_middleware.<locals>.formatter_middleware.<locals>.middleware(method, params)
     93     params = formatter(params)
---> 94 response = make_request(method, params)
     96 return _apply_response_formatters(method=method, response=response, **formatters)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/middleware/buffered_gas_estimate.py:40, in buffered_gas_estimate_middleware.<locals>.middleware(method, params)
     39         return make_request(method, [transaction])
---> 40 return make_request(method, params)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/providers/eth_tester/middleware.py:333, in default_transaction_fields_middleware.<locals>.middleware(method, params)
    332 else:
--> 333     return make_request(method, params)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/middleware/formatting.py:94, in construct_web3_formatting_middleware.<locals>.formatter_middleware.<locals>.middleware(method, params)
     93     params = formatter(params)
---> 94 response = make_request(method, params)
     96 return _apply_response_formatters(method=method, response=response, **formatters)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/providers/eth_tester/main.py:103, in EthereumTesterProvider.make_request(self, method, params)
    102 try:
--> 103     response = delegator(self.ethereum_tester, params)
    104 except NotImplementedError:

File ~/.pyenv/versions/3.9.9/envs/apeworx/lib/python3.9/site-packages/cytoolz/functoolz.pyx:250, in cytoolz.functoolz.curry.__call__()

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/web3/providers/eth_tester/defaults.py:66, in call_eth_tester(fn_name, eth_tester, fn_args, fn_kwargs)
     65     fn_kwargs = {}
---> 66 return getattr(eth_tester, fn_name)(*fn_args, **fn_kwargs)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth_tester/main.py:67, in handle_auto_mining.<locals>.func_wrapper(self, *args, **kwargs)
     66 if self.auto_mine_transactions:
---> 67     transaction_hash = func(self, *args, **kwargs)
     68     self.mine_block()

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth_tester/main.py:439, in EthereumTester.send_raw_transaction(self, raw_transaction_hex)
    438 raw_transaction = self.normalizer.normalize_inbound_raw_transaction(raw_transaction_hex)
--> 439 raw_transaction_hash = self.backend.send_raw_transaction(raw_transaction)
    440 self.validator.validate_outbound_transaction_hash(raw_transaction_hash)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth_tester/backends/pyevm/main.py:582, in PyEVMBackend.send_raw_transaction(self, raw_transaction)
    581 evm_transaction = vm.get_transaction_builder().decode(raw_transaction)
--> 582 self.chain.apply_transaction(evm_transaction)
    583 return evm_transaction.hash

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth/chains/base.py:636, in MiningChain.apply_transaction(self, transaction)
    634 base_block = vm.get_block()
--> 636 receipt, computation = vm.apply_transaction(base_block.header, transaction)
    637 header_with_receipt = vm.add_receipt_to_header(base_block.header, receipt)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth/vm/base.py:164, in VM.apply_transaction(self, header, transaction)
    162 self.state.lock_changes()
--> 164 computation = self.state.apply_transaction(transaction)
    165 receipt = self.make_receipt(header, transaction, computation, self.state)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth/vm/forks/frontier/state.py:213, in FrontierState.apply_transaction(self, transaction)
    212 executor = self.get_transaction_executor()
--> 213 return executor(transaction)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth/vm/state.py:295, in BaseTransactionExecutor.__call__(self, transaction)
    294 def __call__(self, transaction: SignedTransactionAPI) -> ComputationAPI:
--> 295     self.validate_transaction(transaction)
    296     message = self.build_evm_message(transaction)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth/vm/forks/frontier/state.py:53, in FrontierTransactionExecutor.validate_transaction(self, transaction)
     52 transaction.validate()
---> 53 self.vm_state.validate_transaction(transaction)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth/vm/forks/london/state.py:123, in LondonState.validate_transaction(self, transaction)
    119 def validate_transaction(
    120     self,
    121     transaction: SignedTransactionAPI
    122 ) -> None:
--> 123     validate_london_normalized_transaction(
    124         state=self,
    125         transaction=transaction,
    126     )

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth/vm/forks/london/validation.py:29, in validate_london_normalized_transaction(state, transaction)
     24     raise ValidationError(
     25         f"Sender's max fee per gas ({transaction.max_fee_per_gas}) is "
     26         f"lower than block's base fee per gas ({base_fee_per_gas})"
     27     )
---> 29 validate_homestead_transaction(state, transaction)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth/vm/forks/homestead/validation.py:23, in validate_homestead_transaction(state, transaction)
     21     raise ValidationError("Invalid signature S value")
---> 23 validate_frontier_transaction(state, transaction)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/eth/vm/forks/frontier/validation.py:27, in validate_frontier_transaction(state, transaction)
     26 if sender_balance < total_cost:
---> 27     raise ValidationError(
     28         f"Sender does not have enough balance to cover transaction value and gas "
     29         f" (has {sender_balance}, needs {total_cost})"
     30     )
     32 sender_nonce = state.get_nonce(transaction.sender)

ValidationError: Sender does not have enough balance to cover transaction value and gas  (has<PHONE_NUMBER>81624999999999, needs<PHONE_NUMBER>97705462516999)

The above exception was the direct cause of the following exception:

VirtualMachineError                       Traceback (most recent call last)
Input In [27], in <module>
----> 1 accounts.test_accounts[0].transfer(accounts.test_accounts[1])

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/ape/api/accounts.py:140, in AccountAPI.transfer(self, account, value, data, **kwargs)
    137 if value:
    138     txn.value = self._convert(value, int)
--> 140 return self.call(txn, send_everything=value is None)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/ape/api/accounts.py:105, in AccountAPI.call(self, txn, send_everything)
    102 if not txn.signature:
    103     raise SignatureError("The transaction was not signed.")
--> 105 return self.provider.send_transaction(txn)

File ~/.pyenv/versions/apeworx/lib/python3.9/site-packages/ape_test/providers.py:84, in LocalProvider.send_transaction(self, txn)
     82     txn_hash = self.web3.eth.send_raw_transaction(txn.serialize_transaction())
     83 except ValidationError as err:
---> 84     raise VirtualMachineError(base_err=err) from err
     85 except TransactionFailed as err:
     86     raise _get_vm_err(err) from err

VirtualMachineError: Sender does not have enough balance to cover transaction value and gas  (has<PHONE_NUMBER>81624999999999, needs<PHONE_NUMBER>97705462516999)

How can it be fixed?
make the argument for amount mandatory

I am getting the same error even when I use send_everything=True or send_everything=False

via @unparalleled-js
[ ] 1. Figure out why @fubuloubu made send_everything = value is None as default
[ ] 2. Fix other bugs you find with send_everything , such as it not subtracting gas.

related:

I would hate to send an entire balance accidentally because I forgot the amount argument. I'm not sure if this is intended to be like this or not.

This is a great point and makes me re-think this interface. I think it should be removed if that's the case (or add an extra UX point asking whether you approve of sending everything)
The original intent was to have the method compute exactly how much to send in order to spend the entire balance, deducting the amount of gas cost that is expected to take

I would hate to send an entire balance accidentally because I forgot the amount argument. I'm not sure if this is intended to be like this or not.

This is a great point and makes me re-think this interface. I think it should be removed if that's the case (or add an extra UX point asking whether you approve of sending everything)
The original intent was to have the method compute exactly how much to send in order to spend the entire balance, deducting the amount of gas cost that is expected to take

I think if they want to send everything they can do send_everything=True, however that doesn't seem to compute the balance and gas for me, in fact none of them are computing the gas for me.

do send_everything=True

Yeah, I think that makes sense. Basically either do .transfer(acct, amount) or do .transfer(acct, send_everything=True). Have it be mutually exclusive to use one way or the other.

that doesn't seem to compute the balance and gas for me, in fact none of them are computing the gas for me.

Yes, this feature needs tests


🐛(project) fix node permission issues

Purpose
We must run node with a /home because yarn tries to write to ~/.yarnrc. If the ID of our host user (with which we run the container) does not exist in the container (e.g. 1000 exists but 1009 does not exist by default), then yarn will try to write to "/.yarnrc" at the root of the system and will fail with a permission error.
Proposal

[x] set HOME environment variable to /tmp in the node container

@natea can you checkout this branch to validate the fix?


make Array constructor spec compliant

Another one down from #39 , the implementation was correct but was not passing down the correct subclass as MRI does.

Nice! Glad you found pass_klass :wink:

Nice! Glad you found pass_klass :wink:

Ez


fix typos

fix typos.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: harrywang:x: yobekikoYou have signed the CLA already but the status is still pending? Let us recheck it.


Dependencies upgrade

I am using apisauce and reduxsauce and I am using webpack to bundle them, the latest version of these two have different version of ramda causing big bundle size.

Thank you.


Bring back the dark mode from SE-2

Creating this PR to complete Issue #14
Not sure how to deal with dark colors, so just copied and pasted scaffoldEthDark values from SE2

Looks great @Pabl0cks
About colors (& UI in general). I think we might ask some of the designers for some help.


MaterialCab with ViewPager

I'm using MaterialCab with ViewPager..
Using v1.3.8, I checked for MaterialCab.isActive in every onPageChanged of the ViewPager, to hide the CAB if its shown. Since MaterialCab was static, this was easy. The problem is, that the ViewPager (callback) and the MaterialCab initializer are not in the same fragment..
So is there a possibility since v2, to get a shown MaterialCab by its id and destroy it from another fragment?

Ideally you should be keeping a reference to the instance returned by createCab(...) - a find by ID mechanism would require a static map which I'd prefer to avoid

I'm keeping an instance, but unfortunately, the onBackPressed event, for example, is only called in an activity, but my cab reference is stored in a child fragment held by a viewpager.
So now, I need an event-bus to close the cab from my activities onBackPressed.

You could always store the instance in your Activity and access it via getActivity() in your Fragment's

Your Fragments could extend a base class that make it more convenient to get the instance without duplicating the casting, ect.


Perfect dev environment

For now Hunter works pretty optimal for cases when 3rd party packages not changes very often (download/build once - reuse in many projects). But for developers who make a lot of changes/experiments in 3rd party package, Hunter workflow is quite messy - you have to do release (or git sha1 planned feature). Then rebuild package from scratch even if you change only one file.
Idea is to add a build mode which allow to use "dynamic" hunter-id directory (nearby the "fixed" SHA1 based hunter-id directories). In this directory we will keep build artifacts from previous builds and use them to build new version. Note that this will violate reproducibility feature, i.e. it may break some working user packages.
Design challenge of "injecting" updated package:

Use git SHA1 (explicit value or from submodule) (developer have to commit changes)
Pack directory to archive and calc SHA1 (developer don't have to commit changes but we need to track file/directory changes ourself)
Start dependencies build
CMake code itself can change - possible problems with cached variables (remove cache before build? track cache changes?)

Bonus:

"Perfect" development workflow. 100% automated correct build. No benefits of using manual build/install instructions or raw ExternalProject_Add command
Reusable non-cacheable packages (paths can be hardcoded since hunter-id/config-id/toolchain-id are stable)

Related:

Developer workflow discussion
Relocation challenge

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

What about having a variable to specify packages not to get from hunter.  You can add a dependency you are modifying to that variable and use find_package to find it without Hunter's help.  Of course, you are then responsible for making sure that it can be found and that it isn't depended on by other hunter packages, but that's fine for development.

What about having a variable to specify packages not to get from hunter

Not a variable, may be hunter_config option: hunter_config(Foo VERSION SYSTEM).
There will be problem if some package from Hunter depends on Foo too. In case when Foo changed you need to find all such packages and rebuild them (and all their dependencies). This will not happen for now since Hunter designed to be "static" - version is "nailed", then build, then shared.
If there are no such dependencies you can just not call hunter_add_package(Foo) and use add_subdirectory(3rdParty/Foo) for development.

add_subdirectory doesn't work well for some of my projects where there are clashing target names

where there are clashing target names

If targets planned to be installed then they will clash in root directory. If targets is not planned to be installed you can protect such code with option:
if(FOO_BUILD_TARGET_BOO)
  add_target(boo ...)
endif()

I know that add_subdirectory is not a perfect solution but most simple. Also you should check that other stuff is not clashing like options, cache variables, global properties, etc.

add_subdirectory is the only way to see in IDE 3rd party code and your local code and have an ability to change it, updates applied immediately. Hence such approach considered as "perfect dev environment", will be thinking about implementation toward this way.
hunter_add_package(foo) in this mode will work like:
# Forcing and restoring options for `add_subdirectory`
# (FOO_* should not clash in general, just to be sure)

set(FOO_A "${foo_a_value}" CACHE BOOL "..." FORCE)
set(FOO_B "${foo_b_value}" CACHE BOOL "..." FORCE)

add_subdirectory(third_party/foo)

set(FOO_A "${foo_a_old_value}" CACHE BOOL "..." FORCE)
set(FOO_B "${foo_b_old_value}" CACHE BOOL "..." FORCE)

Note: if we are loading several packages this way and some of them depends on each other, then they should be add_subdirectory-friendly. In CMake terms they should manage dependencies like this:
if(TARGET foo::foo)
  # target loaded by `add_subdirectory`, no need to call `find_package`
else()
  find_package(foo CONFIG REQUIRED)
endif()


Hello all,

Please, My proplem is add new div or html code in sidr menu to create sub menu drop down.
EX: http://totaltheme.wpengine.com/base/
Can you help me.
Many thanks!

Is there way to add sub menu beforehand? Else you can simple do it like this:
http://codepen.io/gorkhali/pen/ogVmdj

Thanks @alokpant


Custom string deserializer no longer works with v1.0.15+

I recently tried picking up an old project of mine, and found that it no longer works. I was using several custom visitors to deserialize both strings and integers into time::Timespec.
This is the simplest failing deserializer:
/// Deserializes either a number or a string into a `Timespec`, interpreting both as the timespec's seconds.
pub fn deserialize<'de, D>(deserializer: D) -> Result<Timespec, D::Error>
where
    D: Deserializer<'de>,
{
    use serde::de::{Error, Unexpected, Visitor};
    use std::fmt;

    struct TimeVisitor;

    impl<'de> Visitor<'de> for TimeVisitor {
        type Value = Timespec;

        fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
            formatter.write_str("an integer or string containing an integer")
        }

        #[inline]
        fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
        where
            E: Error,
        {
            let seconds = value
                .parse()
                .map_err(|_| E::invalid_value(Unexpected::Str(value), &self))?;

            Ok(Timespec::new(seconds, 0))
        }
        #[inline]
        fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
        where
            E: Error,
        {
            Ok(Timespec::new(value, 0))
        }

        #[inline]
        fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
        where
            E: Error,
        {
            Ok(Timespec::new(value as i64, 0))
        }
    }

    deserializer.deserialize_i64(TimeVisitor)
}

#[test]
fn parse_string_timespec() {
    let spec = timespec_seconds::deserialize(&json!("1474674699273")).unwrap();

    assert_eq!(spec, time::Timespec::new(1474674699273i64, 0));
}

#[test]
fn parse_number_timespec() {
    let spec = timespec_seconds::deserialize(&json!(1475538699273i64)).unwrap();

    assert_eq!(spec, time::Timespec::new(1475538699273i64, 0));
}

In serde-json v1.0.14 and earlier, all of my tests and code succeeds.. In serde-json v1.0.15 and later, the string test fails with:
Error("invalid type: string \"1474674699273\", expected an integer or string containing an integer", line: 0, column: 0)

Another test involving null passed to a deserializer which defines visit_none fails with:
 Error("invalid type: null, expected an integer or string containing an integer", line: 0, column: 0)

Full reproducible example with the three failing deserializers at https://github.com/daboross/timespec-serde-demonstration.
I'm sure there's something wrong in my code, but I'm not sure what it is. The deserializers look alright, and "invalid type string" when my visitor defines visit_str seems strange. It doesn't seem like my visitor's methods are being called at all?
This codebase is not particularly important for anything, so it's not really high priority, but it would be nice to know what's going on. Is there anything that could be done either in serde_json or in my codebase to fix this?

Seems most likely caused by my using deserialize_i64 here. I'm 90% sure there was a reason I did that, but if not, I'll just close this issue.

Yes I believe deserialize_i64 is the reason a string is not accepted. If a Deserialize impl requires type information from the input data to decide how to deserialize, it should call deserialize_any.
The 1.0.15 behavior of timespec_seconds::deserialize(&json!(...)) is consistent with the following in 1.0.14 which already would have failed to deserialize:
let mut de = serde_json::Deserializer::from_str("\"1474674699273\"");
let spec = timespec_seconds::deserialize(&mut de).unwrap();

Ah cool, thanks.


Minor bug fix: remove modal- click of close button

What is the change?
User was able to close the modal on click of anywhere in the screen thus leading to a new glitch of modal being observed with no data to display as well.
The changes have ensured to close the modal on click of the button only
Is it bug?

Steps to repro
Expected
Actual

*Dev Tested?

[x] Yes
[ ] No

*Tested on:
Platforms

[x] Web

Browsers

[x] Chrome
[x] Safari
[x] Firefox

Before / After Change Screenshots

For visual or interaction changes. Can be video / screenshot.

@harshith-venkatesh I am still not able to close when clicking in the mid gray area. Here is a screen rec:
https://github.com/Real-Dev-Squad/website-calendar/assets/10892977/7c897789-c892-46de-b993-faa407dc4e99


Update lodash dependency (see CVE-2020-8203)

Current used version is 4.17.15.
Please refer to https://nvd.nist.gov/vuln/detail/CVE-2020-8203 and consider update to 4.17.20 (latest).

this issue will fail any automated security scanning and is not prevent users from consuming this package. There is no fixing lodash-es and it is permanently stuck at .15 which has a critical security issue. Until this is fixed, the current version is unusable.

@slangberg is right<EMAIL_ADDRESS>needs to be removed to avoid the security flag. The normal version of lodash-es can be controlled via upgrading or adding to resolutions, but lodash-ES is locked, and is a vulnerability.

The normal version of lodash-es

did you mean "The normal version of lodash"

The normal version of lodash-es

did you mean "The normal version of lodash"

Yep! Thanks. Will update my comment.


Crash on giving notification access

Describe the bug
App crashes on giving notification access
To Reproduce
Steps to reproduce the behavior:

Open project in Android Studio.
Run it on Emulator API 29 or API 30
Give notification access to the app on device
App Crashes

Error via logcat:
2021-05-14 14:38:24.583 11014-11014/dev.sebastiano.bundel E/AndroidRuntime: FATAL EXCEPTION: main
    Process: dev.sebastiano.bundel, PID: 11014
    java.lang.RuntimeException: Tried to marshall a Parcel that contained Binder objects.
        at android.os.Parcel.nativeMarshall(Native Method)
        at android.os.Parcel.marshall(Parcel.java:552)
        at dev.sebastiano.bundel.storage.NotificationsCache.toByteArray(NotificationsCache.kt:53)
        at dev.sebastiano.bundel.storage.NotificationsCache.writeToFile(NotificationsCache.kt:44)
        at dev.sebastiano.bundel.storage.NotificationsCache.storeStatusBarNotification(NotificationsCache.kt:36)
        at dev.sebastiano.bundel.storage.RobertoRepository$saveNotification$2.invokeSuspend(RobertoRepository.kt:24)

Expected behavior
To not crash

Thanks for the report! We're aware, the app crashes not because of the permission but because we were trying to store notifications in a bad way. We'll fix this on Sunday's stream :)

We've fixed it now :)