Fix Namespace struct

Currently execution of Client.Namespaces.GetNamespace() is failing with:
json: cannot unmarshal number into Go struct field Namespace.parent_id of type string

It's that because parent_id is sent as JSON integer, not string. This PR updates Namespace struct to reflect this.

Thanks @tmaczukin! I willing to merge this one, but it seems the docs are not up to date as they clearly show a string in the example output: https://docs.gitlab.com/ce/api/namespaces.html#list-namespaces

So it would be nice to double check/verify this one with Gitlab first, to make sure we are updating the struct correctly now. Is that something you could do? A way to do this could also be looking in the Gitlab source code to see that is in there (what is actually returned in there)?

I't definitely a typo in documentation, since the parent_id value is stored in database as integer. So it's sent through API either as integer (so "parent_id": 9) or null if empty (so "parent_id": null). Both examples are wrong in the documentation.
I've prepared a fix for the documentation: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/17085.

Cool... Then let's get this one in 👍  Thanks!


Remove issuestats badge

(Edited): The issuestats service is no longer up.

I think this is good to go!


Support safe integer

We need safe type for money and other domain-logic numbers.
  const sheet = new Sheet();
  sheet.cells['A0'] = '=numeric(7, 2)';
  sheet.cells['B0'] = '=numeric(3, 2)';

  // Alternatives:
  sheet.cells['C0'] = '=A0/B0';
  sheet.cells['C0'] = '=numeric(A0/B0, 2)';

  test.strictSame(sheet.values['C0'].toString(), '2.33');

Should numeric be just a toFixed implementation for cells?

We need tests for toFixed usage.


cmd/cue: strange behaviour where os.Environ expanded within definition

What version of CUE are you using (cue version)?

$ cue version
cue version v0.4.0 linux/amd64

Does this issue reproduce with the latest release?
Yes, it does
What did you do?
cd $(mktemp -d)
cat <<EOF > foo_tool.cue
package main

import (
        "tool/exec"
        "tool/os"
)

#Foo: {
        _env: os.Environ

        printEnv: exec.Run & {
                env: _env
                cmd: ["/usr/bin/env"]
        }
}

command: run: #Foo
EOF
bash -c "cue run"

What did you expect to see?
Current shell environment
What did you see instead?
command.run._env: field not allowed: _:
    ./foo_tool.cue:9:8
    ./foo_tool.cue:17:15
    tool/os:16:11
    tool/os:17:3
    tool/os:18:4

Additional comments
Hello,
I've noticed this weird behavior happening in very specific circumstances. After investigation, I found this to be caused by multiple causes:

We get tool/os.Environ within a field of an entity declared with the hash symbol
We use the environment within the same entity
We are running /bin/sh or /bin/bash which exposes an environment variable named $_
We call the main entity as the command definition

If just a single of those condition changes, the bug does not happen. For instance, I do not notice this behavior using the fish shell (which does not expose $_), or by running it with bash -c "env -i ~/go/bin/cue run". Renaming the entity from #Foo to Foo also works.
Surprisingly, those 3 examples also run correctly:
package main

import (
        "tool/exec"
        "tool/os"
)

#Foo: {
        _env: os.Environ
}

command: run: exec.Run & {
        env: #Foo._env
        cmd: ["/usr/bin/env"]
}

package main

import (
        "tool/exec"
        "tool/os"
)

_env: os.Environ
#Foo: {
        printEnv: exec.Run & {
                env: _env
                cmd: ["/usr/bin/env"]
        }
}

command: run: #Foo

package main

import (
        "tool/exec"
        "tool/os"
)

#Foo: {
        _env: os.Environ
}

#Bar: {
        printEnv: exec.Run & {
                env: #Foo._env
                cmd: ["/usr/bin/env"]
        }
}

command: run: #Bar

I am fairly new to CUE; I understand there it tries to evaluate tool/os.Environ and expand environment variables as fields of the entity.
What I don't get is:

why would _ be a forbidden field there?
why does it only happens when I declare both the _env field and the printEnv in an entity which name starts with the hash sign?
why would the error not happen when I do the declarations in distinct entities?

This seems to have been fixed now (I verified by running the script - it did indeed print the current shell environment), so closing.


Avoid NilClass error when no parameters in a template

https://bugzilla.redhat.com/show_bug.cgi?id=1212466
When a dialog is created from a template that has no parameters section, the NilClass error is raised. The fix is to feed an empty hash if no parameters are found.
The resulting dialog has a parameters group with no controls. I think it is acceptable, but let's discuss.

@bzwei Is there a bug or issue associated with this?

The problem was reported through an email.

@bzwei I would expect that this is something we would eventually fix in a later PR.
For now it is acceptable to create the empty parameters group for 2 reasons:
A user can post-edit the service dialog to either:

Remove the parameters group so it does not show
Add fields to that group that could be used within automate


 I think the anacreon one I had used previously had a longer lookback window where it wouldn't add the line from, but also wasn't global. If a character repeats something a few hours later, you probably want to allow it in the texthooker. But if you go back a few subs or a character repeats something in the last 2 minutes, you probably don't want to add it.

I get that this is kind of a "too hot" or "too cold" nit-pick, but was wondering if a different lookback behavior would make sense. If I need to just stick with global, that's a fine response too.

It is probably the quickest and easiest to change the type for the last line option to a configureable number instead of being a checkbox as compromise. Time based sounds like an overkill for most of the people (also not sure how that should/would work - on the "official" page by anacreon at least i can't see anything like that)


test: Custom message unit test setup

Changes

ticket: []
Additional Notes

This unit test setup currently needs additional work to work properly:

replace CustomMessage with ParsedBotMessageBody

Checklist
Before requesting a code review, please check the following:

[ ] [Required] CI has passed all checks.
[ ] [Required] A self-review has been conducted to ensure there are no minor mistakes.
[ ] [Required] Unnecessary comments/debugging code have been removed.
[ ] [Required] All requirements specified in the ticket have been accurately implemented.
[ ] Ensure the ticket has been updated with the sprint, status, and story points.

should not have been merged. Merged by mistake. merged branch has been rolled back.


Fix youtube add

A few minor fixes for yt queue.
The crash would occur if the user where to interrupt the yt-app while catt is trying to add several videos to the queue.
Listener event flags are now set independently, as this is more correct and might otherwise lockup catt.add if interrupted while waiting for listener.not_buffering to be set (I honestly don't remember why I made not_buffering dependant on app_ready).

Thank you!


Documentation:  How to make premium features work after sponsoring

I may be missing something, but even after sponsoring, the Slack Integration still returns the output Slack integration is a premium feature, available to sponsors.
It is not clear to me how to configure things so that the action is aware that our Organisation is already a sponsor and allow the Slack action to run. Some documentation to address this would be awesome!
Thanks.

Hi @manuelmhtr ,
Thank you! That makes total sense and should have been obvious in retrospect. We changed our Sponsorship to Public and the action ran successfully now :)
I am still having trouble getting the Slack message to post, however.
Perhaps another thing to request in the README is a bit more detail on what needs to be set up in the Webhook itself in Slack - as it requires you to add at least one "step" but I'm not sure whether I should be configuring a "Post a message" step to take a variable from the Webhook content. I tried catching a var as a few things (message, data, blocks) but it fails. My js knowledge isn't good enough to reverse engineer your code I think 😄
My action looks like this:
name: "Pull Request Stats"

on:
  workflow_dispatch:

jobs:
  stats:
    runs-on: ubuntu-latest
    steps:
      - name: Run pull request stats
        uses: flowwer-dev/pull-request-stats@master
        with:
          organization: Accredible
          token: ${{ secrets.ORG_READ_PAT }}
          slack-webhook: ${{ secrets.PR_STATS_SLACK_WEBHOOK_URL }}
          slack-channel: '#testing'

And my webhook:

Hope this makes sense, please let me know if I'm missing a bit of config!

Hi @pattwell I'm glad it worked :D
About the slack configuration, I think you are creating a Workflow which is a bit different.
What you need to create is an "App" and then create an "Incoming Webhook" for that app. At the end you should get an URL. That URL is the one that you need to assign to your PR_STATS_SLACK_WEBHOOK_URL secret.
I found this tutorial, which I think explains pretty well how to do it.
Please tell if that works for you.
PD. Sorry for not having a clearer documentation on the Slack Integration. You are the 2nd company using it, and you are helping me a lot to improve it.

@manuelmhtr Ah thank you, silly me! I read "Create a webhook" and my mind instantly went to the Workflow Webhooks as I have used them a lot in the past. Since this is the interface to select a Webhook type workflow, I didn't even think that I was looking at totally the wrong thing:

That's my fault for making assumptions and not reading the help article you linked carefully enough.
I was able to get the Slack messages working now 🥳  I did get some 400 errors at first but managed to figure out that without the limit set to 15 or less (not sure the exact number, I just did some trial and error) the webhook message was probably too long and the Slack API rejected the request.
No need to apologise, I am also sorry for misunderstanding!  But I suppose users getting things wrong is certainly the best way to know what to change in Documentation 😆
In summary, my gentle suggestions for improvement would be:

Alter wording slightly to make it a bit clearer that an App should be created via https://api.slack.com/apps/
Perhaps note also that the Webhook URLs should be treated as sensitive values
Note that the Slack API limits message length, so people will need to set a Limit on the rows

Thank you so much for your swift help and responses with this, we really appreciate it!

Hello again! Sorry for lots of comments, but just sharing some further findings after more testing.
After the inital success, I am now scheduling the action to run once for our Backend developers' repos, and separately for our Frontend developers' repos, as this makes the stats easier to analyse. For these I am specifying 3 repos each, eg:
      - name: Backend Stats
        uses: flowwer-dev/pull-request-stats@master
        with:
          repositories: <repo1>,<repo2>,<repo3>
          limit: 10
          token: ${{ secrets.REVIEW_BOT_AUTOSYNC_PAT }}
          slack-webhook: ${{ secrets.PR_STATS_SLACK_WEBHOOK_URL }}
          slack-channel: '#testing'

I noticed that the Slack message says "Stats of the last 30 days for repo1 and repo2", so repo3 is missed from the message. All 3 repos are included in the actual statistics found, which is the important part, but the Slack message is a bit misleading.
Additionally, I had to make the limit = 10 as I got 400 errors once again when trying with limit = 15 and with limit = 12.

This is a bit confusing since I assumed the issue was message size, an when analysing all repos in the Organisation it works with limit 15, perhaps I am wrong? 🤔  It's slightly hard to tell as the debug logging doesn't show the full API error I think.
Sorry if this isn't the right place to raise this, I can start a separate issue if that helps, but since the previous context of this thread was relevant I thought I would add it here.  Please don't feel rushed to respond quickly, this is not a high priority issue.
Thank you again, this action is super interesting and it's fun to test out!

Hi @pattwell! Happy to hear it's working now 🙌  and thank you very much for all the debugging and feedback (don't worry, this issue is fine to talk about all related topics).
About each comment:

Perhaps note also that the Webhook URLs should be treated as sensitive values

You are right, let me check how can I specify to Github that threat this value as sensitive. This is to prevent it from being printed during debugging, right? or am I missing something else?

I noticed that the Slack message says "Stats of the last 30 days for repo1 and repo2", so repo3 is missed from the message.

Ooops! I added this section of the message recently and I think there's a bug, specifically when there are 3 repos (because 3 is the trigger to switch the message for "repo1, repo2 and X more repos" when there are many).

Additionally, I had to make the limit = 10 as I got 400 errors once again when trying with limit = 15 and with limit = 12.

Omg, is super annoying to guess which number should be assigned as limit U_U
I think what takes the most space and makes it a variable number are the URLs (which may take up to 1,024 characters). Let me think of a workaround. It may be trimming the last rows automatically to fit Slack's limit, or maybe by somehow shortening the urls (this would allow more rows to be printed) 🤔.

Let me work on those improvements (hopefully this weekend) 😉
Any other feedback is very welcome. Thanks!

Hey again @manuelmhtr :)

You are right, let me check how can I specify to Github that threat this value as sensitive. This is to prevent it from being printed during debugging, right? or am I missing something else?

For this I just mean that in the README you show an example of how people could set up the slack integration:
      - name: Run pull request stats
        uses: flowwer-dev/pull-request-stats@master
        with:
          slack-webhook: 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'
          slack-channel: '#mystatschannel'

But it might be better to show this as the example:
      - name: Run pull request stats
        uses: flowwer-dev/pull-request-stats@master
        with:
          slack-webhook: ${{ secrets.webhook }}
          slack-channel: '#mystatschannel'

This will encourage people to use the Webhook URL via Repo secrets rather than committing it to their source code. It will work either way but it's best practice to use secrets and nice and easy to do so.

Ooops! I added this section of the message recently and I think there's a bug, specifically when there are 3 repos (because 3 is the trigger to switch the message for "repo1, repo2 and X more repos" when there are many).

This is such a releatable programming issue lol, totally understandable and hopefully an easy fix 😄

Other than those points it's working well now, I will let you know if we have any other feedback but I think it's all good.
Thanks again for your quick responses! I look forward to seeing some progress when you're able to find some time.

Hi @pattwell
I took more time than expected but finally came with a solution for the characters limit on Slack, it's available on v2.4.5.
The workaround was to split the message into chunks and post multiple times while preserving the order. This way it still looks like 1 single post and you can remove the limit option.
I also improved the read based on your suggestions :)
I'll close this issue but please feel free to reopen it if you have any question.
Best,

Hi @manuelmhtr,
Sorry for such a late response!  Thank you so much for the updates, the limit does seem to work much better now 😄
The only remaining thing, I think, is the way the repos are listed if we choose exactly 3 repositories to scan. That is, it still shows as "Stats of the last 30 days for repo1 and repo2", with repo3 missed from the message.
Thanks :)


#364 - Expose HTTP_503_RESPONSE_VERBOSITY option

Changes discussed offline with Chris earlier this morning to expose Http503ResponseVebosityLevel. Feature request tracked in the backlog already under: https://github.com/aspnet/HttpSysServer/issues/364
https://msdn.microsoft.com/en-us/library/windows/desktop/aa364509(v=vs.85).aspx
I am submitting this to get unblocked for the migration of our UniversalStore services from Owin/Katana + WebApi 2.0 to Asp.Net Core

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: FabianMeiswinkel sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@shirhatti recommended for rc1.

Looks good. We can take it.
Just curious, what does the response look like for Http503ResponseVerbosityFull?

A 503 and the body is the ugly and messy hard-coded HTML IIS sometimes returned on legacy Asp.Net.
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: Sourabh Shirhatti<EMAIL_ADDRESS>Sent: Tuesday, April 10, 2018 8:48:18 PM
To: aspnet/HttpSysServer
Cc: Fabian Meiswinkel; Author
Subject: Re: [aspnet/HttpSysServer] #364 - Expose HTTP_503_RESPONSE_VERBOSITY option (#447)
Looks good. We can take it.
Just curious, what does the response look like for Http503ResponseVerbosityFull?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/aspnet/HttpSysServer/pull/447#issuecomment-380207816, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ASRvVu1v88QjG8QN3ehl4cX6MHsYt8F_ks5tnP5ygaJpZM4TOqTn.

And the literal const is actually the following (at least in english). This text varies depending on which throttle was hit.

Service Unavailable

Forbidden - Too Many Users
HTTP Error 503. There are too many outstanding connections.

Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: Fabian Meiswinkel
Sent: Tuesday, April 10, 2018 8:49:24 PM
To: aspnet/HttpSysServer; aspnet/HttpSysServer
Cc: Author
Subject: RE: [aspnet/HttpSysServer] #364 - Expose HTTP_503_RESPONSE_VERBOSITY option (#447)
A 503 and the body is the ugly and messy hard-coded HTML IIS sometimes returned on legacy Asp.Net.
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: Sourabh Shirhatti<EMAIL_ADDRESS>Sent: Tuesday, April 10, 2018 8:48:18 PM
To: aspnet/HttpSysServer
Cc: Fabian Meiswinkel; Author
Subject: Re: [aspnet/HttpSysServer] #364 - Expose HTTP_503_RESPONSE_VERBOSITY option (#447)
Looks good. We can take it.
Just curious, what does the response look like for Http503ResponseVerbosityFull?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/aspnet/HttpSysServer/pull/447#issuecomment-380207816, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ASRvVu1v88QjG8QN3ehl4cX6MHsYt8F_ks5tnP5ygaJpZM4TOqTn.


Python Compatibility

Now we have some working tests, they are showing up some interesting results.
Docbuilder was only ever really written with Python 2.7 in mind, though it was hoped to make it also compatible with Python 3.x
The testing shows it to run successfully on:

Python 2.6
Python 2.7
Python 3.3
Python 3.4
PyPy
PyPy3

However, it failed on Python 3.2, due to a syntax error.
File "docbuilder.py", line 68

   if char == u'\u0023':

                                ^

SyntaxError: invalid syntax

As Python 3.2 consistently fails over the same syntax error, rather than trying to find a way that would be compliant to all versions of Python, it is being dropped from testing.
The others, if they survive the testing to come, will become the officially supported distributions.

The Cython nightly build from Travis CI builds as of 35ccf432bc0edf4c8dbc50e53fb942f00c8f48b4. Adding it to supported.

Automated testing isn't available on OS X and Windows yet.
Tests pass on Windows 8.1, 64-bit, Python 3.4.2.

#14 is a passing version that will bring back compatibility with Python 3.0, 3.1 and 3.2 without breaking current compatibility.

Merged and passing.

Appveyor may be an option for testing automatically under Windows.

Appveyor could also be a good way to automatically build wheels for each version of Python.


Make available on PyPI?

Hi there,
This project looks really neat -- I'd really like to start using this instead of pexpect+kadmin!
I can't seem to find this module on PyPI, though -- I'm wondering if you've considered uploading it there, or if there's some reason you haven't? It would be a lot easier for us to deploy this across our machines if we could install it via pip.
I'd be happy to help in any way with uploading! Thanks for a really cool module!

As of a few minutes ago python-kadmin is available via pip.

Awesome, thanks for the quick response and great project! This will make our lives easier.


Arch arm rework fault handling

Rework the fault handing for ARM, to separate error reporting from processor fault status resetting and error reason derivation.
Addresses #8950 .

Codecov Report

Merging #8972 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #8972   +/-   ##
=======================================
  Coverage   52.25%   52.25%
=======================================
  Files         196      196
  Lines       24802    24802
  Branches     5155     5155
=======================================
  Hits        12961    12961
  Misses       9762     9762
  Partials     2079     2079

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 08547cb...cfebfc2. Read the comment docs.

Thanks for the feedback, @andrewboi,let's see where we are:

This still doesn't work for me.

I basically need this to work in phases:

Identify the specific fault

This is done: _Fault() invokes _FaultHandle() which identifies the actual processor fault, and handles it accordingly, invoking the corresponding fault handler.

Poke whatever bits are necessary to handle the fault condition so that we can continue

This is implemented in the various fault handlers, corresponding to each fault condition. Each handler inspects appropriate registers and returns the error reason, that can be used, later, to assess whether we can continue, or not.

Have a place to make a policy decision where we decide whether this fault is fatal or not. If not fatal, apply policy and then return. This is where I will check the exception fixup stuff.

For this, I have a comment. This should not be done in the generic fault handler, but, instead, inside the specific ones. This is because, the applied policies shall be only applicable to specific fault errors.

We didn't return so this is a fatal fault. Dump out interesting information specific to the fault.
Call _NanoFatalErrorHandler to dump out the reason code, the faulting thread and other common info, which will then in turn call _SysFatalErrorHandler.

This is done, now, at the end of _Fault(). For now, we still call the _sysFatalErrorHandler(), but I have tracked the change to Nano in #8950.

This is better.
However, for the example of the patch in #8863 I am getting bus faults and not MPU faults if I don't handle the exception:
***** BUS FAULT *****
  Executing thread ID (thread): 0x20402590
  Faulting instruction address:  0x4020c2
  Precise data bus error
  Address: 0xfffffff0
Fatal fault in thread 0x20402590! Aborting.

So this needs to be for bus and not mpu faults. Actually it might need to be both:

Bus faults for truly nonsense memory addresses
MPU faults for memory addresses in a MPU region which is defined as not readable in kernel mode, like a guard page or something

Given that the ranges in the exception table are so far just a single instruction, this is why I found it a lot simpler to just check the exception table on any fault since we know what the instruction is doing.

@andrewboie you are right. This work needs to be completed by doing similar things for Bus and HardFaults:

BusFaults in case of NXP MPU, which generates BusFaults instead of MPU Faults,
HardFaults for ARMv6-M/ARMv8-M_Baseline which does not have other fault exceptions
These exceptions  need to have a way to by-pass not-fatal errors, similarly to what I did, here for MPU faults.

Given that the ranges in the exception table are so far just a single instruction, this is why I found it a lot simpler to just check the exception table on any fault since we know what the instruction is doing

I am a bit confused here. Anyways, I think it is better to have individual code blocks for checking for non-fatal (recoverable) errors at each fault exception, in order to have better control of what faults we can assess as recoverable and what we cannot.
For example, for ARMv7-M SOCs with ARM MPU we shall be expecting MPU faults, so we shall not try to recover from BusFaults. Vice-versa for SOCs with NXP MPU. Also, for ARMv7-M, with MPU (ARM, or NXP) enabled, we shall not expect to recover from Hard Faults, as we should expect Bus or MMU faults instead.


etcdmain: proxy ignores discovery if it is initialized

Fix https://github.com/coreos/etcd/issues/3108

lgtm if it has been manually tested.

@yichengq I tested it manually. But it wont hurt if you can test it again.

i tested and it worked too.


Rasa X add ability to set training parameters

Description of Problem:
Our team is running our Rasa files from docker on AWS. I would like to be able to set augmentation to 0 but can't without connecting to docker container and I am assuming that the train button just runs a default 'rasa train' on the cli.
Overview of the Solution:
Make a file that holds the arguments that you want run with rasa train. It could be in a yml or md format or JS, and support multiple named argument lines
From a UI perspective it could be either a similar approach to models where you just mark the line you want run when you click the train button.
The other I see could add a second quick element. Maybe a small dropdown box that has a named variable of the arguments and you can select a tickbox of the one you want run. It could be toggled from a small icon like a gear (settings) and put around or beside the train button. Though a tab would work fine too.
If none are set it would continue to use the default currently used. 'rasa train'

Thanks for submitting this feature request 🚀@tabergma will get back to you about it soon!✨

@federicotdn What do you think about this?

I think this is a question @TyDunn could answer better, but it definitely sounds like a useful features to have (we would need to update the /model/train endpoint of Rasa so that it accepts an augmentation parameter).


Cool idea of a tool!

Hey @KarnerTh!
This looks really cool and a promising idea. My immediate reflection is

Would it be possible to opt in on all tables?
Not force input interaction and relay on config/inputs
Make it more accessible to use in a CI / CD pipeline.

Maybe host it on docker?

Eager to see more of this. Good work so far!

Thanks for the input, glad to hear the tool is finding its use.
For the first two points - I can definitely provide these features (and plan to do so in the near future).
Regarding the usage in a CI/CD pipeline, shouldn't it work to just grab the binary from the GitHub release page (or put a copy of the binary in your repository)?
How would the process look like if it was provided via docker? Pull the image and execute the command inside the container?

Hey @lillheaton
I released a new version of mermerd (v0.0.3).

You can now opt in for all tables via the --useAllTables flag
You can provide a run config to run mermerd e.g. in your CI/CD pipeline (documented here)

I also added the feature to define a list of tables you want to generate an ERD for, if all tables are just too much information or you want to split different parts of your database in different ERD files

Everything should be documented in the readme, but please let me know if something is missing or unclear.
Regarding the accessibility for CI/CD pipelines: if using the binary (like described here) is not sufficient, please open another issue with more details.


Check PEP8 compliance

Check (and improve) PEP8 compliance with pylint or pyflake.

This could do the work: https://github.com/OrkoHunter/pep8speaks

This looks great. We will need to tweak it a little bit but this could be useful.
I tested locally pycodestyle (https://github.com/PyCQA/pycodestyle) and there is not so much errors.
See this gist: https://gist.github.com/HubLot/790581500542c4015ba4e892deea6123

OK. We could tweak it with a .pep8speaks.yml file. For instance, we could increase the max line length:
pycodestyle:
    max-line-length: 100  # Default is 79 in PEP8

Yeah, plus we have some lines which are not PEP8 compliant but increase readability (for example, https://github.com/pierrepo/PBxplore/blob/master/pbxplore/assignment.py#L51 or https://github.com/pierrepo/PBxplore/blob/master/pbxplore/structure/structure.py#L305)

@HubLot can you give a try to pep8speaks?

Here a working example : https://github.com/HubLot/PBxplore/pull/2#issuecomment-283948814 :smile:

Sounds good. Could we silent "E501 line too long" errors and fix other ones?
I believe we could use pep8speaks in production. What do you think?

We could use it yes but we will still have some errors due to certain lines which don't follow PEP8 but increase the readibility of the code (see my previous examples)

OK. No need then. I close this issue.


CSV Extractor

An extractor to get data from CSV files.

closing...  Looks like we don't need an issue to tie a pull request to a milestone.


[Fix #12823] Fix uninitialized constant error

Fixes #12823
The bug originates from #12186, which changed the defined? check in a way that didn't cover this broken reference to Bundler on line 66:
https://github.com/rubocop/rubocop/blob/a4447ea10744d65b8ea781ec5fbe591c1b514e92/lib/rubocop/lockfile.rb#L59-L68
This wasn't caught in CI, because none of the cops used by Rubocop (to check its own source code in CI) use Rails cops, so RuboCop::Config#target_rails_version_from_bundler_lock_file was never called in CI.
Validation
An easy way to reproduce this is to just modify a gem used by Rubocop itself (e.g. RuboCop::Cop::Layout::IndentationStyle), adding requires_gem 'rubocop' to its body. This triggers the target_rails_version_from_bundler_lock_file code path when you run exe/rubycop . to run rubocop on its own codebase.
code_to_reproduce.patch
diff --git a/lib/rubocop/cop/layout/indentation_style.rb b/lib/rubocop/cop/layout/indentation_style.rb
index e2b936f73..5e4a152b7 100644
--- a/lib/rubocop/cop/layout/indentation_style.rb
+++ b/lib/rubocop/cop/layout/indentation_style.rb
@@ -37,6 +37,8 @@ module RuboCop
         include RangeHelp
         extend AutoCorrector

+        requires_gem 'rubocop'
+
         MSG = '%<type>s detected in indentation.'

         def on_new_investigation

It fails on 1.63.0, and passes with this PR's changes.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[ ] ~Added tests.~

I don't think we have an easy way to test this, since CI will always have Bundler defined, given that it returns tests in the bundle, that's the whole point).
There's probably some way to test it by spawning a fresh process, but I'm not smart enough to figure that out quickly enough to get this bugfix out :)

[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

The proposed fix looks good to me. Thanks!

https://github.com/rubocop/rubocop/releases/tag/v1.63.2 is out


new pip package

Hello, I see that the PR have been merged into master.
How can I trigger the generation of a new pip package

totally forgot I made a pip package ... now it should be updated.


aptible config changes requires restart to take effect

aptible config:unset and other env changes require explicit aptible restart before the environment variable change goes into effect.
It sounds like we're aware of it, but I didn't see an issue open.  If this is a dupe, please nuke it.

Related to aptible/sweetness#279 and aptible/support#75

gtk

Fixed


Use nixpkgs from cargo2nix flake by default

There's little reason to require the user to supply their own overlay pins while baking the Cargo.nix.  It adds a lot of process overhead to simple packaging and in 99% of cases the right answer is to use the same overlay version as at the time of creating the Cargo.nix

Just ran into an issue with an odd version of the nixpkgs-mozilla overlay giving me a rustc that had missed libz.so.1 in it's output.  Reinforces the need to pin during Cargo.nix generation and default to the same pins as the version of Cargo2nix.  The error initially looked like I needed a native dep and only after shelling in was it apparent that rustc was broken
Sample error message:
[nix-shell:~/debugging/yansi-term-0.1.2]$ /nix/store/qzrglv2ys3k4549ykx3ymyig9rykb241-rust-1.48.0-2020-11-16-7eac88abb/bin/rustc --version
/nix/store/qzrglv2ys3k4549ykx3ymyig9rykb241-rust-1.48.0-2020-11-16-7eac88abb/bin/rustc: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

We can go several steps farther here in terms of burying the noise for most projects

Default to placing the Cargo.nix into the /nix directory like niv.  For multiple-workspace shells, it's helpful
Rename Cargo.nix to match the workspace name, becoming myPackageWorkspace.nix
Embed default pins to avoid packageFun to Cargo.nix & nixpkgs-mozilla version mismatch pitfalls
Construct the package set with all default args
Provide the arguments to mkShell via function on the workspace so the user doesn't have to construct it manually

The result would be (callPackage nix/static-web-serverWorkspace.nix { }).static-web-server.bin to for instance, obtain the static web server program.
If workspaces can expose their shell dependencies in a set that can be merged, then we can build a shell by consuming several workspaces:
{
  sources ? import ./nix/sources.nix,
  system ? builtins.currentSystem,
  crossSystem ? null, #(import sources.nixpkgs {}).lib.systems.examples.musl64,
}:
let
  # get our pins in scope for callPackage
  inherit (sources) cargo2nix nixpkgs nixpkgs-mozilla;
in let
  staticServerWorkspace = callPackage nix/static-web-serverWorkspace.nix {};
  cobaltWorkspace = callPackage nix/cobaltWorkspace.nix {};
in let
  # here we need some function to merge a shell attribute from both workspaces
  # collisions are expected.  Might be necessary to support some filtering
  shellAttrs = magicMerge [static-web-serverWorkspace.shell {} cobaltWorkspace.shell {}];
in {
  shell = pkgs.mkShell  { shellAttrs };
  static-server = static-web-serverWorkspace.static-web-server.bin;
  cobalt = cobaltWorkspace
}

We can go several steps farther here in terms of burying the noise for most projects

Default to placing the Cargo.nix into the /nix directory like niv.  For multiple-workspace shells, it's helpful
Rename Cargo.nix to match the workspace name, becoming myPackageWorkspace.nix
Embed default pins to avoid packageFun to Cargo.nix & nixpkgs-mozilla version mismatch pitfalls
Construct the package set with all default args
Provide the arguments to mkShell via function on the workspace so the user doesn't have to construct it manually

The result would be (callPackage nix/static-web-serverWorkspace.nix { }).static-web-server.bin to for instance, obtain the static web server program.
If workspaces can expose their shell dependencies in a set that can be merged, then we can build a shell by consuming several workspaces:
{
  sources ? import ./nix/sources.nix,
  system ? builtins.currentSystem,
  crossSystem ? null, #(import sources.nixpkgs {}).lib.systems.examples.musl64,
}:
let
  # get our pins in scope for callPackage
  inherit (sources) cargo2nix nixpkgs nixpkgs-mozilla;
in let
  staticServerWorkspace = callPackage nix/static-web-serverWorkspace.nix {};
  cobaltWorkspace = callPackage nix/cobaltWorkspace.nix {};
in let
  # here we need some function to merge a shell attribute from both workspaces
  # collisions are expected.  Might be necessary to support some filtering
  shellAttrs = magicMerge [static-web-serverWorkspace.shell {} cobaltWorkspace.shell {}];
in {
  shell = pkgs.mkShell  { shellAttrs };
  static-server = static-web-serverWorkspace.static-web-server.bin;
  cobalt = cobaltWorkspace
}

A key motivation that is emerging is to obtain nixpkgs instantiated with multiple crossSystem configuration and potentially platform overrides.
system is always the builder's platform, and so the flake-utils style creation of output sets is fine.
For a convoluted example, consider a repository that embeds a wasm output into a web server that is built into a docker container.  The build / host offsets in this case will form a list several members long.  Constructing the nixpkgs to obtain a rustBuilder for the given build / host combination is annoying.
Another issue that comes up is that target overrides for the Rust compiler can clash with the platform conditionals in the Cargo.nix.  The default should be consistency, with warnings to make the user aware that they are using the "I know what I'm doing" compiler-only override mechanisms.
There is an issue in constructing the shell from just one package set.  It should be possible to express a workspace shell from multiple sets, merging the transitive build dependencies of each workspace's crates so that cargo will work for anything that builds with Rust in that entire repository.
What does this have to do with implying the version of nixpkgs?  I believe we need a lib style API that does not require the user to touch overlay construction so much.  Most other nix "libraries" adopt this style.  We can use the inputs as the default for nixpkgs.  If the user overrides the cargo2nix.inputs.nixpkgs from within the flake, they can still change nixpkgs without having to go back into manual overlay construction.
Outputting several partial expressions for composition would make it easier to express all of these cases succinctly:

target overrides
cross setup
package overrides
special builder overrides for tests, clippy etc
merging several workspaces of rust crates into a single set of cargo build-time deps

I also think relevant to #248 is going to be adopting this API in a way that there is one builder for obtaining finished binaries & libs but push all of the tests and other expressions into other builders.  The dedicated builder could be more stabilized, meaning that evaluated derivations will contain less line noise, helping caching.
It appears natural that all of these changes will happen in one set of commits.


Classes based on OSCAL schema do not enforce well-formed OSCAL content

Describe the bug
The csv_to_oscal_cd task produces an component definition that is not well-formed when a profile is specified for a rule with no mapped controls. This issue is meant to capture the root cause of this issue which is that the classes represents the OSCAL schema do not enforce this.
To Reproduce
Steps to reproduce the behavior:
See #1606 for reproduction steps
Expected behavior
Failure relating to the invalid OSCAL Model Object
Screenshots / Logs.
Related to #1606
Environment

OS: [e.g. iOS]
Python version:
Installed packages:

@degenaro Please add additional information as necessary

The issue here is that the datamodel-codegen process assisted generation of Python classes seemingly does not produce constraints that insure, in the cited issue #1606 for example, that when an array is specified it must have at least one element. Resolving this issue will likely involve understanding how to detect such situations in the OSCAL model and producing the annotation in the generated code accordingly. This may be a datamodel-codegen problem. Even so, a work-around in the trestle domain to the extent reasonably achievable may be warranted.

This issue is still needed


getComments() always returns null

I am getting the front page perfectly with a SubredditPaginator, but for every submission in the Listing, getComments() returns null.

Duplicate of #29 and #44.
See here for an explanation.

Thank you for the quick reply. I actually figured it out right after I posted the question by having a closer look at the RedditClient class.


No module named objathor.dataset.download_holodeck_metadata

Hi,
I have installed your previous version and all was working just fine.. Now I see you added new stuff and I wanted to try it out but I can't even install the dependencies of objathor. When I send the command:
python -m objathor.dataset.download_holodeck_metadata --version 2023_09_23

This is my output:
/home/user/anaconda3/envs/holodeck/bin/python: No module named objathor.dataset.download_holodeck_metadata

The other 3 commands from the README.md work just fine. What am I doing wrong?

@Lucaweihs Could you help with this?

Looks like it worked! Thanks


Create GraphQL Interface

Closes #405

Tested against Netbox v3.0.3
Code copied and edited from pynautobot

Hello @Kani999 please resolve conflicts and rebase.  I will try to discuss this with @zachmoody some more.

@zachmoody could you please approve the CI workflow given @Kani999 is a first time contributor to the repo, its a hurdle github puts in place.

IMHO I think this is outside the scope of this project, I'd suggest creating a separate project that is for GraphQL, There is enough issues for this project just for REST API.


Support NUMA-granularity reporting for reclaimed resources

What would you like to be added?
Enhance the resource reporting mechanism to support reporting of reclaimed resources at the granularity of NUMA nodes.
Why is this needed?
Currently, the reporting of reclaimed resources is performed at a node granularity level. However, in environments with NUMA architectures, this approach might lead to suboptimal scheduling result and potential pod evictions due to NUMA-level interference.

@caohe Hi, I am very interested in this issue. I'm new in kubewharf, may i ask you for more infomation?

@caohe Hi, I am very interested in this issue. I'm new in katalyst, may i ask you for more infomation?

@Lan-ce-lot Yes, we can discuss this at the community meeting today. Please feel free to edit the agenda
https://bytedance.feishu.cn/docx/VXGfdiddUoemoQx54uacwSHonPd


Revert "add jenkins status badge"

sorry @hhorak here's the revert, since we don't need the badge.
Reverts sclorg/mongodb-container#169

@bparees can you merge this to undo the pesky tag?


Fix for capital language descriptor bean

Fix for DescriptorLanguageBean returning all caps...which leads to Dockstore command being broken.

Codecov Report

Merging #242 into develop will not change coverage.
The diff coverage is 50%.

@@           Coverage Diff           @@
##           develop    #242   +/-   ##
=======================================
  Coverage     60.1%   60.1%
=======================================
  Files          115     115
  Lines         3482    3482
  Branches       451     451
=======================================
  Hits          2093    2093
  Misses        1161    1161
  Partials       228     228

Impacted Files
Coverage Δ

src/app/container/launch/tool-launch.service.ts
95% <50%> (ø)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6104047...0a59884. Read the comment docs.


cyclops-reactor : Add native Mono monad transformers

Merged in https://github.com/aol/cyclops/pull/216


Fix time error message

Codecov Report

Merging #204 (0b99d11) into master (08c5f55) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #204   +/-   ##
=========================================
  Coverage     80.33%   80.33%
  Complexity      981      981
=========================================
  Files           146      146
  Lines          2828     2828
  Branches        332      332
=========================================
  Hits           2272     2272
  Misses          478      478
  Partials         78       78

Impacted Files
Coverage Δ

...ic/commands/apptcommand/AddAppointmentCommand.java
86.66% <ø> (ø)

...c/commands/apptcommand/EditAppointmentCommand.java
89.01% <ø> (ø)

...ava/seedu/plannermd/model/appointment/Session.java
95.55% <ø> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 08c5f55...0b99d11. Read the comment docs.


Override for Gradient Clipping

🚀 Feature
We would like to be able to implement our own gradient clipping using a LightningModule override similar to configure_sync_batchnorm or configure_ddp, see advanced-hooks.
Motivation
We are implementing Model Parallel Megatron-LM models as LightningModules for NeMo. Gradient clipping is very important for training extremely large transformer models and when using model parallelism, gradient's need to be clipped across model parallel groups. This means we need to be able to configure_gradient_clipping after torch.distributed has been initialized (so we have access to the model parallel groups). Here is the Megatron-LM gradient clipping implementation for reference
We've already taken advantage of PTL's advanced hooks as you can see in our in-progress implementation here and here.
Pitch
Add configure_gradient_clipping hook.
Be able to write custom implementation for: https://github.com/PyTorchLightning/pytorch-lightning/blob/c510a7f90077140d60c47adf8e1e73638c2d1017/pytorch_lightning/accelerators/base_backend.py#L140
Important that it's called after ddp is initialized: https://github.com/PyTorchLightning/pytorch-lightning/blob/c510a7f90077140d60c47adf8e1e73638c2d1017/pytorch_lightning/accelerators/ddp_backend.py#L231
Alternatives
Additional context

@PyTorchLightning/core-contributors sounds good?

IMO it should be a part of LightningModule since gradients are involved here.

Duplicate of https://github.com/PyTorchLightning/pytorch-lightning/issues/5982
Closing in favor of that one since it has more discussion


Develop Fn - MMG- validation for the pipeline

Implement MMG Validation
4a. Data types
4b. Cardinality
4c. Vocab: Lookup (ensure the terminology they used exists in PHINVADS) ==> Stretch

[ ] read mmg json
[ ] transform mmg to class
[ ] receive event hub message
[ ] message to class
[ ] read and decompose hl7 message
[ ] define validation report format
[ ] define report messages
[ ] implement data types validation
[ ] implement cardinality validation
[ ] read vocab. needed => Stretch
[ ] implement vocab. validation => Stretch
[ ] report to json
[ ] send to next event hub

Using HL7-PET library


No trained model

Hi, the work is great!  I want to run the demo, but there is no trained model  https://github.com/ethz-asl/hfnet/blob/master/TODO

Hi, the trained model is finally available, see here. Apologies for the delay.

Thanks a lot!


Vello 0.1 release

Blocking Tasks

[ ] Robust dynamic memory
[ ] Artifacts above 64k draw objects
[ ] Peniko release
[ ] Fello release
[x] Expanded CI coverage - see #250

@nicoburns @raphlinus is this issue tracking the first crates.io publish of vello?
Can we clarify the goal through title or otherwise.

Yes, this is tracking the crates.io publication. Progress on the issues listed has been slow, I've decided to prioritize stroke rework ahead of it, and that's taking a long time.

As mentioned on Zulip, we're getting to a point where we're encouraging people to use vello, and where some people actually are experimenting with it (eg bevy_vello).
This makes it more important to have a release soon, for several reasons:

To avoid namesquatting
So people can add our crate with a simple cargo add
So our dependents can publish on crates.io themselves
To have documentations up on crates.io
Simply because not having a crate up makes us look somewhat unserious.

So, questions:

How much progress have we made on "Robust dynamic memory"?
How much progress have we made on "Artifacts above 64k draw objects"?
Do we have a concrete plan to make progress on these issues in the coming weeks?
Are these issues legitimate blockers that would seriously hamper usability for someone pulling the crate just to hack with it. Could we just put a warning label on the README that says "Caution: this crate has so and so problem, be aware of it" and publish?
What's the status of our documentation?
Would someone be available to do a documentation pass? How long would it take?
What's blocking us from publishing peniko and fello?

Regarding the namesquatting concern, since this has some urgency: you could publish an empty placeholder crate like floem did to reserve its spot. I think they ran cargo new, edited the Cargo.toml fields accordingly, and then published. You may want to create a placeholder README.md file as well before publishing to redirect crates.io visitors accordingly, as shown here.
It's a few minutes of work but then you have piece of mind.

Vello 0.1 is now released!


Non-hardcoded world height

This will be implemented in separate commits. I'm closing this pull request.


Crash when copy paste from LibreOffice Writer

Poedit crashes when copy text from Writer and paste it to the translation filed in Poedit.

Open Writer
Type word "hello"
Select the word then Ctrl+C
Open a .po file in Poedit
Click to the translation field then Ctrl+V
Blank dialog window appears. Click on the close button do nothing. Poedit itself does not response.

Poedit version 2.0.8
Writer version <IP_ADDRESS>
Ubuntu minimal 18.04 + GNOME
Copy paste from a text editor (Gedit) is functional.

Ubuntu 18.04 contains Poedit 2.0.6, not 2.0.8. Seems like you compiled from sources and forgot to mention that crucial fact (or all the other accompanying information, like wxGTK version, which GTK+ version it uses etc)?

Sorry, let me rephrase: Can you please try with the official Ubuntu package (as it seems you self-compiled, because 2.0.6 is the latest Ubuntu-packaged)? The intention is ruling out possible miscompilation issues or issues with your version of wxGTK etc.

I installed 2.0.8 from Ubuntu cosmic repository because I wanted to try the latest version. So no self-compilation.
I have installed python-wxgtk3.0 version <IP_ADDRESS>+dfsg-7.
I installed Poedit 2.0.6-1build1 from bionic repository and repeated the bug procedure. The result is the same. Tested with two different po files.

Thanks for confirmation!

Note to self: I got a report of mangled copying when copying from Poedit into KDE applications (UTF-8-interpreted-as-Latin1 would show up). Seems likely to be related.


the definition of scene complexity

Can this method consider the scene complexity not only when the screen changes but also when the video itself is difficult or complicated?

Good idea, we can extend this algorithm into more general complexity. Do you have any interest in working together?


How to use regex expression in control logic?

When I try to do:
- whatever = "hello world".replace(/ /g, '_')

I get
Uncaught Error: ExecJS::RuntimeError: SyntaxError: [stdin]:57:38: unexpected /
  (in /.../my_file.jst.skim)

There is a problem with / - ideas how to workaround this other then extracting that logic outside the .skim template?
Versions:
Skim: 0.9.3
Slim: 2.0.2

Hi, @BartlomiejSkwira. I check your issue for master branch of Skim and Slim 3, and everything works fine.  So this code:
- whatever = "hello world".replace(/ /g, '_')
- console.log whatever

outputs hello_world
You can update slim to version 3 and use this in your Gemfile:
gem 'skim', :git => 'https://github.com/jfirebaugh/skim.git'

or
gem 'skim', :git => 'https://github.com/gkopylov/skim.git', :branch => 'change_sprockets_version_dependency'

(if you want to use fresh version of sprockets gem).
And what about Slim 2.0.2... I have not enough time to figure out with this issue, so you can just update versions or wait some time - may be someone else fix it.


Fix PE-D bugs

Codecov Report

Merging #252 (fa8605d) into master (d6bbb6d) will decrease coverage by 0.06%.
The diff coverage is 30.00%.

@@             Coverage Diff              @@
##             master     #252      +/-   ##
============================================
- Coverage     51.61%   51.55%   -0.07%
- Complexity      730      731       +1
============================================
  Files           141      141
  Lines          3427     3437      +10
  Branches        478      478
============================================
+ Hits           1769     1772       +3
- Misses         1532     1539       +7
  Partials        126      126

Impacted Files
Coverage Δ

src/main/java/seedu/address/ui/MainWindow.java
0.00% <0.00%> (ø)

...a/seedu/address/ui/schedule/ScheduleGridPanel.java
0.00% <0.00%> (ø)

...ess/logic/commands/module/DeleteModuleCommand.java
55.35% <100.00%> (+2.52%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Stochastic supply model open-sourced

eta: 2022-11-30
Present a report and a well-documented code package for our stochastic supply model. This could potentially include our studies on gas modeling.

FVM and gas gentrification: summary, work plan and timeline
Summary
Different stakeholders in the Filecoin network have been contemplating the potential effects on the gas and message economy that may occur from major upcoming upgrades to the Filecoin network, namely FVM (Filecoin Virtual Machine) –which could cause message demand surges,  and IPC (InterPlanetary Consensus), –which could cause block space supply surges. In this document, we will focus on the former, and a similar writeup focusing on the latter will be published  shortly.  A more thorough description of the problem at hand can be found here.
If new FVM users and apps add enough incremental message traffic (demand), there is a possibility that the price-setting mechanism for block space would cause gas fees or user bids to rise to a point where mission-critical messages (i.e., those deemed necessary for the proper functioning of the network, such as SubmitWindowPost) may get priced out. This outpricing would, in turn, affect any related economic decision-making by network participants and may potentially hurt the network.
Block space Gentrification is the cheeky nickname we've been using for this phenomenon, as chic new messages move into the block and (potentially) drive up rent prices (base fees) for everyone.
While it is also possible that this does not become an issue, we are actively looking into modeling and simulating different scenarios resulting from this increase in demand so that we can better understand and quantify them. We are also brainstorming possible solutions, safety valves, and offramps.
We welcome any related thoughts, ideas, or questions here. Thank you!
Disclaimer: no one can perfectly predict the future. All our simulations depend upon multiple assumptions that authors and stakeholders deemed reasonable. While we are confident in our reasoning and simulation capabilities, the predicted results may not reflect reality due to the system's immense complexity and the large amount of non-linear interactions that drive it. These studies should be repeated and their conclusions/actions adjusted as new data becomes available.
Work plan
FVM devs aim for 100+ value-generating apps on the Filecoin mainnet the day after the FEVM upgrade. If this holds, it is not difficult to imagine that there will be a significant “spike” in demand that day, the effects and characteristics of which will have to be tested computationally.
Approach.
Our exploratory work consists of an Impact Assessment and a Solution Exploration.
Impact Assessment:
We aim to understand and quantify what this surge in demand means for Filecoin utils, gas, and base fee. We are mainly focused on:

Quantifying block space gentrification and estimating block usage per message class (e.g., proofs of storage vs. FVM) for different scenarios.
Determining whether the probability of fault (by failing to submit windowsPosts) increases due to this surge in demand.
Understanding the Impact that such an increase in demand would have on onboarding.

Our goal is to conclude with a report describing our methodologies and findings by the end of 22Q4.
Solution Exploration
The introduction of gas lanes is a potential solution to the block space gentrification issue. One could then (i) implement a simulated version of the gas-lanes methodology, (ii) compare how different observables and quantities of interest compare in a gas-lanes-using protocol vs. status-quo, and (iii) determine whether these differences are statistically significant. Some observables worth considering are:

Change in block size allocated to windowpost
Change in penalization probability
Tokens burnt due to message class.

We are also interested in hearing other potential mitigation ideas from the community.
Timeline:
We aim to have a report addressing the first part of our approach, namely, an Impact Assessment, by the end of 22Q4. As a buffer, we marked weeks 3 and 4 as “wiggle room” in case there are any blockers during the first two weeks. Time permitting, we will also present a report on the Solution Exploration part by the end of 22Q4. Otherwise, we will deliver it early 23Q1.
Week 1 (28 November-4 December).
Finish coding modular simulation environments that can investigate several quantities of interest related to the Impact assessment and the Solution Exploration parts.

[ ] A simple demand model/profile or actor strategy/behavior –can be refined later. Simulation environments.
[ ] Model for current block composition
[ ] Functions and observables: operation cost, termination probability.

Week 2 (5 December - 11 December).
Run experiments related to the Impact Assessment part. Start documenting assumptions, results, and analysis.

[ ] Impact of sustained demand on onboarding (tough)
[ ] Determine the probability of fault Vs. Base fee. Determine current default probability.
[ ] Quantify block space gentrification, and estimate block usage for different scenarios.

Week 3 (12 December - 18 December).
Write results and communicate analysis on the first part. Wiggle room. Time permitting, start running experiments on the Solution Exploration part. Start documenting assumptions, results, and the study of this second part.

[ ] Statistical Analysis (SA) of change in block size allocated to windows post pre-post FVM for gas lanes vs. no gas lanes.
[ ] SA fault probability; gas lanes vs. no gas lanes.
[ ] SA tokens burnt due per message class; gas vs. no gas lanes.

Week 4 (19 December - 23 December).
Wiggle room + time permitting write results for the solution part and communicate said analysis to the community.
Relevant links

HackMD document with a thorough description of the gas gentrification problem https://hackmd.io/@cryptoecon/HybI_o-Is
Gas in the Filecoin network: issues and opportunities https://hackmd.io/U7mdH4D3QFeyy1wR3lT8Ew?view
Github repo with simulaktion codes [WIP]
https://github.com/protocol/CryptoEconLab/tree/blockSim/notebooks/blockSim
Gas usage in the filecoin network: a report.
https://hackmd.io/BrlCWpykSTyQyQ3HNDFqUA

First version of mechaFIL package released 🥳

https://pypi.org/project/mechaFIL/
https://github.com/protocol/filecoin-mecha-twin/pull/7

There are still a few todos, which are listed as issues in the repo.

Snippet to promote with all the relevant links - hurrah!

mechaFIL is a python package that models the circulating token supply of Filecoin. You can use it to forecast all the components underlying Filecoin’s circulating supply (i.e., minting, vesting, locking and burning), based on a set of parameters that encode storage provider behavior.
mechaFIL was created and open-sourced at CryptoEconLab by Maria Silva, Tom Mellan, and Kiran Karra.
Links:
GitHib repo, PyPI
Link to demo video
Link to code in colab notebook


Better management of Right Table of Contents when too long

In situations where the right ToC has many entries, it can often extend beyond the window
Design a solution that allows for users to navigate with right ToC even if it is very long

e.g. make scrollable or collapsible

I'd propose making the right sidebar scrollable. Should be ~1-2h.


After container restart connection to Tesla seems unauthorized

Describe the bug
After restart of teslamate container it seems that the connection to the Tesla api is unauthorized. After re-login or manually adding tokens to DB the connection seems to be working as long as the container isn't restarted. (I schedule a stop / offline backup / start every day, so I get the issue daily)
To Reproduce
Steps to reproduce the behavior:

restart container
check logging

Expected behavior
The connection not to be unauthorized.
Relevant entries from the logs
2020-04-17T11:33:46.154503166Z 11:33:46.154 [info] [alarm_handler: {:set, {TeslaMate.Vehicles.Vehicle_1_api_error, :fuse_blown}}],
2020-04-17T11:36:17.610114120Z 11:36:17.608 [info] SIGTERM received - shutting down,
2020-04-17T11:36:17.610517400Z ,
2020-04-17T11:36:38.505344686Z 11:36:38.498 [info] Already up,
2020-04-17T11:37:14.196381004Z 11:37:14.195 [info] Version: 1.19.0-dev,
2020-04-17T11:37:24.216190277Z 11:37:24.212 [warn] Token refresh failed: %TeslaApi.Error{,
2020-04-17T11:37:24.216326162Z   env: %Mojito.Response{,
2020-04-17T11:37:24.216362673Z     body: %{,
2020-04-17T11:37:24.216395225Z       "error" => "invalid_grant",,
2020-04-17T11:37:24.216430954Z       "error_description" => "The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.",
2020-04-17T11:37:24.216471006Z     },,
2020-04-17T11:37:24.216502673Z     complete: true,,
2020-04-17T11:37:24.216537412Z     headers: [,
2020-04-17T11:37:24.216568454Z       {"server", "nginx"},,
2020-04-17T11:37:24.216600433Z       {"date", "Fri, 17 Apr 2020 11:37:24 GMT"},,
2020-04-17T11:37:24.216633089Z       {"content-type", "application/json; charset=utf-8"},,
2020-04-17T11:37:24.216666474Z       {"transfer-encoding", "chunked"},,
2020-04-17T11:37:24.216808922Z       {"connection", "keep-alive"},,
2020-04-17T11:37:24.216842516Z       {"x-frame-options", "SAMEORIGIN"},,
2020-04-17T11:37:24.216897932Z       {"x-xss-protection", "1; mode=block"},,
2020-04-17T11:37:24.217007463Z       {"x-content-type-options", "nosniff"},,
2020-04-17T11:37:24.217044286Z       {"cache-control", "no-store"},,
2020-04-17T11:37:24.217078036Z       {"pragma", "no-cache"},,
2020-04-17T11:37:24.217109547Z       {"www-authenticate",,
2020-04-17T11:37:24.217140432Z        "Bearer realm="Doorkeeper", error="invalid_grant", error_description="The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.""},,
2020-04-17T11:37:24.217177151Z       {"x-request-id", "a52294c59bc52ac022051ecbed7bbfa1"},,
2020-04-17T11:37:24.217207671Z       {"x-runtime", "0.005480"},
2020-04-17T11:37:24.217237776Z     ],,
2020-04-17T11:37:24.217267098Z     status_code: 401,
2020-04-17T11:37:24.217296734Z   },,
2020-04-17T11:37:24.217325953Z   message: "Failed to authenticate.",,
2020-04-17T11:37:24.217355692Z   reason: :authentication_failure,
2020-04-17T11:37:24.217384963Z },
2020-04-17T11:37:24.217431004Z 11:37:24.212 [info] Elixir.TeslaMate.Api / unhandled message: {#Reference<0.2210834356.3752067076.95532>, :ok},
2020-04-17T11:37:24.218066837Z 11:37:24.216 [info] Elixir.TeslaMate.Api / unhandled message: {:mojito_response, #Reference<0.2210834356.3752067076.95528>,,
2020-04-17T11:37:24.218150691Z  {:ok,,
2020-04-17T11:37:24.218207878Z   %Mojito.Response{,,
17T11:37:24.218240430Z     body: "{"error":"invalid_grant","error_description":"The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client."}",,
2020-04-17T11:37:24.218276003Z     complete: true,,
2020-04-17T11:37:24.218323191Z     headers: [,
2020-04-17T11:37:24.218352982Z       {"server", "nginx"},,
2020-04-17T11:37:24.218383503Z       {"date", "Fri, 17 Apr 2020 11:37:19 GMT"},,
2020-04-17T11:37:24.218416003Z       {"content-type", "application/json; charset=utf-8"},,
2020-04-17T11:37:24.218446992Z       {"transfer-encoding", "chunked"},,
2020-04-17T11:37:24.218477461Z       {"connection", "keep-alive"},,
2020-04-17T11:37:24.218507722Z       {"x-frame-options", "SAMEORIGIN"},,
2020-04-17T11:37:24.218539961Z       {"x-xss-protection", "1; mode=block"},,
2020-04-17T11:37:24.218570794Z       {"x-content-type-options", "nosniff"},,
2020-04-17T11:37:24.218601211Z       {"cache-control", "no-store"},,
2020-04-17T11:37:24.218631680Z       {"pragma", "no-cache"},,
2020-04-17T11:37:24.218663034Z       {"www-authenticate",,
2020-04-17T11:37:24.218694440Z        "Bearer realm="Doorkeeper", error="invalid_grant", error_description="The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.""},,
2020-04-17T11:37:24.218785065Z       {"x-request-id", "24ac4aa4e442bb08fc8dfb33c23a922e"},,
2020-04-17T11:37:24.218818034Z       {"x-runtime", "0.006425"},
2020-04-17T11:37:24.218848190Z     ],,
2020-04-17T11:37:24.218877461Z     status_code: 401,
2020-04-17T11:37:24.218906523Z   }}},
2020-04-17T11:37:24.231941295Z 11:37:24.231 [info] Running TeslaMateWeb.Endpoint with cowboy 2.7.0 at <IP_ADDRESS>:4000 (http),
2020-04-17T11:37:24.236043945Z 11:37:24.235 [info] Access TeslaMateWeb.Endpoint at http://localhost,
2020-04-17T11:37:24.272008161Z 11:37:24.266 [warn] Using fallback vehicles:,
2020-04-17T11:37:24.272108681Z ,
2020-04-17T11:37:24.272139775Z [,
2020-04-17T11:37:24.272171025Z   %TeslaApi.Vehicle{,
2020-04-17T11:37:24.272200869Z     api_version: nil,,
2020-04-17T11:37:24.272230608Z     backseat_token: nil,,
2020-04-17T11:37:24.272259931Z     backseat_token_updated_at: nil,,
2020-04-17T11:37:24.272290191Z     calendar_enabled: nil,,
2020-04-17T11:37:24.272322275Z     charge_state: nil,,
2020-04-17T11:37:24.272352170Z     climate_state: nil,,
2020-04-17T11:37:24.272381441Z     color: nil,,
2020-04-17T11:37:24.272413733Z     display_name: "JR's M3",,
2020-04-17T11:37:24.272445295Z     drive_state: nil,,
2020-04-17T11:37:24.272474618Z     gui_settings: nil,,
2020-04-17T11:37:24.272504097Z     id: ,,
2020-04-17T11:37:24.272533733Z     in_service: false,,
2020-04-17T11:37:24.272563160Z     option_codes: [],,
2020-04-17T11:37:24.272594774Z     state: "unknown",,
2020-04-17T11:37:24.272634305Z     tokens: [],,
2020-04-17T11:37:24.272664774Z     vehicle_config: nil,,
2020-04-17T11:37:24.272694566Z     vehicle_id: ,,
2020-04-17T11:37:24.272723889Z     vehicle_state: nil,,
2020-04-17T11:37:24.272753003Z     vin: "0",
2020-04-17T11:37:24.272782066Z   },
2020-04-17T11:37:24.272811649Z ],
2020-04-17T11:37:24.272840711Z 11:37:24.267 [info] Starting logger for 'JR's M3',
2020-04-17T11:37:24.302647801Z 11:37:24.299 [error] Error / unauthorized,
2020-04-17T11:37:24.326379744Z 11:37:24.307 [info] MQTT connection has been established,
2020-04-17T11:38:13.386919294Z 11:38:13.386 [info] [alarm_handler: {:set, {TeslaMate.Vehicles.Vehicle_1_api_error, :fuse_blown}}],
2020-04-17T11:40:28.174339988Z 11:40:28.172 [info] GET /settings,
2020-04-17T11:40:28.262705474Z 11:40:28.252 [info] Sent 200 in 80ms,
2020-04-17T11:40:34.563710571Z 11:40:34.563 [info] GET /,
2020-04-17T11:40:34.575155189Z 11:40:34.573 [info] Sent 302 in 10ms,
2020-04-17T11:40:34.864382911Z 11:40:34.861 [info] GET /sign_in,
2020-04-17T11:40:34.889500320Z 11:40:34.874 [info] Sent 200 in 12ms,
2020-04-17T11:41:28.630299682Z 11:41:28.628 [info] Scheduling token refresh in 40d,
2020-04-17T11:41:29.174843665Z 11:41:29.174 [info] GET /,
2020-04-17T11:41:33.600337600Z 11:41:33.599 [info] Starting logger for 'JR's M3',
2020-04-17T11:41:33.642122794Z 11:41:33.641 [info] Sent 200 in 4467ms,
2020-04-17T11:41:33.909140757Z 11:41:33.908 car_id=1 [info] Start / :offline,
2020-04-17T11:44:13.393008960Z 11:44:13.392 [info] [alarm_handler: {:clear, TeslaMate.Vehicles.Vehicle_1_api_error}],
(I redacted the ID's)
I also checked that the ID//vehicle_ID are present and the same as in the request in the car table in the database.
Screenshots
Operating environment

TeslaMate Version: teslamate:1.19.0-dev latest pull from docker. (tried updating to this version because of the same issue I also had with using the stable 1.18 verion)
Type of installation: Docker
OS: Raspberry Pi

At startup the tokens are refreshed (POST /oauth/token?grant_type=refresh_token). The error "The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client." indicates a problem with the tokens themselves. You could try a manual refresh (e.g. using curl) to see if that works. Otherwise I wouldn't know what TeslaMate could do that would cause a refresh to fail with that error message.

That’s what I figured as well... unfortunately manually refreshing tokens using curl gives the same issue. I suppose calling Tesla isn’t really an option.. For now I just don’t shutdown the container anymore before making a backup and I’m hoping it’ll pass eventually. I’ll keep you posted.

 This might help.

Tried that already before posting the possible issue. Unfortunately no luck with that either.... Smartphone apps are still ok and logged in. (Of course when resetting the password inwas required to change it)

Apparently since last weekend the issue is solved without a hint of the exact source. Anyway; thanks for reading my story. :-)

Have you already tried to reset your Tesla password? This might help.
Hi @adriankumpf , @robbertverheij  I've been roughly two months removed from from using Teslamate, as Tesla's recent software updates have caused some issues with various functions.  My last logged data point appears to be Mar 5, 2020.

Things have now stabilized with 2020.12.10 - so I decided to check back in with Teslamate.  I see there have been a number of revisions and I was excited to update my docker container.
That said, I ran into the same error :
teslamate_1  |       {"www-authenticate",
teslamate_1  |        "Bearer realm="Doorkeeper", error="invalid_grant", error_description="The provided authorization grant is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.""},
teslamate_1  |       {"x-request-id", "f41468aa4b43d862ab76d963725eeb9c"},
teslamate_1  |       {"x-runtime", "0.010631"}
teslamate_1  |     ],
teslamate_1  |     status_code: 401
teslamate_1  |   },
teslamate_1  |   message: "Failed to authenticate.",
teslamate_1  |   reason: :authentication_failure
teslamate_1  | }
teslamate_1  | 18:59:00.755 [info] Running TeslaMateWeb.Endpoint with cowboy 2.7.0 at :::4000 (http)
teslamate_1  | 18:59:00.756 [info] Access TeslaMateWeb.Endpoint at http://teslamate.root.dxxx.com
teslamate_1  | 18:59:00.758 [warn] Using fallback vehicles:
I can access Grafana.  However, when I try and access https://teslamate.root.dxxx.com I get prompted for my tesla login/pass.  I enter the proper credentials, but it keeps prompting.
I've tried resetting my Tesla password, but same issue.

I then decided to run the suggested run CURL to update the token into the server directly to bypass the login/pass prompt.

This however did not work for me either, as I'm still being prompted on the Teslamate screen.

I believe the relevant log details are as follows :
proxy_1      | time="2020-05-01T19:28:14Z" level=error msg="unable to find the IP address for the container "/teslamate_teslamate_1": the server is ignored" providerName=docker container=teslamate-teslamate-bd76a85552c6753a9c2e2ad88b13d536cd649dd4f474e94b26103a924aac9a60
database_1   | 2020-05-01 19:28:15.692 UTC [150] LOG:  incomplete startup packet
teslamate_teslamate_1 exited with code 1
teslamate_1  | 19:26:33.770 [info] Already up
teslamate_1  | 19:26:39.906 [info] Version: 1.19.2
teslamate_1  | 19:26:39.927 [info] Application teslamate exited: TeslaMate.Application.start(:normal, []) returned an error: shutdown: failed to start child: TeslaMate.Api
teslamate_1  |     ** (EXIT) an exception was raised:
teslamate_1  |         ** (CaseClauseError) no case clause matching: [%TeslaMate.Auth.Tokens{meta: #Ecto.Schema.Metadata<:loaded, "tokens">, access: "old_token", id: 1, inserted_at: ~N[2019-08-15 09:30:58], refresh: "old_refresh_token", updated_at: ~N[2020-02-23 05:47:46]}, %TeslaMate.Auth.Tokens{meta: #Ecto.Schema.Metadata<:loaded, "tokens">, access: "new_token", id: 2, inserted_at: ~N[2020-05-01 19:23:29], refresh: "new_refresh_token", updated_at: ~N[2020-05-01 19:23:29]}]
teslamate_1  |             (teslamate 1.19.2) lib/teslamate/auth.ex:22: TeslaMate.Auth.get_tokens/0
teslamate_1  |             (teslamate 1.19.2) lib/teslamate/api.ex:85: TeslaMate.Api.init/1
teslamate_1  |             (stdlib 3.12.1) gen_server.erl:374: :gen_server.init_it/2
teslamate_1  |             (stdlib 3.12.1) gen_server.erl:342: :gen_server.init_it/6
teslamate_1  |             (stdlib 3.12.1) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
teslamate_1  | {"Kernel pid terminated",application_controller,"{application_start_failure,teslamate,{{shutdown,{failed_to_start_child,'Elixir.TeslaMate.Api',{{case_clause,[#{'meta' => #{'struct' => 'Elixir.Ecto.Schema.Metadata',context => nil,prefix => nil,schema => 'Elixir.TeslaMate.Auth.Tokens',source => <<"tokens">>,state => loaded},'struct' => 'Elixir.TeslaMate.Auth.Tokens',access => <<"old_token">>,id => 1,inserted_at => #{'struct' => 'Elixir.NaiveDateTime',calendar => 'Elixir.Calendar.ISO',day => 15,hour => 9,microsecond => {0,0},minute => 30,month => 8,second => 58,year => 2019},refresh => <<"old_refresh_token">>,updated_at => #{'struct' => 'Elixir.NaiveDateTime',calendar => 'Elixir.Calendar.ISO',day => 23,hour => 5,microsecond => {0,0},minute => 47,month => 2,second => 46,year => 2020}},#{'meta' => #{'struct' => 'Elixir.Ecto.Schema.Metadata',context => nil,prefix => nil,schema => 'Elixir.TeslaMate.Auth.Tokens',source => <<"tokens">>,state => loaded},'struct' => 'Elixir.TeslaMate.Auth.Tokens',access => <<"new_token">>,id => 2,inserted_at => #{'struct' => 'Elixir.NaiveDateTime',calendar => 'Elixir.Calendar.ISO',day => 1,hour => 19,microsecond => {0,0},minute => 23,month => 5,second => 29,year => 2020},refresh => <<"new_refresh_token">>,updated_at => #{'struct' => 'Elixir.NaiveDateTime',calendar => 'Elixir.Calendar.ISO',day => 1,hour => 19,microsecond => {0,0},minute => 23,month => 5,second => 29,year => 2020}}]},[{'Elixir.TeslaMate.Auth',get_tokens,0,[{file,"lib/teslamate/auth.ex"},{line,22}]},{'Elixir.TeslaMate.Api',init,1,[{file,"lib/teslamate/api.ex"},{line,85}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,374}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,342}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,249}]}]}}},{'Elixir.TeslaMate.Application',start,[normal,[]]}}}"}
teslamate_1  | Kernel pid terminated (application_controller) ({application_start_failure,teslamate,{{shutdown,{failed_to_start_child,'Elixir.TeslaMate.Api',{{case_clause,[#{'meta' => #{'struct' => 'Elixir.E
teslamate_1  |
teslamate_1  | Crash dump is being written to: erl_crash.dump...done
teslamate_1  | 19:26:45.288 [info] Already up
teslamate_1  | 19:26:51.311 [info] Version: 1.19.2

With regards to logging in at the Teslamate screen ... I must have forgotten my login/pass.  I ended up just replacing the .htpasswd file with new info populated from htpasswd generator using Mode : Apache specific salted MD5.


decrease db query count

prisma do additional SELECT query on every connect field
but  we already write(in previous code) this value to db and check is useless

Have you tested this out? The reason we had to do connect was that is how you joined tables in Prisma. I originally tried setting the ids directly and it didn't let me. I don't know if that has changed in the latest version.

Have you tested this out? The reason we had to do connect was that is how you joined tables in Prisma. I originally tried setting the ids directly and it didn't let me. I don't know if that has changed in the latest version.

i test it on postgres 12


Release 2<IP_ADDRESS> GA

Release 2<IP_ADDRESS> GA
https://engineering.helium.com/2021/11/21/blockchain-release-snapshot-sync-emergency.html

Closed by #262


Look into e2e testing and how we can improve

Check with dynatrace team if we can have the e2e setup for preprod instead


Gateway testnet

At the moment gateway is only enabled on Base Sepolia, Polygon Amoy and ZetaChain testnet.
Gateway on ZetaChain: 0x6c533f7fe93fae114d0954697069df33c9b74fd7
Gateway on EVM chains: 0x0c487a766110c85d301d96e33579c5b317fa4995
Hello Example
cd examples/hello
yarn
yarn deploy

🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32

🚀 Successfully deployed "Hello" contract on zeta_testnet.
📜 Contract address: 0x496CD66950a1F1c5B02513809A2d37fFB942be1B

🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32

🚀 Successfully deployed "Echo" contract on base_sepolia.
📜 Contract address: 0x775329c70A8d09AEb5e5ca92C369FF3155C5f1Ed

Call from Base to ZetaChain
npx hardhat echo-call \
  --contract 0x775329c70A8d09AEb5e5ca92C369FF3155C5f1Ed \
  --receiver 0x496CD66950a1F1c5B02513809A2d37fFB942be1B \
  --network base_sepolia \
  --tx-options-gas-price 20000 --types '["string"]' alice

https://sepolia.basescan.org/tx/0x133cdf3a06195de0a6bb89dd4761ca98d1301534b3c4987f0ff93c95c3fff78c
✅ https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/crosschain/inboundHashToCctxData/0x133cdf3a06195de0a6bb89dd4761ca98d1301534b3c4987f0ff93c95c3fff78c
Call from ZetaChain to Base
Had to specify gas price — need to update the defaults to match testnet:
npx hardhat hello-call \
  --contract 0x496CD66950a1F1c5B02513809A2d37fFB942be1B \
  --receiver 0x775329c70A8d09AEb5e5ca92C369FF3155C5f1Ed \
  --zrc20 0x236b0DE675cC8F46AE186897fCCeFe3370C9eDeD \
  --function "hello(string)" \
  --network zeta_testnet \
  --tx-options-gas-price 200000 --types '["string"]' alice

https://zetachain-testnet.blockscout.com/tx/0x19d476fa2c3d29ba41467ae7f2742541fd11e0b67d6548fe7655a3d40274323e
✅ https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/crosschain/inboundHashToCctxData/0x19d476fa2c3d29ba41467ae7f2742541fd11e0b67d6548fe7655a3d40274323e
Withdraw And Call from ZetaChain to Base
npx hardhat hello-withdraw-and-call \
  --contract 0x496CD66950a1F1c5B02513809A2d37fFB942be1B \
  --receiver 0x775329c70A8d09AEb5e5ca92C369FF3155C5f1Ed \
  --zrc20 0x236b0DE675cC8F46AE186897fCCeFe3370C9eDeD \
  --function "hello(string)" \
  --amount 0.005 \
  --network zeta_testnet \
  --types '["string"]' hello

https://zetachain-testnet.blockscout.com/tx/0x67099389ab6cb44ee03602d164320c615720b57762c5ddab042d65bdbe30c7a2
✅ https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/crosschain/inboundHashToCctxData/0x67099389ab6cb44ee03602d164320c615720b57762c5ddab042d65bdbe30c7a2
Transfers
Deposit from Base to ZetaChain
Not related to examples.
npx hardhat evm-deposit --amount 0.05 --gateway-evm 0x0c487a766110c85d301d96e33579c5b317fa4995 --receiver 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 --network base_sepolia --gas-price 200000

Transaction hash: 0xbb864575f2c4340e868946649c7a25f954b1d3804aed4f5b11bef09cb3d75ca4

https://sepolia.basescan.org/tx/0xbb864575f2c4340e868946649c7a25f954b1d3804aed4f5b11bef09cb3d75ca4
✅ https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/crosschain/inboundHashToCctxData/0xbb864575f2c4340e868946649c7a25f954b1d3804aed4f5b11bef09cb3d75ca4
Swap
yarn deploy

🔑 Using account: 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32

🚀 Successfully deployed contract on zeta_testnet.
📜 Contract address: 0x162CefCe314726698ac1Ee5895a6c392ba8e20d3

Deposit and Call from Base to ZetaChain to Amoy
npx hardhat evm-deposit-and-call --receiver 0x162CefCe314726698ac1Ee5895a6c392ba8e20d3 --amount 0.001 --types '["address", "bytes"]' 0x777915D031d1e8144c90D025C594b3b8Bf07a08d 0x4955a3F38ff86ae92A914445099caa8eA2B9bA32 --network base_sepolia --gas-price 20000 --gateway-evm 0x0c487a766110c85d301d96e33579c5b317fa4995

https://sepolia.basescan.org/tx/0xc81cc6d1383fb55bb99d0c672af1ab1db2dce003f3dc00a32e316e469733530c
https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/crosschain/inboundHashToCctxData/0xc81cc6d1383fb55bb99d0c672af1ab1db2dce003f3dc00a32e316e469733530c
Added NFT example from https://github.com/zeta-chain/example-contracts/pull/206
Depends on https://github.com/zeta-chain/example-contracts/pull/207

Summary by CodeRabbit
Release Notes

New Features

Introduced new NFT and swap contracts with enhanced cross-chain capabilities.
Added tasks for deploying, minting, transferring NFTs, and setting counterparty addresses.
Enhanced deployment scripts for local networks.

Bug Fixes

Updated function signatures for improved context handling in cross-chain operations.

Documentation

Added new sections in README files to clarify compatibility and usage.
Introduced new configuration files for TypeScript and ESLint to improve development experience.

Chores

Updated dependency versions for improved stability and functionality across the project.

I'm having issues with verification, so contracts are not yet verified.

@andresaiello please, review.


CI: Couldn't determine a download url for 11-GPL on linux-x64

Describe the bug
When using openjdk11, ~/bin/install-jdk.sh fails to install.
Example failed build: https://travis-ci.org/OpenRefine/OpenRefine/jobs/521872334#L416
To Reproduce
Steps to reproduce the behavior:

Go to https://travis-ci.org/OpenRefine/OpenRefine/jobs/521872334#L416
See error

Current Results
$ export JAVA_HOME=~/openjdk11
$ export PATH="$JAVA_HOME/bin:$PATH"
$ ~/bin/install-jdk.sh --target "/home/travis/openjdk11" --workspace "/home/travis/.cache/install-jdk" --feature "11" --license "GPL" --cacerts
install-jdk.sh 2019-04-17
Couldn't determine a download url for 11-GPL on linux-x64
The command "~/bin/install-jdk.sh --target "/home/travis/openjdk11" --workspace "/home/travis/.cache/install-jdk" --feature "11" --license "GPL" --cacerts" failed and exited with 1 during .
Your build has been stopped.

Expected behavior
I expect it to install a JDK.
OpenRefine (please complete the following information):

Version, current master

Further development notes:

You can open a new PR re-enabling openjdk11, to debug this issue

In the meantime I have downgraded it back to openjdk9, so that we can assess other PRs in peace.

Perhaps this is a way forward:
https://github.com/sormuras/bach/commit/fe56033959d684f85ba966b0f0760a23c34c9eba

Yeah hopefully Travis will pick that up! I don't think we should/could do that on our side.


Adding collection crowdsec/apache2 fails

Hello all,
Just tried installing the collection crowdsec/apache2 but it seems to fail on crowdsecurity/base-http-scenarios as seen below.
Running "cscli hub update" and "cscli hub upgrade, followed by "cscli collections install crowdsecurity/base-http-scenarios" it doesn't seem to help, as we are still getting the hash fail.
# cscli collections install crowdsecurity/base-http-scenarios
ERRO[03-03-2022 04:43:21 PM] Downloaded version doesn't match index, please 'hub update'
FATA[03-03-2022 04:43:21 PM] error while downloading crowdsecurity/base-http-scenarios : while downloading crowdsecurity/http-logs: invalid download hash for crowdsecurity/http-logs

Anybody know what's going on?
Thanks in advance for any help!

@sorin-srbu : Hello sorry it was a CloudFront hiccup ! The issue should have been resolved by now :)

@sorin-srbu : Hello sorry it was a CloudFront hiccup ! The issue should have been resolved by now :)

Seems to be.
Thanks for the quick fix!


Close/cancel dialog by clicking in background overlay

It would be a nice addition to the dialog API to allow clicks or taps on the gray overlay that's displayed behind a dialog to be interpreted as cancel or close. Basically what the drawer does.

+1

New CloseOnClickAway property added.


60 second timeout while debugging with xdebug

(I'm using PhpStorm, Safari (& Chrome), CentOS 7, Apache 2.4.6, PHP 5.6.26, xdebug 2.4)
When I am actively debugging (execution is paused in PhpStorm) I receive a 503 Service Unavailable error in the browser after 60 seconds. Does anyone know where the setting lives for this 1-minute timeout?
Thanks,
Jay

@jayusa123 - It's likely php_max_execution_time: "60" (that's the default, you can override it though in config.yml).

Hmm, no. That doesn't seem to be it. I tried changing the max execution time to 120 but the page still times out after 60 seconds.

@jayusa123 - Did you do a vagrant --provision afterwards? That's necessary to get the change to apply. And if it's still timing out after 60s after that, there must be some other timeout happening in the chain...

Yes, I re-provisioned the box. I had originally tried just modifying the value in php.ini and reloading php-fpm, but the change didn't make any difference. So, I tried setting php_max_execution_time in config.yml and re-provisioning. The config change appears in phpinfo(), but the page load still times out after 60 seconds of waiting for the paused debugger.

As a shot in the dark, I also tried changing php_max_input_time to 120, but received the same results.

Could we reopen this issue. Perhaps someone else has come across a solution to this issue...

Sure thing!

I have a similar problem but it's not on a vm.  I'm running drupal on an ubuntu server with PHPStorm on a Macbook.  I lose my debug connection after 60 sec.  Can't debug long-running tasks because of this, what a pain.  Using the following params in php.ini to remotely debug.  Would love insight as to the fix.
;XDEBUG
; zend_extension tells the Zend PHP interpreter that we're using Xdebug instead of Zend's own debugger
zend_extension="/usr/local/lib/php/extensions/no-debug-zts-20131226/xdebug.so"
; Xdebug configuration options:
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
;remote_host is where PHPStorm is running, so replace xx.xx.xxx.xxx with IP address of your Windows client
xdebug.remote_host=<IP_ADDRESS>
;remote_port is where Windows client is listening for calls from XDebug
xdebug.remote_port=9999
;remote_connect_back overrides remote_host, telling Xdebug to connect to whichever IP address initiated the http request to the target server
xdebug.remote_connect_back=1
;remote_autostart allows us to start debugging even if the required cookie is missing (workaround ...)
xdebug.remote_autostart=1
;idekey is the value of the XDEBUG_SESSION cookie sent in the windows client's http request and expected by the XDebug engine
xdebug.idekey=PHPSTORM

Found this and thought it might be worth a shot: https://bugzilla.mozilla.org/show_bug.cgi?id=979268
Could you try with firefox and changing the network.http.response.timeout value as described in the last comment.

Thanks for the suggestion, @oxyc. I just tried this; unfortunately, it did make any difference. The page load still timed out 60 seconds after the debugger paused the execution.

Another issue that sounds like it could be related http://stackoverflow.com/a/4613189/319855

This sounds like some sort of upstream issue/configuration value, and I'm not sure if I can be much help here—I'd suggest asking on Drupal Answers, Stack Overflow, etc. and see if you can get a better response.
If someone can find any evidence there's a setting in Drupal VM that could be causing the 60 second timeout (we've already looked at the general PHP settings), then we can reopen the issue and go from there (maybe try testing on MAMP or a local LAMP stack too?).

We had a similar issue. The server returned a 503 after 5 minutes of inactivity during an xdebug session.
In our case we were able to fix it by modifying the Timeout apache setting in the vhost. By default it was set to 300.

Thought the thread is quite old, but may be it could be of use of someone else.
Try this:
sudo vi /etc/haproxy/haproxy.cfg
Search for variable "timeout server"
increase its value from 30s to your desired value.
save the file
restart haproxy service
sudo service haproxy restart

You should try:
/etc/php/7.0/fpm/php-fpm.conf
request_terminate_timeout = 120s (desired value)
sudo service php-fpm restart

I've had a similar problem: 500 Internal Server Error after 64 seconds.
Eugene of JetBrains support pointed me here for additional ideas and this thread came up pretty quickly in further searches, too, so I'll add my solution here.  :-)
The culprit was the

FcgidIOTimeout 64

setting in MAMP PRO's Apache httpd.conf file!

On my local centos7 vm, I found that these steps were needed to fix this problem of the xdebug 60 second timeout.
(1) Add timeout=300 to ProxyPassMatch in /etc/httpd/conf.d/vhosts.conf
cat /etc/httpd/conf.d/vhosts.conf | grep ProxyPassMatch
  ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://<IP_ADDRESS>:9000/var/www/dkrweb.local/docroot" timeout=300

(2)
https://stackoverflow.com/questions/4139794/why-does-my-netbeans-xdebug-session-timeout-after-period-of-inactivity/4613189#4613189
vi /etc/php.d/xdebug.ini

xdebug.remote_cookie_expire_time = 3600

You should try:
/etc/php/7.0/fpm/php-fpm.conf
request_terminate_timeout = 120s (desired value)
sudo /etc/init.d/php7.0-fpm restart

This works for me. Thanks.


DOC: fix superscript in forecast.rst

change $W/m**2$ to $W/m^2$ so 2 is superscripted
also change legend location to "best"
n.b.: this image doesn't appear to be using seaborn, and it also appears to be different than the previous build, not sure why?

@mikofski thanks for the quick fix and sorry for overlooking this until now.
Regarding the difference, it looks to me like you built the docs in an environment with matplotlib 2. RTD built the docs using 1.5 until recently (#446).


HTML syntax file: Complete HTML 5.1 attribute and element support

Add all specific HTML 5.1 attributes.
Add missing HTML 5.1 data and keygen elements. (Sorry, I forgot to add them in https://github.com/vim/vim/pull/1263)

With that, if I haven't made any mistake, we will have support for every current HTML attribute and element until late 2017, according to the HTML 5.2 working draft:

The Web Platform Working Group expects to produce an HTML 5.2 Recommendation in late 2017.

I'll include it, thanks


[Youtube] _UnsafeExtensionError when downloading --sub-langs de subtitles for json3, srv1, srv2, srv3

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and I'm willing to share it if required

Region
No response
Provide a description that is worded well enough to be understood
Reproduce with this command:
yt-dlp -vU --skip-download --write-subs --sub-langs de --sub-format json3 https://www.youtube.com/watch?v=b047YVrWOlg

Unable to download subtitles due to _UnsafeExtensionError.
The output is for --sub-format json3, but there is a similar error for other types of extensions as well. All of the following give the same error:
--sub-format json3
--sub-format srv1
--sub-format srv2
--sub-format srv3
--sub-format ttml

Currenlty (master@2<IP_ADDRESS>542), the only subtitle download that works for --sub-langs de is --sub-format vtt
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', '--skip-download', '--write-subs', '--sub-langs', 'de', '--sub-format', 'json3', 'https://www.youtube.com/watch?v=b047YVrWOlg']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-master-builds [6075a029d] (zip)
[debug] Python 3.11.2 (CPython x86_64 64bit) - Linux-6.1.0-18-cloud-amd64-x86_64-with-glibc2.36 (OpenSSL 3.0.13 30 Jan 2024, glibc 2.36)
[debug] exe versions: none
[debug] Optional libraries: certifi-2022.09.24, requests-2.28.1, sqlite3-3.40.1, urllib3-1.26.12
[debug] Proxy map: {}
[debug] Request Handlers: urllib
[debug] Loaded 1831 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp-master-builds/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp-master-builds
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp-master-builds)
[youtube] Extracting URL: https://www.youtube.com/watch?v=b047YVrWOlg
[youtube] b047YVrWOlg: Downloading webpage
[youtube] b047YVrWOlg: Downloading ios player API JSON
[youtube] b047YVrWOlg: Downloading player 5352eb4f
[debug] Saving youtube-nsig.5352eb4f to cache
[debug] [youtube] Decrypted nsig wQYLiJBv3JOuC-EERaz => n93HflL2Jf7h1w
[youtube] b047YVrWOlg: Downloading m3u8 information
[info] b047YVrWOlg: Downloading subtitles: de
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, vcodec:vp9.2, channels, acodec, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), channels, acodec, lang, proto, size, br, asr, vext, aext, hasaud, id
WARNING: ffmpeg not found. The downloaded format may not be the best available. Installing ffmpeg is strongly recommended: https://github.com/yt-dlp/yt-dlp#dependencies
[debug] Default format spec: best/bestvideo+bestaudio
[info] b047YVrWOlg: Downloading 1 format(s): 18
ERROR: The extracted extension ('de.json3') is unusual and will be skipped for safety reasons. If you believe this is an error, please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Traceback (most recent call last):
  File "/home/admin/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 179, in wrapper
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/admin/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3267, in process_info
    sub_files = self._write_subtitles(info_dict, temp_filename)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/admin/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 4324, in _write_subtitles
    sub_filename = subtitles_filename(filename, sub_lang, sub_format, info_dict.get('ext'))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/admin/bin/yt-dlp/yt_dlp/utils/_utils.py", line 1262, in subtitles_filename
  File "/home/admin/bin/yt-dlp/yt_dlp/utils/_utils.py", line 2097, in _change_extension
  File "/home/admin/bin/yt-dlp/yt_dlp/utils/_utils.py", line 5134, in sanitize_extension
yt_dlp.utils._UnsafeExtensionError: unsafe file extension: 'de.json3'

Regression in 5ce582448ececb8d9c30c8c31f58330090ced03a
ttml is not impacted. Only json3, srv1, srv2, srv3

update to latest master: yt-dlp --update-to master@latest

Thanks a lot! Working now.


Add Adventist Education

Institution/School Name
Educação Adventista
Instiution/School Website
https://www.educacaoadventista.org.br/
Email Users
Please place an x between the square brackets if yes

[X] Students
[X] Academic/Teaching Staff
[ ] Other/Support Staff
[ ] Alumni

Education Levels
Please place an x between the square brackets if yes

[X] Post-graduate research
[X] Graduate School
[X] College (University) or Undergraduate School or equivalent
[X] Community College or equivalent
[X] High School or equivalent
[X] Elementary School or equivalent

@enryson Please provide us with:

the school official website URL
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

@enryson I am sorry, this request remains unanswered for a while. I have to close it without merging. Please reopen and comment if you have an update regarding the aforementioned issue. Thank you for the understanding!


Update Launch-system.rst

added comments to the code.
I think the it is better if we tell beginner what's changed, especially the addition of
import os
from glob import glob

Otherwise, a beginner might not notice this and will take some time to figure out what's not working (happened to me).
Other part of documentation followed this. For example:  https://docs.ros.org/en/humble/Tutorials/Intermediate/Tf2/Writing-A-Tf2-Broadcaster-Py.html#update-setup-py

it looks fine now

@Mergifyio backport rolling iron


[RFC/WIP] docs: Move snippets to include files

Signed-off-by: Ryan Northey<EMAIL_ADDRESS>Commit Message: docs: Move snippets to include files
Additional Description:
this moves any (lintable) snippets currently embedded in docs rst files into include files.
this will:

make linting config and/or code snippets much easier in CI/locally
make it easier to use code editors etc when editing the snippets
make it easier to edit the copy and structure of rst files

Risk Level: low
Testing: potentially
Docs Changes: yep
Release Notes:
[Optional Runtime guard:]
[Optional Fixes #Issue] touch #8837
[Optional Deprecated:]

@mattklein123 as this means moving quite a bit of config - i just did the first one i found for testing - if you are happy with this general direction - ill move the rest/more

Yeah this is totally fine with me. Whatever you think is best to getting to a path where everything is validated and won't bit rot. (See also the inline validation code that already exists that I mentioned elsewhere.)
Let me know when this is ready to review.
/wait

@mattklein123 i have updated the scope (see description) and deWIPped this