Add check against NULL before dereferencing pointer

Condition following fix suggests pointer is expected sometimes to be NULL.

are you sure I should remove hasBody() completely?

At least I’d vote for it. @etcwilde What was the motivation for adding it in https://github.com/apple/swift/commit/c57b80a3c88cb2eaf5825c0c22848f0d4ebab70c?

I don't remember exactly why I added it. I think it was to mirror another API? Maybe the FuncDecl APIs?
Anyway, yeah, it doesn't look terribly useful.
IIRC, the calls underlying getBody at least used to be able to return nullptr if you were querying it during type checking since they bodies hadn't necessarily been set yet. If something failed to type check, you will probably still want to be defensive here.

@AnthonyLatsis 's suggestions make sense to me.

IIRC, the calls underlying getBody at least used to be able to return nullptr if you were querying it during type checking since they bodies hadn't necessarily been set yet. If something failed to type check, you will probably still want to be defensive here.

Good point.

@swift-ci please smoke test

@swift-ci please test source compatibility

RxSwift failure is unrelated, merging.


Can only fetch a few option tickers

Hello,
I am trying to fetch all tradeable option tickers on a given stock, but only manage to get a few of them:
The following code (from the repo examples):
    fn fetch_aapl_option_tickers(){
        let provider = yahoo::YahooConnector::new();
        let resp = tokio_test::block_on(provider.search_ticker("AAPL")).unwrap();

        println!("All tickers found while searching for 'AAPL':");
        for item in resp.quotes
        {
            println!("{}", item.symbol)
        }
    }

returns this, the last 3 being put option tickers:
All tickers found while searching for 'AAPL':
AAPL
AAPU
AAPD
AAPL.NE
AAPL221223P00130000
AAPL221223P00129000
AAPL221223P00132000

While I would like to fetch all available option tickers, visible here.
Is there a way to get them using a different request?
Thx a lot!

So far, the library only uses the (unofficial) JSON Rest API of yahoo! Finance, which seem to support only a small fractions of options. It would be possible to implement a html scraper to get the full option list directly from html sites like the one you have linked. Maybe a nice project for the next few days. I wil have look into it.

That's very kind of you, thx!

I have just pushed a new version that offers an extra function to search all options. I have also added an example. Beware that this search is based on html scraper, which tend to be less stable than the REST API, but it should give you the same output as the web page.
The last trading date is extracted as a string, not a date-time, since the chrono date does not seem to support parsing this specific format where the time zone is given as the name of the time zone.
But within this limitation, it seems to work pretty well.

Thx a lot for your work, I cloned the repo to test it and it works fine.
Cheers!


DataVec Inference pipeline

Idea: Take a uri -> and output an ndarray.
Right now I am looking at setting up an abstraction on top of datavec-camel to handle the ability to define pipelines based on just an input uri. From that we should be able to build better abstractions for running inference pipelines using datavec. This should also improve the flexibility of embedding things liek a transform process.
Note that for this to work we will need a datavec local executor.

Blocked by #87

See also #78

Already planned as part of rewrite


RemovedInDjango110Warning: django.conf.urls.patterns()

django_messages/urls.py:16: RemovedInDjango110Warning: django.conf.urls.patterns() is deprecated and will be removed in Django 1.10. Update your urlpatterns to be a list of django.conf.urls.url() instances instead.
url(r'^trash/$', trash, name='messages_trash'),

in djngo_messages/urls.py just replace
urlpatterns = patterns('',
    url(r'^$', RedirectView.as_view(permanent=True, url='inbox/'), name='messages_redirect'),
    url(r'^inbox/$', inbox, name='messages_inbox'),
    url(r'^outbox/$', outbox, name='messages_outbox'),
    url(r'^compose/$', compose, name='messages_compose'),
    url(r'^compose/(?P<recipient>[\w.@+-]+)/$', compose, name='messages_compose_to'),
    url(r'^reply/(?P<message_id>[\d]+)/$', reply, name='messages_reply'),
    url(r'^view/(?P<message_id>[\d]+)/$', view, name='messages_detail'),
    url(r'^delete/(?P<message_id>[\d]+)/$', delete, name='messages_delete'),
    url(r'^undelete/(?P<message_id>[\d]+)/$', undelete, name='messages_undelete'),
    url(r'^trash/$', trash, name='messages_trash'),
)

by
urlpatterns = [
    url(r'^$', RedirectView.as_view(permanent=True, url='inbox/'), name='messages_redirect'),
    url(r'^inbox/$', inbox, name='messages_inbox'),
    url(r'^outbox/$', outbox, name='messages_outbox'),
    url(r'^compose/$', compose, name='messages_compose'),
    url(r'^compose/(?P<recipient>[\w.@+-]+)/$', compose, name='messages_compose_to'),
    url(r'^reply/(?P<message_id>[\d]+)/$', reply, name='messages_reply'),
    url(r'^view/(?P<message_id>[\d]+)/$', view, name='messages_detail'),
    url(r'^delete/(?P<message_id>[\d]+)/$', delete, name='messages_delete'),
    url(r'^undelete/(?P<message_id>[\d]+)/$', undelete, name='messages_undelete'),
    url(r'^trash/$', trash, name='messages_trash'),
]

Hey, is there a chance you could push the urlpatterns changes to PyPI, cause the latest version doesn't have the above fix.
Thanks a lot

yes, there is a chance. I try to work on a new release next week.

Same here, could you please push it? Thanks.

push for PyPI

When will 0.6.x be released? Thanks

fixed. 0.6 is released


Speed up person details & update, and admin dashboard pages

On a test person (@gvwilson) profile pages get to ~20 queries from >220.
Similarly dashboard is now O(const) instead of O(n) due to annotation of num_instructors.

@chrismedrela not sure if you have the timeline here right; this (#1127) was submitted first, then I commented about the bug and then I fixed it (#1130) since apparently it was reported often (#1064, #1110, #1128).
I decided to add a comment anyway.


Please include user-provided route metadata

It would be great to be able to attach arbitrary metadata to a route, e.g. (note the "data:" entry)
export class App {
  configureRouter(config, router) {
    config.title = 'My App';
    config.map([
      { route: ['','welcome'], name: 'welcome', moduleId: './welcome', nav: true,  title:'Welcome' },
      { route: 'page1', name: 'page1', moduleId: './page1', nav: true, data: { color: '#444' }, title:'Page 1' },
      { route: 'page2', name: 'page2', moduleId: './page2', nav: true, data: { color: '#888' }, title:'Page 2' },
      { route: 'page3', name: 'page3', moduleId: './page3', nav: true, data: { color: '#bbb' }, title:'Page 3' },
    ]);
    this.router = router;
  }
}

and then use it like this:
<li repeat.for="row of router.navigation" class="${row.isActive ? 'active' : ''}"
        css="background:${row.data.color ? row.data.color : '#ffff00'};">
    <a href.bind="row.href" onclick="closeNav();">${row.title}</a>
</li>

This would allow the user to set more than just the "title" field for each route.
(Or is there some way to achieve this already that I somehow missed?)

You can do it today. Just add a settings property.

Great, thank you. This would be a useful addition to the documentation.


CLI very slow

I'm just wondering whether it is normal behavior that a built quicktype takes around 15-20 seconds to actually generate a class from a json file. Is this normal behavior and if so, is it because of all the dependencies? I'm trying to generate C# classes with json schema's as input and its really slow.

Could you share your schema with us? What is the file size at least? This is very slow for JSON schema input.
I don't think it's the dependencies—quicktype has relatively few.

If you just invoke quicktype without any options, how long does that take?

When invoking QuickType without parameters it takes ages. Doesn’t matter with or without so my guess was something in the initialization of QuickType

How did you install quicktype? Via NPM?

What version of node and what OS?

i run it in my own container and basically followed the readme on github to install. node version v8.9.4 and its a container running ubuntu version 16.04 LTS

also ran quicktype through NPM yes

Can you please give us much more information? What is the host OS? Docker version? Host RAM? Docker RAM?

Well actually I’m running it in AKS (Azure managed Kubernetes environment) with no restrictions set on resources on Docker level. The Nodes that it is running on are standard Dv3 vms on azure (standard on AKS).

It’s running on a self hosted VSTS Agent which in turn uses Ubuntu as its base image. This it the link

The environment doesn’t affect it though. I have the same issue running the same container locally on my i7 32GB desktop with all the default preinstalled Docker settings

appcenter-cli is a similar JavaScript CLI on npm — what do you get for time appcenter help?

i have the same issue if i get your docker image from the hub and try it locally or on Azure. It takes between 12-15 seconds to show the help. Appcenter though, both on my own created image as well as your own docker image shows help instantly.

I see the problem. This is not how you run quicktype. For some reason you are running our development script that reinstalls dependencies and compiles quicktype whenever you run it, as least in these screenshots.
Here is how to run quicktype:
$ npm install -g quicktype
$ quicktype

Or to run from source, which you appear to be doing:
$ npm install # build quicktype
$ node dist/cli.js

How did you come to use quicktype this way? What are you trying to do with quicktype? Perhaps I can suggest a better way to run it as a local npm dependency.

I basically want to use it to generate C# poco classes based on Json or json schema input through cli on my vsts Agent. That’s the goal. What would be the best approach to do that? Simply download and install the npm package and run it on the Agent in your first example ?

Yes, install it as a global dependency with npm install -g — I don't see any reason for you to build it from source.
Is it fast now? 😄

yeah. it's fast now. from the source out, i was looking on the wrong place apparently. I overlooked the cli.js and went straight to the quicktype script. Thanks for the quick reply! 👍


How to call the setupAudio() on a button press rather than in initState() ?

I tried calling the setupAudio function from the example on button press but then it gives two types of errors, first: --stop and the second, await -false. Can you please show me what's the proper way of doing this?

Setupaudio is to initialize audio data and set callback listener. If you want to click the button to play, please use the start method to play

Ya but then the following error comes:
--stop and nothing plays
Could pls give me a working example for this it would be a big help.
Thanks

you must load audio resource first, then playOrPause and so on method is valid
// Initial playback. Preloaded playback information
AudioManager.instance
	.start(
		"assets/audio.mp3",
		"title",
		desc: "desc",
		cover: "assets/ic_launcher.png")
	.then((err) {
	print(err);
});
// must Initial playback
AudioManager.instance.playOrPause()

Ok will try and let u know, Thanks...

MissingPluginException(No implementation found for method currentVolume on channel audio_manager)


get credit score - JSONDecodeError: Expecting value: line 1 column 1 (char 0)

mint.get_credit_score()
JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Detailed traceback:
  File "<string>", line 1, in <module>
  File "/Users/jas/miniconda3/lib/python3.7/site-packages/mintapi/api.py", line 983, in get_credit_score
    report = self.get_credit_report(limit=1, details=False)
  File "/Users/jas/miniconda3/lib/python3.7/site-packages/mintapi/api.py", line 1002, in get_credit_report
    credit_report['reports'] = response.json()
  File "/Users/jas/miniconda3/lib/python3.7/site-packages/requests/models.py", line 898, in json
    return complexjson.loads(self.text, **kwargs)
  File "/Users/jas/miniconda3/lib/python3.7/site-packages/simplejson/__init__.py", line 518, in loads
    return _default_decoder.decode(s)
  File "/Users/jas/miniconda3/lib/python3.7/site-packages/simplejson/decoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "/Users/jas/miniconda3/lib/python3.7/site-packages/simplejson/decoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())

@j450h1 can you pull the latest from main and see if you still get this issue?

I didn't notate this before but this is likely an I/O issue since the json response appears to empty. I agree with @burkematthew, try the latest and let us know if the issue persists as that function changed recently.


feat: added new feature to let users decode/encode account.memo

Description:
This pull request adds a new toggle button that enables users to both encode and decode the account.memo values. The button's visibility is determined by the logic: if account.memo qualifies as a base64 candidate, it will be displayed; otherwise, it remains hidden.
Related issue(s): #694
Fixes #694
UI Demo:
https://github.com/hashgraph/hedera-mirror-node-explorer/assets/66233296/4f05502f-9ac3-4582-b9e3-ea125c275a7c
** Updated UI **:
https://github.com/hashgraph/hedera-mirror-node-explorer/assets/66233296/3389162d-7eee-4a15-ab4e-52c4b8bc122d
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

As discussed, closing this PR. Issue will be addressed by #775


cppcheck=v2.10.2

fixes https://github.com/shift-left-test/meta-shift/issues/10

upgrade from 2.9 to 2.10.2 to fix build with gcc-13: https://github.com/danmar/cppcheck/commit/3b840e7ff18b99f586cd80cf4004c27339c5c1c5
https://github.com/danmar/cppcheck/commit/bd1ae69b00fa0be4df7ccea91604707e70129c6c#diff-8a42f1c25b025b26f10aa71765ac7ad2a4df2da864719d8f6ac246c56fa2414c
https://github.com/danmar/cppcheck/pull/5015

remove "rules" PACKAGECONFIG and corresponding .patch file as it's deprecated by upstream, similarly to meta-sca in: https://github.com/priv-kweihmann/meta-sca/commit/49d07f32fe6bb76b44745ea2516d6ae976d7f694

https://github.com/priv-kweihmann/meta-sca/commit/793548fb54639edb8dfc51986381fb3381038e06 says it's version 2.10.9, but that looks like a typo as 2.10.2 is the latest tag and this SRCREV is 2.10

  $ git checkout 74221fbc8dc9c5c64b22b6bd56e790724e41e0aa
  HEAD is now at 74221fbc8 2.10: Updated Makefile
  $ grep SET.VERSION cmake/versions.cmake
  SET(VERSION "2.10")
  $ grep ProductVersion win_installer/productInfo.wxi
  <?define ProductVersion = "2.10" ?>
  $ git describe --tag
  2.10

the new SRCREV has wrong version in win_installer/productInfo.wxi, but we don't use that
  $ git checkout 5c2d64ec4809fcba712b1114cf0462962924b903
  HEAD is now at 5c2d64ec4 2.10.2: Set version
  $ git describe --tag
  2.10.2
  $ grep SET.VERSION cmake/versions.cmake
  SET(VERSION "2.10.2")
  $ grep ProductVersion win_installer/productInfo.wxi
  <?define ProductVersion = "2.10.1" ?>

There is still couple errors like "error: static assertion failed: allocator_traits::rebind_alloc<A::value_type> must be A" even with latest revision from main, build with gcc-13 still fails.

Thanks for the PR. I will merge the patch after testing and reviewing.

I'm sorry, looks like I forgot to update jansa/cppcheck branch between saying it's not complete fix for gcc-13 and converting it from draft to ready state, will open follow-up PR.


Add a trailing dot to DNS domains by default to speed up discovery when a search domain is configured

Summary
If a DNS search domain is configured in the system resolver, gobuster will re-issue queries for every NXDOMAIN result with the DNS search domain appended. This occurs even when using a custom resolver. This PR simply adds a trailing dot to the domain if one isn't already present, so the search domain isn't applied. It also adds a flag to revert this behaviour if required.
While it is possible to work around by removing the search domain from resolv, or stipulating a base domain with a trailing dot, this is not something I always remember to do.
Details
The current behaviour results in an extraneous query for each word that doesn't exist if a DNS search domain is configured, and the domain is not supplied with a trailing dot.
For example, with the following /etc/resolv.conf:
# cat /etc/resolv.conf
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
search localdomain

Running a simple test with four subdomains:
# printf 'www\ninvalid\ninvalid2\ninvalid3' | gobuster dns -z -r <IP_ADDRESS> -d example.com -w -
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Domain:     example.com
[+] Threads:    10
[+] Resolver:   <IP_ADDRESS>
[+] Timeout:    1s
[+] Wordlist:   stdin (pipe)
===============================================================
Starting gobuster in DNS enumeration mode
===============================================================
Found: www.example.com

===============================================================
Finished
===============================================================

This ends up sending 20 queries. All queries that returned NXDOMAIN are re-issued with the search domain:
00:27:29.990033 IP <ip>.37548 > <IP_ADDRESS>.53: 28077+ [1au] AAAA? fa79cba0-e7fc-4920-8a40-0be0858a50ae.example.com. (77)
00:27:29.990246 IP <ip>.44477 > <IP_ADDRESS>.53: 61276+ [1au] A? fa79cba0-e7fc-4920-8a40-0be0858a50ae.example.com. (77)
00:27:30.001803 IP <ip>.34009 > <IP_ADDRESS>.53: 23905+ [1au] AAAA? fa79cba0-e7fc-4920-8a40-0be0858a50ae.example.com.localdomain. (89)
00:27:30.001862 IP <ip>.36322 > <IP_ADDRESS>.53: 64374+ [1au] A? fa79cba0-e7fc-4920-8a40-0be0858a50ae.example.com.localdomain. (89)
00:27:30.011556 IP <ip>.37348 > <IP_ADDRESS>.53: 6400+ [1au] AAAA? example.com. (40)
00:27:30.011571 IP <ip>.44812 > <IP_ADDRESS>.53: 65030+ [1au] A? example.com. (40)
00:27:30.013530 IP <ip>.43300 > <IP_ADDRESS>.53: 35768+ [1au] AAAA? www.example.com. (44)
00:27:30.013665 IP <ip>.54630 > <IP_ADDRESS>.53: 52527+ [1au] AAAA? invalid.example.com. (48)
00:27:30.013758 IP <ip>.52362 > <IP_ADDRESS>.53: 63530+ [1au] AAAA? invalid2.example.com. (49)
00:27:30.013868 IP <ip>.46685 > <IP_ADDRESS>.53: 53334+ [1au] AAAA? invalid3.example.com. (49)
00:27:30.013945 IP <ip>.40598 > <IP_ADDRESS>.53: 33567+ [1au] A? www.example.com. (44)
00:27:30.013995 IP <ip>.45437 > <IP_ADDRESS>.53: 63327+ [1au] A? invalid.example.com. (48)
00:27:30.014041 IP <ip>.55010 > <IP_ADDRESS>.53: 18785+ [1au] A? invalid2.example.com. (49)
00:27:30.014092 IP <ip>.54091 > <IP_ADDRESS>.53: 6625+ [1au] A? invalid3.example.com. (49)
00:27:30.023172 IP <ip>.38643 > <IP_ADDRESS>.53: 132+ [1au] AAAA? invalid2.example.com.localdomain. (61)
00:27:30.023242 IP <ip>.45824 > <IP_ADDRESS>.53: 13507+ [1au] A? invalid2.example.com.localdomain. (61)
00:27:30.023310 IP <ip>.51039 > <IP_ADDRESS>.53: 24261+ [1au] AAAA? invalid.example.com.localdomain. (60)
00:27:30.023393 IP <ip>.40031 > <IP_ADDRESS>.53: 17467+ [1au] A? invalid.example.com.localdomain. (60)
00:27:30.027140 IP <ip>.39405 > <IP_ADDRESS>.53: 18923+ [1au] AAAA? invalid3.example.com.localdomain. (61)
00:27:30.027284 IP <ip>.56024 > <IP_ADDRESS>.53: 23436+ [1au] A? invalid3.example.com.localdomain. (61)

If we either remove the search domain from resolv, or supply a domain with a trailing dot (-d example.com.) , this is cut down to 12 queries:
00:31:23.982011 IP <ip>.37986 > <IP_ADDRESS>.53: 11869+ [1au] AAAA? 85d5c497-988b-492f-a63a-68c9cf26282b.example.com. (77)
00:31:23.982059 IP <ip>.40365 > <IP_ADDRESS>.53: 37511+ [1au] A? 85d5c497-988b-492f-a63a-68c9cf26282b.example.com. (77)
00:31:23.994870 IP <ip>.34752 > <IP_ADDRESS>.53: 9401+ [1au] AAAA? example.com. (40)
00:31:23.994909 IP <ip>.43539 > <IP_ADDRESS>.53: 47663+ [1au] A? example.com. (40)
00:31:23.996597 IP <ip>.36751 > <IP_ADDRESS>.53: 33425+ [1au] AAAA? www.example.com. (44)
00:31:23.996754 IP <ip>.36513 > <IP_ADDRESS>.53: 10848+ [1au] AAAA? invalid.example.com. (48)
00:31:23.996883 IP <ip>.60591 > <IP_ADDRESS>.53: 54684+ [1au] AAAA? invalid2.example.com. (49)
00:31:23.997007 IP <ip>.59325 > <IP_ADDRESS>.53: 26004+ [1au] AAAA? invalid3.example.com. (49)
00:31:23.997071 IP <ip>.57571 > <IP_ADDRESS>.53: 23502+ [1au] A? www.example.com. (44)
00:31:23.997144 IP <ip>.44323 > <IP_ADDRESS>.53: 3719+ [1au] A? invalid.example.com. (48)
00:31:23.997240 IP <ip>.57715 > <IP_ADDRESS>.53: 26541+ [1au] A? invalid2.example.com. (49)
00:31:23.997308 IP <ip>.33131 > <IP_ADDRESS>.53: 21877+ [1au] A? invalid3.example.com. (49)

On a larger wordlist, eliminating these extraneous queries results in a significant speedup:
$ cat /usr/share/dict/american-english  | shuf -n10000  > wl
$ for i in {1..5}; do time gobuster dns -z -r <IP_ADDRESS> -d example.com -w wl ;done 2>&1 | grep real
real    0m14.862s
real    0m14.643s
real    0m14.365s
real    0m14.282s
real    0m14.136s
#reshuffle wordlist
$ cat /usr/share/dict/american-english  | shuf -n10000  > wl
# note the trailing dot on the domain
$ for i in {1..5}; do time gobuster dns -z -r <IP_ADDRESS> -d example.com. -w wl ;done 2>&1 | grep real
real    0m8.190s
real    0m7.896s
real    0m7.648s
real    0m7.459s
real    0m7.359s

With the code from the PR applied we don't need to supply the trailing dot by default.:
$ cat /usr/share/dict/american-english  | shuf -n10000  > wl
$ for i in {1..5}; do time ./gobuster/gobuster dns -z -r <IP_ADDRESS> -d example.com -w wl ;done 2>&1 | grep real
real    0m8.254s
real    0m8.030s
real    0m7.823s
real    0m7.591s
real    0m7.491s

nice catch thanks!


In create-platformatic, add lock files to .gitignore

We shouldn't commit them. If we do, we might have in the repository a lock file which is not aligned to the migrations applied on a DB.

I think we should because otherwise in prod it would take forever to start the app.


[Schema Registry Avro] ESM Migrate

Packages impacted by this PR
Issues associated with this PR
Describe the problem that is addressed by this PR
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.

Pipeline tests succeed here. Currently skipping min max testing because the min/max tests are running in parallel, see #30578.


Lack of some clusterrole

When I try to install cluster-proxy on a OCP platform, I got the following error:
E0217 08:54:41.554025       1 base_controller.go:270] "cluster-management-addon-controller" controller failed to sync "local-cluster/cluster-proxy", err: managedclusteraddons.addon.open-cluster-management.io "cluster-proxy" is forbidden: cannot set an ownerRef on a resource you can't delete: , <nil>

E0217 08:54:41.944396       1 base_controller.go:270] "addon-registration-controller" controller failed to sync "local-cluster/cluster-proxy", err: roles.rbac.authorization.k8s.io "cluster-proxy-addon-agent" is forbidden: cannot set blockOwnerDeletion if an ownerReference refers to a resource you can't set finalizers on: , <nil>

I didn't find this issue in a KinD env, so I suppose OCP has a tighter permission on roles.
In my practice the issue can be solved by:
On hub:
Apply the following changes to clusterrole.yaml:
  - apiGroups:
      - addon.open-cluster-management.io
    resources:
      - clustermanagementaddons
      - managedclusteraddons
      - clustermanagementaddons/status
      - managedclusteraddons/status
    verbs:
      - get
      - list
      - watch
      - create
      - update
      - patch
      - delete # !!! Here! add this
  - apiGroups:
      - proxy.open-cluster-management.io
    resources:
      - managedproxyconfigurations
      - managedproxyconfigurations/status
      - managedproxyconfigurations/finalizers # !!! Here! add this
    verbs:
      - get
      - list
      - watch
      - update
      - patch

One agent:
I'm not sure how to fix this issue on the agent,  because as the code shows:
https://github.com/open-cluster-management-io/cluster-proxy/blob/ffd6cad3bc8be95ec20bd8635ffab54b9e6e8678/pkg/proxyagent/agent/agent.go#L190-L195
We can either add permission to the addon-framework or we can delete the ownerReference here(Or set the BlockOwnerDeletion to false).
So it depends on whether this OwnerReferences must be in agent manifest work. @yue9944882
cc @skeeey

@xuezhaojun thx for the clue. i'm leaning on solving this issue by adding more permissions to the helm charts. PTAL at the purposed changes in this commit https://github.com/open-cluster-management-io/cluster-proxy/pull/72/commits/865275e7ccbbc3c5ce9c2ac08056d486e5a52ac0 at pull https://github.com/open-cluster-management-io/cluster-proxy

Thanks for the updates! I verified the change on the OCP platform and it works!


chore(main): release protocol 1.4.0

:robot: I have created a release beep boop
1.4.0 (2024-04-25)
Features

protocol: add DeployTaikoToken script (#16771) (00f8954)
protocol: add a new tier B_TIER_GUARDIAN_MINORITY (#16790) (cab4071)
protocol: add a script to use native USDC token as the bridged token (#16812) (63fe93d)
protocol: add back EventProcessed event and improve gas logging in Bridge (#16760) (530457b)
protocol: allow GuardianProver set TKO allowance for TaikoL1 (#16831) (ce7076c)
protocol: increase GAS_OVERHEAD value based on testnet data (#16769) (fb9334c)
protocol: pause ERC20Vault by default on L2 so owner can deploy native USDC (#16791) (cd682a0)
protocol: redesign Bridge fee & gasLimit and remove 2-step processing (#16739) (3049b0c)
protocol: remove ERC20SnapshotUpgradeable from TaikoToken and BrigedERC20 tokens (#16809) (f20a02f)
protocol: trigger simultaneous recurring TKO snapshots (#16715) (bffc8dc)

Bug Fixes

protocol: change to transfer and mint pattern with BridgedERC20 tokens (#16796) (75841ec)
protocol: fix an issue in DevnetTierProvider (#16798) (2714dd2)
protocol: renounce timelock_admin role from msg.sender (#16751) (abd18e8)
protocol: revert auto snapshot PR (#16801) (ef00cae)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/taikoxyz/taiko-mono/releases/tag/untagged-6ebcab97a60f30309e48 :sunflower:


[AutoPR containerservices/resource-manager] [AKS] note that only one agent pool is currently supported

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3835

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/3298


docs(blog): tag and link updates

PR Checklist
Please review the guidelines for contributing to this repository.

[X] I am requesting to pull a topic/feature/bugfix branch (right side). In other words, not master.
[X] I have run npm test against my changes and tests pass.
[X] I have added or edited necessary documentation, or no docs changes are needed.

Description
Updates tags on a couple blog entries and fixes a broken external link in the most recent entry.

:tada: This PR is included in version 1.22.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Re-write the LSP tests to not rely on tower-lsp

Currently we are using tower-lsp to create a mock Client for testing in the language server.
This is a blocker for moving ahead with the custom event loop work as all of our internal types need to be wrapped in RwLock to enable interior mutability.
In rust-analyzer they just rely on the expected messages constructed with the lsp_types crate directly. We would just need to construct these types ourselves.

This was mostly done in #4976 . The only tests left that have been untouched are the notification methods that rely on a tokio blocking thread for compilation.
We have shelved moving ahead with a custom event loop at this time and work started in #5057 will remove the reliance on RwLock for our types. Closing this for now.


Add getAngle

Closes #690
Add new Trig method getAngle, which converts a NAS2D::Vector<float> to a float angle in degrees.

We may want to consider using radians by default, or tagging methods with either Rad or Deg, possibly providing both alternatives.
We may want to consider what coordinate system should be used, such as a Cartesian coordinate system or a screen coordinate system. In particular, which direction corresponds to angle 0 (up? right?), and which direction does the angle increase (clockwise? counterclockwise?).
We may want to consider renaming the methods to improve consistency and clarity.

@Brett208, I was going to request review from you, though it seems you're not part of the Lairworks organization.

What if you did the following:
namespace Screen {
    getAngleRadians();
    getAngleDegrees();
}

namespace Cartesian {
    getAngleRadians();
    getAngleDegrees();
}

I don't really know what the right answer is though. Your initial answer of clockwise starting from 12 oclock is probably my default answer but I'm a poor mathematician...

Hmm, interesting solution. I hadn't thought to use namespaces. I guess I generally try to avoid nesting namespaces.
Of course the translation between zero points, direction of increase, and radians or degrees should be a linear transform. Maybe a base radian method using standard math Cartesian coordinates could be wrapped in various linear translation methods. The zero point would be the addition term, while the direction and unit would be the multiplier.

After some thought, I figured we should provide only radian measure trigonometry functions, and require explicit wrapping with a function to convert between radians and degrees. The trig functions work natively with radians, so that's the most efficient way to use them. Plus, many trig functions are used in pairs, so the exact unit being used will often cancel out anyway.
Similarly, I thought we should go with the standard Cartesian coordinate system and counterclockwise direction of angle increase. That matches standard math conventions, so should be the least surprising. Converting to angles in a different coordinate basis can be done by wrapping methods, the same as the conversion between degrees and radians. Either way, it's a fairly simple linear transformation between the various angle measurements. Actually, the change in direction and the flipped y-axis both contribute a -1 multiplier, which cancel each other out, so the difference between the two coordinate systems is simply adding or subtracting 90 degrees. By using the standard math convention, we can avoid adding that offset into every function, and like above, when using functions in pairs, the constant would cancel itself out anyway.
That leaves renaming for better clarity, which I'm going to avoid as out of scope for the moment.


segmentation fault error

<EMAIL_ADDRESS>commented:

Which version of PhantomJS are you using? 1.3
Which operating system are you using? linux lucid
Did you use binary PhantomJS or did you compile it from source? compiled from source
I have a segmentation fault error on page.evaluate(function() { ... })
Stacktrace:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7077e96 in ?? () from /usr/lib/libQtWebKit.so.4
(gdb) where
#0  0x00007ffff7077e96 in ?? () from /usr/lib/libQtWebKit.so.4
#1  0x00007ffff71029ff in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007ffff75eade2 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007ffff6d6d8a1 in ?? () from /usr/lib/libQtWebKit.so.4
#4  0x00007ffff6d74aa3 in ?? () from /usr/lib/libQtWebKit.so.4
#5  0x00007ffff6dad797 in ?? () from /usr/lib/libQtWebKit.so.4
#6  0x00007ffff6d831c0 in ?? () from /usr/lib/libQtWebKit.so.4
#7  0x00007ffff6e63849 in ?? () from /usr/lib/libQtWebKit.so.4
#8  0x00007ffff6e775d6 in ?? () from /usr/lib/libQtWebKit.so.4
#9  0x00007ffff6e77e35 in ?? () from /usr/lib/libQtWebKit.so.4
#10 0x00007ffff71058e9 in ?? () from /usr/lib/libQtWebKit.so.4
#11 0x00007ffff718da76 in ?? () from /usr/lib/libQtWebKit.so.4
#12 0x00007ffff5744a63 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#13 0x00007ffff5f3622c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#14 0x00007ffff5f3c6fb in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#15 0x00007ffff573506c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#16 0x00007ffff5761d42 in ?? () from /usr/lib/libQtCore.so.4
#17 0x00007ffff575e848 in ?? () from /usr/lib/libQtCore.so.4
#18 0x00007ffff30f28c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#19 0x00007ffff30f6748 in ?? () from /lib/libglib-2.0.so.0
#20 0x00007ffff30f68fc in g_main_context_iteration () from /lib/libglib-2.0.so.0
#21 0x00007ffff575e513 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#22 0x00007ffff5fe646e in ?? () from /usr/lib/libQtGui.so.4
#23 0x00007ffff5733992 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#24 0x00007ffff5733d6c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#25 0x00007ffff5737aab in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#26 0x000000000041658d in main ()
Phantomjs 1.2 has no this error

Disclaimer:
This issue was migrated on 2013-03-15 from the project's former issue tracker on Google Code, Issue #255.
:star2:   3 people had starred this issue at the time of migration.

We apologize for neglecting this bug report for years.
This bug was reported against a very old version of PhantomJS.  The current version, 2.0, includes a major update to both Qt and Webkit, which we believe is quite likely to have fixed this problem.  However, since the original report includes neither any information about the website that was being accessed via PhantomJS, nor the controller script in use, we are unable to test this ourselves.
Please get the current version from http://phantomjs.org/download.html and test it.  Because this bug is very old and we don't have enough information to do anything about it as is, we will close it if we don't hear back from you in one month.


decide on tools/qi

Need to decide if qiskit/tools/qi is needed. When the other tools go into different elements is there any need for keeping this around.

Closing this with #1142 and i make a new one on the qi.py file


Search component skeleton

This card should account for:

component styling
implement the input text
implement a loading spinner blocking the search component while waiting on response
implement the slider that represents the developmental stages
implement the expandable sections for the results structured as

neurons
contacts
synapses

Implement splitted button to instantiate new cphate viewers
implement the "load more" button in the results, a lick on load more will send another request to fetch entries starting from the limit of the last result (Strapi CMS provides start and limit parameters to implement this behavior, all endpoints come with the same API features listed in their documentation). Since the number of neurons is limited to 200-300, we can fetch these in one request by setting a high limit parameter. However, we still might want to show only the first 10-30 results even if they are already present. Therefore, the click more mechanism will consider (1) number of items to display and (2) available items returned in requests.
implement the scrolling when more results are loaded
hovering one results record should highlight that and show the button "add to"
implement the "add to" popup/menu

moved to icebox since I think it would be better to split this into smaller tasks and see what we can fit in the release 0.1

@lrebscher decreasing this estimate by the hours allocated for https://app.zenhub.com/workspaces/yale-neuroscan--db-promoter-60749ce5c09a74000fe7ef74/issues/metacell/geppetto-neuroscan/122 so we keep in line all the numbers to make them match.

we can use this for the filtering: https://github.com/ljharb/qs


set couch-stale setting to update_after

@proteusvacuum
FYI @snopoke

:+1: just need to make sure this is overridden in the env vars files where it needs to be (prod and softlayers)

Makes sense, closing this

Updated

Bump. This is urgent, exports are dysfunctional on swiss without this


[SPARK-32920][SHUFFLE] Finalization of Shuffle push/merge with Push based shuffle and preparation step for the reduce stage

What changes were proposed in this pull request?

Summary of the changes made as part of this PR:

DAGScheduler changes to finalize a ShuffleMapStage which involves talking to all the shuffle mergers (ExternalShuffleService) and getting all the completed merge statuses.
Once the ShuffleMapStage finalization is complete, mark the ShuffleMapStage to be finalized which marks the stage as complete and subsequently letting the child stage start.
Also added the relevant tests to DAGSchedulerSuite for changes made as part of SPARK-32919

Lead-authored-by: Min Shen<EMAIL_ADDRESS>Co-authored-by: Venkata krishnan Sowrirajan<EMAIL_ADDRESS>Co-authored-by: Chandni Singh<EMAIL_ADDRESS>Why are the changes needed?

Refer to SPARK-30602
Does this PR introduce any user-facing change?

No
How was this patch tested?

Added unit tests to DAGSchedulerSuite

Can one of the admins verify this patch?

cc @jiangxb1987 @Victsm @mridulm @Ngone51 @tgravescs Please review

+CC @venkata91 please resolve conflicts

Fixed the PR rebasing the latest master changes and also marked it as open for review. cc @mridulm @Victsm @otterc @Ngone51

Gentle ping @Ngone51 @tgravescs @mridulm @Victsm

Addressed review comments, please review @mridulm @Victsm @Ngone51

Addressed all the comments AFAIK, please review @mridulm @Victsm @Ngone51 @otterc

continuous-integration/appveyor/pr — AppVeyor build failed
This seems to be an unrelated failure. @mridulm Can you please try kicking off another run?

Jenkins test this please

Test build #139197 has started for PR 30691 at commit 19b0b64.

Test build #139197 has finished for PR 30691 at commit 19b0b64.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139197/

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43715/

Looks good to me. Thanks @venkata91 for working on this.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43715/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43719/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43719/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43719/

The changes look good to me. Can you fix the style errors @venkata91 ?
+CC @Ngone51 for another pass.
Also @attilapiros, @tgravescs FYI.

Fixed it.

Jenkins test this please

Test build #139324 has started for PR 30691 at commit e14544e.

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/43846/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/43846/

Test build #139324 has finished for PR 30691 at commit e14544e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139324/

Gentle ping @mridulm @Ngone51 @otterc for additional reviews after the last changes.

Looks good to me as well. Thanks @venkata91 for working on this.

Changes lgtm.

jenkins, test this please

Test build #139624 has started for PR 30691 at commit e570818.

Test build #139624 has finished for PR 30691 at commit e570818.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/139624/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44151/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/44151/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/44151/

jenkins, test this please

Test build #139650 has started for PR 30691 at commit e570818.

Test build #139650 has finished for PR 30691 at commit e570818.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.


test

I am trying to run "azbb -s xxxxxxxxxxxxxxxxx -g yyyyyyyy -l eastus -p secure-vnet-hybrid.json --deploy" but encountered the below problem. There are many special char such as \\ in the output of Powershell. Any suggestion to resolve the issues?
error: error executing az
status: 1
arguments: group deployment create --name bb-02-vm --resource-group abc-dev-007 --template-uri https://raw.githubusercontent.com/mspnp/template-building-blocks/v2.1.0/templates/buildingBlocks/virtualMachines/virtualMachines.json --parameters @E:\Azure_Cloud\reference-architectures-master\dmz\secure-vnet-hybrid\secure-vnet-hybrid-output-02.json
error: error executing az
Deployment failed. Correlation ID: 976e31d5-c5e6-464e-8fc4-078788c32a90. {
"status": "Failed",
"error": {
"code": "ResourceDeploymentFailure",
"message": "The resource operation completed with terminal provisioning state 'Failed'.",
"details": [
{
"code": "DeploymentFailed",
"message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.",
"details": [
{
"code": "Conflict",
"message": "{\r\n  "status": "Failed",\r\n  "error": {\r\n    "code": "ResourceDeploymentFailure",\r\n    "message": "The resource operation completed with terminal provisioning state 'Failed'.",\r\n    "details": [\r\n      {\r\n        "code": "DeploymentFailed",\r\n        "message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.",\r\n        "details": [\r\n          {\r\n            "code": "Conflict",\r\n            "message": "{\r\n  \"status\": \"Failed\",\r\n  \"error\": {\r\n    \"code\": \"ResourceDeploymentFailure\",\r\n    \"message\": \"The resource operation completed with terminal provisioning state 'Failed'.\",\r\n    \"details\": [\r\n      {\r\n        \"code\": \"DeploymentFailed\",\r\n        \"message\": \"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.\",\r\n        \"details\": [\r\n          {\r\n            \"code\": \"Conflict\",\r\n            \"message\": \"{\\r\\n  \\\"status\\\": \\\"Failed\\\",\\r\\n  \\\"error\\\": {\\r\\n    \\\"code\\\": \\\"ResourceDeploymentFailure\\\",\\r\\n    \\\"message\\\": \\\"The resource operation completed with terminal provisioning state 'Failed'.\\\",\\r\\n    \\\"details\\\": [\\r\\n      {\\r\\n

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

ID: 132f3909-1efc-e58a-7d58-8d378046f43a
Version Independent ID: c94ad8d8-49c8-f47d-cf33-956f85b10ab1
Content: Implementing a DMZ between Azure and the Internet
Content Source: docs/reference-architectures/dmz/secure-vnet-dmz.md
Service: guidance
GitHub Login: @telmosampaio
Microsoft Alias: pnp

You should be able to find the specific deployment step that failed by following this doc.

I have one more question about verifying the DMZ solution.
I can now install and run the solution and I can invoke a web browser to <IP_ADDRESS> to get the web page. One thing I don’t understand is that the web tier is at <IP_ADDRESS> and <IP_ADDRESS> is only the DMZ load balancer front end address. How the http to the DMZ front end address is routed automatically to the web tier address of <IP_ADDRESS> to get the web page? I am missing this part?
Regards
Derek
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: Mike Wasson<EMAIL_ADDRESS>Sent: Wednesday, November 14, 2018 12:21:16 AM
To: mspnp/architecture-center
Cc: Derek Chung Lap Cheung; Author
Subject: Re: [mspnp/architecture-center] test (#931)
Closed #931https://github.com/mspnp/architecture-center/issues/931.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/mspnp/architecture-center/issues/931#event-1964930725, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAyhoU1ghhLo0dr_dqHaMMCbVuRsmC-Vks5uu6hMgaJpZM4YVwcp.


Allow small-0 and large-0 classes with no padding

Doing column small="0" or column large="0" doesn't completely remove the column at breakpoints because the left and right padding remain, as small-0 and large-0 are not compiled classes.

Are you looking to control the grid column gutter at different screen sizes? Perhaps the approach can look similar to Foundation for Sites: https://github.com/zurb/foundation-sites/blob/develop/scss/grid/_gutter.scss
There is already a collapse class, and it would be best to follow a uniform approach for people using both frameworks.
Thoughts?

@jsit Does this solve your use case?

Hi @jsit Still unclear on the goals of this. We'll close this here, let us know what you're trying to accomplish and we'll go from there!

Thanks @rafibomb; not sure what method you're pointing out in your previous comment. Basically I want a "margin" inside the container of an email above the breakpoint, but not below it. It can be thought of as an empty column that should disappear on mobile, whose only purpose is to add whitespace. Does that make sense?
  <row>
    <columns small="0" large="1"></columns>
    <columns small="12" large="10">

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Perge porro; Ut aliquid scire se gaudeant? Duo Reges: constructio interrete. Aliter autem vobis placet. Graccho, eius fere, aequalí?

    </columns>
    <columns small="0" large="1"></columns>
  </row>

Hi @rafibomb -- Did my explanation make sense? I still find myself adding code for small="0" and large="0" whenever I create new projects -- I find it indispensable. If I can explain something better, please let me know.

Hi! Hope I'm not too late with a solution. We do this all the time in our eDMs.
In lieu of small=0 etc, use the offset class and show-for-large class.
<row>     <columns small="12" large="10" class="large-offset-1">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Perge porro; Ut aliquid scire se gaudeant? Duo Reges: constructio interrete. Aliter autem vobis placet. Graccho, eius fere, aequalí?
     </columns>     <columns large="1" class="show-for-large"> </columns>   </row>
The above makes the row stretch for the full 12 columns for mobile, but for desktop it will leave a 1 column gap either side.
The "large-offset-1" gives a 1-column gap before the content.
We then add a column with an   on the end for the trailing 1-column gap (otherwise the content will stretch to the end of the row).
The "show-for-large" class then hides that end column for mobile. Mobile ESPs and devices (bar Gmail app) will respect the applied display:none; style, while desktop (Outlook, Gmail etc) will display the column.

@SimonIMG I hadn't even thought of that! That's a much more elegant solution. Thanks, I'll try it.


Native Windows Support

Are there any plans for native Windows support? This is a missed opportunity, and I would love to know why this hasn't been done.

No, WSL exists so there's no reason to support it natively. Setting up windows CI for all the bridges would be way too much effort for a few users. It might happen if we eventually decide to bundle self-hosting bridges in beeper desktop, but otherwise very unlikely.

I'm interested in the possibility of native Windows support for Beeper and would love to learn more and possibly might help to build this feature. @steskalja @tulir


[Settings] Hanging in "search updates"

Clicking (touch or mouse input) very fast multiple times on check for updates brings ux in hanging "check for updates" state.
https://user-images.githubusercontent.com/61519853/135133502-a12f5a86-4218-4272-a81b-58f01e47c1b6.mp4

cc: @niels9001

I know we had this repoted in another issue too. But there we can't reproduce it. Not sure if it's open or closed.

Reported in #13383 and @davidegiacometti  has a repro,.


rfc/025-multiple-pools.md: s/host/controller/; revise role specs

Created by: vvv

Rename enc_hosts to enc_controllers. "Controller" is how that piece of equipment is called. Let facts configuration use the same terminology.

Revise role specification:

bare c_halon_address and c_halon_roles would look nice in YAML file, but would require special treatment in Haskell code. It is not worth it;
add r_ prefix to the fields of role descriptor.

Closing as an obsolete


leaning up some lint errors

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main----.hlx.page/
After: https://----.hlx.page/

URL for testing:

https://new-blocks--takeda-hlx--dancollinz.hlx.page/


Kubeface training for mhcflurry

Coverage increased (+0.9%) to 76.25% when pulling 1e93de7677731ae2f14aa4ac1e689d75dddd059f on rohanpai:rohan/parallel_training into 85b5a3f146e230850b83de84177b473bbe89ec40 on hammerlab:master.

Thanks @rohanpai , I left a bunch of small comments but this is looking good!
General comment: probably useful to skim these style guides, which we generally try to follow: https://www.python.org/dev/peps/pep-0008/ and https://google.github.io/styleguide/pyguide.html
Also, the merge method probably deserves a unit test

Coverage increased (+0.2%) to 75.534% when pulling 1e93de7677731ae2f14aa4ac1e689d75dddd059f on rohanpai:rohan/parallel_training into 85b5a3f146e230850b83de84177b473bbe89ec40 on hammerlab:master.

Coverage increased (+0.2%) to 75.608% when pulling 2580e1c2c42bfde27d37ab27cfe367619693ca48 on rohanpai:rohan/parallel_training into 85b5a3f146e230850b83de84177b473bbe89ec40 on hammerlab:master.

Coverage increased (+0.2%) to 75.608% when pulling 2580e1c2c42bfde27d37ab27cfe367619693ca48 on rohanpai:rohan/parallel_training into 85b5a3f146e230850b83de84177b473bbe89ec40 on hammerlab:master.

Coverage increased (+0.2%) to 75.608% when pulling 2580e1c2c42bfde27d37ab27cfe367619693ca48 on rohanpai:rohan/parallel_training into 85b5a3f146e230850b83de84177b473bbe89ec40 on hammerlab:master.

Thanks @rohanpai . Just noting for future reference that we discussed in person and decided we're going to move to working in a branch for now, then decide later what makes sense to merge into the main mhcflurry repo . Feel free to assign me to PRs against your branch (or against a forked mhcflurry repo under your account) for code reviews as often as you like though. Closing this PR for now in light of that


Endian fix for Strings in s390x

What's in this pull request?
This PR contains two big endian related fix in String.

The change in StaticString's withUTF8Buffer is to store the UTF-8 code unit properly in the buffer.

The change in StringCore's _nthContiguous  is to represent the UTF-16 data correctly when it contains the high byte.

We ran validation tests and foundation tests with the change on x86-64 and s390x.  No new regression is observed.
Resolved bug number: (SR-)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    All supported platforms     | @swift-ci Please smoke test and merge
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

A smoke test on macOS does the following:

Builds the compiler incrementally.
Builds the standard library only for macOS. Simulator standard libraries and
device standard libraries are not built.
lldb is not built.
The test and validation-test targets are run only for macOS. The optimized
version of these tests are not run.

A smoke test on Linux does the following:

Builds the compiler incrementally.
Builds the standard library incrementally.
lldb is built incrementally.
The swift test and validation-test targets are run. The optimized version of these
tests are not run.
lldb is tested.

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    All supported platforms     | @swift-ci Please test and merge
    OS X platform               | @swift-ci Please test OS X platform
    OS X platform               | @swift-ci Please benchmark
    Linux platform              | @swift-ci Please test Linux platform

Lint Testing
    Language     | Comment
    ------------ | -------------
    Python       | @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

Are these changes caught by existing tests, or is there a new test that should be added so that this would fail on big-endian systems without this change?

@jrose-apple, thanks for the comment.  There are existing tests catching these issues in s390x which I used for debugging.
1_stdlib/StatingSting.swift is catching UTF-8 one and 1_stdlib/Character.swift is catching the UTF-16 issue
Current test coverage would be sufficient.

@swift-ci Please smoke test OS X platform

@garyliu1 Unfortunately, that won't work without privileges!
@swift-ci please smoke test OS X platform.

@CodaFi.  Thank you for getting smoke test running

Thanks, Gary! (and Robert). Given @vivkong's comment on the other s390x patch, it probably makes sense to pull this into swift-3.0-branch (following the release process). Mind making a pull request for that?

@jrose-apple  Thanks. We will follow up with another PR to swift-3.0-branch.


Bound the camera to room limits

The camera shows the outside world, I only want to see outside world at the surface of the water, everywhere else the camera should be bounded to rooms corner limits

design change


Update empty_environment to match buoyant_tethys

Use same step size
Remove contact
Update GUI plugins (which we should eventually move to a GUI config)

The failing test on CI should be fixed by #61
Merging!


Feature: method signature type operators

I sometimes find myself in need of a type operator that allows me to derive (anonymous) types from function signatures.
Please pay no attention to the syntax - the use of $ as operator here is an arbitrary choice, I'm not sure what this should look like.
The operator can be used to derive a new type from the return type of a given function type - for example, a function that dispatches a given function might have the same return type as the given function, but would have different arguments:
function dispatch<T extends Function>(func: T) {
    return func();
}

var test = dispatch(() => "Hello");

The return type (the type of test) in this example is any - but given the argument type { (): string }, with type inference, we actually should be able to infer the return type as string.
With an explicit return type for the function, we would need an operator that is capable of deriving a return type string from the type { (): string }, e.g. something like:
function dispatch<T extends Function>(func: T) : $T {
    return func();
}

The operator can also be used to derive a new type from the arguments of a given function type - for example:
function route<T extends Function>(func: T) : T$ {
   return <any> function() { ... }
}

var test = route((who: string) => console.log("Hello, " + who));

The return type of the function call in this case becomes { (who: string): void }.
The third use of this operator combines the argument list of one type with the return type of another type, e.g.:
interface Filter { (): boolean }

function accept<T extends Function>(filter: T) : T$Filter {
    return <any> function() { ... }
}

var test = accept((input: string) => true);

The return type of the function call in this case becomes { (input: string): boolean }, e.g. taking the argument list from the left operand, and the return type of the right operand.
In other words, this type operator combines the argument list from a left operand with the return type of a right operand - if the left operand is left out, it defaults to an empty argument list, or if the right operand is left out, it default to a void return type; that is, the default operand in either case essentially is Function e.g. { (): void }.
I believe this would enable us to construct some very elegant URL routers, MVC-style action filters, and probably other useful things.
One question I can't answer right now is, since this operator only operates on function signatures, what (if anything) happens to other members of the type? Perhaps it might work like the | operator and create a union type, or it might simply discard/ignore other members of both types.
I know this idea is sketchy and not a specification or a real proposal - for now I'm just putting the idea up here to see how you react to it :-)

closing in favor of #6606


Transmission stops after a several seconds

Hi, please help with my new problem using Lora Module SX1278. My previous problems are already discussed in separate thread, this may help you from determining the problem. https://github.com/jgromes/LoRaLib/issues/6#issuecomment-371758939
During the transmission after 30-50 seconds the transceiver will stop transmitting and it work again by resetting my arduino board. What do you think the cause of this? I tried to you the default code and still the same. I already tried my 2 modules but same problem. Is there any way to restart the module without resetting the controller?
Thank you.

What version of the library are you using?
What type of MCU? Arduino Uno/Mega/ESP8266/...?

Hi, I just want you to know that this problem is now fixed. I had this problem because the instance of the packet class is created inside the loop() function but when i tried to transfer it out that function, it works well. i have another question. Currently im using arduino uno and I need to change the default pins  DIO0 pin:  2
DIO1 pin:  3 for lora SX1278?
In your sample  below, you are using SX1272 , but when i tried to use it using SX1278 lora = new LoRa(7,11,12), i got an error saying  "Initialization failed, code 0x1"
SX1272 loraSX1272 = new LoRa(6, 4, 5);
Please help me.thank you

You're probably using outdated version of the library - the Packet class was discontinued at v3.0.0. Please update and try if the current issue persists.

okay I will redownload your library. is there any option in your code that allows me to use any digital pin for DIO0 and DIO1? thank you

It's that constructor:
SX1278 lora = new LoRa(6, 4, 5);
You were doing the right thing, you just can't use pins 13, 12 and 11 on Uno, because those are already used for SPI.

Hi, Good evening.
I need your help again.
I was trying to change the spreading factor to 6 using below code:
if (lora.setSpreadingFactor(6) == ERR_INVALID_SPREADING_FACTOR) {
Serial.println("Selected spreading factor is invalid for this module!");
while (true);
}
I can successfully change the config, However, as per documentation the CRC needs to be disabled when using SF6, the problem is I don't know to disabled it. I see some codes in the library  to change the settings of the module using SPIsetRegValue() function. I tried the below code but i got an error saying "'class SX1278' has no member named 'SPIsetRegValue'". Can you provide an example to change the settings of the module?
lora.SPIsetRegValue(SX127X_REG_MODEM_CONFIG_2,SX127X_REG_MODEM_CONFIG_2,2,2);
OR
lora._mod->SPIsetRegValue(SX127X_REG_MODEM_CONFIG_2,SX127X_REG_MODEM_CONFIG_2,2,2);
Thank you so much.

You can't access SPI manipulation methods, because they're private - public API is unable to access them, which is very much intended.
Also, you don't need to disable CRC manually - LoRaLib does it automatically when you set spreading factor to 6.

Thank you so much for the reply.
Currently, I'm now playing the settings by combining the different configurations by changing the frequency,bandwidth, spreading factor and coding rate. What i want to achieve is fast data transmission with considerable distance since I'm using this to RC plane. As what you have said in the other thread, you don't recommend this module, however, I will to do some configurations and see how far this module can go.
Thank you again.


Better documentation

For starting on two Pis:
I'll put up a better writeup on the Github, but for now try this:
First log into both of your pis and install midori using
sudo apt-get install midori

On your faster Rasbperry Pi (lets call it pi1) do the following:
sudo pip install setuptools
git clone https://github.com/schollz/musicsaur.git
cd musicsaur
sudo python setup.py install

Now edit config.cfg with vim or nano and edit the line #42 to
music_folder = /location/of/your/music

and then edit line #16 to
clients = pi1<EMAIL_ADDRESS>
where pi2.ip.address is the local IP addresses of your other pi. You can get this by logging into your second pi and typing $ ipconfig and looking at the wlan0 inet addr.
Now, still logged in to the pi1, you need to transfer a ssh key so you don't have to type a password in to start up music on these pis. To do this just type the following:
ssh-keygen

Press enter at each prompt. Now, from the same pi1 enter the following and type the requested password for each pi when it prompts:
ssh-copy-id<EMAIL_ADDRESS>ssh-copy-id<EMAIL_ADDRESS>
Now that you have uploaded your keys to each of your pi from the server pi you can have automatic SSH access. Now, still logged into to the server pi1, just type the following
python syncmusic.py

It will show an address that you can goto on your phone to control you music. If you want to, you can play music with Chrome on Android. And you should be good to go! Let me know if you have questions.

FAQ
When you start the server and choose a folder, can you add songs to the folder to be played while its running? Or are all the songs only loaded when the server starts?

Songs are only loaded when the server starts. That's a good thing to add though. I'd also like to have better organization of the playlist on the webpage (at least sorted by artist...)

Setup website

Setup website


Test that Hypercane works effectively with the proxy servers specified in HTTP*_PROXY environment variables

Most *nix commands honor the HTTP_PROXY and HTTPS_PROXY environment variables. Hypercane processes these variables and applies them in hypercane/utils.py as part of get_web_session. We need to test this with Squid or Varnish to ensure the system will actually use a proxy server as a datastore.

We use the proxy as a storage cache for content. Many proxies just provide a pass-thru for HTTPS traffic and do not cache it. This is not sufficient for our purposes. We truly need to save mementos so we can process them multiple times, hence our existing MongoDB dependency. Merely supporting these environment variables is insufficient for Hypercane's needs.

This no longer makes sense when considering #65.


Relax Dart version requirements

Updated to allow for wider Dart versions, 2.18.0 to less than 4.0.0
Version bumped to 0.0.4

Hi @danielnordh, Thank you for submitting the pull request to relax the Dart version requirements. I have reviewed the changes, and everything looks good to me. It's great to see that the package will now support a wider range of Dart versions (2.18.0 to less than 4.0.0).


create table for storing GET and POST for localMemory

export class LocalMemory {
    constructor(projectName="", tp="", version="", equipment=[], reagents=[]) {
        this.projectName = projectName;
        this.tp = tp;
        this.version = version;
        this.equipment = equipment;
        this.reagents = reagents;
    }
}

this class needs to have GET and POST endpoint references to corresponding BR

localMem:  LocalMemory {
projectName: 'tile',
tp: 'tp.1',
version: '3.0',
equipment: [
{ eq_name: 'balancesid1_0', eq_code: '007-1' },
{ eq_name: 'balancesid2_0', eq_code: '007-10' },
{ eq_name: 'm_pumpid1_3', eq_code: '001-22' },
{ eq_name: 'reactorid1_7', eq_code: '002-11' },
{ eq_name: 'reactorid2_7', eq_code: '002-10' }
],
reagents: [
Reagent { reag_id: 'reagent0', reag_name: 'aaa', reag_amount: '1' }
]
}

parameter-rest-controller

parameter-rest-controller
Created


[WIP] Markup / tabindex / consistency fixes

refs #5652
Fixes:

Pressing "tab" after the last input field takes keyboard focus to address bar. Should be: submit button.

Providing that this option is chosen in safari:
This is WIP because there are more places I'd like to test / check this yet - just getting it open to show progress.
A couple of questions:

Are the consistency changes wanted? I think using a block helper for gh-spin-button, makes more sense / is easier to read, but not sure what the ember take on this is. Also I think it makes sense not to include 'type="button"' when that is the default.
Where buttons are submit button near a form (e.g. on setup/two and setup/three) should they not be inside the form? I thought that was normal from a markup perspective, but maybe it makes styling hard?

What's in the box:

ensure gh-spin-button passes type & tabindex through to markup
add gh-input class to auto focus input
add tabindexes to setup/two + make first field autofocus and button submit
always put button text inside opening/closing helper tag
only include type if it is 'submit' as button is default
wrap attributes in double quotes

:+1:


Use BODY_FORMAT enum

Partially addresses https://cccs.atlassian.net/browse/AL-2679

Closing because the effects would not be backwards-compatible, too far reaching and of little benefit


[Feature request] support Supabase

Use https://github.com/supabase/supabase-js as well as / instead of Firebase.

I've looked at Supabase and considered it for Trystero but its API lacks a disconnect handler which is important for cleaning up a peer's session info when they leave. Without it the database will fill with junk data about peers who are no longer around. That said, there might be a different strategy for cleanup and I'll give it some thought.

The latest release now supports Supabase as a peering strategy.


Typo in declared prop type issue

I am using React Router,  which has a ReactRouterPropTypes package for defining prop types. When using it like:
User.propTypes = {
match: ReactRouterPropTypes.match.isRequired,
history: ReactRouterPropTypes.history.isRequired,
I get these errors:

493:33  error  Typo in declared prop type: history  react/no-typos
494:31  error  Typo in declared prop type: match    react/no-typos

Dependencies:
    "eslint": "4.19.0",
    "eslint-config-airbnb": "16.1.0",
    "eslint-config-airbnb-base": "12.1.0",
    "eslint-plugin-import": "2.11.0",
    "eslint-plugin-jsx-a11y": "6.0.3",
    "eslint-plugin-react": "7.7.0",

Indeed; typos should only be checked on React.PropTypes and the prop-types package.

I believe this was fixed in v7.8.0 with #1671. I would suggest upgrading and re-verifying.


Support for Angular 5

Since Angular 5 was released yesterday, a migration might be required (e.g. operators for observables).
https://angular-update-guide.firebaseapp.com/

Yes I think this migration is necessary in the long run - even though I find the new Syntax quite a step back. After-all, they adopted the syntax to fix the import issues with TS/Rx, which seems the wrong way around. But anyway, I think it has been decided.
From my understanding and also the resource you just posted, it is a SHOULD and not MUST as rx won't be able to drop the current syntax that fast. To that end, I think it should work - we only have to allow ng 5 in our peer dependencies.
A bigger issue is the old Http client required by the JWT library. I think we have to updated to their latest version to get rid of it as this module has been dropped.
We usually follow the latest frameworks closely, so Angular 5 will be on our radar.

https://github.com/auth0/angular2-jwt/issues/442 😱
As we only depend on the JWT decoding classes which actually have nothing to do with Angular to begin with, we can handle it ourself if the need arrises.
I will observe this for 1-2weeks but if there is no ETA on a release date we might have to solve it our own. The good news is that this JWT stuff is hidden behind this library and we can handle it as we see fit. 😄

Mh, now I'm a little disappointed on auth0 ... I thought, they'd be ambitious.

Btw. did you plan any milestones for 2.0? I've got one or two suggestions on the code, but this can wait for 2.1, since I require the enhancements in master for at least two productive projects ;) So I prefer a stable release for once.

No actually I think we can release the current beta version as stable. That is, I will merge your PR tomorrow after some checks and then we settle on the current API for 2.0.
First my idea was to include the ng 5 and angular-jwt upgrades in 2.0 but since this would be an ETA of unknown time we go with this for 2.0.
If all goes well, we can even upgrade to angular-jwt 1.0 and introduce ng 5 support without breaking the 2.0 API at all.

Ah, there's one thing that concerns me before the release though: #12
I remember, you justified this with an issue in your application. Is it fixed now or does the idea of a configurable behavior sound good to you? For me it still breaks things...

See PR #19


boto3 client for lambda stops reading from a connection after 300 seconds

I have a Lambda function that contains code that needs to execute for 5 minutes or longer. I invoke this Lambda function using boto3 and wait for the response from the Lambda function (response being a json object).
I noticed that on using botocore.config.Config to increase read_timeout for the boto3.client the client keeps the connection open but stops reading from the connection after 300 seconds (5 minutes) and throws a ReadTimeoutError exception after the specified value of the read_timeout parameter.
Below are the code snippets to reproduce the issue:
Client machine code:
python: 3.5
OS: Ubuntu 16.04 Linux
botocore version: 1.14.11
import json

import boto3
import botocore

config = botocore.config.Config(read_timeout=310, connect_timeout=310, retries={'max_attempts': 0})
client = boto3.client('lambda', config=config)

payload = {"body":some_string}
payload = json.dumps(payload)

response = client.invoke(
            FunctionName='arn:aws:lambda:<region>:xxxxxxxxxxxx:function:function_name',
            InvocationType='RequestResponse',
            Payload=payload
        )

Lambda function code:
python: 3.7
import time
import json

def lambda_handler(event, context):
    time.sleep(300)
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

The above code produces the following error message:
botocore.exceptions.ReadTimeoutError: Read timeout on endpoint URL
after 310 seconds. I have tried experimenting with multiple values of time.sleep() and read_timeout. After referring to the CloudWatch logs I am fairly certain this only happens if Lambda executes for 300 seconds or more (the same can be verified by changing the sleep time in Lambda to 299)
What seems to be the issue here? Any help would be much appreciated.

This issue is same as boto3 issue https://github.com/boto/boto3/issues/2325. Closing this issue as duplicate. Let's track the progress of this issue under the linked boto3 github issue.


[Feature Request] Allow the OpenSearch source plugin to shut down the Data Prepper pipeline

Is your feature request related to a problem? Please describe.
Hello! We're working on changing the opensearch-migrations tooling so our data migration implementation uses Data Prepper instead of Logstash. We will be leveraging the newly minted OpenSearch/ElasticSearch source plugin for this.
Since this is a pull-based plugin, there is a finite set of data that needs to be ingested. Once all of the data has been processed, our expectation is that the Data Prepper pipeline would shut itself down based on a signal from the source plugin. This is similar to how pull-based plugins function in Logstash.
However, Data Prepper does not currently operate this way. The pipeline/process continues to stay alive (though the source plugin is not pulling any more data) until the caller terminates it or shuts it down via APIs.
Describe the solution you'd like
Once a pull-based source plugin has completed ingesting all data, it should signal to the Data Prepper pipeline, and the pipeline should shut itself down.
Describe alternatives you've considered (Optional)
An alternative approach would be to have the pipeline / source plugin signal externally (to the caller) that all data has been processed. The caller can then invoke the Data Prepper shutdown API to stop the process.
Additional context
N/A

Thanks for creating this issue @kartg!
While the implementation to shut down pipelines from notifications from sources would be abstracted from the opensearch source, as far as the OpenSearch source is concerned, what do you think the appropriate behavior would be?
My proposal would be to have a configurable value for the number of consecutive times the OpenSearch source has attempted to acquire an index with nothing being returned. The current behavior is to wait 30 seconds if no indices are found before attempting to acquire an index again, which would also run the partition supplier to pick up new indices. The location where this happens is here (https://github.com/opensearch-project/data-prepper/blob/05d229a06ceddb21cd9dedcaf49b1d455272fe6f/data-prepper-plugins/opensearch-source/src/main/java/org/opensearch/dataprepper/plugins/source/opensearch/worker/PitWorker.java#L77).
The config could be added to the scheduling config (naming needs some work on the parameter)
scheduling:
   shutdown_after_no_indices_found_count: 3

This would mean that if the OpenSearch source does not get any indices to process after 3 attempts (roughly 1 min 30 seconds), then it would issue a shutdown of the pipeline with whatever mechanism is supported for that.
We could also consider nesting the shutdown for future additions, such as
scheduling:
   shutdown:
       after_no_indices_found_count: 3
       # conditionally shut down with conditional expressions
       when: "/some_key == DONE"
       # shut down a certain time
       shutdown_time: "2023-06-28T22:01:30.00Z"

My proposal would be to have a configurable value for the number of consecutive times the OpenSearch source has attempted to acquire an index with nothing being returned.

@graytaylor0 if i understand this correctly, this would require the source indices to have a field that can be leveraged to sort temporally, so the approach cannot be applied more generally.
For example, consider an index that holds alphabets - (a, c, d). It's reasonable to assume that such documents would be sorted alphabetically. At a later point, if b is then inserted into the index, there is no query that would only return b, so it wouldn't be possible with fetch the index with nothing being returned.
A version of this to consider is a simple run count where the pipeline is shutdown after the OpenSearch source has queried its cluster a certain number of times:
scheduling:
   shutdown:
       after_query_count: 3

I do think that after_no_indices_found_count is a good idea, as are the other ideas you've listed (when and shutdown_time). It may just be easier to implement the simplest solution first. Wdyt?

For example, consider an index that holds alphabets - (a, c, d). It's reasonable to assume that such documents would be sorted alphabetically. At a later point, if b is then inserted into the index, there is no query that would only return b, so it wouldn't be possible with fetch the index with nothing being returned.

I’m not sure I understand what you mean here. The after_no_indices_found_count has nothing to do with the data in the indices. I think this is the best general indicator that nothing else needs to be processed

A version of this to consider is a simple run count where the pipeline is shutdown after the OpenSearch source has queried its cluster a certain number of times:

As in put a limit on the number of indices a source node can process before shutting down?

The after_no_indices_found_count has nothing to do with the data in the indices. I think this is the best general indicator that nothing else needs to be processed

Ah, my bad - i misunderstood the phrase "acquire an index with nothing being returned" to as referring to data within the index rather than the index itself. @graytaylor0 for my understanding (and after looking at the code you've linked above) - when would the SourceCoordinator return nothing? If some indices are already processed, are these filtered out by state maintained in the SourceCoordinationStore ?

for my understanding (and after looking at the code you've linked above) - when would the SourceCoordinator return nothing? If some indices are already processed, are these filtered out by state maintained in the SourceCoordinationStore ?

In lines 144-159 here (https://github.com/opensearch-project/data-prepper/blob/92af936d39b55d4f4fe0c413a57606113fb7150a/data-prepper-core/src/main/java/org/opensearch/dataprepper/sourcecoordination/LeaseBasedSourceCoordinator.java#L159) is where nothing would be returned. First a call to attempt to acquire a partition is made. If this returns empty, which means that either all the indices are COMPLETED, ASSIGNED without a partition ownership timeout being reached, or CLOSED without the reOpenAt timestamp being reached, then nothing is returned. If nothing is returned on the first call to tryAcquireAvailablePartition, the supplier is run (which would create new partitions if new indices were created in the source cluster since the last time the supplier was run). After the supplier is run, another call to tryAcquireAvailablePartition is made, and if there is still no available partition, then the method returns empty to the source that calls getNextPartition.

I like this idea. But, let's be sure that the source only shutdown it's own pipeline. Data Prepper core has support for shutting down the entire Data Prepper application when either a single pipeline terminates or after all pipelines terminate. So depending on the configuration, this may or may not shutdown Data Prepper entirely.


[WIP] Enhanced entry to return hrefs for appliance, related zone and region.

Enhanced entrypoint to return hrefs for appliance, related zone and region

Updated "server_info" entry in entrypoint to return:
server_href
zone_href
region_href
Updated rspec

WIP - Depends on https://github.com/ManageIQ/manageiq/pull/14109

Sample entrypoint server_info section returned:
  ...
  "server_info": {
    "version": "master",
    "build": "20170303123639_ded868a",
    "appliance": "EVM",
    "server_href": "http://localhost:3000/api/servers/1",
    "zone_href": "http://localhost:3000/api/zones/1",
    "region_href": "http://localhost:3000/api/regions/1"
  },
 ...


Switch from .ruleset & GlobalSupressions.cs to .editorconfig files

In the past we used three different ways to supress warnings:

.ruleset files to supress warnings across the solution.
<NoWarn> in a .csproj file to supress warnings in a project.
GlobalSupressions.cs to supress warnings in a project or member.

In the later versions of Visual Studio you can now supress warnings using an .editorconfig file. This PR, switches completely to this new format which is much simpler and easier to reason about.
As a side effect, we now have slightly more warnings because we aren't turning them off at the solution level anymore, so I also fix those.
The Schema.NET.Tool project was moved to a Tools subdirectory because it's not something we ship. I wanted to do this in the past but Cake build also created a temporary tools folder but no longer does, since we started using the Cake global tool.

@Turnerj A quick PR to keep the project fresh, learn and try new things and keep it using the latest tech.

Yes, it's a very powerful tool now. You can override settings.


Use bzz address accross Bee

BzzAddress with signature in Hive as well
Use whole multiaddr instead of just peerID  ni proto messages and signing
Addressbook uses BzzAddress instead of multiaddress now
TODO:
Unify BzzAddress proto filies in bzz module and use it from handshake and hive proto files

@janos, sorry it ended up a bit longer. It was due to my lack of planning, I kind of saw things along the way and kept on going. Could have probably split it into multiple PRs. I'll try to pay more attention next time! Thanks for the review!

There are some problems that I encountered while running this branch on the cluster.
Debug API /topology endpoint is returning:
{
  "message": "topology json marshal interface error",
  "code": 500
}

All nodes are connected only to the bootnode as per debug API /peers endpoint. Probably due to error: time="2020-05-29T10:10:34Z" level=error msg="error connecting to peer aaa5b52ff78aa240d8623bc3ef213b5a55f16cf3386556cc148fb25f8b9e79f0: failed to dial : all dials failed\n  * [/ip4/<IP_ADDRESS>/udp/7070/quic] CRYPTO_ERROR: peer IDs don't match".
This is now visible on the janos namespace which uses janos/bee:latest image built from this branch.

@janos good catch, fixed! topology driver was not provided to the Option constructor

Thanks for solving the /topology endpoint problem. I have created a new cluster in janos namespace from the latest commit in this branch. Some nodes have disconnections with error messages:
time="2020-05-29T11:09:43Z" level=error msg="error connecting to peer 8fdd31745d04b2af1a1827846cb1e19550254109253e11c0cb53f63e3d91f8a2: failed to dial 16Uiu2HAmUs8ySBXKZM6RqQeWmMXu6WnxwsnHjc9HS4HC5AdKLDba: no good addresses"

This can be seen with kubectl logs pods/bee-3 -n janos.

@janos , @acud I have reverted libp2p connect related changes as it will take some more work to make it work nice with kademliia. Should brejust BzzAddress related stuff & Hive in this PR now.

@acud  no no, I fixed it after you made the comment, all good! :) Thanks a lot!


[mongodb] Expose batch.size config option for table source.

batch.size configures the MongoDB cursor and specifies the maximum number of change events to return in each batch of the response from the MongoDB cluster. The default is 0 meaning it uses the servers default.
Expose this config option for table source  so that users can customize the configuration for change stream cursor batches.

Hi @GOODBOY008, please help review it when you are available.


Mod is bigger than the game

The mod is larger than the game lmao

i asked somebody and they said "ok" so i added it

https://github.com/sample-text-here/community-mod/issues/147

fat fucking music file lmao

fixed now compressed to 12mb just by changing opus to blah blah blah and compressing

compression

dagfd gida igidfjgviaeji eggs

since its now not giant, im gonna close this

comedic close and open the door

ok

problem fixed
mod is now 1000.0000000 mb long

we should add another 10 GB of stuff into the mod

im gonna upload an archive of photos, it will be 10 gb and it will all be cereal when haves milk

im not actually gonna do this i dont have the time

we should add another 10 GB of stuff into the mod

sure ill try to get it to a tb

its now 2.04 gb
its growing im proud of it

jesus christ volas the base game is 60 mbs in v7

@Thewsomeguy now upload 200GB of the same cat image

~@Thewsomeguy now upload 200GB of the same cat image~
~this but cereal when haves milk~

~@Thewsomeguy now upload 200GB of the same cat image~

~this but cereal when haves milk~
h

But he's only good at it with cat images

~@Thewsomeguy now upload 200GB of the same cat image~

~this but cereal when haves milk~
h

But he's only good at it with cat images

if he can do it one way he can do it another way

it's so big that the autorelease fails because file size is above int limit

it's so big that the autorelease fails because file size is above int limit

lmao

e g g

i probably have fixed auto release by using the official method provided by github marketplace

yep it is fixed

" it is fixed "

acording to github we have 2 options,
1 : remove autorelease
2 . remove some dependencies

each individual file hmm?

we could split the music up and use some software to put it back together and mash that into the file, but it may become more effort then its worth

not to mention i dont think software like that exists

we could split the music up and use some software to put it back together and mash that into the file, but it may become more effort then its worth

that is just splitting files, same size


Recommended Example: Piping data between coreutils/other programs

Like restoring a database from a compressed database dump:
zcat file | mysql -uroot mydb

This is streamed right? A problem I had with shelly was -|- tried to read everything in at once and the api hard enough for me to forget about it and get busy on something else.
As an aside my use case is to do a few conditional checks/get user input with Haskell and then do mostly dumb piping between applications to update databases from different servers and other tasks like it.

You would implement that as:
sh (inproc "zcat" ["file"] (inproc "mysql" ["-uroot", "mydb"] empty))

I'll make sure to add an example of this to the tutorial.

Any chance you could provide a combinator for this pattern?

There are two that could work.  One is function composition:
(inproc "zcat" ["file"] . "mysql" ["-uroot", "mydb"]) empty

... or you could use & (reverse function application), too:
x & f = f x

empty & inproc "mysql" ["-uroot", "mydb"] & "zcat" ["file"]

However, I'm less excited about the latter combinator because I try to avoid non-associative operators (mainly as a rule of thumb to make the code more readable to beginners).

Of course, didn't realize it was that simple. Any built-in way to elide empty?

Probably the easiest way to elide empty is to define a variation on sh:
sh_ :: (Shell Text -> Shell Text) -> IO ()
sh_ f = sh (f empty)

-- λ> view $ inshell "mysql -uroot temptest" (inshell "cat /home/cody/work/files/fourgigs.sql" empty)
-- ERROR 1435 (HY000) at line 3138: Trigger in wrong schema
-- (225.62 secs,<PHONE_NUMBER>32 bytes)
Would it have written any of my sql migration data out of order? I'm checking to see whether or not I get the error with:
cat /home/cody/work/files/fourgigs.sql | mysql -uroot temptest

If so, it was just an error with my migration.

Alright, looks like that worked out awesome. Here's a benchmark as well:
-- 496 MB compressed gzip
-- 9 gigabytes uncompressed
λ> view $ inshell "mysql -uroot temptest" (inshell "zcat /home/cody/project-31Dec2014.gz" empty)
(762.24 secs,<PHONE_NUMBER>832 bytes)
Backing up a 9 GB database in 12 minutes from ghci isn't so bad ;)
Plus my workflow for these kinds of things will be write, tweak, test, verify correct, then compile with optimizations and put in $PATH. I've thought about wrapping runhaskell with a small turtle script that looks for -O3 and if present uses ghc to compile something to a temp directory, runs it, then exits as well.
From my perspective this issue can be closed.

Awesome!  Just out of curiosity, what fixed the problem?
Also, did you get a chance to check out the new documentation here: https://github.com/Gabriel439/Haskell-Turtle-Library/pull/6

Awesome! Just out of curiosity, what fixed the problem?

Sorry for not clarifying, the error about triggers being out of order was just a messed up database backup. It was not Turtles fault.

Also, did you get a chance to check out the new documentation here: #6

Yes I did check it out, and I just checked it out again now. A few things:
At first I wasn't quite sure what stdout was for until I tried to run inshell "ls" empty without it and checked the type of stdout. Upon seeing the type Shell Text -> IO () I thought "oh, it just takes the output of a text command and sends it to stdout" which I believe is correct.
I feel like the syntax is too different for me to be able to recommend to people I know that use shell scripts frequently. This led me to try and make a combinator for the usual way of shell scripting and I think I came up with something pretty nice:
λ> let (-|-) c1 c2 = inshell c2 . inshell c1
(0.00 secs, 0 bytes)
λ> let stdout_ f = stdout $ f empty
(0.00 secs, 0 bytes)
λ> stdout_ $ "ls ~" -|- "grep tmp"
tmp
(0.09 secs, 2220720 bytes)
λ> -- ls | grep tmp | head -n 1
(0.00 secs, 0 bytes)
λ>  stdout (inshell "head -n 1" (inshell "grep tmp" (inshell "ls ~" empty)))
tmp
(0.18 secs, 1844752 bytes)
λ> stdout_ $ "ls ~" -|- "grep tmp"

I know you are trying to avoid operators so it's easier to learn, but in this case there is a well known operator I think you should try to emulate (|). I believe with typeclasses the definition of (-|-) above could use inproc or inshell, but then you might (will?) have ambiguity issues.
Just kind of brainstorming, let me know what you think.

The issue with the -|- operator is that it only works for a pipeline with two commands.  In the general case you would still need to wrap each command line with some function or provide an IsString instance for Shell Text -> Shell Text.

What about:
λ> let (-|-) = (flip (.))
(0.00 secs, 0 bytes)
λ> stdout (inshell "ls ~" -|- inshell "head -n 5" -|- inshell "grep 4" -|- inshell "head" $ empty)
400meg.sql.tar.gz
(0.27 secs, 3090952 bytes)
λ> stdout (inproc "ls" ["~"] -|- inproc "head" ["-n 5"] -|- inproc "grep" ["4"] -|- inproc "head" [] $ empty)
ls: cannot access ~: No such file or directory
Interrupted.
λ> stdout (inproc "ls" ["/home/cody"] -|- inproc "head" ["-n 5"] -|- inproc "grep" ["4"] -|- inproc "head" [] $ empty)
400meg.sql.tar.gz
(0.28 secs, 3051904 bytes)
λ>

There is an equivalent operator for that in Control.Category:
(>>>) = flip (.)

... so I could re-export that if you want.  I don't mind that operator because it's associative.
Also, I could provide a run function defined like this:
run sink f = sink (f empty)

... that you would use like this:
run stdout (inshell "..." >>> inShell "..." >>> inShell "...")

-- or:
run sh (inshell "..." >>> inShell "..." >>> inShell "...")

That way we don't have to duplicate every sink.

... so I could re-export that if you want.

It's not me I care about so much as potential newbies (mostly people with no Haskell experience) trying to use Turtle.

There is an equivalent operator for that in Control.Category:
(>>>) = flip (.)

That's awesome and I usually don't like duplicating things, but for someone who hasn't used Haskell which is more clear:
run stdout (inshell "..." >>> inShell "..." >>> inShell "...")
run stdout (inshell "..." -|- inShell "..." -|- inShell "...")
That's a very small issue and makes me look/feel pedantic... yeah it doesn't take much to remember to translate | (bash) to >>> (Turtle) but it's another thing to remember and raises the barrier to entry. Perhaps we could solicit others opinions on the matter somehow as well?
It really depends on what your goals are. Though it seems small, in my mind:
Re-exporting (>>>) is choosing "bash for Haskellers"
Providing (-|-) is choosing "Newbie friendly Haskell dsl for bash scripts".
All of these thoughts/ideas have came up while trying to rewrite the following using Turtle:
https://github.com/indrora/steam_latest/blob/master/scripts/steam.sh
http://www.commandlinefu.com/commands/browse
https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropShell.sh

IMHO, saying >>> is Haskell's version of Unix | is not hard to grok. It also has the added benefit of making Haskell, in general, seem less scary since it's already got analogous ideas going on to Unix. Defining a separate operator still requires some translation, but doesn't lead them into the deeper beauty. ;)

There's an advantage of (>>>) over (-|-), which is that it clearly indicates the flow of information (left-to-right).  It also can be flipped (there is (<<<)), where as the (-|-) cannot be flipped.

3noch, I guess you are right. Gabriel, that is also a good point. Also, purescripts composition makes more sense now ;)


folder and icons added

A file management table has been created here and the necessary functions for its management have been added. The table is set to show the contents of the specified directory and icons are added to the files. The user interface component, such as returning to the previous directory, can also be managed.
The referencing method defined in gGUIButton -@bool& isPressedRef();- is used in the gGUITable class to keep track of the state of the previous buttonA file management table has been created here and the necessary functions for its management have been added. The table is set to show the contents of the specified directory and icons are added to the files. The user interface component, such as returning to the previous directory, can also be managed.
The referencing method defined in gGUIButton -@bool& isPressedRef();- is used in the gGUITable class to keep track of the state of the previous button

Other than few minor formatting issues and the one namespace declaration in the header file, it looks good to me.


csi_send ssid and password (AEGHB-10)

Is there an option to provide ssid and password for the csi_send project before flashing? Or, what is the ssid and password set as in csi_send project if it is hardcoded?
Problem details: I have two ESP32 at different locations for sending wifi and one esp32 for receiving. I need two SSID of esp32 for sending wifi to capture path effects from different directions. So I need to specifically know which esp32 I am connecting to from the receiver.

The example of csi_send uses esp-now to send packets, so it does not need to be connected to a router, you just need to let the example of csi_send and the receiving end be on the same channel

How to selectively connect with one of the two esp32 where both are sending packets? Both are flashed with csi_send and are located at different places. I need to connect to one of them with another esp32 (3rd one) maybe flashed with console_test instead of csi_receive. So I need to assign both of them ssid's to know which one I connected to. How do I assign ssid and password to selectively connect to one of them?

csi_send uses a different mac address, and the recv end can be filtered by mac address：https://github.com/espressif/esp-csi/blob/master/examples/get-started/csi_send/main/app_main.c#L45

Thank you

Hello, @vivekrtx
Closing this issue, feel free to reopen with more updates. Thanks.


How to add new smilies and emojis

I want to add more smiles and emojis please tell me

Did you read the README ?
Put images in src/smilies and run grunt

Thanks for your reply., But I am new to angular js and grunt i don't know how to build  really. Please give some more info is any chance to add manually  if available please tell

It is written !!!
npm install
grunt

nothing more

If you want to add it manually, edit the files :

angular-smilies.png
angular-smilies.css
angular-smilies.js

It's a standard CSS Sprite and the smilies variable line 11 is the full list of names.


mbedtls: Update for better PSA API support

Recent versions of mbedtls have started migrating to use Platform Security Architecture (PSA) APIs beneath the hood. This is still a work in progress, and the PSA API coverage isn't very exhaustive as of 2.26.0, and there are conflicts with the PSA APIs in mbedtls 2.26.0 that prevent it being use with TF-M (https://github.com/zephyrproject-rtos/zephyr/issues/35305).
The next release(s) of mbedtls, which may be an LTS release, should improve this situation, and will also likely occur during the Zephyr LTS2 dev cycle.
Fixing PSA API support in Zephyr 2.6.0 with mbedtls 2.26.0 isn't feasible with the current state of the codebase and build system, but the mbedtls build system integration can be improved in the 2.7.0 cycle.
Required Changes

During the 2.7.0 cycle, the PSA config options from mbedtls should be exposed via Kconfig similar to how the TLS config options are today, and proper integration with TF-M should be tested and co-ordinated with the upstream mbedtls project.
mbedtls should be updated to the latest version (2.27.0, 3.0.0???), which should have improved PSA API support.

Related Issues
Closes https://github.com/zephyrproject-rtos/zephyr/issues/35305 as something that can't reasonably be fixed with the 2.6.0 release, due to limitations of the upstream mbedtls project and current build system.
A release note for 2.26.0 has been added indicating that PSA APIs and TF-M can not be used together: https://github.com/zephyrproject-rtos/zephyr/pull/35513

Note: mbedtls 3.0.0 has been officially released: https://github.com/ARMmbed/mbedtls/releases

Marking this as high-priority, as aligning on next major release of mbedTLS would be desireable.

PR for updating mbedtls to 3.0.0:
https://github.com/zephyrproject-rtos/zephyr/pull/37753

Addressed with MbedTLS 3.0 support which brings improved PSA integration.