cuda stubs raising mypy SyntaxError

[ ] I have tried using the latest released version of Numba (most recent is
visible in the change log (https://github.com/numba/numba/blob/main/CHANGE_LOG).
[ ] I have included a self contained code sample to reproduce the problem.
i.e. it's possible to run as 'python bug.py'.

We're seeing:
    import cudf
/conda/envs/rapids/lib/python3.7/site-packages/cudf/__init__.py:4: in <module>
    validate_setup()
/conda/envs/rapids/lib/python3.7/site-packages/cudf/utils/gpu_utils.py:18: in validate_setup
    from rmm._cuda.gpu import (
/conda/envs/rapids/lib/python3.7/site-packages/rmm/__init__.py:16: in <module>
    from rmm import mr
/conda/envs/rapids/lib/python3.7/site-packages/rmm/mr.py:2: in <module>
    from rmm._lib.memory_resource import (
/conda/envs/rapids/lib/python3.7/site-packages/rmm/_lib/__init__.py:3: in <module>
    from .device_buffer import DeviceBuffer
rmm/_lib/device_buffer.pyx:1: in init rmm._lib.device_buffer
    ???
rmm/_cuda/stream.pyx:26: in init rmm._cuda.stream
    ???
/conda/envs/rapids/lib/python3.7/site-packages/numba/cuda/__init__.py:7: in <module>
    from .device_init import *
/conda/envs/rapids/lib/python3.7/site-packages/numba/cuda/device_init.py:2: in <module>
    from .stubs import (threadIdx, blockIdx, blockDim, gridDim, laneid,
E     File "/conda/envs/rapids/lib/python3.7/site-packages/numba/cuda/stubs.py", line 449
E       """  # noqa: W605
E                      ^
E   SyntaxError: invalid escape sequence \|

Seemingly corresponding to the \| in https://github.com/numba/numba/blob/468647dddde27ee8af124c97dfcd20c35c4a2bc6/numba/cuda/stubs.py#L468
Our mypy config is:
[mypy-numba.*]
ignore_missing_imports = True
ignore_errors = True

Versions:
+ python --version
Python 3.7.10
+ mypy --version
mypy 0.950 (compiled: yes)

I've not looked into this yet, but I'm adding it to the 0.56 milestone to make sure it gets investigated by then as this sounds a bit annoying and should hopefully be straightforward to fix.

Also, testing a bit more... mypy is fine, it's pytest, both python 3.7 + 3.8, and pytest 6 + 7:
=== Testing ===
+ echo '=== Testing ==='
+ [[ 1 != \0 ]]
+ ./bin/test.sh --maxfail=1
+ python --version
Python 3.8.13
+ python3 --version
Python 3.8.13
+ python -m pytest --version
pytest 7.1.2
+ python -B -m pytest -vv --maxfail=1
============================= test session starts ==============================
platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0 -- /opt/conda/envs/rapids/bin/python
cachedir: .pytest_cache
rootdir: /opt/pygraphistry, configfile: pytest.ini
plugins: anyio-3.5.0, timeout-1.4.2, asyncio-0.14.0
collecting ... collected 0 items / 1 error

==================================== ERRORS ====================================
_________ ERROR collecting graphistry/tests/test_ArrowFileUploader.py __________
../conda/envs/rapids/lib/python3.8/site-packages/_pytest/python.py:608: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
../conda/envs/rapids/lib/python3.8/site-packages/_pytest/pathlib.py:533: in import_path
    importlib.import_module(module_name)
../conda/envs/rapids/lib/python3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1014: in _gcd_import
    ???
<frozen importlib._bootstrap>:991: in _find_and_load
    ???
<frozen importlib._bootstrap>:975: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:671: in _load_unlocked
    ???
../conda/envs/rapids/lib/python3.8/site-packages/_pytest/assertion/rewrite.py:168: in exec_module
    exec(co, module.__dict__)
graphistry/tests/test_ArrowFileUploader.py:3: in <module>
    from graphistry.arrow_uploader import ArrowUploader
graphistry/__init__.py:2: in <module>
    from graphistry.pygraphistry import (  # noqa: E402, F401
graphistry/pygraphistry.py:14: in <module>
    from .plotter import Plotter
graphistry/plotter.py:1: in <module>
    from .PlotterBase import PlotterBase
graphistry/PlotterBase.py:39: in <module>
    import cudf
../conda/envs/rapids/lib/python3.8/site-packages/cudf/__init__.py:5: in <module>
    validate_setup()
../conda/envs/rapids/lib/python3.8/site-packages/cudf/utils/gpu_utils.py:20: in validate_setup
    from rmm._cuda.gpu import (
../conda/envs/rapids/lib/python3.8/site-packages/rmm/__init__.py:16: in <module>
    from rmm import mr
../conda/envs/rapids/lib/python3.8/site-packages/rmm/mr.py:14: in <module>
    from rmm._lib.memory_resource import (
../conda/envs/rapids/lib/python3.8/site-packages/rmm/_lib/__init__.py:15: in <module>
    from .device_buffer import DeviceBuffer
device_buffer.pyx:1: in init rmm._lib.device_buffer
    ???
stream.pyx:26: in init rmm._cuda.stream
    ???
../conda/envs/rapids/lib/python3.8/site-packages/numba/cuda/__init__.py:7: in <module>
    from .device_init import *
../conda/envs/rapids/lib/python3.8/site-packages/numba/cuda/device_init.py:2: in <module>
    from .stubs import (threadIdx, blockIdx, blockDim, gridDim, laneid,
E     File "/opt/conda/envs/rapids/lib/python3.8/site-packages/numba/cuda/stubs.py", line 466
E       """or_(ary, idx, val)
E       ^
E   SyntaxError: invalid escape sequence \|
=========================== short test summary info ============================
ERROR graphistry/tests/test_ArrowFileUploader.py
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
=============================== 1 error in 1.76s ===============================

Hmm I'm still confused on root cause . git blame shows no changes over 2 years: https://github.com/numba/numba/blame/468647dddde27ee8af124c97dfcd20c35c4a2bc6/numba/cuda/stubs.py#L465

Found it: It's a DeprecationWarning, but we treat those as errors, so PyTest turns into a full SyntaxError. Unclear when the targeted sunset is: https://github.com/python/cpython/issues/77093

Still pretty real for us :) (stale bot)

Sorry this got missed for 0.56 - I'm not sure how it's ended up in 0.57RC as I only see myself adding it to 0.56RC a few weeks ago.

Ah I see @sklam moved it on 1 Jun.

@lmeyerov Is it easy for you to check that https://github.com/numba/numba/pull/8221 resolves the issue for you?

Awesome
It's tricky as our tests sit on full rapids distros, not manual install, I can watch for it on our next upgrade

@lmeyerov Thanks for the info - do feel free to reopen this if it seems to persist.

@gmarkall and it's back ;-)
../conda/envs/rapids/lib/python3.8/site-packages/numba/cuda/device_init.py:3: in <module>
    from .stubs import (threadIdx, blockIdx, blockDim, gridDim, laneid,
E     File "/opt/conda/envs/rapids/lib/python3.8/site-packages/numba/cuda/stubs.py", line 470
E       """or_(ary, idx, val)
E       ^
E   SyntaxError: invalid escape sequence \|

I think a sequence of older versions + having disabled a check around here

I'm not sure if it was resolved, was just surprised to see it in an upgraded RAPIDS distro , and recalled the request to notify

We can keep working around, thank you for shepherding!


[Bug] Resource competition caused by multithreading

Hello,
When I write code, I found that KeyNotFoundException will be triggered from time to time under multithreding parsing.
After attempting to change the strings, ints, and metadata fields in StringResourceManager from System.Collections.Generic.Dictionary to System.Collections.Concurrent.ConcurrentDictionary (thread safe), the problem disappears.

Hi! Thanks for reporting this, sorry for the delay in getting back to you.
I had a look at this and I'm not really sure how it could happen: there is a lock around the concurrent section of the code. The only way I could see it happening is if the ids got messed up somehow, or if there was a bug in how it maps multiple strings to the same entry: but neither of those would be resolved by the concurrent dictionary.
If I checkout the commit before this: https://github.com/textGamex/HOI_Error_Tools/tree/6cd838ccb64b9fbae183473d52b07f33b3c8c269
Would I be able to reproduce locally?

Hi! Thanks for reporting this, sorry for the delay in getting back to you.
I had a look at this and I'm not really sure how it could happen: there is a lock around the concurrent section of the code. The only way I could see it happening is if the ids got messed up somehow, or if there was a bug in how it maps multiple strings to the same entry: but neither of those would be resolved by the concurrent dictionary.
If I checkout the commit before this: https://github.com/textGamex/HOI_Error_Tools/tree/6cd838ccb64b9fbae183473d52b07f33b3c8c269
Would I be able to reproduce locally?

You can checkout https://github.com/textGamex/HOI_Error_Tools/tree/3dbbb83c92f28f5b84cd691f9946be884a1b29bc to reproduce this error
CWTools_Plus1.0.2 is based on the latest commits from the CWTools project, no major changes,
I fixed this bug CWTools_Plus 1.0.3 version, so you can replicate it with 1.0.3 previous version or your own latest build
Note when you repeat: the problem only appears when parsing for the first time, if it does not appear for the first time, please restart the application and continue to try
You can replace the paths of GameRootPath and ModRootPath (Position) with yours, and directly click the '开始解析' button at runtime to start parsing

Hi! Thanks for reporting this, sorry for the delay in getting back to you.
I had a look at this and I'm not really sure how it could happen: there is a lock around the concurrent section of the code. The only way I could see it happening is if the ids got messed up somehow, or if there was a bug in how it maps multiple strings to the same entry: but neither of those would be resolved by the concurrent dictionary.
If I checkout the commit before this: https://github.com/textGamex/HOI_Error_Tools/tree/6cd838ccb64b9fbae183473d52b07f33b3c8c269
Would I be able to reproduce locally?

I saw that you replaced concurrent dictionary with common dictionary, have you figured out how the problem occurred


Feature enclosure

Parse the media enclosure of RSS and Atom feeds, and adds a media enclosure attribute to FeedParser::Item.
@enclosure here is a hash, as the enclosure attribute transports its values as attributes. In RSS, there is only url, length and type, this adopts those names. Atom has the same (url is called href), but it also has title and potentially more attributes. My approach here would ignore them.
Also, Atom could have multiple enclosures, rss only one (that actually depends on the validator/parser, some allow more). This only takes the first. But one could instead use an array that contains hashes for each enclosure.
It might be preferable to introduce a value bag object instead of just using an array, but imho a hash is good enough.
The second commit contains some test cases. I just realized that there is an issue when there is no enclosure, I will add a third commit fixing that in a minute.

@onli   Great, Thanks for adding enclosures.  Will add an alias for attachments and likely use a struct (to fit in with the rest of the models).  The idea is to use a hash for the "raw" feed (still to be done). Thanks again for the kick off.  Keep it up. Cheers.


Vendor@ files not applying expected Babel transformations

Problem
The<EMAIL_ADDRESS>files generated during build do not honor Babel plugins used when generating the non-vendor files, leading to runtime errors. Collection & template JS files are transpiled to the targets as expected (e.g. let keyword replaced with var/funcs).
Succinct outline of the problem or request.
Vendor files need to apply the same transforms as other sources.
Replication steps
yarn add --dev babel-preset-env

.babelrc
{
  "presets": [
    ["env", {
      "targets": {
        "browsers": ["last 3 versions", "safari >= 10"]
      }
    }]
  ]
}

How to replicate the problem. Screenshots or video?
Target Safari 10 and build with .babelrc content specified above. Check<EMAIL_ADDRESS>files in ./dist - will not reflect expected transformations.
More Information
slate version v1.0.0-beta.6
Any additional information which might be helpful.
No plugins are specified in our slate.config.js.

I am having the same issue. My .bablerc file is a little different.
{
  "presets": [
    ["shopify/web", {
      "browsers": [
        "last 1 version",
        ">1%"
      ]
    }]
  ],
  "plugins": ["transform-async-to-generator"]
}

My page breaks when it hits an es6 keyword: class

This is on purpose as transpiling all assets from node_modules significantly impacts build times and generally (from my understanding) is a bad practice. The better practice is for libraries to ship pre-transpiled -- but I understand that is not a reality everywhere.
This looks like it should be a configurable option to add exceptions to?

Removing node_modules from the excluded list had no impact on what was transpiled, so not sure if it's having the effect that you think it is.

Related https://github.com/webpack/webpack/issues/2031


vtworker: VerticalSplitDiff: Fix problem that not-to-be-migrated tables on the destination were considered an error.

@alainjobart
Originally, the -exclude_tables flag was supposed to cover this. But this flag does not make sense for a vertical split: At the time of a VerticalSplitClone, the whitelist of tables to be migrated is also specified. With this change, the diff uses this list of tables and ignores any other table, both on the source and the destination.

Pass tables list directly to GetSchema().
Extended e2e test to cover this case.
Removed -exclude_tables flag.
Updated unit test.

LGTM much cleaner!


I run ./hack/update-generated-defaulters.sh but no code generated

hi:
I face a problem while add a plugin to descheduler.
what I have done:

  what happend:
  no zz_generated.deepcopy.go created

Hi @shentupenghui for this to work for me, I have the repo cloned in $GOPATH/src/sigs.k8s.io/descheduler/
Although some have mentioned that they don't need to do that.

/kind support


feat(mcc): Allow dividers for single content cards

Preview: https://react-component-groups-pr-component-groups-119.surge.sh


Syncing depth with color on D435 and triggering an external device?

Required Info

Camera Model
{ D400 }

Firmware Version
<IP_ADDRESS>

Operating System & Version
{Ubuntu 18.04}

Kernel Version (Linux Only)
4.15

Platform
NVIDIA Nano

SDK Version
{ 2.23 }

Language
{C++ }

Segment
{SLAM }

Issue Description
Hello, I am working on a SLAM project where I would like to sync an external IMU with the D435 camera's color stream. In particular we would like to send the sync pulse from the D435's sync out pin to our IMU's sync in pin. My understanding is that it's not possible to generate this signal from the color stream. However, based on the response below it seems like as long as we run depth and color at the same frame rate and generate a sync out pulse from the depth stream, our IMU will effectively be synced to both the depth and color streams since the color stream would actually be triggering the depth stream on the D435 and therefore implicitly triggering the IMU? Is my understanding of the situation correct? And if not is there any alternative way I can sync an external IMU with the D435's color stream?
See below for the response I was referencing:

How does the Depth to Color sync work in D435? More specifically, what do I need to do to enable it?

When working with a single camera, hardware sync between color and depth kicks-in once they run at the same actual FPS. To ensure it, you can disable Auto Exposure Priority control under RGB Camera > Controls (this way the camera won't reduce FPS in a dark room to get more light)
The way it works, as far as I know, is by color sensor sending sync signal to the depth sensor. This is why it is problematic to set it up in multi-camera scenario. Color sensor always wants to be the master.
Another hardware quirk is that color frames get their timestamp at a different time (mid exposure, I think?), so the timestamps are not perfectly aligned. We try to work around that in syncer class, that is also used inside each pipeline.

Also, if color can't be synced to depth, does that mean I should have a separate pipeline for each depth sensor, which are all synced to each other (one pipeline per thread), and a separate set of pipelines for the color images, which will arrive asynchronously? If there aren't separate pipelines (as now), does that mean the wait_for_frames() will return every time the depth frame arrives (with whatever the last color frame was), and similarly for color (returning whatever the last depth frame to arrive was)?

Yes, if you enable all depth streams (synced) and all color streams, the color streams might introduce some unwanted latency to the depth streams (since every wait for frame will try to match depth frame to a color frame). This should not create delays greater than the frame interval, but if this is unacceptable, you can switch to directly controlling each sensor (see sensor-control example)
The main question is what your application prioritizes? Having some color together with each depth frame or having all depth frames together?
Originally posted by @dorodnic in https://github.com/IntelRealSense/librealsense/issues/2637#issuecomment-434203140

@RohithKuditipudi , the above description is correct and you cannot generate a sync pulse from the RGB stream. Using the multi-cam sync depth pulse in the best-effort option as in certain cases the internal depth->rgb sync will be disabled like, for instance, when the RGB exposure priority is activated and the RGB stream switches to its own pace.

Thanks!


Move User Manual into nimble repo?

@EmmanuelCharpentier suggested moving the User Manual into the main Nimble repo. @fritzo agrees this would be helpful. What are everyone's thoughts?
The #1 finding of GitHub's 2017 Open Source survey was that

Documentation is highly valued, frequently overlooked, and a means for establishing inclusive and accessible communities.

Pros

It's generally easier to keep documentation in sync with code if they live in the same repo.

PRs modifying a function's behavior can update both code and documentation.
New features can be released with immediately updated documentation.
Branches can contain edits to both code and docs, thus encouraging developers to write documentation as they write code (and before they've forgotten the code!).

It's easier for users to find the manual, in case they want to fix a bug or add documentation.
It may be easier to html-ize the manual #468 if the man/*.Rd function docs and the tutorial-like UserManual live in a single repo. E.g. pkgdown may be able to build a site that incorporates both types of documentation.
???

Cons

It will take effort to make the move.
???

Seems reasonable; I don't feel strongly either way. I would imagine moving
the UserManual directory to nimble/UserManual so that UserManual is at the
same level as "packages". Is that what you were thinking?
On Mon, Jul 10, 2017 at 11:21 AM, Fritz Obermeyer<EMAIL_ADDRESS>wrote:

@EmmanuelCharpentier https://github.com/emmanuelcharpentier suggested
moving the User Manual into the main Nimble repo. @fritzo
https://github.com/fritzo agrees this would be helpful. What are
everyone's thoughts?
Pros

It's generally easier to keep documentation in sync with code if
they live in the same repo.

PRs modifying a function's behavior can update both code and
documentation.
New features can be released with immediately updated
documentation.
Branches can exist in

It's easier for users to find the manual, in case they want to fix a
bug or add documentation.
It may be easier to html-ize the manual if the man/*.Rd function
docs and the tutorial-like UserManual live in the same repo. E.g.
http://hadley.github.io/pkgdown http://hadley.github.io/pkgdown may
be able to build a site that incorporates both types of documentation.
???

Cons

It will take effort to make the move.
???

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/nimble-dev/nimble/issues/472, or mute the thread
https://github.com/notifications/unsubscribe-auth/ACYr3iiZN5h87TvYr4pPOzloGEq3KFnpks5sMmuXgaJpZM4OTOG7
.

@paciorek Yes, it's nice that we already have the nimble/packages directory structure. I was imagining a file tree like
nimble/               # repo root
nimble/packages/      # source code
nimble/UserManual/    # .Rnw documentation source
nimble/docs/          # html documentation generated by pkgdown

Makes sense to me.  I agree it's annoying to make separate updates to the manual repository whenever you update the core package.  Proposed directory structure seems to make the most sense.

@danielturek Git does not support cross-repo branching. I'm happy to move the branches for you, if you'd like (and document the process). The easiest approach is to create new branches in the nimble repo and manually patch in the changes creating a new commit, something like this:
cd ~/nimble-dev/nimble-docs
git checkout my-branch
git rebase user-manual  # This marks is the commit before I deleted the manual.
git diff user-manual --raw > /tmp/my-branch.patch
cd ~/nimble-dev/nimble
git checkout devel && git pull
git checkout -b my-branch
patch -p0 /tmp/my-branch.patch  # This will probably complain about binary merge conflict
git add .
git commit -m 'Migrated my-branch from nimble-docs to nimble'
git push

This loses commit history, but I'm guessing that's ok in your case. There are more complex techniques to script patching of entire commit histories.
Let me know if you'd like me to move your branches.

@fritzo If you wouldn't mind migrating those two branches, I would very much appreciate.
newControlDefaults-manual
car-manual
Also note, @paciorek is / will be making updates to the car-manual branch, so hopefully they are made in the correct place.  Please let @paciorek know exactly what you move that branch over.
Thanks!

@paciorek Could you let me know when you've pushed your changes (if any) to car-manual in nimble-docs. Then I will move the branch and let you know when it is ready to pull from nimble.
@danielturek I'll make a PR pulling the newControlDefaults-manual branch into your newControlLists branch. I'm excited for this new workflow of docs-and-code-in-the-same-branch :slightly_smiling_face:

I have yet to make any edits in car-manual branch so all fine on my end.

Ok, I've updated the manual on both branches where @fritzo migrated the user manual changes.
This is relevant to @paciorek  -- please make manual updates we discussed for the dcar_normal() distribution in the nimble-dev repository, on the car-manual branch.

To be absolutely clear, @paciorek , the new branch is https://github.com/nimble-dev/nimble/tree/car-manual


Trailing slashes leads to 404

Bug Description
say, I have a route:
@app.get("/sync/str/")
def sync_str_get():
    return "sync str get"

now, when I do curl http://localhost:8080/sync/str/, everything works fine, but if I do a curl http://localhost:8080/sync/str, I get a "Not found".
this is the same case if it is vice versa too (slash not being present in the route & slash being present in the URL).
edit: I tried the same thing with flask, and that worked fine.
Steps to Reproduce
No response
Your operating system
Linux
Your Python version (python --version)
3.12
Your Robyn version
main branch
Additional Info
ofc, I would like to work on this issue, and I have been debugging it, that led me to const_router.Router#get_route.
fn get_route(&self, route_method: &HttpMethod, route: &str) -> Option<Response> {
        let table = self.routes.get(route_method)?;
        let route_map = table.read().ok()?;

        match route_map.at(route) {
            Ok(res) => Some(res.value.clone()),
            Err(_) => None,
        }
    }

I presume I should add/remove a trailing slash here after checks. @sansyrox please CMIIW. :)
edit: or, we can add both the routes (with & without the slash) in Server#add_route, since doing the above approach would introduce an overhead on every request, but this approach only once. what say?

What I would suggest is to append a / to the URL without the / and then add it. It will make things a lot simpler

What I would suggest is to append a / to the URL without the / and then add it. It will make things a lot simpler

Alright. You meant adding both of them, right?


10.6.2 RN

We missed a release note for the following fix, could you add this one? Thanks in advance!
* We fixed an issue in the domain model editor where undoing changes to the domain model could cause an Oops dialog to pop up when making new changes.


Removed Vietnamese section.

🛠 Fixes Issue#182
Removed Vietnamese section.
✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers
📷 Screenshots

fixes #182


feat: plan part for new s3 source

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
part of #12410

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

It works as expected now

contained in #12595


Inform Rails that SecurityGroup now belongs to Router/Subnet

With this commit we inform Rails about the two new foreign keys on :security_groups table:
security_group.cloud_subnet
security_group.network_router

cloud_subnet.security_groups
network_router.security_groups

Related schema PR: https://github.com/ManageIQ/manageiq-schema/pull/258 (already merged)
@miq-bot add_label enhancement
@miq-bot assign @agrare

@agrare please let me know if I should put :dependent: => :nullify, but following other :has_manys I think not.

@miha-plesko we should have the dependent nullify (it looks like it is missing in few places)
We don't do specs for this, we should have specs in the refresh, for this relations.

Thanks


Use @actions/core to get input / set output

This also:

fixes up the node version renovation
renames upgradePolicy to upgrade-policy (which is a breaking change, but I don't see anyone using this just yet, and also it's pre-v1 anyways)
moves private-actions to .github/actions, as recommended in the docs

Closing in favor of #21, because it uses a branch in this repo, rather than my fork, so that I can target that branch in my other upcoming PRs.


新增对ServiceConfig配置的支持

1.新增之后需要进行如下所示的配置
grpc.client.tcl-cloud-provider.retry-enabled=true grpc.client.tcl-cloud-provider.method-config[0].name[0].service=helloworld.Greeter grpc.client.tcl-cloud-provider.method-config[0].name[0].method=SayHello grpc.client.tcl-cloud-provider.method-config[0].retry-policy.max-attempts=3 grpc.client.tcl-cloud-provider.method-config[0].retry-policy.initial-backoff=1 grpc.client.tcl-cloud-provider.method-config[0].retry-policy.max-backoff=1 grpc.client.tcl-cloud-provider.method-config[0].retry-policy.backoff-multiplier=2 grpc.client.tcl-cloud-provider.method-config[0].retry-policy.retryable-status-codes=UNKNOWN,UNAVAILABLE
2.测试结果如下

EDIT by @ST-DDT
English
References:

https://github.com/grpc/proposal/blob/master/A6-client-retries.md
https://github.com/grpc/grpc-java/blob/master/core/src/main/java/io/grpc/internal/RetryPolicy.java

Thanks for your contribution.
There are some small changes I would like to see before merging this. See my comments for details.
Also please run ./gradle spotlessApply before committing.
Lastly, please add a test that ensures this works as expected and does not break unnoticed in a future release.
If you need help with any of these, feel free to ask me and I will try to help you.

I have settled your proposal and also add GrpcChannelPropertiesGivenMethodConfigUnitTest for test

I'll try to add some integration tests that actually test, that the retry/service config is working.
Maybe I can also tweak the datatypes a bit to simplify the configuration some more.

I'll try to add some integration tests that actually test, that the retry/service config is working.
Maybe I can also tweak the datatypes a bit to simplify the configuration some more.

Ok just do it

Hey
Are there any plans to merge this PR? These configurations are crucial for making our clients resilient.
Thanks!

Currently there appears to be merge conflicts, so this cannot be merged right now.


Apply uncalled function checks to ternaries

Search Terms
ts2774 ternary condition error function called uncalled
Suggestion
TS2774 (implemented in https://github.com/microsoft/TypeScript/pull/32802), i.e. the "This condition will always return true since the function is always defined. Did you mean to call it instead?" error, provides a helpful hint for developers referencing a function in an if statement without calling it. However, the same check doesn't apply to ternaries, which is missing an opportunity to save some debug time and counterintuitive for devs who know about TS2774. I propose reusing TS2774 for developers who forget to call a function in a ternary.
Examples
Now:
const isString = (value: unknown) => typeof value === "string"

// Error (TS2774)
if (isString) {
}
// No error
isString ? true : false

If this suggestion is adopted:
const isString = (value: unknown) => typeof value === "string"

// Error (TS2774)
if (isString) {
}
// Error(TS2774)
isString ? true : false

Checklist
My suggestion meets these guidelines:

[✔] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[✔] This wouldn't change the runtime behavior of existing JavaScript code
[✔] This could be implemented without emitting different JS based on the types of the expressions
[✔] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[✔] This feature would agree with the rest of TypeScript's Design Goals.

Seems reasonable; we'd have to assess for breakage but I suspect this would turn out well

Thanks @a-tarasyuk!


Actually generate expired certificates with a date in the past

https://github.com/lgarron/badssl.com/blob/0efdcaa16545407067033420662ad8fc31493a6f/certs/cert-generator/cert-generator.sh#L99
https://github.com/wolfcw/libfaketime

I don't know if it's worth adding a dependency just for this small use case.  Note that the cert-generator.sh file won't regenerate this cert once it already exists.  So it's not as if you constantly have to wait a day every time you make jekyll.

I don't know if it's worth adding a dependency just for this small use case.

Maybe it's not important enough to be soon, but I'd like to avoid unnecessary surprises. There's probably also some way to do is using OpenSSL?
-startdate and -enddate seem to exist.
http://stackoverflow.com/questions/27745161/openssl-self-signed-root-ca-certificate-set-a-start-date

Good catch, I'll update the script to use that.


Failed to deploy at google cloud by console command "gcloud preview app deploy"

Hi there,
I have developed my loopback app and was going to deploy at google cloud platform with gcloud sdk console. At the time of deploy I am facing following error. Is there any one who can help me about?
Beginning teardown of remote build environment (this may take a few seconds).
ERROR: (gcloud.preview.app.deploy) Docker build aborted: The command [/bin/sh -c npm install --unsafe-perm ||   ((if [ -f npm-debug.log ]; then       cat npm-debug.log;     fi) && false)] returned a non-zero code: 1

Note: the same issue is appearing with fresh git clone.

Hi @amiashraf , can you check if you have the same issues with this project? https://github.com/strongloop/loopback-sandbox


old formatters syntax depricated

simplecov has deprecated this way of setting formatter:
    SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
        SimpleCov::Formatter::HTMLFormatter,
        SimpleCov::Formatter::BadgeFormatter,
    ]

And it raises an exception now when the specs are run.
This is how it should be now:
  SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter::new [
    SimpleCov::Formatter::HTMLFormatter,
    SimpleCov::Formatter::BadgeFormatter,
  ]

Should I send a pull request to update the documentation?

That'd be great. Thanks!

I see now that recently there was a commit that may have fixed the problem: https://github.com/colszowka/simplecov/commit/d40d545e31f98af05ad55d7db37dfdfa3d260acf
Tomorrow I will update the gem and test before I make any changes to documentation and create a PR.

Status check on this? Is this still needed? or did the array.new ship in simplecov.


idea: config file

if mine and slash & eb wizardry are now completely optional, can you add a config that allows to tell your mod to ignore them?
I have mine and slash and ebwizardry in my pack but dothack detects them, and I am currently rolling ebwiz down to 4.1.4 because a nuissance sound bug issue. It would be nice to not have to roll dothack down too because it is detecting ebwiz and getting upset.

oh, this is where I know you from.
On Wed, Aug 28, 2019 at 2:03 AM AzureZhen<EMAIL_ADDRESS>wrote:

Closed #2 https://github.com/AzureZhen/dotHackWeapons/issues/2.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/AzureZhen/dotHackWeapons/issues/2?email_source=notifications&email_token=AA5TJCESHGSJS3HVC45FCZLQGYPL3A5CNFSM4IPTCU42YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOTJLYKEY#event-2589426963,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA5TJCFVWVJXWE6E45KN6ADQGYPL3ANCNFSM4IPTCU4Q
.


Draft a User Persona

User persona done and completed

https://www.figma.com/file/DnC164r4V3pl8RWdOPCnFi/Github-Links?node-id=1294%3A10745


Using your Frecency algo in my tool - Navita

Hi @homerours,
Great tool, especially being written in C for performance. I too have a similar tool for directory navigation and wanted to check if it will be ok with you if I use your Frecency algorithm in my tool replacing my own. I found your algorithm to perform better for this particular use-case. I will make sure to credit you in the documentation and the source code for the Frecency algorithm.
Ref: https://github.com/CodesOfRishi/navita
Regards,
Rishi

Hi Rishi,
I am glad that it works well for you as well ! Yes of course feel free to use it as much as you like. Great project by the way, I may give it a try :)
Thanks for your message.
Best,
Leo

Thanks!

Thanks!


Support Tap#formula_files when using API.

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

Extracted from https://github.com/Homebrew/brew/pull/16710 for easier review.

Thanks @reitermarkus!


Move createTx logic to TxAPI

Issue brought up in #18 by @amanusk and resolved in #19. Continued here.
This change moves the logic for createTx from Wallet to TxAPI.
createTx facilitates the creation of StdSignMsgs to be signed by a Key  by automatically fetching the account number and sequence as well as estimating a fee. This change allows the user to call createTx without using a Wallet, and also allows the user to specify the source address (signing address) to retrieve account number and sequence values from, as well as using its balance to determine the dummy fee for fee estimation.

@amanusk thanks! Good catch.


Streaming apis implementation can miss sending data to clients

Description
As the streaming api is currently implemented, there can be multiple consumers for a single go channel of events created by the event reporter.  For example, in the globalState service implantation, there will be a consumer of data from the reporter's singleton rewardsChannel, per subscribed client, per one of the 3 streaming methods that use this channel - GlobalStateStream, SmesherRewardStream and AccountDataStream.
This will cause an issue where for example, not all rewards events will be sent to all registered clients in the case that two or more clients are registered to receive rewards using any of the 3 implemented streaming methods, or even  when only client is registered on two or more of the streams because the first select loop which will receive the event from the channel will consume it.
We need to implement pub-sub here to support multiple producers and multiple consumers pattern.

This issue will block testnet 0.2 release because Smapp uses the grpc streams to fetch user data. @IlyaVi @lrettig @moshababo

I think that go grpc uses blocking i/o and sending a message to a stream is not supported from different go routines. We don't want to block the node on sending data to slow clients over a network connection. This means that Reporter needs to be able to receive data from sources in node in a non-blocking way but internally, send the data blocking to all client streams.

Repro steps:

Subscribe with 1 grc client such as grpcurl to the globalState service GlobalStateStream method to receive rewards.
Wait until node performs rewards calculation for a layer.
Observe that you'll only get a subset of the rewards data items in the client but not all of them for a layer.

@moshababo

I have an outline of a solution that uses pub sub for rewards that can be applied on all reported streaming data. @sidsankhe takes over working on this issue.

Outline of fix (see #2389):

modify reporter to use pubsub-style interface (rather than a single, singleton channel per stream, create a new channel for each subscriber - same as ticker does). allow subscriber to specify channel buffer size.
remove blocking arg/property from reporter struct. reporting an event should never block and writes to all channels should be non-blocking.

CC @sidsankhe

Is this fully resolved?

Is this fully resolved?

Nearly, pending a few tweaks in the linked PR, see https://github.com/spacemeshos/go-spacemesh/pull/2389#pullrequestreview-680144825


Create prisma console, a REPL similar to rails console

Problem

When I work with Rails, I am able to type $ rails console and immediately get a REPL environment where I can run queries
and mutations, which is helpful for experimentation and testing ideas. The interactivity helps me quickly build up the
query I want one step at a time until I ultimately have a query I'm ready to put in real code. It's like a backdoor to the DB;
if I need to, I can even run queries on staging/production databases and use a real programming language to do what I
want with it.
Currently, it's not as quick and easy to experiment or run one-off commands with Prisma. The closest you
can get now is running node (or ts-node), importing the Prisma client, and going from there. However,
for the async APIs to be friendly, you need top-level-await in the REPL:

node --experimental-repl-await for versions v10.0.0 through v16.6.0, or more recent node
ts-node v10.2.0 or newer with TypeScript version is 3.8 or higher and target is ES2018 or higher

This excludes a lot of people from being able to use Prisma in a REPL. And for those that can, it's still not
obvious how to do it.
Suggested solution

I'd like to help build a new CLI command, $ prisma console, that

preloads the Prisma client
handles top-level-await either natively or through transpilation
supports TypeScript syntax when a tsconfig.json is detected, for consistency with real projects
supports niceties like tab-completion and custom commands for running other Prisma CLI commands without context switching or closing the REPL
automatically keeps up to date without restarting when the Prisma client is regenerated
supports evaluating string contents or scripts at the command line, for scripting or automation
potentially supports a "Sandbox" mode, where DB alterations are rolled back when the REPL exits

The ultimate goal would be to encourage experimentation and quick commands by being fast and simple to use.
Alternatives

As mentioned, users can manually set up the node or ts-node REPL, but that can get complicated and just takes
a lot of keystrokes to set up when it is possible.
Prisms Studio solves some of the same problems, but it's not CLI.
Users can write full .js/.ts files using Prisma and run them, evaluate results, edit the files, and rerun them, but
this is a slower process not well suited to experimentation.
Blitz.js users can use $ blitz console (docs) to interact with Prisma and other
parts of their apps. This is very similar to $ rails console. These users wouldn't have much of a use case for
$ prisma console. Whereas the Blitz.js console is focused on the full backend/full stack, a Prisma console would
be focused on the DB layer only.
Additional context
https://github.com/prisma/prisma/discussions/6300
Rails console docs
Rails console tips and tricks

This would be amazing! 🙌

Something similar already exists https://github.com/egoist/prisma-repl

So there is! Thank you, that seems to cover everything I mentioned.

Doesn't work for me, i can't run the prisma-repl, it is missing a file '~home/.npm/_npx/176ae59c25f9a6a5/node_modules/prisma-repl/dist/cli.js'


struggling to install deepsurv

Hi there,
I am struggling to install DeepSurv because of the known Lasagne and Theano issues. Do you provide a Docker image/docker file by any chance?
Best Kristian

for the following command solved the problem:
pip install --upgrade https://github.com/Lasagne/Lasagne/archive/master.zip
found here:
https://github.com/imatge-upc/salgan/issues/29#issuecomment-391394201

Even after successfully installing the Lasagne package, I still cannot install deepsurv correctly after spending 6 hours on this. Has anyone installed deepsurv and been able to run the example in the notebooks folder successfully?

Even after successfully installing the Lasagne package, I still cannot install deepsurv correctly after spending 6 hours on this. Has anyone installed deepsurv and been able to run the example in the notebooks folder successfully?

I had the same issue but then I found out that we can install deepsurv using pip install deepsurv

Oh no, the moment I typed import deepsurv and ran it, I got into an error. It looks like the library was written in Python 2? And I don't think anyone is maintaining the library now (hope that I am wrong).
print '[INFO] Training CoxMLP'
    ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?


Option request: "--timeout=300s" for "create"

"app took too long to start.".
Probably because of big image downloading from registry

Hi @bsideup
Have tried to use LATTICE_CLI_TIMEOUT environment variable?
as explained in the below link?
http://lattice.cf/docs/troubleshooting.html
Dhilip

Hi @dhilipkumars
No, I didn't. But it feels little bit dirty to use env vars for it.
I will try, thanks!

Hi @bsideup
From what i understand lattice comamnds are async in nature.  You request for a desired state and by default wait for 60secs.   (can be overridden by he above mentioned environment variable)
i generally monitor the system with
$ltc debug-logs

@bsideup We'll discuss whether we want to implement a --timeout flag for the commands that poll the system.  For now, the LATTICE_CLI_TIMEOUT (in seconds) environment variable should perform the same functionality.  e.g.,
$ LATTICE_CLI_TIMEOUT=60 ltc create lattice cloudfoundry/lattice-app

Also, even if you get the message "app took too long to start",  the system is still attempting to start the app -- you can check with either ltc list or ltc status <app>.

we're going to do the following:

double the default timeout
add --timeout in lieu of the environment variable
improve the error message to explain that the container did not actually fail to create, only that ltc has stopped waiting for it.  In the background, Lattice continues to download the layers.

@onsi great news :) much more user friendly IMO

these changes are included with the v0.2.1-48-gd66edad unstable build

This all just landed in v0.2.2


chore: add workspace flag to package script

Description of your changes
As detailed in the linked issue, the package script present in the main package.json currently causes a recursion. This PR modifies the command to include the -ws flag so that the command is run in each one of the workspace packages.
Fixes #1343.
How to verify this change
Run the command after checking out the branch locally  & confirm that the package command is called in each package of the workspace.
Related issues, RFCs

Issue number: #1343
Checklist

[x] My changes meet the tenets criteria
[x] I have performed a self-review of my own code
[x] I have commented my code where necessary, particularly in areas that should be flagged with a TODO, or hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have made corresponding changes to the examples
[ ] My changes generate no new warnings
[ ] The code coverage hasn't decreased
[ ] I have added tests that prove my change is effective and works
[ ] New and existing unit tests pass locally and in Github Actions
[ ] Any dependent changes have been merged and published
[x] The PR title follows the conventional commit semantics

Breaking change checklist
Is it a breaking change?: NO

[ ] I have documented the migration process
[ ] I have added, implemented necessary warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi @Muthuveerappanv thank you for opening this PR.
I have left a couple of comments that need to be addressed before we can merge it.
Also, please review the comments I have left in the linked issue around contributing and note that I took the liberty to edit the PR description so that it aligns with the requirements/instructions that are written in the PR comments.


Support mouse wheel scroll in horizontal scroll area without holding shift

Feature request
Overview
Hi there! We've been using the @radix-ui/react-scroll-area package for some time and really like it but have a minor feature request: we would love to support scrolling via external mouse wheel in our horizontal scroll areas without having to hold shift. Previously, we were using the overlay-scrollbars-react package which supported this via custom onWheel handlers which let us manually set the positioning in response to the event, regardless on the orientation. While this isn't super common, certain apps have similar behavior like this implemented, for example VS Code with their tabs in the editor's header.
As far as I can tell looking through the docs and code, there doesn't seem to be a way to set a custom onWheel handler or imperatively set the scroll position. Please let me know if I'm mistaken here, but otherwise adding support for this or even just supporting horizontal scroll in response to wheel events (without holding shift) would be great!
Examples in other libraries
overlay-scrollbars-react per the above comment.
Who does this impact? Who is this for?
All users who use the horizontal scrollbar.
Additional context
Easiest repro of this is directly in the docs: https://www.radix-ui.com/themes/docs/components/scroll-area
See gif for an example (first half not holding shift, second half holding shift):

See an example of how this works in VS Code's tabs (without holding shift):

worked perfectly for me too! thanks
const ScrollArea = React.forwardRef<
  React.ElementRef<typeof ScrollAreaPrimitive.Root>,
  React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root> & {
    orientation?: ScrollAreaPrimitive.ScrollAreaScrollbarProps['orientation'];
    redirectHorizontalWheel?: boolean;
  }
>(
  (
    {
      className,
      children,
      orientation = 'vertical',
      redirectHorizontalWheel = true,
      ...props
    },
    ref
  ) => {
    const viewportRef = useRef<HTMLDivElement | null>(null);

    const onWheel = useCallback((e: React.WheelEvent<HTMLDivElement>) => {
      if (
        !redirectHorizontalWheel ||
        !viewportRef.current ||
        e.deltaY === 0 ||
        e.deltaX !== 0
      ) {
        return;
      }

      e.preventDefault();

      const delta = e.deltaY;
      const currPos = viewportRef.current.scrollLeft;
      const scrollWidth = viewportRef.current.scrollWidth;

      const newPos = Math.max(0, Math.min(scrollWidth, currPos + delta));

      viewportRef.current.scrollLeft = newPos;
    }, []);

    return (
      <ScrollAreaPrimitive.Root
        ref={ref}
        onWheel={onWheel}
        className={tw('relative overflow-hidden', className)}
        {...props}
      >
        <ScrollAreaPrimitive.Viewport
          ref={viewportRef}
          className="h-full w-full rounded-[inherit]"
        >
          {children}
        </ScrollAreaPrimitive.Viewport>
        <ScrollBar orientation={orientation} />
        <ScrollAreaPrimitive.Corner />
      </ScrollAreaPrimitive.Root>
    );
  }
);
ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;

thanks! so inspirational, modified a little bit
    const viewportRef = useRef<HTMLDivElement | null>(null);

    const onWheel = useCallback((e: React.WheelEvent<HTMLDivElement>) => {
      if (
        !redirectHorizontalWheel ||
        !viewportRef.current ||
        e.deltaY === 0 ||
        e.deltaX !== 0
      ) {
        return;
      }
      e.preventDefault();
      e.stopPropagation();

      const delta = e.deltaY;
      const currPos = viewportRef.current.scrollLeft;
      const scrollWidth = viewportRef.current.scrollWidth;

      const newPos = Math.max(0, Math.min(scrollWidth, currPos + delta));

      viewportRef.current.scrollLeft = newPos;
    }, []);

    useEffect(() => {
      viewportRef.current?.addEventListener('wheel', (e: WheelEvent) => {
        onWheel(e as unknown as React.WheelEvent<HTMLDivElement>);
      });
    }, [onWheel]);

works better and avoids Unable to preventDefault inside passive event listener invocation.

nevermind I figured it out by setting an onWheel listener on the Root component which updates the Viewports scrollLeft value via a ref anytime we receive a wheel event with deltaY set. It looks like the browser fires wheel events in both cases when you scroll via a mouse wheel but sets the deltaX field if you hold shift and the deltaY field if you don't.
Our (simplified) code looks something like the following:
import * as ScrollArea from '@radix-ui/react-scroll-area';

function TabsList({tabs}: {tabs: Array<Tab>}) {
 const viewportRef = useRef<HTMLDivElement | null>(null);

 const onWheel = useCallback((e: React.WheelEvent<HTMLDivElement>) => {
    // Ignore this event unless it's a strictly vertical wheel event (horizontal wheel events are already handled by the library)
    if (!viewportRef.current || e.deltaY === 0 || e.deltaX !== 0) {
      return;
    }

    e.preventDefault();

    // Capture up/down wheel events and scroll the viewport horizontally
    const delta = e.deltaY;
    const currPos = viewportRef.current.scrollLeft;
    const scrollWidth = viewportRef.current.scrollWidth;

    const newPos = Math.max(0, Math.min(scrollWidth, currPos + delta));

    viewportRef.current.scrollLeft = newPos;
  }, []);

  return (
    <ScrollArea.Root onWheel={onWheel}>
      <ScrollArea.Viewport ref={viewportRef}>
        <div>
          {tabs.map((tab) => {
            return <Tab tab={tab} />;
          })}
        </div>
      </ScrollArea.Viewport>
      <ScrollArea.Scrollbar orientation="horizontal">
        <ScrollArea.Thumb />
      </ScrollArea.Scrollbar>
    </ScrollArea.Root>
  )
}

would still be nice to support this out the box, allow it to be configurable, or add some docs around this but will close this out in the meantime!

Great job! I have a little problem here. I have a kanban board and when I want to scroll a column, it's scrolling all the board, would like to get some help!
https://github.com/user-attachments/assets/d8cf9fc0-b7ef-4395-9795-4e62d7273478
All configuration is the same, do u have any ideas?


[🐞] Context does not exist after SSR and navigating to a new page using

Which component is affected?
Qwik City (routing)
Describe the bug
After providing a context from the root component, it no longer exists when navigating to a new page.
The following error is thrown:
Actual value for useContext() can not be found, make sure some ancestor component has set a value using useContextProvider() '...' Error: Code(13): Actual value for useContext() can not be found, make sure some ancestor component has set a value using useContextProvider()

Reproduction
https://stackblitz.com/edit/qwik-starter-8f1jai
Steps to reproduce

Provide a context on the root component (or from within a component that wraps around QwikCityProvider).
Navigate to a new page
Call useContext from the new page
Observe an error in the console

System Info
System:
    OS: macOS 12.0.1
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 109.90 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.17.0 - ~/.nvm/versions/node/v16.17.0/bin/node
    Yarn: 1.22.18 - /usr/local/bin/yarn
    npm: 7.13.0 - /usr/local/bin/npm
  Browsers:
    Chrome: 107.0.5304.110
    Firefox: 107.0
    Safari: 15.1
  npmPackages:
    @builder.io/qwik: ^0.14.0 => 0.14.0
    @builder.io/qwik-city: ^0.0.125 => 0.0.125
    vite: 3.2.4 => 3.2.4

Additional Information
No response

Hi @DustinJSilk
Thanks for providing a repro 🙏 I quickly had a look at it and on the /flower route i do get the value of the test context as expected. I do have some issue navigating to the flower route on stackblitz but that seems to be related to another issue.

Can you confirm that?

Thanks for taking a look @zanettin !
This is definitely happening for me. You can see it happening in the below recording.

@DustinJSilk thanks once again for the recording and info 🙏  looks like this issue is caused on SPA navigations using the <Link /> component 👍 If you change it to a regular <a>-tag which lets qwik act as MPA, the context is available as expected on my end. Hope smb from the core team can have a look at it 🙏

@zanettin yes, it's expected to work as an SPA.
This issue has been assigned and added to a milestone, it's also a major bug, so it should get fixed soon

@DustinJSilk all good. don't get me wrong. my comment was just to outline where the context issue occurs. it's not within the MPA logic of qwik but during SPA navigations. just tried to limit the scope of the issue and not questioning if and with which prio it should get fixed 😃

Providing a context in a layout allows you to shared it across routes.
I'm sure people will still expect contexts provided above the QwikCityProvider and RouterOutlet to persist, but there is a work around in the meantime.

This is happening to me too. I'm updating the path of navigation and after some continuous updates, I'm getting this error for all contexts I have.
Qwik Version: 0.15.2
Qwik-City Version: 0.0.128

Same thing for me.
But it's work for unmount layouts context.

I agree, this is a serious issue for anyone trying to build any non MPA app (that preserves state between page transitions)
@manucorporat FYI - I just double checked this
It happens indeed on SSR and only with <Link> ... and for some reason it doesn't happen when I manually "track" the value of the context.
hypothesis 1:
The context is being "dynamically tree shaken out" because Qwik can't see that the page that is behind the <Link> components (maybe because it's not part of the initial SSR, but dynamically loaded afterwards)
hypotheses 2:
The context "up the tree" lookup avoids looking for elements that got added dynamically added after the initial SSR

This issue has come up again for me - i'm trying to expose environment variables with process.env. which only exist on the server, so I need to make them available with a context which gets lost when navigating and cant be provided in a layout because it will load process.env in the browser which isnt possible.

Okay ive found a work around to my issue.
I can provide env variables in the root, then provide them again in the first layout. This was the calls to process.env. are rendered on the server, and on the client the state is shared through the second context provider.
Bit hacky but seems to work so far :)

This is a major bug. I am trying to build a site but can't proceed until this is fixed. Is this being worked on? I really like Qwik!

This still wasn't fixed? After 2 months? I thought this was major bug

Fixed! https://github.com/BuilderIO/qwik/commit/c598bd38b0099b327c2224885d6fc4787114d84b

@manucorporat This seems still a problem in dev mode where there's no ssr. When ssr is disabled and you visit a route then this problem happens again.

@atinylittleshell your comment might get missed here, I’d suggest creating a new issue with a way to reproduce the problem


EVP & TLS: Add necessary EC_KEY data extraction functions, and use them

libssl code uses EVP_PKEY_get0_EC_KEY() to extract certain basic data
from the EC_KEY.  We replace that with EVP_PKEY functions.
This may or may not be refactored later on.

If nothing else, this can be an interim solution until #11340 has been merged.
#11328 depends on something like this.

Hmmm. I can't say I'm keen on this. This seems to just sidestep the problem of what to do with the EVP_PKEY_get0_EC_KEY et al functions - and fixes it for us. But does so by polluting the EVP_PKEY API with algorithm specific functions.

Yes, that's true.  However, as soon as we get EC key generation, we get issues with this, so the question is how long that should be stuck waiting for "the right thing" to happen.
I could make those functions internal but still exported, if that helps matters

This is an interim solution

Marked as WIP for obvious reasons

I could make those functions internal but still exported, if that helps matters

That would definitely help I think.

Although, I think EVP_PKEY_can_sign() is more generally useful...

There.  I've also added EVP_PKEY_is_a(), which has been floating a more than one branch I juggled with

Could you push the latest version of your local branch here? I'm experimenting with your ec key gen stuff...

Done, and in #11328 as well

Rebased on master, now that #11375 is in.

Ping!

Travis failure re documentation:
doc/man3/EVP_PKEY_is_a.pod:1: EXAMPLE not EXAMPLES section.

That document contains two examples, so I'm starting to wonder if find-doc-nits isn't a little too picky in this case.

Ping!

Needs rebase!

There are now conflicts and the Travis failure is probably relevant

Just rebased

Ah, the CI failure was due to a merge error with duplicate definition of the same local variable.
Fixed, and I took the opportunity to squash and rebase.

Approved assuming CIs pass.

... it only takes a rebase for hell to break loose :unamused:

With @mattcaswell's assistance, I was able to put in a workable hack.  It turned out that legacy key support needed some hard coding.

One failure left...  I didn't account for no-ec

... at least not everywhere

Fixed

Apart from the usual timeout, CIs are fine

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Merged.
4f76d62f2384d3335bd1d043706995ae64b37348 EVP: add EVP_PKEY_is_a() and EVP_PKEY_can_sign()
c2041da8c15027ddde5afcf9809d8d3a975eb25b EVP & TLS: Add necessary EC_KEY data extraction functions, and use them
e3be0f4389fe1680e1fd547a8575ea71b4518b57 Fix export of provided EC keys
afce590b74159f7df1452fb2c4aa990a52536c38 TLS: Temporarly downgrade newly generated EVP_PKEYs to legacy

Oh damn, now I see that the last approval came after the "approval: done" label was set, so I cut the grace period short...  by 3hrs, I hope it's not too bad.


CN: update atom section in basic lesson.

Apply updates mentioned in #480 in Chinese.

Thank you @cizixs!! 👍


Update README.md

Before diving into any of the patterns, readers should be reminded of two fundamental laws in software architecture:
1.Everything is a trade-ff
2."Why is more important than the how"
So, readers face the nuances and reality of these patterns from the beginning. These two laws are coined by two thought leaders in software architecture: Mark Richards and Neal Ford. They have explained these two laws in various conference talks and books. For example, here you can read about these two laws here:
https://www.infoq.com/podcasts/software-architecture-hard-parts/
Also, here is a book for reference:
https://a.co/d/fKOodW9

This is already discussed briefly in General recommendations on architectures section.
I will check the links later and maybe add them to the readme.
Thanks.


Encryption feature

Our goal is to protect the data better. This work consists of 2 features :

[ ] #904
[ ] #905

shifted to discussion #1334


.toMatchTypeOf() does not handle Readonly consistently

Playground link.
The .toMatchTypeOf() matcher treats Readonly array and map / set / object types differently:
import { expectTypeOf } from 'expect-type';

expectTypeOf<Readonly<string[]>>().not.toMatchTypeOf<string[]>();

// I would expect the following to pass as well, but they all error

expectTypeOf<Readonly<Map<string, string>>>().not.toMatchTypeOf<Map<string, string>>();
expectTypeOf<Readonly<Set<string>>>().not.toMatchTypeOf<Set<string>>();

expectTypeOf<Readonly<{ a: string }>>().not.toMatchTypeOf<{ a: string }>();

For Map and Set, this is correct behaviour. You should use ReadonlyMap<string, string> instead of Readonly<Map<string, string>>. I believe typescript has a special case for arrays, where Readonly<string[]> is the same as ReadonlyArray<string>. Fixed playground for Map and Set.
As for your {a: string} example - I agree that it's unfortunate that it passes, but it matches typescript's behaviour:
const readonlyObj: Readonly<{a: string}> = {a: 'a'}

readonlyObj satisfies {a: string}

const mutatingFn = (obj: {a: string}) => {
  obj.a = 'sorry not sorry'
}

mutatingFn(readonlyObj)

(playground)
It don't think it would make sense to have expect-type deviate from typescript's behaviour here, but feel free to reference this issue in https://github.com/microsoft/typescript/issues - there is likely an existing issue for it.

Apologies, the example could be better.
The current documentation suggests that .toMatchTypeOf() can be used "To allow for extra properties". At least this is how I understood description and example. It sounds like .toMatchTypeOf() is identical with .toEqualTypeOf(), but allows testing partial match. That seems to be incorrect, when readonly gets involved:
import { expectTypeOf } from 'expect-type';

expectTypeOf<{ readonly a: string; b: number }>().not.toEqualTypeOf<{ a: string; b: number }>();

expectTypeOf<{ readonly a: string; b: number }>().not.toMatchTypeOf<{ a: string }>(); // should also pass, but it fails

playground

note that you can still call .set(...) etc. on ReadonlyMaps.

I guess you mean: .set() does not exist on ReadonlyMap, but Readonly<Map<...>> has it. That‘s right, ReadonlyMap must be used instead of Readonly<Map<...>>, because they are not identical.
.toMatchTypeOf() works correctly with ReadonlyMap or ReadonlySet. All of following does pass:
expectTypeOf<{ a: Map<string, number>; b: number }>().toMatchTypeOf<{ a: Map<string, number> }>();
expectTypeOf<{ a: ReadonlyMap<string, number>; b: number }>().not.toMatchTypeOf<{ a: Map<string, number> }>();

expectTypeOf<{ a: Set<string>; b: number }>().toMatchTypeOf<{ a: Set<string> }>();
expectTypeOf<{ a: ReadonlySet<string>; b: number }>().not.toMatchTypeOf<{ a: Set<string> }>();


Is there any way to hide the suggestions before the class.

"editor.codeLens": false in your settings will disable this.


docs: Add important notes about the retry logic and the  requirement

PR o'clock
Description
Add notes about the retry logic used by this module to manage the aws-auth configmap and the wget requirement.
Resolves https://github.com/terraform-aws-modules/terraform-aws-eks/issues/829
Checklist

[x] CI tests are passing
[x] README.md has been updated after any changes to variables and outputs. See https://github.com/terraform-aws-modules/terraform-aws-eks/#doc-generation

Looks good to me.


pcfdev login error

I am trying to deploy pcfdev on a Microsoft Azure Windows VM. Installed cf CLI, Oracle Virtual Box and pcfdev plugin. when i tried cf dev start the pcfdev is created and started in Virtual box. But when i tried connecting cf login -a https://api.local.pcfdev.io --skip-ssl-validation it is not connecting.
ipconfig shows me that a pcfdev VM is created with IP <IP_ADDRESS>.
I could ping to <IP_ADDRESS>, so I changed the \etc\hosts to point api.local.pcfdev.io to <IP_ADDRESS> and i could ping api.local.pcfdev.io. i tried https_proxy, no_proxy set to api.local.pcfdev.io. but still cf login doesnt work.
please suggest

Hi @vcherukuri,
In #106, you indicated that your VM did not start completely. Can you provide the output of cf dev start?

tried installing pcfdev on Azure linux VM:
Downloading VM...
Progress: |====================>| 100%
VM downloaded
Allocating 3484 MB out of 6968 MB total system memory (6614 MB free).
Importing VM...
FAILED
Error: failed to import VM: failed to execute 'VBoxManage clonemedium disk /home/pcf/.pcfdev/vms/pcfdev-v0.136.0-disk1.vmdk.compressed /home/pcf/.pcfdev/vms/pcfdev-v0.136.0/pcfdev-v0.136.0-disk1.vmdk': exit status 1: VBoxManage: error: Could not get the storage format of the medium '/home/pcf/.pcfdev/vms/pcfdev-v0.136.0-disk1.vmdk.compressed' (VERR_NOT_SUPPORTED)
VBoxManage: error: Details: code VBOX_E_IPRT_ERROR (0x80bb0005), component MediumWrap, interface IMedium, callee nsISupports
VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp

Is this a problem with the virtual box software? Any suggestions on which version of virtual box and pcfdev to be used for a successful installation on Microsoft Azure virtual Machine.

As mentioned in the docs, you must use Virtualbox 5+ to run PCF Dev. Your Linux run of  cf dev start was likely using an older version of Virtualbox.
I would need to see the boot output on the Windows VM to diagnose the issue you're having on Windows.

but the virtual box version i am using is virtualbox-5.1_5.1.0-108711~Ubuntu~trusty_amd64.deb

Is it possible that you're running out free space on the VM?
If not, could you downgrade to Virtualbox 5.0.24? Preliminary testing suggests that PCF Dev works with Virtualbox 5.1, but we haven't tested it as extensively as 5.0.

Tried with Virtual box 5.0.24 but pcfdev vm cannot be started
cf dev start
Please retrieve your Pivotal Network API from:
https://network.pivotal.io/users/dashboard/edit-profile
API token>
Downloading VM...
Progress: |====================>| 100%
VM downloaded
Allocating 4096 MB out of 14024 MB total system memory (13718 MB free).
Importing VM...
Starting VM...
FAILED
Error: failed to start VM: failed to execute 'VBoxManage startvm pcfdev-v0.136.0                                                                                --type headless': exit status 1: VBoxManage: error: VT-x is not available (VERR                                                                                _VMX_NO_VMX)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component Consol                                                                                eWrap, interface IConsole
Waiting for VM "pcfdev-v0.136.0" to power on...
vboxmanage -version
5.0.24r108355
vboxmanage list vms
"pcfdev-v0.136.0" {306c4ae7-81e6-452a-8082-82f083c5bb64}

Hi @vcherukuri,
Is that boot output from a different VM? The error indicates that you don't have VT-x passthrough enabled on the VM that you're starting PCF Dev in. You will not be able to virtualize any VMs (including PCF Dev) inside of a VM configured without VT-x passthrough.

I've made it possibly a little further in the sense that I have Virtual Box running on an Ubuntu VM on Azure and have got it to start the VM through pcf dev start, but fails when trying to connect via ssh.
I'm running Ubuntu 16.04 LTS on an Standard DS1 v2 (1 core, 3.5 GB memory).
$ vboxmanage --version
5.0.24_Ubuntur108355
$cf dev start
...
Importing VM...
Starting VM...
FAILED
Error: failed to start VM: ssh connection timed out: ssh: handshake failed: read tcp <IP_ADDRESS>:33680-><IP_ADDRESS>:39564: read: connection reset by peer
Showing VM info, it looks like it's using NAT for networking, but the port isn't getting forwarded or something is getting lost... when I try to manually ssh, same thing happens:
$ ssh <IP_ADDRESS> -p 39564
ssh_exchange_identification: read: Connection reset by peer
$ vboxmanage showvminfo pcfdev-v0.136.0
Name:            pcfdev-v0.136.0
Groups:          /
Guest OS:        Ubuntu (64-bit)
UUID:            09d8f526-5aea-4e9d-8423-0723b33976c7
Config file:     /home/jason/.pcfdev/vms/pcfdev-v0.136.0/pcfdev-v0.136.0.vbox
Snapshot folder: /home/jason/.pcfdev/vms/pcfdev-v0.136.0/Snapshots
Log folder:      /home/jason/.pcfdev/vms/pcfdev-v0.136.0/Logs
Hardware UUID:   09d8f526-5aea-4e9d-8423-0723b33976c7
Memory size:     3072MB
Page Fusion:     off
VRAM size:       8MB
CPU exec cap:    100%
HPET:            off
Chipset:         piix3
Firmware:        BIOS
Number of CPUs:  1
PAE:             on
Long Mode:       on
CPUID Portability Level: 0
CPUID overrides: None
Boot menu mode:  message and menu
Boot Device (1): Floppy
Boot Device (2): DVD
Boot Device (3): HardDisk
Boot Device (4): Not Assigned
ACPI:            on
IOAPIC:          on
Time offset:     0ms
RTC:             local time
Hardw. virt.ext: on
Nested Paging:   on
Large Pages:     off
VT-x VPID:       on
VT-x unr. exec.: on
Paravirt. Provider: Default
State:           running (since 2016-07-21T13:34:36.142000000)
Monitor count:   1
3D Acceleration: off
2D Video Acceleration: off
Teleporter Enabled: off
Teleporter Port: 0
Teleporter Address:
Teleporter Password:
Tracing Enabled: off
Allow Tracing to Access VM: off
Tracing Configuration:
Autostart Enabled: off
Autostart Delay: 0
Default Frontend:
Storage Controller Name (0):            SATA
Storage Controller Type (0):            IntelAhci
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0):  30
Storage Controller Port Count (0):      30
Storage Controller Bootable (0):        on
SATA (0, 0): /home/jason/.pcfdev/vms/pcfdev-v0.136.0/pcfdev-v0.136.0-disk1.vmdk (UUID: 8913ad9b-53dd-4fba-9af8-fb65756ddb9a)
NIC 1:           MAC:<PHONE_NUMBER>D8, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 1 Settings:  MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 1 Rule(0):   name = ssh, protocol = tcp, host ip = <IP_ADDRESS>, host port = 39564, guest ip = , guest port = 22
NIC 2:           MAC: 080027C1B7C1, Attachment: Host-only Interface 'vboxnet0', Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 3:           disabled
NIC 4:           disabled
NIC 5:           disabled
NIC 6:           disabled
NIC 7:           disabled
NIC 8:           disabled
Pointing Device: PS/2 Mouse
Keyboard Device: PS/2 Keyboard
UART 1:          disabled
UART 2:          disabled
UART 3:          disabled
UART 4:          disabled
LPT 1:           disabled
LPT 2:           disabled
Audio:           disabled
Clipboard Mode:  disabled
Drag and drop Mode: disabled
Session name:    headless
Video mode:      640x480x32 at 0,0 enabled
VRDE:            disabled
USB:             disabled
EHCI:            disabled
XHCI:            disabled
USB Device Filters:

Available remote USB devices:

Currently Attached USB Devices:

Bandwidth groups:
Shared folders:
VRDE Connection:    not active
Clients so far:     0
Video capturing:    not active
Capture screens:    0
Capture file:       /home/jason/.pcfdev/vms/pcfdev-v0.136.0/pcfdev-v0.136.0.webm
Capture dimensions: 1024x768
Capture rate:       512 kbps
Capture FPS:        25
Guest:
Configured memory balloon size:      0 MB
OS type:                             Ubuntu_64
Additions run level:                 0
Guest Facilities:
No active facilities.

Hi @delormej,
Your host VM has well below the recommended system memory to run PCF Dev. Virtualbox seems able to reserve 3 GB of memory for the guest, but could you be running out of memory on the host?

I will try a bigger VM, I do get this message when deploying:
Allocating 3072 MB out of 3439 MB total system memory (3195 MB free).
  From: Stephen Levine<EMAIL_ADDRESS>
To: pivotal-cf/pcfdev<EMAIL_ADDRESS>Cc: delormej<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Sent: Thursday, July 21, 2016 10:42 AM
Subject: Re: [pivotal-cf/pcfdev] pcfdev login error (#105)
Hi @delormej,Your host VM has well below the recommended system memory to run PCF Dev. Virtualbox seems able to reserve 3 GB of memory for the guest, but could you be running out of memory on the host?—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@sclevine upgraded to a Standard DS2 v2 (2 cores, 7 GB memory), same issue.  I do believe that the issue is related to virtual box networking.  Would it terrifically break things if I changed from NAT to another networking type? Something funky is happening.
images/pcfdev.json
[ "modifyvm", "{{.Name}}", "--nic1", "nat" ],
Thanks!

Changing the networking type could easily break things. (I haven't tried it though.)
Is it possible that you have restrictive iptables rules (manually set, or from a firewall program) that prevent Virtualbox from binding the guest SSH port to a host port?

Dear sclevine
I am also trying PCF Dev on Azure.  I was going through the blog inline with your and @vcherukuri , is the issue resolved with not able to login, pl. let me know the same.

Any reply on the same, pl. let me know the same.

Hi,
I'm having the same issue using VirtualBox 5.1.2
When I start the VM everything goes well:
is now running.
To begin using PCF Dev, please run:
cf login -a https://api.local.pcfdev.io --skip-ssl-validation
Admin user => Email: admin / Password: admin
Regular user => Email: user / Password: pass
But when I try to login (from the local machine, not inside the vm)
I get:
API endpoint: api.local.pcfdev.io
FAILED
Error performing request: Get https://api.local.pcfdev.io/v2/info: dial tcp: lookup api.local.pcfdev.io on <IP_ADDRESS>:53: no such host
TIP: If you are behind a firewall and require an HTTP proxy, verify the https_proxy environment variable is correctly set. Else, check your network connection.
I logged to<EMAIL_ADDRESS>and found this in the end of /var/pcfdev/run.log:

cf unmap-route apps-manager-venerable local.pcfdev.io --hostname apps-manager
FAILED
App apps-manager-venerable not found
true
cf unmap-route apps-manager-venerable local.pcfdev.io --hostname console --path /2
FAILED
App apps-manager-venerable not found

Everything else seems fine. Any advice on how to proceed? Should I be trying to log to the client from inside the virtual box vm (instead of my host machine)?

@eduardohl Your issue does not seem similar to the opening issue. Are you also attempting to run PCF Dev on Azure? Are you able to resolve api.local.pcfdev.io to <IP_ADDRESS> on your host machine? It seems like your VM is fine, but your host cannot resolve that domain.

Not so similar, in a sense that's not Azure, but I thought the networking problem is similar. No I'm not able to resolve api.local.pcfdev.io, even thought I tried changing the DNS servers to <IP_ADDRESS> and that didn't help. Finally, I seem to be able to do it by following this section: https://docs.pivotal.io/pcf-dev/work-offline.html
I'm still curious to understand how would it work in any other fashion. Hope this is related to this issue, otherwise I can delete it to avoid cluttering it.

The *.local.pcfdev.io resolution is provided by our public DNS servers. The api.local.pcfdev.io domain should resolve to <IP_ADDRESS> on any host that can resolve public DNS domains (ex. example.com).

The team has confirmed that Azure does not support VT-x, and therefore cannot run PCF Dev nested in Virtualbox. Please open new issues for problems unrelated to Azure.

Hi SClevine,
I am facing same issue-cf dev start Failed, I am installing CFdev on windows10  machine
Downloading VM...
Progress: |====================>| 100%
VM downloaded.
Allocating 3575 MB out of 7150 MB total system memory (3197 MB free).
Importing VM...
Starting VM...
FAILED
Error: failed to start VM: ssh connection timed out: ssh: handshake failed: read tcp <IP_ADDRESS>:60481-><IP_ADDRESS>:60422: wsarecv: An existing connection was forcibly closed by the remote host..
Please Help
Thanks a lot !
Abhijit patil.

As mentioned in #200, you are likely trying to virtualize PCF Dev in a nested VM that doesn't support VT-x.

Hi,
When i am trying to run command cf dev start receiving below error.
Using existing image.
Allocating 4096 MB out of 16205 MB total system memory (9803 MB free).
Importing VM...
Starting VM...
FAILED
Error: failed to start VM: failed to execute 'C:\Program Files\Oracle\VirtualBox\VBoxManage startvm pcfdev-v0.461.0 --ty
pe headless': exit status 1: Waiting for VM "pcfdev-v0.461.0" to power on...
VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
And when i am starting VM from Oracle VM VirtualBox manager getting error:
Failed to open session for the VM .
VT-x is not available (VERR_VMX_NO_VMX).

Result Code:
E_FAIL (0x80004005)

Component:
ConsoleWrap

Interface:
IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

Hi @kpurushottamfromdel,
You are attempting to start PCF Dev nested inside of another VM, or on a machine that does not support the VT-x processor extension. The VT-x processor extension is required to run 64-bit VMs in Virtualbox (such as the PCF Dev VM).


Notification updates

Description

Pagination
Mark as read / mark all as read
Links for comment threads
Update notification content

Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Manually

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:red_circle: Total coverage has decreased
// Code coverage diff between base branch:release and head branch: notification-updates

Status
File
% Stmts
% Branch
% Funcs
% Lines

:red_circle:
total
53.3 (-0.06)
35.3 (-0.03)
31.88 (-0.07)
53.83 (-0.05)

:red_circle:
app/client/src/actions/notificationActions.ts
67.65 (-0.77)
100 (0)
0 (0)
85.71 (-1.79)

:red_circle:
app/client/src/api/NotificationsAPI.tsx
76.47 (-3.53)
0 (-100)
20 (-13.33)
75 (-2.78)

:red_circle:
app/client/src/constants/messages.ts
71.65 (-0.03)
100 (0)
14.29 (-0.06)
76.03 (0.08)

:red_circle:
app/client/src/reducers/uiReducers/notificationsReducer.ts
28.57 (-25.98)
0 (0)
0 (0)
28.57 (-25.98)

:red_circle:
app/client/src/sagas/NotificationsSagas.ts
18.18 (-31.82)
8.33 (-25)
20 (-13.33)
23.53 (-34.8)

/ok-to-test sha=e7f00ee

/ok-to-test sha=671fa79


Convert all usage of FILE* to C++ std::ofstream or std::ifstream

FILE* is not a good idea in C++ and harder to work with.  The std::ofstream is much easier and safer to use.  Convert all usage of FILE* into std::ofstream or std::ifstream as appropriate.

@stripes416 this might be a good task for you to get your hands dirty ;)

This issue was filed before the 01org/libyami-utils split and probably has more relevance to 01org/libyami-utils than 01org/libyami


mute linked to media key

Think it would be nice to link (if possible) the mute toggle to the media key (and general mute).
If i mute from media keys the system gets muted, but the toggle is not updated.

You can add onlyswitch's telegram group. You will find the link in readme.


🔍 sy/Refactor - redux ducks to toolkit Immer slices

@soundyogi  Would in any case remove the logger middleware only unnecessarily junk in the console.
In case you didn't know, there is a great test tool from redux that will give you all the information you need.
https://github.com/reduxjs/redux-devtools

the logger middleware shall be configurable via feature toggles, through dev tools a dev could also manually override, no?

yes to dev toggle. (or filter the block update action)
yeah I know redux devtools, they are slow and I hate them.
In any case, the logger is only needed when one wants to reason abotu the state flow, so indeed it can be commented out / ppl can use devtools instead.
will fix.

👍 otherwise looks good

something is still wront with voting - will need to check out again later

can you elaborate?
can i help?

this is basically "just" refactoring the ducks to slices that use immer js
since we are not super ocnfident with that yet, I want to wait with this one - its also not critical the app works fine.
its just in an A/B testing the voting in this branch doesnt work as it should (yet)
But its really not a pressing matter and we should worry abotu this next week or so

@soundyogi is this still relevant? if yes, can you try to merge the current status without breaking anything?

actually, no - not until we go to the newer codebase.
I would like to keep the branch though. closing this.


Can't release placeholders in bank

Title. When you try to release a placeholder it tries to give the item tag.

Duplicate of #1443

Duplicate of #1443


Implement CreateObject()

This implements brightscript's createObject() and a new BrsObjects map that will contain a list of brightscript components that can be created.

I was going to ask about an end-to-end test for this, but I realized I'd rather handle that as part of testing methods on various BrightScript components.


ceph-mon task currently chmods all the files of /etc/ceph/*.keyring

I mean, do ceph-mons really have to chmod all the files of /etc/ceph/*.keyring?
13:37:55 Nicho1as | Hi, ceph-ansible playbook's ceph-mon role chmods all the files of /etc/ceph/.keyring but I have to keep /etc/ceph/ceph.client.libvirt.keyring as 0640 not 0600... what would you guys suggest as a preferable solution? I mean do ceph-mons really have to chmod all the files of /etc/ceph/.keyring?
13:38:29          | it's written in ceph-ansible/roles/ceph-mon/tasks/ceph_keys.yml
13:38:56          | leseb: I'd like to hear your opinion..
16:27:27          | for the time being I just put a task right after that which chmods the file I need to keep 0640..
16:34:29      --> | 04<EMAIL_ADDRESS>has joined #ceph-ansible
16:44:40      --> | ne-<EMAIL_ADDRESS>has joined #ceph-ansible
16:55:54    leseb | Nicho1as can you open an issue for this please? on github :) we will address that
16:56:27 Nicho1as | Sure, I will after dinner
16:57:13          | Oh, I could do it right now ... just copying the irc log :-q hehe

PR #1471 was closed due to inactivity,  closing this issue as well.
Feel free to re-open.


Cmake compilation error

Hi,
After installing the dependancies I am trying to run the cmake command but I am getting the following error-
CMake Error at /usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:415 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:593 (_pkg_check_modules_internal)
cmake/modules/FindGObjectIntrospection.cmake:39 (pkg_check_modules)
src/gobject/CMakeLists.txt:20 (find_package)
-- Configuring incomplete, errors occurred!
Can you please help me with this.

Which Linux Distribution do you use?

Hi,
I am using Jetson Tx2 board with Ubuntu 18.04 LTS.

Then the scripts should have installed all. even the Gobject Introspectio. You cloned the project first and then run the scripts for installing runtime and dependencies?

Hi, I installed the dependencies and ran cmake command it was successful then I ran make command and now my system is not going to login mode. A black screen appears that it goes into phs daemon. Can you please help me with this.

Hello
I wonder, what you did, we never had such an issue before.
As long as you can not change with Crtl+Alt+F1 into another terminal and repair that somehow (I must admit I do not know how to) you better reinstall the Ubuntu and try again.
I am curios: You cloned the tiscamera repository from https://github.com/TheImagingSource/tiscamera, run the
sudo ./scripts/install-dependencies.sh --compilation --runtime
and your computer does not start correctly anymore?
Stefan

Hello,
It seems some files got corrupted in my system. So I reinstalled ubuntu and
now there are no issues in using the tcam-capture.
I am currently using DFM 25G445-ML camera with Jetson TX2. When I was
trying to take pictures with the same I am just getting reaction to lights
but not clear images.
I do not have the mount for the lens.
Please advise on the same.
Please find attached the few pictures I took with the camera.
Regards,
Shivani Choudhary
On Mon, Apr 6, 2020 at 9:55 AM TIS-Stefan<EMAIL_ADDRESS>wrote:

Hello
I wonder, what you did, we never had such an issue before.
As long as you can not change with Crtl+Alt+F1 into another terminal and
repair that somehow (I must admit I do not know how to) you better
reinstall the Ubuntu and try again.
I am curios: You cloned the tiscamera repository from
https://github.com/TheImagingSource/tiscamera, run the
sudo ./scripts/install-dependencies.sh --compilation --runtime
and your computer does not start correctly anymore?
Stefan
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TheImagingSource/tiscamera/issues/336#issuecomment-609635357,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHQDSAET4S35XSVSL5WJW5LRLGDGNANCNFSM4L4AI7UQ
.

--
Sincerely,
Shivani Choudhary
(+91)7728086646
Email id<EMAIL_ADDRESS>

Hello Shivani
For a lens and lens holder, you must contact your camera dealer. He will be able to calculate the best lens and the needed lensholder. Please look at the document https://s1-dl.theimagingsource.com/api/2.5/packages/publications/whitepapers-cameras/wpgigeboard/7b8496e0-5271-5cc1-a10f-5c76ede2f1c6/wpgigeboard_1.0.en_US.pdf
It shows, which parts you need.
Stefan

Hi,
I am using the Intellinet 5-port gigabit ethernet POE + switch.(
https://intellinetsolutions.com/intellinet-en-5-port-gigabit-ethernet-poe-switch-561228.html
)
After I use that one light on the ethernet port on the camera is green and
the other one is orange. Also POE light on the switch is orange. Can you
please tell me about this?
On Tue, Apr 14, 2020 at 10:50 AM TIS-Stefan<EMAIL_ADDRESS>wrote:

Hello Shivani
For a lens and lens holder, you must contact your camera dealer. He will
be able to calculate the best lens and the needed lensholder. Please look
at the document
https://s1-dl.theimagingsource.com/api/2.5/packages/publications/whitepapers-cameras/wpgigeboard/7b8496e0-5271-5cc1-a10f-5c76ede2f1c6/wpgigeboard_1.0.en_US.pdf
It shows, which parts you need.
Stefan
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TheImagingSource/tiscamera/issues/336#issuecomment-613311669,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHQDSAEX3MAANYAFFW25F7LRMQPWHANCNFSM4L4AI7UQ
.

--
Sincerely,
Shivani Choudhary
(+91)7728086646
Email id<EMAIL_ADDRESS>

Hello

After I use that one light on the ethernet port on the camera is green and
the other one is orange. Also POE light on the switch is orange. Can you
please tell me about this?
This tells us, that you have a GigE connection (green light) and the blinking orange light shows communication.

Stefan


years-to-days

Why: Adding java
Closes #427
What's being changed: Add YearsToDays.java
Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Hey @Anzo52
Thanks for contributing to this project 😃
This PR will be merged soon 👍🏻


adding support for axel download manager

Added support for axel download manager

Cherry-picked in e0ac521438218e978b9c4bbcd92cfc2d5fef79cb. Thanks.


optional excel -> html + possibly updated excel

Problem/Need:
#75

Suggested changes:
See #75

Reminders for @hchiam:

[ ] yarn deploy to update surge site
[ ] update https://codepen.io/hchiam/pen/jOBOaqm

It's much easier to review this large PR if you look at the commits individually.

close #75


pgpass support does not seem to work under Windows

Which version and edition of Flyway are you using?
7.2
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Maven plugin
Which database are you using (type & version)?
PostgreSQL 13.0
Which operating system are you using?
Microsoft Windows [Version 10.0.19042.630]
What did you do?
(Please include the content causing the issue, any relevant configuration settings, the SQL statement that failed (if relevant) and the command you ran.)
Attempted to run "migrate" goal omitting the password parameter
What did you expect to see?
I was expecting Flyway to use %APPDATA%\postgresql\pgpass.conf for authentication as https://flywaydb.org/documentation/learnmore/releaseNotes#7.1.0 indicates that you now support pgpass.
What did you see instead?
Maven goal failed with:
Failed to execute goal org.flywaydb:flyway-maven-plugin:7.2.0:migrate (create-db) on project database: org.flywaydb.core.internal.exception.FlywaySqlException:
Unable to obtain connection from database (jdbc:postgresql://localhost/) for user 'postgres': Something unusual has occurred to cause the driver to fail. Please report this exception.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL State  : 99999
Error Code : 0
Message    : Something unusual has occurred to cause the driver to fail. Please report this exception.

For clarification, if I explicitly provide a <password> parameter, the connection works fine. Omitting the parameter triggers the above error. If I use the psql command-line tool it uses pgpass just fine (meaning that the credentials contained therein are fine).

I just noticed that this feature is not supported by community edition (which I am using). I expect to get a clearer error message from Flyway in this case, instead of letting the postgresql driver fail this way.

Flyway reports the same error message returned by the driver. In the normal case this is:
SQL State  : 08004
Error Code : 0
Message    : The server requested password-based authentication, but no password was provided.

This was the message I received when attempting to reproduce this. Your message suggests some other kind of driver failure which you can inspect by running maven in debug

@DoodleBobBuffPants Are you saying that Flyway pgpass is implemented in the community edition?


Cybox library version error fix

After a clean install if you log into MISP and navigate to Administration -> Server Settings -> Diagnostics in the STIX and Cybox libraries section you will see the error CYBOX library version...Incorrect CyBox version installed, found <IP_ADDRESS> expecting <IP_ADDRESS>.dev0.  I reached out the the developers of MISP and they told me to run pip3 uninstall cybox to uninstall the pip managed version.  To test it out I did I clean install and SSH'd into the container then ran the command and the error went away.  Not sure where the best place to incorporate this is, but this was were I tested it and I successfully ran a clean build with it.

I was going to ask - does it need to be before the github install of cybox:
WORKDIR /var/www/MISP/app/files/scripts
RUN sudo -u www-data -H git clone https://github.com/CybOXProject/python-cybox.git ; \
    sudo -u www-data -H git clone https://github.com/STIXProject/python-stix.git

WORKDIR /var/www/MISP/app/files/scripts/python-cybox
RUN python3 setup.py install

Since chaining is pretty ideal for Docker, we could move this section:
RUN sudo pip3 install jsonschema ; \
         sudo pip3 install pymisp

higher up above the cybox install, and then add the pip uninstall to that.
Thoughts?


Strange screen when ssh to running vps

Hi,
I'm facing strange screen when login to my vps via ssh and it's running dalfox like following

Hi, @Sy3Omda
Thank you for the issue report. I'll look into it :D

First of all, I am reproduced the same. let's debug on logging code.

Hi @Sy3Omda ,
I think it's only reproduced in certain circumstances. First of all, I have been solved in my case, so please check after updating to the latest version. And this seems to be a problem on the spinner side, so I added --no-spinner option!

How to update?

from the source

$ go get -u github.com/hahwul/dalfox

from the release
(It will be release in 2.1.0, and will be released today or tomorrow. When released, I will leave additional comments)

linux(snapcraft)
$ sudo snap refresh dalfox

mac
$ brew upgrade dalfox

e.g
$ dalfox url http://testphp.vulnweb.com/listproducts.php\?cat\=123 --no-spinner

Yup working like charm.
Btw if you can set this option as default, would be great.

@Sy3Omda
Unfortunately, that seems difficult.  Because you can know the full URL and the current URL, the total number of queries and the remaining queries.
Let me know if this option doesn't solve the problem!
Ah, and 2.1.0 has just been released!

Okay fine, I'm gonna close this as it resolved


improve test speed in CI

Tests take > 10 minutes to run. Most of the time is initializing the pgrx environment. There was an effort to cache the pgrx environment here: https://github.com/tembo-io/pgmq/blob/df7b396ef908c892ae933b2d7b19f1cc2cb9695a/.github/workflows/extension_ci.yml#L39C14-L40 but does not seem to always function as intended.

See https://github.com/pgxn/docker-pgxn-tools

pgrx example (requires pgrx v0.11.4)
PGXS example


Leak and warning fixes for 2.0

Based on #5240, #5260, #5266, #5303, #5306, #5308 merged
Fixes warnings and memory leaks detected by clang scanbuild

@bmiklautz @mfleisz anyone time to have a look?


Adds a adjacency checker for the builder.

🎉 New feature
Related to #30
Summary

Creates a parser::Validator for verifying the parsed information before calling the builder.
Adds a validation for the adjacency of the lanes in a segment.
Adds a method for analyzing the distance between LineStrings3d.

Checklist

[x] Signed all commits for DCO
[x] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if it affects the public API)

Hey @agalbachicar  I know it is a large PR :t-rex:  . :there are several things to pay attention:

Validator class: I tried to make it scalable instead of just focusing on the adjacency checker. Erros are registered and then the user can decide what to do with those errors.
Adjacency checker: The many cases are being tested in the test files. It isn't just the geometry what matters but also how the lanes are ordered and the semantic information they provide for later on creating the graph.
Distance between linestrings: Used a simple heuristic to define that, I left a comment for using a better algorithm, ptal.


Add test todo

Hi, I just want to help add a test file, but can't add a test code in the test file.
in my opinion, adding the file helps contributors to know which code has not been tested.
like the picture below, we can know that 9 files do not have a test.

thanks @kripod

@ri7nz Thanks for your contribution! Contrary to the opinion of yours, I find it misleading to create functionally empty files for missing tests. Codecov provides a browsable report about line coverage in the form of a sunburst diagram, visualizing missing tests with colors.
I'm closing this PR for now. Please refer to the aforementioned service instead.

@kripod  Thank you so much for your feedback, I will learn & try to contributing in Test or Feature.
Cheers :100:  :+1: