Update mdc2020_primary.cfg

Hi @sophiemiddleton,
You have proposed changes to files in these packages:

CampaignConfig

which require these tests: build.
@Mu2e/write, @Mu2e/fnalbuild-users have access to CI actions on main.
:hourglass: The following tests have been triggered for c84e0daa1edc95128f079fac2176675e68c2ad2c: build  (Build queue is empty)
About FNALbuild. Code review on Mu2e/Offline.

this has bothered me for a while, its fixed in my MDC2024 branch and in my local branches but just in case some one else were to use this script

:sunny: The build tests passed at c84e0daa1edc95128f079fac2176675e68c2ad2c.

Test
Result
Details

test with
:white_check_mark:
Command did not list any other PRs to include

merge
:white_check_mark:
Merged c84e0daa1edc95128f079fac2176675e68c2ad2c at 70b319ad0750f71cf6aa64ea2a61165c9c420b55

build (prof)
:white_check_mark:
Log file. Build time: 11 min 44 sec

ceSimReco
:white_check_mark:
Log file.

g4test_03MT
:white_check_mark:
Log file.

transportOnly
:white_check_mark:
Log file.

POT
:white_check_mark:
Log file.

g4study
:white_check_mark:
Log file.

cosmicSimReco
:white_check_mark:
Log file.

cosmicOffSpill
:white_check_mark:
Log file.

ceSteps
:white_check_mark:
Log file.

ceDigi
:white_check_mark:
Log file.

muDauSteps
:white_check_mark:
Log file.

ceMix
:white_check_mark:
Log file.

rootOverlaps
:white_check_mark:
Log file.

g4surfaceCheck
:white_check_mark:
Log file.

FIXME, TODO
:white_check_mark:
TODO (0) FIXME (0) in 0 files

clang-tidy
:white_check_mark:
0 errors 0 warnings

N.B. These results were obtained from a build of this Pull Request at c84e0daa1edc95128f079fac2176675e68c2ad2c after being merged into the base branch at 70b319ad0750f71cf6aa64ea2a61165c9c420b55.
For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.


increment() and decrement() do not invalidate cache

Using the built in decrement/increment functions does not invalidate the cache.
Eloquent Query
// Does not invalidate cache
$this->increment('qty_available', $qty);

// Invalidates Cache
$this->qty_available = $this->qty_available + $qty;
$this->save();

Additional context
Maybe this is not intended behaviour of the package? Should it just be the update/save methods that work with cache invalidation?
On a side note, while caching does seem to be doing something on my development/homestead environment, it does not seem to behave in the same was as production. Dev is using file cache driver while production is using redis.

@booni3 Thanks for the catch on increment() and decrement() .... I will add those in.
This package is not really optimized for use with file or array cache drivers. If you notice any problems on production, please open a new issue with the specifics there.
Thanks! :)

@booni3 Thanks for being patient with this. This should now work correctly after release 0.3.6. :)


Drop Windows support

To be decided if Windows support is still required. The Windows build is broken for a long time now and none is complaining about it.

Done


Support for Venu3

Hi,
Since I've seen that the app is compatible with the Venu2 I suppose it should work on the Venu3 as is ?
If so, could you enable it for the Venu3 on Garmin IQ so I can find your app ?
Thanxs, JP.

Added support for Venu 3 in version 0.4.0


Rollup is not only a dev dependendy

Describe the Bug
yarn start exit with code 127 /bin/sh: rollup: not found
Database
MySQL
Relevant log output
yarn start

...

✓ Database is up to date.
$ rollup -c rollup.tracker.config.mjs
/bin/sh: rollup: not found

Which Umami version are you using? (if relevant)
No response
Which browser are you using? (if relevant)
No response
How are you deploying your application? (if relevant)
No response

P.s. it has todo with a docker container and the env_mode production.
I hope we get a better docker container für productive usage.


PHP language support

+1 if you'd like to see PHP support for the CDK

Moving this to the JSII repository.


Harmonise layout

Currently, the different feature views look different. Some of them have headers, some don't. And the spacing from the menu bar and left app frame is different too.
Please harmonise the layout to one style.

 Harmonise layout

solved in #504


Numbered content seems misaligned

Content on this page shows numbers at the end of a long sentence whereas the numbers should show up at the top.

fixed with #707


Launch program "C:\Users\my_user\workspace" does not exist.................except it actually does.

When running code in VS Code, I'm getting an error saying that the workspace folder does not exist, when in fact it does. What's going on here?

presumably "program" should be the full path to the executable file insdie the folder, not just the name of a folder - I would guess that's why it complains...

@mjcrouch is correct. A folder is not an executable.


Automated cherry pick of #12242

Cherry pick of #12242 on cloud.
/cc  @neallred
NONE

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.


[REVIEW] Support dict output for models

This PR adds support for models that give dictionary output.
Other changes include:

Bump up CF version
Add worker address (to fix bug on SLURM)

Main takeaway is support below model:
class DummyModel(torch.nn.Module):
    def __init__(self):
        super().__init__()

    def forward(self, batch):
        output_size = len(batch)
        return {
            "a": torch.ones(output_size, device="cuda") * 1,
            "b": torch.ones(output_size, device="cuda") * 2,
        }

/okay to test

/okay to test

@praateekmahajan ,

adding more checks / documentation (about behavior / expectation of dict)
Added more checks, please take a look.

type hint / docstring in get_model_output(..)
Done

deciding signature between model_output_col / model_output_cols (deprecating one of them)
Created a warning, will deprecate next release.

documenting behaviour of meta and expectation of dtypes when dict (same as point 1)

Done.
Please take another look. Thanks

/okay to test


Logless

Hi I'm new here..
want to ask if it's logless?
thanks

I believe you can minimise the logging by changing the following in /etc/openvpn/server.conf
verb 3
to
verb 0
This will make the logging silent except for fatal errors.

I see thanks..

No, it is not "logless".
In case you were wondering: changing that value is not going to make your connection private/anonymous/untraceable. Other than obtaining that false sense of untraceability, I don't get why would anyone want to disable basic logging.
Internet stuff in general is quite the opposite of "logless" and a VPN is not different.


Accept the list of interceptors

This pull request includes breaking changes.

Changes

RequestInterceptor class now accepts a list of interceptors to use.

import { RequestInterceptor } from 'node-request-interceptor'
+import { interceptClientRequest } from 'node-request-interceptor'

-new RequestInterceptor()
+new RequestInterceptor([interceptClientRequest])

Restructured the directories to include interceptors and presets folders.

import { RequestInterceptor } from 'node-request-interceptor'
import withDefaultInterceptors from 'node-request-interceptor/presets/default'

new RequestInterceptor(withDefaultInterceptors)

Adjusted test suites to reflect the usage of the interceptors list.

Motivation
Accepting a list of interceptors allows to configure a RequestInterceptor instance to better suit the usage environment (NodeJS/React Native/etc.). This also adds support for custom request interceptors, if need be.
GitHub

Originated from https://github.com/mswjs/msw/issues/203

Hey, @Tommos0 👋 Following our discussion, I've refactored the library to support granular interceptors. May I please ask for your review on this?
One point that troubles me, is that constructing a new RequestInterceptor returns an interceptor, so it feels wrong to call ClientRequest and XMLHttpRequest "interceptors". Feels like a poor naming choice on my side. I can't say I like "overrides" more, as it's too generic and doesn't describe what the modules in that group represent. What do you think?

I'm not comfortable with this codebase, but after giving this PR a quick look I think it's a good refactor.
Just one personal nit, is that I don't like default exports, I mostly use named exports.
About the naming, I've seen some debug statements with patch in those files, could we rename the request to something with Patch e.g. ClientRequestPatch(er) ?

@timdeschryver thank you for looking into these changes! Could you please reference to which debug statements you refer?

Sure, there are even comments!

https://github.com/mswjs/node-request-interceptor/blob/master/src/RequestInterceptor.ts#L20
https://github.com/mswjs/node-request-interceptor/blob/master/src/http/ClientRequest/ClientRequestOverride.ts#L257
https://github.com/mswjs/node-request-interceptor/blob/master/src/http/ClientRequest/ClientRequestOverride.ts#L268
https://github.com/mswjs/node-request-interceptor/blob/master/src/XMLHttpRequest/override.ts#L18

Thanks! Those debug calls already are bound to a certain context:
https://github.com/mswjs/node-request-interceptor/blob/5da41a9b435f9da0b88aa93a870c7aaf6577923b/src/http/ClientRequest/ClientRequestOverride.ts#L32
For example, when called such debug function it would produce an output that includes a specific context:
http GET /example reverting patches...

Do you still find such format confusing?
In case of this, there is no way to specify which module patches will get restored, because these changes introduce a parametric nature of modules: you can provide whichever interceptors you want to RequestInterceptor. Its restore method will revert the patches those interceptors make to various modules.

@kettanaito no that makes sense. As I said it's because of my little knowledge of the codebase.
Thanks for the clarification!

Looks good, nice work! :+1:


Move scaffolding to Docker Swarm

WIP of moving scaffolding to docker-compose file v3.1 and supporting only Docker Swarm (>=1.13) in prod.yaml can be found in https://github.com/Tecnativa/docker-odoo-base/tree/scaffolding-composefile3.

IMO it feels a bit early to deprecate the older compose files. This is just scaffold though, right? So really it's just a sample, and the user is free to use whatever?

Yeah, of course.
There's still https://github.com/docker/compose/issues/4315, and I'm also considering moving the scaffolding to make use of ansible-container instead of plain docker-compose.
Still nothing decided, but keep an eye on this issue for progress 😉

Ahahahah I'm so happy you guys are loving Ansible!

OK, now there's a way to define different environments with v3 of docker compose file: https://github.com/moby/moby/issues/31101#issuecomment-330152093 (it was there before, I just didn't read carefully enough).
That would count as a breaking change, but allows to move for v3. Still I'm not sure if ansible would support having v3, which is very important for us too...

I still think this move is quite early personally. Also, supporting only Swarm seems like cutting out a good amount of other uses out of the picture. We use Kubernetes here, and likely won't be switching any time soon.
Ansible - yeah it uses docker-py if you're using the docker module, which isn't compatible with docker-compose. People on the interwebz look to be using docker shell commands when newer syntax is required.

Well, switching to docker compose file v3+ does not force swarm, it just enables it. You can still use swarmless docker with that file version.

Will do later in https://github.com/Tecnativa/doodba-scaffolding


Bug Report: MQTT bridge crashloop

Expected Behavior
MQTT bridge should start
Current Behavior
MQTT bridge doesn't start and ends up in a crashloop
Relevant log output
panic: network Error : dial tcp: lookup united-manufacturing-hub-emqxedge-headless on <IP_ADDRESS>:53: no such host

goroutine 1 [running]:
main.setupMQTT({0xc000018037, 0xc00000e578}, {0x729f58, 0x5}, {0xc000014061, 0x36}, {0xc000018050, 0xd}, 0x0, 0xc000064190, ...)
	/build/cmd/mqtt-bridge/mqtt.go:103 +0x5ae
main.main()
	/build/cmd/mqtt-bridge/main.go:84 +0xb5b

Steps to Reproduce

Create yaml file
Perform installation as explained in Docs
connect with SSH via MobaXterm
create cluster in lens

Context (Environment)
MQTT bridge doesn't start
Possible Solution
No response
Version
v0.8.x
Anything else?
No response

Probably caused because we switched from EMQXedge to VerneMQ


Add getRequestOrigin(event)

Describe the feature
A new getRequestOrigin(event) util would be useful.
It's a combination of getRequestProtocol(event) + '://' + getRequestHost(event).
Shall I send a PR?
Additional information

[X] Would you be willing to help implement this feature?

Hi. You can use getRequestURL(event).origin
(please ping me to reopen if I didn't understand correctly)


Impl reqwest::Error methods

Closes #74

It appears that the error is unrelated to the PR since the Compiles for the browser (opentelemetry_0_19) test was re-enabled but also failed in #94.

@martsokha Thank you for your contribution


Tests break on local platform after the weekend. Trying to download non-existant v34.0

Hi folks, my tests were running locally against my platform this past Friday. But now on Tuesday they are no longer executing.
Error: Error: Failed to download binary (statusCode 404): Not Found
    at download (file:////test-root//node_modules/geckodriver/src/install.ts:58:11)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Promise.all (index 0)
    at async Promise.all (index 0)
    at async Launcher.run (file:////test-root//node_modules/@wdio/cli/build/launcher.js:102:13)
    at async Module.run (file:////test-root//node_modules/@wdio/cli/build/run.js:64:20)
Error: Failed to download binary (statusCode 404): Not Found
    at download (file:////test-root//node_modules/geckodriver/src/install.ts:58:11)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Promise.all (index 0)
    at async Promise.all (index 0)
    at async Launcher.run (file:////test-root//node_modules/@wdio/cli/build/launcher.js:102:13)
    at async Module.run (file:////test-root//node_modules/@wdio/cli/build/run.js:64:20)

2024-01-03T05:01:22.930Z INFO @wdio/cli:launcher: Run onPrepare hook
2024-01-03T05:01:22.931Z INFO @wdio/utils: Setting up browser driver for: firefox@stable
2024-01-03T05:01:22.931Z INFO @wdio/utils: Setting up browser binaries for: firefox@stable
2024-01-03T05:01:25.369Z INFO geckodriver: Detected Geckodriver v0.34.0 to be latest
2024-01-03T05:01:25.370Z INFO geckodriver: Downloading Geckodriver from https://github.com/mozilla/geckodriver/releases/download/v0.34.0/geckodriver-v0.34.0-linux-aarch64.tar.gz
2024-01-03T05:01:25.576Z INFO @wdio/local-runner: Shutting down spawned worker
2024-01-03T05:01:25.827Z INFO @wdio/local-runner: Waiting for 0 to shut down gracefully

Last release of geckodriver is 33.0 : https://github.com/mozilla/geckodriver/releases

  Setting this in my capabilities and downloading geckodriver 33 as a suggested workaround.

  'wdio:geckodriverOptions': {
    binary: "my_home/Downloads/geckodriver",
  },
  'moz:firefoxOptions': {
   binary: '/usr/bin/firefox'
  },

Asked in the Selenium chat and got a very helpful response from Boni:
Selenium Manager uses this JSON file we maintain for that: https://raw.githubusercontent.com/SeleniumHQ/selenium/trunk/common/geckodriver/geckodriver-support.json

It is based on the official doc: https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html

But since the official mapping is on the way, we decided to maintain ours: https://bugzilla.mozilla.org/show_bug.cgi?id=1794550

Alternative, you can request the following URL:
https://github.com/mozilla/geckodriver/releases/latest

Which will redirect you to the latest tag

Any contribution fixing this bug would be appreciated.

Seems like it is now available to download: https://twitter.com/FirefoxDevTools/status/1742510381690405229 so the issue is resolved. However it would be great if we can get the latest version from another source so that this doesn't happen anymore.


Android compile error when new architecture is enabled

react-native: 0.74.5
react-native-localization-settings: 1.0.2
gradle.properties:
newArchEnabled=true
/node_modules/react-native-localization-settings/android/src/main/java/com/localizationsettings/LocalizationSettingsModule.kt:14:1 Class 'LocalizationSettingsModule' is not abstract and does not implement abstract base class member protected/*protected and package*/ abstract fun getTypedExportedConstants(): (Mutable)Map<String!, Any!>! defined in com.localizationsettings.LocalizationSettingsSpec

I understand that with the new arch getConstants() is not called and is replaced by getTypedExportedConstants().
I'm searching for how to support both the new and the old arch.

Ok it's an easy fix: https://github.com/Hortau/react-native-localization-settings/commit/550d2e38a4852f5c979ac7ddbc7d5d1a7127735d

I've made a PR #16.


Optimize release Docker Image

This PR combines some RUNs to reduce the layer count and also really delte the apt cache in all layers.

This was intended for readability and debugging. I don’t think it’s a good idea to always decrease layers, they exist for a reason.

There’s a bunch of old issues and PRs where this is discussed in detail. I do appreciate the pr @SuperSandro2000.

I’ll add some comments to clarify this for anyone in the future.

Running RUN rm -rf /var/lib/apt/lists/* in its own layer rather then in the on apt-get update is run is useless and does not improve the overall download size in any way.

Yea in this specific case I was wrong, I'm sorry. The additional RUNs do not add to readability at all.

Thanks!


Error in login

@kaname-png fixed!

@si9ma thanks
Also, I think the api is broken because the top 10 programmers never loads and I see that the data is never uploaded to the platform as I spent 1 hour today and the timer never went past 0 and on the website it says there is no data recorded


Fix button alignment on older safari

- Summary
Fix issue with misaligned button icons on older browsers. - closes #914
This issue was connected to a flex-bug, that disallowed adding display: flex to certain HTML elements such as <button>
https://bugs.webkit.org/show_bug.cgi?id=169700
- Test plan
Testing this fix requires an older version of safari, or access to browserstack 😞 (I tested it, but it would be good, for somebody else to also take a look).
- Description for the changelog
Fix issue with misaligned button icons on older browsers.
- A picture of a cute animal (not mandatory but encouraged)

Blob fish is the best

Awesome, I'm really happy it works :)


Profile pets

Error is due to missing type
./src/components/Profile/PetCard.jsx:3:35
Type error: Binding element 'pet' implicitly has an 'any' type.
  1 | import Image from "next/image";
  2 |
> 3 | export default function PetCard({ pet }) {
    |

If you can get that fixed I can resolve the conflicts and get this merged

Image here ./src/components/Profile/PetCard.tsx:15:8 needs an alt tag


Manually specify title and abc coordinate positions

Description
Hi, is it possible to make the abc labels slightly offset to the left from the axis? This would probably be a negative position.

I was hoping to have the (b) moved slightly left so that I can center the title without the two texts crashing into each other.
I tried the following after having all of my "imshow" and other formatting code run:
ax = axes[2]
aobj = ax._title_dict['abc']
print(aobj.get_position()) # prints (0, 1.0)

# no effect
aobj.set_x(-.25)

# no effect
abc = ax.get_children()[1]
abc.set_position((-.25, 1.0))

I couldn't figure out what was running to overwrite these positions, but I assume it's something internal to proplot to make the layout nice and orderly.
Proplot version
>>> import matplotlib; print(matplotlib.__version__); import proplot; print(proplot.version)
3.3.0
0.9.1

This is definitely a fair request. I can support more label position customization by:

Not auto-adjusting the x-location for "outer" labels (which would fix your example).
Allow passing 2-tuples to abcloc and titleloc to specify the coordinate position of an "inner" label.

For now, in your example, you should be able to use ax.format(titleloc='center', abcloc='center') and the a-b-c label will be automatically offset away from the title. You can increase/decrease this offset by changing pplt.rc['abc.titlepad'] or using ax.format(abctitlepad=padding).

Thanks for the suggestion, though when I have seems to move the title off to the right before it moves the (b) off to the left:
ax.format(title=f"$\sigma_n$=12", abcloc='center', titleloc='center', abctitlepad=12)

I tried a few other combos of "left" (makes it worse)

But it gets closer with "right":

Sorry for the delay. I see now, you want a "centered" title but want the a-b-c label offset toward the left (rather than centering the entire a-b-c label/title ensemble as in your first example).
Will look into this when I get the chance, but for now your best bet is this "hacky" solution: 1) set both titleloc='center' and abcloc='center' and play with abctitlepad, as you've done above, then 2) append spaces to the right of the title to prevent the label from getting pushed too far to the right (e.g. title=r'$\sigma_n = 12$' + 5 * ' ').

Alright I'll give it a shot! No worries on quickly implementing this, seems
like it might be a rather unique request
On Tue, Oct 5, 2021, 12:42 AM Luke Davis @.***> wrote:

Sorry for the delay. I see now, you want a "centered" title but want the
a-b-c label offset toward the left (rather than centering the entire a-b-c
label/title ensemble as in your first example).
Will look into this when I get the chance, but for now your best bet is
this "hacky" solution: 1) set both titleloc='center' and abcloc='center'
and play with abctitlepad, as you've done above, then 2) append spaces
to the right of the title to prevent the label from getting pushed too far
to the right (e.g. title=r'$\sigma_n = 12$' + 5 * ' ').
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/lukelbd/proplot/issues/288#issuecomment-934084751,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB7ILWABBGUXKCYDIUK3ZSDUFKF5FANCNFSM5E3SUSNQ
.

I also have similar request. I use ax.text(...)  "crudely" solved it.


trufflehog: 3.31.3 -> 3.31.4

Diff: https://github.com/trufflesecurity/trufflehog/compare/refs/tags/v3.31.3...v3.31.4
Changelog: https://github.com/trufflesecurity/trufflehog/releases/tag/v3.31.4
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 225206 run on x86_64-linux 1

1 package built:

trufflehog


ARROW-14765: [Python] StructFieldOptions not exposed

In this PR I added StructFieldOptions binding and two small typo corrections for TypeError message in compute.py.
What I haven't managed to solve and would ask for suggestions is the case when options are not specified. Example:
import pyarrow as pa
import pyarrow.compute as pc

a = pa.array([4, 5, 6], type=pa.int64())
b = pa.array(["bar", None, ""])
c = pa.StructArray.from_arrays([a, b], ["a", "b"])
arr = pa.StructArray.from_arrays([a, c], ["a", "c"])

pc.struct_field(arr)

This error I get:
>>> pc.struct_field(arr)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/alenkafrim/repos/arrow/python/pyarrow/compute.py", line 202, in wrapper
    return func.call(args, options, memory_pool)
  File "pyarrow/_compute.pyx", line 327, in pyarrow._compute.Function.call
    result = GetResultValue(
  File "pyarrow/error.pxi", line 143, in pyarrow.lib.pyarrow_internal_check_status
    return check_status(status)
  File "pyarrow/error.pxi", line 99, in pyarrow.lib.check_status
    raise ArrowInvalid(message)
pyarrow.lib.ArrowInvalid: Attempted to initialize KernelState from null FunctionOptions

For which I tried to add
https://github.com/AlenkaF/arrow/blob/bec0a6beac3415e03400088a3269f3be3fc7150c/python/pyarrow/_compute.pyx#L977-L978
but it doesn't seem to help.

Hmm, that may be a problem on the C++ side. Let me take a look.

Ok, it's a bug in the C++ compute layer. I'll add a separate JIRA.

https://issues.apache.org/jira/browse/ARROW-14853 created

Thank you @pitrou!


[util/simplespi] Fix the spitest tool due to the PyFtdi API update

As mentioned in #4907, the calls to PyFtdi need to be updated.
Please verify if any other changes are needed. Thank you.

Sorry for the long wait, and thanks for this pull request @jackieke724!


Additional stats

Adds "summary" endpoint with counts for unique images, providers, and sensors.

@nbumbarger Instead of a new endpoint we should add this to the /analytics endpoint: https://github.com/hotosm/oam-catalog/issues/75. Since we're already generating the count of images in http://api.openaerialmap.org/analytics, we just need to add number of providers and number of sensors.

@smit1678
Mongoose shows a deprecation warning when using its native promise library, and recommends bringing in a third-party library (which I did) http://mongoosejs.com/docs/promises.html
This is a very minor nitpick, but I'd prefer it if the "count" attribute were more explicitly named "image_count," now that there are other things being counted.

👍


Contribute Selection - needs a better solution

Every repo has it's own thoughts about how to contribute to it.
Docs has a contribution method as well
So instead of
How to Contribute -> going to Scylla https://docs.scylladb.com/contribute/
it should route to a page specific to the project.
We can further make this separation clearer by adding:
How to Contribute to Docs ---> links to https://sphinx-theme.scylladb.com/stable/contribute/
How to Contribute to Code --> links to the gitHub repo ( but a md page needs to be created explaining what to do to contribute) - if all projects have a contribute.md file, then we can make a generic link which will always work.
If each maintainer had a generic document - how to contribute - it would be beneficial to them as well - we should have a template they can customize.

In the meanwhile, the contribute page  could add the following note:

Contribute to code
Read the CONTRIBUTING.md file that you will find at the root-level folder of the project.

Contribute to Scylla’s Source Code could be part of the scylla repo CONTRIBUTING.md file.

the scylla repo already has a contributing.md - the other repos don't

Lets try two buttons:

Report an issue
Update this page

And remove the Contribute

See https://kubernetes.io/docs/home/


Deprecate raising Exception in favour of requests HTTPError

Raising the base Exception class makes it difficult to catch this exception outside the SDK without catching a broad exception everywhere. i.e. except Exception
This will suppress all kinds of exceptions, aside from just Filestack ones. With this PR code that uses the Filestack SDK can catch HTTPError or any exceptions thrown by the requests library, and not need a broad catch-all.
Infact response.ok itself calls raise_for_status(). See here search for def ok
  @property
  def ok(self):
        """Returns True if :attr:`status_code` is less than 400, False if not.

        This attribute checks if the status code of the response is between
        400 and 600 to see if there was a client error or a server error. If
        the status code is between 200 and 400, this will return True. This
        is **not** a check to see if the response code is ``200 OK``.
        """
        try:
            self.raise_for_status()
        except HTTPError:
            return False
        return True

If this has other side effects, then Filestack should define their own exception class instead of re-using Exception, so it can be caught by the calling code. Let me know if that  works and i will update the PR.

Hi @sidmitra, thank you for your PR. I agree that bare Exception might be too general. Using rise_for_status() is a good idea, but has one issue. Right now when (for example) you try to upload file with expired security policy, you'll get
Exception: {"error":"invalid policy: the signature has expired","timestamp":1612692038}

When using raise_for_status(), the error message gets lost:
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://upload.filestackapi.com/multipart/start

I think using something like a custom FilestackHTTPError with a proper error message might be a better solution.

@bkwi Makes sense. Let me take another look this week.
Unless i can find a way to preserve error message with the existing one; I will add a custom exception if needed,

@bkwi I pushed(rebased) some changes. Have a look and let me know if that works.


Version Packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

#798 182c00d Thanks @threepointone! - Remove warning about missing connection id

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


feat(Cientos): re-order components

closes #157
refactor of routes, re-organization components (drei similar), refactor docs

@alvarosabu The examples in the docs (the components inside viteconf) are not working needs the tweakpane essentials. what happen here?
It says that does not find in dist folder. Should I do a pnpm build ¿?
This is the error:

Install that specific package on the docs


Support showing all tagged values of Class in query builder info tooltip

Summary

Support showing all tagged values of Class in query builder info tooltip
How did you test this change?

[ ] Test(s) added
[x] Manual testing (please provide screenshots/recordings)
[ ] No testing (please provide an explanation)

https://github.com/finos/legend-studio/assets/73408381/9be0c370-2e16-4604-bca2-e7617e9bb06a

@YannanGao-gs  lets please add a test here.


Should we avoid using a Vec to store a Node's children?

When I first wrote this library, I got a large amount of inspiration from SimonSapin's idtree (which can be found here).  However, (for several reasons that I can't remember right now) I decided to go with a Node like this:
struct Node<T> {
    data: T,
    parent: Option<NodeId>,
    children: Vec<NodeId>,
}

instead of something more like this: (which is essentially what is used in idtree)
struct Node<T> {
    data: T,
    parent: Option<NodeId>,
    first_child: Option<NodeId>,
    last_child: Option<NodeId>,
    prev_sibling: Option<NodeId>,
    next_sibling: Option<NodeId>,
}

Now I'm wondering if it would be easier to implement some features (Iterators is one example, but there could be other features that fall into this category as well) if I had gone this route.
Also, I want to do at least some initial work on this before 1.0.0 because if we end up going this route there's no need for a NodeBuilder anymore, so this would be a pretty large breaking change.  If it ends up looking like tons of work (but still worth the effort in the long run), then I might put it off and just release 2.0.0 when this is ready instead of holding 1.0.0 back.
I'll probably make a branch for this soon to explore what all will be involved here, but I wanted to get your thoughts on this @Drakulix .

This would of course avoid heap allocations.
But I don't think it is very convenient to use. I use indexing on the children array quite a lot and the run time would get worse for that case, even if we provide utility functions to index, so we do not break the API. It would also make the code more unreadable.
I would not do this without an actual benchmark showing a great advantage.

I think (haven't tried anything yet, so I could be wrong) it would probably make certain things much easier to write, but you're correct; if we were to not break the API (apart from not having a NodeBuilder) some of the things that we would have to write would be quite odd and possibly just downright confusing.

I would not do this without an actual benchmark showing a great advantage.

You're absolutely right, this needs to happen regardless of when this gets written (pre/post 1.0.0).
The biggest case in which I can see this helping performance, is when the caller doesn't actually know how many children a Node may have (for example, parsing externally provided html structures).  If this change isn't made, they'll just have to make (wildly inaccurate) guesses about what to pass to with_child_capacity when building a Node.  In that situation, you may be better off finding another Tree library with how many heap allocations and Vec re-sizes you're likely to get.
With that said though, the more I think about this, the more I think it should wait until after 1.0.0 (if it even gets implemented/merged at all).  Thoughts?


Adds support for clob properties in Hibernate mapping

Adds a mapping to support String properties annotated with @Lob. Note sure if this is the best way to add @Lob support though.

can you add a test?

Need to find a better way to do this.


Add settings to manage default permissions for uploaded file

When a local file is uploaded to a remote server for the first time, the permissions are by default 600.
I thought it would be nice to have a way to change this behavior, as one can do for newly created folders tweaking the "default_folder_permissions" setting.
For the time being, I simply added a line in ftpsyncwrapper.py to change permissions after a file is uploaded to what I deem a more reasonable default, i.e. 644.
Added this code after line 367 in ftpsyncwrapper.py:
self.chmod(path, "644");

If you give me some guidance, I may be able to implement this feature myself... I'm very new to Sublime Text.

I don't know why, but this doesn't working on linux, specifically in ubuntu 17.04, always takes permissions 0600


Fixes to NME styling

Fix #14097
Fix #14098

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Visualization tests for webgl1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14103/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.

Visualization tests for webgl2 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14103/merge/testResults/webgl2/index.html
If tests were successful afterwards, this report might not be available anymore.


Bump internally used version of actions

This is done to completely remove some deprecation warnings in old version
Checklist

[x] Are there any major, minor or patch changes in here? If so, have you remembered to
add a hashtag #major, #minor or #patch in any of the commit msgs?

 Fikse GH actions som brukar deprecated API/gir warnings


useBasket hooks integration by page

Description
This PR demonstrates we can integrate Commerce-sdk-react page by page. This POC provided two examples on PDP and cart page.

On PDP, it can render PDP data by using useProduct, and useCategory. It can add an item to basket using mutation hooks like useCustomerBaskets and const addItemToBasket = useShopperBasketsMutation('addItemToBasket')
On Cart page, it can fetch basket data using useCustomerBaskets and fetching productDetails using useProducts
On Home page, a simple replacement of getProps, and usage of useProduct hook

Types of Changes

[ ] Bug fix (non-breaking change that fixes an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Documentation update
[ ] Breaking change (could cause existing functionality to not work as expected)
[ ] Other changes (non-breaking changes that does not fit any of the above)

Breaking changes include:

Removing a public function or component or prop
Adding a required argument to a function
Changing the data type of a function parameter or return value
Adding a new peer dependency to package.json

Changes

(change1)

How to Test-Drive This PR

Pull the code
Rebuild your commerce-sdk-react
Start Retail App
Test that you can add an item and the basket in the header is updated accordling. You can go to the cart page and see the items in the basket

Checklists

General

[ ] Changes are covered by test cases
[ ] CHANGELOG.md updated with a short description of changes (not required for documentation updates)

Accessibility Compliance
You must check off all items in one of the follow two lists:

[ ] There are no changes to UI

or...

[ ] Changes were tested with a Screen Reader (iOS VoiceOver or Android Talkback) and had no issues
[ ] Changes comply with WCAG 2.0 guidelines levels A and AA
[ ] Changes to common UI patterns and interactions comply with WAI-ARIA best practices

Localization

[ ] Changes include a UI text update in the Retail React App (which requires translation)

Closing as "just POC work"


Grab all the data of the table

Hi,
How to grab all the data of the table?
This is not working for me.
console.log(this.refs.table.getTableDataIgnorePaging());

try this.refs.table.store.data instead


Update readme for v1.3

The main change is the CUDA support description. It also adds the supported NumPy version based on the internal testing.


installer: black screen when I type start display-manager

I'm trying to give NixOS a try with VirtualBox  4.3.6 r91406.
HostOS: (Ubuntu 14.10) Linux andy-bx 3.16.0-25-generic #33-Ubuntu SMP Tue Nov 4 12:06:54 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
When I boot, it gets to this part:
Log in as "root" with an empty password. Type `start display-manager` to
start the graphical user interface.

nixos login: root

[root@nixos:~]# start display-manager

At this point the screen resizes and turns all black, and it hangs there indefinitely.
NixOS 14.12.335.676e8d7

I tried this again with a later NixOS version and it worked fine.


Fix 'separated' typo

What are you trying to accomplish with this PR?
Fix 'separated' typo in 3 places
Please provide a link to the associated GitHub issue.
Checklist
For contributors:

[x] I have updated the docs to reflect these changes, if applicable.

For maintainers:

[ ] I have :tophat:'d these changes.

Thanks @rvdmijnsbrugge!


SUP-17299: Mesh Browser loading indicators & general cleanup

Do performance checks with a lot of schemas and nodes


Missing points when crossing from America to Asia through Pacific

First off Great Library!
Just found an issue, when crossing from America to Asia through the pacific, the line of points misses some points, the ones after lon changes from negative to positive again, in the international day line, I cannot tell if the time calculated in hours is correct either,
many thanks,
import searoute as sr
origin = [-94.572149, 29.351375]
destination = [117.42187500000001, 39.36827914916014]
route = sr.searoute(origin, destination, restrictions=["suez", "northwest"], append_orig_dest=False)
lon, lat = zip(*route.geometry["coordinates"])

similar issue when going from usa to asia through Mediterranean sea, big gap of points in the Atlantic ocean

Hi @juanjops, thanks for the good words and hopefully this pckg is helping your project.
I checked your example and for me it shows correctly the linestring :

The source of your issue might be:

check if your are not using an older version of this package
check if something is incompatible with your map reading lon numbers <-180 .. like -220..

the geometry retured, I have :
{"geometry": {"coordinates": [[-94.6251, 29.3068], [-94.3779, 29.1479], [-93.8617, 28.8261], [-92.8863, 28.2242], [-90.8482, 26.185], [-86.05, 21.7333], [-82.8698, 16.0793], [-80, 9.75], [-79.900612, 9.208176], [-79.821304, 9.173012], [-79.803246, 9.118307], [-79.769669, 9.111314], [-79.741379, 9.118236], [-79.689331, 9.10639], [-79.641747, 9.035982], [-79.585922, 8.992656], [-79.494118, 8.796576], [-79.5, 8.6], [-80, 7], [-81.4, 6.9], [-82.8, 7.4167], [-88.3178, 10.1973], [-93.9243, 12.9057], [-99.644, 15.5163], [-105.5, 18], [-108.2357, 20.1502], [-111.0067, 22.3104], [-113.4508, 24.926], [-116.130461, 27.989265], [-120, 30], [-124.5844, 32.7301], [-129.4201, 35.3367], [-134.5487, 37.7741], [-140, 40], [-144.8826, 40.7555], [-149.8621, 41.3037], [-154.9099, 41.6367], [-159.9932, 41.749], [-165.0775, 41.6384], [-170.128, 41.3066], [-175.1119, 40.758], [-180, 40], [-180, 40], [-184.9996, 40.1067], [-190, 40], [-194.9996, 40.1067], [-200, 40], [-204.9996, 40.1067], [-207.127084, 40.061324], [-210, 40], [-217.75, 40.6], [-218.75, 41.9], [-220.6, 41.2], [-225.9157, 38.2106], [-230.8, 35], [-232.4, 34.2], [-234.4, 34.4], [-236.8, 37.1], [-237.8175, 37.8155], [-239.5204, 38.1013], [-241.8275, 38.7726]], "type": "LineString"}, "properties": {"duration_hours":<PHONE_NUMBER>561147, "length": 19471.299292942185, "units": "km"}, "type": "Feature"}

For the duration in hours is directly connected to the distance and speed (speed_knot by default it's 24, but you can change as per your need)

Thanks for solving the issue of the lon < -180,
What about the second case? Could you check why the gap in points in the atlantic?
origin = [134.034736, 39.033257]

destination = [-94.659328, 29.168505]

route = sr.searoute(origin, destination, restrictions=["panama", "northwest"])

This is the output i receive
{"coordinates": [[134.2305, 39.6591], [129.3, 37.9], [130, 36.4], [129.2, 35], [127.6, 34.2], [122.9, 31.3], [122.6776, 30.8345], [122.875214, 30.181935], [122.211914, 28.733947], [121.3, 27.8], [120, 25.7], [119.761963, 25.085599], [118.937988, 24.542126], [118.103027, 23.765237], [117, 23], [114.1, 21.7], [112.0495, 16.9609], [110.1, 12.2], [107.3207, 7.6091], [104.482294, 1.341312], [103.6, 1.1], [102, 2], [100.6, 3.2], [97, 7], [94, 6.7], [90, 6.4664], [90.0001, 6.4665], [85.9479, 6.1983], [81.9, 5.9], [80.1, 5.8], [76.5251, 6.8131], [72.9354, 7.8014], [69.3291, 8.7613], [65.7044, 9.6889], [62.0601, 10.5802], [58.3951, 11.4317], [54.7085, 12.2395], [51, 13], [45, 12], [43.3, 12.7], [42, 15], [41.2, 16.3], [38.9, 20.75], [37, 23.6], [34.5, 27], [33.75, 27.9], [32.6, 29.7], [32.557983, 30.213982], [32.382202, 30.318359], [32.306671, 30.945814], [32.387159, 31.298117], [32.1, 31.7], [27.6298, 33.328], [23, 34.8], [15.2, 36.4], [11, 37.5], [7.5, 37.4], [3.1, 37.2], [-4.7, 36], [-5.269383, 35.97289], [-5.75, 35.95], [-64.6416, 31.9639], [-70, 30], [-74.4754, 28.2202], [-77.982056, 26.921361], [-77.968872, 26.86037], [-77.641418, 26.677553], [-77.698059, 26.513377], [-78.164429, 26.280548], [-78.8, 26.3], [-79.5356, 26.0942], [-79.815, 25.7903], [-79.9482, 25.3329], [-80.0286, 25.1157], [-80.3533, 24.7537], [-80.8143, 24.504], [-81.825, 24.2187], [-84.2612, 25.5211], [-85.7171, 26.3095], [-88.4725, 28.1053], [-89.8999, 28.2842], [-91.298, 28.4321], [-91.5477, 28.5846], [-93.214, 29.13], [-93.6685, 29.1321], [-94.3779, 29.1479], [-94.4267, 29.1293], [-94.609, 29.2761]], "type": "LineString"}

It's because there is a straight line between the Point close to Spain and middle of the Atlantic ocean.
If you need to have Points, let say every 200km, you can do something like this:
import turfpy
import numpy as np
from geojson import FeatureCollection
#assuming that route is the result from searoute
length = route['properties']['length']
unit = route['properties']['units']
a_each = 200 #a point every 200 km (or unit)
lines = []

for i in np.arange(0.0, length, a_each):
    #https://turfpy.readthedocs.io/en/latest/measurements/along.html
    lines.append(turfpy.measurement.along(route,i,unit))

fc = FeatureCollection(lines)

Hope this helps..

Many thanks for the solution!!, it worked perfectly.


Error when I compile MoeingEVM

make[1]: 进入目录“/home/dev/桌面/moeing/MoeingEVM/evmwrap/host_bridge”
g++ -Wall -O3 -fPIC -std=c++17 -c -I ../evmone/include/ -I ../evmc/include/ -I ../intx/include/ -I ../keccak/include -o host_context.o -c host_context.cpp
host_context.cpp:100:1: error: designator order for field ‘evmc_host_interface::call’ does not match declaration order in ‘evmc_host_interface’
100 | };
| ^
host_context.cpp: In member function ‘size_t evmc_host_context::get_code_size(const evmc_address&)’:

This error is caused by the different compilers used by cgo in MacOS and Ubuntu. Now it is fixed.


"set view_filter '~bs partOfResponseBodyOfAFlowHere'" does necessarily not show its flow

Problem Description
Setup
I have a flow in my flowlist that basically has the response body:
[
    {
        "amount": 76013000.0,
        "date": "2021-12-31",
        "source": "MANUAL",
        "type": "A"
    },
    {
         "amount": 2394000.0,
         "date": "2020-12-31",
         "source": "THIRD_PARTY",
         "type": "B"
     }
]

The example above is a subset of the actual response body, the actual response body is of length 7105. The object with amount 2394000.0 is beneath the object with amount 76013000.0 in the actual response body.
Issue
I want to filter out the requests on the values found in amount in the response body. I set the following view filter: ~bs 2394, that works fine and the filtered list shows the wanted flow with the response body in the example. However, if i set the view filter to ~bs 7601 the same flow is filtered out (i do not see it) even though it is clearly in the response body.
Steps to reproduce the behavior:

Obtain a flowlist of requests with response bodies like the example
Press f to specify a view filter
Determine a flow with a response body you want to inspect
Set a view filter on some value in the response body: ~bs valueHere
The flow may be filtered away even though you just specified to filter on contents on the response body that flow has

System Information
Mitmproxy: 8.1.0 binary
Python:    3.10.4
OpenSSL:   OpenSSL 3.0.3 3 May 2022
Platform:  Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.31

I cannot reproduce this with the the following steps. Can you? What am I doing wrong?
http.txt
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 253

[
    {
        "amount": 76013000.0,
        "date": "2021-12-31",
        "source": "MANUAL",
        "type": "A"
    },
    {
         "amount": 2394000.0,
         "date": "2020-12-31",
         "source": "THIRD_PARTY",
         "type": "B"
     }
]

ncat -l 1337 < http.txt
mitmproxy
curl --proxy localhost:8080 http://<IP_ADDRESS>:1337
Set view_filter to ~bs 2394 and ~bs 7601

The flows is visible in both cases.

Mitmproxy: 8.1.1 binary
Python:    3.10.5
OpenSSL:   OpenSSL 3.0.3 3 May 2022
Platform:  Linux-5.15.0-41-generic-x86_64-with-glibc2.35

@Prinzhorn Hi, I didn't really properly test it with the small example to be honest (I can't give post actual response as it contains some sensitive info). I will attempty to find/make a better example later today.

Make sure to look at the raw response in mitmproxy (hit m on the response view) and not just the pretty printed JSON. I suspect something funny is going on with your body and it doesn't actually contain the literal 7601 you are trying to match. That's just a guess, but everything else doesn't really make sense.

@Prinzhorn Thank you very much for the follow up!
I checked using the raw response, which actually revealed the issue! In the raw response the 76013000.0 amount was actually written in exponential notation: 7.6013E7, while the smaller 2394000.0 written as it was.
I copied the example JSON from the pretty printed JSON found in the mitmproxy terminal interface. In order to avoid such misunderstandings, maybe a change could be to not convert exponential notation in the pretty printed body?

was actually written in exponential notation: 7.6013E7, while the smaller 2394000.0 written as it was

I do seem to possess some psychic abilities, although I got the capitalization of the E wrong.

maybe a change could be to not convert exponential notation in the pretty printed body?

That sounds reasonable, but I don't think it's technically possible. @mhils will be able to answer that, but I assume once the JSON is de-serialized into Python this information is lost, because technically the floats are identical. And then when it's serialized back for the pretty print there is no way to know how the number looked originally. But I do agree that in this case it was legit masking the data and made it look different. But this will open up a whole can of worms, because of things like unicode escape sequences (\u...). So strings could also look different between pretty and raw.

I think I can pretty much answer my question from above. Here's the current implementation https://github.com/mitmproxy/mitmproxy/blob/57e65d3d1f28031ca087fca47cd13341ee76f210/mitmproxy/contentviews/json.py
As you can see it uses  json.loads and json.JSONEncoder. To achieve what you want we'd need a JSON formatter that works on the AST and doesn't actually fully deserialize it (which would also be faster and less memory consuming than actually turning the JSON into Python objects). I'm sure there are Python solutions that could do that (e.g. use https://github.com/vtrushin/json-to-ast and then use the AST to serialize it back into a formatted version). Depending on how much such a library would add in terms of size to mitmproxy we might want to improve the current formatting. Feel free to open a PR if you find a solution, I don't think we will be spending any significant time on this.

Thanks for the help 😄 I will try to find some time to inspect the code and hopefully find a satisfactory solution for this.


[SC-32565] Setup publishing on NPM

This PR:

Configures the build script for packaging
Does minor updates to bring dependencies current
Creates a publish workflow file

@namoscato I went through and noted that all of the requested changes should be updated in 1b12284. If you get a chance, can you review this again? Thanks!


Progress bar when uploading multiple files?

Following the documentation for https://fastapi.tiangolo.com/tutorial/request-files/#multiple-file-uploads to upload multiple files.
Everything works.
The question is - how can I add a progress bar to the website to show the progress of the file upload?

I think it will be better if you could upload file by file and give the progress responsibility to the frontend. But if that's not something you want to do, I've done a small snippet on a way you can accomplish that.
The database below is illustrative, but you probably want an in-memory database (e.g. redis).
from asyncio import sleep
from typing import List

from fastapi import FastAPI, File, UploadFile
from fastapi.responses import HTMLResponse
from pydantic import BaseModel

app = FastAPI()

class UploadFileProgress(BaseModel):
    total: int
    uploaded: int

database = {"upload_tasks": {}}

@app.post("/uploadfiles/")
async def create_upload_files(files: List[UploadFile] = File(...)):
    task_id = len(database["upload_tasks"])
    database["upload_tasks"] = {task_id: {"total": len(files), "uploaded": 0}}
    for i, file in enumerate(files, start=1):
        await sleep(5) # upload files
        database["upload_tasks"][task_id]["uploaded"] = i

@app.get("/progress/{task_id}/", response_model=UploadFileProgress)
async def get_upload_progress(task_id: int):
    return database["upload_tasks"][task_id]

Thank you. Uploading file by file and dealing with the progress bar using Javascript did not cross my mind. This works.

Thanks for the help here @Kludex ! 👏  🙇
Thanks for reporting back and closing the issue @ternaus  👍

Sorry for the long delay! 🙈  I wanted to personally address each issue/PR and they piled up through time, but now I'm checking each one in order.


feat: support "tailscale cert" command

Allow users to configure certificates through Tailscale (https://tailscale.com/kb/1153/enabling-https/) via this role. Open question about what that support would look like.

Once Ansible makes me convert this into a collection, this support can be provided through another role inside the tailscale collection.

Any updates on this?

Once Ansible makes me convert this into a collection, this support can be provided through another role inside the tailscale collection.

We would like to depend on this role in our internal collection, but since collections can not depend on standalone roles (and vice verse) we cannot :(
Would you like some support (PR, etc) in creating a new collection containing this role?

I was just reflecting on that as the year ends: I am planning on setting aside some significant time and getting this migrated into a collection so that other use cases like that can be added


Custom websub listener experiences timeout error intermittently.

Description:
Custom websub listener developed in the Ballerina GitHub connector, experiences an intermittent timeout for event payloads dispatched from the GitHub.
ballerina-internal.log file shows the following log when this issue takes place.
[2021-06-04 08:27:51,690] SEVERE {b7a.log.crash} - No such error: ServiceExecutionError
error: No such error: ServiceExecutionError

Following is the error shown in the GitHub webhook dashboard

This issue was not experienced prior to SL-Alpha5, and the connector did not undergo any changes during the migration to Alpha5.
Affected Versions:
Ballerina Swan Lake Alpha 5
OS, DB, other environment details and versions:
OpenJDK 11, Ubuntu 20.04
Suggested Labels (optional):
priority/highest

We replayed the failed payloads against the current websub framework and was unable to reproduce the issue there.
Hence we suspect that the original issue is with the Ballerina GitHub connector.

Yes, we identified an issue in the GitHub connector, and it was fixed in PR. From the websub module, it ll be great if we can get detail error log in place of the following  log in the ballerina-internal.log.
The internal error has been casting null to string in the following code block.
string eventAction = <string> content["action"];

[2021-06-04 08:27:51,690] SEVERE {b7a.log.crash} - No such error: ServiceExecutionError
error: No such error: ServiceExecutionError

The issue related to internal-error log has been already fixed in SL Beta 1 Release.


Fixes #14493: Fixed getting permissions in  by user with id equals 0

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
yes

Fixed issues
#14493

So if non-integer Id return empty array - doesn't break the function but with mongo it would always return an empty array meaning it is rendered useless for mongo users

I missed the most important part- the && -  for some reason I guess I read it as or, or I'm just a moron.   This shouldn't break for mongo since it's not numeric but isn't empty...

Found same problem for other methods in yii\rbac\DbManager (revokeAll, revoke, getAssignments, getAssignment, getRolesByUser). Complete later.

getRolesByUser() has a proper check for this: https://github.com/yiisoft/yii2/blob/a55de109aaf16729d19cccba4939ba6a514b02a7/framework/rbac/DbManager.php#L460
        if (!isset($userId) || $userId === '') {
            return [];
        }

should be applied to all methods that receive a userId and check for empty. probably a private method should be created to have this logic in one place.

Merged. Thank you!


error[E0658]: let expressions in this position are unstable

What type of bug is this?
Other
What subsystems are affected?
Other
What happened?
error[E0658]: `let` expressions in this position are unstable
  --> src/common/substrait/src/df_expr.rs:74:8
   |
74 |     if let Some(FieldReferenceType::DirectReference(direct_ref)) = selection.reference_type
   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information

error[E0658]: `let` expressions in this position are unstable
  --> src/common/substrait/src/df_expr.rs:75:8
   |
75 |     && let Some(SegReferenceType::StructField(field)) = direct_ref.reference_type {
   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information

error[E0658]: `let` expressions in this position are unstable
  --> src/common/substrait/src/df_logical.rs:95:22
   |
95 |         let rel = if let Some(PlanRel { rel_type }) = plan.relations.pop()
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information

error[E0658]: `let` expressions in this position are unstable
  --> src/common/substrait/src/df_logical.rs:96:12
   |
96 |         && let Some(PlanRelType::Rel(rel)) = rel_type {
   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information

For more information about this error, try `rustc --explain E0658`.
error: could not compile `substrait` due to 4 previous errors

What operating system did you use?
FreeBSD 13.1
Relevant log output and stack trace
No response
How can we reproduce the bug?
Version: 0.1.0-alpha-20230102-weekly-46-gbae02439
rust-1.66.0

Is Rust that unstable that it changes by the week?

rust-nightly-<IP_ADDRESS>21225 has the same problem.

Can you try nightly-2022-12-20?  Follow the command lines as below to enable it.
Installation:
 rustup toolchain install nightly-2022-12-20

Set it to be the default toolchain:
rustup default nightly-2022-12-20

FreeBSD doesn't have rustup. rustup is for systems without package managers.
We have these two packages:
rust-nightly-<IP_ADDRESS>21225
rust-1.66.0

Thanks for reporting this. Not very familiar with FreeBSD environment, but your package rust-nightly-<IP_ADDRESS>21225 looks right. Is rustc --version also points to the nightly release rustc 1.68.0-nightly (935dc0721 2022-12-19) or newer? Those error messages "something is unstable" looks like a toolchain mismatch problem. Let's try to eliminate this assumption.

The message error[E0658]: let expressions in this position are unstable tells you that you are still using a stable toolchain to compile this project.
You could use cargo -V to see which rust version you use.

FreeBSD doesn't have rustup. rustup is for systems without package managers.

There is an x86_64-unknown-freebsd target in rustup. Using rustup is always the recommend way to install rust, no matter whether the platform has a package manager. If rustup doesn't support your OS, you might need to ensure you are using the right toolchain by the +toolchain option.

That's wired... I'll try to get a FreeBSD env after Lunar New Year

I tried in a fresh FreeBSD 13.1 environment and got an executable target (debug build) successfully.
# uname -a
FreeBSD 13.1-RELEASE FreeBSD 13.1-RELEASE releng/13.1-n250148-fc952ac2212 GENERIC amd64
# rustc --version
rustc 1.68.0-nightly (46160e6fa 2022-12-24) (built from a source tarball)
# cargo build
    Finished dev [unoptimized + debuginfo] target(s) in 1.79s
# ./target/debug/greptime --version
greptimedb
branch: develop
commit: b0925d94edccf5bd4c1561f58311f1bccc412d0b
dirty: false
version: 0.1.0

The dependencies are installed by the following commands
# pkg install rust-nightly
# pkg install protobuf


Add swedish language

Now added missing translation.

very nice work!! I always enjoy looking at a language that I don't understand :)

pre-release should be updated in 10-20 minutes with your work

arghhh, I forgot one thing, the language name should be in swedish instead of english, to be in line with other translations
Can you confirm that is 'Svenska'?

Yes that's correct

cool, i've pushed it directly and new binaries have been built! :)
it is already available in pre-release v1.4.4


updated plugin; resolved conflict

now randomises order of stocks, so ugly flash is fixed (mostly)
added self to contributors

Sorry - this is still conflicted.

hmm..it wasn't conflicting when i submitted it. looks like you accepted a PR from someone else that caused the conflict. the conflict it entirely due to the contributors file, so i'm going to scrap that and just submit my plugin.


ES6 template strings issue with comments

When using globs in ES6 template strings, VSCode's syntax highlighting thinks there is a unclosed comment. Example: ${settings.tests}**/*.js

Notice that after the /* all coloring is green, until the next start / end of a comment.
Issue found on https://github.com/elgervb/skeletonSPA
gulpfile.babel.js line 297, task scripts-tests

duplicate of #133


Project license

Hello, could you please provide information about license of the barcodescanner-lib-aar library? We would like to use this library in a commercial project and we need to know if (and how) it is legally possible and the kind of license. Thank you.

I don't mind. So please go ahead and submit a PR for any license you need and I'll merge it. MIT for instance would be fine.


DSSS generator/sync

This is what I've got so far for DSSS. This PR is probably 90% there for what might be mergeable. I think the big remaining missing pieces are debug printing and functions that can adjust the msequence polys. I didn't actually get around to implementing an early/late gate either, but I've convinced myself this probably doesn't matter for my uses.
Sadly this patch contains some unrelated formatting changes in qdetector. I could back these out pretty easily. I wasn't quite sure what the formatting guidelines were so I used clang-format with a config that seems to mostly match, but the result is that any file I touch might get its formatting re-arranged.
This is working better in my room tests than other modes, but there's still a lot I'm hoping to improve. One thing I'm curious about is how to choose a header poly/starting register state. From what I understand, a bad choice can actually hamper detection if the header "de-correlates" against the preamble. Just in general, detection doesn't perform reliably once line-of-sight is broken. I'm hoping to do some more digging and see if I can come up with some improvements to this process.
The biggest surprise to me here is that error correction seems to be mostly useless in this context. I think if the receiver can synchronize the PN sequence correctly, then it is very likely to come up with the correct bit. If it desynchronizes, there's nothing error correction can do to help it since everything at that point is probably toast.
I was also happy to see that changing all the packet modems to QPSK does seem to decode correctly, though I didn't test it further than that. It might make sense to come up with a flex version that can send mod and poly info in the header.

I went ahead and backed out the changes to qdetector. That should remove some of the clutter from this patch.

Is anyone asking for C89 support for Liquid DSP? If anything I wish this library used more features from C99, or even C11.

I'd have the same preference, but as it stands the build and all the code conform to this standard, so we might as well conform here too.


Rework CreateSmartTransactionConfig to Resolve Lifetime Issues

The lifetime parameter on CreateSmartTransactionConfig is required because it contains references to signers and instructions. This has the potential to create several issues and should be avoided. We should rework this to avoid any potential lifetime issues.
An arc-based solution is probably best as no lifetime parameters are needed, it's thread-safe, and it shares ownership efficiently. The only downside is a slight runtime overhead from reference counting and then the need to wrap signers in an arc when creating the config. A builder pattern solution is also a possibility, but then we introduce a lot of boilerplate, and a clone-based solution would require signers to implement clone

Hi , can i take up this role ?

gm @mahmudsudo! For sure, go for it!

on it

Hey @mahmudsudo, any luck on this one?


Remove dead code related to the test interface and exportsNamespace.

This is a follow up to #2932. The changes in this commit were forgotten in that PR.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/3946/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/5223/
Test PASSed.


Defragmenting docs: VM installation

Currently, to point a newbie from this repo to installation instructions, we need to point them to
https://github.com/SyneRBI/SIRF/wiki/How-to-obtain-SIRF
Which for the VM points to
http://www.ccpsynerbi.ac.uk/downloads
But we also need to point them to
https://github.com/SyneRBI/SIRF-Exercises/blob/master/INSTALL.md
Which has more information on the VM, including direct links to
https://github.com/SyneRBI/SyneRBI_VM/blob/master/INSTALL.md
All in all a bit fragmented. My suggestion would be to remove this second path. The INSTALL.md at SIRF-Exercises can be removed by adding this information to the SIRF repo, where its partially there.
This is not a current priority, lets leave it for after the training course.

There certainly is repetition that needs to be culled. However, it sort of implies fragmentation. It's neater to have everything in one place but it is unmaintainable.
I'm hoping that the wiki or downloads page points to https://github.com/SyneRBI/SyneRBI_VM/blob/master/INSTALL.md. That file we cannot get rid of.
The SIRF-Exercises INSTALL has to talk about installing the SIRF-Exercises. Should be really brief on VM/Docker (i.e. you don't need to read this), but for self-build people it needs to contain the relevant info that's there.
too many options, I'm sure. It'll be hard to do this well, but hopefully not too hard to do it better 😄

I would suggest to completely remove anything that is not self-build in the SIRF-Exercises INSTALL, except a single line saying "this is for self build, otherwise go to -> https://github.com/SyneRBI/SIRF/wiki/How-to-obtain-SIRF"

sure

There are 2 sets of instructions for the VM (which I don't have installed now) on this page, one in README, anther one in the docs for participants.
On the README:
https://github.com/SyneRBI/SIRF-Exercises#starting-the-jupyter-server
Of the participants Docs:
https://github.com/SyneRBI/SIRF-Exercises/blob/master/DocForParticipants.md#using-the-vm
I am a bit confused here. The second one seems to assume jupyter can just run on the VM. Does this docs assume you have run first what is in the README, or are the README docs not needed?
I am trying to avoid downloading the VM by asking, but do let me know if this needs testing.

Probably the best thing to do is to move the information from the first item to https://github.com/SyneRBI/SyneRBI_VM/blob/master/documentation/Basic-usage.md.

If they are not needed to start the VM and jupyter, I agree.
Still not sure if they are needed, I guess I'd need to try it....


Please add Custom2Captcha XEvil

Please add me on Discord
Dmitry#3429
For more details & test environment
Just changing the 2Captcha URL doesn't work, it gives this error:
10/13/2022 12:09:33 PM: POST /in.php
10/13/2022 12:09:33 PM: Wrong API Key = [] rejected!
10/13/2022 12:09:33 PM: .\Lua\API\emulation.lua:32: attempt to compare number with nil

I don't have XEvil installed.
I can add it if you install XEvil on a server (with dedicated IP) and provide me with the URL.

BASE URL: http://<IP_ADDRESS>:666
API: 2Captcha like
key:
c32c6a43debd428defa0dccee6ed22b7
123test
Might work as just 2Captcha but minor tweak for how the key is being passed

Thx.
It seems that the 2captcha interface is not fully implemented in XEvil.
Can you switch to anti-captcha (in XEvil it's called "Antigate v2" or something like that)?

Done, when you implement it please make sure you can specify the base url =) thank you so much

XEvil works better through the Anti-Captcha interface (but, for me, only reCAPTCHA v2 it solves correctly... I have no idea why).
The following code can be used as a workaround:
from unicaps import CaptchaSolver, CaptchaSolvingService

# init Anti-captcha solver
solver = CaptchaSolver(CaptchaSolvingService.ANTI_CAPTCHA, 'c32c6a43debd428defa0dccee6ed22b7')

# change BASE_URL
solver._service.BASE_URL = 'http://<IP_ADDRESS>:666'

# get balance
print(f'Balance: {solver.get_balance()}')

# solve reCAPTCHA v2
solved = solver.solve_recaptcha_v2(
    site_key='6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9',
    page_url='https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php'
)
print(solved.solution.token)

Please try it and let me know if it works for you.

fuck yeah buddy will do

works :)

Ok, closing then


remove app role and db from being created

Remove unnecessary app role and database from being created.
Fixes: TEM-3094

Removing it from mahout as well https://github.com/tembo-io/mahout/pull/482


Restore eachParent traversal behavior

The eachParent traversal modification in bc86e87e0e958e caused eachParent to skip the first iteration, as it were, compared to earlier behavior.
I.e. if you passed in /foo/bar/quux, 1.7.1 and before iterated over

/foo/bar/quux
/foo/bar
/foo
(erroneously) ``

1.7.2 and later (with the modification in bc86e87e0e958e) iterated over

/foo/bar
/foo
(correctly) /

given the same parameter.
This restores the 1.7.1 behavior, but with the `` bug corrected.

Whoa, that was a fast merge 😅

I made a release commit and will publish it after Travis CI will finish.

Released in 1.7.3

Great! Sorry about introducing that bug! 😔

I think nobody got it, because all main Browserslist users send a file to path


Ci linux and osx

@NicolasDorier This PR is for configuring CI for Linux and OSX. Seven tests have been disabled to make the build finish green.  These tests are:

CanReadTestVectorPayments
CanParseIpEndpoint Dns.GetHostEntryAsync doesn't work with IPv4 with this error (probably it fails in my machine)
Three tests that depend on EnsureHasLibConsensus. They fail because we don't have the libbitcoinconsensus-0.so library file for Linux and OSX.
CanDownloadBlock fails from time to time, more often in osx, because it doesn't receive the block, even when the bitcoin core node sends it (we can see it in the test log) Bitcoin Core Node Logs (Click to expand)
2018-03-17 03:11:53 Bitcoin version v0.15.1
2018-03-17 03:11:53 InitParameterInteraction: parameter interaction: -whitebind set -> setting -listen=1
2018-03-17 03:11:53 InitParameterInteraction: parameter interaction: -whitelistforcerelay=1 -> setting -whitelistrelay=1
2018-03-17 03:11:53 Validating signatures for all blocks.
2018-03-17 03:11:53 Setting nMinimumChainWork=0000000000000000000000000000000000000000000000000000000000000000
2018-03-17 03:11:53 Using the 'standard' SHA256 implementation
2018-03-17 03:11:53 Using RdRand as an additional entropy source
2018-03-17 03:11:53 Default data directory /Users/travis/Library/Application Support/Bitcoin
2018-03-17 03:11:53 Using data directory /Users/travis/build/lontivero/NBitcoin/NBitcoin.Tests/bin/Release/netcoreapp2.0/CanDownloadBlock/0/data/regtest
2018-03-17 03:11:53 Using config file /Users/travis/build/lontivero/NBitcoin/NBitcoin.Tests/bin/Release/netcoreapp2.0/CanDownloadBlock/0/data/bitcoin.conf
2018-03-17 03:11:53 Using at most 125 automatic connections (10240 file descriptors available)
2018-03-17 03:11:53 Using 16 MiB out of 32/2 requested for signature cache, able to store 524288 elements
2018-03-17 03:11:53 Using 16 MiB out of 32/2 requested for script execution cache, able to store 524288 elements
2018-03-17 03:11:53 Using 2 threads for script verification
2018-03-17 03:11:53 scheduler thread start
2018-03-17 03:11:53 HTTP: creating work queue of depth 16
2018-03-17 03:11:53 Config options rpcuser and rpcpassword will soon be deprecated. Locally-run instances may remove rpcuser to use cookie-based auth, or may be replaced with rpcauth. Please see share/rpcuser for rpcauth auth generation.
2018-03-17 03:11:53 HTTP: starting 4 worker threads
2018-03-17 03:11:53 init message: Verifying wallet(s)...
2018-03-17 03:11:53 Using BerkeleyDB version Berkeley DB 4.8.30: (April  9, 2010)
2018-03-17 03:11:53 Using wallet wallet.dat
2018-03-17 03:11:53 CDBEnv::Open: LogDir=/Users/travis/build/lontivero/NBitcoin/NBitcoin.Tests/bin/Release/netcoreapp2.0/CanDownloadBlock/0/data/regtest/database ErrorFile=/Users/travis/build/lontivero/NBitcoin/NBitcoin.Tests/bin/Release/netcoreapp2.0/CanDownloadBlock/0/data/regtest/db.log
2018-03-17 03:11:53 net: setting try another outbound peer=false
2018-03-17 03:11:53 Cache configuration:
2018-03-17 03:11:53 * Using 56.2MiB for block index database
2018-03-17 03:11:53 * Using 8.0MiB for chain state database
2018-03-17 03:11:53 * Using 385.8MiB for in-memory UTXO set (plus up to 286.1MiB of unused mempool space)
2018-03-17 03:11:53 init message: Loading block index...
2018-03-17 03:11:53 Opening LevelDB in /Users/travis/build/lontivero/NBitcoin/NBitcoin.Tests/bin/Release/netcoreapp2.0/CanDownloadBlock/0/data/regtest/blocks/index
2018-03-17 03:11:53 Opened LevelDB successfully
2018-03-17 03:11:53 Using obfuscation key for /Users/travis/build/lontivero/NBitcoin/NBitcoin.Tests/bin/Release/netcoreapp2.0/CanDownloadBlock/0/data/regtest/blocks/index:<PHONE_NUMBER>000000
2018-03-17 03:11:53 LoadBlockIndexDB: last block file = 0
2018-03-17 03:11:53 LoadBlockIndexDB: last block file info: CBlockFileInfo(blocks=0, size=0, heights=0...0, time=1970-01-01...1970-01-01)
2018-03-17 03:11:53 Checking all blk files are present...
2018-03-17 03:11:53 LoadBlockIndexDB: transaction index disabled
2018-03-17 03:11:53 Initializing databases...
2018-03-17 03:11:53 Pre-allocating up to position 0x1000000 in blk00000.dat
2018-03-17 03:11:53 Opening LevelDB in /Users/travis/build/lontivero/NBitcoin/NBitcoin.Tests/bin/Release/netcoreapp2.0/CanDownloadBlock/0/data/regtest/chainstate
2018-03-17 03:11:53 Opened LevelDB successfully
2018-03-17 03:11:53 Wrote new obfuscate key for /Users/travis/build/lontivero/NBitcoin/NBitcoin.Tests/bin/Release/netcoreapp2.0/CanDownloadBlock/0/data/regtest/chainstate: 5e558ebea5821684
2018-03-17 03:11:53 Using obfuscation key for /Users/travis/build/lontivero/NBitcoin/NBitcoin.Tests/bin/Release/netcoreapp2.0/CanDownloadBlock/0/data/regtest/chainstate: 5e558ebea5821684
2018-03-17 03:11:53 init message: Rewinding blocks...
2018-03-17 03:11:53  block index              98ms
2018-03-17 03:11:53 init message: Loading wallet...
2018-03-17 03:11:53 nFileVersion = 150100
2018-03-17 03:11:53 Keys: 0 plaintext, 0 encrypted, 0 w/ metadata, 0 total
2018-03-17 03:11:53 Performing wallet upgrade to 60000
2018-03-17 03:11:53 keypool added 20 keys (10 internal), size=20 (10 internal)
2018-03-17 03:11:53 keypool reserve 1
2018-03-17 03:11:53 keypool keep 1
2018-03-17 03:11:53  wallet                  127ms
2018-03-17 03:11:53 keypool added 1 keys (0 internal), size=20 (10 internal)
2018-03-17 03:11:53 setKeyPool.size() = 20
2018-03-17 03:11:53 mapWallet.size() = 0
2018-03-17 03:11:53 mapAddressBook.size() = 1
2018-03-17 03:11:53 UpdateTip: new best=0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206 height=0 version=0x00000001 log2_work=1 tx=1 date='2011-02-02 23:16:42' progress=1.000000 cache=0.0MiB(0txo)
2018-03-17 03:11:53 Failed to open mempool file from disk.
You should register the repo in travis-ci.org. You can see the build is green here: https://travis-ci.org/lontivero/NBitcoin

Maybe the better way to mae the aforementioned tests not disrupt the Linux&OSX CI without disabling them on Windows is just detect, at runtime at the beginning of the test, the platform that it's being run on, and call Assert.Inconclusive() if it's not run in Windows. Wouldn't this be better than a compile-time WIN constant?

I didn't disabled them for Windows.

Mmm I see, but how is the WIN constant defined?

@lontivero  ACK, all looks great. Could you elaborate on why consensus tests are disabled on OSX/Linux though?

Awesome! I want to solve the problem with libconsensus though.

I don't like
 !NOCONSENSUSLIB && WIN

If we wanted to do that, the best way would be to add NOCONSENSUSLIB to all non windows build.
If you want to only disable tests, then it should be only in the test project.
I guess we can reactivate for non-windows later.

@lontivero ACK, all looks great. Could you elaborate on why consensus tests are disabled on OSX/Linux though?
I've disabled those tests because they depend on the libbitcoinconsensus-0.dll. Of course I could modify the tests to use the libbitcoinconsensus.so library in the bitcoin core's /lib folder (as you know we already download the bitcoin core binaries) but given Nicolas hosts the .dll in his own infrastructure i didn't want to change that without understanding the reasons behind that decision.

My second reason for disabling those tests was because it was the fastest thing to do in the available time. I focused on make it compile and get the tests green because the only way that I have to verify everything works on osx is making a push to the repo and wait, that's incredible time consuming way to test.
@NicolasDorier It's understood. I will add the NOCONSENSUSLIB to the new netcoreapp2.0 Target then.

Can you for now just remove the && WIN ? I would like to merge that first, then let's work to improve the tests.

@NicolasDorier please take a look at the CI log. It is using the consensus library for 0.15.1 and they fail
[00:06:33] [xUnit.net 00:05:28.5270306]     NBitcoin.Tests.script_tests.script_CHECKMULTISIG23 [FAIL]
[00:06:33]
[00:06:33]
[00:06:33] [xUnit.net 00:05:28.5271526]       Assert.True() Failure
[00:06:33] [xUnit.net 00:05:28.5272220]       Expected: True
[00:06:33] [xUnit.net 00:05:28.5272539]       Actual:   False
[00:06:33] [xUnit.net 00:05:28.5273286]       Stack Trace:
[00:06:33] [xUnit.net 00:05:28.5273796]         script_tests.cs(759,0): at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify)
[00:06:33] [xUnit.net 00:05:28.5274374]         script_tests.cs(712,0): at NBitcoin.Tests.script_tests.script_CHECKMULTISIG23()
[00:06:33] Failed   NBitcoin.Tests.script_tests.script_CHECKMULTISIG23
[00:06:33] Error Message:
[00:06:33]  Assert.True() Failure
[00:06:33] Expected: True
[00:06:33] Actual:   False
[00:06:33] Stack Trace:
[00:06:33]    at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify) in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 759
[00:06:33]    at NBitcoin.Tests.script_tests.script_CHECKMULTISIG23() in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 712
[00:06:34] [xUnit.net 00:05:28.7346411]     NBitcoin.Tests.script_tests.script_json_tests [FAIL]
[00:06:34]
[00:06:34]
[00:06:34] [xUnit.net 00:05:28.7348207]       [ConsensusLib] Test : 6 Test the test: we should have an empty stack after scriptSig evaluation
[00:06:34] [xUnit.net 00:05:28.7348748]       Expected: True
[00:06:34] [xUnit.net 00:05:28.7349130]       Actual:   False
[00:06:34] [xUnit.net 00:05:28.7349760]       Stack Trace:
[00:06:34] [xUnit.net 00:05:28.7350386]         script_tests.cs(385,0): at NBitcoin.Tests.script_tests.AssertVerifyScript(WitScript wit, Money amount, Script scriptSig, Script scriptPubKey, ScriptVerify flags, Int32 testIndex, String comment, ScriptError expectedError)
[00:06:34] [xUnit.net 00:05:28.7350821]         script_tests.cs(365,0): at NBitcoin.Tests.script_tests.script_json_tests()
[00:06:34] NBitcoin Information: 0 : ERROR: SignatureHash() : nOut=2 out of range
[00:06:34]
[00:06:34] [xUnit.net 00:05:28.7425581]     NBitcoin.Tests.script_tests.script_CHECKMULTISIG12 [FAIL]
[00:06:34]
[00:06:34]
[00:06:34] [xUnit.net 00:05:28.7427041]       Assert.True() Failure
[00:06:34] [xUnit.net 00:05:28.7427488]       Expected: True
[00:06:34] [xUnit.net 00:05:28.7427794]       Actual:   False
[00:06:34] [xUnit.net 00:05:28.7428382]       Stack Trace:
[00:06:34] [xUnit.net 00:05:28.7428985]         script_tests.cs(759,0): at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify)
[00:06:34] [xUnit.net 00:05:28.7429458]         script_tests.cs(668,0): at NBitcoin.Tests.script_tests.script_CHECKMULTISIG12()
[00:06:35] Failed   NBitcoin.Tests.script_tests.script_json_tests
[00:06:35] Error Message:
[00:06:35]  [ConsensusLib] Test : 6 Test the test: we should have an empty stack after scriptSig evaluation
[00:06:35] Expected: True
[00:06:35] Actual:   False
[00:06:35] Stack Trace:
[00:06:35]    at NBitcoin.Tests.script_tests.AssertVerifyScript(WitScript wit, Money amount, Script scriptSig, Script scriptPubKey, ScriptVerify flags, Int32 testIndex, String comment, ScriptError expectedError) in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 385
[00:06:35]    at NBitcoin.Tests.script_tests.script_json_tests() in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 365
[00:06:35] Failed   NBitcoin.Tests.script_tests.script_CHECKMULTISIG12
[00:06:35] Error Message:
[00:06:35]  Assert.True() Failure
[00:06:35] Expected: True
[00:06:35] Actual:   False
[00:06:35] Stack Trace:
[00:06:35]    at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify) in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 759
[00:06:35]    at NBitcoin.Tests.script_tests.script_CHECKMULTISIG12() in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 668

Amazing work, I propose to merge that for now then we can workout the bugs for libconsensus native libraries. The only question I have is why the new target?

Also need to fix appveyor.

@NicolasDorier I had to disable the three tests that use the consensus library in Linux and OSX. This is because the tests fail in OSX with the exception: System.EntryPointNotFoundException : Unable to find an entry point named 'bitcoinconsensus_verify_script_with_amount' in DLL 'libbitcoinconsensus.dll' (given .net framawork requires the extension .dll, I use that extension for windows, linux and osx)
OSX log fragment
[39;49m[31m[xUnit.net 00:05:48.9311870]     NBitcoin.Tests.script_tests.script_CHECKMULTISIG23 [FAIL]

[39;49m[39;49m[xUnit.net 00:05:48.9326830]       System.EntryPointNotFoundException : Unable to find an entry point named 'bitcoinconsensus_verify_script' in DLL 'libbitcoinconsensus.dll'.

[39;49m[39;49m[xUnit.net 00:05:48.9340110]       Stack Trace:

[39;49m[39;49m[xUnit.net 00:05:48.9357580]            at NBitcoin.Script.VerifyScriptConsensus(Byte[] scriptPubKey, UInt32 scriptPubKeyLen, Byte[] txTo, UInt32 txToLen, UInt32 nIn, ScriptVerify flags, BitcoinConsensusError& err)

[39;49m[39;49m[xUnit.net 00:05:48.9359140]         /Users/travis/build/lontivero/NBitcoin/NBitcoin/Script.cs(1095,0): at NBitcoin.Script.VerifyScriptConsensus(Script scriptPubKey, Transaction tx, UInt32 nIn, ScriptVerify flags, BitcoinConsensusError& err)

[39;49m[39;49m[xUnit.net 00:05:48.9360340]         /Users/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs(775,0): at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify)

[39;49m[39;49m[xUnit.net 00:05:48.9361400]         /Users/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs(730,0): at NBitcoin.Tests.script_tests.script_CHECKMULTISIG23()

AppVeyor build fail with the consensus library extracted from 0.15.1. I think this is because the ScriptVerify flags value are not valid for that version. Exactly the same three tests fail also in Linux for the same reason.
AppVeyor log fragment
[00:04:06] [xUnit.net 00:02:59.5090309]       Assert.True() Failure
[00:04:06] [xUnit.net 00:02:59.5090749]       Expected: True
[00:04:06] [xUnit.net 00:02:59.5091097]       Actual:   False
[00:04:06] [xUnit.net 00:02:59.5096540]       Stack Trace:
[00:04:06] [xUnit.net 00:02:59.5129700]         script_tests.cs(775,0): at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify)
[00:04:06] [xUnit.net 00:02:59.5130437]         script_tests.cs(728,0): at NBitcoin.Tests.script_tests.script_CHECKMULTISIG23()
[00:04:06] Failed   NBitcoin.Tests.script_tests.script_CHECKMULTISIG23
[00:04:06] Error Message:
[00:04:06]  Assert.True() Failure
[00:04:06] Expected: True
[00:04:06] Actual:   False
[00:04:06] Stack Trace:
[00:04:06]    at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify) in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 775
[00:04:06]    at NBitcoin.Tests.script_tests.script_CHECKMULTISIG23() in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 728
[00:04:06] [xUnit.net 00:03:00.0996420]     NBitcoin.Tests.script_tests.script_json_tests [FAIL]
[00:04:06]
[00:04:06]
[00:04:06] [xUnit.net 00:03:00.0998436]       [ConsensusLib] Test : 6 Test the test: we should have an empty stack after scriptSig evaluation
[00:04:06] [xUnit.net 00:03:00.0998859]       Expected: True
[00:04:06] [xUnit.net 00:03:00.0999181]       Actual:   False
[00:04:06] [xUnit.net 00:03:00.0999849]       Stack Trace:
[00:04:06] [xUnit.net 00:03:00.1000422]         script_tests.cs(385,0): at NBitcoin.Tests.script_tests.AssertVerifyScript(WitScript wit, Money amount, Script scriptSig, Script scriptPubKey, ScriptVerify flags, Int32 testIndex, String comment, ScriptError expectedError)
[00:04:06] [xUnit.net 00:03:00.1000876]         script_tests.cs(365,0): at NBitcoin.Tests.script_tests.script_json_tests()
[00:04:06] [xUnit.net 00:03:00.1063189]     NBitcoin.Tests.script_tests.script_CHECKMULTISIG12 [FAIL]
[00:04:06]
[00:04:06]
[00:04:06] [xUnit.net 00:03:00.1064188]       Assert.True() Failure
[00:04:06] [xUnit.net 00:03:00.1064596]       Expected: True
[00:04:06] [xUnit.net 00:03:00.1064897]       Actual:   False
[00:04:06] [xUnit.net 00:03:00.1065585]       Stack Trace:
[00:04:06] [xUnit.net 00:03:00.1066110]         script_tests.cs(775,0): at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify)
[00:04:06] [xUnit.net 00:03:00.1066559]         script_tests.cs(684,0): at NBitcoin.Tests.script_tests.script_CHECKMULTISIG12()
[00:04:06] NBitcoin Information: 0 : ERROR: SignatureHash() : nOut=2 out of range
[00:04:06]
[00:04:06] Failed   NBitcoin.Tests.script_tests.script_json_tests
[00:04:06] Error Message:
[00:04:06]  [ConsensusLib] Test : 6 Test the test: we should have an empty stack after scriptSig evaluation
[00:04:06] Expected: True
[00:04:06] Actual:   False
[00:04:06] Stack Trace:
[00:04:06]    at NBitcoin.Tests.script_tests.AssertVerifyScript(WitScript wit, Money amount, Script scriptSig, Script scriptPubKey, ScriptVerify flags, Int32 testIndex, String comment, ScriptError expectedError) in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 385
[00:04:06]    at NBitcoin.Tests.script_tests.script_json_tests() in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 365
[00:04:06] Failed   NBitcoin.Tests.script_tests.script_CHECKMULTISIG12
[00:04:06] Error Message:
[00:04:06]  Assert.True() Failure
[00:04:06] Expected: True
[00:04:06] Actual:   False
[00:04:06] Stack Trace:
[00:04:06]    at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify) in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 775
[00:04:06]    at NBitcoin.Tests.script_tests.script_CHECKMULTISIG12() in C:\projects\nbitcoin\NBitcoin.Tests\script_tests.cs:line 684

Travis (linux) log fragment
[xUnit.net 00:04:28.8615417]     NBitcoin.Tests.script_tests.script_CHECKMULTISIG23 [FAIL]
[xUnit.net 00:04:28.8667918]       Assert.True() Failure
[xUnit.net 00:04:28.8676263]       Expected: True
[xUnit.net 00:04:28.8682260]       Actual:   False
[xUnit.net 00:04:28.8701793]       Stack Trace:
[xUnit.net 00:04:28.8722494]         /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs(777,0): at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify)
[xUnit.net 00:04:28.8730078]         /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs(730,0): at NBitcoin.Tests.script_tests.script_CHECKMULTISIG23()
Failed   NBitcoin.Tests.script_tests.script_CHECKMULTISIG23
Error Message:
 Assert.True() Failure
Expected: True
Actual:   False
Stack Trace:
   at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify) in /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs:line 777
   at NBitcoin.Tests.script_tests.script_CHECKMULTISIG23() in /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs:line 730
[xUnit.net 00:04:29.2204887]     NBitcoin.Tests.script_tests.script_json_tests [FAIL]
[xUnit.net 00:04:29.2209232]       [ConsensusLib] Test : 6 Test the test: we should have an empty stack after scriptSig evaluation
[xUnit.net 00:04:29.2210184]       Expected: True
[xUnit.net 00:04:29.2210653]       Actual:   False
[xUnit.net 00:04:29.2211355]       Stack Trace:
[xUnit.net 00:04:29.2212121]         /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs(388,0): at NBitcoin.Tests.script_tests.AssertVerifyScript(WitScript wit, Money amount, Script scriptSig, Script scriptPubKey, ScriptVerify flags, Int32 testIndex, String comment, ScriptError expectedError)
[xUnit.net 00:04:29.2212895]         /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs(367,0): at NBitcoin.Tests.script_tests.script_json_tests()
[xUnit.net 00:04:29.2274644]     NBitcoin.Tests.script_tests.script_CHECKMULTISIG12 [FAIL]
[xUnit.net 00:04:29.2276779]       Assert.True() Failure
[xUnit.net 00:04:29.2277935]       Expected: True
[xUnit.net 00:04:29.2278197]       Actual:   False
[xUnit.net 00:04:29.2279919]       Stack Trace:
[xUnit.net 00:04:29.2280490]         /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs(777,0): at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify)
[xUnit.net 00:04:29.2280978]         /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs(684,0): at NBitcoin.Tests.script_tests.script_CHECKMULTISIG12()
Failed   NBitcoin.Tests.script_tests.script_json_tests
Error Message:
 [ConsensusLib] Test : 6 Test the test: we should have an empty stack after scriptSig evaluation
Expected: True
Actual:   False
Stack Trace:
   at NBitcoin.Tests.script_tests.AssertVerifyScript(WitScript wit, Money amount, Script scriptSig, Script scriptPubKey, ScriptVerify flags, Int32 testIndex, String comment, ScriptError expectedError) in /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs:line 388
   at NBitcoin.Tests.script_tests.script_json_tests() in /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs:line 367
Failed   NBitcoin.Tests.script_tests.script_CHECKMULTISIG12
Error Message:
 Assert.True() Failure
Expected: True
Actual:   False
Stack Trace:
   at NBitcoin.Tests.script_tests.AssertValidScript(Script scriptPubKey, Transaction tx, Int32 n, ScriptVerify verify) in /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs:line 777
   at NBitcoin.Tests.script_tests.script_CHECKMULTISIG12() in /home/travis/build/lontivero/NBitcoin/NBitcoin.Tests/script_tests.cs:line 684
2018-03-19 19:54:26

If I am right and the problem is because of the ScriptVerify Flags then, I think that you Nicolas are much more aware about the consensus rules than me. Could you take a look at that please?
Given that exactly the same three tests fail in both Windows and Linux, once the tests pass green on Windows, they should also pass on Linux.
https://travis-ci.org/lontivero/NBitcoin/builds/355561721

Ok can you disable the tests for libbitcoinconsensus also on the travis for now? Normally there is around 600 tests, and the failed test prevent the rest from executing.

This is because the tests fail in OSX with the exception: System.EntryPointNotFoundException : Unable to find an entry point named 'bitcoinconsensus_verify_script_with_amount' in DLL 'libbitcoinconsensus.dll' (given .net framawork requires the extension .dll, I use that extension for windows, linux and osx)

Have you tried using just "bitcoinconsensus" for the DllImport? I've found many times that Mono (Linux/OSX) appends automatically suffix ".so" and prefix "lib" if needed, and Microsoft append "dll" automatically.

I will try to fix that after. Anyway, the binding is probably not working now because they changed the interface. I don't want to block this PR, I prefer we skip for now, then I will add integration to travis to this repo.

@NicolasDorier the tests for libbitcoinconsensus are disabled on travis for Linux and OSX. They are not disabled for AppVeyor.
@knocte yes, I've tried that. In fact, that works for .net core but fails for .net461. .net fx requires the .dll file extension (you can see the travis build logs with all my attempts)

(you can see the travis build logs with all my attempts)

With travis, you mean Linux+.net461?
If yes, I guess maybe you need a .config file with a <dllmap> entry, like it's explained here: http://www.mono-project.com/docs/advanced/pinvoke/

@lontivero can you disable on AppVeyor?

The tests for .NET Core on AppVeyor does not run anymore. Any idea?

@knocte, travis is for Linux and OSX. It cannot build .net461 or any other .net framework for windows. I think that dllmap is not available in .net framework nor .net core, that's a mono thing only

I know I know, I just want to build net461 + netcore on AppVeyor then the rest on Travis.

@lontivero please can you enable net461 again? You can disable the native libconsensus tests. I'd like to merge this and fix after.

Still only  324 tests running.

I'm not sure to understand. This PR is based commit Add missing space at README.md b6dd2b0415
Before this PR there were 321 tests, you can see it in the AppVeyor build's log
Total tests: 321. Passed: 321. Failed: 0. Skipped: 0.
Test Run Successful.
Test execution time: 6.4745 Minutes
[Release] FINISHED dotnet test

I cannot find a build with more than 324 tests. Am I misunderstanding something?
Just in case, travis runs the same tests for Linux and OSX.

@lontivero example of last build : https://ci.appveyor.com/project/NicolasDorier/nbitcoin/build/<IP_ADDRESS>

Can you disable the tests for libconsensus ?

Finally! Was excited by this PR.


fixed home changed sorry guys

Assignee Tasks

[ ] added unit tests (or none needed)
[ ] written relevant docs (or none needed)
[ ] referenced any relevant issues (or none exist)

Guidelines
Please add a description of this Pull Request's motivation, scope, outstanding issues or potential alternatives, reasoning behind the current solution, and any other relevant information for posterity.

Your PR Notes Here

issue wasn't from your code.


start kenshin but some errors  got out with "maximum recursion depth exceeded"

File "/opt/Kenshin/lib/python2.6/site-packages/pyparsing.py", line 3530, in parseImpl
ret = e._parse( instring, loc, doActions )
File "/opt/Kenshin/lib/python2.6/site-packages/pyparsing.py", line 1379, in _parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
File "/opt/Kenshin/lib/python2.6/site-packages/pyparsing.py", line 3717, in parseImpl
return self.expr._parse( instring, loc, doActions, callPreParse=False )
File "/opt/Kenshin/lib/python2.6/site-packages/pyparsing.py", line 1379, in _parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
File "/opt/Kenshin/lib/python2.6/site-packages/pyparsing.py", line 3378, in parseImpl
loc, resultlist = self.exprs[0]._parse( instring, loc, doActions, callPreParse=False )
File "/opt/Kenshin/lib/python2.6/site-packages/pyparsing.py", line 1379, in _parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
File "/opt/Kenshin/lib/python2.6/site-packages/pyparsing.py", line 3449, in parseImpl
loc2 = e.tryParse( instring, loc )
File "/opt/Kenshin/lib/python2.6/site-packages/pyparsing.py", line 1421, in tryParse
return self._parse( instring, loc, doActions=False )[0]
File "/opt/Kenshin/lib/python2.6/site-packages/pyparsing.py", line 1383, in _parseNoCache
loc,tokens = self.parseImpl( instring, preloc, doActions )
File "/opt/Kenshin/lib/python2.6/site-packages/pyparsing.py", line 2798, in parseImpl
ret = ParseResults(result.group())
File "/opt/Kenshin/lib/python2.6/site-packages/pyparsing.py", line 341, in new
if isinstance(toklist, cls):
RuntimeError: maximum recursion depth exceeded while calling a Python object

@luckywarrior Thanks for your feedback!
The logs you provided show something wrong with pyparsing.
Can you show us how to reproduce the problem? The more info you can provide, the more quickly we can pin down and squash those bugs.

I open a new vm and reinstall the packages following your steps, a new problem occured,it said as follows:(my environment:centos 6.8_x86_64 python2.6)
Traceback (most recent call last):
File "bin/rurouni-cache.py", line 13, in
run_twistd_plugin(file)
File "/opt/Kenshin/kenshinEnv/lib/python2.6/site-packages/kenshin-0.3.1-py2.6-linux-x86_64.egg/rurouni/utils.py", line 11, in run_twistd_plugin
from rurouni.conf import get_parser
File "/opt/Kenshin/kenshinEnv/lib/python2.6/site-packages/kenshin-0.3.1-py2.6-linux-x86_64.egg/rurouni/conf.py", line 286
instances = {int(s[len(prefix):]) for s in parser.sections()
^
SyntaxError: invalid syntax

problem solved !
changed this line:
instances = {int(s[len(prefix):]) for s in parser.sections()
to
instances = [int(s[len(prefix):]) for s in parser.sections()
if s.startswith(prefix)]

They are different things, and instances = {int(s[len(prefix):]) for s in parser.sections() should not raise SyntaxError: invalid syntax. What's the version of your Python interpreter?
In [5]: a = [1, 1, 2, 3]

In [6]: {i for i in a}  # set
Out[6]: {1, 2, 3}

In [7]: [i for i in a]  # list
Out[7]: [1, 1, 2, 3]

@luckywarrior Set comprehension was introduced in Version 2.7
https://en.wikipedia.org/wiki/List_comprehension#Set_comprehension