Non-episodic problems

The algorithms (e.g. PPO2) implemented in stable-baselines seem to only support episodic problems. And if I understand correctly, the policy weights are only updated once per episode.
For problems that have no episodes and can be run forever (e.g. trading), they have to be forced to use episodes in order to use the stable-baselines agents, which increases the training time needed. For example, a continuous problem originally can reach the optimal policy using 1 million timesteps. If I force it into 1000 timesteps per episode, to get the same number of weight updates, I need to run the agent for 1000 * 1 million timesteps.
Is my reasoning correct? If so, are there easy tricks I can use for the stable-baselines agents to accept continuous training without episodes?

Some implementations work on based episodes (or, require an "end of episode" before they train). However PPO2 implementation here and in SB3 run updates even if episodes do not end.

I see. Does PPO2 updates the weights after each episode or after each timestep?

No. Updates are done exactly after n_step calls to env.step.

So if I run all the time steps within one episode the weights would only be updated once? That doesn't sound like something I want...

Again, no. The updating is independent of how long the episodes are and the agent will be roughly updated for total_timesteps / (n_step * n_envs) times (total_timestep includes all steps to all environments, while n_step only reflects per-environment number of steps taken before agent is updated). I recommend reading through source around the part.

Thanks a lot for the explanation! (I'm outside so it's a bit difficult to read the code...sorry if I asked questions that are already documented in the code.)
Just to summarize your points: If I want my agent to run continuously and update its weights per time step in each env, I can just set the number of episodes to be one and n_steps to be one.
If that's correct, feel free to close this issue.

You can set your number of episodes to anything you like, but n_step should be a sensible amount for PPO. See e.g. rl-zoo PPO2 hyperparameters file for some good values for n_step. It can be 256 or 512 or 2048 or even higher, it still will train as with "episodic" environments.

Thx! But the hyper parameters there are all used in games and they look too big? The smallest one is 16 used in MountainCart. I can imagine it's because you need to move the cart for awhile to determine a reasonable reward. But in my problem the reward from the previous day (or a very small number of previous days) is enough to tell the agent how to adjust its behavior.
In summary, from my problem's requirements:

It needs to be trained continuously without resetting env in the middle -> So I should only have one episode;
The weights are desired to be updated every time step -> So if the agent will be updated for total_timesteps / (n_step * n_envs) then n_step should also be one or close to one.

Unless you meant setting n_step to one is undesirable for PPO algorithmically?

Setting n_step low is generally bad for PPO, yes. It might work for some simple environments like mountain-car which have dense reward structure / "behaviour" where it works, but generally higher n_step leads to stabler learning at the cost of more samples needed. You need to experiment with different n_step values for your specific env to find the correct one. But the first part is satisfied regardless of what n_step you choose (it will learn inside that one episode).
This starts to feer off to the tech support side which we do not provide, and as originally question was answered I am going to close this issue.


[Doc] letsencrypt-auto certonly need to be configured against nginx

Otherwise it is displaying an error since trying to use Apache

Thanks @gmorel! Merging


sync global node map

Fix CRASH with concurrent svg parsing

#331

Node map was removed, so no need for synchronization.


Implementation of Ordinary Differential Equations

Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template
System information

TensorFlow version (you are using): The nightly build
Are you willing to contribute it (Yes/No): Yes

Describe the feature and the current behavior/state.
We don't have a solution in Tensorflow for UNEVEN time series data. There are implementations using Torch for ODE (Ordinary Differential Equations) RNN.
Will this change the current api? How?
Not sure
Who will benefit with this feature?
I will be.... but this is a huge gap in Tensorflow right now. There are lots of data that are generated with uneven gap between them. Tensorflow does not have a viable solution right now.
Any Other info.
https://www.sciencedirect.com/science/article/abs/pii/S095219762030292X
https://towardsdatascience.com/paper-summary-neural-ordinary-differential-equations-37c4e52df128
I don't know, there are many papers on them.

Hello summa-code@: thanks for reporting the issue - would you be interested in making a contribution?

+1 to @rchao: we're open to contributions for such a feature. No plans on our side.

And also, i heard that Tensorflow has PhasedLSTM implemented somewhere online. But i could not find it. Anyone know if it is the case ?

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.


[WIP] added version attribute for python library

Description
Resolves #1339
It version attribute to python library.

Does this PR introduce any user-facing changes?
Add __version__ attribute with python library version value extracted from version.sbt

@gokulyc do you just want to know the Delta Lake version when running in Databricks? Otherwise, you can just run the following code to get it.
import importlib_metadata
importlib_metadata.version("delta_spark")

i am databricks runtime 11.0
above snippet is throwing error.

importlib_metadata package is not there

python version of runtime is 3.9.5
when i also tried below snippet
from importlib.metadata import version
version ("delta_spark")

Thanks @zsxwing I found https://pypi.org/project/importlib-metadata/ . this is working in my local machine.
working code:
`from importlib_metadata import version
VERSION = version("delta-spark")`
Still in databricks its not working though (even in output of %pip list , delta-spark is not available)
I think in databricks docs(https://docs.databricks.com/release-notes/runtime/11.1.html) is only way know installed version.

Databricks Runtime is using a different way to pack delta lake and ship it. A version X.Y of Delta Lake in Databricks Runtime release note means this Databricks Runtime version supports all of public APIs existing in Delta Lake X.Y, but technically that's a super set rather than the exact version because of different release cadences.


Application Insights Availability Tile

Hello!
I have been setting up a template for Api dashboards in our company, and have been using the Tile; Application Insights Availability. Suddenly today the tile is not working, giving the error: ComponentId is Required. The tile has been working fine for the past few weeks.

When I download the dashboard.json and look at the part I can see the resourceId pointing to the correct application insights resource.
When I create a new dashboard I can't find the tile in the tile-gallery.

Did you remove the tile completely, or is this an error which will be fixed?

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

ID: 0712a54f-9713-32a4-430a-793b25aad1bd
Version Independent ID: af7d2d57-9412-6c46-80bb-e0ff0d73e8b6
Content: Azure Application Insights Overview Dashboard - Azure Monitor
Content Source: articles/azure-monitor/app/overview-dashboard.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @mrbullwinkle
Microsoft Alias: mbullwin

@daneri-norkart Thanks for reaching out! Could you please include a screenshot having the error you see?
I am able to see the Availability Test Summary Application Insights tile as under:

If possible, could you please try removing and reconfiguring the tile, and check if that helps?

1 = how the tile has looked before.
2, 3 = the error I'm getting right now.
4 = how the tile you are referencing looks. It seems to be a new addition which can't be scaled down to fit the size I'm working with.
the problem with removing the tile and adding it again is that the tile I was using is no longer in the tile gallery.

thanks for the quick response, btw :)

@daneri-norkart Sure, thanks for the addtional details.
#1 can be achieved by pinning the Availability blade to the desired dashboard.

You can then resize the tile as you see fit. :)

oh yeah, I see :)
What I'm working on is releasing multiple APIs in one dashboard, based on a Arm Template. Do you know why the tile was removed from the tile gallery? and if this happens often?
The name of the part has now changed from
Extension/AppInsightsExtension/PartType/AvailabilityNavButtonPart to Extension/AppInsightsExtension/PartType/WebTestsPinnedPart when working with the json parts. So it would be nice to have at least some consistency over a period of time where we dont have to update the arm template for every team. Or some notice of which tiles will not be available through the tile gallery.

@daneri-norkart Glad you could surface the component type. I'll try and check why this is so and get back once I get an update. Also, thanks for the feedback, and suggestion. I'll cascade this to our internal Teams.
On a side note, I'd like to let you know that this channel (the Azure Docs repository) is only for driving improvements related to the Azure documentation. The best place for specific answers about implementations are going to be the MSDN and Stack Overflow forums. We actively look through posts in the forums, and will do our best to get you going in the right direction!
At this point, it appears that there are no edits or updates needed to the document in question. Hence closing this issue for now. If there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation. Thanks again for reaching out!


Request: add step for setting up a StorageClass

Thank you so much for this tutorial. It's helped me understand k8s so much better than just blindly using kubeadm.
One issue I've been facing consistently is understanding how to setup an appropriate StorageClass for my clusters. After all was said and done going through this tutorial, I was unable to setup the example wordpress via tutorial, stuck at waiting for the PersistentVolumeClaim to bind.
$ k get pvc
NAME             STATUS    VOLUME    CAPACITY   ACCESS MODES   STORAGECLASS   AGE
mysql-pv-claim   Pending

I was wondering if you could add a step that sets up an NFS storage class or some other production appropriate solution?
Thanks!

In retrospect, I believe that this question demonstrates how much more I have to learn about Kubernetes :)


TO Go -- db access error if profile.cdn is null

hitting the POST /api/1.3/servers endpoint.   If the profile indicated has a null cdn, I get a db access error:
ERROR: servers.go:128: could not scan cdnID from profile: sql: Scan error on column index 0: converting driver.Value type <nil> ("<nil>") to a int: invalid syntax

The POST .../profiles endpoint doesn't allow a null cdn, but the profiles in seeds.sql create the initial set that way.   That needs to be fixed and a not null constraint placed on it,  or the servers endpoint needs to handle it appropriately.

+1 on not null.
Profiles apply to Servers and DSes, which should always be on one CDN, and using them for anything on a different CDN can cause all kinds of issues, and should never ever happen. Enforcing Profile CDNs with a foreign key and not-null will prevent those issues. Unless someone knows a scenario it's valid to have a cross-CDN profile?

my thought as well.
global profiles are cross-CDN,  but should use the ALL cdn,  which is created in seeds.sql

on the plus side,  it does detect if server cdn and profile cdn don't match


added support for option 'collection', which makes this plugin only effect files belonging to a collection, such as the ones created by 'metalsmith-collections'

I think this is good alternative to setting "permalink: false" in the front matter for people who want to rely more on metalsmith-collections.

+1, should be merged, very useful (if multiple invocations are supported, which PR #26 seem to confirm).

:+1: wanted this kind of functionality for a while :wink: #17

@ianstormtaylor any chance of this getting merged in?

What if I want different permalink patterns for different collections, as well as a fallback for other collections? I tried this:
  .use(permalinks({
    collection: 'pages',
    pattern: ':title'
  }))
  .use(permalinks({
    collection: 'blog',
    pattern: ':date/:title'
  }))
  .use(permalinks({
    pattern: ':collection/:title'
  }))

That made it translate pages/about.html to about/index.html (as specified in invocation 1), but it subsequently applied the fallback and unexpectedly went back to pages/about/index.html.
Since the plugin instances are unaware of eachother, would it make sense to somehow flag files that have already been processed? Or perhaps the plugin should take an array of config blocks.

@timdp it'd be cool if it'd add a unique key to flag if permalinks have been applied.  I'd say .path but I think there are some other metalsmith plugins that also apply that.  So if it threw in a ._permalinked = true to the file metadata, then if it's present then permalinks could skip over it.
Otherwise, an array approach would be nice and easily supported alongside the original object approach, to avoid breaking existing usages.

The array is basically what #26 accomplishes though. That one's working like a treat for me.

Thanks for the PR.
Could you resolve the conflicts or create a new PR based off master?


💡 [REQUEST] - <Adding Nextjs Blogs/Docs in resource Gallery..>

[x] I am from GSSoC23.
[x] I would like to be assigned this task.

fill [x] to check the boxes.

Section
Description

Concise Description
Adding Nextjs Blogs/Docs in resource Gallery..

Solution Proposed
It will be adding in web development Section n contains the blogs/docs

Code of Conduct
By submitting this issue, you agree to follow our Code of Conduct.

[x] I follow the Contributing Guidelines of this project.
[x] I have checked the current issues for duplicate problems.
[x] I have read the readme of this repository.

@Astrodevil and @bhartik021 added three resources in web development shown in the screenshot above under issue https://github.com/ZeroOctave/resource-gallery/issues/168 and PR https://github.com/ZeroOctave/resource-gallery/pull/170 under gssoc'23. plz revieww it.

@Astrodevil added three resources in web development shown in the screenshot above under issue https://github.com/ZeroOctave/resource-gallery/issues/168 and PR https://github.com/ZeroOctave/resource-gallery/pull/170 under gssoc'23. plz revieww it.

@Alkaison plz review the issue https://github.com/ZeroOctave/resource-gallery/issues/168 and PR https://github.com/ZeroOctave/resource-gallery/pull/170 under gssoc'23.

Hi @Shreya111111, I have approved the changes soon @Astrodevil will merged it.


Liveness/readiness checks

Adds endpoints for checking:

Styx is live (i.e. running)
Styx is ready (to serve traffic)

@mikkokar please can you review?

We have decided not to go ahead with this PR, however it did spawn two smaller pieces of work:
#389
#390


[8.x] Fix misordered assertEquals arguments

This PR fixes assertEquals arguments order in tests. It looks like assertSame doesn't have this issues.

I don't think we should fix it in 6.x or 7.x, not so important change, just to keep all the things right.

I am only happy with this if it won't cause merge conflicts with 6.x in the future. Otherwise, no need to change this.

But it is wrong now. First argument must be expected value. It will produce incorrect exception on fail.

Should I make this changes in 6.x then?

Replaced by #34665 targeted to 6.x
@GrahamCampbell I've checked. It is available to merge to 6.x, 7.x and 8.x without any issues.


Kanban board review

GitHub Repository Link (back-end): Hotel reservation
GitHub Repository Link (front-end): Hotel reservation
The number of students in the team: 5:

Abdallah
Eva
Jonathan
Serg
William

Kanban board screenshot:

Hi @BucurEva87 ,
Wow, you did it 🎉

Congratulations! 🎉
To highlight

All cards have descriptions, have been pointed, and assigned ✔

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Update MD file on new branch 2017-35-15_01-12-00

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Update UI info

Make blocks and peers into buttons
Change the logo and company name to CRUBN
Remove validators and contracts
Redirect blocks to the explorer
Redirect peers to href to peers

Hello, this PR cannot be merged into this repo as they include changes which are unsuitable. This should be merged into your own fork instead.

Oh, sorry, my bad, I did it by mistake, I'll close this.


MAINT: Change defaut STFT boundary kwarg to "zeros"

@endolith, @Eric89GXL, and I agreed in gh-7036 that extending the boundaries via zero-padding in stft is a more sensible default, this PR make that change. (I also made a tiny cleanup in the istft example)
@ev-br, I would hope to forward/back/laterally port this to 0.19

LGTM, +1 for merge. @endolith agree?

Sigh. Since it's a new feature, I'm fine with laterally porting it to 0.19.0. Whoever merges this, please mark it as a  backport-candidate.

@endolith agree?

Yep!

@e-q feel free to merge and backport

Sorry for any additional headaches, Evgeni! If you want, I can cherry-pick this onto the 0.19.x branch, but I'll defer to how you want to run things.

No problem,  none whatsoever :-). Glad that you guys figured it out. It's better than releasing a semi-broken thing and having to gothrough a deprecation --- that would have been a headache!
Feel free to cherry-pick it into 0.19.x. If you do it, please add the commit hashes here.
Else I'll lump forward- and backports once things settle down a bit. Either way works for me.

Ported to the 0.19.x branch in e1eefc9 and 1879b0d


Updated React dependencies

Updated react, react-dom and react-addons-test-utils to ^15.0.2.
This fixes UNMET PEER DEPENDENCY errors:
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm ERR! code 1

Thank you :)

I've been using react-look with the most recent versions of react and react-dom for the past month without any issues. However I can see that one of the tests is failing, so you might want to look at why that is before merging:
189 passing (3s)
  1 failing
  1) Calling getResolvedStyle should return prefixed styles styles:
      AssertionError: expected { Object (width) } to deeply equal { Object (width) }
      + expected - actual
       {
      -  "width": [
      -    "calc(30px)"
      -    "-moz-calc(30px)"
      -    "-webkit-calc(30px)"
      -  ]
      +  "width": "-webkit-calc(30px);width:-moz-calc(30px);width:calc(30px)"
       }

      at Context.<anonymous> (getResolvedStyle-test.js:98:74)

@wagerfield Yeah I already know that issue. It is caused by one of my other projects, inline-style-prefix-all which generated prefixed strings with fallback values if needed. With the newest version however it returns an array, to provide a better way to process those values if needed (Look doesn't, we simple have to join those values now).
Unfortunately I have done a minor update which should have be a major one as the API changed. Up to that day I was not aware of the fact that npm also automatically installs minor updates too :/
I will fix this as well with next update (this weekend)


eslint-import-resolver-webpack - webpack 2 support

Hey,
with webpack 2 you can export a function as configuration. It looks like eslint-import-resolver-webpack doesn't support this kind of configuration.
Is this true or I am just to dumb to configure it right?

Just checked out the source code and it seems I am to dumb to configure it right.


Drawing Failed

I run the example config.json and it gives me a replay.txt. Then I open the Simulator and load the files and press start. But I get a text from the Info Box that says "Drawing Roadnet Failed". What am I doing wrong?

You need to load both the replay-roadnet.json and replay.txt, please note that after running you will get a new roadnet.json, which is for the frontend.

why i  can only choose one of replay.txt and replay-roadnet.json in browser?

You need to load both the replay-roadnet.json and replay.txt, please note that after running you will get a new roadnet.json, which is for the frontend.

why i can only choose one of replay.txt and replay-roadnet.json in browser?

Have you solved the problem yet？

why i can only choose one of replay.txt and replay-roadnet.json in browser

Could you please give more detail on this issue, maybe a screenshot


Build wheel and add a script to extract to local system

This commit will provide develop a one-step operation to create a python wheel.
The wheel itself is still a WIP, but this should be a starting place for debugging.

The auditwheel repair command is failing and so, even though the wheel is created, it is not transferred to the local machine.
#20 1640.4 INFO:auditwheel.main_repair:Repairing pydrake-0.32.0-py3-none-any.whl
#20 1656.7 usage: auditwheel [-h] [-V] [-v] command ...
#20 1656.7 auditwheel: error: cannot repair "dist/pydrake-0.32.0-py3-none-any.whl" to "manylinux_2_5_x86_64" ABI because of the presence of too-recent versioned symbols. You'll need to compile the wheel on an older toolchain.
#20 ERROR: executor failed running [/bin/sh -c /bin/bash /image/build-wheel.sh]: exit code: 2

After a pip install pydrake, the error I'm seeing is:
root@26f7b0479313:~# python3 -c 'import pydrake; print(pydrake.__file__)'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/local/lib/python3.6/dist-packages/pydrake/__init__.py", line 41, in <module>
    from . import common
  File "/usr/local/lib/python3.6/dist-packages/pydrake/common/__init__.py", line 7, in <module>
    from ._module_py import *
ImportError: libdrake.so: cannot open shared object file: No such file or directory

root@26f7b0479313:/build-wheel/dist# auditwheel show pydrake-0.32.0-py3-none-any.whl

pydrake-0.32.0-py3-none-any.whl is consistent with the following
platform tag: "linux_x86_64".

The wheel references external versioned symbols in these
system-provided shared libraries: libstdc++.so.6 with versions
{'GLIBCXX_3.4.11', 'CXXABI_1.3.3', 'CXXABI_1.3.2', 'CXXABI_1.3.11',
'GLIBCXX_3.4', 'GLIBCXX_3.4.19', 'GLIBCXX_3.4.21', 'CXXABI_1.3.5',
'GLIBCXX_3.4.18', 'GLIBCXX_3.4.9', 'GLIBCXX_3.4.22', 'GLIBCXX_3.4.20',
'CXXABI_1.3.8', 'GLIBCXX_3.4.15', 'GLIBCXX_3.4.14', 'CXXABI_1.3',
'CXXABI_1.3.9'}, libc.so.6 with versions {'GLIBC_2.15', 'GLIBC_2.3.4',
'GLIBC_2.3', 'GLIBC_2.2.5', 'GLIBC_2.6', 'GLIBC_2.17', 'GLIBC_2.8',
'GLIBC_2.3.2', 'GLIBC_2.11', 'GLIBC_2.14', 'GLIBC_2.4', 'GLIBC_2.7'},
libpthread.so.0 with versions {'GLIBC_2.3.2', 'GLIBC_2.2.5',
'GLIBC_2.3.3'}, libgcc_s.so.1 with versions {'GCC_3.0'}, libm.so.6
with versions {'GLIBC_2.27', 'GLIBC_2.2.5'}, libdl.so.2 with versions
{'GLIBC_2.2.5', 'GLIBC_2.3.3'}, libQt5PrintSupport.so.5 with versions
{'Qt_5'}, libQt5Gui.so.5 with versions {'Qt_5'}, libQt5Widgets.so.5
with versions {'Qt_5'}, libQt5Core.so.5 with versions {'Qt_5',
'Qt_5_PRIVATE_API', 'Qt_5.9'}, libgfortran.so.4 with versions
{'GFORTRAN_7'},
.so.62 with versions {'LIBJPEG_6.2'},
liblzma.so.5 with versions {'XZ_5.0'}, librt.so.1 with versions
{'GLIBC_2.2.5'}, libz.so.1 with versions {'ZLIB_1.2.9',
'ZLIB_<IP_ADDRESS>'}

This constrains the platform tag to "manylinux_2_27_x86_64". In order
to achieve a more compatible tag, you would need to recompile a new
wheel from source on a system with earlier versions of these
libraries, such as a recent manylinux image.

@BetsyMcPhail, is this built in Docker? It seems not; there should not be any Qt5 libraries AFAIK/CT in the Docker build environment.

@BetsyMcPhail, is this built in Docker? It seems not; there should not be any Qt5 libraries AFAIK/CT in the Docker build environment.

Yes, it seems weird to me too. Maybe I polluted my docker somehow? I'm going to try again

Superseded by #4


ADR 013: Non-Interactive Default Rules for Zero Padding

Overview
This ADR looks at the possibility of reducing intra-blob padding to close to zero in most cases.
rendered
Todo:

[ ] Add Graphics

Checklist

[ ] New and updated code has appropriate documentation
[ ] New and updated code has new and/or updated testing
[ ] Required CI checks are passing
[ ] Visual proof for any user facing features like CLI or documentation updates
[ ] Linked issues closed with keywords

Not sure why this housekeeping workflow is breaking

Not sure why this housekeeping workflow is breaking

seems like a bug with forks. I'm working on it. https://github.com/celestiaorg/.github/issues/19

Soon we will have multiple blobs per a single PFB.

What are the specs/ideas for ordering those blobs? What does the commitment of this PFB look like?

What does the commitment of this PFB look like?

Currently, the PR has a merkle tree over all of the commitment, but as discussed in #1154 and https://github.com/celestiaorg/celestia-app/issues/1231, we will revert that and simply include each share commitment in the PFB. Originally we decided to move writing the ADR until after the feature freeze, but we might have to start it before that, as this topic requires more thought and buy-in

Can we merge this as proposed? been idle for a while

@nashqueue  yeah we can imo. I'd still like to get an approved tbh, as I think its a really good optimization

Btw I think the status field in these ADRs should be at the top so people can immediately see if they're proposed or accepted etc instead of only realizing it when they get to the bottom.

merging as proposed

merging as proposed, but we will have a sync discussion over this during the onsite


phonegap is not calling serial.requestpermission

Hey, I am new to phonegap rather I should say new to html and javascript as well. I am having some work in company. I want to develop android app using phonegap which communicates with usb serial port.
But serial.requestpermission() is not getting called. I am not getting any error.
I am just showing relevant code
js/index.js
function onDeviceReady() {
window.alert("Device is ready!!!");
serial.requestPermission({vid: 4292, pid: 60000 },
function success() {
window.alert("Success msg!!!");
},
function error() {
window.alert("error msg");
});
}
I am doing something wrong. Please help me out.
Thanks in advance.

Hello @harshali893
Sorry for the late reply, but did you managed to solve your problem?
Regards,
Xavier

Hi,
yeah I have just copied the contents of serial.js into my index.js and now it is calling serial.requestPermission .
But now it is executing errorcallback and is giving error class not found
i am not getting what is the issue exeactly.

Please have a look to the  readme in order to see how to use this plugin.
You're doing it wrong.
Regards

I have gone through readme again and I am back to my previous error.
Should I specify path for serial.js in my index.html. Or add something in config.xml of my project.

Now I have removed code of serial.js from index.js

Now I have copied serial.js into my www/js directory.
And serial.requestPermission() is getting called and is returning callback error as class not found.
Please explain what I am doing wrong. Since 8 days I am stuck on it.
Otherwise I will be fired now. :'(

Hey I have seen one of issues on this site.
So here are the details
Phonegap version is 5.1.1-0.29.0
Android Device version is 4.3
I am not doing it on emulator.
I am just doing phonegap serve

Please learn to use cordova and post some code.

Okay. I will study it deeply then let's see what I am doing wrong.
Thanks for reply.

http://cordova.apache.org/docs/en/edge/guide_cli_index.md.html#The Command-Line Interface

And please tell me what is the serial device you use.

The device I am using is hemoglobin Testing system.
And the chip is CP210

I was mixing up phonegap and cordova. I just realised there are some differences.

Hi @harshali893 any updates?


qrenderdoc crashes loading capture

Description
qrenderdoc segfaults when loading a capture
Steps to reproduce
This is a capture of my own Unity project:
https://drive.google.com/file/d/1Bnoc8B8l7x2BA-Ct70d602Hoe8lBrZ2x/view?usp=sharing
Environment

RenderDoc version: git
Operating System: ArchLinux
Graphics API: Vulkan

Stack trace
#0  WrappedVulkan::Serialise_vkGetDeviceQueue<ReadSerialiser> (this=0x7fd72c00b2b0, ser=..., device=0x0,
    queueFamilyIndex=0, queueIndex=0, pQueue=0x0)
    at /home/shui/programs/renderdoc/renderdoc/driver/vulkan/wrappers/vk_queue_funcs.cpp:48
#1  0x00007fd81fe420cd in WrappedVulkan::ProcessChunk (this=0x7fd72c00b2b0, ser=...,
    chunk=VulkanChunk::vkGetDeviceQueue) at /home/shui/programs/renderdoc/renderdoc/driver/vulkan/vk_core.cpp:3145
#2  0x00007fd81fe3f385 in WrappedVulkan::ReadLogInitialisation (this=0x7fd72c00b2b0, rdc=0x7fd72c0047a0,
    storeStructuredBuffers=false) at /home/shui/programs/renderdoc/renderdoc/driver/vulkan/vk_core.cpp:2581
#3  0x00007fd81ffd0a99 in VulkanReplay::ReadLogInitialisation (this=0x7fd72c00e4a0, rdc=0x7fd72c0047a0,
    storeStructuredBuffers=false) at /home/shui/programs/renderdoc/renderdoc/driver/vulkan/vk_replay.cpp:224
#4  0x00007fd820bc4afd in ReplayController::PostCreateInit (this=0x7fd72c005a50, device=0x7fd72c00e4a0,
    rdc=0x7fd72c0047a0) at /home/shui/programs/renderdoc/renderdoc/replay/replay_controller.cpp:2150
#5  0x00007fd820bc43b8 in ReplayController::CreateDevice (this=0x7fd72c005a50, rdc=0x7fd72c0047a0, opts=...)
    at /home/shui/programs/renderdoc/renderdoc/replay/replay_controller.cpp:2117
#6  0x00007fd820b98518 in CaptureFile::OpenCapture(ReplayOptions const&, std::function<void (float)>) (
    this=0x7fd72c004610, opts=..., progress=...)
    at /home/shui/programs/renderdoc/renderdoc/replay/capture_file.cpp:364
#7  0x000055838cbc5ac2 in ReplayManager::run(int, QString const&, ReplayOptions const&, std::function<void (float)>) (
    this=0x7ffc1a2c0130, proxyRenderer=-1, capturefile=..., opts=..., progress=...)
    at ../../qrenderdoc/Code/ReplayManager.cpp:453
#8  0x000055838cbc2960 in operator() (__closure=0x7fd734003410) at ../../qrenderdoc/Code/ReplayManager.cpp:57
#9  0x000055838cbc8b10 in std::__invoke_impl<void, ReplayManager::OpenCapture(const QString&, const ReplayOptions&, RENDERDOC_ProgressCallback)::<lambda()>&>(std::__invoke_other, struct {...} &) (__f=...)
    at /usr/include/c++/11.2.0/bits/invoke.h:61
#10 0x000055838cbc782f in std::__invoke_r<void, ReplayManager::OpenCapture(const QString&, const ReplayOptions&, RENDERDOC_ProgressCallback)::<lambda()>&>(struct {...} &) (__fn=...) at /usr/include/c++/11.2.0/bits/invoke.h:154
#11 0x000055838cbc6a50 in std::_Function_handler<void(), ReplayManager::OpenCapture(const QString&, const ReplayOptions&, RENDERDOC_ProgressCallback)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...)
    at /usr/include/c++/11.2.0/bits/std_function.h:291
#12 0x000055838cb7d712 in std::function<void ()>::operator()() const (this=0x7fd734001f40)
    at /usr/include/c++/11.2.0/bits/std_function.h:560
#13 0x000055838cbc9b93 in LambdaThread::process (this=0x7fd734001f30) at ../../qrenderdoc/Code/QRDUtils.h:351
#14 0x000055838cbcb400 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (LambdaThread::*)()>::call(void (LambdaThread::*)(), LambdaThread*, void**) (
    f=(void (LambdaThread::*)(LambdaThread * const)) 0x55838cbc9b54 <LambdaThread::process()>, o=0x7fd734001f30,
    arg=0x7fd75f7fdce0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:152
#15 0x000055838cbcb12b in QtPrivate::FunctionPointer<void (LambdaThread::*)()>::call<QtPrivate::List<>, void>(void (LambdaThread::*)(), LambdaThread*, void**) (
    f=(void (LambdaThread::*)(LambdaThread * const)) 0x55838cbc9b54 <LambdaThread::process()>, o=0x7fd734001f30,
    arg=0x7fd75f7fdce0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:185
#16 0x000055838cbcac4d in QtPrivate::QSlotObject<void (LambdaThread::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x7fd73400b6b0, r=0x7fd734001f30, a=0x7fd75f7fdce0,
    ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:418
#17 0x00007fd81e7d8463 in ?? () from /usr/lib/libQt5Core.so.5
#18 0x00007fd81e5fd9cf in QThread::started(QThread::QPrivateSignal) () from /usr/lib/libQt5Core.so.5
#19 0x00007fd81e5ff8b2 in ?? () from /usr/lib/libQt5Core.so.5
#20 0x00007fd81dfed5c2 in start_thread () from /usr/lib/libc.so.6
#21 0x00007fd81e072584 in clone () from /usr/lib/libc.so.6

From this capture it looks like your application creates multiple VkDevice objects simultaneously, which is not supported.
If your application can be refactored to only use a single VkDevice then that should work, if you have trouble with that please open a new issue and I can investigate.

@baldurk is it possible to have renderdoc ignore the other devices?

No it's not. If you created the devices in separate instances then you could choose which instance to capture from, but within an instance there's no way to select a particular device and no support for filtering only to that device and its children.


1.9.x - Feature parity - Add Metaphors(go and frontend)

Overview
Github is missing frontend/go metaphor
Goal
To create a common process do deploy metaphor and family to github and gitlab.

solved on #253


Fix compile and runtime errors

Was getting compile errors with XCode 6.4 and runtime errors with the current version of Swifter. I've fixed both of these issues and it works fine now.

I think we can do well without forced unwrap.
responseString as String
What do you think?

True, only need ! on one line,
let responseString = NSString(data: data, encoding: NSUTF8StringEncoding)!

or the next line
responseString as! String

Encouraging to see a now undocumented but powerful twitter API being utilized! Thanks a lot, @Paludis! :smiley:


SAK-29058: fix button duplication caused by multiple presses of enter in gradebook

Okay, makes sense +1


[execution] fix time spend in storage to save txns chart

Update the time spend in storage to save txns chart as the counter
block_execute_time_us has been updated to block_execute_time_s
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Updated on the dashboard and exported from there.

I see it's still _us in master as of now?

@msmouse good catch! I changed the wrong counter :(  Updated the PR to the correct one.


Fix struct newtype deserialization (and add tests)

Fixes #41
I only had to fix the deserializer - the serialization already works. So now they work the same way - you can serialize something and then deserialize it losslessly.
I also added tests for serialization and deserialization. Let me know if there's anything you'd like changed.

Nice. Could you bump the version to 0.5.4 while at it?

Sure - version bumped

bors r+
Feel free to ping me if I forget to publish the new version once this lands.

@nox ping! I actually have no idea how long it takes for you to cut a release, so I'll ping you again in a day or two if I don't see it.


Add build-time headers/packages for "import dbm" to work properly on 2.7 slim and alpine variants

Fixes #105
(See also https://github.com/docker-library/official-images/pull/2033)

I'm planning to deal with whatever rebase fallout comes out of #139 too (if any).

LGTM, and no merge conflicts!


feature: add trust hosts params for dfdaemon

Ⅰ. Describe what this PR did
As dfdaemon be used to http_proxy mode, all the requests with host
are not local ip of dfdaemon then client will got a 403 error code.
Add a trust-hosts command line params and determine the request wether
be trusted or not, if it's trusted we directly forward them.
Ⅱ. Does this pull request fix one issue?

Related to issue:
https://github.com/dragonflyoss/Dragonfly/issues/385
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
None
Ⅳ. Describe how to verify it

./dfdaemon --trust-hosts repo.image.local,ui.repo.image.local,t1.repo.image.local

inscure-registry be configured ["repo.image.local","ui.repo.image.local","t1.repo.image.local", "t2.repo.image.local"]

docker.service file be configured Environment="HTTP_PROXY=http://<IP_ADDRESS>:65001"

docker pull repo.image.local/nginx which download image successfully

docker pull t2.repo.image.local/nginx which not in the --trust-hosts 403 error be raised.

--
Ⅴ. Special notes for reviews
/cc @allencloud  @lowzj

Codecov Report

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

@@           Coverage Diff           @@
##           master     #389   +/-   ##
=======================================
  Coverage   57.36%   57.36%
=======================================
  Files          43       43
  Lines        2146     2146
=======================================
  Hits         1231     1231
  Misses        851      851
  Partials       64       64

Impacted Files
Coverage Δ

dfdaemon/global/global.go
92.3% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

You can modify the title of this PR according to the doc of contributing in the root-dir.

As dfdaemon be used to http_proxy mode, all the requests with host
are not local ip of dfdaemon then client will got a 403 error code.

I am not sure whether it is really compatible with an http_proxy, most of the http_proxies I see is simply a tcp server, and accepts CONNECT requests.
If it is, then perhaps we should document this clearly somewhere.

@zhouhaibing089
Tcp is transparent for us, cause dfdaemon is a http server i think, why we need care about it?

@lowzj  Any suggestions?

Does this PR could be merged？@lowzj

merged via command line


Delta Lake extractor problems and clarity

I have tried getting Amundsen to properly ingest our Delta Lake schemas and am hitting some issues.
The documentation is not particularly clear on how it fits together, so I will explain our setup and it would be great if someone could chime in. I couldn't find really anything out there about this on the web, so if anyone has a working setup of this it would also be cool to see.
Our Delta Lake is on s3, and I have created the hive metastore tables of our delta tables and they are working correctly inside hive.
In terms of the delta lake extractor, which it says needs to be linked to the hive containing the delta metadata, which I do as part of the spark submit which will be shown a bit lower.
What are the cluster_key and database required as part of the delta_lake_config in the extractor example? https://github.com/amundsen-io/amundsen/blob/main/databuilder/example/scripts/sample_deltalake_metadata.py
cluster_key = ''
database = ''

These aren't mysql or hive terms so tried a few things relating to the table name in hive and such but not getting anywhere.
Our spark-submit of this extractor script completes and does make a connection to neo4j but no data seems to be scraped or ingested.
This is our spark-submit, containing the hive warehouse with all the metadata of our deltalake tables in
spark-submit  --conf spark.hadoop.hive.metastore.warehouse.dir=/tmp/hive/deltalake test-delta.py

Our hive is configured in hive-site.xml with
<property>
  <name>spark.sql.warehouse.dir</name>
  <value>/tmp/hive/deltalake</value>
</property>

Any pointers with delta lake and amundsen would be really great.

It may need some addition efforts if you run the extractor outside of a Databricks cluster.

@feng-tao that would make sense, databricks was only mentioned in passing in comments in the code without a hard dependency/reliance though.
Have you got any idea what we might need to dive into here or is it not feasible?

@dan-origami are you using hive for spark.sql.catalogImplementation? Spark needs to use Hive as a metastore. I personally setup Spark with remote Hive metastore via Thrift protocol. For the cluster_key, the value does not matter. I kept it the same as the default value (my_delta_environment) in the sample script. For database, assuming you create a table in the database in the example below:
spark.sql('CREATE DATABASE testdb')
spark.sql("CREATE TABLE testdb.testtable ( \
    date STRING, \
    eventId STRING, \
    eventType STRING, \
    data STRING) \
USING delta \
LOCATION 's3a://test/testtable'")

Then your database value will be testdb. After doing spark.sql('CREATE DATABASE testdb'), you can verify if Hive metastore syncs with Spark by doing spark.sql('show databases').
Hope this helps.


Created using Colaboratory

Mention AWS as cloud provider in addition to GCP

I think what needs to be changed is part 3 of the tutorial. There are no prerequisite to downloading data from AWS, the only adjustment is the download tool - s5cmd instead of gsutil, and which column is used to get the URLs. Mentioning AWS in part 1 is somewhat out of place, because nothing is done wrt AWS in part 1.

OK. I'll let you do these notebooks.
On Mon, May 1, 2023 at 6:40 PM Andrey Fedorov @.***>
wrote:

I think what needs to be changed is part 3 of the tutorial. There are no
prerequisite to downloading data from AWS, the only adjustment is the
download tool - s5cmd instead of gsutil, and which column is used to get
the URLs. Mentioning AWS in part 1 is somewhat out of place, because
nothing is done wrt AWS in part 1.
—
Reply to this email directly, view it on GitHub
https://github.com/ImagingDataCommons/IDC-Tutorials/pull/23#issuecomment-1530754683,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGK2VIZ3MJINBQ6GGTHSVU3XEBQYLANCNFSM6AAAAAAXSKIEUU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Do you want me to work on other notebooks?
On Mon, May 1, 2023 at 6:41 PM Bill Clifford @.***>
wrote:

OK. I'll let you do these notebooks.
On Mon, May 1, 2023 at 6:40 PM Andrey Fedorov @.***>
wrote:

I think what needs to be changed is part 3 of the tutorial. There are no
prerequisite to downloading data from AWS, the only adjustment is the
download tool - s5cmd instead of gsutil, and which column is used to get
the URLs. Mentioning AWS in part 1 is somewhat out of place, because
nothing is done wrt AWS in part 1.
—
Reply to this email directly, view it on GitHub
https://github.com/ImagingDataCommons/IDC-Tutorials/pull/23#issuecomment-1530754683,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGK2VIZ3MJINBQ6GGTHSVU3XEBQYLANCNFSM6AAAAAAXSKIEUU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Superseded by https://github.com/ImagingDataCommons/IDC-Tutorials/commit/46567f806db1d4a155c286d1ef0b98d8e244f9f3.
Sorry, just saw your comment re other notebooks. I've just updated part 3.


examples: make output-power-management oneshot by default

As discussed in IRC, with oneshot mode, we can use this example client as a keybinding or anything like that. Otherwise, the user will have to manually kill the client each time.

LGTM, can you squash these changes?

Yes, done :)

Thanks!


Add Community::EC2::CoreNetworkRoute

Issue 119.
Adds Community::EC2::CoreNetworkRoute which is a route in a routetable to a CloudWan core network.

Hmm, we just found out that this resource needs to be a little bit smarter. It should wait for the VPCAttachment that connects the VPC where the route table is to the CoreNetwork is actually available otherwise it will fail.
This is especially relevant in the scenario where an approval is necessary to attach a VPC to the CoreNetwork (recommended option)


Fix typo, this release has no changes

Hello and thank you for this action. Here is a fix for a tiny typo I found out on the logs. Thank you for accepting and releasing a new version.

https://github.com/MeilCli/bump-release-action/releases/tag/v1.4.21
I released v1.4.21 including this PR, Thank you!


Create Login Page

Overview
"The best programmers don't write code, they copy it" - Senior SWE Sai Vipin Siripurapu, August 2022
TODO: LINK FIGMA

Set up a basic donation form skeleton using Chakra UI components

Refer to Chakra Documentation for syntax
Follow the Database Model for adding new fields

Add validation using Yup

Refer to FYA Yup Example as an example of what to do
Refer to Yup Documentation for syntax

Notes

Refer to bootcamp task 2 and Chakra documentation for how to implement input fields.
Refer to Yup and react-hook-form documentation for how to implement validation.
General page positioning should be done with flexbox
The end product should look exactly like the Figma.

Acceptance Criteria
For aesthetics

End product looks exactly like Figma

For validation

Both input fields are strings and required (Reference FYA Yup)
In case you're wondering, Firebase will be handling the actual validation, but that part comes later :)
This task should be demod to tech leads

Resources

Flexbox
Chakra Input Documentation
FYA Yup
Yup Documentation
Yup Youtube video
React Hook Form Documentation
Screenshot of the Login page (The Figma isn't shared at the time I'm making this :P)

As always, feel free to pm Claude or Alan on Slack for support

Note: This task is likely going to spill into winter quarter so do this after #10


Clear scrollback on terminal clear in watch mode

simply tweak clear codes and check 'em in different envs
main purpose was to clear scrollback buffer, instead of just clearing screen
Summary
clear scroll back on watch mode. helps a lot if you have output which you want to scroll up
Test plan
tested with this diff just to show that I have patched version of jest running:
diff --git a/packages/jest-cli/src/jest.js b/packages/jest-cli/src/jest.js
index f499dd3..77ff3e1 100644
--- a/packages/jest-cli/src/jest.js
+++ b/packages/jest-cli/src/jest.js
@@ -285,6 +285,7 @@ const runCLI = (
   argv = argv || {};
   if (argv.version) {
     pipe.write(`v${VERSION}\n`);
+    pipe.write(`PATCHED VERSION FROM 1861-clr-scroll-on-watch\n`);
     onComplete && onComplete();
     return;
   }

on each test, I have to add jest/packages to NODE_PATH and do npm link inside of jest/packages/jest-cli, to make patched jest available globally
then run jest --version just to ensure that I'm running my patched version, and then, finally, run jest --watch
checked on:

OS X with zsh
Windows 7 with cmd
Ubuntu with bash

(sorry, no videos nor gifs. removed them)
I think I have not break anything with this change. However, windows 10 with powershell is untested. Do you want me to test it also, @cpojer ?
And, cc @gaearon , please take a look on this PR.
P.S. However, I don't have GUI Linux and can't check on it...

And, yup, this pr is related and should close #1861

Current coverage is 89.36% (diff: 100%)

Merging #2230 into master will not change coverage

@@             master      #2230   diff @@
==========================================
  Files            39         39
  Lines          1467       1467
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1311       1311
  Misses          156        156
  Partials          0          0

Powered by Codecov. Last update 88cdb51...a7a51d8

I'll take a look at this next week. I want to test it thoroughly but my schedule is just too packed right now and I need more time.

Will this work correctly in a tmux pane as well?

@SimenB yes. from 1.6 version
link to tmux changes file:
https://github.com/tmux/tmux/blob/23254f59daea7415c96bc323d3b48d35c1b21327/CHANGES#L391-L392

Support for \e[3J to clear the history and send the corresponding
terminfo code (E3) before locking.

Awesome, thanks for digging that up!

LGTM.


paket restore not working with nexus nuget proxy and normalized version number

Description
When I am trying to restore nuget package SourceLink.Fake with version 1.1.0 from a nexus nuget proxy server I get the following error message:
Paket version 4.8.5
Downloading SourceLink.Fake 1.1
Something went wrong while downloading SourceLink.Fake 1.1
Message: Could not download SourceLink.Fake 1.1.
    Couldn't get package details for package SourceLink.Fake 1.1 on http://localhost:8081/repository/nuget.org-proxy.
  ==> Trying again
Downloading SourceLink.Fake 1.1
Something went wrong while downloading SourceLink.Fake 1.1
Message: Could not download SourceLink.Fake 1.1.
    Couldn't get package details for package SourceLink.Fake 1.1 on http://localhost:8081/repository/nuget.org-proxy.
  ==> Last trial
Downloading SourceLink.Fake 1.1
Paket failed with:
        Could not download SourceLink.Fake 1.1.
    Couldn't get package details for package SourceLink.Fake 1.1 on http://localhost:8081/repository/nuget.org-proxy.

SourceLink.Fake is just an example. It will not work for any other package and version with trailing 0.
paket.dependencies
source http://localhost:8081/repository/nuget.org-proxy/
nuget SourceLink.Fake = 1.1.0

paket.lock
NUGET
  remote: http://localhost:8081/repository/nuget.org-proxy
    SourceLink.Fake (1.1)

#1777 might be related.
Repro steps

Install nexus nuget proxy server. Easiest way using docker: docker run -d -p 8081:8081 --name nexus sonatype/nexus3. https://hub.docker.com/r/sonatype/nexus3/
Setup minimal project with paket.exe and paket.dependencies as stated above.
Run .paket/paket.exe install
Delete package/ directory
Run .paket/paket.exe clear-cache
Run .paket/paket.exe restore

See test.zip. Steps 3 and 4 can be skipped when using project in zip file.
Expected behavior
The expected result is that paket restores the needed nuget paket to package/ folder
Actual behavior
An error occurs and the package is not restored.
I believe this is the important part of verbose output of .paket/paket.exe restore (full log: verbose.txt):
Downloading SourceLink.Fake 1.1
Response from http://localhost:8081/repository/nuget.org-proxy/Packages?$filter=(tolower(Id) eq 'sourcelink.fake') and (NormalizedVersion eq '1.1.0'):

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<feed xml:base="http://localhost:8081/repository/nuget.org-proxy/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
  <title type="text">Packages</title>
  <id>http://localhost:8081/repository/nuget.org-proxy/Packages</id>
  <updated>2017-05-08T12:37:06.654Z</updated>
  <link rel="self" title="Packages" href="Packages"/>
  <m:count>0</m:count>
</feed>
Response from http://localhost:8081/repository/nuget.org-proxy/Packages?$filter=(tolower(Id) eq 'sourcelink.fake') and (Version eq '1.1'):

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<feed xml:base="http://localhost:8081/repository/nuget.org-proxy/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
  <title type="text">Packages</title>
  <id>http://localhost:8081/repository/nuget.org-proxy/Packages</id>
  <updated>2017-05-08T12:37:06.890Z</updated>
  <link rel="self" title="Packages" href="Packages"/>
  <m:count>0</m:count>
</feed>
Error while retrieving 'http://localhost:8081/repository/nuget.org-proxy/Packages(Id='SourceLink.Fake',Version='1.1')': System.AggregateException: One or more errors occurred. ---> System.Net.WebException: The remote server returned an error: (404) Not Found.
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
   at System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result)
   --- End of inner exception stack trace ---
---> (Inner Exception #0) System.Net.WebException: The remote server returned an error: (404) Not Found.
   at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   at System.Net.WebClient.GetWebResponse(WebRequest request, IAsyncResult result)
   at System.Net.WebClient.DownloadBitsResponseCallback(IAsyncResult result)<---

I believe the second request should be requesting Version eq '1.1.0' because 1.1.0 is the non-normalized version of the nuget package.
Known workarounds
There are multiple ways to work around this issue:

Do not use nuget proxy but the official nuget.org server
Run .paket/paket.exe update
Delete paket.lock and run .paket/paket.exe install

Is this a regression? Ie is an older version of paket working?

No, it does not seem so. I just tried it with versions 3.0.0 and 4.0.0 with the same result. Are there any specific versions I should try?

I am experiencing problems with Nexus 3 also.

Paket version 5.1.7
Resolving packages for group Build:

NuGet.CommandLine is pinned to 3.4.3
Package not available.
Message: Unable to retrieve package details for 'NuGet.CommandLine'-3.4.3

I downgraded to 4.8.7 which works with no problems.
So in my case this is for sure a regression.
Is there any way to use the bootstrapper to grab a specific version of Paket?

yes you call with the version as argument https://fsprojects.github.io/Paket/bootstrapper.html

Thanks. It works now with the old version.
Here are some more errors i get. I am not sure if it helps or if i should run it in verbose mode maybe for a single package.

FluentAssertions is pinned to 4.13.0
At least one 'next' link (index 0) returned a empty result (noticed on >'http://<IP_ADDRESS>:9001/repository/nuget-package-group/Packages()?>$filter=tolower%28Id%29+eq+%27commandlineparser%27&semVerLevel=2.0.0&$skip=40'): >>>['http://<IP_ADDRESS>:9001/repository/nuget-package-group/Packages()?>$skip=80&$filter=tolower%28Id%29+eq+%27commandlineparser%27&semVerLevel=2.0.0']
NUnit is pinned to 3.4.1
Got multiple results in OData query ('http://<IP_ADDRESS>:9001/repository/nuget-package->group/Packages?$filter=(tolower(Id) eq 'nunit') and (Version eq '3.4.1')') for package NUnit 3.4.1, the >feed might be broken

@b0urb4k1 a full (with -v) and a minimal log (without -v) would be helpful. (+ dependencies file if possible)

Also if possible please add the same logs for the old (working) version. Thanks!

I compiled a gist with all the (hopefully) relevant data.
https://gist.github.com/b0urb4k1/c724bac98629e561d96040cdc106d59b

@b0urb4k1 Can you please open a new issue as I don't think it the same as the initial post.
Can you try setting PAKET_RESOLVER_TASK_TIMEOUT on higher values like 60000 for 60 seconds and report back?

@PMudra can you try again? This might have been solved recently.

Unfortunately, I still get the same error message.
Version: 5.5.3

ok I can repro!

I just released paket 5.6.3 with a fix. But I assume it's a bug in sonatype since NormalizedVersion is 1.1.0 and it can't retrieve that. please also report it with sonatype directly.

Thanks for the fix. I tried again and it is working now!
I found this issue on sonatypes jira: https://issues.sonatype.org/browse/NEXUS-6159
The missing NormalizedVersion is mentioned there.


BsonWriter writes the bytes of a Guid in the wrong order

The following line of code:
https://github.com/JamesNK/Newtonsoft.Json/blob/8.0.2/Src/Newtonsoft.Json/Bson/BsonWriter.cs#L470
assumes that Guid.ToByteArray returns the bytes in the expected order, but due to a quirk in the Microsoft implementation of ToByteArray it returns the bytes in a completely unexpected order, resulting in Json.NET writing the bytes of the Guid in the wrong order.
The following short program reproduces the issue:
using System;
using System.IO;
using Newtonsoft.Json;
using Newtonsoft.Json.Bson;

namespace ReproduceJsonDotNetGuidBug
{
    public class C
    {
        public Guid G;
    }

    public static class Program
    {
        public static void Main(string[] args)
        {
            var c = new C { G = Guid.Parse("01020304-0506-0708-090a-0b0c0d0e0f10") };

            var serializer = new JsonSerializer();
            using (var memoryStream = new MemoryStream())
            using (var bsonWriter = new BsonWriter(memoryStream))
            {
                serializer.Serialize(bsonWriter, c);
                var bson = memoryStream.ToArray();
                Console.WriteLine(BitConverter.ToString(bson));
            }
        }
    }
}

The output of which is (slightly formatted by me to show the BSON document structure):
1D-00-00-00 total document length = 29
05 element type = binary
47-00 element name = "G" (null terminated)
10-00-00-00 number of bytes in the binary value = 16
04 binary subtype = 4 (BinarySubType.Uuid)
04-03-02-01-06-05-08-07-09-0A-0B-0C-0D-0E-0F-10 = the bytes of the Guid
00 end of document
Note the unexpected order of the bytes of the Guid:
04-03-02-01-06-05-08-07-09-0A-0B-0C-0D-0E-0F-10
The correct order of the bytes is:
01-02-03-04-05-06-07-08-09-0A-0B-0C-0D-0E-0F-10
MongoDB drivers also support Guids stored using the old BinarySubType = 3, but that is a more complicated question, since for BinarySubType = 3 the byte order of the Guids varied from driver to driver (which is the main reason BinarySubType = 4 was introduced so that all drivers would standardize on the expected byte order).

I'm not sure whether I can fix this. Any change would destroy backwards compatibility of any saved BSON.

It's a tough one... the choice is between compatibility with any existing (incorrect) BSON that was written using Json.NET and compatibility with the BSON spec and data exchanged with MongoDB databases (the likely source or destination of BSON data).

Does anyone use BSON for persistent data storing?
I guess it is only used to transfer data.

Well, this was extremely painful and took forever to debug... It would be greatly appreciated to have a config option for this, or at least clearly documented as errata (couldn't find anything mentioning this)
MongoDB for example had a global singleton setting BsonDefaults.GuidRepresentation (deprecated and can be configured at the serializer level now).
Not to be rude, I'm just surprised that this was sort of written off as probably unfixable, when a configurable default easily addresses backward compatibility, no?

This project is at the end of its support if any.


SPM model only solved at two time points

Describe the bug
When solving the SPM model, whatever the time points put into the solver, the solver only returns the solution at two time points. This is not caught by the current tests
To Reproduce
Steps to reproduce the behaviour:

Run the test_li_ion.py test
print out the time vector T in test_surface_concentration

Expected behaviour
solver should return the solution at all the time points specified (np.linspace(0,1,100))

It looks like the concentration in the negative electrode is hitting the cut-off after the second time-step.
Running with modeltest.test_all(t_eval=np.linspace(0, 0.01, 100)), or setting a higher initial concentration with
model.default_parameter_values.update({"Initial concentration in negative electrode": 6000})

gives the solution at more time steps.
There must be a typo in the parameters (diffusivity too low, initial conditions too low or boundary conditions too high?), because the way the model is non-dimensionalised you would expect the solution to run for almost one unit of time - can you check this @Scottmar93 @rtimms ?

In process of getting DFN to work I found that all timescale ratios were entered the wrong way round and there were some errors in the way the ocps were entered. I have corrected these along with some other small errors within in the branch issue-74-implement-DFN. You could merge in pybamm/parameters/standard_parameters_lithium_ion.py, input/parameters/lithium-ion/graphite_mcmb2528_ocp_Dualfoil.py, and lico2_ocp_Dualfoil.py. Although this branch isn't stable yet. Hopefully should be ready by tomorrow somepoint.

may in addition be problems related to #239

made pull request #241 which is stable and addresses most of the parameters problems (except #239)

@martinjrobins Is this issue now resolved for you?

yup, this looks good, thanks @Scottmar93!


Prepare 1.1-8 release

Also changed the find_load* operations to return a string instead than FFI cdata.

Hi John,
I noticed that 1.1-8 had not yet been uploaded to LuaRocks. Could you perhaps upload a new version? Thanks.


SPI output stops while XLink and the rest of the pipeline keep running

I'm running into a really weird issue. I've got a pipeline that sends a lot of data to the host over serial and just spatial detection data to the ESP32 over SPI. After a few minutes (2-10) of running, one of two things will happen:

The whole pipeline crashes with the message "[system] [critical] Fatal error. Please report to the developers. Log: 'PlgWarpHW' '741'. It looks like this issue was addressed in this pull request, which I am just waiting to be merged into main.
The SPI output appears to die while all the XLink outputs still work fine. There are no error messages on the host, and the ESP32 outputs "Timeout: no response from remote device..." and "failed to recv packet" on repeat.

I've tried checking the temperatures using the SystemLogger node, and the temps were around 80 C when the SPI output stopped working the first time, (although this isn't consistent; I've seen it work at 90 C), which is well within the 105 C limit. Any thoughts on what might be causing number 2 and how I could address this issue?
I'm working on getting a minimal example that reproduces the code. I've been able to recreate the issue by adapting the spatial-mobilenet example to use the same pipeline I'm using. Now I'm trying to figure out what I can remove while still making the problem occur.

Here's some minimal(ish) reproducible code, meant to be run on the host, with the spatial_image_detections code running on the ESP32. The lines that are commented out are lines that make the pipeline more like the one I'm using in my real application, but I was able to still make the SPI output stop working without these lines.
#!/usr/bin/env python3

from pathlib import Path
import sys
import cv2
import depthai as dai
import numpy as np
import time
from time import sleep

"""
Spatial detection network demo over SPI.
    Performs inference on RGB camera and retrieves spatial location coordinates: x,y,z relative to the center of depth map.
"""

spiOut = True

# MobilenetSSD label texts
labelMap = [
    "background",
    "aeroplane",
    "bicycle",
    "bird",
    "boat",
    "bottle",
    "bus",
    "car",
    "cat",
    "chair",
    "cow",
    "diningtable",
    "dog",
    "horse",
    "motorbike",
    "person",
    "pottedplant",
    "sheep",
    "sofa",
    "train",
    "tvmonitor",
]

syncNN = False

# Get argument first
nnBlobPath = "/home/autonomy/vermeer/vmg_host/submodules/depthai-python/examples/models/mobilenet-ssd_openvino_2021.4_5shave.blob"
# nnBlobPath = str(
#     (Path(/home/autonomy/vermeer/vmg_host/submodules/depthai-python/examples/models/mobilenet-ssd_openvino_2021.4_5shave.blob)
#     .resolve()
#     .absolute()
# )
if len(sys.argv) > 1:
    nnBlobPath = sys.argv[1]

# Start defining a pipeline
pipeline = dai.Pipeline()

# Define a source - color camera
colorCam = pipeline.create(dai.node.ColorCamera)
spatialDetectionNetwork = pipeline.create(dai.node.MobileNetSpatialDetectionNetwork)
monoLeft = pipeline.create(dai.node.MonoCamera)
monoRight = pipeline.create(dai.node.MonoCamera)
stereo = pipeline.create(dai.node.StereoDepth)

xoutRgb = pipeline.create(dai.node.XLinkOut)
# xoutNN = pipeline.create(dai.node.XLinkOut)
# xoutBoundingBoxDepthMapping = pipeline.create(dai.node.XLinkOut)
xoutDepth = pipeline.create(dai.node.XLinkOut)
# serial_out_imu = pipeline.create(dai.node.XLinkOut)
serial_out_confidence_map = pipeline.create(dai.node.XLinkOut)
serial_out_left = pipeline.create(dai.node.XLinkOut)
serial_out_right = pipeline.create(dai.node.XLinkOut)
serial_out_sys_info = pipeline.create(dai.node.XLinkOut)

xoutRgb.setStreamName("rgb")
# xoutNN.setStreamName("detections")
# xoutBoundingBoxDepthMapping.setStreamName("boundingBoxDepthMapping")
xoutDepth.setStreamName("depth")
# serial_out_imu.setStreamName("imu")
serial_out_confidence_map.setStreamName("conf_map")
serial_out_left.setStreamName("left")
serial_out_right.setStreamName("right")
serial_out_sys_info.setStreamName("sys_info")

spiOutSpatialNN = pipeline.create(dai.node.SPIOut)
spiOutSpatialNN.input.setBlocking(False)
spiOutSpatialNN.input.setQueueSize(1)
spiOutSpatialNN.setStreamName("spimetaout")
spiOutSpatialNN.setBusId(0)

colorCam.setPreviewSize(300, 300)
colorCam.setResolution(dai.ColorCameraProperties.SensorResolution.THE_1080_P)
colorCam.setInterleaved(False)
colorCam.setColorOrder(dai.ColorCameraProperties.ColorOrder.BGR)
# colorCam.setFps(30.0)
# colorCam.setBoardSocket(dai.CameraBoardSocket.RGB)
# colorCam.setPreviewKeepAspectRatio(False)
# colorCam.initialControl.setManualFocus(120)
# colorCam.setIspScale(1, 3)

monoLeft.setResolution(dai.MonoCameraProperties.SensorResolution.THE_400_P)
# monoLeft.setFps(30.0)
monoLeft.setBoardSocket(dai.CameraBoardSocket.LEFT)
monoRight.setResolution(dai.MonoCameraProperties.SensorResolution.THE_400_P)
# monoRight.setFps(30.0)
monoRight.setBoardSocket(dai.CameraBoardSocket.RIGHT)

# setting node configs
stereo.initialConfig.setConfidenceThreshold(255)
stereo.setDepthAlign(dai.CameraBoardSocket.RGB)
stereo.setLeftRightCheck(True)

spatialDetectionNetwork.setBlobPath(nnBlobPath)
spatialDetectionNetwork.setConfidenceThreshold(0.5)
spatialDetectionNetwork.input.setBlocking(False)
spatialDetectionNetwork.setBoundingBoxScaleFactor(0.5)
spatialDetectionNetwork.setDepthLowerThreshold(100)
spatialDetectionNetwork.setDepthUpperThreshold(5000)

# imu_sensors = [
#     dai.IMUSensor.ACCELEROMETER_RAW,
#     dai.IMUSensor.GYROSCOPE_RAW,
#     dai.IMUSensor.MAGNETOMETER_RAW,
#     dai.IMUSensor.ROTATION_VECTOR,
# ]
# imu = pipeline.create(dai.node.IMU)
# imu.enableIMUSensor(imu_sensors, 50)
# imu.setBatchReportThreshold(1)  # Minimum packets per message
# imu.setMaxBatchReports(10)  # Maximum packets per message

sys_info = pipeline.create(dai.node.SystemLogger)

# Create outputs
monoLeft.out.link(stereo.left)
monoRight.out.link(stereo.right)

colorCam.preview.link(spatialDetectionNetwork.input)
stereo.depth.link(spatialDetectionNetwork.inputDepth)

if syncNN:
    spatialDetectionNetwork.passthrough.link(xoutRgb.input)
else:
    colorCam.preview.link(xoutRgb.input)

# spatialDetectionNetwork.out.link(xoutNN.input)
# spatialDetectionNetwork.boundingBoxMapping.link(xoutBoundingBoxDepthMapping.input)

spatialDetectionNetwork.passthroughDepth.link(xoutDepth.input)

# imu.out.link(serial_out_imu.input)
stereo.confidenceMap.link(serial_out_confidence_map.input)
monoLeft.out.link(serial_out_left.input)
monoRight.out.link(serial_out_right.input)
sys_info.out.link(serial_out_sys_info.input)

spatialDetectionNetwork.out.link(spiOutSpatialNN.input)

def printSystemInformation(info):
    if info is None:
        return
    m = 1024 * 1024  # MiB
    print(
        f"Ddr used / total - {info.ddrMemoryUsage.used / m:.2f} / {info.ddrMemoryUsage.total / m:.2f} MiB"
    )
    print(
        f"Cmx used / total - {info.cmxMemoryUsage.used / m:.2f} / {info.cmxMemoryUsage.total / m:.2f} MiB"
    )
    print(
        f"LeonCss heap used / total - {info.leonCssMemoryUsage.used / m:.2f} / {info.leonCssMemoryUsage.total / m:.2f} MiB"
    )
    print(
        f"LeonMss heap used / total - {info.leonMssMemoryUsage.used / m:.2f} / {info.leonMssMemoryUsage.total / m:.2f} MiB"
    )
    t = info.chipTemperature
    print(
        f"Chip temperature - average: {t.average:.2f}, css: {t.css:.2f}, mss: {t.mss:.2f}, upa: {t.upa:.2f}, dss: {t.dss:.2f}"
    )
    print(
        f"Cpu usage - Leon CSS: {info.leonCssCpuUsage.average * 100:.2f}%, Leon MSS: {info.leonMssCpuUsage.average * 100:.2f} %"
    )
    print("----------------------------------------")

# Pipeline defined, now the device is connected to
with dai.Device(pipeline) as device:
    # Start pipeline
    # device.startPipeline()

    # if not spiOut:
    # Output queues will be used to get the rgb frames and nn data from the outputs defined above
    previewQueue = device.getOutputQueue(name="rgb", maxSize=4, blocking=False)
    # detectionNNQueue = device.getOutputQueue(
    #     name="detections", maxSize=4, blocking=False
    # )
    # xoutBoundingBoxDepthMapping = device.getOutputQueue(
    #     name="boundingBoxDepthMapping", maxSize=4, blocking=False
    # )
    depthQueue = device.getOutputQueue(name="depth", maxSize=4, blocking=False)
    # imu_queue = device.getOutputQueue(name="imu", maxSize=4, blocking=False)
    conf_map_queue = device.getOutputQueue(name="conf_map", maxSize=4, blocking=False)
    left_queue = device.getOutputQueue(name="left", maxSize=4, blocking=False)
    right_queue = device.getOutputQueue(name="right", maxSize=4, blocking=False)
    sys_info_queue = device.getOutputQueue(name="sys_info", maxSize=4, blocking=False)

    frame = None
    detections = []

    start_time = time.monotonic()
    counter = 0
    fps = 0
    color = (255, 255, 255)

    while True:
        # if spiOut:
        #     sleep(1)
        #     continue

        inPreview = previewQueue.get()
        # inNN = detectionNNQueue.get()
        depth = depthQueue.get()
        conf_map = conf_map_queue.get()
        left = left_queue.get()
        right = right_queue.get()
        # while imu_queue.has():
        #     imu_queue.get()
        printSystemInformation(sys_info_queue.tryGet())

        counter += 1
        current_time = time.monotonic()
        if (current_time - start_time) > 1:
            fps = counter / (current_time - start_time)
            counter = 0
            start_time = current_time

        frame = inPreview.getCvFrame()
        depthFrame = depth.getFrame()
        conf_map_frame = conf_map.getCvFrame()
        left_frame = left.getCvFrame()
        right_frame = right.getCvFrame()

        depthFrameColor = cv2.normalize(
            depthFrame, None, 255, 0, cv2.NORM_INF, cv2.CV_8UC1
        )
        depthFrameColor = cv2.equalizeHist(depthFrameColor)
        depthFrameColor = cv2.applyColorMap(depthFrameColor, cv2.COLORMAP_HOT)
        # detections = inNN.detections
        # if len(detections) != 0:
        #     boundingBoxMapping = xoutBoundingBoxDepthMapping.get()
        #     roiDatas = boundingBoxMapping.getConfigData()

        #     for roiData in roiDatas:
        #         roi = roiData.roi
        #         roi = roi.denormalize(
        #             depthFrameColor.shape[1], depthFrameColor.shape[0]
        #         )
        #         topLeft = roi.topLeft()
        #         bottomRight = roi.bottomRight()
        #         xmin = int(topLeft.x)
        #         ymin = int(topLeft.y)
        #         xmax = int(bottomRight.x)
        #         ymax = int(bottomRight.y)

        #         cv2.rectangle(
        #             depthFrameColor,
        #             (xmin, ymin),
        #             (xmax, ymax),
        #             color,
        #             cv2.FONT_HERSHEY_SCRIPT_SIMPLEX,
        #         )

        # # if the frame is available, draw bounding boxes on it and show the frame
        # height = frame.shape[0]
        # width = frame.shape[1]
        # for detection in detections:
        #     # denormalize bounding box
        #     x1 = int(detection.xmin * width)
        #     x2 = int(detection.xmax * width)
        #     y1 = int(detection.ymin * height)
        #     y2 = int(detection.ymax * height)
        #     try:
        #         label = labelMap[detection.label]
        #     except:
        #         label = detection.label
        #     cv2.putText(
        #         frame,
        #         str(label),
        #         (x1 + 10, y1 + 20),
        #         cv2.FONT_HERSHEY_TRIPLEX,
        #         0.5,
        #         color,
        #     )
        #     cv2.putText(
        #         frame,
        #         "{:.2f}".format(detection.confidence * 100),
        #         (x1 + 10, y1 + 35),
        #         cv2.FONT_HERSHEY_TRIPLEX,
        #         0.5,
        #         color,
        #     )
        #     cv2.putText(
        #         frame,
        #         f"X: {int(detection.spatialCoordinates.x)} mm",
        #         (x1 + 10, y1 + 50),
        #         cv2.FONT_HERSHEY_TRIPLEX,
        #         0.5,
        #         color,
        #     )
        #     cv2.putText(
        #         frame,
        #         f"Y: {int(detection.spatialCoordinates.y)} mm",
        #         (x1 + 10, y1 + 65),
        #         cv2.FONT_HERSHEY_TRIPLEX,
        #         0.5,
        #         color,
        #     )
        #     cv2.putText(
        #         frame,
        #         f"Z: {int(detection.spatialCoordinates.z)} mm",
        #         (x1 + 10, y1 + 80),
        #         cv2.FONT_HERSHEY_TRIPLEX,
        #         0.5,
        #         color,
        #     )

        #     cv2.rectangle(frame, (x1, y1), (x2, y2), color, cv2.FONT_HERSHEY_SIMPLEX)

        # cv2.putText(
        #     frame,
        #     "NN fps: {:.2f}".format(fps),
        #     (2, frame.shape[0] - 4),
        #     cv2.FONT_HERSHEY_TRIPLEX,
        #     0.4,
        #     color,
        # )
        cv2.imshow("depth", depthFrameColor)
        cv2.imshow("confidence", conf_map_frame)
        cv2.imshow("left", left_frame)
        cv2.imshow("right", right_frame)
        cv2.imshow("rgb", frame)

        if cv2.waitKey(1) == ord("q"):
            break

After some offline conversation with @themarpe , we managed to find a workaround for this. The issue seems to be caused by the SPI clock speed. I changed this from 16 MHz to 4 MHz in components/depthai-spi-api/common/esp32_spi_impl.c:
 //Configuration for the SPI device on the other side of the bus
    spi_device_interface_config_t devcfg={
        .command_bits=0,
        .address_bits=0,
        .dummy_bits=0,
        .clock_speed_hz=4000000,
  ...

After this change, I was having trouble getting the ESP32 to receive any data from the Myriad X at all. The issue here ended up being that the Myriad X needs to be running before the ESP32 tries to initialize a connection. I was able to achieve this in a hacky way by adding a delay at the beginning of the ESP32 code, but it means that restarting the pipeline requires me to:

Power cycle the entire camera.
Manually start the pipeline during the ESP32 delay.

It's not ideal, but it gets the job done until a more elegant solution can be implemented.


Add more ways the user can follow up

Ways we want to give them to follow up:

[x] The page they're on
[x] An email
[x] A text
[x] Send to both if they're available
[x] A warning when they have not given an email or smart phone number
[x] A link on the page they can copy (maybe on the warning page?)

See #10 for more history.

Which of these are MVP, @mariahjr ?

Probably on hold till da is fixed.

commented in #10

All of these are considered MVP

Probably not for MVP: The signature flow currently offers to send a signature link for the user to a different number than they give for the court. The Eviction Moratorium sends email notifications about codefendants and document status to the email the user gives to the court and we’re proposing to send both an email and a text if they provide a phone number. From what I understand we would ideally allow the user to pick a different email/number for notifications.
I’d be interested in having a conversation about how to best handle that situation. The signature flow uses the user mobile_number as its default. That’s the number for the court. The Moratorium would have to set a different variable - notification_number. That means asking for the number three times and, the third time, using some kind of sensible default. That default should be written so that the signature flow works with other interviews too, so it can’t just use notification_number.
My proposal code-wise is to give the signature number a default which would be one of notification_number or mobile_number, preferring the former when possible. I don’t have great ideas when it comes to the user flow of having three pages about contact information. Maybe the third (signature link) page doesn't appear if a notification_number already exists? That changes the code of the signature flow, which is meant to work with other interviews, but it could be done.
There are also so many other possibilities. For example, if the user just wants a link to come back to but doesn’t want to share their contact info, we could give them a link they can copy or give them a QR code they can use on their phone.
If this issue gets closed, I may turn this into its own issue.


Cowlinator/http codes to user

As a user, it has been very frustrating when artifactory.py silently swallows http error codes.
This PR ensures that all http-related exceptions include information about http error codes.
This PR also includes a fix for an unrelated test case, which had sometimes falsely failed when a temporary file opened for writing was subsequently opened for reading.

Hi - I don't know if it's any better over 'there' - but https://devopshq.github.io/artifactory/ is a fork that seems maintained.


stagehand 3.0.0 defaults to snapshot 1.1 not 2

From @CarnivalRaid on June 25, 2018 8:47
URL: https://pub.dartlang.org/packages/stagehand#-versions-tab-
When dart2 dev sdk is installed, executing stagehand web-angular should use snapshot dart2.
Hello there. I have installed dart 2 64.1-1 and wanted to try angular 5. After doing a:
"pub global activate stagehand" and "pub global activate webdev", i have errors on stagehand and webdev. I saw that errors appear because the script uses snapshots 1.1 from either two.
The error on stagehand web-angular command is: "..../.pub-cache/global_packages/stagehand/bin/stagehand.dart.snapshot:1:1: Error: Unable to decode bytes as UTF-8.
���ܶj "
The error in webdev is a bit more complicated for me to understand and way longer.
If I do manualy dart and pick the snapshots from bin that are ended with dart2 it works as expected.
I installed as indicated on the website in preview angular 5, dart2 sdk (dev).
OS: WattOS (it's a stripdown  version of Ubuntu 16.04.4 LTS -Xenial).
I want to appologise in advance. I am new to programming, github and reporting issues.(but i love what you are doing with dart and angular and flutter)
Great day, devs.
Copied from original issue: dart-lang/pub-dartlang-dart#1408

Szia :) and thanks.

There is a problem with pub. As mentioned here https://github.com/dart-lang/stagehand/issues/543#issuecomment-399668142, can you instead try running:
> pub global run stagehand web-angular

Hello @chalin, thanks for the fast reply. It works as expected with that command.
I also did a:

pub global run webdev serve and works well too. For those who have these problems.

Thank you.

@kevmoo Hello there. I have upgraded to -dev.65. It is working great, both stagehand and webdev.
Thank you, and a great day.

Great! Closing.


Add a test about rastercache checkerboarding of content that has checkerboarded offscreen layers

we have no test of layer caching a layer that has a child that also has a saveLayer that will be offscreen-checkerboarded
original comment
https://github.com/flutter/engine/pull/34424#issuecomment-1184866595

we're removing this feature


Implement histogram equalisation

[ ] add histogram eq and adaptive thresholding
[ ] check which smoothing parameters yield the most consistent images
[ ] check which smoothing parameters yield the most consistent network centrality values

Implementation is ready in #72, validation of network centrality outputs can begin when this is merged.


Initialize UPClientZenoh with different configurations

As discussed in https://github.com/eclipse-uprotocol/up-spec/issues/85
we should provide a way for users to add configuration into UPClientZenoh.
Now we have three ways:

UPClientZenoh::new(): Using default configuration
UPClientZenoh::new_with_config(config: UPClientZenohConfig): Using UPClientZenohConfig, which is simpler and limited
UPClientZenoh::new_with_zenoh_config(config: Config): Using Zenoh config, which is mainly for advanced users

I created the PR to discuss whether this is what we want.

Based on today's discussion, speaking from a Rust perspective (I know something similar is possible in C++), how about something like what @tamarafischer & @evshary were proposing for a stable interface:
struct UPClientZenoh {
    // ...
}

impl UPClientZenoh {
    pub fn new() -> Self {
        // ...
    }

    pub fn new_with_config(config: Config) -> Self {
        // ...
    }
}

And then considering the two requirements I heard from @stevenhartley:

There should be specialized constructors for uEs in certain parts of the reference topology
In production we should only allow using those specialized constructors
how about something like this @evshary?

pub struct UPZenohClient {
    up_client_zenoh: Arc<UPClientZenoh>
}

impl UPZenohClient {
    pub async fn new(connect_endpoint: Endpoint) -> Result<Self, UStatus> {
        let mut config = Config::default();
        /* use connect_endpoint here to set proper field in config */
        let up_client_zenoh = UPClientZenoh::new(config).await?;
        Ok(Self {
            up_client_zenoh: Arc::new(up_client_zenoh)
        })
    }
}

impl Deref for UPZenohClient {
    type Target = Arc<UPClientZenoh>;

    fn deref(&self) -> &Self::Target {
        &self.up_client_zenoh
    }
}

And in end-user code when writing a uE their life simplifies to:
// bespoke configuration stuff hidden away
let my_cool_peer = UPZenohClient::new(my_connection_endpoint);
// ...

// able to use the same APIs as UPZenohRust transparently thanks to impl'ing Deref
let result = my_cool_peer.register_listener(uuri, callback);
my_cool_peer.send(message);

What does this get us?

Allows there to be a "core" UPClientZenoh that will not see any churn as requirements change regarding topology & the specific configurations for different kinds of uEs
Each new UPZenohFooRole is very simple and involves only adding the 20 or so lines of code for each type. In reality we're bound to only have a few typical types in the topology
If an end-user would like to, they could even perform this same pattern for other types if they had a UPZenohMyVerySpecificNicheCase
In production we can lint and deny direct usage of UPClientZenoh and only allow those UPZenohFooRole that are deemed safe for end-users
If we'd like to, UPZenohFooRoles don't even have to live within the up-client-zenoh-rust repo. We could put the few that we think we'd need for this first topology, if we want to, though.

Let's close it now and collect more information from users in the future.


Use of internal package not allowed

Hi guys, as always, great work with this library. Our users love it. :+1:
As you may know, we now vendor all of Caddy's dependencies, quic-go included. But to keep the repo as lightweight as possible, we don't vendor test dependencies. Recently our CI tests started failing with (from the Caddy repo folder):
$ go get -t ./...
vendor/github.com/lucas-clemente/quic-go/integrationtests/tools/testserver/server.go:11:2: use of internal package not allowed

I imagine this is because it's trying to use an internal folder from an external package.
Do you understand this more than I do? 😅 I'm not sure the best way to go about fixing it. I'm not sure if vendoring the test deps would help but I'd really like to avoid that if possible. I already added over 300k lines of code to our repo when I vendored just the compiled code. (We're vendoring mainly towards reproducible builds, not so much for CI's sake; although it would be nice for the tests to run too!)

We recently reorganized our integration tests (#781), so that's probably the reason why things broke. I'm not sure why that causes issues with vendoring though.
 IIRC there's a change in 1.9 that removed vendor/ from the expansion of ./... – maybe that fixes it?
I tried moving integrationtests/tools to integrationtests/internal/tools, but that didn't fix things. We should probably try understand the actual issue…

Upgrading the CI script to Go 1.9 indeed fixed the issue, because ./... ignores the vendor folder. (Annoyingly, golint ./... does NOT ignore the vendor folder. Oh well.)
That change breaks builds for anyone not using Go 1.9 (it was only released yesterday) - including the Caddy build server. I wonder if the build error is exposing a code/design smell? I don't know much about internal folders but how much of an improvement is the change?

As I look at this more, I think I realize that this is a result of the non-internal tests calling functions in an internal package.  We don't vendor test dependencies, so the 'internal' folder is being imported from the regular GOPATH which is NOT in the same folder tree, and that's against Go's import rules. I am still not sure this is necessary / a good idea for this reason, and I think the pre-Go-1.9 error indicates this, but Go 1.9 covers up the problem anyway, so I will close this. However, think about it, and if it doesn't sit well with you, it's OK to revert the change. :smile:

Thanks for investigating the issue! I think the issue boils down to the fact that the integrationtests folder shouldn't be looked at at all unless you're interested in the tests. But I don't think there's a way to tell that to Go…
Anyway, as long as it works I don't see the need to fix anything 😉

Hi,
I am using go version go1.10.3 windows/amd64 and running go test .... gives me the following.  I am very new to Go and Quic.
packet_packer.go:11:2: use of internal package not allowed
session.go:15:2: use of internal package not allowed
server.go:12:2: use of internal package not allowed
crypto_stream.go:6:2: use of internal package not allowed
client.go:13:2: use of internal package not allowed
buffer_pool.go:6:2: use of internal package not allowed....

Hi,
I am using go version go1.10.3 windows/amd64 and running go test .... gives me the following.  I am very new to Go and Quic. packet_packer.go:11:2: use of internal package not allowed session.go:15:2: use of internal package not allowed server.go:12:2: use of internal package not allowed crypto_stream.go:6:2: use of internal package not allowed client.go:13:2: use of internal package not allowed buffer_pool.go:6:2: use of internal package not allowed....

Hello, have you fixed it? Could you tell me how to fix it? I use Go 1.19.6. Thanks a lot!


Add iso-8859-15.enc (and other encodings) [rt.cpan.org #113221]

Migrated from rt.cpan.org#113221 (status was 'open')
Requestors:

<EMAIL_ADDRESS>
From<EMAIL_ADDRESS>on 2016-03-21 09:50:07
:
It would be nice if iso-8859-15.enc could be added to Parser/Encodings. And maybe also all other encodings currently available in XML-Encoding and missing in XML::Parser.

See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=132989

From<EMAIL_ADDRESS>on 2016-03-22 21:22:58
:
On 2016-03-21 05:50:07, SREZIC wrote:
> It would be nice if iso-8859-15.enc could be added to
> Parser/Encodings. And maybe also all other encodings currently
> available in XML-Encoding and missing in XML::Parser.
>
> See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=132989

Pull request:
https://github.com/toddr/XML-Parser/pull/10

From<EMAIL_ADDRESS>on 2016-04-13 04:43:50
:
On Tue Mar 22 17:22:58 2016, SREZIC wrote:
> On 2016-03-21 05:50:07, SREZIC wrote:
> > It would be nice if iso-8859-15.enc could be added to
> > Parser/Encodings. And maybe also all other encodings currently
> > available in XML-Encoding and missing in XML::Parser.
> >
> > See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=132989
>
> Pull request:
> https://github.com/toddr/XML-Parser/pull/10

Merged. It'll be out later this week hopefully.

From<EMAIL_ADDRESS>on 2018-11-06 08:51:38
:
On 2016-04-13 00:43:50, TODDR wrote:
> On Tue Mar 22 17:22:58 2016, SREZIC wrote:
> > On 2016-03-21 05:50:07, SREZIC wrote:
> > > It would be nice if iso-8859-15.enc could be added to
> > > Parser/Encodings. And maybe also all other encodings currently
> > > available in XML-Encoding and missing in XML::Parser.
> > >
> > > See also https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=132989
> >
> > Pull request:
> > https://github.com/toddr/XML-Parser/pull/10
>
> Merged. It'll be out later this week hopefully.

It seems that the release was forgotten...

@srezic I'm hoping to have something out today.


sensor for some metrics is disabled

Hi, IBM support team. I have meet an issue that when i query some metrics that bridge server return 400 code. The log print info that xxx metrics is disabled. But I have modify pmcollector.cfg to enable this metric. But still can not solve this issue.

Hallo antzjm,
you must change the ZIMONSensor.cfg files and reload it. Not the PMcollector.cfg.
https://www.ibm.com/docs/en/spectrum-scale/5.1.4?topic=sensor-manual-configuration


Some very small grammar fixes

Sorry: I'm a grammar nerd.  Can't help it.

Sorry: I'm a grammar nerd. Can't help it.

This is important. Grammar mistakes leave a bad impression!

Thank you very much. All grammar fixes are very welcome btw. :-)