AssertionError -> RuntimeError

Currently getting a macOS failure within a larger software stack, and do not see the message printed to stdout.
Replace a traceback with "AssertionError: 1" with the meaningful message, since this is not useful:
Traceback (most recent call last):
...
  File "/Users/xxx/miniconda3/lib/python3.7/site-packages/networkx/drawing/nx_pydot.py", line 257, in graphviz_layout
    return pydot_layout(G=G, prog=prog, root=root)
  File "/Users/xxx/miniconda3/lib/python3.7/site-packages/networkx/drawing/nx_pydot.py", line 306, in pydot_layout
    D_bytes = P.create_dot(prog=prog)
  File "/Users/xxx/miniconda3/lib/python3.7/site-packages/pydot.py", line 1723, in new_method
    format=f, prog=prog, encoding=encoding)
  File "/Users/xx/miniconda3/lib/python3.7/site-packages/pydot.py", line 1945, in create
    assert process.returncode == 0, process.returncode
AssertionError: 1

With the change I get a useful exception message:
RuntimeError: "fdp" with args ['-Tdot', '/var/folders/xq/zhs3hy7x5cv50svc4s7q2_9h0000gn/T/tmp0y9mct4x'] returned code: 1

Reproducible outside of pydot,
$ fdp -Tdot /var/folders/xq/zhs3hy7x5cv50svc4s7q2_9h0000gn/T/tmp0y9mct4x
Warning: Could not load "/Users/xxx/miniconda3/lib/graphviz/libgvplugin_pango.6.dylib" - It was found, so perhaps one of its dependents was not.  Try ldd.
Warning: Could not load "/Users/xxx/miniconda3/lib/graphviz/libgvplugin_neato_layout.6.dylib" - It was found, so perhaps one of its dependents was not.  Try ldd.
There is no layout engine support for "fdp"
Use one of: circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi

This looks like a condaforge packaging issue.

Hi @peterjc, thank you for your PR. The limited value of the AssertionError message after Graphviz errors was earlier discussed in pydot/pydot#203 and pydot/pydot#171. I provided some instructions on how to investigate it in https://github.com/pydot/pydot/issues/203#issuecomment-533164709 and I am preparing a better solution in PR pydot/pydot#218, which will involve logging the error details (more details than are currently printed even) and raising an exception with a clearer error message, as was explained to me by @ankostis in pydot/pydot#171.
Why pydot/pydot#218 is currently closed: I closed it last May 2020, because groundwork that it depended on (pydot/pydot#229, pydot/pydot#231) was not getting merged. However, at the end of August 2020, I was finally granted commit rights, so things got moving again, but I need some time now to reopen pydot/pydot#218 again, because I still need to adapt it to the outcomes of the discussion in pydot/pydot#171.
With regard to the time frame: My main focus right now is on getting acquainted with all the open issues and PRs, sorting out which ones are most urgent and can be fixed without the risk of new regressions and then getting a bugfix release 1.4.2 out. After that, I was planning to branch off the 1.4.x series into a separate git branch (the last to support Python 2), and open up the master branch for merging of all kinds of larger changes such as logging and error reporting. This should all happen within the next few weeks, if all goes well. Note, however, that it will take many months for those large changes to become part of an official release (2.0.0 or 1.5.0), because some other large changes, such as improving DOT syntax compliance, API and object model changes for example, will need that more discussion, development and testing time.
The question then becomes if changes to the error reporting should be made in pydot 1.4.2 already. I especially have doubts about changing the exception class, but also about moving the entire message string from printing to the exception message, as you propose. Both seem quite big changes for a mere point release.
Some side notes:

The Graphviz stdout in message may still contain a long DOT string or binary data, even on errors. See the table at the bottom of https://github.com/pydot/pydot/issues/215#issuecomment-536198725.
pydot/pydot#203 showed that in many cases not Graphviz stdout, but the pydot DOT string was needed to find the root cause. In the end, I gave up on my original proposal for pydot/pydot#218 (https://github.com/pydot/pydot/commit/51d5dcdc25c1dc5fdc4aceaa2f5f69099a2c3030) to make the pydot DOT string part of message as well.
In the upcoming new proposal for pydot/pydot#218, for 2.0.0 or 1.5.0, details including the pydot DOT string and Graphviz invocation details, error code, stdout, stderr will get logged at DEBUG level. The exception message will just give a summary (possibly the Graphviz error code and stderr) and point to the log and the (also new) troubleshooting documentation for finding the rest. The exception class will change from AssertionError as well then.

Maybe a more limited change could be in 1.4.2 already, like I did with parsing errors (large change pydot/pydot#219 for 2.0.0/1.5.0 and limited change pydot/pydot#227 for 1.4.2), but I am wondering what that limited change could then be in this case. I would prefer, for 1.4.x, to at least keep the exception class the same (AssertionError), to not introduce logging and to not drop the printing. Maybe we can extend the exception message, but I have doubts about putting all of Graphviz stdout in there. Maybe add only Graphviz stderr? Assuming Graphviz (fdp) printed its missing library errors to stderr, I guess that could have helped in your case. But not in the cases in pydot/pydot#203 that needed the pydot DOT string, or in case of missing executable as in pydot/pydot#222 for example. And in the end, you still found the root cause for your case as well, so is it worth all the trouble? I will think about it some more, but maybe you can also give your opinion, and/or maybe even change your PR already (you can just force-push over it).
Good to see you already found the underlying cause, btw. Hope it gets solved soon.

I didn't search hard enough - I agree, this PR is a quick and dirty solution, and you are trying to solve a bigger problem.
I think if I restore the print, and shorten the exception to just "{prog}" with args {arguments} returned code: {code}" that would be a good short term change worth considering for a point release.

Yes, in an AssertionError as before, right? No stderr, I see, and indeed it seems better to leave it out, because it can also span many lines, see https://github.com/pydot/pydot/issues/203#issuecomment-533762637 for example.
Thanks!

I think AssertionError is the wrong choice - people do run Python with asserts disabled. But if you prefer, it can stay as that.

Just a quick note, sure assert keyword is wrong for all "production" purposes, but here it is raising explicetely an AssertionError, correct?  Even with disabled assertions, it would still work.
Anyhow, this exception class should change, it was ill-conceived in the first place,
but since that would constitute a bw-incompatible change, better wait for a major version bump.

First of all, I think we all agree that AssertionError and the whole assert were wrong to begin with. This started with commits 9b3c1a1 and bc639e7 of 2016 (v1.2.0). My plan is to replace it in pydot 2.0.0/1.5.0 with raising a custom exception, as discussed in pydot/pydot#218 and pydot/pydot#171. We still need to see what the exception hierarchy will look like exactly, though. That touches on the issue of the relationship between pydot.py and dot_parser.py (pydot/pydot#230), so may take some time to refine. Also I was hoping to do some PY2 code clean up, coding style corrections, etc., all while trying to adopt the best practices of forks like pydot-ng, pydotplus and pydot's dev branch. I was planning to work out the details of all that after the release of 1.4.2, probably by posting PRs for discussion in weeks/months thereafter. I intend to keep using PRs (not push to master directly) for these kinds of major changes and wait at least one week to see if they lead to any discussion before merging them. I do not think I will keep mentioning people when I submit my PRs, because these mentions often go unanswered, so I am not sure if that is appreciated. But if you 'watch' the Github.com repository, you should get notified automatically. Of course, feel free to make proposals and kick off the discussion earlier, but I am not sure how much I can participate.
Then, about changing the error reporting for the upcoming point release 1.4.2, I would just like to keep the change as minimal as possible. Even changing from assert to raise AssertionError will change the behavior for users who normally run with assertions disabled (e.g. those running with optimization), as you both noted. They will start getting errors whereas before they may still have received output from Graphviz (see example 3 in https://github.com/pydot/pydot/issues/215#issue-499470442). The workflow of such users would break because of this change, so I have doubts about doing that in a point release. Of course, every change break someone's workflow, so we have to make that choice sometimes, but it is just difficult since we have limited knowledge of how others use pydot. Opinions (or further reduction of this PR) welcome.

That makes sense to me. Even smaller change coming up - just replacing the assert message.

Ok, thanks for understanding. Code looks good to me now, though now the thing is I prefer to have the 3 commits squashed into one and improve the commit message a bit. This is the first project I maintain, so I do not have much experience with doing that on Github yet.
Github shows me a nice "Squash and merge" button, but there are reports that it is unreliable when it comes to the authorship fields Author and Commit. Though it is common practice that the Commit-field changes to person making the commit, the "Squash and merge" button is said to sometimes even touch the Author-field, which is of course not my intention.
Alternatively, I can squash and commit locally and then push to Github, but then I think this PR will not be considered 'Merged' and need to be 'Closed', all in Github terms. See https://github.com/pydot/pydot/pull/209#issuecomment-682214089 for how that bit me the first time I first locally merged (rebased in that case, actually) someone else's PR.

If I would do it, I would make it something like this:
Improve traceback error message on Graphviz errors

For reporting Graphviz errors, improve the "AssertionError" message
in the traceback by including program name and arguments. This is the
same as the first line of the error message that is printed to stdout,
but not followed by the (potentially long) Graphviz stdout and stderr
output.

Related issue: https://github.com/pydot/pydot/issues/203
PR: https://github.com/pydot/pydot/pull/239

You seem to have a lot more experience on with this, so hope you give me some advice and let me know what you prefer.

I am aware of complications when the author has deliberately used another email address in the git commits - rare but very frustrating when it happens. GitHub's squash-and-merge should be safe here (I use it frequently), especially as I've used the same details as my GitHub account. When the admin does a squash-and-merge, they get to (re)write the commit message within GitHub - and your wording sounds great.

Oh, and I've found only fast forward local merges work nicely with GitHub spotting and marking the associated PR as merged.

Yes, finally. Thanks a lot for your patience and help! And for the fix, of course, hope it will help people in troubleshooting!

No problem - I've used pydot on and off for years, happy to see it being actively maintained again. Thank you!


Deprecated Resource

I get the following warning (Terraform 1.2.8 / AzureRM 3.21.0):
Warning: Deprecated Resource
│
│   with module.keyvault_acmebot.azurerm_app_service_plan.serverfarm,
│   on .terraform\modules\keyvault_acmebot\main.tf line 13, in resource "azurerm_app_service_plan" "serverfarm":
│   13: resource "azurerm_app_service_plan" "serverfarm" {
│
│ The azurerm_app_service_plan resource has been superseded by the azurerm_service_plan resource. Whilst this resource will continue to be available in the 2.x and 3.x
│ releases it is feature-frozen for compatibility purposes, will no longer receive any updates and will be removed in a future major release of the Azure Provider.
(and 2 more similar warnings elsewhere)

You will need to update to the v2 module.
https://github.com/shibayan/terraform-azurerm-keyvault-acmebot/releases/tag/v2.0.0


Use underscores in file names

Directories are kebab-case; files are snake_case

Root dir done

/spec done

closed by 4465db4


Contract breaking impl From for Range

A while back I added the implementation:

/// Given a size range `[low, high]`, then a range`low..(high + 1)` is returned.
/// This will panic if `high == usize::MAX`.
impl From<SizeRange> for Range<usize> {
    fn from(sr: SizeRange) -> Self {
        let (start, end) = sr.extract();
        start..end + 1
    }
}

however, the trait From states that:

Note: this trait must not fail.

Therefore, the implementation above is contract breaking since it may panic in fringe circumstances.
As such, the implementation should be removed. This amounts to a breaking change (so we should probably label the issue as such...)

I doubt anyone is actually using this or will do so in the near future since proptest doesn't ever return this type on its own, so it would require someone else to decide to use SizeRange themselves and then go back into a range. I agree it should be removed eventually, but I'm inclined to wait for the next breaking changes train.

I agree it should be removed eventually, but I'm inclined to wait for the next breaking changes train.

Yeah; I agree with everything you said and this :)
I would suggest that we start with a more elaborate labeling system in this repo with milestones and more labels, which will be more important as proptest grows in importance in the ecosystem (which I'm hoping it will, because I think it is the state of the art wrt. Rust and testing). Something like:

E-easy
E-medium
E-hard
E-help-wanted
P-high
P-low
breaking-change

and so on...
Here's some inspiration:

https://github.com/dtolnay/syn/labels
https://github.com/rust-random/rand/labels
https://github.com/SergioBenitez/Rocket/labels

Seems I implemented that incorrectly; should be:
/// Given `low .. high`, then a size range `[low, high)` is the result.
impl From<Range<usize>> for SizeRange {
    fn from(r: Range<usize>) -> Self {
        let end = if r.end == 0 { 0 } else { r.end - 1 };
        size_range(r.start..=end)
    }
}

This can only occur if you provide forall x: usize. (x..0).

Or you can use saturating_sub, in fact that could be a good mitigation or this entire thing.

@Eh2406 if you do r.start..=r.end.saturating_sub(1) then you may still reach cases like 0..0 becoming 0..=0 which is now 1 element more.

I just hit a related case

Fixed in 0.8.6, along with some other issues with subsequence.
The original issue this report is about no longer happens as of 0.8.6 since Range is now used as the internal representation (in exchange for simply not allowing usize::MAX to be an included value at all).

(I'm going to keep this open for the moment since there are some other unaddressed talking points still.)

Removed the impls in question in 0.9.0.


Supervised training

I wonder if it is enough to specify "supervised=True" of feeds method for supervised learning?
I set supervised parameter to true for cifar but I am getting an error. (I also tried lfw and getting the same error)
Example for cifar:
    train_feed, test_feed, _ = dataset.cifar.feeds(
        split='test', batch_size=batch_size, epoch_size=epoch_size, supervised=True
    )

Here is the error of cifar_aegan:
INFO     Downloading http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz
INFO     Unpacking datasets/cifar10/cifar-10-python.tar.gz
________________________________________________________________________________
[Memory] Calling dataset.cifar.arrays-alias...
arrays-alias('test')
__________________________________________________arrays-alias - 646.6s, 10.8min
Reconstruction error at layer #6: Convolution
experiment_name: cifar_nhidden256_reconganweight1.0e-05_recondepth6_nodisaerecon
Traceback (most recent call last):
  File "cifar_aegan.py", line 39, in <module>
    run()
  File "cifar_aegan.py", line 29, in run
    model, output_dir, train_feed, test_feed, n_epochs=200, lr_start=0.025
  File "/autoencoding_beyond_pixels/aegan.py", line 80, in train
    margin=gan_margin)
  File "/autoencoding_beyond_pixels/model/aegan.py", line 165, in __init__
    super(GradientDescent, self).__init__(model, feed, learn_rule)
  File "build/bdist.linux-x86_64/egg/deeppy/train/gradient_descent.py", line 18, in __init__
  File "/autoencoding_beyond_pixels/model/aegan.py", line 171, in reset
    self.model.setup(*self.feed.shapes)
TypeError: setup() takes exactly 2 arguments (3 given)

Is it a bug or am I missing something for supervised learning?

Yes, you are missing something. I haven't included the code for the conditional model. I have now made an implementation available. I hope this is helpful. :)

It seems this implementation link is not available now.
Would you please give an available one?


#11221: Create and upload a blob in the send step and support downloading it

This PR starts uploading reports as part of the send step as well as updating the fetch report function to download the report from either send step or the batch step
Test Steps:
Before going through this login into the okta staging and copy your token out

Send a report through the legacy pipeline (or run the smoketests on master)
Find the id of a report from the send step (it will have the transport result column set)
Run

curl --location 'http://localhost:7071/api/history/report/{{id}} \
--header 'organization: development' \
--header 'Authorization: Bearer {token}'

and verify that it does not download.
4. Switch to this branch
5. Run
curl --location 'http://localhost:7071/api/history/report/{{id}} \
--header 'organization: development' \
--header 'Authorization: Bearer {token}'

and make sure it downloads again
6. Find the parent batch report and run
curl --location 'http://localhost:7071/api/history/report/{{id}} \
--header 'organization: development' \
--header 'Authorization: Bearer {token}'

and verify it downloads.
7. Run the smoketest and find the ReportFile for a sent report.  Verify the bodyUrl field is set and it can be downloaded
Changes

Uploads a report to the blob store as part of the send step
Update the getReport function to support downloading a sent or batch report, regardless of whether a file was uploaded during the send step

Checklist
Testing

[x] Tested locally?
[x] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
[ ] (For Changes to /frontend-react/...) Ran npm run lint:write?
[x] Added tests?

Process

[ ] Are there licensing issues with any new dependencies introduced?
[ ] Includes a summary of what a code reviewer should test/verify?
[ ] Updated the release notes?
[ ] Database changes are submitted as a separate PR?
[ ] DevOps team has been notified if PR requires ops support?

Linked Issues

#11221

To Be Done
Specific Security-related subjects a reviewer should pay specific attention to

played with a report send HL7 Full ELR, and observed that a blob folder 'none' created in addition to 'batch', 'route', 'ready', 'receive', 'translate', see screen shots:
Note: getReportById not call yet.

none->send-> fhir and hl7 files seen:

is that intended? if yes, what's the purpose...

Read the Title again, it seems by design...

Observation:
Per test steps - step 2:

.......
Find the id of a report from the send step (it will have the transport result column set)
Run
curl --location 'http://localhost:7071/api/history/report/{{id}}
--header 'organization: development'
--header 'Authorization: Bearer {token}'
and verify that it does not download.
==========

On master, when call history with a report ID whose "transport result" column is set with value:
http://localhost:7071/api/history/report/709ed3a1-6303-49e1-8082-5ed43e0c0ff2
Got 404 not found response,
Debugging showed that
WorkflowEngine.kt:
fun fetchHeader(
    reportId: ReportId,
    organization: Organization,
    fetchBlobBody: Boolean = true
): Header {
    val reportFile = db.fetchReportFile(reportId, organization)
    val task = db.fetchTask(reportId) <========== look up task with report ID throw

java.lang.IllegalStateException: Could not find 709ed3a1-6303-49e1-8082-5ed43e0c0ff2 that matches a task

Thinking about use cases for this API:
http://localhost:7071/api/history/report/{{ report-id }}
Possible use cases:

client call this API to download (get report content as part of response payload)
client call this API to just exam the envelop info of the report - no report content needed

Wondering the content download addition will make the 2nd use case expensive.

@JFU-NAVA-PBC Yes none is intended as the folders line up with what will be processing the file next.  In this case, there is no additional processing so it goes into none

@JFU-NAVA-PBC Anything else needed here?  I see you commented, but didn't leave an approval.


AWS SOAR submitted for signatures (Business Owner (DPD), CITZ MISO and CITZ MCIO)

Describe the issue
A clear and concise description of what you want to happen.
Which Sprint Priority is this issue related to?
The 'Milestone' should clearly list Sprint Priorities - which one is this issue related to?
Additional context
Add any other context, attachments or screenshots
Definition of done
Identify what will need to happen/be delivered for this to be completely done

SOAR in sign off process

miso signed off 11/17


Create APP to utilize APIs

Svelte + TypeScript + Tailwind

Models:

Interfaces: IDeploymentDetails, IDeserializable, IExplicitExclusion, IExplicitInclusion, IReleaseDetails, IRunConfigurations, IToSnakeCase

Classes:

RunConfigurations implements IDeserializable, IToSnakeCase, IRunConfigurations
ReleaseDetails implements IDeserializable, IToSnakeCase, IReleaseDetails
DeploymentDetails implements IDeserializable, IToSnakeCase, IDeploymentDetails

Closing issue as the PR link limit has been reached.
App is now in good shape but needs styling cleanup & run results display to be added.


[FEATURE] Support Integration Suite Capabilities

What area do you want to see improved?
terraform provider
Is your feature request related to a problem? Please describe.
The Terraform Provider in its current state supports the creation of the integration suite per se i.e. the subscription to the application.
It is currently not possible to manage Integration Suite assets like Open Connector Flows via Terraform.
Describe the solution you would like
The management of integration suite assets namely the configuration should also be possible via Terraform. Here some pseudo code how this could look like
resource "btp_subaccount_subscription" "integration-suite" {
  subaccount_id = "you_subscr_id"
  app_name      = "it-cpitrial05-prov"
  plan_name     = "trial"
}

resource "btp_subaccount_integration_suite_open_connector" "s3_connector" {
  subaccount_id = "you_subscr_id"
  connector_tyoe = "s3"
  connector_type_id = "16"
  configuration = {
    access_key_id     = "your_access_key_id"
    secret_access_key = "your_secret_access_key"
    bucket_name       = "your_bucket_name"
    region_endpoint   = "your_region_endpoint"
  }
  name = "s3_connector"
}

Describe alternatives you have considered
Manual configuration but this breaks the automation flow and distributes the management of the resources.
Additional context
To be defined: while the management of capabilities of the Integration Suite should be covered by Terraform, the Deployment of Flows probably makes more sense to keep with the key users and , hence, keep it separated.

Thanks for the feature request. We evaluate it and update the issue accordingly.
Community Note
Voting for Prioritization

Please vote on this issue by adding a 👍 reaction to the original post to help the community and maintainers prioritize this request.
Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.

Volunteering to Work on This Issue

If you are interested in working on this issue, please leave a comment.
If this would be your first contribution, please review the contribution guide.

Ideally the resources cover the individual CPI package and iflow including the adapter deployment:

I believe the iflow will need to be supplied as zip package, since it contains multiple files. An iFlow export would be the ideal kick off point.

Ideally the resources cover the individual CPI package and iflow including the adapter deployment:

I believe the iflow will need to be supplied as zip package, since it contains multiple files. An iFlow export would be the ideal kick off point.

@MartinPankraz  Would you make the iFlow deployment part of the Terraform flow for provisioning the artifacts and configurations or would you split that as a different persona is in charge of the iFlow design?

Remark for maintainer team: Needs to be discussed after GA of Provider as this is a larger story and it needs to be decided how to best approach this (dedicated provider etc.)

Please consider SAP Edge Integration Cell as part of the story.  Terraform would be a nice option to solve.

It would be nice if we can use a data source to get the iFlow package from a tenant and deploy it using an integration_flow resource. Same can be applied for other types of artifacts.

Status Update: This request is currently of lower priority in favor of #749 and #734  which are both currently under development


Add fingerprint for blockpages in MY

In https://github.com/TheTorProject/ooni-explorer/issues/96 @kaerumy pointed out a blockpage for Malaysia: https://explorer.ooni.torproject.org/measurement/20160802T205955Z_AS4788_3omRbM1JA9BYIMF5O5uiKEsdmUqy4kdunnKn7exzBlM2ebboDh?input=http:%2F%2Fwww.sarawakreport.org.
We should be adding a fingerprint for it to the data processing pipeline.

Does a fingerpint need to be added for each verified blocked site? If so should I provide a list known list of Inputs?

@kaerumy only if the blockpages are different, it would be useful though to have a list of the known blocked website if you have that available so I can verify that.

Medium https://explorer.ooni.torproject.org/measurement/20160803T222511Z_AS4788_Pyv6z2tLMnilg00tJmElKqTESkwzoi3U48gdLvm049SpchSek6?input=https:%2F%2Fmedium.com
Asia Sentinel https://explorer.ooni.torproject.org/measurement/20160803T222511Z_AS4788_Pyv6z2tLMnilg00tJmElKqTESkwzoi3U48gdLvm049SpchSek6?input=http:%2F%2Fwww.asiasentinel.com

Will add some more known blocked sites to the test list so they can be picked up by OONI

Porn & Gambling sites: http://sinarproject.org/en/projects/measuring-and-detecting-network-interference/updates/porn-and-online-gambling-sites-blocked-by-mcmc

I'm not sure what what would be an accurate fingerprint for the blockpage, at first I thought about this:
Laman sesawang ini tidak dapat diakses di Malaysia but after a quick search it seems that it triggers a number of false positives.
It seems that the blockpage in AS4788, AS4818 and AS17971 have the following unique fingerprint:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTE0Mzk3ODk1N

This fingerprint will also fail if the test url includes additional page specific url and not just the domain. In this case, you will get a 404 from that server because, the notice server is badly configured. You will also get 404 if they haven't configured the vhost yet on newly added domains.
What is common however so far on 3 ISPs and 4 networks (3rd ISP tests for Malaysia should show in today's reports) is that for this notice server the IP address returned is always: <IP_ADDRESS> regardless of network or ISP DNS server.
The headers for this server serving notices is also consistent, it is always IIS/8.4 and ASP.NET
headers: {Content-Type: text/html, Date: 'Thu, 18 Aug 2016 08:54:06 GMT', Server: Microsoft-IIS/8.5,
      X-Powered-By: ASP.NET, content-encoding: ''}

http://www.sarawakreport.org
https://explorer.ooni.torproject.org/measurement/20160817T222431Z_AS4788_kPemLiRZuzSWmiw8ww2Orj7lpba3Zqm3YNdwLttj9M7pcgEjEq?input=http:%2F%2Fwww.sarawakreport.org
vs
http://www.sarawakreport.org/tag/1mdb
https://explorer.ooni.torproject.org/measurement/20160817T033110Z_AS4788_jk5ghw4QwieT2JOFiIqto9Z2LzCFhP05v3U0sCcaetBr50NxuU?input=http:%2F%2Fwww.sarawakreport.org%2Ftag%2F1mdb

The 404 errors will be cached by the pipeline's filter http-diff (as in your example).
However since this is a very common bad practice to break the internet without the user even realizing that is censored it makes sense to create a global filter for that enumerates http-diff blockages with 404 errors.
Using the IIS/8.4 and ASP.NET headers will trigger a big number of false positives.

What I mean is that the following query:
ip: <IP_ADDRESS> AND headers: {Server: Microsoft-IIS/8.5, X-Powered-By: ASP.NET}
Is unique on 4 different networks, when there is an MCMC notice or 404. The block directive on how to block sites seems to be universal across ISPs ie. for X in domain, redirect to <IP_ADDRESS> which is an IIS/8.5 webserver.
I'm not sure how the fingerprinting works, but if it's by conditions, there should not be any false positives, this is a specific server IP and type of web server that all blocked sites of this type are redirected to.

Xref: https://github.com/citizenlab/blockpages/pull/1 — where I mined MY blockpage from the data.

Pushed a pull request with the most common blockpage fingerprint: https://github.com/TheTorProject/ooni-pipeline/pull/68
This fingerprint will detect and show all the ooniprobe reports withn blockpages in AS4788, AS4818 and AS17971.
@kaerumy in your https://github.com/TheTorProject/ooni-pipeline/issues/35#issuecomment-240908184 the blocked report shows a 403 HTTP error response which is not (currently)  supported by the pipeline.

According to @kaerumy we should be using as a fingerprint for MY the fact that DNS resolves to the IP <IP_ADDRESS>.
See:
https://explorer.ooni.io/measurement/20160817T033110Z_AS4788_jk5ghw4QwieT2JOFiIqto9Z2LzCFhP05v3U0sCcaetBr50NxuU?input=http:%2F%2Fwww.sarawakreport.org%2Ftag%2F1mdb


Minor fix of compilation flags for Linux environments

There is no longer support for buildit.m.
To me there are too many conflicts on different machines, on Mac OS above all. I now give CMake a chance.


Javascript error when loading slice/chart

Since upgrading to Superset 0.25.0, I'm getting the following Javascript error when trying to load certain slices. I'm installing Superset via pip.
Uncaught ReferenceError: notify is not defined
    at /static/assets/dist/explore.701bc6178837d27ffb52.entry.js:156:593909
    at Array.map (native)
    at t.e (/static/assets/dist/explore.701bc6178837d27ffb52.entry.js:156:593639)
    at new t (/static/assets/dist/explore.701bc6178837d27ffb52.entry.js:156:591850)
    at f._constructComponentWithoutOwner (/static/assets/dist/explore.701bc6178837d27ffb52.entry.js:65:220634)
    at f._constructComponent (/static/assets/dist/explore.701bc6178837d27ffb52.entry.js:65:220418)
    at f.mountComponent (/static/assets/dist/explore.701bc6178837d27ffb52.entry.js:65:216653)
    at Object.mountComponent (/static/assets/dist/explore.701bc6178837d27ffb52.entry.js:40:135696)
    at fe.mountChildren (/static/assets/dist/explore.701bc6178837d27ffb52.entry.js:65:211513)
    at fe._createInitialChildren (/static/assets/dist/explore.701bc6178837d27ffb52.entry.js:65:192911)

Superset version
0.25.0
Expected results
Display the chart
Actual results
Chart does not load - I just see the loading spinner
Steps to reproduce

Click on Charts
Go to a chart

Worth noting that after downgrading from 0.25.0 to 0.24.0 the dashboards and charts now load as normal again.

Hello, any news on this ?

Yes.

It's tricky to reproduce because it's an error that happens during error handling of another error. The stacktrace on minified code isn't very helpful. Any way you can reproduce on not-minified JS?

Same on master. It crashes in MetricsControl.jsx:204

Ok, found the culprit.
In table_columns there is two lines without column_name. Their creation dates match with the day I first installed Superset (don't remember the version but it was on 20th february).

Can you try this patch? https://github.com/apache/incubator-superset/pull/5120

Added a commit to the patch trying to register the AlertsWrapper earlier. Mind trying that?


External responses with $ref headers fail to load

For responses located in a externally referenced file, if the response has $ref header elements pointing to a different external file, the $ref properties fail to load correctly.
swagger.yaml
openapi: "3.0.2"
info:
  version: 15.3.0
  title: test
paths:
  /update-pets:
    post:
      requestBody:
        content:
          application/json:
            schema:
              $ref: 'common/common-types.yaml#/components/schemas/PetsList'
      responses:
        '200':
          $ref: 'common/responses/common-responses.yaml#/components/responses/PetsListResponse'

common/common-types.yaml
openapi: "3.0.2"
info:
  version: 15.3.0
  title: "Common Data Types"
paths: {}
components:
  schemas:
    PetsList:
      type: array
      items:
        $ref: '#/components/schemas/Pet'

    Pet:
      type: object
      properties:
        petType:
          type: string
        breed:
          $ref: '#/components/schemas/Breed'

    Breed:
      type: object
      properties:
        name:
          type: string
        family:
          type: string

common/responses/common-responses.yaml
openapi: "3.0.2"
info:
  version: 15.3.0
  title: "Common Responses"
paths: {}
components:
  responses:
    PetsListResponse:
      description: returns a list of pets
      headers:
        x-session-id:
          $ref: '../../headers/common-headers.yaml#/components/headers/x-session-id'
      content:
        application/json:
          schema:
            $ref: '../common-types.yaml#/components/schemas/PetsList'

headers/common-headers.yaml
openapi: "3.0.2"
info:
  version: 15.3.0
  title: "Common Headers"
paths: {}
components:
  headers:
    x-session-id:
      schema:
        type: string

In the example above, the parser fails with a RuntimeException message "Could not find ../../headers/common-headers.yaml on the classpath"
The remedy is to modify ExternalRefProcessor.processRefToExternalResponse to drill down into the sub-elements (eg. headers, content, etc) and load them while it still has a reference to the original file it is loaded from.

Pull Request #1178 raised to fix this issue.
@gracekarina - could you (or one of the other regular contributors) please review this and approve or provide feedback?

thanks for the PR. This issue was closed by the merge of #1178


Custom LLM Provider works only on first message and hangs on subsequent messages

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: Windows 11
- Continue: v0.039, v0.041
- IDE: PyCharm Community Edition 2023.3.3, IntelliJ iDealC-2023.3.4.win
- Model: Custom model

Description
Main Issue
When defining a custom LLM Provider according to the docs (https://continue.dev/docs/model-setup/configuration#defining-a-custom-llm-provider) and saving the config.ts file, in PyCharm or IntelliJ IDE, the Continue ext only works once on the first message. An SQLITE_CONSTRAINT:NOT NULL error message is revealed after the first message as seen:

After which, subsequent messaged just hangs:

I tried both v0.039 and v0.041 of Continue ext and faced the same issue. This issue however is not present in VsCode and the same config.ts file works fine there.
Side issue:
I believe the documentation here (https://continue.dev/docs/model-setup/configuration#defining-a-custom-llm-provider) is outdated as well. This code throws an error:
export function modifyConfig(config: Config): Config {
  config.models.push({
    options: {
      title: "My Custom LLM",
      model: "mistral-7b",
    },
    streamComplete: async function* (prompt, options) {
      // Make the API call here

      // Then yield each part of the completion as it is streamed
      // This is a toy example that will count to 10
      for (let i = 0; i < 10; i++) {
        yield `- ${i}\n`;
        await new Promise((resolve) => setTimeout(resolve, 1000));
      }
    },
  });
}

This is the working one that I used to replicate the above errors in the IDE:
export function modifyConfig(config: Config): Config {
  config.models.push({
    options: {
      title: "MyModel",
      model: "customModel",
    },
    streamCompletion: async function* (prompt, options) {
      // Make the API call here

      // Then yield each part of the completion as it is streamed
      // This is a toy example that will count to 10
      for (let i = 0; i < 5; i++) {
        yield `- ${i}\n`;
        await new Promise((resolve) => setTimeout(resolve, 100));
      }
    },
  });
  return config
}

To reproduce

Change contents of config.ts file to:

export function modifyConfig(config: Config): Config {
  config.models.push({
    options: {
      title: "MyModel",
      model: "customModel",
    },
    streamCompletion: async function* (prompt, options) {
      // Make the API call here

      // Then yield each part of the completion as it is streamed
      // This is a toy example that will count to 10
      for (let i = 0; i < 5; i++) {
        yield `- ${i}\n`;
        await new Promise((resolve) => setTimeout(resolve, 100));
      }
    },
  });
  return config
}

Launch IDE (either PyCharm or IntelliJ)
Select MyModel at the bottom of Continue Extension
Send a message to MyModel. It will count from 0 to 4. SQL error should appear:

Send second message to MyModel.  It looks like we just weren't setting providerName in the CustomLLM class: https://github.com/continuedev/continue/commit/c3d3980e97af39ef75a8112963a18644ec807a69
Release for VS Code coming later today, and I'm finishing up JetBrains 0.0.46 but the store may not accept it until Monday

On the mention of the docs fix: are you seeing red underlines in config.ts, or is it also entirely failing to load before you remove those type annotations?

@sestinj thanks for looking into it. The docs fix I think it's just a typo between streamComplete and streamCompletion. The file fails to load if using streamComplete and it will hint to use streamCompletion instead

Oops wow yeah I just overlooked this when I diffed it. Thx!

@foongzy @timdahlmanns thanks for sharing all of the details, that made the fix quite straightforward! It looks like we just weren't setting providerName in the CustomLLM class: c3d3980
I'm finishing up JetBrains 0.0.46 but the store may not accept it until Monday

Thanks for the quick fix, but I still get the SQLITE_CONSTRAINT error in the 0.0.46 version.

@foongzy @timdahlmanns thanks for sharing all of the details, that made the fix quite straightforward! It looks like we just weren't setting providerName in the CustomLLM class: c3d3980
I'm finishing up JetBrains 0.0.46 but the store may not accept it until Monday

Thanks for the quick fix, but I still get the SQLITE_CONSTRAINT error in the 0.0.46 version.

@sestinj the SQLITE_CONSTRAINT error still exists for me too

Hi @sestinj, any updates regarding this bug?

The error is fixed for me in the latest version.

The error is fixed for me in the latest version.

ahhh yes, thanks @timdah!


No event notifications

Hi,
I'm using the nuget package and trying to get event notifications to work by using the client sample code. The UAExpert client shows events, e.g. of type ProgramTransition or AuditEvent. I also tried the Server Object Node.
statusCode = m_client.CreateMonitoredItems(m_subscriptionId, TimestampsToReturn.Both,
    new MonitoredItemCreateRequest[]
    {
         new MonitoredItemCreateRequest(
             new ReadValueId(new NodeId(5, 31), NodeAttribute.EventNotifier, null, new QualifiedName()),
             MonitoringMode.Reporting,
             new MonitoringParameters(clientHandleEventMonitor, 0, new EventFilter(eventFilterOperands, null), 1, true)),
    }, out monitorCreateResults);

Am I missing something such as no AuditEvent notifications by default or so?

I would check:

The target node is correct and publishes.
Monitoring mode is correct in the server.
eventFilterOperands are correct.

This should trigger your application's NotifyEventNotifications method.
Could you please share a Wireshark traffic capture with no security mode? This will help me troubleshoot further.

Hey nauful,
I think my eventFilterOperands are not correct. Unfortunately other things got prioritized and everything else is working so far so I can't spend much time to this event topic the next couple of days. But it is still on my list. I appreciate your work so =)


Update sys-dm-os-memory-brokers-transact-sql.md

Included a comment on "MEMORYBROKER_FOR_CACHE" to avoid confusion with Buffer Pool Cache

@FonsecaSergio : Thanks for your contribution! The author, @stevestein, has been notified to review your proposed change.

@FonsecaSergio - thanks for adding the clarification.
#sign-off


Fixed the HTTPS example

Simple test certificate generation and updated example using MbedTLS

Thanks! I restarted the tests - once they pass, this can be merged.

Hmm, the tests failed but it doesn't seem like it's actually this PR's fault. I'll look into it later on.


P7S all far strat

would be possible to pick All Far strat for War Harvest?

What do you mean exactly? Currently P7S module doesn't really force any strat for war harvest, it just shows all tethers and aoes, highlights clipped people, and shows text warnings if you are clipping or being clipped by someone. It works fine for all far strat as far as I understand.


Help: how can i remove the "padding" colors round the boder?

Did you check docs and existing issues?

[X] I have read all the docs.
[X] I have searched the existing issues.
[X] I have searched the existing discussions.

Neovim Version (nvim -v)
0.8.0
Operating System / Version
Mac
Describe the Bug
Im new to neovim and i want ot rmeove those kind of "padding" around the floating borders, how can i made it?

Screenshots, Traceback
No response
Steps to Reproduce
None
Expected Behavior
None
Your Configuration
None

You need to set the FloatBorder or NeoTreeFloatBorder highlight group to something where the background color is either not set or is the same color as your Normal background. Something like this in vimscript:
highlight FloatBorder guifg=#b8b8e6


FIX Recursion while accessing attribute before initialization

Resolves #1349
While using deepspeed, it will try to access attribute before the __init__ method (which is wrapped by the following wrapper):
https://github.com/microsoft/DeepSpeed/blob/f0e3f01d7c7a3d8748212e61eaf487fab41168a7/deepspeed/runtime/zero/partition_parameters.py#L481-L522
However, at this time there is no base_model (or model) attribute, which would cause recursion in __getattr__ method. So I make some modifications to the __getattr__ method to fix this problem.

# a simple code to show what happened
class PeftModel:
    def __init__(self, model):
        self.base_model = model

    def __getattr__(self, name):
        try:
            return super().__getattr__(name)
        except AttributeError:
            # recursion error
            return getattr(self.base_model, name)

import functools
def d(f):
    # this decorator is used in deepspeed
    @functools.wraps(f)
    def wrapper(module, *args, **kwargs):
        if not hasattr(module, 'abc'):
            print('abc')
        f(module, *args, **kwargs)
    return wrapper

class PeftModelForCausalLM(PeftModel):
    @d
    def __init__(self, model):
        super().__init__(model)

a = PeftModelForCausalLM(1)

Hi @BenjaminBossan ,
Thank you for your feedback! I'm not very familiar with pytest, but after learning I think your suggestion is good, so I just added classes into the list (not sure whether to add AutoModelForSentenceEmbedding in examples/feature_extraction/peft_lora_embedding_semantic_search.py).
Please let me know if there's anything else I need to do : )

Hi @BenjaminBossan ,
Thanks for your guidance! I made some updates and passed the unit tests. make style is also run. : )

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Thanks for the updates

make style is also run. : )

This does not seem to have worked correctly. Could you please try to run this manually:
ruff --version  # should be 0.4.10
ruff check --fix src tests examples docs scripts docker
ruff format src tests examples docs scripts docker

I think it's OK now!


az resource show --ids: CLI 2.0 Command doesnt work

Describe the bug
I have a loop that get all of the resources in the cloud Id's and than executing the following command For Each One:
az resource show --ids  --include-response-body true
For most of the services it work but when i get to Virtual Machines the loop is breaking and the error i got is:
ERROR: az resource: error: argument --ids: invalid Resource ID value: 'C:/Program Files/Git/subscriptions/'
The resource ID is correct because i get it from azure automatically and it works for other services.
To Reproduce
For VM -
az resource show --ids  --include-response-body true
Expected behavior
the Expected behavior is to get the resource Json output from azure just like al of the other services
Environment summary
azure-cli-2.23.
Additional context
The Loop works for all of the services. I've tried to execute this shell command outside the python Code to understand the error and getting the error specified in the begining

ARM


⚠ Bofrost.be has degraded performance

In 04ac6bb, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1885 ms

Resolved: Bofrost.be performance has improved in 3881c9e after 3 minutes.


reservations release

https://github.com/Azure/sdk-release-request/issues/3675

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-arm-reservations


[9.x] Add missing giveConfig method in ContextualBindingBuilder

This PR adds the method giveConfig to the ContextualBindingBuilder contract. A similar PR, https://github.com/laravel/framework/pull/36361, was targeted at 8.x and rejected because it would introduce a breaking change for any implementation implementing this contract. That's why this PR is targeted at master to make it available for the upcoming 9.x release.
One of the reasons why I think this method should be part of the contract is that the ContextualBindingBuilder contract interface is declared as return type by the method Container::when(). When someone uses the "Binding primitives" example from the docs, where the existence of the giveConfig method is documented, they may encounter warnings from their IDE claiming that the method doesn't exists.
In my opinion this is small fix that can prevent possible confusion and improves developer experience.

As @driesvints said in https://github.com/laravel/framework/pull/36361#issuecomment-784236926 , and I agree:

giveConfig is syntactical sugar and not necessary for this contract.

See above.

Yeah, I saw the comment about it being classified as syntactical sugar, but I thought it was worth the shot because of the discrepancy between implementation and contract in relation to how it is being described in the documentation. Fair enough though ✌


Add example of loading and using resources

I'm working on a terrain generator, and that requires loading and instantiating scenes, and then adding them as children to the current object. I have an example in GDScript that does that, but I can't figure out how to port it to Rust.
I'm essentially trying to replicate this GDScript:
onready var grass = preload("res://grass.tscn")

And here's my attempt in Rust:
    let mut loader = ResourceLoader::godot_singleton();
    let res = ResourceLoader::load(&mut loader, GodotString::from_str("res://grass.tscn"), GodotString::from_str(""), false);

The first line seems to work since I can print out loader with godot_print!("loader: {:?}"), and it gives me something like this:

loader: ResourceLoader { this: 0x4a4a340 }

However, the next line always crashes the game, with the following being printed out periodically:

modules/gdnative/gdnative.cpp:393 - No valid library handle, can't terminate GDNative object

From what I can tell, the last two arguments are optional, so I gave them what appear to be default values.
I'd be happy to create an example that loads resources once I can figure it out. Here's my terrain generation code in GDScript that I'm trying to port to Rust:
for x in WIDTH:
	for y in HEIGHT:
		var val = open_simplex_noise.get_noise_2d(x, y)
		var obj
		if val > 0:
			obj = soil.instance()
		else:
			obj = grass.instance()

		obj.transform.origin = Vector3(x - WIDTH/2, round(val * 10), y - HEIGHT/2)
		add_child(obj)

EDIT:
I  found another project that has bindings that seem to work with resource  loading, so I think this is a problem with these bindings, but I'm not 100% sure:
https://github.com/Thinkofname/rust-godot-example/blob/master/rust/src/lib.rs

I found another project that has bindings that seem to work with resource loading, so I think this is a problem with these bindings, but I'm not 100% sure:
https://github.com/Thinkofname/rust-godot-example/blob/master/rust/src/lib.rs

The error that you are seeing is related to an unloading error inside of Godot, this should be fixed on Godot's master branch (maybe even 3.1.1, I don't know if it was cherry-picked or not).

Oh, awesome! I'll have to play with the new Godot then. I'll post back here if I can confirm that it works on the latest Godot.

Tried this on 3.1.1, and it stills crashes on loader.load.
Can't seem to handle the Option too.

I believe I have fixed this in my PR https://github.com/GodotNativeTools/godot-rust/pull/168 as I ran into exactly the same issue as you.

Here is my working code, you'll see it is very rough.
Note the script expects to be in a Spatial node and the scene to have a Spatial (or subclass) root node.
I am no means an expert, I only just got this working myself. I hope it helps you.
You'll see in my picture the 3 "spaceships" (yes, they look like conveyors)
`
#[derive(gdnative::NativeClass)]
#[inherit(gdnative::Spatial)]
pub struct StarWorldLink {
}
#[gdnative::methods]
impl StarWorldLink {
fn _init(_owner: gdnative::Spatial) -> Self {
    StarWorldLink {
    }
}

#[export]
fn _ready(&self, mut owner: gdnative::Spatial) {
    godot_print!("hello, StarWorldLink.");

    let ship_scene = ResourceLoader::godot_singleton().load(
        GodotString::from_str("res://ship_root.tscn"),
        GodotString::from_str("PackedScene"), false);

    godot_print!("StarWorldLink Have scene");

    if let Some(ship_scene) = ship_scene.and_then(|s| s.cast::<PackedScene>()) {
        for x in 0..3 {
            let mut instance = ship_scene.instance(0); // 0 - GEN_EDIT_STATE_DISABLED

            if let Some(mut instance) = instance.and_then(|inst| unsafe {
                  inst.cast::<Spatial>()
              }) {

                godot_print!("StarWorldLink About to make instances");
                let transform = Transform::translate(Vector3::new(5.0 + 5.0 * x as f32, 0.0, 0.0));
                unsafe {
                    instance.set_global_transform(transform);
                    owner.add_child(Some(instance.to_object()), false);
                }
                godot_print!("StarWorldLink Instance {} Made", x);
            }
            else {
                godot_print!("Should be able to instance scene");
            }

        }

    }
    else {
        godot_print!("StarWorldLink could not load ship_link scene");
    }
}

}
`

Thx man!!! Just tested it and it worked.
Finally being able to load scenes through ResourceLoader.
Can you explain why the need to cast from resource -> PackedScene -> Spatial instead of add_child() directly (this crashed the program for me)?

I'm really glad that this helped you getting it working too, that's awesome!
The process as I understand it is

ResourceLoader returns a resource (could be a texture, a scene, a script, a ... anything really!)
We check that it loaded something (that is what .and_then does) and then try to turn it into a PackedScene
If that works, we can now make an instance of it, so we do that.
If we got an instance, next we add it the Script's spatial node. I make sure we actually have one here too.

Check out https://docs.godotengine.org/en/3.1/getting_started/step_by_step/resources.html to help you understand step 1.

Here is version 2 which creates a new ship every 2 seconds until there are 10.
/// A Link to a WorldSync which contains spaceships, stars, etc. Creates ships within.
#[derive(gdnative::NativeClass)]
#[inherit(gdnative::Spatial)]
pub struct StarWorldLink {
world_id : u32,
ship_scene : Option<PackedScene>,

num_ships : u32,
time_passed : f64,

}
#[gdnative::methods]
impl StarWorldLink {
fn _init(_owner: gdnative::Spatial) -> Self {
    StarWorldLink {
        world_id: 0,

        ship_scene: None,
        num_ships: 0,
        time_passed: 0.0,
    }
}

#[export]
fn _ready(&mut self, mut owner: gdnative::Spatial) {
    godot_print!("hello, StarWorldLink.");

    let ship_scene = ResourceLoader::godot_singleton().load(
        GodotString::from_str("res://ship_root.tscn"),
        GodotString::from_str("PackedScene"), false);

    if let Some(ship_scene) = ship_scene.and_then(|s| s.cast::<PackedScene>()) {
        godot_print!("StarWorldLink Have scene");
        self.ship_scene = Some(ship_scene);
    }
    else {
        godot_print!("StarWorldLink could not load ship_link scene");
    }
}

#[export]
fn _process(&mut self, mut owner: gdnative::Spatial, delta: f64) {
    self.time_passed += delta;
    if self.num_ships < 10 && self.time_passed > (self.num_ships as f64 * 2.0) {
        if let Some(ship_scene) = &self.ship_scene {
            self.num_ships += 1;

            let mut instance = ship_scene.instance(0); // 0 - GEN_EDIT_STATE_DISABLED

            if let Some(mut instance) = instance.and_then(|inst| unsafe {
                inst.cast::<Spatial>()
            }) {
                let transform = Transform::translate(Vector3::new(10.0 + 6.0 * self.num_ships as f32, 0.0, 0.0));
                unsafe {
                    instance.set_global_transform(transform);
                    owner.add_child(Some(instance.to_object()), false);
                }
                godot_print!("StarWorldLink Instance {} Made", self.num_ships);
            } else {
                godot_print!("Should be able to instance scene");
            }
        }
    }
}

}

Glad that it works! :) PR #168 is merged, does this resolve this issue so it can be closed or do you think it should stay open?

We should probably create a simple example as originally requested, I'm sure it would be highly useful for the next new person.

Yes sounds good, I will create a tracker issue for this.

Scene Creation example here - https://github.com/GodotNativeTools/godot-rust/pull/170

#170 was merged! Is that example sufficient for now in terms of resource loading or should there be more examples for that?

I would expect that #170 makes it well covered but lets see if OP has something to say :D

Yeah, that looks sufficient. If I need anything else, I'll fiddle with it and perhaps make a new example.


[PHP] Unable to initialize module

What version of gRPC and what language are you using?
v1.39.0
What operating system (Linux, Windows,...) and version?
Ubuntu 20.04.2 LTS
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
What did you do?
Follow the php installation guide of this this repo:
$ git clone -b v1.39.0 https://github.com/grpc/grpc
$ cd grpc
$ git submodule update --init
$ EXTRA_DEFINES=GRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK make
$ grpc_root="$(pwd)"
$ cd src/php/ext/grpc
$ phpize
$ GRPC_LIB_SUBDIR=libs/opt ./configure --enable-grpc="${grpc_root}"
$ make
$ [sudo] make install

set extension in php.ini

add grpc into composer

until here, everything worked perfectly. No errors or warnings!
composer install

composer didn't find grpc.so in the fold /usr/lib/php/20190902/, because the installation went into /usr/lib/php/20200930/.
Therefore, I copied the .so to this folder as well.
When I do a composer install now I get:
PHP Warning:  PHP Startup: grpc: Unable to initialize module
Module compiled with module API=20200930
PHP    compiled with module API=20190902

Composer doesn't exit with an error, but clearly something went wrong.
What did you expect to see?
Composer install without any errors or warnings
What did you see instead?
PHP Warning:  PHP Startup: grpc: Unable to initialize module
Module compiled with module API=20200930
PHP    compiled with module API=20190902

If you are on Ubuntu, the easiest way to install php grpc extension is via pecl install grpc.  Is there a specific reason you need to compile from source?
From the error it looks like the PHP header files being used for compiling the extension is different from your actual php runtime. How do you install other pecl extension? You probably should figure out your environment first.

This did the same for me. But yes, it is significantly faster ;D
However, what did the trick for me was to upgrade from php7.4 to php8.0


Recognize minimal impl traits (Rust RFC 1522)

https://github.com/rust-lang/rust/issues/34511

I didn't look deeper into this. Did #96 cover this issue as well? If so, we should add a test case for it.
/cc @KalitaAlexey

@zargony,
No, it didn't.
#96 was about impl blocks.


Add new output helper functions

Consistently style the opening > as grey
All logging goes to stderr (any line that beings with >).
No more cases of accidentally forgetting to check if (!quiet) since
its going to stderr anyways. In fact I'd like to remove quiet soon.
You instantiate the output helper with "debug mode", so that if (debug)
is not constantly being copy+pasted
The time() function accepts a Promise or async function and wraps it
with console.time() and timeEnd(), and passes through the return value.
There is no way to typo the label since it is only specified once,
and no way to forget to call timeEnd(), which was happening in a few
cases which are now fixed.

I've only refactored enough for now deploy at the moment, but I'll continue refactor other commands once we land this one.
Before:

After:

Amazing @TooTallNate 👏
However, unless we changed our guidenides (which I don't think we did, cc @evilrabbit @rauchg), the >should always have the same color as the "log type". For example, it should be cyan for > Ready, yellow for > Warning, etc.

 It's also not consistent if it is the case. See the "Warning!" in the Before screenshot has a white >.


Please support jessie

When trying to use this module, I am greeted by:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: No matching value for selector param 'jessie' at /etc/puppet/environments/production/modules/dhcp/manifests/params.pp:14 on node bob.dontpanic.nl
This is caused by not having either a 'jessie' or 'default' option in the params.pp file for various configuration parameters.

@bjvrielink PR welcome


political_leader_cost_factor unexpected?

In hoi4 files, Cwtools reports political_leader_cost_factor is unexpected token in any scopes.
but it certainly works in the game.
Can anyone fix this problem?
political_leader_cost_factor is unexpected in ROM_bratianu_leader CW262(CW262)

I noticed I was ought to write this to the another repository.


Demo/integration

-demo design
-integrate some component

Enable prettier in your editor, please

In scss files,
use @import if you want include styles inside current file (apply style in the imported file to a component for example),
use @use if you want to import helper like buttons, media_queries, colors, ....
with @use , file is imported once, no matter how many times you @use it in a project.


#339 : Remove separate pandas installations in nox tests

Description
Remove separate pandas installations in nox tests
Issues Resolved
fixes #339
Check List

[x] New functionality includes testing.

[x] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff

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

@dhrubo-os , this closes #339 .
@Yerzhaisang , consider going through the changes. Once this is merged, you can go ahead with the upgrading pandas version issue.

cool @rawwar


Question about Ignore Rules

Hi,
I really appreciate you creating jsoncompare, and I think it's going to be a great tool for testing my api. However, I am struggling using the ignore rules for a objects nested in a list. I've attached the expected.json, actual.json, ignore rules, and diff.json. If you can give many any help, I would truly appreciate it.
The gist of the problem is that, for each plotRow in my example, there well be unique kmzUrl and geoJsonUrl; so I don't want to compare those values. Though, it would be a bonus if I could still verify if there is some value or a null.
Thanks,
Joel
actual.json
diff.json
expected.json
ignore_rules.txt

Hi! The best solution would be to do preprocessing and convert the list into a dictionary, and then perform a comparison without ignoring rules.

Hi! The best solution would be to do preprocessing and convert the list into a dictionary, and then perform a comparison without ignoring rules.

Thanks!


CT200: Possibility to control which Rooms getting boosted

Is your feature request related to a problem? Please describe.
The integration already offers the option of switching on the boost and setting the duration and desired temperature. However, there is currently no way to configure which heating circuits or devices the boost is applied to. It looks like the rooms that were last selected in the Easycontrol-App are being used. Sometimes the selection seems to be random.

Describe the solution you'd like
It would be great if there was a way to select which rooms the boost should be applied to (like in the Easycontrol-App).
Describe alternatives you've considered
Alternatively, it would also be possible to always apply the boost to all rooms.

I'm trying to do this using a special program for every zone (all the radiators have it's own easy control valve), then via home assistant set this program using a scene.

Boost is for whole heating circuit. There might be some boost info in /zones make multiple bosch scans.
Before boost and after boost, after changing zone settings and before. Maybe then we can figure out how it works.
I'll close issue now and reopen if you come back with data (too many users just ask for something without giving any details so I have too many issues open).

The raw scan was helpful in understanding how it works. The heating circuit has a parameter called boostZones, with which the zones that should be boosted can be parameterized. To meet my requirement, the integration would need to provide this list and make it selectable under Boost. This is also exactly the list that can be modified in the Easycontrol-App.

If needed, I'm also happy to provide the complete scan


VSCode upgrade broke extension/merlin support in WSL

Since VSCode (& extension?) was upgraded it now errors in WSL. Configuration is the same (that used to work).

Discord's "ssrb" said:

it seems the user settings are no longer applied  on top of the default  if I hardcode the ocamlmerlin cmd in the extension  (merlin.js) it works.

initialize() {
return __awaiter(this, void 0, void 0, function* () {
//const ocamlmerlin = this.session.settings.reason.path.ocamlmerlin;
const ocamlmerlin = "bash -ic ocamlmerlin";

maybe is same?

It will probably be a few days before I have a chance to look into this but in the meantime if anyone wants to try the previous versions you can do the following:
npm install -g vsce
git clone https://github.com/reasonml-editor/vscode-reasonml
cd vscode-reasonml
git checkout tags/v1.0.26
yarn install
yarn run build
vsce package .
code --install-extension reasonml-v1.0.26.vsix

I have no experience with creating vscode extensions but it seems like the initialize method is run twice. Is that normal? First it's run with reason.path.ocamlmerlin set as ocamlmerlin (not my setting) and then it's run with the correct settings parameter bash -ic ocamlmerlin. However the second initialize() doesn't run if the first call crashes (where ocamlmerlin is not recognized as a command).
If I hardcode the variable as per @superherointj 's quote above, the extension indeed works but it's working because the reason.path.ocamlmerlin variable is not being read incorrectly as ocamlmerlin on the first call to initialize(). Then it doesn't crash and both calls to initialize() work as expected.
I attached a screenshot to show what I mean. The top window is me editing the extension code, bottom is another window running a reason project.

No idea if this helps but it's what I've found so far in limited time looking at it :)

The problem seems to be the settings merge in the ocaml-language-server. The deepmerge params are in the wrong order. According to deepmerge:

merge(x, y, [options])
Merge two objects x and y deeply, returning a new merged object with the elements from both x and y.
If an element at the same key is present for both x and y, the value from y will appear in the result.

In ocaml-language-server/lib/index.js:
function withDefaults(overrides) {
  return deepmerge(overrides || {}, ISettings.defaults);
}

So the defaults always win.
However just swapping the params doesn't seem to be enough. The overrides object doesn't have the reason top-level key so the merged data will consist of both objects, like so:
{ codelens: { unicode: true, enabled: true },
  debounce: { linter: 500 },
  diagnostics: { tools: [ 'bsb', 'merlin' ] },
  format: { width: 100 },
  path:
   { bsb: 'bash -ic bsb',
     ocamlfind: 'bash -ic ocamlfind',
     esy: 'esy',
     env: 'env',
     ocamlmerlin: 'bash -ic ocamlmerlin',
     opam: 'bash -ic opam',
     rebuild: 'bash -ic rebuild',
     refmt: 'bash -ic refmt',
     refmterr: 'bash -ic refmterr',
     rtop: 'bash -ic rtop' },
  server: { languages: [ 'ocaml', 'reason' ] },
  reason:
   { codelens: { enabled: true, unicode: true },
     debounce: { linter: 500 },
     diagnostics: { merlinPerfLogging: false, tools: [Object] },
     format: { width: null },
     path:
      { bsb: 'bsb',
        env: 'env',
        esy: 'esy',
        ocamlfind: 'ocamlfind',
        ocamlmerlin: 'ocamlmerlin',
        opam: 'opam',
        rebuild: 'rebuild',
        refmt: 'refmt',
        refmterr: 'refmterr',
        rtop: 'rtop' },
     server: { languages: [Object] } } }

Having said that. How does this work for everyone that are not on WSL? 🤔

I just made some further changes and published a new version 1.0.31 and I think this should actually be fixed now.


Content for desktop app transition

Content in the app needs to be updates wherever it points to connect.keeper.
User should be able to know how to download the desktop app and the steps required.
We need a note to the user that if signing with trezor or bitbox doesn't work then perform health check to update the key details (since we need to update masterFingerprint). (Note for ASN: This is for the users already using these devices)

"Please download the Bitcoin Keeper desktop app from our website to use this signer."

Is "our website" that obvious to users?
Point 2?
@ASN-BitHyve

Is "our website" that obvious to users? Point 2? @ASN-BitHyve

You're right. Just updated the comment.

Progress on this issue contingent on dev readiness to put out the desktop app.

Have updated the website with a link leading to the desktop app.


extractschema: Include common node facts in the result. [phab:D2092]

Created by fromberger at 2017-12-09 23:21:21:
Add a new section to the result message that includes the common node facts
shared by various nodes in the schema, regardless of kind.

danielmoy-google accepted this revision at 2017-12-12 00:33:50

fromberger closed via commit 8072aca330b16198271974c8746be30f48f290e6 at 2017-12-12 00:35:08

shahms commented inline (context lost during migration) at 2017-12-12 15:57:49:
do we want this to be plain-ol'-string or
type Attachment string
const (
All      Attachment := "all"
Anchors  Attachment := "anchors"
Semantic Attachment := "semantic"
)
Or something?

fromberger commented inline (context lost during migration) at 2017-12-12 16:50:31:
Given that the output is JSON, a string seems appropriate.


Add CI for glslang.zig

[x] Add a workflow to clone users and test the new release
[x] Add a cron workflow to fetch dependencies and make pull request
[x] Add update label
[x] Change general settings to allow github actions to make PR
[x] Run bot
[ ] Merge this: https://github.com/tiawl/glslang.zig/pull/2
[x] Add protection rule for default branch
[x] Add it to CI toolbox workflow
[x] Add it to protection rule of toolbox default branch

Available here:

https://github.com/tiawl/glslang.zig/blob/trunk/.github/workflows/bot.yml
https://github.com/tiawl/glslang.zig/blob/trunk/.github/workflows/ci.yml


Upgrade the peer dependency eslint-config-airbnb-typescript to latest 17.1.0

Peer dependencies have been updated.


Have html report include a coverage "badge"

Originally reported by Anonymous

This is a feature request rather than an actual issue. I apologize if this is not the apropirate forum for this.
I was wondering if it would be possible to generate a svg badge for inclusion in the html report. My use-case is to have a badge in my README pointing to the master's branch html coverage report folder (which is published automatically by my CI server).
I reverse engineered shields.io's version into this script:
# this template was generated from shields.io on 2015-10-11
template = """
<svg xmlns="http://www.w3.org/2000/svg" width="92" height="20">
<linearGradient id="b" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<mask id="a">
<rect width="92" height="20" rx="3" fill="#fff"/>
</mask>
<g mask="url(#a)">
<path fill="#555" d="M0 0h63v20H0z"/>
<path fill="{0:s}" d="M63 0h29v20H63z"/>
<path fill="url(#b)" d="M0 0h92v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="31.5" y="15" fill="#010101" fill-opacity=".3">coverage</text>
<text x="31.5" y="14">coverage</text>
<text x="76.5" y="15" fill="#010101" fill-opacity=".3">{1:s}%</text>
<text x="76.5" y="14">{1:s}%</text>
</g>
</svg>
"""

def write_cov_badge_svg(path, percent):
    colors = 'red orange yellow yellowgreen green brightgreen'.split()
    colors = '#e05d44 #fe7d37 #dfb317 #a4a61d #97CA00 #4c1'.split()
    limits_le = 50, 60, 70, 80, 90, 100
    c = next(clr for lim, clr in zip(limits_le, colors) if percent <= lim)
    with open(path, 'wt') as f:
        f.write(template.format(c, str(percent)))

if __name__ == '__main__':
    import sys
    assert len(sys.argv) == 3
    write_cov_badge_svg(sys.argv[1], int(sys.argv[2]))

the resulting svg file is about 0.7 kB.

Bitbucket: https://bitbucket.org/ned/coveragepy/issue/427
This issue had attachments: test.svg.  See the original issue for details.

@nedbat I see that you reviewed this relatively recently, so I assume this is still a live issue.
If I were considering whether to take this issue on, the hard part would be understanding which of the suggested changes is desired. If that were made clear I would hope this would be a pretty accessible task.


[feat] access to URISchemeRequest body on Linux

Is your feature request related to a problem? Please describe.
Both the Rust type URISchemeRequest and upstream WebKitURISchemeRequest do not expose a way to access the requests body. For a variety of usecases including Tauri's IPC system it would be great if we could actually access the main content of the request.
Describe the solution you'd like
Implement this functionality in upstream projects mirroring the one from WKWebView URLRequest namely httpBody and httpBodyStream so we can consume the body both blocking and through a Rust Stream.
Describe alternatives you've considered
Not have access to the body on Linux and marking this as a platform difference, but sadly this is kind of a really important core feature. It being absent makes the custom protocol pretty useless.
Would you assign yourself to implement this feature?

[x] Yes
[ ] No

Additional context
Add any other context or screenshots about the feature request here.

Do we have an upstream issue to track it?

I don't think we opened one for it yet.

This is tricky to implement in WebKitGTK.
There is no "request body" sitting around, it is a GInputStream that is read on-demand as network writes happen. In order to access a body a complete copy would have to be stored in-memory, which isn't reasonable in some cases.

Let's expose that stream though, we actually care much more about that stream than a full body. Wry itself already has code to read a stream into a Vec<u8> on macO

"Just expose a stream" still has complications. It is possible for a stream to be read-once. In which case you have to copy the entire thing into memory. It is also possible for a stream to be GSeekable and read multiple times but you can't seek a stream that is being actively read somewhere else.

I am mostly thinking about this from a libsoup perspective, the http library webkitgtk uses, its possible things work out nicer inside of WebKit.

seems like the upstream issue was fixed: https://github.com/WebKit/WebKit/pull/10714

right, this has been implemented in wry behind linux-body feature flag


Build error in latest version

conductor git:(master) ./gradlew build -x test
Starting a Gradle Daemon (subsequent builds will be faster)

Configure project :
Inferred project: conductor, version: 2.31.0-SNAPSHOT
Download https://jcenter.bintray.com/com/github/jknack/handlebars/maven-metadata.xml

FAILURE: Build failed with an exception.

Where:
Build file '/Users/yumiao3/workspace/github/conductor/server/build.gradle' line: 9

What went wrong:
Plugin [id: 'com.github.ManifestClasspath', version: '0.1.0-RELEASE'] was not found in any of the following sources:

Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
Plugin Repositories (could not resolve plugin artifact 'com.github.ManifestClasspath:com.github.ManifestClasspath.gradle.plugin:0.1.0-RELEASE')
Searched in the following repositories:
Gradle Central Plugin Repository

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
See https://docs.gradle.org/4.8.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 25s

+1 facing the same issue.

Could you please run the same command with --stacktrace and post the detailed error?


ML Resources Added

Fixes Issue

Closes #212
Description:

Added a ML-Roadmap containing resources with it. Can be accessed with a single clicl
Resource URL:

https://techdevguide.withgoogle.com/paths/machine-learning/
https://www.freecodecamp.org/learn/machine-learning-with-python/
https://www.kaggle.com/learn/intro-to-deep-learning
Checklist:
Before submitting your pull request, ensure that you have completed the following tasks:

[x] I have carefully reviewed and adhered to the contributing guidelines before creating this pull request.
[x] I followed the prescribed PR title template. (Check this if you're adding a resource)

@jfmartinz Please Merge this Pull Request.

Please follow for adding a resource. You can check the CONTRIBUTING.md. You should add it under here


Add Cargo.lock to Git.

As dnst is a binary and because we do that for other binaries such as Routinator.

Cargo.lock should not be added to .gitignore as changes to it should be added and committed to provide a known working combination of dependency versions.
I can't think of anything else impacted by adding Cargo.lock to the git repo.


Update recipe for py312_patch

Preparation for py312 release.

Linter check found the following problems:
The following problems have been found:
ERROR: clone/recipe/meta.yaml:21: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: clone/recipe/meta.yaml:41: invalid_url: https://github.com/anaconda/anaconda-catalogs : Not reachable: 404
ERROR: clone/recipe/meta.yaml:42: invalid_url: https://github.com/anaconda/anaconda-catalogs : Not reachable: 404
ERROR: clone/recipe/meta.yaml:43: invalid_url: https://github.com/anaconda/anaconda-catalogs : Not reachable: 404
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: clone/recipe/meta.yaml:21: host_section_needs_exact_pinnings: Packages in host must have exact version pinnings, except python build tools.
ERROR: clone/recipe/meta.yaml:41: invalid_url: https://github.com/anaconda/anaconda-catalogs : Not reachable: 404
ERROR: clone/recipe/meta.yaml:42: invalid_url: https://github.com/anaconda/anaconda-catalogs : Not reachable: 404
ERROR: clone/recipe/meta.yaml:43: invalid_url: https://github.com/anaconda/anaconda-catalogs : Not reachable: 404
Errors were found


Update 14.show-stats.md

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


White screen of death on the new Footfall RPi2 of_v0.9.8_linuxarmv6l

First of all thanks for making this great project its really fun to play around with :)
Ive succesfully compiled of_v0.9.8_linuxarmv6l_release and Footfall, i had to do the libs to old-libs trick and use the VS2012-static branch of OfxCv to get it all to compile, i did have Threaded Footfall running before this new version.
Im using RASPBERRY PI CAMERA BOARD V2
Now when i startup Footfall i get just a white screen;
pi@raspberrypi:~/openFrameworks/apps/myApps/Footfall/bin $ ./Footfall [notice ] ofAppEGLWindow: setupRPiNativeWindow(): screenRect: 1920x1080 [notice ] ofAppEGLWindow: setupRPiNativeWindow(): windowRect: 1024x768 [notice ] ofAppEGLWindow: createSurface(): setting up EGL Display [notice ] ofAppEGLWindow: createSurface(): EGL Display correctly set 0x1 [notice ] ofAppEGLWindow: createSurface(): no current renderer selected [notice ] ofAppEGLWindow: createSurface(): default renderer detected [notice ] ofAppEGLWindow: createSurface(): surface created correctly [notice ] ofAppEGLWindow: createSurface(): API bound correctly [notice ] ofAppEGLWindow: createSurface(): -----EGL----- [notice ] ofAppEGLWindow: createSurface(): EGL_VERSION_MAJOR = 1 [notice ] ofAppEGLWindow: createSurface(): EGL_VERSION_MINOR = 4 [notice ] ofAppEGLWindow: createSurface(): EGL_CLIENT_APIS = OpenGL_ES OpenVG [notice ] ofAppEGLWindow: createSurface(): EGL_VENDOR = Broadcom [notice ] ofAppEGLWindow: createSurface(): EGL_VERSION = 1.4 [notice ] ofAppEGLWindow: createSurface(): EGL_EXTENSIONS = EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_vg_parent_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_lock_surface [notice ] ofAppEGLWindow: createSurface(): GL_RENDERER = VideoCore IV HW [notice ] ofAppEGLWindow: createSurface(): GL_VERSION  = OpenGL ES-CM 1.1 [notice ] ofAppEGLWindow: createSurface(): GL_VENDOR   = Broadcom [notice ] ofAppEGLWindow: createSurface(): ------------- [notice ] ofAppEGLWindow: setupPeripherals(): peripheral setup complete [notice ] ofAppEGLWindow: setupNativeUDev(): created udev object [notice ] ofAppEGLWindow: setupMouse(): unabled to find mouse [ error ] ofAppEGLWindow: setupMouse(): did not open mouse [ error ] ofAppEGLWindow: setupMouse(): did not open mouse, mouse_fd < 0 [notice ] ofAppEGLWindow: setupKeyboard(): keyboard_fd= 15 devicePath=/dev/input/by-path/platform-3f980000.usb-usb-0:1.3:1.0-event-kbd [notice ] ofAppEGLWindow: setupKeyboard(): keyboard device name =   USB Keyboard [notice ] ofAppEGLWindow: setupPeripherals(): native event setup complete
This is what i see on the screen:

What is causing this; why can i run the old version but not the new one, please help me
ive tried to do a fresh raspbian install and run into the same problems, am i doing something wrong ?
raspistill -o test.jpeg, does give me a picture

Hi @d000000h,
Hmm.
What is in you config.json?

could you try running one of the ofxCvPiCam examples?

Wow you are so fast :)
My config is completely stock
{         "Footfall": {                 "AppConfig": {                         "usehttp": false,                         "usecsvlogging": false                 },                 "CameraConfig": {                         "camerawidth":160,                         "cameraheight":120,                         "fliphorizontally": false,                         "flipvertically": false,                         "trackshadows": true,                         "threshold": 200,                         "mogthreshold": 16,                         "shadowpixelratio": 0.25,                         "dilate": 5,                         "erode": 3,                         "history": 100,                         "blur": 5,                         "usemask": false,                         "showshadowimage": true,                         "MaskArea":                         [                          {"coordx":0,"coordy":0},                          {"coordx":160,"coordy":0},                          {"coordx":160,"coordy":120},                          {"coordx":0,"coordy":120}                          ]                 },                 "TrackingConfig": {                         "threshold":10,                         "minarea":10,                         "maxarea":90,                         "flipvertically":false,                         "startposx":0,                         "startposy":60,                         "offset":20,                         "blobdyingtime": 0.50,                         "persistance":1,                         "maxdistance":100,                         "minsizeone": 10,                         "minsizetwo": 50,                         "minsizethree": 100                 },                 "HttpConfig": {                         "keepbackups" : false,                         "postserver":"",                         "postextension":"",                         "secretkey":"",                         "maxretries":1                 }         } }

I compiled one of the examples and ran it , it did give me an image on the screen and worked fine
`pi@raspberrypi:~/openFrameworks/addons/ofxCvPiCam/example-ofxCvPiCamSimple/bin $ ./example-ofxCvPiCamSimple
[notice ] ofAppEGLWindow: setupRPiNativeWindow(): screenRect: 1920x1080
[notice ] ofAppEGLWindow: setupRPiNativeWindow(): windowRect: 1280x720
[notice ] ofAppEGLWindow: createSurface(): setting up EGL Display
[notice ] ofAppEGLWindow: createSurface(): EGL Display correctly set 0x1
[notice ] ofAppEGLWindow: createSurface(): no current renderer selected
[notice ] ofAppEGLWindow: createSurface(): default renderer detected
[notice ] ofAppEGLWindow: createSurface(): surface created correctly
[notice ] ofAppEGLWindow: createSurface(): API bound correctly
[notice ] ofAppEGLWindow: createSurface(): -----EGL-----
[notice ] ofAppEGLWindow: createSurface(): EGL_VERSION_MAJOR = 1
[notice ] ofAppEGLWindow: createSurface(): EGL_VERSION_MINOR = 4
[notice ] ofAppEGLWindow: createSurface(): EGL_CLIENT_APIS = OpenGL_ES OpenVG
[notice ] ofAppEGLWindow: createSurface(): EGL_VENDOR = Broadcom
[notice ] ofAppEGLWindow: createSurface(): EGL_VERSION = 1.4
[notice ] ofAppEGLWindow: createSurface(): EGL_EXTENSIONS = EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_vg_parent_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_lock_surface
[notice ] ofAppEGLWindow: createSurface(): GL_RENDERER = VideoCore IV HW
[notice ] ofAppEGLWindow: createSurface(): GL_VERSION  = OpenGL ES-CM 1.1
[notice ] ofAppEGLWindow: createSurface(): GL_VENDOR   = Broadcom
[notice ] ofAppEGLWindow: createSurface(): -------------
[notice ] ofAppEGLWindow: setupPeripherals(): peripheral setup complete
[notice ] ofAppEGLWindow: setupNativeUDev(): created udev object
[notice ] ofAppEGLWindow: setupMouse(): unabled to find mouse
[ error ] ofAppEGLWindow: setupMouse(): did not open mouse
[ error ] ofAppEGLWindow: setupMouse(): did not open mouse, mouse_fd < 0
[notice ] ofAppEGLWindow: setupKeyboard(): keyboard_fd= 15 devicePath=/dev/input/by-path/platform-3f980000.usb-usb-0:1.3:1.0-event-kbd
[notice ] ofAppEGLWindow: setupKeyboard(): keyboard device name =   USB Keyboard
[notice ] ofAppEGLWindow: setupPeripherals(): native event setup complete
[verbose] ofxCvPiCam()
[warning] ofThread: - name: Thread 2 - Calling startThread with verbose is deprecated.
[verbose] Attached gray callback
[verbose] Capture started
`

How odd ... Try cleaning the app and re building it
make clean

This has never happened us, the fact there is no content on the screen is odd

i will try again

Same result, still white screen

That's really odd, ok try copying one of the ofxcvpicam examples to the app folder. Recompile. See if that works, if it does copy the footfall source code across to the src folder. I'll have to check this later on. Don't think it's memory based as the example works.

so i guess you want me to move an example to the myapps folder and see if that works from there? im trying that now ... and if that works i can move the stuff from Footfall/src/ to the example /src/ folder and recompile and it should work ? 📦
im gonna try that

Compiling example in the myApps folder works fine
Moving Footfall/src to Example/src and then recompiling,
White screen of death

are you using a raspberry pi 3?

No im using a raspberry pi 2, with armv6 openframeworks on Raspbian default image.
I even tried yesterday to make another sd card, reinstlal the raspbian, recompiled openframeworks, recompiled ofxCvPiCam example -> Works fine, Recompiled Footfall -> White screen of death
Did all the things suggested here, moved an example to the myapps folder -> compiled and worked fine -> copied Footfall/src/ to the example/src/ folder recompiled -> BAM white screen of death :(
Default Config file, 0 changes to that

I am using a raspberrypi 3 , with arm6 openframeworks , compiled the footfall as mentioned in the steps and when i tried to run the exe, i got the white screen of death, and i have to restart the pi, i too have compiled the RPi2 and threadedfootfall  and it was working. Is the issue related to config file, because i am using the config file as provided without any change

So i guess this is confirmed to bug on the RPi3 too, after rebooting it you still get the white screen ? or does it work then ?

Hi @d000000h, this sounds insane but could you check the ofApp.cpp file to see if it has any content in it?

the fact you dont get anything on screen is bizarre you should at least get some debug text

ofApp.cpp is not empty, Can it be a X11 desktop issue,
this is i get when i control C, the white screen
pi@raspberrypi:~ $ ./startFootfall.sh
[warning] ofAppEGLWindow: init(): X11 not availble on RPI yet, using a native window instead
[notice ] ofAppEGLWindow: setupRPiNativeWindow(): screenRect: 1024x768
[notice ] ofAppEGLWindow: setupRPiNativeWindow(): windowRect: 1024x768
[notice ] ofAppEGLWindow: createSurface(): setting up EGL Display
[notice ] ofAppEGLWindow: createSurface(): EGL Display correctly set 0x1
[notice ] ofAppEGLWindow: createSurface(): no current renderer selected
[notice ] ofAppEGLWindow: createSurface(): default renderer detected
[notice ] ofAppEGLWindow: createSurface(): surface created correctly
[notice ] ofAppEGLWindow: createSurface(): API bound correctly
[notice ] ofAppEGLWindow: createSurface(): -----EGL-----
[notice ] ofAppEGLWindow: createSurface(): EGL_VERSION_MAJOR = 1
[notice ] ofAppEGLWindow: createSurface(): EGL_VERSION_MINOR = 4
[notice ] ofAppEGLWindow: createSurface(): EGL_CLIENT_APIS = OpenGL_ES OpenVG
[notice ] ofAppEGLWindow: createSurface(): EGL_VENDOR = Broadcom
[notice ] ofAppEGLWindow: createSurface(): EGL_VERSION = 1.4
[notice ] ofAppEGLWindow: createSurface(): EGL_EXTENSIONS = EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_vg_parent_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_lock_surface
[notice ] ofAppEGLWindow: createSurface(): GL_RENDERER = VideoCore IV HW
[notice ] ofAppEGLWindow: createSurface(): GL_VERSION  = OpenGL ES-CM 1.1
[notice ] ofAppEGLWindow: createSurface(): GL_VENDOR   = Broadcom
[notice ] ofAppEGLWindow: createSurface(): -------------
[notice ] ofAppEGLWindow: setupPeripherals(): peripheral setup complete
[notice ] ofAppEGLWindow: setupNativeUDev(): created udev object
[notice ] ofAppEGLWindow: setupMouse(): mouse_fd= 15 devicePath=/dev/input/by-path/platform-3f980000.usb-usb-0:1.2:1.0-event-mouse
[notice ] ofAppEGLWindow: setupMouse(): mouse device name = PixArt USB Optical Mouse
[notice ] ofAppEGLWindow: setupKeyboard(): keyboard_fd= 16 devicePath=/dev/input/by-path/platform-3f980000.usb-usb-0:1.4:1.0-event-kbd
[notice ] ofAppEGLWindow: setupKeyboard(): keyboard device name = Microsoft Wired Keyboard 600
[notice ] ofAppEGLWindow: setupPeripherals(): native event setup complete
[notice ] ofAppEGLWindow: destroyNativeKeyboard()
[notice ] ofAppEGLWindow: destroySurface(): destroying EGL surface

Can you share the config.json you are using, because i think it may be a configuration issue

Actually the config we use is in the repo. Could you send me your Footfall folder? including config.

Footfall.tar.gz

cheers, whilst i'm sorting out a build environment for RPI3 could you check your memory allocation. Try setting it to 128

it is set to 128

Hi @PRITIAEC10,
Just ran your app. Yep there it is no screen data. Going to investigate now.

Hi @PRITIAEC10,
Have just cleaned the target.
Pr_Footfall.zip
Could you try running ./Pr_Footfall
Best

I had to do the libs to old-libs trick and use the VS2012-static branch of OfxCv to get it all to compile

I think the correct branch of ofxCv to work against of_v0.9.8_linuxarmv6l_release is 'stable', not 'VS2012-static' - may not make a difference, but it's another thing to try.

Hi @d000000h and @PRITIAEC10,
Because, there is no Notice Log for the config file it suggests that the ofApp.cpp file has been compiled before the source code for footfall has been added.
I've updated the compiling.md with clearer instructions.

Hi @DHaylock ,
Thanks a ton, i got the video output now, Trying to configure and compile on my desktop for accuracy , will let you know if i need help.
Thanks!

I went wrong here 👍
Copy all of the Source files into the folder.

cp ../../../../Footfall/Footfall/src/* .

Somehow it didnt copy the src files and that was causing the white screen (i think, im running into other problems now)
for me it had to be 👍
Copy all of the Source files into the folder.

cp ../../../Footfall/Footfall/src/* .

This can be closed, since the problem was human error ...
the problem im running into now is the MMAl problem which tells me to remove the libs folder from the ofxCvPicam but when i do that i still keep the problem...
some more fiddling around i guess

Hi @d000000h,
No worries. I updated the docs.
Open a new Issue and ill have a look.


Can EasyTier be used on Windows 7 systems?

The current GUI version does not seem to support windows7

fixed in https://github.com/EasyTier/EasyTier/pull/220/commits/487e3768d1f9b18c58a2db3f7bb99a3157d8883b

please redownloaded from the release page