README example blows up

$ pip freeze
appdirs==1.4.1
attrs==16.3.0
Automat==0.5.0
billiard==<IP_ADDRESS>
cffi==1.9.1
constantly==15.1.0
cryptography==1.7.2
cssselect==1.0.1
enum34==1.1.6
idna==2.2
incremental==16.10.1
ipaddress==1.0.18
lxml==3.7.2
packaging==16.8
parsel==1.1.0
pkg-resources==0.0.0
pyasn1==0.1.9
pyasn1-modules==0.0.8
pycparser==2.17
PyDispatcher==2.0.5
pyOpenSSL==16.2.0
pyparsing==2.1.10
queuelib==1.4.2
Scrapy==1.3.0
scrapyscript==0.0.6
service-identity==16.0.0
six==1.10.0
Twisted==17.1.0
w3lib==1.16.0
zope.interface==4.3.3
$  cat testit.py
from scrapyscript import Job, Processor
from scrapy.spiders import Spider

class PythonSpider(Spider):
    name = 'myspider'
    start_urls = ['http://www.python.org']

    def parse(self, response):
        title = response.xpath('//title/text()').extract()
        return {'title': title}

job = Job(PythonSpider())
Processor().run(job)
$ python testit.py
...
2017-02-23 08:02:44 [scrapy.core.scraper] ERROR: Error downloading <GET http://www.python.org>
Traceback (most recent call last):
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/twisted/internet/defer.py", line 1299, in _inlineCallbacks
    result = result.throwExceptionIntoGenerator(g)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/twisted/python/failure.py", line 393, in throwExceptionIntoGenerator
    return g.throw(self.type, self.value, self.tb)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/scrapy/core/downloader/middleware.py", line 43, in process_request
    defer.returnValue((yield download_func(request=request,spider=spider)))
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/scrapy/utils/defer.py", line 45, in mustbe_deferred
    result = f(*args, **kw)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/scrapy/core/downloader/handlers/__init__.py", line 65, in download_request
    return handler.download_request(request, spider)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/scrapy/core/downloader/handlers/http11.py", line 61, in download_request
    return agent.download_request(request)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/scrapy/core/downloader/handlers/http11.py", line 286, in download_request
    method, to_bytes(url, encoding='ascii'), headers, bodyproducer)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/twisted/web/client.py", line 1631, in request
    parsedURI.originForm)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/twisted/web/client.py", line 1408, in _requestWithEndpoint
    d = self._pool.getConnection(key, endpoint)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/twisted/web/client.py", line 1294, in getConnection
    return self._newConnection(key, endpoint)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/twisted/web/client.py", line 1306, in _newConnection
    return endpoint.connect(factory)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/twisted/internet/endpoints.py", line 788, in connect
    EndpointReceiver, self._hostText, portNumber=self._port
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/twisted/internet/_resolver.py", line 174, in resolveHostName
    onAddress = self._simpleResolver.getHostByName(hostName)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/scrapy/resolver.py", line 21, in getHostByName
    d = super(CachingThreadedResolver, self).getHostByName(name, timeout)
  File "/home/exarkun/Environments/scrapy/local/lib/python2.7/site-packages/twisted/internet/base.py", line 276, in getHostByName
    timeoutDelay = sum(timeout)
TypeError: 'float' object is not iterable
...
$

This seems to be related to Twisted 17.1.0 - the problem goes away if I downgrade to Twisted 16.6.0.

Fixed in 0.1.0 c869d9e.


Fixed iam-instance-profile ops-file

The access_key_id and secret_access_key still existed in cloud_provider, these are now removed.  The cloud_provider block also contains a aws/credentials_source property that I changed to reflect the use of an iam-instance-profile (env_or_profile).

@tracyde i think this ops file is meant to support running from your laptop to bootstrap director to use iam role. if you are running from a location that has iam role already assigned it would make sense to have changes in this PR. this sounds like we should have an additional ops file that you can opt in. wdyt?

@cppforlife I think that makes sense. I can break this into an additional ops-file. Any requirements for naming?

Created #159 for this use-case.

Closing this due to inactivity.
If you would like to discuss this contribution further, please open a new issue.


[feature request] Download Clips

Hi!
Since there is a clips folder, I think you had the Idea, but I want to ask it neverthenless.
Is it possible to download Clips in the future?
That would be really nice

true, that does seem like a pretty obvious feature

haven't come up with a good filename yet, but seems to be working

Looks good and works on my end!
Thank you sir! Really good work in the last days!

added more metadata and quality setting

hi!
Sorry to reopen, can you shorten the filename a little bit, like <clip_name>-<channel_name>.mp4
Yesterday evening I had a clip with a very long title

hi! Sorry to reopen, can you shorten the filename a little bit, like <clip_name>-<channel_name>.mp4 Yesterday evening I had a clip with a very long title

https://user-images.githubusercontent.com/1517911/166981839-25ce0356-b436-48af-8937-42ad6197ba57.mp4
i always wanted to do something with string formatting, this might have been the perfect time

Very nice!
But can you save the last entered pattern?

it will use whatever pattern you put in, yes? or do you mean like a history of all of them?

no, only the last one i put in there. That i dont have to redo it every time.
in my version from yesterday evening, you only support
https://www.twitch.tv/<channel>/clip/<clipid> and not https://clips.twitch.tv/<clipid> - can that also be added?
Can people also have the option to re-open issues here?

it's a setting in the config menu so it's permanently saved
i think i added it in the second update https://github.com/MrBrax/TwitchAutomator/blob/ffc44480aa470a0bf7fdd5f9454a66ecac9cfc97/server/src/Core/TwitchVOD.ts#L2640
doesn't seem possible if i closed it myself. i do get emails still though, so only a problem for newcomers i guess?


fix: various auctions UI fixes

The type of this PR is: Bugfix
Description
This PR resolves layout issues reported by sam here MX-515, here MX-517 and here MX-519
Hide Patner Name

Remove Upper case from lot label

Dynamically adjust aspect ratio

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)

#trivial

Maybe change the PR title to fix: various auctions UI fixes? 😬

Yes sure. I was assuming whoever squashes and merges will set the commit title

I think it's best for the author to do it, since they are more invested in the PR. Plus that adds another level of checking: if the author forgets, then hopefully the merger will remember - but more eyes are better!

You're right. Thanks for explaining 🙏


FixFix stream load can only use default group

Proposed changes
In stream load, when be request a plan from FE, it has no session variable which means its session variables has default value.
But stream load currently get workload group from session, this means its group is always default group.
The correct approach is to stream load should get workload group from http args or user's property.
Currently PR is to fix the problem which stream load not gets workload group from user's property correctly.

run buildall


Users can opt out of non-voting replicas for REGIONAL tables

This issue covers all docs related to users opting out of non-voting replicas.
See also:

[x] #9039
[X] #9302
[ ] #9710
[x] #9746

@awoods187 we now have docs on the non-voting replica zone config fields, and we have lots of docs on the linked page on how to change your zone configs in general.
My question for you is: is what we have so far enough to close this issue?
Or do we want to add an explicit example to the zone config docs showing how to opt out of non-voting replicas?
The case for not adding an explicit example is this: by having an example we de facto encourage users to do this (we have learned this over and over again in docs).  Is opting out of non-voting replicas something we want to encourage most users to do?
My opinion is that what we have now - namely docs for the field and docs on changing zone configs in general - is enough to get the job done.  If you are an expert who wants to fuss over replica placement, that should be enough IMO.  And if you aren't expert enough to do it without the hand-holding of a very specific example that walks you through, should you really be doing it in the first place?
What do you think?
(FYI @aayushshah15 since you likely have opinions on this as well)

I'd like @ajstorm  and @nvanbenschoten  thoughts here too. In general, I'm in agreement with you. My concern with not documenting it is that you will need to do this for GDPR/data domiciling use cases and we already have customers who have had to make changes to accomplish this. Until we have SQL syntax to do that, planned for 21.2, I think we may need to consider it.

@awoods187 I'm leaning towards not documenting it.  While I agree that some customers may need to modify the zone configurations, I'd imagine that our existing documentation would be sufficient.  When they attempt to modify them, they'll get this error message:
ERROR: attempting to modify protected field "num_replicas" of a multi-region zone configuration
HINT: to override this error, SET override_multi_region_zone_config = true and reissue the command

and when they override and want to modify the table again:
ERROR: attempting to update zone config which contains an extra zone configuration for index tbl2@tbl2_i_idx with field num_replicas populated
SQLSTATE: 42P17
DETAIL: the attempted operation will overwrite a user modified field
HINT: to proceed with the overwrite, SET override_multi_region_zone_config = true, and reissue the statement

Is it possible that this is enough documentation?  If not, can we have a doc page that specifically deals with overriding and try our best to hide it, but then link to it in these messages?  I'm in agreement with @rmloveland that we don't want to make this front-and-center in our docs.

Alright let's not document it and we can monitor customer response.

Think there's value in putting in some telemetry to see how often people are overriding?

yeah--it'd just be on the cluster setting right?

Was thinking that we'd do it ever time a customer tries to update a zone config with the cluster setting set.

That makes sense to me but the cluster setting would be useful too
On Fri, Apr 23, 2021 at 10:40 AM Adam Storm @.***>
wrote:

Was thinking that we'd do it ever time a customer tries to update a zone
config with the cluster setting set.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cockroachdb/docs/issues/9887#issuecomment-825705264,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFJ7F7444A3CDRUGMSVIWQDTKGBGDANCNFSM4YFMMRZQ
.

--
Andy Woods
Group Product Manager, Cockroach Labs
@.***


TypeError: Cannot read property 'apply' of undefined

I am using Pattern Lab Node- Gulp Edition 2.9.3 on Mac.
Expected Behavior
run patternlab:build
pattern lab instance is generated and launched in browser
Actual Behavior

Loading engines from the edition or test directory...

  mustache: good to go

Done loading engines.

====[ Pattern Lab / Node - v2.9.3 ]====

[10:20:27] Using gulpfile ~/Documents/pattern-lab/gulpfile.js
/usr/local/lib/node_modules/gulp/bin/gulp.js:129
    gulpInst.start.apply(gulpInst, toRun);
                  ^

TypeError: Cannot read property 'apply' of undefined
    at /usr/local/lib/node_modules/gulp/bin/gulp.js:129:19
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)
    at Module.runMain (module.js:607:11)
    at run (bootstrap_node.js:427:7)
    at startup (bootstrap_node.js:151:9)
    at bootstrap_node.js:542:3

Any insight would be appreciated.

https://github.com/pattern-lab/edition-node-gulp/issues?utf8=✓&q=is%3Aissue is%3Aclosed undefined

Sorry for not checking closed issues! Thanks for redirecting me.


Pure image processing operations

Hello,
I need NEON accelerated simple image processing operations such as resize, gaussian/box blur, and basic morphology (dilation erosion etc). I managed to use NEScale for resizing (would have been nicer if bicubic interpolation was supported).
As far as I can see, for blurring, my only option is to use NEGEMMConv2d (combine it with logical & element wise ops for morphology). NEGEMMConv2D has extra bias parameter, I might work around that but with bringing extra bias addition cost. I wanted to ask for advice if this is the right path or maybe if there already exists support for such operations (I've seen older issues mentioning gaussian blur support, maybe I could not find them in the latest release 23.08).
Thanks in advance

I have a follow up question about dilation in an older version (21.02) if that's ok @morgolock
I have the following method but it gives the wrong output on a simple case (input is 8x8 all zeros, but a single pixel in the center. I'm expecting a dilated 3x3 region around it):

namespace armc = arm_compute;

void dilate(
        uint8_t* input_image,
        uint8_t* output_image,
        int height,
        int width
)
{
    armc::Image inp;
    armc::Image out;
    auto inf = armc::TensorInfo(width, height, armc::Format::U8);
    inp.allocator()->init(inf);
    out.allocator()->init(inf);
    bool import = true;
    if(import)
   {
        inp.allocator()->info().init(
            armc::TensorShape(width, height),
            armc::Format::U8,
            armc::Strides(1, width),
            0,
            width * height
        );
        out.allocator()->info().init(
            armc::TensorShape(width, height),
            armc::Format::U8,
            armc::Strides(1, width),
            0,
            width * height
        );
        armc::Status res = inp.allocator()->import_memory(input_image);
        armc::Status res_2 = out.allocator()->import_memory(output_image);
        aligned = true;
    }
    else
    {
        auto inf = armc::TensorInfo(width, height, armc::Format::U8);
        inp.allocator()->init(inf);
        out.allocator()->init(inf);
    }

    armc::NEDilate mop{};

    mop.configure(&inp, &out, armc::BorderMode::UNDEFINED);
    if(!import)
    {
          inp.allocator()->allocate();
          out.allocator()->allocate();
          fill_arm_image(inp, input_image, width, height);
    }

     mop.run();
     if(!import)
          copy_from_arm_image(out, output_image, width, height);

This results in all zeros in output array (no change, stays as initialized) when I import from external buffer.  What I expect it to do is to use no padding in the input and shrink the execution window (following the guide here ) Is there anything I'm missing?
It works fine if I allocate the memory and fill it with my data after the configuration step.
Thanks again!

Hi @ismailkocdemir
We removed the CV functions from ACL in the release v21.05, the focus of the library now is machine learning.  We do not maintain or support old versions of the library. The best alternative is to use a different library like OpenCV, you can cross-compile it for aarch64 and has good performance.
Regarding the example you shared about calling to import_memory(), I think there may be a problem in the way you initialize the tensor info. There should be no need for you to specify the strides, you can see how it's done in https://github.com/ARM-software/ComputeLibrary/blob/main/tests/validation/NEON/UNIT/TensorAllocator.cpp#L59
TensorInfo info(TensorShape(24U, 16U, 3U), 1, DataType::F32);

    // Allocate memory buffer
    const size_t total_size = info.total_size();
    auto         data       = std::make_unique<uint8_t[]>(total_size);

    // Negative case : Import nullptr
    Tensor t1;
    t1.allocator()->init(info);
    ARM_COMPUTE_ASSERT(!bool(t1.allocator()->import_memory(nullptr)));
    ARM_COMPUTE_ASSERT(t1.info()->is_resizable());

If you don't import the memory and allocate it instead you get the correct results?
Hope this helps,


False Positives from "Correlate Unfamiliar sign-in properties & atypical travel alerts" When Changing User Risk

Describe the bug
When an admin marks a user safe, dismisses risk, etc. in Entra, a new record is created in the SecurityAlert table. The time between when an Entra Risk Alert is generated and when an Admin takes action on the Risk alert can lead to a (sometimes significant) time difference between the TimeGenerated and StartTime/EndTime fields. The "Correlate Unfamiliar sign-in properties & atypical travel alerts" logic triggers an alert if the TimeGenerated of the alerts is less than or equal to TimeDeltaInMinutes; however, the StartTime/EndTime fields, which is the time actually associated with the user event, can be very different.
To Reproduce
Steps to reproduce the behavior:

Mark User Safe, Dismiss risk, etc. in Entra
False Positive "Correlate Unfamiliar sign-in properties & atypical travel alerts" will be triggered

Expected behavior
Alert should only be triggered based upon user activity, not Admin actions in Entra.
Additional context
I think the best way to fix this is to exclude events where the Comments field starts with "Risk detail: Admin", sample KQL:
| extend Comments = tostring(ExtendedProperties_json.Comments)
| where Comments !startswith "Risk detail: Admin"

Hi @quantumburnz , Thanks for flagging this issue, we will investigate this issue and get back to you with some updates. Thanks!

Hi @quantumburnz , CorrelateIPC_Unfamiliar-Atypical.txt
I have made some adjustments based on your feedback. Could you please review the changes and let us know if everything meets your expectations?

Hi @quantumburnz , Could you please review the changes and let us know ?

Hi @v-visodadasi , thanks for making this change. It looks like you implemented my suggestion, and I'm good with this if you think this change makes sense as well.

Hi @quantumburnz , Thank you for your confirmation. We have raised a Draft PR with these changes and it will get reviewed by our PR review team. As your issue has been resolved we are closing this issue.
Thanks!

Hey @quantumburnz , Could you please share logs for "Security Alert" and "IdentityInfo" tables to test.


Replace travis with GitHub Actions workflow

Create docker.yml workflow and removed travis.yml close #43
Also updated docker-entrypoint.sh permissions in git
@bastilimbach setup DOCKER_USERNAME and DOCKER_PASSWORD in the Settings > Secrets
The images are build on push and pull request on any branch. The images a only pushed from the master branch. The workflow is also triggered by cron on the master branch every day at 3:17 UTC.
The workflow uses the docker-buildx action by CrazyMax
I did not test the push to docker hub but only the build operation.

Awesome, thank you! 😍 I’ll take a look at this later. Is the docker buildx action by CrazyMax stable? What happens if they doesn’t maintain it any more?

If CrazyMax deletes his action we need to find a new one or use a fork. But 139 stars for an action is much so I don't think it will disappear.

I will update this PR to use the official docker actions https://github.com/crazy-max/ghaction-docker-buildx#moved-to-docker-organization

I will update this PR to use the official docker actions https://github.com/crazy-max/ghaction-docker-buildx#moved-to-docker-organization

Travis.org is shutting down, so this project must be migrated to travis.com or switch to github actions.

Travis.org is shutting down, so this project must be migrated to travis.com or switch to github actions.


move the defer response body close up

avoiding leaked file descriptors on unexpected response codes

I'm not familiar with goveralls nor how moving a defer statement up a few lines could cause an exit status of 2...

Thanks :)

I think it may be flaky, at least, I hope so.


Support auto indentation, just like aggressive-indent-mode in emacs?

when using parinfer, It's really difficult to edit from
(foo
   (bar)
   (baz))

to
(xxx (foo
          (bar)
          (baz)))

with some stuff like aggressive-indent-mode, using parinfer will be more effective.

Parinfer has paren mode and indent mode, i think currently paren-soup use indent mode as default. Is there a way to switch to paren mode?

I finally worked on this :) I just released the preliminary work in version 2.8.0. If you have time, please try it out and let me know if it works the way you expect:
http://oakes.github.io/paren-soup/

I'll close this since it's done, but let me know if you run into any other issues with the current implementation.


Modifying the shard_num read for templates to indicate that data_path flag needs to be passed as an integer

This PR changes the logic to extract the shard number from the data path.
Behaviour without the change

Currently if a collaborator is created without setting a data path, a default path is used default_data_path = f"data/{collaborator_name}"
If the collaborator name is set as collab1, the default data path becomes data/collab1.
This raises an error when starting the collaborator.

Data = {'c1': 'data/c1', 'c2': 'data/c2'}
           INFO     🧿 Starting a Collaborator Service.                      collaborator.py:99
           INFO     Building `src.dataloader.PyTorchMNISTInMemory` Module.   plan.py:228
EXCEPTION : invalid literal for int() with base 10: 'data/c1'
Traceback (most recent call last):
  File "/root/openfl-maestro/bin/fx", line 8, in <module>
    sys.exit(entry())
  File "/root/openfl-maestro/lib/python3.8/site-packages/openfl/interface/cli
.py", line 328, in entry
    error_handler(e)
  File "/root/openfl-maestro/lib/python3.8/site-packages/openfl/interface/cli
.py", line 246, in error_handler
    raise error
  File "/root/openfl-maestro/lib/python3.8/site-packages/openfl/interface/cli
.py", line 326, in entry
    cli(max_content_width=120)
  File "/root/openfl-maestro/lib/python3.8/site-packages/click/core.py", line
1157, in __call__
    return self.main(*args, **kwargs)
  File "/root/openfl-maestro/lib/python3.8/site-packages/click/core.py", line
1078, in main
    rv = self.invoke(ctx)
  File "/root/openfl-maestro/lib/python3.8/site-packages/click/core.py", line
1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/root/openfl-maestro/lib/python3.8/site-packages/click/core.py", line
1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/root/openfl-maestro/lib/python3.8/site-packages/click/core.py", line
1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/root/openfl-maestro/lib/python3.8/site-packages/click/core.py", line
783, in invoke
    return __callback(*args, **kwargs)
  File "/root/openfl-maestro/lib/python3.8/site-packages/openfl/interface/col
laborator.py", line 101, in start_
    plan.get_collaborator(collaborator_name).run()
  File "/root/openfl-maestro/lib/python3.8/site-packages/openfl/federated/pla
n/plan.py", line 601, in get_collaborator
    data_loader = self.get_data_loader(collaborator_name)
  File "/root/openfl-maestro/lib/python3.8/site-packages/openfl/federated/pla
n/plan.py", line 453, in get_data_loader
    self.loader_ = Plan.build(**defaults)
  File "/root/openfl-maestro/lib/python3.8/site-packages/openfl/federated/pla
n/plan.py", line 235, in build
    instance = getattr(module, class_name)(**settings)
  File "/home/akshay/akshay/src/dataloader.py", line 30, in __init__
    shard_num=int(data_path), **kwargs
ValueError: invalid literal for int() with base 10: 'data/c1'

PR Changes

Updated the docs to represent that data_path is not an optional parameter.
Adds a detailed error message if the shard_num is not an integer value.
This change is made in the following templates:

keras_cnn_mnist
keras_cnn_with_compression
torch_cnn_histology
torch_cnn_histology_gramine_ready
torch_cnn_mnist
torch_cnn_mnist_eden_compression
torch_cnn_mnist_fed_eval
torch_cnn_mnist_straggler_check
torch_unet_kvasir
torch_unet_kvasir_gramine_ready

I think extracting first integer from the string is a dangerous assumption. From my understanding, those data paths (e.g. data/c1 or data/collab2) are not actual locations on disk (beyond the fact that user may also provide data/100shards/shard0, wherein this regex will fail).
In this case, try casting data_path to int or raise a ValueError that asks user to pass shard ID in the -d <shard_num> format, since data path does not mean anything in this example.

Added exception handling when reading shard number from data path in 57809a692f41bd3c78c5eff7d808231254101092.
Removed the optional tag with data path in the docs in 70fe34afac99ca3e6035a2e1f433bafd81def28d.

@theakshaypant Please rebase your branch with develop. PKI test needs to pass.


[20.09] pythonPackages.chameleon: fix tests by switching to github source

Motivation for this change
ZHF: #97479
Backport of #98947
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@ofborg build python27Packages.chameleon python37Packages.chameleon python38Packages.chameleon


Add max servers and block servers with duplicate ports

Yes i know i didnt rebase from the previous PR, but it'd have merge conflicts anyway so cry about it i guess.

Draft cause it contains changes from #60 so that PR needs to be merged first.


Google Assistant 1.0 Hassio problem

hello, I just updated the google assistant addon on hassio, and to my surprise I find this:Traceback (most recent call last):
File "/hassio_gassistant.py", line 30, in
with Assistant(credentials) as assistant:
TypeError: init() missing 1 required positional argument: 'device_model_id'
I removed everything and installed again but it gives me this error
Traceback (most recent call last):
File "/hassio_oauth.py", line 6, in
import cherrypy
File "/usr/local/lib/python3.5/dist-packages/cherrypy/init.py", line 73, in
from ._cptools import default_toolbox as tools, Tool
File "/usr/local/lib/python3.5/dist-packages/cherrypy/_cptools.py", line 33, in
from cherrypy.lib import auth_basic, auth_digest
File "/usr/local/lib/python3.5/dist-packages/cherrypy/lib/auth_digest.py", line 26, in
from six.moves.urllib.parse import unquote_to_bytes
ImportError: cannot import name 'unquote_to_bytes'

I've updated today and encoutered the same problem.
googling this error led me to this link:
https://forum.magicmirror.builders/topic/5809/possible-issue-mmm-googleassistant-with-recent-google-assistant-sdk-update

https://github.com/dpeter99/hassio-addons/commit/2ee57b89843b66c6bb6cb1df84ceb873774c6195
I think this change should work... But i can't get it to run as a Local addon
[FATAL tini (9)] exec /run.sh failed: No such file or directory

This is the error i get after a really long build process

Fix with last update. thanks @dpeter99


Create kustomization.yaml

use case
install Kustomization from fluxcd GitRepository
---
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
  name: strimzi-mqtt-bridge
spec:
  interval: 12h
  url: https://github.com/RahkarSanat/strimzi-mqtt-bridge
  ref:
    branch: main
  ignore: |-
    # exclude all
    /*
    # include install directory
    !/packaging/install
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
  name: strimzi-mqtt-bridge
spec:
  interval: 1h
  targetNamespace: abrso-app
  sourceRef:
    kind: GitRepository
    name: strimzi-mqtt-bridge
  path: "./packaging/install"
  prune: true
  timeout: 1m
  patches:
    - patch: |
        - op: replace
          path: /data
          value:
            application.properties: |
              #Bridge related settings
              bridge.id=abrso-bridge

              #MQTT server common
              mqtt.host=<IP_ADDRESS>
              mqtt.port=1883
              #Apache Kafka common
              kafka.bootstrap.servers=abrso-cluster-kafka-bootstrap.abrso-kafka.svc:9092
            topic-mapping-rules.json: |
              [
               ....
              ]
            log4j2.properties: |
              name=MqttBridgeConfig
              appender.console.type=Console
              appender.console.name=STDOUT
              appender.console.layout.type=PatternLayout
              appender.console.layout.pattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c{1}:%L - %m%n
              rootLogger.level=INFO
              rootLogger.appenderRefs=console
              rootLogger.appenderRef.console.ref=STDOUT
              rootLogger.additivity=false
              logger.bridge.name=io.strimzi.kafka.bridge.mqtt
              logger.bridge.level=INFO
              logger.bridge.appenderRefs=console
              logger.bridge.appenderRef.console.ref=STDOUT
              logger.bridge.additivity=false
      target:
        kind: ConfigMap
        name: mqtt-bridge-config

All right. Why don't you support Helm for this component?

While I agree with what Jakub said, let me also add that anyway we don't have Helm charts for the HTTP - Kafka bridge.
It's mainly because the bridge is well integrated in the Strimzi operator so we don't have any other way to install it on Kubernetes if not through the operator itself.
If we add Helm charts here, should we then having Helm charts for the HTTP - Kafka bridge as well? What's your take on this @scholzj ?

While I agree with what Jakub said, let me also add that anyway we don't have Helm charts for the HTTP - Kafka bridge. It's mainly because the bridge is well integrated in the Strimzi operator so we don't have any other way to install it on Kubernetes if not through the operator itself. If we add Helm charts here, should we then having Helm charts for the HTTP - Kafka bridge as well? What's your take on this @scholzj ?

Well, we do not even have any Kubernetes deployment files for the Bridge IIRC because it is normally deployed through the operator (and the operator has a Helm Chart). But the problem is that we currently don't have any proper plan to what is next for the MQT bridge. That makes it hard to decide what is best. That is basically why I wonder if adding a Helm Chart now is the right time. If nothing else, it will not be pushed anywhere outside of this repo unless we do some release.

That said, it is hard to get and keep any users without release and proper plans. So maybe that is something to think about. But I have no idea what might be missing etc. If the current state of features and bugs is reasonable, planning the first release should be probably next. And if @aminmokhtari94 or someone else would be willing to contribute a Helm Chart, it can help us get more feedback before we possibly integrate it into the operator one day.

This project is coming with the LFX mentoring program as a PCO and we haven't define a plan for a release yet.
If it's ready or not to be an MVP.
@aminmokhtari94 I was wondering what's the kind of usage are you thinking about for this? I am just curious, taking into account it's not released yet.

@ppatierno
We are start developing an FMS that sends data over MQTT and processes it through Kafka and Flink. The reason I use this tool is that I have not found any similar tool that performs topic mapping as effectively. This project works well for me :)

@ppatierno
Also I want to note that we use emqx cluster for mqtt server, and egress topics data to strimzi-mqtt-broker. authentication & authorization, etc handled by emqx.

@aminmokhtari94 ...

We are developing an FMS that sends data over MQTT and processes it through Kafka and Flink. The reason I use this tool is that I have not found any similar tool that performs topic mapping as effectively. This project works well for me :)

I am glad to hear that :-)

Also I want to note that we use emqx cluster for mqtt server, and egress topics data to strimzi-mqtt-broker. authentication & authorization, etc handled by emqx.

So AFAIU your architecture has MQTT clients connecting to the emqx cluster to produce messages as well as subscribing to receive. But at the same time the emqx cluster is configured to connect as a producer against the Strimzi MQTT bridge to forward messages to Kafka? Is that right?

@ppatierno
Yes. That's it.
for more informations: EMQX Bridge


Flowerpots not accepting items

I'm playing a 1.18.1 modpack with Better End/Nether, and any of the flowerpots from either one don't accept items. I've gone through all plants, both vanilla and modded.

Did you put ground for plant first?

How does one do that? Does it only accept soil from the Better End?

How does one do that?

Right click

Does it only accept soil from the Better End?

Yes, pots are designed oly for BetterEnd plants

Ah, thank you! Any plans on allowing any plant to be placed within?

Most BE plants (and leaf blocks) can be planted into pots, there are no plans to add other plants for them as they are using blockstates for plants and soils


Add functionality for metadata to provide some basic values

1. Why is this pull request needed and what does it do?
Extend Metadata functionality to include some basic data straight from the Metadata plugin.
2. Which issues (if any) are related?
3. Which documentation changes (if any) need to be made?

@fturib PTAL if the base is ok.
I have to extend the unit tests further.

I am ok with the changes.
and now we need the global test for usage: Metadata + Rewrite (Maybe in testt/test_rewrite ?)


Players can still move when PlayerJumpEffect is active

Players can still move with sprint and jump at the same time when PlayerJumpEffect is active

closed due to not using this function for now, maybe later


⚠ Bofrost.lu has degraded performance

In a924b4d, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1364 ms

Resolved: Bofrost.lu performance has improved in a76d4f3 after 8 minutes.


Bump fossa

closing right now since there may be breaking changes in bumping fossa and it's working for now


Add locationId to API V2 output

This PR addresses issue https://trello.com/c/f25sZkDe/526-all-location-id-to-api-output
Please Check

[Y] Are the JSON schemas updated?
[N] Are the api docs updated?
[Y] Are tests passing?

👍 Definitely don't think we should worry about changing the numbering of the columns in the CSV.


'AuthenticationBuilder' does not contain a definition for 'AddSpotify'

I'm working on a .NET 7.0 Core Web API project (running Windows 10, VS 2022). I got the library working but I'd like to setup the default auth options in the Program.cs. I was looking at the ASP.NET example and it doesn't quite match up to what I see in my project. I only have a Program.cs file, no Startup.cs.
I created the SpotifyClientBuilder class and added that. Made sure my usings were correct. Here is the error I'm getting.
Error:
CS1061
'AuthenticationBuilder' does not contain a definition for 'AddSpotify' and no accessible extension method 'AddSpotify' accepting a first argument of type 'AuthenticationBuilder' could be found (are you missing a using directive or an assembly reference?)

using Backend.Models;
using Backend.Services;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging.AzureAppServices;
using Microsoft.IdentityModel.Tokens;
using Models.Shared;
using System.Net.Http.Headers;
using System.Text;
using SpotifyAPI.Web;
using static SpotifyAPI.Web.Scopes;

var builder = WebApplication.CreateBuilder(args);
var configuration = builder.Configuration;

builder.Services.AddDbContext<BackendContext>(options =>
        options.UseSqlServer(builder.Configuration.GetConnectionString("DBConnection")));

// For Identity
builder.Services.AddIdentity<User, IdentityRole>()
    .AddEntityFrameworkStores<BackendContext>()
    .AddDefaultTokenProviders();

// Add JWT auth
builder.Services.AddAuthentication(options => {
    options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
    options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
    options.RequireHttpsMetadata = false;
    options.SaveToken = true;
    options.TokenValidationParameters = new TokenValidationParameters()
    {
        ValidateIssuer = true,
        ValidateAudience = true,
        ValidAudience = builder.Configuration["Jwt:Audience"],
        ValidIssuer = builder.Configuration["Jwt:Issuer"],
        IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(builder.Configuration["Jwt:Key"]))
    };
});

// Spotify API.NET
builder.Services.AddSingleton(SpotifyClientConfig.CreateDefault());
builder.Services.AddScoped<SpotifyClientBuilder>();

builder.Services.AddAuthorization(options =>
{
    options.AddPolicy("Spotify", policy =>
    {
        policy.AuthenticationSchemes.Add("Spotify");
        policy.RequireAuthenticatedUser();
    });
});

builder.Services.AddAuthentication(options =>
{
    options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
        .AddCookie(options =>
        {
            options.ExpireTimeSpan = TimeSpan.FromMinutes(50);
        })
        .AddSpotify(options =>
        {
            options.ClientId = Configuration["SPOTIFY_CLIENT_ID"];
            options.ClientSecret = Configuration["SPOTIFY_CLIENT_SECRET"];
            options.CallbackPath = "/Auth/callback";
            options.SaveTokens = true;

            var scopes = new List<string> {
            UserReadEmail, UserReadPrivate, PlaylistReadPrivate, PlaylistReadCollaborative
          };
            options.Scope.Add(string.Join(",", scopes));
        });

// Add services to the container.
builder.Services.AddControllersWithViews();

// use dependency injection for registering your services

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Home/Error");
}

app.UseStaticFiles();

app.UseHttpsRedirection();
app.UseRouting();

app.UseAuthorization();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.Run();

I am facing the same problem in my project. Please let me know if you found a solution.

Hi,
For ASP.NET Spotify authorization, the example uses an external package called AspNet.Security.OAuth.Spotify. You can find more info here: https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers
Did you install it?

thanks for the reply. Yes, i actually installed it earlier today and it resolved that error. I'm working on a webapp to display a user's spotify data. I'm still very new to ASP.NET, so I'm following the example Example.ASP , however it is configured for .NET 5.0
and I'm trying to use it for .NET 7.0 and i don't know how to :')


insert name

What is your question?
Is there any varible for charting mode like
if chartingMode == true then

no

no


"View Source" link (in Fallback Response Sample) doesn't work in Firefox

Security Error: Content at https://googlechrome.github.io/samples/service-worker/fallback-response/index.html may not load or link to view-source:https://googlechrome.github.io/samples/service-worker/fallback-response/.

I just tried this, and it's working fine for me in Firefox 45:

Please reopen if you can still reproduce and we'll investigate further.

I can reproduce in Firefox Developer Edition. I'll try to find a regression range in Firefox.

Looks like it's on purpose:
https://bugzilla.mozilla.org/show_bug.cgi?id=1172165
https://developer.mozilla.org/en-US/Firefox/Releases/47#Security
https://www.fxsitecompat.com/en-CA/docs/2016/view-source-urls-can-no-longer-be-linked-from-web-pages/
P.S.: I don't have privileges to reopen the issue.

Hmm. I haven't heard anything about similar changes coming to Chrome, but if it gets to the point where no browsers can link to view-source:, I'd obviously remove the link from the template.
In the meantime, though, I'm inclined to keep it in.

@jeffposnick Chrome might be the only one still supporting it, according to this Wikipedia page.
Maybe you could remove the URL if you detect the browser isn't Chrome?

It's unfortunate that we would have to sniff for this, but I've heard Chrome may consider switching to just displaying view source items in Sources and drop this too. I'm in favor of this working cross-browser until we get consistent here. Jeff's got the final call.


Attach protocol - Part tty and Tidy changes

Is there still an attempt to add the attach functionality?

@flower-pot : I made that PR long time ago and recently closed it because no response for >1 year. Technically you can use that PR but I strongly recommend you to fork this repo and maintain it yourself ( see PRs )


Fixed projects roots overflowing on each others

Hi,
Let's imagine I have 4 project roots with fixed project root enabled, and I want to open the fourth, the 3 before will be after the selected one, hidding the first 10 files of the selected project
Thank you

Solution: expand the git folder, so the items that can't be seen are just the git folder's files :)) but seriously, I'll fix that. I guess I'll need to have multiple project roots into this theme's project so I remember to debug that more often.


chore: Create a Gradle plugin for common android config

Changes description 🧑💻

Create a Gradle plugin for common android config
Context 🤔

No issue for that
Checklist ✅

[x] I have reviewed the submitted code

@GerardPaligot : You can directly use a new module like named vitamin-dependencies with simple Object classes like this and call it in build.gradle or build.gradle.kts :
object UI {
   private const val checkboxes = ":checkboxes"
}
object Internal {
   private const val dropdown = ":internal:dropdown"
}

// build.gradle or build.gradle.kts
...
api(project(Dependencies.UI.checkboxes))
api(project(Dependencies.Internal.dropdown))
...

Thanks @WestFR for your comment!
Yes, it is a good idea but Gradle will released soon a type safe for project dependencies: https://docs.gradle.org/7.0/userguide/declaring_dependencies.html#sec:type-safe-project-accessors

@GerardPaligot Thanks for you comment, it allows me to discover new things :) i'm very newbie on Android Kotlin and build.gradle config :)


Discrepancy between upstream comids returned by hydroloom::navigate_network_dfs() and nhdplusTools::navigate_nldi

Hello David and hydroloom team,
I was following up on David's advice to use hydroloom::navigate_network_dfs() to obtain upstream comids for a given focal comid. The original GitHub thread is here: [https://github.com/DOI-USGS/nhdplusTools/issues/409]
I wanted to compare this approach with the comids retrieved by nldi_navigate() from the nhdplusTools package. For the first few comids I tried, hydroloom::navigate_network_dfs() returned identical comids as nhdplusTools::nldi_navigate().
However, I encountered a problem for focal comid 10010626.
library(nhdplusTools)
library(hydroloom)

# using nhdplusTools::nldi_navigate()
flowline10010626 <- navigate_nldi(list(featureSource = "comid",
                            			featureID = 10010626),
                           				mode = "upstreamTributaries",
                           				distance_km = NULL)
nldi10010626 <- as.numeric(flowline10010626$UT$nhdplus_comid)
nldi10010626<-nldi10010626[order(nldi10010626)]
	length(nldi10010626)

# using David's (hydroloom::navigate_network_dfs() approach
vaa <- get_vaa()

network <- select(vaa, comid, fromnode, tonode) |>
  add_toids(return_dendritic = FALSE)

nnd10010626 <- navigate_network_dfs(network, 10010626, direction = "up")
## see if its the same as navigate_nldi() and get_UT()
nnd10010626<-as.numeric(unlist(nnd10010626))
nnd10010626<-nnd10010626[order(nnd10010626)]
	length(nnd10010626)

# examining the discrepancy between the two approaches
comp_df<-merge(data.frame(comid=nnd10010626,nnd=1), data.frame(comid=nldi10010626,nldi=1), by='comid', all=T)
summary(comp_df)
comp_df[is.na(comp_df$nnd),]

# output
#         comid nnd nldi
# 70418 17029298  NA    1
# 70453 17029406  NA    1

# exploring why nnd is excluding comids 17029298 and 17029406 from the set of upstream watershed comids

# comid 17029298
vaa[vaa$comid %in% 17029298,] # headwater reach
# downstream hydroseq of comid 17029298 is 680029154
vaa[vaa$hydroseq%in%680029154,] # the comid of this reach is 17906169,

# the upstream comids returned by navigate_network_dfs() exclude comid 17906169
nnd10010626[nnd10010626 %in% 17906169]
# output # numeric(0)

# and unexpectedly, the upstream comids returned by nldi_navigate() also exclude comid 17906169 although it is directly downstream of comid 17029298, which is returned by nldi_navigate()
nldi10010626[nldi10010626 %in% 17906169]
# output # numeric(0)

# calling nldi_navigate() to identify upstream comids of focal comid 17906169
flowline17906169 <- navigate_nldi(list(featureSource = "comid",
                            			featureID = 17906169),
                           				mode = "upstreamTributaries",
                           				distance_km = NULL)
flowline17906169 # output incorrectly excludes comid 17029298

# calling navigate_network_dfs() to identify upstream comids of focal comid 17906169
nnd17906169 <- navigate_network_dfs(network, 17906169, direction = "up")
nnd17906169 # output correctly includes comid 17029298

So the questions I have are: what does nhdplusTools::nldi_navigate() do that correctly identifies comid 17029298 as upstream of focal comid 10010626? And why is hydroloom::navigate_network_dfs() different, that it excludes 17029298 as upstream of focal comid 10010626? At the same time, the code above shows that navigate_network_dfs() is able to correctly identify 17029298 as being upstream of 10010626, but not nldi_navigate().
I'm guessing that the underlying hydrological network used by the nldi_navigate() API query is different from the VAA dataset in nhdplusTools.
I would appreciate any insights into potential reasons why the list of upstream comids might be different, and what do you all think if the more accurate set of upstream comids.
I think this is both a hydroloom and nhdplusTools issue, but I'm not sure if I can crosslist to the nhdplusTools GitHub page. Please feel free to do so if appropriate! Thanks!!
Thank you so much!
Cheers,
Xingli

This is quite a find. There appears to be a non-network diversion in the NLDI that is from the "non-network" flowline layer.
The red line is from the "non-network" table.

If I plot the flowline that comes back from the NLDI but not the local navigation I get:

Adding the rest of what comes back from the NLDI I get:

Note that little red connector is the non-network flowline. It has comid "17029406" and is in the nldi response but not in the vaa table at all!
So that's the reason. These huge navigations are uncovering a few very minor inconsistencies. I wouldn't say one is strictly right or wrong in the context of how large of a basin you are dealing with.

Dear David, thank you for looking into this! I appreciate your work very much!
I have a few follow-up questions that I would love your thoughts on:

What is the non-network flowline layer used in the NLDI? I couldn't find any documentation about it on the original NHDPlus v2 user guide (https://www.caee.utexas.edu/prof/maidment/giswr2015/Docs/NHDPlusV2_User_Guide.pdf).
That said, I do see the non-network flowline area in my seamless flattened version of the NHDPlus v2 dataset (https://dmap-data-commons-ow.s3.amazonaws.com/NHDPlusV21/Data/NationalData/0Release_Notes_NationalData_Seamless_GeoDatabase.pdf). However, the flow direction (FLOWDIR) is listed as "Uninitialized".

Zooming out, I see quite a few other non-network flowlines (see attached - thick red line is the comid 17029406 that you have identified; thin red lines are other nonnetwork flowlines).
There are a total of 302186 nonnetwork flowlines in the national seamless version of the NHDPlus v2, all with "Uninitialized" FLOWDIR. How does NLDI determine the direction of the diversion? I also checked the 'PLUSFLOW' table and it links COMID 17029298 to only COMID 17906169  and not the nonnetwork flowline 17029406. And in your expert opinion, do you think it is acceptable to determine upstream area (comids) just from the network flowlines, i.e., the vaa relational tables?
Thank you again for your advice! I'm not sure these questions are related to either R packages, hence I am writing to you directly instead of posting them on GitHub. Let me know if you think they are relevant and I can post them to GitHub as well.
Cheers,
Xingli

Xingli Giam
Associate Professor
Department of Ecology and Evolutionary Biology
University of Tennessee, Knoxville
Email<EMAIL_ADDRESS>or<EMAIL_ADDRESS>Web: http://www.giamlab.com
Google Scholar: https://tinyurl.com/XingliGiam
ResearchGate: https://www.researchgate.net/profile/Xingli_Giam
Twitter: @xingli_giamhttps://twitter.com/xingli_giam

From: David Blodgett @.>
Sent: Monday, August 19, 2024 6:00 PM
To: DOI-USGS/hydroloom @.>
Cc: Giam, Xingli @.>; Author @.>
Subject: Re: [DOI-USGS/hydroloom] Discrepancy between upstream comids returned by hydroloom::navigate_network_dfs() and nhdplusTools::navigate_nldi (Issue #42)
Closed #42https://github.com/DOI-USGS/hydroloom/issues/42 as completed.
—
Reply to this email directly, view it on GitHubhttps://github.com/DOI-USGS/hydroloom/issues/42#event-13936329666, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKZ4GTGQYWDK2XRMK3FKXXDZSJTHBAVCNFSM6AAAAABMYNNCXWVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJTHEZTMMZSHE3DMNQ.
You are receiving this because you authored the thread.Message ID: @.***>


Bugfix/responsiveness site

This fixes the issue #141,
by making sure the <pre> tags on the getting started section do not cause an overflow on smaller screens.
And also fixed the page header nav overflow, by setting the media query a little higher.

Closes #141

Yeah I am cool with the suggestion, consider it done 😉


system-upgrade-controller is trying to downgrade k3s due to the bad reference of https://update.k3s.io/v1-release/channels/v1.31 to https://github.com/k3s-io/k3s/releases/tag/v1.31.2+k3s1

Environmental Info:
K3s Version:  v1.31.3+k3s1

Node(s) CPU architecture, OS, and Version:

Cluster Configuration:

3 servers, 3 agents
Describe the bug:

Steps To Reproduce:

Defaulted container "upgrade" out of: upgrade, cordon (init)
+ upgrade
+ get_k3s_process_info
+ ps -ef
+ grep -E '( |/)k3s .*(server|agent)'
+ grep -E -v '(init|grep|channelserver|supervise-daemon)'
+ awk '{print $2}'
+ K3S_PID=1202
+ + echo 1202
wc -w
+ '[' 1 '!=' 1 ]
+ '[' -z 1202 ]
+ echo 1202
+ wc -w
+ '[' 1 '!=' 1 ]
+ ps -p 1202 -o 'ppid='
+ awk '{print $1}'
+ K3S_PPID=1
+ info 'K3S binary is running with pid 1202, parent pid 1'
+ echo '[INFO] ' 'K3S binary is running with pid 1202, parent pid 1'
+ '[' 1 '!=' 1 ]
+ '[' 1202 '=' 1 ]
+ awk 'NR==1 {print $1}' /host/proc/1202/cmdline
+ K3S_BIN_PATH=/usr/local/bin/k3s
+ '[' -z /usr/local/bin/k3s ]
+ '[' '!' -e /host/usr/local/bin/k3s ]
+ return
+ replace_binary
+ NEW_BINARY=/opt/k3s
+ FULL_BIN_PATH=/host/usr/local/bin/k3s
+ '[' '!' -f /opt/k3s ]
+ info 'Comparing old and new binaries'
+ echo '[INFO] ' 'Comparing old and new binaries'
+ sha256sum /opt/k3s /host/usr/local/bin/k3s
[INFO]  K3S binary is running with pid 1202, parent pid 1
[INFO]  Comparing old and new binaries
+ BIN_CHECKSUMS='256ca852ff2ca165afbc14ed34df450aa1295e4eb01e3d1da9f251f37e546712  /opt/k3s
0d4aee46981d6aa78ed9285f8d97be175d6bf07ed3cac952e7f861b4a3ecddf7  /host/usr/local/bin/k3s'
+ '[' 0 '!=' 0 ]
+ echo '256ca852ff2ca165afbc14ed34df450aa1295e4eb01e3d1da9f251f37e546712  /opt/k3s
0d4aee46981d6aa78ed9285f8d97be175d6bf07ed3cac952e7f861b4a3ecddf7  /host/usr/local/bin/k3s'
+ + uniq
awk '{print $1}'
+ wc -l
+ BIN_COUNT=2
+ '[' 2 '=' 1 ]
+ set +e
+ /opt/k3s -v+ head -1

+ NEW_BIN_SEMVER='k3s version v1.31.2+k3s1 (6da20424)'
+ /host/usr/local/bin/k3s -v
+ head -1
+ FULL_BIN_SEMVER='k3s version v1.31.3+k3s1 (6e6af988)'
+ compare_versions 'k3s version v1.31.3+k3s1 (6e6af988)' 'k3s version v1.31.2+k3s1 (6da20424)'
+ echo 'k3s version v1.31.3+k3s1 (6e6af988)'
+ grep -Eo '[0-9]+\.[0-9]+\.[0-9]+'
+ version1=1.31.3
+ + grep -Eoecho '[0-9]+\.[0-9]+\.[0-9]+' 'k3s version v1.31.2+k3s1 (6da20424)'

+ version2=1.31.2
+ '[' 1.31.3 '=' 1.31.2 ]
+ IFS=.
+ set -- 1 31 3
+ printf '%03d%03d%03d' 1 31 3
+ version1=001031003
+ set -- 1 31 2
+ printf '%03d%03d%03d' 1 31 2
Error: Current version k3s version v1.31.3+k3s1 (6e6af988) is higher than k3s version v1.31.2+k3s1 (6da20424)
+ version2=001031002
+ test 001031002 -ge 001031003
+ '[' 1 -eq 1 ]
+ echo 'Error: Current version k3s version v1.31.3+k3s1 (6e6af988) is higher than k3s version v1.31.2+k3s1 (6da20424)'
+ exit 1

Installed K3s:  v1.31.3+k3s1

Expected behavior:

Actual behavior:

Additional context / logs:

Duplicate of https://github.com/k3s-io/k3s/issues/11422#issuecomment-2524027161


Feat more standards

Changes:

Add restart policies for containers
Improve matchingcondition for route for traefik

Also I added two entries in the menu, a placeholder for cachet and a link to the helpdesk (i think the more, the merrier...).
Finally I renamed "core" to something more plausible

why merge commit though?

good question, I think I committed but couldn't push unless this - can't recall now, I think the remote went ahead

@serge1peshcoff merge when ok :) (I see this is not yet approved, but when you do then also merge pls)


Story dfc 2240 readme

Added Suggestion provided by muthu

This branch looks corrupted. Re-branch from dev.


Provision dhcpcd config file

This PR incorporates the changes made in https://github.com/PlanktoScope/device-pkgs/pull/6 .

From testing, everything seems to work - so I will merge this PR now.


React native props not updated after calling an action

I'm new to react, react native, and redux, I have a react native app that has a login function and when pressed, it will login the user through props.login(...), and then update the props.
Here my code.
render() {
       return (<TouchableOpacity style={Style.btnSubmit} onPress={this.onLoginPressed.bind(this)}>
                <Text style={Style.btnText}>Login</Text>
              </TouchableOpacity>)
}

onLoginPressed() {
        const { username, password } = this.props.form;
        this.props.login({ username, password}); // the login is using the fetch api

        // props are not updated with the new state values
        console.log(this.props)
    }

function mapStateToProps(state) {
    return {
        ...state.login
    }
}

function mapDispatchToProps(dispatch) {
    return {
        login: (formData) => dispatch(login(formData)),
        facebookLogin: (formData) => dispatch(facebookLogin(formData)),
        setUsername: (username) => dispatch(setUsername(username)),
        setPassword: (password) => dispatch(setPassword(password)),
    }
}

export default connect(
    mapStateToProps,
    mapDispatchToProps
)(Login);

here is my action
import { Host, Endpoints } from '../config/server';
import { loginActions } from '../config/constants';

/*
    * state props
        - form
        - inProgress
        - error
        - data
*/

export function login(form) {
    return (dispatch) => {
        dispatch(loggingIn(true));
        fetch(Host + Endpoints.auth.login, {
            method: 'POST',
            headers: {
                'content-type': 'application/json'
            },
            body: JSON.stringify(form)
        })
            .then(res => res.json())
            .then(res => {
                dispatch(loggingIn(false));
                res.error ? dispatch(loginError(res.error)) :
                            dispatch(loginSuccess(res.data));
            })
            .catch(err => dispatch(loginError(err)));
    }
}

export function facebookLogin(data) {
    return (dispatch) => {
        dispatch(loggingIn());

        fetch(Host + Endpoints.auth.facebookLogin, {
            method: 'POST',
            headers: {
                'content-type': 'application/json'
            },
            body: JSON.stringify(data)
        })
        .then(res => res.json())
        .then(data => dispatch(loginSuccess(data)))
        .catch(err => dispatch(loginError(err)));
    }
}

export function setUsername(username) {
    return {
        type: loginActions.setUsername,
        username
    }
}

export function setPassword(password) {
    return {
        type: loginActions.setPassword,
        password
    }
}

function loginSuccess(data) {
    return {
        type: loginActions.LoginSuccess,
        data
    }
}

function loginError(error) {
    return {
        type: loginActions.LoginError,
        error
    }
}

function loggingIn(val) {
    return {
        type: loginActions.LoggingIn,
        inProgress: val
    }
}

here is the reducer
import { loginActions } from '../config/constants';

const initialState = {
  form: {
    username: '',
    password: ''
  },
  data: null,
  inProgress: false,
  error: null
};

export default function loginReducer(state = initialState, action) {
    switch(action.type) {
        case loginActions.LoggingIn:
            return {
                ...state,
                inProgress: action.inProgress
            }
        case loginActions.LoginError:
             return {
                ...state,
                error: action.error,
            }

        case loginActions.LoginSuccess:
            return {
                ...state,
                inProgress: false,
                error: null,
                data: action.data
            }
        case loginActions.setUsername:
            return {
                ...state,
                form: {
                    username: action.username,
                    password: state.form.password
                }
            }
        case loginActions.setPassword:
            return {
                ...state,
                form: {
                    username: state.form.username,
                    password: action.password
                }
            }
        default:
            return {
                ...state
            }
    }
}

here is the reducer index file
import { combineReducers } from 'redux';
import login from './login';

const rootReducer = combineReducers({
    login
});

export default rootReducer;

here is the configure store
import { createStore, applyMiddleware } from 'redux'
import reducers from './reducers'
import thunk from 'redux-thunk'

export default function configureStore() {
  let store = createStore(reducers, applyMiddleware(thunk))
  return store
}

Of course I'm wrapping my root component with the Provider and passing the store to it.
Am I missing something?
Thank you

This is a bug tracker, not a support system. For usage questions, please use Stack Overflow or Reactiflux. Thanks!

As Tim said, this should be asked on Stack Overflow.  However, I can see the issue.
Props are not updated immediately after an action is dispatched.  React renders are generally asynchronous, so if you check a prop's value right after dispatching a Redux action, it will still have the existing value.
Your code looks like it should work otherwise, although I do have a couple stylistic suggestions.
First, connect supports an object shorthand syntax for the mapDispatch argument.  You can simplify your code considerably by doing:
const actions = {
    login,
    facebookLogin,
    setUsername,
    setPassword
};

export default connect(mapState, actions)(Login);

Also, you're making unnecessary copies.  You definitely don't want to do return {...state} in the reducer default case - you should do return state to return the existing object.  Also, you don't need to do return {...state.login} in the mapState function.  That probably won't break anything, but you might as well do return state.login just to avoid the unnecessary copy.

@timdorr sorry for posting the question here.
@markerikson, I'm new to react, react-native, and redux, that was really helpful, thank you so much.


Why does tsc not pick up definition files with the same name as implementation files?

TypeScript Version:  1.9.0
Code
// foo.ts
class Foo implements IFoo {}
// foo.d.ts
interface IFoo {}
// bar.ts
class Bar implements IBar {}
// bar-interface.d.ts
interface IBar {}
// baz.ts
function f(foo: IFoo, bar: IBar) {}
// tsconfig.json
// [...]
  "filesGlob": [ "*.ts" ]

Expected behavior:
Everything compiles when running tsc -p .
Actual behavior:
Running tsc -p . --listFiles, one can see that the picked up files are:
bar-interface.d.ts
bar.ts
baz.ts
foo.ts

Notably, foo.d.ts is not picked up, because it has the same name as foo.ts and lives in the same directory.
Is this intentional? What is the rationale for this?
Many languages allow putting interface files right next to their implementation, with just the extension changing. In TypeScript, it seems one has to either put definitions in a subdirectory or give the definition file a different name.

first fileGlob is not a supported property in tsconfig.json, see http://www.typescriptlang.org/docs/handbook/tsconfig-json.html for more details.
The compiler does not pick up files that are considered outputs on its inputs.  if you really want to add them. then list them explicitly in "files": ["foo.ts", "foo.d.ts"].
in general it is not a good idea to have two files with the same name, since the  compiler makes assumptions about file names for importing.


first pull request test

test pull to merge - EMF

I did the test pull merge, updated all test to pass, and only able to add Bobby Hall and Briana Abreu

 FrontEnd Repo all test passed. PR ready for review.


setup.py fails

Hi,
I'll try to run python3 setup.py install but It throws an error:
python3 setup.py install
Traceback (most recent call last):
  File "setup.py", line 1, in <module>
    from setuptools import setup
ImportError: No module named 'setuptools'

Python 3 version:
python3 --version
Python 3.4.0

Package dependency problem.
The solution is to install setuptools for Python 3. For debian-based distros use:
sudo apt-get install python3-setuptools

Maybe this could be added to the README?

Thanks! Now fixed!

Thank you @msprev :)


Artworks list/Artwork page

as a customer i cant see artworks list/ artwork page.
Page Address: https://staging.vadee.art/artworks

Done


Sanitise rather than delete framework agreements

We can sanitise the personal details (signer name and role, and the S3
paths to actual signed/countersigned documents) but preserve the fact that
the agreement has been returned.
This means that when logging in as a supplier in Preview or Staging
environments the framework dashboard will be accessible without having
to go through the whole "return your framework agreement" flow.
This will be useful for developers working on the framework dashboard
who do not want to repeatedly return fake framework agreements for
suppliers in order to test their new features.

I'm about 95% happy this will work alright.  Not sure if the non-existent S3 paths might cause an issue on some pages, but reckon it's worth a suck-it-and-see.


Pull Request for Virginia Wesleyan University

5817 Wesleyan Drive, Virginia Beach, Virginia, 23455
https://www.vwu.edu/
https://www.vwu.edu/academics/majors/computer-science/courses-cs.php

@BirdOfBlueJays There are several files in the request, along with file.zip. It must not be there. Please remove file.zip and make pull request again.  I have to close this request without merging. Thank you for your understanding.


Makefile using helm fails

The make commands fails because of docker push.
Error: Unauthorised access to docker.
This happens because the repository is to be created before pushing the image.
Please add a note in documentation or the Makefile has to be changed to include the name of the user and repository.
Ref: https://success.docker.com/article/getting-unauthorized-authentication-required-when-trying-to-push-image-to-dtr

@ashishraman96 Actually you can override the name of the image by overriding the IMAGE var like so:  IMAGE=quay.io/yourrepo/servicebroker make push.
You can do the same for these: https://github.com/pmorie/osb-starter-pack/blob/79cba221bd275089f7384aaed4bbd601d57468d8/Makefile#L6-L8

We also have these documented already, but let me know if the docs are not clear enough, also you are more then welcome to adjust them! :) https://github.com/pmorie/osb-starter-pack#deploy-broker-using-helm
(If there is anything else, we can reopen this issue later.)

@LiliC Thank you, I will surely try that out.


How to prevent AuthorizeAttribute from redirecting to login url when using LocalApi?

Question
I'm learning how to use IdentityServer4 and am trying to put both the IdentityServer and the protected API in the same ASP.NET Core project. I see in the documentation an area that explains how to do this via the services.AddLocalApiAuthentication method. When using this, requests to the protected API controller, which is marked with an AuthorizeAttribute, redirect me to a login URL if I fail to provide the required headers.
It's my understanding that AddLocalApiAuthentication is a helper and does a few things under the hood, which is where I figure the redirect may be coming from. I tried following the advanced section, and used the services.AddAuthentication().AddLocalApi(...) method instead of the helper method, but it still causes a redirect.
How can I make it so that those unauthorized requests are just responded to with an 401 Unauthorized response, instead of a redirect?
This is purely an API / IdentityServer web application and therefore has no interactive login URL to redirect to.
Minimal working example
Below is my Startup class. All of the contents here are things I've learned while reading the IdentityServer4 docs - namely the AllLocalApi, AddIdentityServer, etc.
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddControllers();

        services
            .AddAuthentication()
            .AddLocalApi();

        services
            .AddIdentityServer()
            .AddInMemoryApiResources(IdentityServerConfig.Apis)
            .AddInMemoryClients(IdentityServerConfig.Clients)
            .AddDeveloperSigningCredential();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UseDeveloperExceptionPage();

        app.UseRouting();

        app.UseIdentityServer();

        app.UseAuthorization();

        app.UseEndpoints(ConfigureEndpoints);
    }

    private void ConfigureEndpoints(IEndpointRouteBuilder endpoints)
    {
        endpoints.MapControllers();
    }
}

Can't repro if I follow the instructions in the docs.
You can alternatively use our test host and the corresponding client in the samples folder to see if you can repro.

@leastprivilege My code is a progressive accumulation of the docs' overview section and then the adding more API endpoints section (that's where I found the LocalApi related topics). So I don't necessarily have code the reflects 1 exact example from the docs, as the LocalApi docs explain how to configure an existing example, which is what I've tried to do. Unfortunately I don't have a corresponding doc instructions to point you to because of that, but I did upload my super minimal ASP.NET Core project if you have the time to check that for my reproducible example. It's literally just the empty ASP.NET Core VS template project with the bits I added from my readings through the IdentityServer4 docs.
https://github.com/ryancole/identity-server-4-repro
Is that an acceptable reproduction sample? Should just be able to clone it and run, I think. It doesn't have any anything beyond the IdentityServer settings.

please use our test host and the corresponding client in the samples folder to see if you can repro.

@leastprivilege Your test host's api server responds with 401 unauthorized as I want. I'm unsure of how your test host api is implemented, but I'm personally trying to host IdentityServer4 and my API in the same ASP.NET Core project, using the AddLocalApiAuthentication helper method from IdentityServer4.
I've created a pull request on my repo that I linked above that shows how I can reproduce and demonstrate that adding IdentityServer4 to my ASP.NET Core project causes my unauthorized requests to no longer respond with 401, but instead attempt to redirect to a login url.
My goal is to not have it redirect, but continue to return 401 like your test host api.
Here is a link to the pull request's diff. This diff shows that when I remove IdentityServer4 and just use built in AddJwtBearer, I get the 401 responses. With the IdentityServer4 left in place, I get a redirect.
https://github.com/ryancole/identity-server-4-repro/pull/1/files
Any thoughts? Thanks.

If there is a sample showing this use-case then that would likely help me, but I have not been able to find one.

That is exactly the test host I pointed you to.

If there is a sample showing this use-case then that would likely help me, but I have not been able to find one.

That is exactly the test host I pointed you to.

I’ve seen the host api website. Which sample were you pointing me to that shows the local api usage? I looked through the sample projects but guess I’m missing which one has the identity server and api hosted in the same aspnet project? That sample should help me out.

Oh, I see now. The demo website itself hosts all the examples and uses the local api! I understand what you were saying now. I see the usage here: https://github.com/IdentityServer/IdentityServer4.Demo/blob/master/src/IdentityServer4Demo/Startup.cs
Thank you. I will close this.


Gremlin graph queries for REST

I have been playing with ArangoDB and the blueprints implementation and am very impressed so far. The graph interaction over REST is also very nice :)
While AQL is very beautiful, I would like to talk to my graphs using Gremlin as it is more natural and solves problems such as vertex centric queries.
I propose that we add a resource called /_api/graph/graph-name/gremlin or /_api/graph/graph-name/query to allow using gremlin to query the graphs.

Hi all, @fceller
How can I use that module. Any documentation I could refer to?
I want to use ArangoDB via gremlin.

Hi all, @fceller
How can I use that graph module. Any documentation I could refer to?
I would like to use ArangoDB via Gremlin.

Have a look here about the general graph module: https://docs.arangodb.com/3.0/Manual/Graphs/GeneralGraphs/index.html

Gremlin would is great as some kind of abstraction of the client against the backend system.
If you plan to make "graph database independent" queries (same traversal running on ArangoDB, Neo4J, whatever) -> gremlin support would be great.
I'd love to see that! Using Gremlin Traversals in a FOXX would be great!


⚠ Bofrost.fr has degraded performance

In 1dd29b5, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1147 ms

Resolved: Bofrost.fr performance has improved in 26a221a after 6 minutes.


Faster with GraphQL

How can i use faster to make a GraphQL API?

You will have to use some GraphQL query library for Deno combined with Faster. If you do this and for some reason it doesn't work, please let me know.

Not an issue


No Volume control on Dell 3818DW

Before opening the issue, have you...?

[X] Searched for existing issues
[X] Read through the Monitor-Troubleshooting Wiki
[X] Updated MonitorControl to the latest version (if applicable)

Describe the issue
Brightness controls work completely fine throughout the whole range of values, however, the control method is "Software (gamma)". The volume control is unavailable. There is only one slider and that is for the brightness control, there is none for the volume. My monitor's firmware is up to date and DDC is enabled in its menu.
I've tried with multiple cables and I've bypassed my CalDigit TS3 Plus dock and it comes up with the same functionality.
Interestingly, BetterDisplay works just fine for both brightness and volume. I have confirmed that when I use the keyboard buttons to change the display volume that the display's volume magnitude actually changes in the monitor's OSD.

Expected behavior
I expected DDC to work with MonitorControl and give me control of both brightness and volume. Volume is what I am most interested in fixing and would love the simplicity of the MonitorControl App.
Anything else?
No response
Environment Information (please complete the following information)
- macOS version: 13.2.1
- Mac model: MacBook Pro 16-inch, 2023 Apple M2 Max
- MonitorControl version: 4.1.0
- Monitor(s): Dell 3818DW
- Monitor Cable(s)/Connection(s): USB-C
- Apple Silicon/M1 (yes or no): YES

Since you have an M2 Mac, you're likely running into #1301
The alternative for now is to use BetterDisplay

@jimothyGator is right, M2 is not supported with MonitorControl.


Urban updates dev

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingAds/bingads-12/bulk-service/app-install-ad.md
:white_check_mark:Succeeded

BingAds/bingads-12/bulk-service/dynamic-search-ad.md
:white_check_mark:Succeeded

BingAds/bingads-12/bulk-service/expanded-text-ad.md
:white_check_mark:Succeeded

BingAds/bingads-12/campaign-management-service/expandedtextad.md
:white_check_mark:Succeeded

BingAds/bingads-12/guides/release-notes.md
:white_check_mark:Succeeded

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


admin login issue

hi brother when i am trying to login into admin acc it is saying they is no acc with username . what is the solution please

did you try using
username:  mohan
password:  mohan.sjbit

did you try using
username: mohan password: mohan.sjbit
if yes and its still not working post a picture while recommenting

bro worked thanks i can use this for my project right

did you try using
username: mohan password: mohan.sjbit
if yes and its still not working post a picture while recommenting

did you try using
username: mohan password: mohan.sjbit
if yes and its still not working post a picture while recommenting

and can i edit the voters and candidates name if possbile


error when packageConfig.tmpdir set to false

Pre-flight checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project uses.
[X] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version
7.2.0
Electron version
27.1.2
Operating system
maxOS 13.2.1
Last known working Electron Forge version
No response
Expected behavior
no error when packageConfig.tmpdir set to false
Actual behavior
When packageConfig.tmpdir set to false, will get the error below:
Error: Cannot copy '/path/to/project' to a subdirectory of itself, '/path/to/project/out/AppName***/Electron.app/Contents/Resources/app'.
This error was thrown by fs-extra, whem electron-packager try to copy project to the out dir.
Thats caused by out dir is not allowed to set, so out dir must be a subdirectory
I want to take a PR for this, but there are 3 ways to fix it, I dont know we prefer which one

when user set tmpdir to false, overwrite it to undefined, https://github.com/electron/forge/pull/3476
when user set tmpdir to false, throw an error by forge, https://github.com/electron/forge/pull/3477
make electron-packager fix this problem, I also take a PR for this way: https://github.com/electron/packager/pull/1657

If we choose 1 or 2, I will take the PR soon
Steps to reproduce
set packageConfig.tmpdir to false
run forge package
Additional information
No response

Thank you for your feedback. Personally, I am more inclined towards the third solution because the first two options are merely temporary measures that do not address the underlying issue.

PTAL @electron/forgers

Discussed in an @electron/wg-ecosystem meeting, going with option 3 and moving this to packager.


Inspector window not showing custom properties

Hello
I have some parameters exposed, now if if its a string, vector3 or gameobject, it all shows up in the inspector properties.
But if I make a struct, or a custom class, even if they are serializable, they don't show up.  Is there a way to show these?
Mike

Hey,
this is because I'm building directly VisualElement fields using a FieldFactory class, that can only handle a few types listed here: https://github.com/alelievr/NodeGraphProcessor/blob/master/Assets/com.alelievr.NodeGraphProcessor/Editor/Utils/FieldFactory.cs#L32
You can still create a custom editor with the [FieldDrawer] attribute, you just need to create a class that inherit from VisualElement and implements INotifyValueChanged, then the rest should be handled by the FieldFactory.
Note that this issue would be solved by using PropertyFields instead of manually creating all those VisualElements but it's not possible currently because the value of the parameter is serialized as json which is not compatible with PropertyFields. I plan to use [SerializeReference] to fix this but there no ETA for it.

Thanks for the reply, for now ill stick to the basic properties, its good enough. Keep up the great work.


Port notebook Sentinel_2 to DE Africa Sandbox

Proposed changes
Port of Sentinel_2 notebook.
Checklist (replace [ ] with [x] to check off)

[x] Remove any unused Python packages from Load packages
[x] Remove any unused/empty code cells
[x] Remove any guidance cells (e.g. General advice)
[x] Ensure that all code cells follow the PEP8 standard for code. The jupyterlab_code_formatter tool can be used to format code cells to a consistent style: select each code cell, then click Edit and then one of the Apply X Formatter options (YAPF or Black are recommended).
[x] Include relevant tags in the final notebook cell and re-use tags if possible
[x] Clear all outputs, run notebook from start to finish, and save the notebook in the state where all cells have been sequentially evaluated

Great stuff @dlubawy-ama! This notebook will be a really great reference for DE Africa users.
I changed the plotting methods in the notebook to the deafrica_plotting.rgb method for the sake of simplicity, and I switched the location as the coastal plot was showing some weird artefacts.


New infrastructure api proposal

The existing unchained backend is split between unchained and cluster-launcher, with multiple configuration sources that need to be adjusted.  With Arkeo in mind, we'd want to have something similar to Thorchain's https://gitlab.com/thorchain/devops/cluster-launcher and https://gitlab.com/thorchain/devops/node-launcher as the basis of our infra, as well as enable others to set up Arkeo nodes easily.
I'd like to raise a very loose proposal of what that could look like:

import { EKSClusterLauncher } from '@shapeshiftoss/eks-cluster-launcher'
import { EthCoinStack, CosmosCoinStack } from '@shapeshiftoss/coinstacks'

const cluster = await EKSClusterLauncher.create({
  email: config.eks.email,
  profile: config.eks.profile,
  region: config.eks.region,
  rootDomainName: config.rootDomainName,
})

const ethCoinStack = await EthCoinStack.create({
  cluster: cluster,
  name: 'eth',
})

const cosmosCoinStack = await CosmosCoinStack.create({
  cluster: cluster,
  name: 'atom',
})

We'd build upon cluster-launcher to support multiple clouds, as well as extract existing Pulumi code from unchained into a separate library repository focused solely on providing coinstacks that can easily be deployed onto an existing k8s cluster with sane defaults and minimal configuration.
The work required would consist of a few steps:

Setting up a new coinstacks repository
Migrating existing node and go Pulumi infra code into npm modules
Adjusting unchained to use the migrated coinstacks
Adding support for more clouds

Great thought here and agree that thorchain is a good example of this separation of concerns that has been working well in the wild thus far.
Additional cloud provider support will be super important for arkeo. They leverage helm charts over IAC which requires less overhead to use than our pulumi setup as well.
Ultimately there is a trade-off between more flexible usability for a wider audience at the cost of less coupled and therefore less streamlined deployment process. I think it would be worth POC'ing what a strategy like this looks like and if there would still be a way to stage the deployment process in a way that we wouldn't have to have a build and push flow and then after that is completed, manually update config to point at the new image and then deploy the coinstacks.
I would also make note that arkeo is still pretty early and my assumption would be that out of the gate, any providers that want to join would already have their node infra running using some other setup that they wouldn't be interested in changing up to use our infra setup. And I don't foresee many or anyone outside of us caring about running unchained api and/or blockbook. I could be wrong, but that's my view at this time.
Certainly something to keep in mind and on our radar as we see how arkeo continues to come along

any providers that want to join would already have their node infra running using some other setup that they wouldn't be interested in changing up to use our infra setup. And I don't foresee many or anyone outside of us caring about running unchained api and/or blockbook. I could be wrong, but that's my view at this time.

In that case I agree, not worth the effort right now. I'd still aim to achieve a design similar to what's outlined here:

cluster setup & coinstack setup are totally independent
single source of truth for configuration
deployment complexity burried inside the coinstack api

We don't have to perform any high-effort steps but having an api design that would make those trivial should go a long way


False positive on apache commons-fileupload

False positive on library commons-fileupload-1.3.3.jar - reported as cpe:/a:apache:commons_fileupload:1.3.3
<dependency>
   <groupId>commons-fileupload</groupId>
   <artifactId>commons-fileupload</artifactId>
   <version>1.3.3</version>
</dependency>

The commons-fileupload library had the vulnerability reported against 1.3.2.  It appears as though apache disagreed that it was a vulnerability in the library (see https://nvd.nist.gov/vuln/detail/CVE-2016-1000031) but they produced the 1.3.3 update to disable serialization on the problem class by default (can be enabled via a flag - see https://issues.apache.org/jira/browse/FILEUPLOAD-279).  However, the vulnerability is still being reported against the 1.3.3 release of the library.

It is CVEs like this that are a challenge. As technically, a developer could set org.apache.commons.fileupload.disk.DiskFileItem.serializable to true without understanding the consequences - more that they are under pressure to get a feature shipped. I would be more inclined to leave this marked as exploitable across the board and let individual organizations/users suppress this finding after working with there app sec team.
Thoughts?

Yeah, I wondered if it was really a 'false positive' since technically the issue remains, although the project maintainers assert that it's not an issue with their library but with how it's being used (which I would agree with based on what I've read).  I've added a suppression file to our project, I was just hoping to avoid using one since I'll probably have to maintain one for several projects to suppress this issue.  It wouldn't be as much of an issue for us, but we recently started using dependency-check in our projects and are failing builds on anything with a 'high severity' rating.
I think at the very least the vulnerability rating should've been reduced on 1.3.3 since a user would have to explicitly enable serialization of that class.


Browser hangs when I visit changeset url

When I visit the following url, my browser hangs. Looking at the Activity Monitor, I see that the memory used by the browser continues to grow.

https://osmcha.mapbox.com/47514474/

On a Mac, I could Quit in my Firefox browser but for Chrome, I had to go the command line route.
killall -9 "Google Chrome"

cc: @kepta

@bkowshik as a temporary fix you can remove the trailing /.
Since I have figured out this is causing problem. I will fix this asap.
Thanks for reporting.


Bug module cloud

Describe the bug random i have this error: ERROR: Module cloud failed on line 251 - module 'board' has no attribute 'I2C'
bus I2c Rasperry is ok.
To Reproduce
Screenshots
If applicable, add screenshots to help explain your problem.
Allsky Information:

OS: [Bullseye 64bit and Full]
Allsky Version: last
Pi model: 4b 4 gb ram
Camera: innomaker 462

Sensors
MLX90614

Please responde .
Ettore

Closing as I am responding in the discussion


Document new harvesting capabilities

Document https://github.com/nemtech/catapult-server/issues/15

Feature being documented here


Backport Exhibitor TLS client changes 1.12

High-level description
Backport Exhibitor TLS client fixes
Corresponding DC/OS tickets (required)

DCOS-58361 [Backport] Fix DC/OS clients that do not adhere to Exhibitor TLS (1.12, 1.13)

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain.
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

wrong HEAD


Fix comments on genesis time in config.yaml

Clarify that genesis is actually 13:55:00 UTC, not 14:55:00 UTC. It looks like UTC was mixed up with London summer time (UTC+1), or subject to some other off-by-one error.
I also removed the comment about the genesis time being invalid (it's not).

On Linux:
$ date -u -d "@1694786100"
Fri 15 Sep 2023 13:55:00 UTC

On macOS/BSD:
$ date -u -r "1694786100"
Fri 15 Sep 2023 13:55:00 UTC

@barnabasbusa can haz merge? :pray:

You are right, that is a typo from my side, it is meant to be 13:55, as shown on the readme page too.


Compress Texy Proxy logs before publishing

Adds compression of Test Proxy's proxy.log file before publishing it to reduce the size of the artifact and to make it faster to download large log files. For example, in Java Storage this generates roughly a 90-100MB log file uncompressed, compressed it's closer to 5-10MB.
Further work could be done in this area to only publish if the build has failed or DevOps pipeline debugging is enabled.

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


Separate experiments

Separates jaeger's project into sub-projects, or "experiments".
This improves organization, since we have independent experiments with independent datasets.
Command line shortcut can still be used with an extra argument, e.g.:
nwbn-gui-jaeger lisu
nwbn-gui-jaeger miao

In general the refactoring looks good, but I don't really like having the names of the experimenters in the import path. The experimenter can change while the data stays the same, so the two shouldn't be linked in the code. Having them as default values in the yaml is fine.

individual experiments (experimenters) can be included later as directories containing their own metafile and conversion script (each experimenter uses a different combination of data to be converted)
the actual data conversion happen in importable modules stored in resources dir


add suggested limits

Docs Build status updates of commit f353259:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Advertising/shopping-content/TOC.yml
:white_check_mark:Succeeded

Advertising/shopping-content/release-notes.md
:white_check_mark:Succeeded

Advertising/shopping-content/request-method-limits.md
:white_check_mark:Succeeded

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


Redirect is returning 200 instead of 302

Tell us about your environment:

Puppeteer version: 5.1.0
Platform / OS version:

Linux 4.19.76 (Debian 9)
Docker Image ~ node:slim

URLs (if applicable): https://go.topfxpro.com/visit/?bta=36097&nci=12872&campaign=&afp=
Node.js version: latest

What steps will reproduce the problem?
Please include code that reproduces the issue.
const browser = await puppeteer.launch({
    executablePath: 'google-chrome-unstable'
});
const page = await browser.newPage();
await page.setRequestInterception(true);
await page.setUserAgent('Mozilla/5.0 (iPhone; CPU iPhone OS 13_5_1 like Mac OS X) ' +
    'AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 ' +
    'Mobile/15E148 Safari/604.1')
await page.setDefaultNavigationTimeout(120000);
await page.setViewport({
    width: 375, height: 1218, deviceScaleFactor: 3,
    isMobile: true, hasTouch: true, isLandscape: false
});
await page.setExtraHTTPHeaders({'Accept-Language': 'en'});
page.on('response', res => {
    if ([301, 302, 304].indexOf(res.status()) >= 0) console.log('<Response>', res.status(), res.url());
});
page.on('error', err => {
    console.log("[Page Error] ", err.message);
});
page.on('request', req => {
    if (req.resourceType() === 'document') console.log("Intercept " + req.resourceType() + " " + req.url());
    req.continue();
});
const result = await page.goto('https://go.topfxpro.com/visit/?bta=36097&nci=12872&campaign=&afp=');
await page.screenshot({path: 'screenshot.png'});
await browser.close();

What is the expected result?
The console log on the 'response' event must be shown on the output log. If you try this code (less the first line for the launch of the puppeteer with specific binary path of chrome) on https://try-puppeteer.appspot.com it is working well.
What happens instead?
The console log on the 'response' event is not showed and the screenshot is not well generated because the result is a blank empty page.
Personal Notes
The project is about generating a bunch of screenshots for URLs in order to do a healtcheck for the frontend side of some partners. I had using the same code with puppeteer-cluster but the result was the same, some URLs are pretty fine, a lot of others are responding 200 with blank screenshot instead of 302 and the good screenshot for redirection. The code has been changed and aligned with https://try-puppeteer.appspot.com because this website is working and also i used the same Dockerfile, assets and scripts from the github but it is the same result on my local.
I want to deploy the Docker container on a cloud environment in order to link this micro-service with a lot of others to analyze the images, do stuff about it, upload them to S3.... a lot of things, so this is a crucial part of the BPM process.
I tried:

puppeteer-cluster in order to speed up the crawling
puppeteer-core to check if there is an issue with puppeteer package
chrome-stable & chrome-unstable packages
sandbox and not-sandbox mode
headless and not-headless

Related with:

https://github.com/puppeteer/puppeteer/issues/5672
https://github.com/puppeteer/puppeteer/issues/5309
https://github.com/puppeteer/puppeteer/issues/4383

No changes with the version 5.2.1

Still no changes. I encountered this on every environments, the status is always 200 instead of either 301 or 302

Any updates ?¿


pass request to auth.authenticate

In Django 1.11, the auth.authenticate call takes a request argument, and custom authentication backends are expected to take a positional request argument.
This was really handy for me since I had fork Saml2Backend to perform additional logic based on the specific request.
https://docs.djangoproject.com/en/1.11/topics/auth/default/#how-to-log-a-user-in
https://docs.djangoproject.com/en/1.11/topics/auth/customizing/#writing-an-authentication-backend

@knaperek Please let me know if there's anything extra you'd like me to do to get this PR in.

Thanks!


IndentationError: unexpected indent when trying to "Debug cell" on indented code

Bug: Notebook Editor, Interactive Window, Python Editor cells

Steps to cause the bug to occur

In the editor, have this code:

#%%
    a = 1

Run the "Debug cell" action on the above cell.

Actual & Expected behavior
The result cell in the Python Interactive window:
breakpoint()
    a = 1

  File "", line 2
    a = 1
    ^
IndentationError: unexpected indent

Expected behavior is for this to work (despite the indentation of the code in the cell). Indeed, running the "Run Cell" action actually works well! This is extremely useful working with hybrid code/notebook files. So sometimes you have in a code.py file for instance:
def some_func():
    a = 1
    b = a + 1
    return b

and you want to work in the inside of the function interactively so you would make it:
#%%
def some_func():
#%%
    a = 1
    b = a + 1
#%%
    return b

That would make it possible to either call the code as the function or work on the contents interactively by evaluating/debugging the middle cell - extremely useful. I'm guessing this has to do with the breakpoint() statement added by the extension when "Debugging" cells.

Your Jupyter and/or Python environment

Jupyter server running:                       Local
Extension version:                               2019.10.44104
VS Code version:                                1.40.0
Setting python.jediEnabled:               true
Python and/or Anaconda version:     3.5.4
OS:                                                     Windows
Virtual environment:                          pipenv

Possibly related https://github.com/microsoft/vscode-python/issues/6680

Yes the breakpoint statement is breaking this. I believe we'd have to indent it as well.

There seems to be a slight regression on this issue. As a workaround I used to be able to manually attach to the kernel, set breakpoints, and then use CTRL+ENTER on cells and achieve similar behaviour as the "Debug Cell" command, even when working with remote jupyter servers. In the latest release, once VSCode is in debug mode after attaching, running CTRL+ENTER on cells results in the same IndentationError: unexpected indent as before (however, the breakpoint() statement is not seens anymore).
I believe that if my code is indented that leaves me unable to debug cells with remote kernels - since as far as I understand using the regular "Debug Cell" command is not supported with remote kernels. Any idea for another workaround involving indented code?

The breakpoint statement is still sent, you just can't see it anymore (we fixed a bug with computing hash value for the entered text).
However you should be turn off the first breakpoint with this setting:
"python.dataScience.stopOnFirstLineWhileDebugging"
That means we won't break on enter for a cell. So you'll have to put your own breakpoints.


Publish new version

Hi @lucacicada
Can you publish a new version to crates.io?
I have fixed the build.rs script to handle newer versions of Rhai starting from 1.16.  In particular, the JSON metadata output from Rhai now contains other sections in addition to functions, which causes build.rs to fail.
Thanks!

The new version has been published!!!


mnist = fetch_mldata('MNIST original')

URLError: <urlopen error [Errno 110] Connection timed out>

mldata.org appears to be down.
Please see:
https://github.com/scikit-learn/scikit-learn/issues/8588

fetch_mldata() was used to download MNIST dataset from mldata.org which was pretty unstable so was shutdown eventually.
Scikit-Learn 0.20 uses fetch_openml() instead. You can just do this -
import sklearn
print(sklearn.__version__)

try:
    from sklearn.datasets import fetch_openml
    mnist = fetch_openml('mnist_784', version=1, cache=True)
except ImportError:
    from sklearn.datasets import fetch_mldata
    mnist = fetch_mldata('MNIST original')

Hope this helps😃