built-in SETUP and TEARDOWN events to prevent race conditions

When measuring and debugging latency I would like to schedule all my measuring and profiling code only after the initial setup (when all my eBPF programs are safely loaded and attached) and before the final teardown (before any of the events get disabled and programs unloaded).

My experiments have shown latency related to eBPF/perf bookkeeping that I don't want to include in the measurement, especially not from the bpftrace program that causes them. As a workaround, I delayed the measurement using either elapsed > 100ms condition, @start = nsecs + 100ms with nsec > @start condition or a 100ms interval setting @run = 1.

When trying to collect kstack from the time before a @deadline[cpu] for an event and the actual occurrence of the event I noticed a possible race condition when hitting Ctrl+C. When the event probe is already removed, the profiler code would assume the event lagged behind and collects kstack until the profiler probe itself gets disabled. There seems to be no reliable event to let me stop any activities (e.g. by setting an @-variable) before the teardown.

With bcc I would probably set a (map) variable from outside after setup and before teardown to signal when it's safe to perform the operations. I'm thinking of something along the lines...
BEGIN
{
    @stage = 0;
}
SETUP
{
    @stage = 1;
}
kprobe:...
/ @stage == 1 /
{
    @deadline[cpu] = nsecs + 1000000;
}
kretprobe:...
/ @deadline[cpu] /
{
    delete(@deadline[cpu]);
}
profile:hz:999
/ @stage == 1 && @deadline[cpu] && nsecs > @deadline[cpu] /
{
    @kstack[kstack] = count();
}
TEARDOWN
{
    @stage = 2;
}
END
{
    printf(...);
}

Or even as simple as...
SETUP
{
    @running = 1;
}
kprobe:...
{
    ...
}
profile:hz:999
/ @running /
{
    ...
}
TEARDOWN
{
    @running = 0;
}

I hope the use case is clear here. I want to perform any measurment and colllect stack traces between the setup and teardown phases, not during them. I do not see any better way to achieve that, nor do I see anything documented in the reference guide that would enable that.
I can workaround the SETUP case with a constant delay as I described but I don't see any way at all how to intervene before bpftrace starts tearing down.

To restate the feature request: you want 2 new hooks. One for directly after all the probes have been attached and one for directly before all the probes are detached. Is that right?
Also, could you provide a concrete example of where these new probes would fix issues? I'm having trouble understanding what the race you're describing is.

@danobi In my case extra sample means false positives. The profiler is supposed to catch a stack trace between missing the deadline (e.g. one millisecond after the operation started) and finishing the task. Imagine a scheduled-in kthread that is supposed to schedule out or cond_resched in one millisecond or you'd like to get a traceback from the time you didn't meet the deadline. But certainly not from the time you met the deadline, just already removed the 'exit' routine that was supposed to neutralize the profiler routine.

We want a write to some map to be visible to every prog on every cpu before we start attaching/detaching probes. So this would require using some atomic primitives (eg lock_xadd()).

I wonder if we need to do that. As we're only reading this value I don't think we need an PERCPU type, just an 1 element ARRAY should be enough. With a simple updater like:
diff --git a/src/bpftrace.cpp b/src/bpftrace.cpp
index c406a0e..a3c79f7 100644
--- a/src/bpftrace.cpp
+++ b/src/bpftrace.cpp
@@ -841,6 +841,12 @@ int BPFtrace::run(std::unique_ptr<BpfOrc> bpforc)
     }
   }

+  if (active_map_) //
+  {
+    uint64_t key = 0, value = 1;
+    bpf_update_elem(active_map_, &key, &value, 0);
+  }
+
   // Kick the child to execute the command.
   if (has_child_cmd())
   {
@@ -859,6 +865,13 @@ int BPFtrace::run(std::unique_ptr<BpfOrc> bpforc)
     std::cerr << "Running..." << std::endl;

   poll_perf_events(epollfd);
+
+  if (active_map_) //
+  {
+    uint64_t key = 0, value = 0;
+    bpf_update_elem(active_map_, &key, &value, 0);
+  }
+

We're doing something similar for elapsed (#993).

Maybe this makes sense to implement as a new builtin variable, active. Do you think that would work for your use case?

Sounds good to me

Maybe this makes sense to implement as a new builtin variable, active. Do you think that would work for your use case?

For my use case active variable should be good enough. All I need is to skip the actions that happen too early or too late in the process. As long as this is set after all programs are bound and before they start to tear down, we're set.
I had no other intention than to use it to fight the above race condition and I wouldn't do anything else in SETUP/TEARDOWN than to change the state of a variable. Therefore it should be fully equivalent.


Us103 enter dob extra test

This has been reviewed previously (https://github.com/LandRegistry/dm-acceptance-tests/pull/32) but due to an issue with a merge, had to create this PR again


Update CONTRIBUTING.md

Description

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

what's the plan here? @yankun20


Exchange icons

Follow-up of the discussion this am.
This is on top of https://github.com/ome/www.openmicroscopy.org/pull/401 -  but I opted to open as a separate PR - happy to be told otherwise.
Note that there were other places which were also using the old style icons, such as Downloads of both OMERO and BF.
I am opening this as a separate PR as it is not as small a change - and probably we should have a look at the site whether or not still some icons persist.
Edit:  Note that practically only the last 2 commits are really new for this PR. The rest is coming from https://github.com/ome/www.openmicroscopy.org/pull/401
Built on https://snoopycrimecop.github.io/www.openmicroscopy.org/omero/features/analyze/  - but also check other pages, like downloads and the New features etc.
cc @jrswedlow @jburel @joshmoore @sbesson

closing this, the review is happening in https://github.com/ome/www.openmicroscopy.org/pull/401 and I cherry-picked the commits from here to https://github.com/ome/www.openmicroscopy.org/pull/401


rafthttp: not waiting for peer stop

The stop may hang forever because it fails to cancel request
successfully. This is hard to be fixed in go1.4 because CancelRequest
will panic if called twice. Do not wait for peer stop to avoid the
block.
for #3076

close because it doesn't fix the problem totally.


Jesse: Blacklist <IP_ADDRESS>

Jesse requests the blacklist of the website 45\.140\.167\.176. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

45\.140\.167\.176 has been seen in 6 true positives, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


[crypto, network] Wire in TLS to gRPC

We have a TODO in several places to wire in TLS:
https://github.com/MystenLabs/narwhal/blob/d7963d378102ff7ebf1cc901ab2cc64ec8cd3b07/network/src/primary.rs#L48
And we also have a crate in mysten-infra:
https://github.com/MystenLabs/mysten-infra/tree/main/rccheck
That implements mTLS:
https://www.cloudflare.com/learning/access-management/what-is-mutual-tls/
This task tracks wiring the two together.

I opened an issue in the mysten-infra repo to add support for this: https://github.com/MystenLabs/mysten-infra/issues/73
Once its implemented there we should be able to wire it in in narwhal.


Implement periodic table

It would be useful for users calculating chemical formulas needing e.g. information, such as ordinal number, mass, molar mass
The elements of the periodic table can be accessed through PT(ordinal number) (output is the name of the element) / PT(name of element)  (output is ordinal number of the element) and henceforth be used by PT(ordinal number).m (mass) / PT(ordinal number).Mm (molar mass) / PT(ordinal number).Vm

Thank you for submitting this feature request!
Some critic points:

The syntax you proposed is very out of line with the rest of the features in the calculator. Perhaps making separate functions for each of the attributes would be better?
As there don't exist strings, you'd have to pre-define a lot of "variables" for every element, potentially making it confusing since you currently also can't re-define standard variables and functions (unlikely that anyone would do this because of capitalisation but should still be considered)
Would this only work with atoms or with every chemical class? If so, how would you write the index in e.g. molecules, since subscript numbers are not possible?

If you can, try to also provide some examples of the usage.


Error: Callback was already called

I'm getting this error sometimes:
Error: Callback was already called.
    at /app/node_modules/async/dist/async.js:318:36
    at /app/node_modules/youtube-mp3-downloader/lib/YoutubeMp3Downloader.js:39:17
    at FfmpegCommand.<anonymous> (/app/node_modules/youtube-mp3-downloader/lib/YoutubeMp3Downloader.js:161:17)
    at FfmpegCommand.emit (events.js:314:20)
    at emitEnd (/app/node_modules/fluent-ffmpeg/lib/processor.js:426:16)
    at endCB (/app/node_modules/fluent-ffmpeg/lib/processor.js:587:15)
    at handleExit (/app/node_modules/fluent-ffmpeg/lib/processor.js:170:11)
    at ChildProcess.<anonymous> (/app/node_modules/fluent-ffmpeg/lib/processor.js:184:11)
    at ChildProcess.emit (events.js:314:20)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12)

I am getting the same error (consistently).  For me it doesn't just happen sometimes.  For a particular video it always happens.
Any chance for a fix?

Changing lines 161 and 171 from
  callback(...)

to
 return callback(...)

seems to have fixed the problem for me.

That didn't work at all for me

Can you please check again with version 0.7.8?

I'm getting the same error on 0.7.8, in particular with this video
https://www.youtube.com/watch?v=iDVM9KED46Q

You have to do what @sashilazar said, add
replace every
callback(...)

with
return callback(...)

I just released 0.7.9 which should address this. Please check and reopen the issue if it doesn't.


Fix editing for trashed entities

When an entitiy is trashed, then the editing button is shown nevertheless. Clicking on it leads to an 404 error (SEO?) with broken presentation:

The reason is that the editor's JS will be executed partly (for example, scrolling won't work) but an error is thrown somewhere. I suggest the following approach:

Allow editing of trashed entities. If a trashed entity is saved, then maybe restore the content?
Alternatively, just save a new revision but leave the entity trashed until someone with appropriate rights restores it.

superseded by #370


Always on Top allow for click-through?

Description of the new feature / enhancement
Could there be a toggle to make Always on Top windows click-through?
Exact behaviour to be defined, maybe use a different key combination for "regular AOT and "click-through AOT", a clickable- click-through toggle button around the border, a predefined list of applications that open in click-through mode, etc
Possibly add a (optional and customizable?) translucent effect?
In the worst case, making the window unclickable could be enough
Scenario when this would be used?
When you are using a single small monitor, on a full screen software, want the information on the Always on Top window visible, but don't want to accidentally click on the AOT window and lose focus/get sent to desktop/etc
Examples could be CAD software in full screen mode, document processors in focus mode, playing a video un fullscreen, playing a videogame, etc
Supporting information
No response

I see a ton of security related issues that would be artifacts from this which really makes me afraid of doing this style feature. (if it would even be possible.

@ghylander
Try this one:
https://windowtop.info/

And don't forget to spread the word about it if you liked it.


Add buttons with icons in Realizations page

Realizations page is currently a bit blank, and as said in #38, Drawing page must be more accessible, it is the same for series pages.

The four main buttons were represented using SVG icons, but the other pages (e. g. Drawing or Imaractères) are not represented yet.

Fixed!


Fix the keyvault request that gets password from keyvault by using valid uri

Issue-id
PR Checklist

[ ] I have added example(s) inside the [./examples/] folder
[ ] I have added the example(s) to the integration test list for normal (~30 minutes) or long runner >30 minutes
[ ] I have checked the coding conventions as per the wiki
[X] I have checked to ensure there aren't other open Pull Requests for the same update/change?

Description

Does this introduce a breaking change

[ ] YES
[x] NO

Testing
Code
keyvault_certificate_requests = {
  csr0 = {
    name         = "csr-with-globalsign"
    lz_key       = "cert_lz"
    keyvault_key = "cert_kv"

    # if issuer_key_or_name != self, then cert_secret_name is needed with (keyvault_uri or cert_password_key)
    cert_password_key = "kv-issuer-password-key"
    cert_secret_name  = "kv-issuer-password" # reference to keyvault secrets name
    certificate_policy = {
      issuer_key_or_name  = "cert_kv_issuer_0"

      exportable          = true
      key_size            = 4096 // value can be 2048, 3072 or 4096
      key_type            = "RSA"
      reuse_key           = false
      renewal_action      = "AutoRenew"
      lifetime_percentage = 90
      # days_before_expiry  = 10
      content_type = "application/x-pkcs12" // application/x-pem-file
      x509_certificate_properties = {
        subject            = "CN=yourdomaingoeshere"
        validity_in_months = 1
        key_usage          = ["keyCertSign"]
        subject_alternative_names = {
          dns_names = []
          emails    = []
          upns      = []
        }
      }
    }
  }
}

thanks for your contribution @khaman-pet and @iriahk89 for your inputs!


use absolute target path during validation

Fixes #3071
Signed-off-by: Chanwit Kaewkasi<EMAIL_ADDRESS>ping @pjbgf
could you please confirm that it fixes your problem?
Here's the instruction on how to build the binary.
git clone <this branch>
make gitops && make install

@chanwit thank you for the quick turn around. It did fix my initial issue, even if the target dir does not exist:
gitops beta run ./cluster-staging

However, if the target dir has a subdir, it doesn't. For example:
gitops beta run ./clusters/staging

Should I file this as a separate issue?

The multi sub-dir creation is being addressed by another PR already, afaic.

@chanwit excellent, thank you. Happy for you to merge the fix. :bow:


Post release automated changes for web-pubsub releases

Post release automated changes for azure-web-pubsub

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


Improve multi-WAN failover resiliency: multiple IP monitoring per gateway before taking down, and auto DHCP renewal when gateway comes back up (when using virtual Linux Bridges from Proxmox as interfaces)

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Is your feature request related to a problem? Please describe.
As you may have heard, there was a recent nationwide outage in Canada with one of our telecoms (Rogers), with very weird behaviours during the service restoration process. Thankfully, I do have a second slower connection to a different ISP (Bell); was finally convinced to setup multi-WAN failover yesterday and link that other connection to my Opnsense box.
However, I noticed some potential flaws in the process (which seem to be shared by many others in the pfSense/Opnsense community in real-world failures), as well as problems when switching over from the secondary gateway (Bell) when the primary finally came back up this morning (Rogers):

Single monitor IP per gateway. This seems a bit problematic as:

(for example I'm using Google's DNS servers) if only the monitor IP were to go down, the gateway would be marked as down even though everything else is working.
Now, I actually haven't heard of Google's DNS servers going down yet recently, but it's certainly not impossible and Cloudflare's DNS did experience an outage just last month (which forced me to add Google's DoT addresses in Unbound to restore internet access then). If Google's DNS were to go down, then my gateways would be marked down and would make the fact that I had both Google and Cloudflare's DNS servers in Unbound (to act as backups should either go down) rather pointless.
It's been suggested to use the first hop as the monitor IP instead of DNS servers, but I'm been told that they could change at any time which makes this unreliable. Using the ISP's DNS servers is not much of a solution as I'm using Unbound (and not using the ISP's DNS anywhere) - so when any DNS failure with my ISP technically should no longer affect me, choosing this solution would bring my gateway down.
Furthermore, monitoring anything within my ISP is problematic as for several hours during the outage, I was able to connect to my ISP but nothing outside of their network. I would have wanted opnsense to switch to my backup gateway in this case.

DHCP renewal failure when gateway restored. This has probably more to do with the fact that I'm running Opnsense as a VM in Proxmox, as I experience the same problem whenever I unplug the cables to the ports; the interfaces are always marked as up since they are virtual Linux Bridges in Proxmox. However, I would still like for there to be an option to do DHCP renewal if a gateway goes down and comes back up.

The particular failure I experienced when my primary ISP's gateway came back up is that its modem previously decided to assign it a local IP (<IP_ADDRESS>) as it failed to receive an IPv4 WAN address from my ISP. I'm told adding the modem's IP to DHCP reject setting on my primary WAN interface would fix this, but since I'm pretty sure I experienced the same problem from unplugging cables (since the interfaces are always marked up), not quite sure if this would resolve this.
Currently, only a full reboot (or reloading the services) fixes this.

Describe the solution you like

Use multiple monitor IPs per gateway to decide whether it is up or down. There have been multiple issues opened in both pfSense and opnsense repos/forums (see #4163, https://redmine.pfsense.org/issues/1189, https://forum.opnsense.org/index.php?topic=27355.0, https://forum.netgate.com/topic/84721/hack-for-multiple-ips-for-gateway-monitoring/2, etc.) over the years as well as multiple solutions being proposed (and by others more knowledgeable than me, so I will leave the details to them.) Though, I particularly like this solution proposed in the pfSense forums years ago:

B
brainloss
Sep 15, 2015, 5:31 AM
I would like to see a "proper" solution.  Single IP monitoring is causing us no end of issues.  Gateways being marked as down, but really the monitor IP has dissapeared, or ICMP is blocked but real world taffic tcp/udp is flowing perfectly.
My concept would include many IP's and have some weighted rules.  Something like www.policyd-weight.org comes to mind.
This would allow a list of say 20 IP's to monitor and allow for x number to be down and some marked as higher "number value" than others, then only mark the gateway as down if the sum of these values is below y.  Could even use the same IPs for many gateways and if one ip down on one gateway the IP can be checked against another gateway.
I have no development skills, but would be willing to test and give feedback.
–Paul

Allow for an option in the Gateway settings to reload the DHCP services when a gateway goes down and comes back up.

Describe alternatives you considered
I'm sure that I could put together 'hacks' using scripts and cron jobs to achieve what I want, but I would much prefer a GUI solution as this doesn't seem too complicated to implement. (Personally, I don't have much experience with networking CLI tools and FreeBSD. I'm more comfortable with OpenWRT (especially their uci command) and Linux networking - there's actually also a very easy way to achieve 1) with mwan3 in OpenWRT)
Running opnsense on bare metal to fix 2) (so interface link states are properly reported) is not an option as I also run transparent OpenWRT VMs for CAKE traffic shaping (due to the fact that it isn't available in FreeBSD yet)
Additional context
See:

https://github.com/opnsense/core/issues/4163 (Closed from timeout)
https://redmine.pfsense.org/issues/1189
https://www.reddit.com/r/PFSENSE/comments/s6vp9s/multiple_monitor_ips_per_gateway/
https://forum.opnsense.org/index.php?topic=27355.0
https://forum.netgate.com/topic/84721/hack-for-multiple-ips-for-gateway-monitoring
OpenWRT's solution: https://openwrt.org/docs/guide-user/network/wan/multiwan/mwan3

Hi, I'm currently investigating if my problem correlates with yours: One of my WAN connections is a Zyxel 5G Modem NR7101 which failed two times the last days middle in the night and didn't recover itself. Tried a few things (unplug & restart the modem...) the last chance was to reboot the firewall. Perhaps it has to do  with DHCP renewal, must investigating further.


Agile Planning and portfolio Management with Azure Boards, 1

if it is the beginning of any issue, please provide more info


[FFM-9621] - Avoid sending empty metric payloads

FFM-9621 - Avoid sending empty metric payloads
What
Adds a check to make sure metrics data is not empty before sending it.
Why
We're seeing empty metrics payloads arriving at the BE we should avoid wasting network bandwidth.
Testing
Manual

Do you need to bump the version as well for a release?

I've only bumped the minor since there's no real API changes - let me double check if those files were missed

@knagurski i had been working on a older copy of the git tree and rev'ed the version to 1.3.4, turns out that version had been released recently. I've fixed the version now to be 1.3.5


support prometheus metrics

fix #64
Signed-off-by: Bo-Yi Wu<EMAIL_ADDRESS>

Codecov Report

Merging #64 into master will increase coverage by 1.6%.
The diff coverage is 86.48%.

@@            Coverage Diff            @@
##           master      #64     +/-   ##
=========================================
+ Coverage   76.56%   78.16%   +1.6%
=========================================
  Files           1        2      +1
  Lines         192      229     +37
=========================================
+ Hits          147      179     +32
- Misses         43       48      +5
  Partials        2        2

Impacted Files
Coverage Δ

metrics.go
100% <100%> (ø)

plugin.go
75.36% <54.54%> (-1.2%)
:arrow_down:

Continue to review full report at Codecov.

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


Avoid UI flickering after prerendering

Prerendering is a great feature.
But one minor quirk I noticed was that the UI went through a brief -- probably < 50ms -- flash of whiteness when replacing the prerendered elements with client-rendered (interactive) elements.
This PR tweaks the client-side rendering mechanism so there is no longer any async gap between clearing and replacing the content, so the browser never repaints the screen in an intermediate state. It feels slicker.

when we do a client render, do we keep the main root component tag?

Yes, we leave it there. The developer put that <app> element in their source code, and they might have CSS rules like:
app { color: red }

... so it would be pretty unhelpful to be removing the <app> element for them.
This also simplifies things for prerendering and the prerendered-to-live transition, doesn't it? It means we know for sure there's exactly one top-level element, so on the client we know which prerendered elements are the ones we should replace.

This also simplifies things for prerendering and the prerendered-to-live transition, doesn't it? It means we know for sure there's exactly one top-level element, so on the client we know which prerendered elements are the ones we should replace.

Yeah, I was asking because I have some ideas on how that will end up working, this helps!


Remove author signature from code #210

signatures are removed

@kelvins  ,why you have  not merge my pr ,is there any issue ,which i need to solve

Done by commit f9c0578199c81d316b1c6b7245d78a95494f3366


Refactoring for storage service

Initial refactoring and tests for client side authentication that works with a storage service. In order to support caching of tokens and the current user on React Native, NodeJS and the browser we needed an abstraction over top of localStorage, AsyncStorage. So it made sense to create a service adapter that abstracts the underlying storage mechanism. We've done this with https://github.com/feathersjs/feathers-localstorage.
This will be able to be merged once https://github.com/feathersjs/feathers-localstorage/pull/1 lands and then we will be able to use feathers-authentication in React Native and Node. :smile:

Still a WIP. Opened for visibility. Do not merge yet.

Pending tests passing this should be good to merge. Has been manually tested with React Native and the browser.


Make lint not working

Might just be me... but I am getting this:

Looks like your env got screwed up somehow. Try deleting the .state directory.
Sent from my iPhone

On May 13, 2017, at 1:41 PM, Nicole Harris<EMAIL_ADDRESS>wrote:
Might just be me... but I am getting this:
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

thanks @dstufft :)


Shopify extended text sync issue

Do enabled the Extended text at Shopify shop card but the description still not able sync to Shopify.
However, the attribute part is successful sync to Shopify

extended text and Shopify shop card language code was selected as ENG

Same goes to extended text and Shopify shop card language code was selected as BLANK


feat(itemReorder): animate reorder button

Short description of what this resolves:
adds the ability to animate the reorder button.
Ionic Version: 1.x / 2.x
2.x

@adam I just noticed how this PR works, it makes ion-reorder always "visible" but off screen which could have a negative performance effect in all lists. I will try to find a solution


Upgrade LibCST to 1.1.0

This PR updates the libcst crate version to 1.1.0. The published version contains support for 3.12: https://github.com/Instagram/LibCST/releases/tag/v1.1.0

That's the last git dependency, isn't it?

Yes :)


Added support for Minecraft 1.8.3

Added support for v1_8_R2 (1.8.3)
Fixed NoSuchMethodError on v1_8_R1 (1.8) Craftbukkit. See #4 for details.
Added messages in startup routine

Did you test this? It doesn't seem to be working for me. The reason I haven't updated it myself is because of an addition in the "PacketStatusListener" class that closes the connection which prevent animations.

Well I did test it, but not the animations itself. Is there no new way?

Not that I have found; however, if I override the 'close' method in the DuplexHandler class, I can check whether the pong has been cancelled, or not and I can stop the connection from closing. This will make the animation work, but the pong packet the signals the end of an animation never gets sent which means that the four green bars the client sees will stay a red x.

Why you don't merge this?


Self extracting exe

From what I can tell, self extracting zip archives are not supported. I just wanted to check it's not something I am doing wrong.
If I try to open one for reading, I get NotSupportedException: Unknown header: 9460301.
Are there any plans to support them?

I had the same problem. So I moved to https://github.com/phillipp/SevenZipSharp

Zip exe hasn't been implemented.  Just Rar.  If you don't need portability then 7zip works.
I personally don't have plans to implement this but it shouldn't be much work as you just look for the exe header and fast forward in the file like Rar probably.

Thanks guys.
I plan to use the framework classes in System.IO.Compression, for self extracting zips only, and continue with SharpCompress for other archive types. I am having to call them via reflection, as we still use Visual Studio 2010 (.NET 4.0). Seems to be working so far.

Facing the same issue


Refactor and expose query archetype access

CC @Ratysz. This needs review for semantic correctness which I'm too sleepy to give it at the moment.

#[test]
fn archetype_access() {
    let mut world = World::new();
    world.spawn(());
    world.spawn((0usize,));
    type NoComps<Q> = Without<usize, Q>;
    type OnlyUsize<Q> = With<usize, Q>;
    let mut archetypes = world.archetypes();

    let a = archetypes.next().unwrap();
    assert_eq!(a.access::<NoComps<()>>(), Some(Access::Iterate));
    assert_eq!(a.access::<OnlyUsize<()>>(), None);
    assert_eq!(a.access::<NoComps<Option<&usize>>>(), Some(Access::Iterate));

    let a = archetypes.next().unwrap();
    assert_eq!(a.access::<NoComps<()>>(), None);
    assert_eq!(a.access::<OnlyUsize<()>>(), Some(Access::Iterate));
    assert_eq!(a.access::<NoComps<Option<&usize>>>(), Some(Access::Iterate));
}

This fails on last assert, claiming it should be None. Should it?

This fails on last assert, claiming it should be None. Should it?

I'm not sure what you mean by "claiming it should be None", but as written, I'd expect that assert to fail because Without<usize, Q> will never access an archetype that contains a usize for any Q.
Note that this test is fragile because the order of archetypes is not guaranteed.

Note that this test is fragile because the order of archetypes is not guaranteed.

I know; haven't focused on a more robust way of differentiating them yet. Should probably use the trivial asserts in a match instead.
Let me rewrite this, because after reading my prior comment I realised it says something completely different to what I actually meant. Commented-out assert fails here:
#[test]
fn archetype_access() {
    let mut world = World::new();
    world.spawn(());
    world.spawn((0usize,));
    type NoComps<Q> = Without<usize, Q>;
    type OnlyUsize<Q> = With<usize, Q>;
    let mut archetypes = world.archetypes();

    let a = archetypes.next().unwrap();
    assert_eq!(a.access::<NoComps<()>>(), Some(Access::Iterate))
    assert_eq!(a.access::<OnlyUsize<()>>(), None);
    //assert_eq!(a.access::<NoComps<Option<&usize>>>(), None);
    assert_eq!(a.access::<OnlyUsize<Option<&usize>>>(), None);

    let a = archetypes.next().unwrap();
    assert_eq!(a.access::<NoComps<()>>(), None);
    assert_eq!(a.access::<OnlyUsize<()>>(), Some(Access::Iterate));
    assert_eq!(a.access::<NoComps<Option<&usize>>>(), None);
    assert_eq!(a.access::<OnlyUsize<Option<&usize>>>(), Some(Access::Read));
}

A robust test could construct a world that necessarily has exactly one archetype. You could also separately test the number of archetypes you get from a world with multiple (note that archetypes returns an ExactSizeIterator, which has a len method).

assert_eq!(a.access::<NoComps<Option<&usize>>>(), None);

This assert should fail. Without<usize, Option<&usize>> will succeed vs. the empty archetype because the empty archetype does not contain a usize, therefore the outer clause is satisfied, and Option<Q> will Iterate archetypes that do not satisfy Q.

On second thought, it's difficult to do interesting tests on worlds with only one archetype because every world has the empty archetype.


fix: print out something in the quiet mode

Fix #426 @ShlomiD83

@ShlomiD83 Does this look good?
🔁 Enabled cron schedule for Cloudflare DDNS (v1.9.0-1-blahblah)

I'd like to release a version with this hack very soon because there must be many others having the same issue.

@favonia


Gekko genetic algorithm v2.0 available

Just letting you know there is a new version of the Gekko GA.
It's much easier to use and much easier to grab now from the new Gekkowarez github.
Contributions to this new version from Generalectric, Jules, MNoseworthy who did some really cool stuff with the original version.
You can now get the GA here:
https://github.com/gekkowarez/gekkoga
Updated instructions etc are being added to:
http://gekkowarez.com/gekko-genetic-algorithm/

This is awesome, thanks for the update!

Hi, i'm trying to instal it, thats look awesome. Thanks

I'm trying I have error:
async loadBreakPoint() {
^^^^^^^^^^^^^^
SyntaxError: Unexpected identifier
what it's the node version to exec?

I just started to play around with Gekko. First thing (well almost) I did was writing some bash scripts to run backtests based on a range of values for the different variables.
@thegamecat would GA make backtesting more efficient compared to a number of loops over some lists for the TA variables? These loops create a config for each situation and run a backtest on it. At the end I compare the profit of each run.

Node version I use 7.6 typically.
@uipko Pretty much the point of the GA is the find optimal thresholds quicker so I think the answer is yet. The GA does all the comparison for you and outputs the global winner across the epochs.

That's what I thought but couldn't find a reason why it should be faster after a short glance at the code. Comparing log files of my shell script is not totally automated but is as simple as
grep "simulated profit:" $1 | sed -r 's/(.*.log):.*profit:\s*(.*) USD \((.*)\)/\2\t\3\t\1/' | sort -n
I'll try to install the GA and do some comparison.

@thegamecat do you mind having a chat with me on the discord from the gekko readme? my name is maxim there, just bump me up when you feel like it!

i'm trying to use this but i only get error on the server like this:

2017-11-23 16:51:41 (INFO):     Scanning local history for backtestable dateranges.
xxx POST /api/backtest 500 827ms -

Error: non-error thrown: Child process has died.
at Object.onerror (/media/SATADisk/bitcoin/gekko/node_modules/koa/lib/context.js:105:40)
at
at process._tickCallback (internal/process/next_tick.js:188:7)
xxx POST /api/backtest 500 818ms -
Error: non-error thrown: Child process has died.
at Object.onerror (/media/SATADisk/bitcoin/gekko/node_modules/koa/lib/context.js:105:40)
at
at process._tickCallback (internal/process/next_tick.js:188:7)
xxx POST /api/backtest 500 823ms -
Error: non-error thrown: Child process has died.
at Object.onerror (/media/SATADisk/bitcoin/gekko/node_modules/koa/lib/context.js:105:40)
at
at process._tickCallback (internal/process/next_tick.js:188:7)
and on gekkoga:

node run -c config/config.js
No previous run data, starting from scratch!
Starting training with: 4 units
{ StatusCodeError: 500 - "Internal Server Error"
at new StatusCodeError (/media/SATADisk/bitcoin/gekko/gekkoga/node_modules/r                                                                                equest-promise-core/lib/errors.js:32:15)
at Request.plumbing.callback (/media/SATADisk/bitcoin/gekko/gekkoga/node_mod                                                                                ules/request-promise-core/lib/plumbing.js:104:33)
at Request.RP$callback [as _callback] (/media/SATADisk/bitcoin/gekko/gekkoga                                                                                /node_modules/request-promise-core/lib/plumbing.js:46:31)
at Request.self.callback (/media/SATADisk/bitcoin/gekko/gekkoga/node_modules                                                                                /request/request.js:186:22)
at emitTwo (events.js:135:13)
at Request.emit (events.js:224:7)
at Request. (/media/SATADisk/bitcoin/gekko/gekkoga/node_modules/r                                                                                equest/request.js:1163:10)
at emitOne (events.js:125:13)
at Request.emit (events.js:221:7)
at IncomingMessage. (/media/SATADisk/bitcoin/gekko/gekkoga/node_m                                                                                odules/request/request.js:1085:12)
at Object.onceWrapper (events.js:322:30)
at emitNone (events.js:120:20)
at IncomingMessage.emit (events.js:218:7)
at endReadableNT (_stream_readable.js:1054:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
name: 'StatusCodeError',
statusCode: 500,
message: '500 - "Internal Server Error"',
error: 'Internal Server Error',

What could be the reason?

If you get internal server error with no relevant error info on server side or non-error its because gekko isn't even making it into processing strategy.. Usually because of invalid dataset or daterange for currency asset pair. Make sure you have your DB configured correctly and have the correct date range.

**I'm trying I have error:
async loadBreakPoint() {
^^^^^^^^^^^^^^
SyntaxError: Unexpected identifier
what it's the node version to exec?**
async is an object not type as far as I know...
any sugestions?


Ingest SST with move_files option

Add a function to prepare a SST file for ingestion.
The purpose is to make the ingestion retryable when using the move_files
option. Things we need to consider here:

We need to access the original file on retry, so we should make a clone
before ingestion.
RocksDB will modified the global seqno of the ingested file, so we need
to modified the global seqno back to 0 so that we can pass the checksum
validation.
If the file has been ingested to RocksDB, we should not modified the
global seqno directly, because that may corrupt RocksDB's data.

@huachaohuang Do you test how much IO have been reduced?

@zhangjinpeng1987 Here is one of the test case. The left side was using the copy mode, the right side was using the move mode, and both sides were ingesting almost the same number of files. During the test, there was no workload or compaction. The write rate of the left side is 25MB/s, and the right side is 15MB/s, so the move mode reduce 40% IO for ingestion in this test case.

Cool

great

LGTM

@UncP PTAL

LGTM

/run-all-tests

@siddontang Do you want to take a look again?

CI failed because of some cases ran too slow.

/run-all-tests

/run-all-tests

/run-all-tests

LGTM

/run-all-tests


Only checkpoint chunkdescs and series that need persisting.

This decreases checkpoint size by not checkpointing things
that don't actually need checkpointing.
This is fully compatible with the v2 checkpoint format,
as it makes series appear as though the only chunksdescs
in memory are those that need persisting.
@beorn7
Very preliminary numbers from my home Prometheus indicate a 5-10% drop in checkpoint size and ~25% drop in checkpoint time. Benefits will be larger/smaller depending on how many chunks you have to persist vs. chunks in memory (my home Prometheus is around 2-3% to persist).

Sorry for delay. Had a non-coding weekend... ;) Will look at this later today.

I've a bit more data from my home Prometheus now, so it's looking like a ~80% drop in checkpoint time and ~35% drop in checkpoint size. My home Prometheus likely has a much lower proportion of chunks to persist than is usual though, so these are best case numbers. For reference I'm seeing ~13B as the size of a checkpointed chunkdesc.

This makes sense, especially in context of your prior change to evict all chunkDescs without chunks in series maintenance.
Just a tiny optimization above.
Also, commit b113571d32b6c19871071fa53ab0f35e4fc03f56 is a duplicate due to rebasing. This has to be rebased on top of master without b113571d32b6c19871071fa53ab0f35e4fc03f56.

:+1: But could you rebase first to get rid of the confusing duplicate commit b113571d32b6c19871071fa53ab0f35e4fc03f56 (master already has f64c231dad25426b1c735c06a0bff3db70d1038a ).

Odd, thought I'd already fixed that. Should be fixed now.


Implement std::error::Error for trash::Error

Hi,
Thanks for your work on trash. Currently, the crate's custom error type doesn't implement std::error::Error, which makes using error handling libraries with it like anyhow or thiserror a little awkward.
fn main() {}

fn anyhow() -> anyhow::Result<()> {
    use anyhow::Context;
    trash::remove("some file").context("context")?; // error, have to map_err to another type first
    Ok(())
}

#[derive(Debug, thiserror::Error)]
enum MyError {
    #[error("some error")]
    MyVariant,
    #[error("error trashing")] // error, cannot use #[source]
    Trash(#[source] trash::Error),
}

Implementing the trait should be straightforward and only require a minor version bump when released. I could write a PR for it, using the current doc comments as the Display strings.

Hi,
If you make a PR I'll review it and will consider it for merging. 🙂

It is now published on crates.io


Upgrade FHIR SDK dependencies ⬆

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #3421
Engineer Checklist

[ ] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[ ] I have added any strings visible on UI components to the strings.xml file
[ ] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[ ] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[ ] I have built and run the FHIRCore app to verify my change fixes the issue and/or does not break the app
[ ] I have checked that this PR does NOT introduce breaking changes that require an update to Content and/or Configs? If it does add a sample here or a link to exactly what changes need to be made to the content.

Code Reviewer Checklist

[ ] I have verified Unit tests have been written for any new feature(s) and edge cases
[ ] I have verified any strings visible on UI components are in the strings.xml file
[ ] I have verifed the CHANGELOG.md file has any notable changes to the codebase
[ ] I have verified the solution has been implemented in a configurable and generic way for reuseable components
[ ] I have built and run the FHIRCore app to verify the change fixes the issue and/or does not break the app

@dubdabasoduba @owais-vd Can we also test this on $apply ? Aug 5th
CC @ndegwamartin

CQL works in ZEIR but as Measure Reporting is broken
Exception thrown with measureUrl: https://fhir.labs.smartregister.org/fhir/Measure/ClinicAttendance

java.lang.NullPointerException: id is required on all Elements of type: Measure.group.population

KM is looking for us to provide an ID as part of the params
  /** Loads resources from IGs listed in dependencies. */
  suspend fun loadResources(
    resourceType: String,
    url: String? = null,
    id: String? = null,
    name: String? = null,
    version: String? = null,
  ):

From my investigations it appears that the group population id is now mandatory so you will need to include it in your measure jsons - see this sample from the FHIR SDK
I could not find any HL7 FHIR documentation to back it as a required field but I did come across this extension in some IG which introduces it as an extension - https://build.fhir.org/ig/HL7/davinci-deqm/StructureDefinition-extension-populationReference.html
Not sure why the clinical reasoning library has made it mandatory.

There are changes made to the FhirEngineImpl methods/functions. We will no longer need the IO dispatcher in the default repository class functions.


Kill Pico?

Hey,
Since Pico development has pretty much stalled, why don't you put a notice on the website/repo that Baun is "the new shit"?

As far as I know PicoCMS is no longer lead by @gilbitron. I'd like to recommend filing a PR at https://github.com/picocms but sadly the project seems to have been abandoned.

Pico doesn't belong to me anymore, so I don't want to create a big fuss about Pico being Bauns predecessor.


[Question]: Unable to index documents using HuggingFaceEmbeddings

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
Hello,
I'm trying to use Llama Index to load docs and index to a local vectorstore (Chroma/FAISS) however, I keep getting enter "OPEN API KEY".
Here's my sample code using Chroma. I already specified the embedding fun whilst creating the collection. However, it still asks me for OPENAPI Key.
from langchain.llms.sagemaker_endpoint import LLMContentHandler, SagemakerEndpoint

# Flan-T5-XL model parameters
model_parameters = {
    "max_seq_len": num_output,
    "top_k": 0,
    "top_p": 0.7,
    "temperature": 0.3,
}

class ContentHandler(LLMContentHandler):
    content_type = "application/json"
    accepts = "application/json"

    def transform_input(self, prompt: str, model_kwargs: Dict) -> bytes:
        input_str = json.dumps({"inputs": [prompt], "parameters": model_kwargs})
        return input_str.encode("utf-8")

    def transform_output(self, output: bytes) -> str:
        response_json = json.loads(output.read().decode("utf-8"))
        response = response_json["outputs"][0]
        return response

content_handler = ContentHandler()

sm_llm = SagemakerEndpoint(
    endpoint_name=item.llm_endpoint_name,
    region_name=item.aws_region,
    model_kwargs=model_parameters,
    credentials_profile_name=item.credentials_profile_name,
    content_handler=content_handler,
)

# define LLM
llm_predictor = LLMPredictor(llm=sm_llm)

service_context = ServiceContext.from_defaults(
    llm_predictor=llm_predictor, context_window=context_window, num_output=num_output
)

# Load PDFS
DATADIR = Path("data/pdfs")
PDF_FILES = DATADIR.glob("**/*.pdf")

# DEFINE PDF Reader
PDFReader = download_loader("PDFReader")
loader = PDFReader()

if DATADIR.exists():
    for idx, _pdf in enumerate(PDF_FILES):
        documents = loader.load_data(file=_pdf)
else:
    print(f"File {DATADIR} not found!")

COLLECTION_NAME = "pdfs"

# First we create a chroma collection. Create client
client = chromadb.Client(
    Settings(
        chroma_db_impl="duckdb+parquet",
        persist_directory="chroma",  # Optional, defaults to .chromadb/ in the current directory
    )
)

default_ef = embedding_functions.DefaultEmbeddingFunction()

print(f"Creating collection: {COLLECTION_NAME}")
pdf_collection = client.create_collection(
    name=COLLECTION_NAME, embedding_function=default_ef
)

chroma_index = ChromaVectorStore(chroma_collection=pdf_collection)
storage_context = StorageContext.from_defaults(vector_store=chroma_index)
index = VectorStoreIndex.from_documents(
    documents=docs, storage_context=storage_context, service_context=service_context
)

I'll not be using Open API at all for both (LLM_PREDICTOR) and for the Embedding model. I have a custom endpoint running an open source text-2-text gen model and have most popular sentence-transformer embedding models downloaded from HF hub.
However, when I try to add documents to a VectorStore index I keep getting this error:
File ~/miniforge3/envs/nlp/lib/python3.9/site-packages/openai/api_resources/abstract/engine_api_resource.py:106, in EngineAPIResource.__prepare_create_request(cls, api_key, api_base, api_type, api_version, organization, **params)
    104     params["timeout"] = MAX_TIMEOUT
--> 106 requestor = api_requestor.APIRequestor(
    107     api_key,
    108     api_base=api_base,
    109     api_type=api_type,
    110     api_version=api_version,
    111     organization=organization,
    112 )
    113 url = cls.class_url(engine, api_type, api_version)

File ~/miniforge3/envs/nlp/lib/python3.9/site-packages/openai/api_requestor.py:134, in APIRequestor.__init__(self, key, api_base, api_type, api_version, organization)
    133 self.api_base = api_base or openai.api_base
--> 134 self.api_key = key or util.default_api_key()
    135 self.api_type = (
    136     ApiType.from_str(api_type)
    137     if api_type
    138     else ApiType.from_str(openai.api_type)
    139 )

File ~/miniforge3/envs/nlp/lib/python3.9/site-packages/openai/util.py:186, in default_api_key()
    185 else:
--> 186     raise openai.error.AuthenticationError(
    187         "No API key provided. You can set your API key in code using 'openai.api_key = <API-KEY>', or you can set the environment variable OPENAI_API_KEY=<API-KEY>). If your API key is stored in a file, you can point the openai module at it with 'openai.api_key_path = <PATH>'. You can generate API keys in the OpenAI web interface. See https://platform.openai.com/account/api-keys for details."
    188     )

You've only defined an llm_predictor in your service_context. The embed_model is not provided, so it is defaulting to text-embedding-ada-002 from OpenAI
You can use HuggingfaceEmbeddings for the embed_model to run them locally, or any embed model from langchain will also work
https://gpt-index.readthedocs.io/en/latest/how_to/customization/embeddings.html#custom-embeddings

Thank you! this works after specifying the embed_model in the ServiceContext. Much appreciated for the prompt response! :)
One follow-up question, Chroma, when creating a collection, expects a embedding_function as a parameter, if not set, the default all-MiniLM-L6-v2 is chosen. In this scenario, does the embed_model passed in ServiceContext overrides the default Chroma's embedding_function or does the user have to ensure that the name/value of the Embed model must be passed in twice?

@pchamart when llama index uses chroma, it will embed the documents itself with the embed_model before inserting, rather than letting chroma generate the embeddings. So, no need to worry about this parameter :)

Awesome! Thanks again!. I'll close this one now.


Condabot fix

Currently the conda-bot can update to versions outside of a channel, this should fix it.
The current builds are failing because r-base has a higher version in conda-forge.

@siebrenf I forced this since the tests are not sensible for this anyways. And then I can now re-run just to check if it works.


[AzureStack] az keyvault create fails with error "the endpoint 'microsoft_graph_resource_id' for this cloud is not set but is used". azure-cli version 2.37.0

Related command
az keyvault

Describe the bug

Starting az cli version 2.37.0, creation of keyvault in Azure Stack is failing with error "The endpoint 'microsoft_graph_resource_id' for this cloud is not set but is used"
The same command works with version 2.36.0
To Reproduce

az login   # login to any Azure Stack Environment
az keyvault create --name {} --resource-group {} --location {}

Environment summary
Windows-10-10.0.22000-SP0
Python 3.10.4
Installer: MSI

azure-cli 2.37.0

Additional context
Error Log
cli.azure.cli.core.azclierror: The endpoint 'microsoft_graph_resource_id' for this cloud is not set but is used.
C:\Users\<user>\.azure\clouds.config may be corrupt or invalid.
Resolve the error or delete this file and try again.

keyvault

Hi @rakku-ms, keyvault creation would query Graph API to auto assign access policies. Along with our migration from AAD Graph to MS Graph, azure stack will be influenced because there's no MS Graph support in Azure Stack. See Azure CLI MS Graph Known issues
There're two solutions:

Do not upgrade Azure CLI in Azure Stack environments. You can install Azure CLI <=2.36.0 following install specific version
If you don't want to uninstall the latest and install older version, please create keyvault with --no-self-perms to skip auto assignment of access policies. You can update access policies manually with az keyvault set-policy later.

FYI @sarathys @TheOnlyWei @vasanthrajams

We updated the docs to guide the users to install 2.29.2 or earlier for AzureStack usages
https://docs.microsoft.com/en-us/azure-stack/user/azure-stack-version-profiles-azurecli2?view=azs-2108&tabs=ad-win
You must use Azure CLI version 2.29.2 or earlier with Azure Stack Hub. Microsoft has discovered an issue with Azure Stack Hub that prevents using Azure CLI version 2.30.0 or newer.

It seems you can bypass this error by adding the missing MS Graph endpoint manually during az cloud register:
az cloud register -n $TntAdminEnvironmentName --cloud-config @"\cloud.json"`
JSON config:
{
  "endpoints":{
    "microsoftGraphResourceId": "https://graph.microsoft.com",
    "resourceManager": "...",
    "vmImageAliasDoc": "..."
  },
  "profile": "2020-09-01-hybrid",
  "suffixes":{
    "storageEndpoint": "...",
    "keyvaultDns": "..."
  }
}

Updated here with work-around for ADFS on latest Azure CLI:
https://learn.microsoft.com/en-us/azure-stack/user/azure-stack-version-profiles-azurecli2?view=azs-2306&tabs=ad-win#microsoft-graph-issues


Problem When Any Events From other users happen.

When I run the bot and log in or do anything on the server with another user it crashes saying can't change channel id.

This should be fixed in master


Initial structure for new pdata metrics exporter

Adds initial structure for new pdata to GCM exporter which will not depend on OpenCensus. newGoogleCloudMetricsExporterPdata() creates the new exporter.
The existing exporter now holds an instance of the new exporter and lifecycle methods are wired together. As support for pdata types (e.g. Sum points) are added, we can pass those points to the new exporter. Unsupported ones will continue to be handled by OC exporter. Eventually, we can completely replace the OC exporter in this repo and all of the integration test fixture code should pass.
The last step will be using this new exporter in collector-contrib. Users can opt in to the new rewritten exporter with a featuregate.

Structure looks good for us to start pairing off the work


Signing configurations

Summary of the new feature / enhancement
Need a way to enable only executing signed/trusted configurations.  Need a cross-platform solution (ideally)
Proposed technical implementation details (optional)
No response

Tools like cosign, ansible-sign, and minisign are what come to mind initially.
I've been following cosign for a while. It's initial selling point was signing container images (or ORAS artifacts, which might be worth keeping in mind re #92), but it also supports signing arbitrary blobs.
Relatedly, though possibly a fully separate issue, is whether a sort of sbom for configuration documents makes sense (unwinding the declared resource types and giving a more "full" snapshot of what the configuration document intended to convey).
Also worth keeping in mind on the approach whether/how to sign and verify manifests, and whether/how to indicate that DSC should only use signed and trusted resources and manifests.

Should DSC be validating signed configurations or should that be at a higher layer like an agent?
It could be problematic that DSC is making these kinds of technology decisions as what DSC has been proposed is that is the lowest level tool, read configuration and apply using resources. You're getting more into the solution layer when deciding which plain text configuration is valid or not.
As an example, in my thought experiment of bringing back the LCM and pull server in DSCv3 I was going to use GPG as the tool as it was cross-platform and was able to validate signatures and encrypted at rest/transit between pull server and node before passing the configuration to DSC.

@ThomasNieto - that's a fair point. I think there's still value in signing and sboms for publishing DSC Resources (or reusable configurations, potentially) to a registry, but I see the sense in what you're saying around higher order tools being responsible for "should my users trust and execute this configuration or resource?"

@michaeltlombardi I agree that there should be signing for DSC resources. The problem I see is that DSC supports resources in different languages and each use different signing schemes. Should DSC enforce its own signing policy or should that be left up to each language? If DSC enforces its own signing then the author may have to support multiple signing  technologies. For example, if I write my DSC resource in PowerShell or C# I can use Authenticode to sign the files. If I decide to write in a Linux paradigm I may use GPG to detach sign my files and publish the public key on the website for user validation.

Sorry, to clarify for "signed resources" - I meant the manifests for command-based resources and the hypothetical ORAS artifact for resources published to the registry I proposed in #92 - I think you're probably right that whether/how the commands the resource runs are signed/trusted is a different scope of problem.

Although we should leverage some specific implementation, we should have dsc have an extensibility model to support different ways of signing/validation so it's not locked to just one type.  This will aid in adoption for environments that already standardized on signing.


Add all ~350 commands to hermit-shell

We need a detailed testing plan here

So almost everything is ported over at this point except for:

Commands dealing with PrettyPrinter or CommandLineState values per issue https://github.com/ku-fpg/hermit-shell/issues/16

Overloaded shell externals, e.g. goto and gc.  I didn't want to mess with these until we figured out issue https://github.com/ku-fpg/hermit-shell/issues/3

Commands pertaining to the navigation mode per issue https://github.com/ku-fpg/hermit-shell/issues/18.  @roboguy13 is of the opinion that these are not of particular value in the new shell and I would tend to agree since they're barely functional in the old shell as is.

There might also possibly be some commands that the original wiki table creation script didn't pick up, so we didn't do them.  I'm in the middle of a fairly exhaustive review of both HERMIT and HERMIT-shell's externals, so hopefully I figure this out relatively soon.
Note that only the translations are complete, not any test cases beyond the examples we ported over for issue https://github.com/ku-fpg/hermit-shell/issues/7.


[release-4.16]NO-JIRA: feat(controller): disable http2

Manual backport of https://github.com/openshift/lvm-operator/pull/711

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 77.30%. Comparing base (fc4ac5a) to head (902904a).
Report is 1 commits behind head on release-4.16.

Additional details and impacted files

@@              Coverage Diff              @@
##           release-4.16     #718   +/-   ##
=============================================
  Coverage         77.30%   77.30%
=============================================
  Files                27       27
  Lines              2005     2005
=============================================
  Hits               1550     1550
  Misses              329      329
  Partials            126      126

/lgtm

/retitle [release-4.16] OCPBUGS-42093: feat(controller): disable http2


Goblin is listed in the lobby menu but Zandalari is the default choice

Good catch, but as this slot is changing drastically in the upcoming release I think we can just leave it slightly broken for now.


Specify modules explicitly

After upgrade to Concreate 1.3 lack of specifying path to modules may break the build.

Thanks!


Ribbontab.text doesn't show

Hello every body,
I'm wotking on program that use a kryptonRibbon. It work not so bad under windows 10.
Therefore my application should be launch on a windows 2008 server . In this environnement, the ribbonTab text doesnt show.

Have you ever meet this behavior?
I don't have any error.
Under Win 2016 server,
Best Regard's

Hi @herledant
Please be aware that we don't support Windows Server 2008 or lower including clients on this particular version. Please refer to versions 5.460 or lower for support.

Ok
Did you mean that, if i use Krypton 5.460 dll it will work?

I try to use 5.460 and 5.450 but with same result.
Is it lost for me ?

It looks like you need to change the colour of the tab text.
Try:
StateCommon > RibbonTab > TextColor
It looks like in your app, its set to white.

You could put in a function to change this on a lower OS. i.e
if running on Server 2008 or lower then
set ribbon text colour
end if

hello Wagnerp,
Thank's for help but it doesnt change anything.
Changing color work well on Win10 or 2016 but not in 2008.
It is desperatly invisible.

I will fire up one of my VM's tomorrow to find out what's going on.

i try to force the text with:
KryptonRibbon1.RibbonTabs(0).Text = "Search"
But same result
Sincerly thank's Wagnerp to try to help me.

Hello Wagnerp,
Did you have time to find out what's going on?
BR

Hi @herledant
Not yet, as I've been rather busy adding new stuff to the extended toolkit, like themed scrollbars etc. But hopefully this week. Is this a issue just when the Windows classic theme is applied?

Hello Wagnerp,
I'use the Win 2013 white theme but when i launch my application I feel that
the theme becomes a mix of system and 2013 white.
Anyway, even if i change the theme in kryptonManager, it doesn't change
anything when i launch the app under win 20008
Le lun. 3 déc. 2018 à 10:34, Peter Wagner<EMAIL_ADDRESS>a
écrit :

Hi @herledant https://github.com/herledant
Not yet, as I've been rather busy adding new stuff to the extended
toolkit, like themed scrollbars etc. But hopefully this week. Is this a
issue just when the Windows classic theme is applied?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Wagnerp/Krypton-NET-5.470/issues/75#issuecomment-443645623,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIvecfB_qr2NnUVnb3I5veJUOIxlfYH-ks5u1PAogaJpZM4YifdA
.

--
Herledant Fabien

Hi @herledant
Have you changed Form to KryptonForm in your code? As I've just tested it and it works fine for me.

Yes wagnerp, inherit from kryptonForm
Le lun. 10 déc. 2018 à 08:56, Peter Wagner<EMAIL_ADDRESS>a
écrit :

Hi @herledant https://github.com/herledant
Have you changed Form to KryptonForm in your code? As I've just tested it
and it works fine for me.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Wagnerp/Krypton-NET-5.470/issues/75#issuecomment-445723360,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIveca4gfj4XCNdL318HVtuIWirwqHxcks5u3hOsgaJpZM4YifdA
.

Strange,  does it still happen if you use the 2007 or 2010 renderer, as the original Office 2013 UI was not really designed to fit in with versions lower than Windows 8, as MS moved away from skeuomorphism at this point to a more flat design.

IT happend all time whatever UI I use..
Even If I change the UI at loading form.
I Install à fresh 2008 serveur on a Virtualbox and fzcing to this problem
again. I dont understand why you dont reproduce...
Le lun. 10 déc. 2018 à 14:49, Peter Wagner<EMAIL_ADDRESS>a
écrit :

Strange, does it still happen if you use the 2007 or 2010 renderer, as the
original Office 2013 UI was not really designed to fit in with versions
lower than Windows 8, as MS moved away from skeuomorphism at this point to
a more flat design.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Wagnerp/Krypton-NET-5.470/issues/75#issuecomment-445821058,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIvecR77nnnwjiAdNfopV12wy24tTXw-ks5u3mZXgaJpZM4YifdA
.

I have managed to reproduce it in a VM install of Vista. However I don't understand why it doesn't like the classic themes. It might be that the renderer does not take these themes into account for the ribbon control.

Think you it is possible to test IT on 2008 server and see what's going on
?
Le mar. 11 déc. 2018 à 09:56, Peter Wagner<EMAIL_ADDRESS>a
écrit :

I have managed to reproduce it in a VM install of Vista. However I don't
understand why it doesn't like the classic themes. It might be that the
renderer does not take these themes into account for the ribbon control.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Wagnerp/Krypton-NET-5.470/issues/75#issuecomment-446122096,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIvecQAtTlM26v6PATi06BgXXM5bB2aXks5u33MhgaJpZM4YifdA
.

I can if I can get my VM install from 2014 working, but I think that this bug goes back to Component Factory's original code.

If so, I'll report this bug on his repo, to see if anyone has a fix.

Ok I'll wait for news from you.
Thanks
Le mar. 11 déc. 2018 à 14:09, Peter Wagner<EMAIL_ADDRESS>a
écrit :

If so, I'll report this bug on his repo, to see if anyone has a fix.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Wagnerp/Krypton-NET-5.470/issues/75#issuecomment-446196335,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIvecZWkx6vw06_FFIpncRj5YdRWPIIIks5u366DgaJpZM4YifdA
.


Audience property is obsolete.

The Audience property has been obsolete and needs to be replaced by ValidAudience.

Fixed.


Objective-C - warnings for isEqual and hash

Sometimes it happens that a developer implements -(BOOL)isEqual:(id)otherObject, but then forgets to implement - (NSUInteger)hash in that class. This can lead to hard to debug behaviour when instances of that class are used in collections.
Could this be a candidate for a warning?

maybe u can find some other tools having realized this feature:
like oclint? https://github.com/oclint/oclint/blob/master/oclint-rules/rules/cocoa/ObjCVerifyIsEqualHashRule.cpp

@GeekMin good point, our linter didn't pick this up :)


TypeSafety Only Works When Chaining

Typesafety only seems to work properly when chaining methods directly on the Elysia class object at instantiation time.
For example, on the left typesafety works and the correct types are provided, but, on the right, when there is no chaining, the correct types aren't generated on the routes. Wondering if anyone has come across this issue as well.

This isn't really an issue. It is documented here: https://elysiajs.com/patterns/method-chaining.html


Calcium activation with calcium transient

How would one go about adding calcium activation?
How would one go about using a pre-recorded calcium transient over a time period?

Hey hey,
Actin permissiveness is an analog for calcium activation. In setting this you are combining Tn/Tm interactions into a single variable. To use a pre-recorded Ca profile you'd set actin permissiveness to different values across the length of a run.
Take a look at the metafile creation which manages these things for you in a run, or set them manually by accessing individual instances of hs.thin[x].binding_sites[y].permissiveness.

Hi
I have just had time to turn my attention back to this again.
I was able to set the permissiveness on the sites to an arbitrary value using hs.thin[x].binding_sites[y].permissiveness . So, I know I can use a sequence of values from the pre-recorded Ca profile across a run. (1) Would this be correct?
However, I am unsure how with a pre-recorded Ca profile I would set each of the following for the actin_permissiveness workloop using the  metafile: cycle frequency, phase relative to longest length point, duration of on time, time from 10 to 90% influx level, and the half-life of the Ca2+ out-pumping.
Could you provide some explanation. Many thanks.


Theming drawable vectors

Is there any way to theme vector assets?

Not automatically, no

how i can use custom attribute in drawable resources ? because when i tried ?some_color it is not taking updated color.


Math functions and Binary operators failing

I tested a bunch of expressions, and found some, even simple ones, that cause the module to fail. I think besides solving the issues, it would be cool to have invalid expressions or expression parts return 0 instead of throwing an error, or to have that as a togglable option.

Binary operator: true ? 5
Any math functions: Math.pow(2, 2)

Thanks a lot for the super valuable feedback!

AFAIK, true ? 5 is actually an invalid statement because it has to be terminated with a semicolon in order to be parsed correctly. (Unless that changed by now; it was mentioned in an internal doc by the Minecraft team)
I've added a variant of the execute function that catches errors. We didn't have this in before because bridge. uses errors for validating MoLang scripts. I realize that this is not ideal for other use cases.
Math.pow(2, 2) runs fine for me. Can you elaborate how the math functions are broken for you? :)

I think a binary statement without semicolon should be valid. Not sure where they mentioned that it shouldn't, maybe you can point me to that. But I tested in-game and it worked fine, and the documentation mentions nothing about that.
Not sure why math doesn't work for me. I cloned the repository, installed dependencies, created a file with this content and ran it in Node:
const MoLang = require('.');
let n = MoLang.execute('Math.pow(2,2)');
console.log(n);

And it threw this error:
TypeError: this.name.eval(...) is not a function
    at T.eval (C:\Users\Jannis\Documents\Development\MoLang\dist\main.cjs.js:1:8606)
    at Object.exports.execute (C:\Users\Jannis\Documents\Development\MoLang\dist\main.cjs.js:1:17339)
    at Object.<anonymous> (C:\Users\Jannis\Documents\Development\MoLang\test.js:2:16)

It was part of the first draft of the new MoLang features inside of #partner_molang. Since you can get it to work without it, I'll remove the check for the semicolon. That's a super easy fix.
Oh, that's an extremely good catch. Thanks, will be fixed in a sec 👍

Thanks again for the feedback. All of it should be addressed in v1.6.1! :)
Please note that I've changed the API surface to be a class in order to support better handling of execution environments and improve performance even further. Therefore, you'll need to change the JS accordingly:
import { MoLang } from "molang"
const myMolang = new MoLang({ /** Variables, queries etc. here */ }, { /** Settings here */ })

let n = myMolang.execute('Math.pow(2,2)');
console.log(n);

// Or without errors
let n = myMolang.executeAndCatch('Math.pow(2,2)');
console.log(n);


$ref all enum variants

Currently, this isn't done for internally and untagged enums, and any unit variants as they don't currently have a schema title.

#11 implemented this for all variants except unit variants


JTree support

It would be really nice if JTrees were supported.
It seems that currently, they are not supported.

I'll work on it over the weekend :)

@atarw Thank you for the quick reply. :)
Not only is your work really aesthetically appealing, you seem to be really actively maintaining it; you really deserve more credit and I am surprised this repository is not much more well known that it is. Keep up the good work!

Thanks for the kind words ❤
The latest release should support JTables now

Thank you, I did not get to test it yet but that was really quick!


Fix resource-manager image tag

How to categorize this PR?

/kind bug
What this PR does / why we need it:
After https://github.com/gardener/gardener/pull/4848, grm is deployed with the seed/shoot k8s version as the tag if the image is not overwritten via the image vector overwrite.

I'm confused, how/why is this fixing this issue and why does it work like this for other components (e.g. https://github.com/gardener/gardener/blob/ea7a9d227fcb57e9b58aaee8e22b7822802417b9/pkg/operation/botanist/clusterautoscaler.go#L28)?

imageVector.FindImage uses the TargetVersion as tag if there is no tag in the image vector (or overwrite).
cluster-autoscaler as an example is different, because there is always a tag specified in the image vector (grm now doesn't have a tag anymore in images.yaml).

imageVector.FindImage uses the TargetVersion as tag if there is no tag in the image vector (or overwrite). cluster-autoscaler as an example is different, because there is always a tag specified in the image vector (grm now doesn't have a tag anymore in images.yaml).

-> same as for the GSAC
https://github.com/gardener/gardener/blob/ba0a60af61e3a60c23ffc28af04ea22a227d7838/pkg/operation/seed/components.go#L79


Coerce on scalar update

To be consistent with other containers, I think the following should work:
>>> s = Scalar.from_value(1)
>>> s << 2.2

In my opinion, this should coerce to 2.  Similarly, I think s.value = 2.2 should work.
So, are scalars special enough to put extra guards around, or should they behave as much like other containers as possible?

I changed my mind.  It may be difficult to be certain we'll have the same coercion if/when GrB_Scalar is added.  So, let's be conservative for now.


Tag search journal, issue items url not correct on remote system

http://ojs.io/tag/help journal section, first item

I copied remote database completely. My local system route generates correctly. Professional hands can handle this issue. Probably it can be nginx apache2 platform difference.


Issues with range query in marklogic node js api

We are using marklogic node js api to query JSON documents. The query doesn't work fine when range query is paired with boolean values. For example the below query returns zero documents even though there are records which satisfy all the conditions

Although, the query works fine when the range  parameters are passed alone

Or even when paired with text values

Can you attach a copy of the search options you're using and also an example of a document that you expect to match the "IsActive" criteria?

Below are the query options used and an example document in marklogic

@MayuriSivanesan - I have been able to replicate your issue locally. However, when I used the Admin console to create an Element Range Index, then the query worked exactly as expected.
Have you created an index for the "Area" element? If not, try creating an index.

Navigate to the "Element Range Indexes" page for your database.
Click the "Add" tab.
Choose "Int" for the Scalar Type.
Leave Namespace Uri empty
Enter "Area" in the Localname field
Click "Ok"
Give your database time to create the new index and try the query again.
Note that if your database is large, reindexing can take some time. Do not do this in production without preparing first.

My setup:

Ran the sample on both ML 11.0.2 & ML 10.0-10
I inserted a document:
{   "inputType": "application/json",   "outputType": "application/json",   "properties": {       "GroupId": 458,       "GroupName": "Retail",       "IsActive": true,       "Name": "Land",       "Type": "Building",       "Area": 2154,       "IsDeleted": false,       "ObjectId":<PHONE_NUMBER>   } }
I created a simple Node script to run your query:
`const marklogic = require("marklogic");
const connection = require("./settings").connection;

const db = marklogic.createDatabaseClient(connection);
const qb = marklogic.queryBuilder;
const whereClause = {
"IsDeleted": false,
"$and": [
{
"GroupId": 458
}, {
"IsActive": true
}, {
"Area": {
"$ge": 2
}
}
],
"$filtered": true
};
const query = qb.where(qb.byExample(whereClause))
.withOptions({ categories: "content", metrics: true});
db.documents.query(query)
.result()
.then(response => console.dir(JSON.stringify(response)))
.catch(error => console.error(error));`
What I found was that I was able to replicate your results as long as I don't have any indexes on the "Area" element.
'[{"snippet-format":"snippet","total":0,"start":1,"page-length":10,"results":[],"metrics":{"query-resolution-time":"PT0.001262S","total-time":"PT0.001434S"}}]'
After creating the index:
'[{"snippet-format":"snippet","total":1,"start":1,"page-length":10,"results":[{"index":1,"uri":"/githubExample.json","path":"fn:doc(\\"/githubExample.json\\")","score":14336,"confidence":0.5296452,"fitness":0.7490314,"href":"/v1/documents?uri=%2FgithubExample.json&database=mlxprs-test-content","mimetype":"application/json","format":"json","matches":[{"path":"fn:doc(\\"/githubExample.json\\")/properties/number-node(\\"GroupId\\")","match-text":[{"highlight":"458"}]},{"path":"fn:doc(\\"/githubExample.json\\")/properties/boolean-node(\\"IsActive\\")","match-text":[{"highlight":"true"}]},{"path":"fn:doc(\\"/githubExample.json\\")/properties/number-node(\\"Area\\")","match-text":[{"highlight":"2154"}]},{"path":"fn:doc(\\"/githubExample.json\\")/properties/boolean-node(\\"IsDeleted\\")","match-text":[{"highlight":"false"}]}]}],"metrics":{"query-resolution-time":"PT0.002302S","snippet-resolution-time":"PT0.000847S","total-time":"PT0.319747S"}},{"uri":"/githubExample.json","category":"content","format":"json","contentType":"application/json","contentLength":"223","content":{"inputType":"application/json","outputType":"application/json","properties":{"GroupId":458,"GroupName":"Retail","IsActive":true,"Name":"Land","Type":"Building","Area":2154,"IsDeleted":false,"ObjectId":1000006236}}}]'

Closing this since it has been a year. Please open another issue if the problem exists/happens again. Thanks.!


Incorrect Balance for some Android users for some tokens.

A user reported the issue where the STAKE balance was shown in Trillions, rather than the actual balance which was 2.6624:

Please let me know if you need any further information.

Wrong repo, as this was an iOS issue