Kill tasks honor the buffer period of unused segments

Problem Description
With https://github.com/apache/druid/pull/12599, operators can configure druid.coordinator.kill.bufferPeriod,
allowing the KillUnusedSegments duty to utilize the buffer period to find candidate unused segments.

The coordinator duty KillUnusedSegments determines an umbrella interval
for each datasource to determine the kill interval. The umbrella interval can be a widened
interval and there can be multiple unused segments in this interval with different
used_status_last_updated timestamps. For example, consider two unused segments in the
interval [2023-01-01/2023-01-05] that  were marked as unused at different times, one that
is 30 days old and another that is 1 hour old.

However, when a kill task is instantiated with this umbrella interval, it’d kill all the unused segments
found in the interval regardless of the last updated timestamp. In the above example, the kill task
after the 30-day mark would kill both the unused segments and not retain the 1-hour old one.

Fix
Pass in the maxUsedFlagLastUpdatedTime to the kill task and the unused segments retrieve task action.
Adjust the metadata SQL query to account for used_status_last_updated <= maxUsedStatusLastUpdatedTime when maxUsedFlagLastUpdatedTime is non-null.

Release note

Resolved an issue where the auto-kill feature failed to honor the specified buffer period. This occurred when multiple unused segments within an interval were marked as unused at different times.
Users can submit kill tasks with an optional parameter maxUsedStatusLastUpdatedTime. When set to a date time, the kill task considers segments in the specified interval marked as unused no later than this time. The default behavior is to kill all unused segments in the interval regardless of the time when segments where marked as unused.

This PR has:

[x] been self-reviewed.
[x] added documentation for new or modified features or behaviors.
[x] a release note entry in the PR description.
[x] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[x] been tested in a test Druid cluster.

Thanks for the reviews, @zachjsh @kfaraz @jon-wei!


Docs: Added NextJS + RDS + Drizzle + migrations script example

My particular stack choice (NextJS + RDS + Drizzle, including migrations) didn't have an example...nor was there really an example that was close.
So after asking on the discord and tinkering around with my own application I came up with a solution that seemed reasonable. I felt it might be good to share the core of what I had done in an example, and so I made one.
It includes the following:

SST application setup in standalone mode
NextJS web package (using TS + Tailwind + App router)
SST RDS (PostgreSQL database)
SST Script (run drizzle migrations created in the NextJS site on deploy)
Drizzle ORM

All dependencies are latest as of this PR being issued. I made sure to standup the example application after creating it and verified everything works.
Please let me know if you guys would like anything changed, or if you don't care for this at all feel free to close it.

Oh nice this is super useful. We would love to add this.
There's only one little issue. Our examples are generated from these presets. It helps keep the versions up to date. Here's an example https://github.com/sst/sst/tree/master/packages/create-sst/bin/presets/examples/quickstart-nextjs
This specifies what's in the package.json https://github.com/sst/sst/blob/master/packages/create-sst/bin/presets/examples/quickstart-nextjs/preset.mjs#L9 and you can move all your project files inside the templates/, for ex: https://github.com/sst/sst/tree/master/packages/create-sst/bin/presets/examples/quickstart-nextjs/templates
Let me know if that makes sense. If not then I can take a crack at it.

@jayair well...I think I did what was correct, although admittedly I am unsure of how to test this off hand (if you could provide a pointer on that I will test using the template locally).
As for what I did, the quick-start template was too simplistic to directly copy/edit from. The template I created needed a function created as well as a NextJS site. After looking into the create-sst code and some of the other templates a bit, I think I came up with a template I think would work...although I am flying a bit blind here without some wanted context.
Anyways, please take a look and let me know what you think.

Appreciate it! I'll take a look.

Let me try and generate them and I'll report back.

Here it is: https://github.com/sst/sst/tree/master/examples/nextjs-rds-drizzle
Let me know if it turned out okay.


Support for inf, nan, binary data in attributes

In both v2 and v3 specs, attributes are stored as JSON which means they are subject to the limitations of JSON:

Infinity and NaN cannot be represented, although currently zarr-python supports these via a non-standard extension to JSON format (directly encoding them as unquoted Infinity or NaN within the JSON output).  This support may be accidental rather than intentional, though.
Byte strings (as opposed to Unicode strings) cannot be represented.

The v3 spec suggests the possibility of using a binary encoding like CBOR for metadata which would solve these issues.  However my understanding is that CBOR would not be the default.

Here's the current code in Zarr Python for handling these values. One thought might be to graduate this to inclusion in the spec as-is. Idk if there are other approaches worth considering.
For more complex objects Base64 encoding has come up as an idea.

For fill_value the data type is already known so there isn't an issue there.  zarr-python for v2 already uses a different encoding for fill_value ---- infinity is encoded as "Infinity" rather than Infinity.
I think it would be nice if fill_value can be expressed in a readable way but that isn't critical.
I intended this issue to be about user-defined attributes, though.  For example, a common use case might be to store the min/max range of an array, or the bucket partitions for a histogram as attributes.

Ah sorry thought from our conversation earlier this was fill_value focused.
That being said, the issue is more or less the same in either case. We are storing values in JSON that may not representable using standard JSON types.
In these cases we do know how we would encode the data to write in a binary file. That same strategy could be leveraged to binary encode those values as if they were going in a chunk then convert to base64 before storing in JSON as string (possibly with an object indicating the encoding like above).
Understand the concern about human readability. With things like NaN and Infinity, we could quote them if that is sufficient. Zarr Python should be doing this currently. If it is not, that is a bug. We could also attempt JSON encoding these values in a readable way if possible. Only falling back to base64 if that is not an option.

The difference between fill_value and user-defined attributes is that for fill_value, the data type is specified elsewhere in the metadata and can be used to decode whatever representation is used.
For example, we probably want to distinguish between the user storing an attribute "a" with a value of the string "Infinity" and the user storing an attribute "a" with a value of the floating-point number Infinity.  If both are encoded as {"a": "Infinity"} then that is not possible.
For user-defined attributes, if we want to support arbitrary data values, then we need to decide on the data model and there needs to be a way to unambiguously encode them.
For example, we might choose a data model of JSON augmented with support for +/-Infinity, NaN, and byte strings.
If we want to stick with encoding attributes as valid JSON, we could define an escaping mechanism so that the following Python attribute dictionary:
dict(a="Infinity", b=b"some binary representation", c=float("inf")}

is encoded as the following JSON metadata representation:
{..., "attribute_escape_key": "xxx", "attributes": {"a": "Infinity", "b": {"xxx": "binary", "value": "base64 representation..."}, "c": {"xxx": "Infinity"}}

When encoding, the implementation must choose an escape key "xxx" that does not occur as an actual key in any attribute value that is a dictionary.

I generally like the idea of encoding things as objects if necessary. If possible, I'd prefer to have one clear way of identifying them, e.g. {"@type": "...", ...}.

Would be great to get the unidata perspective here. NetCDF supports typed attributes, so they have had to confront this already with nczarr. cc @WardF and @DennisHeimbigner.

First, note that netcdf-c does not allow multiple occurrences of an attribute
with the same name, even if the types are different.
I am not sure if relevant, but NCZarr adds an extra attribute named _nczarr_attr
whose value is a JSON dictionary that contains extra information about the other attributes defined by .zattr.
Specifically, it contains a key called "types" maps each attribute name to
a type such as "<i4".

Good discussion this evening around this topic during the community meeting. Present company seems to be leaning towards a JSON-object-style encoding of one form or another. See the notes for more.

I'm proposing to go forward with JSON encoding as the default for v3 for now, and explicitly allowing arbitrary JSON entries for a given key in the user-attributes, which itself must be a string. This is effectively the same as the spec already defines since JSON object literals must have strings as keys.
This would currently not allow good representations of inf/nan or bytestrings in user attributes. (As mentioned above, there's special handling for fill-values). If somebody would create a PR to add this to the current spec I think it would be valid to include it.
Alternative encodings to JSON may be added by extensions later, especially if user attributes may be stored in a separate document (see #72).
Just as a side-note: yaml would both support inf/nan/binary, as well as custom type definitions. Might be a useful extension, and IMO more human-readable than CBOR


Update README.md

I hastily merged this without noticing there is no signed CLA :grin:
@alex-teren, could you please sign the CLA now ?
I know it is a tiny change, but we require a signed CLA for all code that gets merged.


Site discovery

Hey @zstumgoren -- Putting in a PR with my research on Odyssey sites from the past week.
This includes:

sites-discovery.md: Brief README recapping how I found Odyssey sites.
validate_sites.py: A script to validate Odyssey sites and grab basic metadata. Note that I entered some values by hand into the csv generated by this script, so the process isn't fully automated yet.
courts_csv: A lightly cleaned up and filtered version of the csv created by validate_sites.py.

The idea is that court_sites.csv would replace sites_meta.csv. The PR doesn't remove sites_meta.csv, in case that file needs to be in that directory because code is drawing from it.

Hey @DiPierro let's reboot on this Pull Request at our next discussion. There are some important bits of documentation and code here that you submitted, but I'd like to discuss dropping the files in alternate locations before merging the request. Also, the merge of the ok_dev branch has caused some complications with cleaning merging this PR (that's no fault of yours but on me), so probably easier to start with a fresh branch containing your changes and hash out where to drop files, etc.


Add what web browsers are compatible with Soletta Dev-App

This patch set also has some minor fixes

+1


Lighting issue with portals

I'm not sure if this has been fixed, or if this issue is fixable, but the lighting is inconsistent through portals.

Minecraft lights different facings with different lighting. You can choose darker block or lighter blocks to make the lighting less noticable.


I have 16 GB ram with 8core server ...still when more than 30 User conenct server is stuck

Before adding this issue, make sure you do the following to make sure this is not a duplicate:

Search through the repo's previous issues
Read through the readme at least once
Search the docs for the feature you're looking for

We primarily use GitHub as an issue tracker; for usage and support questions, please check out these resources below. Thanks! 😁.

Discord: https://discord.gg/qCJ95FVbzR
WhatsApp Group: [https://chat.whatsapp.com/EGLVbeFGgt40OkbOCX8Sei]
Also have a look at the readme for more information on how to get support:

hello, could you tell me what activities you have been running?
In addition to the settings you passed, what operating system are you using?
wppconnect-server is up to date?

Yes, after connection of multiple tokens ram will reduce to some mb data.


Make event_type_ids dynamic

At November Five we were looking for a Terraform module which triggered slack messages on pipeline actions.
This module helped us a lot, thanks for that.
We did however have the need to also get notifications on Manual approval steps of the pipeline, so I made a few changes to support this. It is now possible to provide the list of event types which you want to receive notifications of.
I also made the slack message a bit more dynamic based on the type of event.

Hi @jorenvh1 Great to hear that you found this module useful.
Your PR seems like a great addition to this module so I'll be happy to accept it! One thing missing here is the docs for the new input. Could you enable edits from maintainers on this PR?

Alternatively, bump pre-commit-terraform in .pre-commit-config.yaml like this:
 - repo: git://github.com/antonbabenko/pre-commit-terraform
-  rev: v1.21.0
+  rev: v1.48.0
   hooks:
     - id: terraform_docs

and then run pre-commit run -a

Hi @kjagiello
The checkbox is checked for me, not sure if there's any other permissions I need to enable?

Alright, my mistake, it worked just fine! Will release a new version shortly. Thanks for your contribution!


[DOC] Add fail processor documentation

Description
Closes the content gap
Issues Resolved
#https://github.com/opensearch-project/documentation-website/issues/4647
Checklist

[X] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@hdhalter We need a dev to take the first pass at drafting this content. I can support them in refining the content and getting it through the documentation process. The ingest processor template is provided with this PR, so it should help the dev get started. Thanks!

@gaobinlong Would you have availability to help close the content gap on this PR? We don't have a set deadline, so at your availability is okay. The same process you following for the copy processor can be followed here. Thank you.

@gaobinlong Would you have availability to help close the content gap on this PR? We don't have a set deadline, so at your availability is okay. The same process you've followed for the copy processor can be followed here. Thank you.

OK, glad to do that, I'll open a PR for this issue.

@gaobinlong Would you have availability to help close the content gap on this PR? We don't have a set deadline, so at your availability is okay. The same process you've followed for the copy processor can be followed here. Thank you.

OK, glad to do that, I'll open a PR for this issue.

Thanks @gaobinlong. Please tag me in the PR when it's ready for doc review.

@gaobinlong Thank you for your review and the code examples. I made your changes. Once. you approve, I'll send for editorial review and then merge the PR.


Strings that make use of ANSII color codes do not have in-line previews

This is a really minor issue, but it became a pretty big nuisance for one of our larger projects.
String types/references do not get an in-line instruction preview if they contain a non-ASCII byte. While this seems like a reasonable assumption, I would like to ask for an exception to the magic 'ANSII' color code byte \x1b.
For example, I would expect the line in blue to have an in-line string preview like the puts() statements above it. But this string, in particular, makes use of ANSII color codes to colorize its output.

POC binary: plc.zip
Explicitly assigning a string type to this pointer does not help. It does not seem possible to force an in-line preview to appear any other way.

Fixed in 1506.


PAT expiration issue

Currently it uses Azure Service Connection(Azure DevOps API) which requires PAT. But we don't have never expiring PAT option in Azure DevOps till now, so the person who created that PAT leave organization before PAT expiration, we won't get notified via email and in such a way many of things will stop working without any intimation.
Though this extension doesn't use Azure Service Connection(Azure Resource Manager) we don't have option to use Service Principal.
Can we have any alternative here?

You can always generate a pat yourself and update the service connection

You can always generate a pat yourself and update the service connection

Thanks for your quick response, but actually the limitation of PAT(expired some time in future) is stopping us to use that. We need to build a process where, it is completely non-dependent and nobody required to take a look into that process anytime further in future.
Do we have something where we can use Service Principal(or any alternate) instead of PAT, so we can overcome from regenerate PAT issue?


✨(react) add select options custom render

Mono

Multi

Looks good, meets Marsha's needs!
2 remarks:

height relative to the content

In searchable mode, when we click on the option, the filter stay active so we don't see the ReactNode until we click out of the select

scrnli_10_9_2023_10-53-40.AM.webm

I get what you mean, in reality it was 100% made on purpose to fit the design system. The select is not intended to be used with exotic heights, in such cases it probably means the UI/UX of the feature could be reworked in another way to be able to use native components based on quick talk with @jbpenrath
WDYT @AntoLC ?

I get what you mean, in reality it was 100% made on purpose to fit the design system. The select is not intended to be used with exotic heights, in such cases it probably means the UI/UX of the feature could be reworked in another way to be able to use native components based on quick talk with @jbpenrath
WDYT @AntoLC ?

I think that the client would have about 15px to be able to render his option without modifying the height, so it will not cover lot of use cases.

In searchable mode, when we click on the option, the filter stay active so we don't see the ReactNode until we click out of the select

scrnli_10_9_2023_10-53-40.AM.webm

What about this part?

Looks good, meets Marsha's needs!
2 remarks:

height relative to the content

In searchable mode, when we click on the option, the filter stay active so we don't see the ReactNode until we click out of the select

scrnli_10_9_2023_10-53-40.AM.webm

@AntoLC could you provide a video of the current implementation of this select ?

could you provide a video of the current implementation of this select ?

In our Marsha usecases we have that:

In searchable mode, when we click on the option, the filter stay active so we don't see the ReactNode until we click out of the select

scrnli_10_9_2023_10-53-40.AM.webm

What about this part?

What other possibilities do we have? In search mode when giving focus to input we need to deal with text, so that's why we use label we can't fit the ReactNode inside a text input.

In searchable mode, when we click on the option, the filter stay active so we don't see the ReactNode until we click out of the select

scrnli_10_9_2023_10-53-40.AM.webm

What about this part?

What other possibilities do we have? In search mode when giving focus to input we need to deal with text, so that's why we use label we can't fit the ReactNode inside a text input.

Other possibility, when you click on the option you display the option, as it is now when you click on the option you still display the filter until the user click out of the select as shown in the video.

I understand, it would imply a structural change were when you select an option you loose focus on the search input, which is not what we see on other libraries at most 🤔


Obfuscation of data

Raised an issue with the HMRC content style guide team due to lack of guidance:
https://github.com/hmrc/HMRC-content-style-guide/issues/99

HMRC pattern released https://design.tax.service.gov.uk/hmrc-design-patterns/hiding-information/


🐛 [BUG] - Security Problems PostCSS line return parsing error

Browsers
Firefox, Chrome, Safari, Microsoft Edge, Opera
OS
Windows, Linux, Mac
Description
An issue was discovered in PostCSS before 8.4.31. It affects linters using PostCSS to parse external Cascading Style Sheets (CSS). There may be \r discrepancies, as demonstrated by @font-face{ font:(\r/*);} in a rule.
Reproduction URL
https://github.com/AgainIoT/Open-Set-Go_client/security/dependabot/3
Reproduction Steps
https://github.com/AgainIoT/Open-Set-Go_client/security/dependabot/3

Solutions
upgrade postcss package up to < 8.4.31

Screenshots
![DESCRIPTION](LINK.png)

reference it!
https://github.com/AgainIoT/Open-Set-Go/discussions/40


⚠ ClamAV has degraded performance

In 2db93a9, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 83 ms

Resolved: ClamAV performance has improved in cac3964.


Map SciJava module metadata to magicgui

SciJava module items have various metadata, including:

[x] name
[x] label
[x] type
[x] min/max values
[x] default values
[ ] widget styles

We should map as many of these as possible to their magicgui equivalents.
For required=false parameters, we may want to use Optional[...] so that they are allowed to be unset.

#8 does everything except for widget styles.
Adding widget styles could be a bigger effort. I'll look into it.

@gselzer Glad to see progress on this. I wouldn't worry much about the widget styles -- they are requests, not requirements. If magicgui has an equivalent for a particular style, use it, or if not, oh well too bad.

@ctrueden it seems like styles are covered by different magicgui widgets, instead of by an or property (am I right, @tlambert03?)

The NumberWidget styles are covered by magicgui's SpinBox and Slider
The ChoiceWidget styles are covered by ComboBox, Select and RadioButtons
The FileWidget styles do not seem to have a magicgui equivalent; all file selection is done by FileEdit

Thus we could support some styles by mapping types to a widget_type, passed here to magicgui.
Unfortunately, this strategy would be a problem if widget styles ever map to a particular magicgui widget's options. In that case, we'd instead have to add a key to _add_param_metadata. This would then require another dict, mapping a style to a parameter key and value. But also doable.
I'll start prototyping.

Thus we could support some styles by mapping types to a widget_type, passed here to magicgui.

Actually, I think it becomes even easier as widget_type just gets thrown into the options here. So we should just be able to specify widget_type in _add_param_metadata!


feat(CHI-1064): reindex command retry option

We will not merge this pull request back into the feature branch, but use it separately.


Absolute time is annoying, how about relative time?

"2 hours ago" instead of an entire sentence long for the time?

Makes sense. I wanted to do this with the lita-ambush https://github.com/jjasghar/lita-ambush/issues/6 also, but i havent made it happen.
Honestly it's above my knowledge of ruby too, or hell coffeescript for this matter.


buttplug.io haptics

Adds buttplug.io haptics support, currently by treating all vibrators as extra gamepads marked with a new haptics-device flag.
TODO:

[ ] Consistent device numbering
[x] Confirm full support for both 1-motor and 2-motor devices
[x] Web browser support using buttplug.io as WASM module + Web Bluetooth (may be separate PR)
[ ] Package external resources for web version instead of using the CDN
[x] Add websocket connection support to command-line Pinput

I declare this workable for game jam purposes.


Provide rudimentary support for .glyphs feature compilation

The glyphsLib _to_ufo_features function seems likely to be informative, https://github.com/googlefonts/glyphsLib/blob/24b4d340e4c82948ba121dcfe563c1450a8e69c9/Lib/glyphsLib/builder/features.py#L74

Fixed by #91, #92 tracks token expansion. So far this appears not to be widely used.


Excessive logging of checkUser error in Atom Editor

Steps to Reproduce
Deploy a flutter app to my android device
Flutter Doctor
[✓] Flutter (on Linux, channel master)
• Flutter at /usr/local/google/home/midoringo/flutter
• Framework revision 833b121664 (3 days ago), engine revision c69d907b49
[✓] Android toolchain - develop for Android devices (Android SDK 23.0.2)
• Android SDK at /usr/local/google/home/midoringo/Android/Sdk
• Platform android-23, build-tools 23.0.2
• OpenJDK Runtime Environment (build 1.8.0-google-v7-123992248-123972143)
[✓] Atom - a lightweight development environment for Flutter
• flutter plugin version 0.2.3
• dartlang plugin version 0.6.26
Logs and Crash Reports
The log keeps printing this: "E/ActivityManager: checkUser: useridlist=null, currentuser=0".  And I'm not able to see any useful logs

/cc @devoncarew

We've moved on to IntelliJ


Spirit Guardians triggers its animation, but lacks damage automation

As per the title.

Can't reproduce that here; everything looks to be working as-expected:

I've found that uninstalling DDBImporter fixed this, at least partially. I got it to work yesterday on a combat encounter with 20+ actors, but stopped working at some point. I don't know if this inconsistent behaviour is caused by some module incompatibility or general instability.

what's your setup look like in your CPR "Compendium" settings? Both "Additional Compendiums," and "Personal Spell Compendium" compendiums. I think CPR picks some DDBI stuff up by default, so that might be interfering

These are my CPR Compendium settings. Chris has mentioned before that his module's prioritisation order should prevent conflicts, but let me know if I should disable anything.

🤔 that all looks fairly sensible

@nolorfin mind testing this, and any other issues you fancy, under the new 0.7.5 release?

I sure will, but won't be back home until Saturday. Will report what I find ASAP.

@TheGiddyLimit Both Spirit Guardians' animation and damage are now working after I updated the spell on the character's sheet using CPR's medkit. The spell's icon has changed, though. Instead of showing the dark blue flaming circle, it shows a pale blue vortex, as you can see on the PC's token here.

Targets don't receive the token effect icon when inside the template either.
Besides that, the important parts of the spell seem to be doing their job.

I still haven't been able to repro the exact issue you were having, so if you've got a solution which works for you, and things seem like they work for me, then I'm happy to call this case closed
ty for the investigative effort!

Thank you for looking into it!


clarifications

Typo fixes, text corrections, and clarifications around the configuration download.
Note: there are out of date pictures in this page.  This PR does not address updating the pictures, only the text.

@MikeBazMSFT : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off Looks good. Please merge.


fix: migration config fixes added

Description
For ORM configuration, The config for migration had a small issue in modifying the naming scheme. Probably it might be a mistype from your end. I have added the fix for that.

Thanks for the fix, this is definitely a typo. Must have slipped with some other change .


[Tools] Tee

nic bind/unbind can fail when using echo and bash append.
This results in strange behavior in dpdk tests when nics are not set up correctly.

Add Tee tool for using echo 'value' | sudo tee filename to ensure writes are not lost due to file permissions on special files
Add option to not store NIC driver when calling get_nic_driver

@LiliDeng LGTM


Using S3 storages transcoding causes absolute path error

When using S3 (via Django Storages and Boto) files have no absolute paths and transcoding will fail with the exception:
NotImplementedError: This backend doesn't support absolute paths.

We should check if we are dealing with a file not stored locally.
Possibly related to #65.

Above PR fixes the issue for me when running files on S3 using Django Storages Boto3.
As mentioned in the PR: Not sure if this scales to all possible causes of the NotImplementedError exception though.


New package: LazIO v0.1.0

Registering package: LazIO
Repository: https://github.com/evetion/LazIO.jl
Created by: @evetion
Version: v0.1.0
Commit: 0cf6ab87c9531e6175bcd619d0c49ef69defab12
Reviewed by: @evetion
Reference: https://github.com/evetion/LazIO.jl/issues/8
Release notes:

First release of LazIO.

TagBot tag


Tellurium diffevolution optimization

In the tellurium.optimization.diffevolution.py is an implementation of the diffevolution algorithm. I could not find any usage or example which uses the code.
On the other hand In the paper tellurium-examples there is an example for diffevolution optimization, but this is based on the scipy.optimize.differential_evolution and does not use any of the tellurium code.
The tellurium code should be updated to use the scipy.optimize function and some example should be added.

The tellurium code should probably be removed.
H
On Monday, February 22, 2016, Matthias König<EMAIL_ADDRESS>wrote:

In the tellurium.optimization.diffevolution.py is an implementation of
the diffevolution algorithm. I could not find any usage or example which
uses the code.
On the other hand In the paper tellurium-examples there is an example for
diffevolution optimization, but this is based on the
scipy.optimize.differential_evolution and does not use any of the
tellurium code.
The tellurium code should be updated to use the scipy.optimize function
and some example should be added.
—
Reply to this email directly or view it on GitHub
https://github.com/sys-bio/tellurium/issues/96.

removed the obsolete diffevolution code.


ember-intl implementation fixes

Partially fixes #1561.

remove empty string translations
setting a missing translation message to an empty string
Adding the fallback locale

cc @HospitalRun/core-maintainers

Took a look at the RTL with Urdu language, looks good except I noticed something else: the font changes. It even sometimes changes in the middle of a translation item, and there's no HTML or anything in the translation string, I wonder what it is. And I don't see this in any other locale even other RTL ones.

Also noticed some additional issues that were also present before the switch to intl so I can make a new issue for those later.

That's really interesting actually. I can't explain the font change for urdu. The characters look like they could be the same, I'm not sure if the change is acceptable or not either. I agree, let's do this as a separate issue and I'm happy to also investigate. Nothing else for this PR from my end, thanks! 👍

The characters look to be identical, just different font so I doubt it's a big deal. Thanks for the quick fixes.

Actually one more thing occurs to me, in https://github.com/HospitalRun/hospitalrun-frontend/pull/1458 we set all those translation keys to undefined instead of removing them so people could more easily see in the file what keys need to be translated.
Would it be better to comment them out instead of removing them entirely?

Maybe that's not a good idea either since if people add keys, they'll just forget to add commented out keys in the other languages so they still won't stay synced up.


hvm status --printExecPath should return an error (exit code 1) if no .hvm file exists

This would simplify usage in shell scripts by not having to parse the output in order to know whether hvm is set up in the first place.

Yeah, so I went back and forth on this (as you can see by a useless remaining artifact in the alias script), but (technically) it is not an error condition. Let me think about this...


Remove name conflict with new structure

When OSX makes you sad and disappointed.

Well that first attempt at squashing the folder structure created all kinds of issues on OSX due to naming conflicts from the case-insensitve nature of the filesystem used on a standard OSX system. While I am okay with turning a blind eye to windows dev, removing development on crocks on OSX is not an option.
Need to move back to a folder based structure, but this time going to make things DataType based, bringing us one step closer to better mono-repo options. This is the first part to a new series of PRs. * Move all helpers that construct data types into their respective folders.

Shed some weight in src/core but only keeping Pair, Maybe and Unit inside of the folder. This will entail creating type proxies that can be used for type checking in the various Sum Type transformation functions.
Before the next publish, will need to alter the publish flow to have the generated build folder be the root of the npm package. This means as part of the publish flow: package.json, README.md and LICENCE need to be copied into the build folder.

Coverage remained the same at 100.0% when pulling d1f4429063d32ff8e32da503a95f85e91e3a06e2 on restructure into 753bfcb699b299f4293b1bfb7994dffa837b6be8 on master.

Coverage remained the same at 100.0% when pulling ae10fa40348fbf6f3de80aa6d81fe4b69bfd4f98 on restructure into 753bfcb699b299f4293b1bfb7994dffa837b6be8 on master.

Coverage remained the same at 100.0% when pulling ae10fa40348fbf6f3de80aa6d81fe4b69bfd4f98 on restructure into 753bfcb699b299f4293b1bfb7994dffa837b6be8 on master.

Coverage remained the same at 100.0% when pulling ae10fa40348fbf6f3de80aa6d81fe4b69bfd4f98 on restructure into 753bfcb699b299f4293b1bfb7994dffa837b6be8 on master.


Docs - landing page Layout section is out of place -> not newcomer friendly

Description
As a newcomer to Rust and Ratatui, I go to the documentation page https://docs.rs/ratatui/latest/ratatui/
The first few lines show perfect examples of what I can do with the library, then follow the minimal working example.
But then the Layout section contains some function ui() which explains how elements are composed,
however, the function example is completely disconnected from the previous code block, which makes it hard to grasp what is going on without diving deeper into the code.
Expected behavior
I'd expect the landing page to either provide a complete example or at least point me in the direction of examples.
Pointing to examples should not just be a text, but rather a link to a repo or page which explains more details about how to use
the library.

Thanks, this is some great feedback. Writing better docs is something that we're all working on (and would appreciate all the help you can spare).
If you haven't already found the following, these resources are available:

The Readme: https://github.com/ratatui-org/ratatui#quickstart (has a more complete example)
the Ratatui book: https://ratatui-org.github.io/ratatui-book/index.html
the examples: https://github.com/ratatui-org/ratatui/tree/main/examples
Several templates / samples:

https://github.com/ratatui-org/rust-tui-template
https://github.com/pmsanford/simple-tui-rs
https://github.com/ratatui-org/ratatui-async-template

Ideally these should be better cross linked in all the right places so concretely we need to:

[ ] Compare the README and docs.rs main page and ensure that they are either consistent or link to each other appropriately (we could either make these exactly the same, or simplify one and point to the other, but we need to understand which bits are useful in each first). cargo-rdme is possibly something to consider here
[ ] Ensure that mentions of "examples" actually link to the examples
[ ] Ensure that we link to the Book more
[ ] Highlight the available templates
[ ] Ensure that the various docs page links all to the other docs (no dead ends)
[ ] Document the examples more (this is a larger task)

Happy to hear more suggestions on this / take PRs if you're interested in helping out.

Thanks! I will look into it.
I'd like to contribute back when I get a hang of the project. Because the examples look pretty good.
I am not a fan of a separate rust book because it is one more place to look at and maintain the parity.
I hope that the suggested solution here will soon become a reality Because it's pretty much standard in other languages (e.g. python->Sphinx)
 https://internals.rust-lang.org/t/rustdoc-include-an-external-markdown-file-as-a-separate-page/15994

I'd like to contribute back when I get a hang of the project. Because the examples look pretty good.

If you like the look of the current examples, check out PR #500 for some inspiration.
Rendered versions of the examples (in the examples Readme) have only been since the end of July PR #303 - before that you had to run the examples yourself to see what they looked like. I actually want this to go a few steps further and use the rendered examples directly in the docs.

I am not a fan of a separate rust book because it is one more place to look at and maintain the parity.

One of the major things that dictates a separate repo rather than just the docs.rs api docs for us is that the speed of iteration on docs is 1-2 of magnitude faster than of the library. (78 PRs merged since June when the book started compared with just 3 releases of ratatui in the last 4 months). We won't be moving away from having a book, but we'll definitely try to keep the right sort of linkage between them.

I hope that the suggested solution here will soon become a reality Because it's pretty much standard in other languages (e.g. python->Sphinx)

That does sound neat for some things. Clap is an example that the docs.rs approach leads to something

I hope that the suggested solution here will soon become a reality Because it's pretty much standard in other languages (e.g. python->Sphinx)

Sounds interesting.

For reference, clap's landing page:

has links to start off with + one code example with no explanations (which I like) further down the page.
It gives people as idea of what kind of syntax is required to use this package just to recognize patterns without any deeper prose or explanations (for example, we talk about crossterm and termion and terminal backends in the first few lines; the example has a thread spawn with event read which probably no one will use in real code; there's a line at the end about computed layouts and blank spaces; etc which is all not required for users or potential users that are just landing on the page for the first time).
Serde goes one step further: no code examples on the landing page + a single line that tells users to do to https://serde.rs for additional examples (which happens to be a mdbook generated website):

I really like that approach.

Some subjective observations:

People tend to link to one of {crate page, docs page, github repo} when linking a lbrary, so ideally they should have the same information on them to avoid communicating different things on each page.
I tend to use the information on those pages as a metric for whether to invest further in learning a particular crate, so the initial information should be compelling enough to dig deeper. When I view a crate page for something TUI related, I want to see the following:

What it looks like
What it does (a list of all high level features)
A basic code example (not a tutorial walk through, but only enough to help me know which main types I need to know about) - this led to the code example in https://github.com/ratatui-org/ratatui#quickstart
MSRV
Links to related crates

The docs / readme don't need Cargo.toml examples or info on alternate backend config. That belongs elsewhere.
It would be nice to have a small image of each widget  (~20x3 cell) to show what each can do, I think it's good to have these on the main landing pages instead of at a secondary link, but these could also go on the widgets module page if we think there's too much info.

Please also keep the text editor side in mind. The main way I interact with the documentation is through an lsp popup window.
That makes is also very trivial to copy parts of examples that are surfaced in doc comments and adjust them amongst other things.

Please also keep the text editor side in mind. The main way I interact with the documentation is through an lsp popup window.
That makes is also very trivial to copy parts of examples that are surfaced in doc comments and adjust them amongst other things.

Good call out - can you screenshot some examples? It would be helpful to have an example of how the docs render right now via the LSP.

For me in neovim:

Neat. Thanks :)


ISPN-9812 Streaming Cluster Publisher

I still have to organize some of the classes and add more docs for the internal classes. This is still in Preview as only core tests should be pretty much passing.

There is a random failure that I can't seem to isolate or get a trace from that I have been still trying to track down. It seems to only happen when running without trace and always seems to fail two different tests. So I am not sure if it is related to running those in parallel somehow.

I have not deleted the old distributed stream classes, but that will be the next PR and it should remove needless to say a lot of lines of code (more than was added for this I believe).

I was able to squash the remaining intermittent failure I could find. Was caused by the async closure of a publisher was too slow and a failover could request again with the same id. Now it properly overwrites an old state if it is present and not yet complete.

Looks like I need to tweak some query stuff to no longer return a null value :)

Query should hopefully be fixed now too :)

CI is looking pretty good - it appears my segment completion isn't quite on par yet though
https://ci.infinispan.org/job/Infinispan/job/PR-7523/4/testReport/junit/org.infinispan.client.hotrod.impl.iteration/DistFailOverRemoteIteratorTest/testFailOver/

CI appears to be passing just fine now. Just have to add Javadoc and maybe reorg classes slightly.

Testing with https://github.com/infinispan/infinispan-benchmarks/tree/master/iteration I have anywhere from 13-33% increase in throughput when rehash is disabled. When rehash is not disabled the increase is anywhere from 38-141% in throughput.

Averaging the various runs non rehash had a performance increase of 20.7% and rehash had an increase of 76.4%.
https://docs.google.com/spreadsheets/d/1p3rArTx-lIZ66vALMcuXjxeCW7ivxfCqeYCfluwzQyw/edit?usp=sharing

Some recent changes have introduced a failure, probably a typo. Fixing.

Okay map and flatMap should now be fixed. It can probably be optimized to not have to store the entries in a list by counting the entries and using onComplete but my first pass at that didn't work. So we can leave that for a future endeavor maybe.

Key tracking map/flatMap is better optimized now as it doesn't have to eagerly retrieve the values into a list, which is especially costly for map as it is always 1:1 or 1:0.

Addressed all the current comments as well as fixed another bug with flatMap if there was a large number of entries generated from it.

Rebased and squashed to 1 commit.

@wburns https://github.com/infinispan/infinispan/pull/7591 was merged before I came online, so this needs a rebase. Then I promise I'll merge!

CI found a small gap in partition handling between when a publisher is created and when it is subscribed to. Recheck the partition status after registering with listener to remove gap. I am not sure what those PooledConnectionOperation failures are, but I can't seem to reproduce and it seems like a setup issue more likely as everyone failed consistently.

It looks like I fixed flatMap when rehash is enabled, but non rehash flatMap is still broken :(
I need to actually fix this at the LocalPublisherManager level, which will in turn make the PublisherHandler code simpler.

Non rehash flatMap should work properly now. I just piggy back off the rehash version, but don't return the keys to keep the response size smaller. This can be optimized later though.

Got a chance to think about it and the flatMap with non rehash is now properly optimized. In fact the LocalPublisherManager now should always properly return the segment completed or lost after all values as it was originally envisioned. Unfortunately, KeyPublisherState can't utilize this as it has to track by the original key to a segment, not just the values - so that will have to stay the same.

@wburns The transformer changes have broken SimpleClusterPublisherManagerTest.

I messed up something with the predicate. I ran a bunch of of the tests,
but if course missed that one last night as I went to bed ☹
On Fri, Nov 15, 2019, 6:42 AM Ryan Emerson<EMAIL_ADDRESS>wrote:

@wburns https://github.com/wburns The transformer changes have broken
SimpleClusterPublisherManagerTest.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/infinispan/infinispan/pull/7523?email_source=notifications&email_token=AAE6H33WUSCSLDX6DD5EKLTQT2DK3A5CNFSM4JHDHD3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEFGFDY#issuecomment-554328719,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAE6H35GEDO3SJJ52LCGETTQT2DK3ANCNFSM4JHDHD3A
.

Context should be only applied once now.

Great stuff @wburns, thanks!


FreeBSD build ci task

As FreeBSD support is being added, some commits start to break FreeBSD builds and soon we gonna to do something about that, perhaps a dedicated jenkins task and some build environment.
//cc @jfrazelle

Hi!
If you are reporting a new issue, PLEASE make sure that does not have any duplicates already open.
We would like to take this time to remind you of the information we need to debug the problem you are seeing. This is an automated response so if this ticket is not about a bug, do not fret.
If you fail to provide this information within 7 days, we will close this because we cannot debug your issue. We can reopen whenever the information is provided.
Thank you.
Please see:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues
Description of problem:

`docker version`:

`docker info`:

`uname -a`:

Environment details (AWS, VirtualBox, physical, etc.):

How reproducible:

Steps to Reproduce:
1.
2.
3.

Actual Results:

Expected Results:

Additional info:

#ENEEDMOREINFO

Ya I can add this
On Friday, May 29, 2015, Gordon<EMAIL_ADDRESS>wrote:

Hi!
If you are reporting a new issue, PLEASE make sure that does not have any
duplicates already open.
We would like to take this time to remind you of the information we need
to debug the problem you are seeing. This is an automated response so if
this ticket is not about a bug, do not fret.
If you fail to provide this information within 7 days, we will close this
because we cannot debug your issue. We can reopen whenever the information
is provided.
Thank you.
Please see:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues
Description of problem:
docker version:
docker info:
uname -a:
Environment details (AWS, VirtualBox, physical, etc.):
How reproducible:
Steps to Reproduce:1.2.3.
Actual Results:
Expected Results:
Additional info:
#ENEEDMOREINFO
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/13592#issuecomment-106840933.

Thanks for the ping :) should be cool
On Friday, May 29, 2015, Jessie Frazelle<EMAIL_ADDRESS>wrote:

Ya I can add this
On Friday, May 29, 2015, Gordon<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:

Hi!
If you are reporting a new issue, PLEASE make sure that does not have any
duplicates already open.
We would like to take this time to remind you of the information we need
to debug the problem you are seeing. This is an automated response so if
this ticket is not about a bug, do not fret.
If you fail to provide this information within 7 days, we will close this
because we cannot debug your issue. We can reopen whenever the information
is provided.
Thank you.
Please see:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues
Description of problem:
docker version:
docker info:
uname -a:
Environment details (AWS, VirtualBox, physical, etc.):
How reproducible:
Steps to Reproduce:1.2.3.
Actual Results:
Expected Results:
Additional info:
#ENEEDMOREINFO
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/issues/13592#issuecomment-106840933.

this was done woohoo


Spread operators don't work in cypress/included  11.0.0

when bumping cypress/included from 10.11.0 to 11.0.0 in /docker/cypress
I see this error in tests that use spread operators:
Error: Webpack Compilation Error
<EMAIL_ADDRESS>Module not found: Error: Can't resolve './defineProperty.js' in
'/root/.cache/Cypress/11.0.0/Cypress/resources/app/node_modules/@babel/runtime/helpers'

Is this a common js import issue caused by some dependency being bumped

This seems to be resolved in 11.0.1


Feature test coverage

I've been working on increasing coverage of the CommandDotNet features.
Below is a list of the feature areas I'm testing and the ones completed.
There is now some duplicated testing between these feature tests and some of the previous version.  I'll take a pass at cleaning those up over the next couple of weeks.

[ ] Arguments

[x] Mapping args to types (exec, basic & detailed help)

[x] .net Types

[x] bool
[x] string
[x] struct (int)
[x] struct? (int)
[x] enum
[x] object (url)
[x] List< bool >
[x] List< string >
[x] List< struct >
[x] List< enum >
[x] List< object >
[x] Optional & Default value

[x] Lists

[x] single operand list
[x] multiple option lists

[x] Defining w/ Method Params (exec, basic & detailed help)

[x] ArgType

[x] Operand
[x] Option

[ ] Defining w/ Argument Model (exec, basic & detailed help)

[x] ArgType

[x] Operand
[x] Option

[ ] nested models

[ ] General use

[x] Operand  (exec, basic & detailed help)

[x] order enforced
[x] included in example usage
[ ] Requiredness

[x] Options

[x] flag clubbing
[x] flags don't declare  type in help
[x] flags don't declare allowed values

[ ] BooleanMode.Explicit

[ ] displays allowed values

[ ] mix options & operands in method

[ ] mix arg model & params in method
[ ] option lists can exist with argument lists

[ ] AppSettings (exec, basic & detailed help)

[ ] arg details
[ ] arg mode
[ ] bool mode

[x] Ctor options (exec, basic & detailed help)

[x] inherited / not inherited

[ ] Fluent Validation (exec)

[ ] skip help since it's not integrated
[ ] complex scenarios not required

[ ] Arg Separator '--'

[x] Commands (exec, basic & detailed help)

[x] command
[x] nested commands

[x] ctor options (not inherited)

[x] default methods

[ ] Help full coverage

[ ] all attribute values included

[ ] description
[ ] short name, long name
[ ] boolean mode
[ ] BooleanMode.Explicit displays allowed values
[ ] ApplicationMetadata

[ ] Name displays in help
[ ] Name overrides usage example
[ ] Description
[ ] ExtendedHelpText

[ ] arguments, options & commands section
[ ] example usage
[ ] Custom HelpProvider can be registered

[ ] AppSettings

[ ] case
[ ] version option

[ ] TypeDescriptor

[ ] TypeConverter
[ ] custom descriptor

[x] DependencyInjection (tested as a part of the framework)
[ ] CustomInterceptor

[ ] can be registered

[ ] Misc

[ ] custom return codes
[ ] Async methods

I've marked a few tests as skipped because of known bugs or 'not-implemented' as a reminder for me to add issues for them.

This is my first time really using xunit.  I'm glad I finally got the opportunity so I could understand how it works.  NUnit has better support for 'Theory' or Data Driven testing.  NUnit's TestCaseData makes it easy to skip and categories scenarios from the data sources.  If we switched to that, the scenario framework and output will be a bit cleaner.

There's a readme @ https://github.com/bilal-fazlani/commanddotnet/tree/master/CommandDotNet.Tests/FeatureTests for instructions and examples for writing tests

Current coverage: 85%.
If we exclude AnsiConsole & PipedInput, it's 90%

This is awesome 🎉

updated test readme:  https://github.com/bilal-fazlani/commanddotnet/blob/master/CommandDotNet.Tests


i2d_ASN1_OBJECT issue

Hello!
I have a question about i2d_ASN_OBJECT function. The documentation says that:

If *ppout is NULL memory will be allocated for a buffer and the encoded data written to it. In this case *ppout is not incremented and it points to the start of the data just written.
The function is declared as:

int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp)

So there is no need for manual memory allocation for the "pp"?
But I am getting segfault in this code:
unsigned char *ctder = NULL;
int ctderlen, r;
ASN1_OBJECT* obj = OBJ_txt2obj("<IP_ADDRESS>", 1);
ctderlen = i2d_ASN1_OBJECT(obj, &ctder);

What is wrong with it?

I checked it for master and I can confirm that  i2d_ASN1_OBJECT() indeed does not behave as documented in d2i_x509.pod.  So this is either a documention issue or an implementation bug.
While the documented auto-allocation feature is implemented for i2d_X509() and in general for all functions which are implemented via IMPLEMENT_ASN1_FUNCTION() (because this feature is implemented in asn1_item_flags_i2d()), it does not seem to be implemented for i2d_ASN1_OBJECT() (and maybe also other functions?)
The crash can be reproduced by applying the following patch to master
diff --git a/apps/openssl.c b/apps/openssl.c
index a872e2c5ee..41278c7bd5 100644
--- a/apps/openssl.c
+++ b/apps/openssl.c
@@ -164,6 +164,12 @@ int main(int argc, char *argv[])
         goto end;
     }

+    {
+        unsigned char *ctder = NULL;
+        ASN1_OBJECT* obj = OBJ_txt2obj("<IP_ADDRESS>", 1);
+        i2d_ASN1_OBJECT(obj, &ctder);
+    }
+
     prog = prog_init();
     pname = opt_progname(argv[0]);

and (after building) running the following command
~/src/openssl$ util/shlib_wrap.sh apps/openssl
Segmentation fault

I bet it was a documentation error that I introduced when all the i2d manpages were unified. (There probably wasn’t separate docs for i2d_ASN1_OBJECT)

There was only rudimentary documentation in d2i_ASN1_OBJECT.pod and it was a good thing that you created this common man page for all i2d_TYPEs. The question now is whether i2d_ASN1_OBJECT is the only exception from the rule and how we should deal with this exception: just documented it or fix it?

In 1.0.2, i2d_ASN1_OBJECT is documented to work in similar ways as i2d_X509.  i2d_X509 has the following as part of its documentation:
For OpenSSL 0.9.7 and later if B<*out> is B<NULL> memory will be
allocated for a buffer and the encoded data written to it. In this
case B<*out> is not incremented and it points to the start of the
data just written.

To me, that implies that i2d_ASN1_OBJECT should allocate new space if *out is NULL, and that the current behaviour is a bug, and should be corrected (actually, as far back as 1.0.2).

PR submitted

What about i2d_ASN1_BOOLEAN? See https://stackoverflow.com/questions/51784080/i2d-asn1-object-issue

@levitte , looks like more to do: "Another example of a function that does not do allocation for you is i2d_ASN1_BOOLEAN() and indeed it crashes as well if you try to use it with a NULL out pointer."

Done, see #6943.  That one is 1.0.2 only...


install issue OSX 10.14.6

I'm trying to install cowpatty 4.6 on OSX 10.14.6 and I get this error:
clang -pipe -Wall -DOPENSSL -O2 -g3 -ggdb   -c -o md5.o md5.c
md5.c:20:10: fatal error: 'openssl/md5.h' file not found
#include <openssl/md5.h>
^~~~~~~~~~~~~~~
1 error generated.
make: *** [md5.o] Error 1
I have OpenSSL installed, and have also installed libssl-dev & libpcap-dev.  Any ideas?

If you still have this problem OR anyone who has this problem, you can fix it by following steps.

Make sure to check requirements is installed.

xcode-select install
brew install openssl

Create symlinks for openssl
(In this example, was used openssl 3
Also, if you use different openssl version, you can find location by brew info openssl)

sudo mkdir -p /usr/local/include
ln -s /opt/homebrew/opt/openssl@3 /usr/local/opt

Add additional CFLAGS(don't remove any existing code) in Makefile

CFLAGS		+= -L/usr/local/opt/openssl@3/lib -I/usr/local/opt/openssl@3/include

Run make in cowpatty directory.


Don't throw an unhandled exception if the user doesn't supply an "opt…

If you don't supply an "options" object in the posted json, an unhandled exception is thrown and your request is held open until it times out.
I was posting to the "/template/render" endpoint but it looks like the validation is common to all endpoints.
TypeError: Cannot read property 'convertTo' of undefined
    at Object.carbone (/opt/app-root/src/app/node_modules/@bcgov/carbone-copy-api/validation.js:174:49)
    at Object.template (/opt/app-root/src/app/node_modules/@bcgov/carbone-copy-api/validation.js:199:40)
    at validateTemplate (/opt/app-root/src/app/node_modules/@bcgov/carbone-copy-api/validation.js:276:42)
    at Layer.handle [as handle_request] (/opt/app-root/src/app/node_modules/express/lib/router/layer.js:95:5)
    at next (/opt/app-root/src/app/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/opt/app-root/src/app/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/opt/app-root/src/app/node_modules/express/lib/router/layer.js:95:5)
    at /opt/app-root/src/app/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/opt/app-root/src/app/node_modules/express/lib/router/index.js:335:12)
    at next (/opt/app-root/src/app/node_modules/express/lib/router/index.js:275:10)

I was looking for a docker image with carbone running in alpine and found this project. I work for the Ontario government and it's just nice to see some code re-use in this country. :canada: :thumbsup:


📖  Update Install command for version 3

Change v2@latest to v@latest in README.md

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] PR title follows the guidelines defined in  https://github.com/ossf/scorecard/blob/main/CONTRIBUTING.md#pr-process

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Docs update

What is the current behavior? (You can also link to an open issue here)
Old version in install command

What is the new behavior (if this is a feature change)?

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)

Other information:

Looks like it by design golang/go#44840. My suggestion would be is to change to go get github.com/ossf/scorecard/v3@latest
 go get github.com/ossf/scorecard/v3@latest
go: downloading github.com/ossf/scorecard/v3 v3.0.1
go: downloading github.com/ossf/scorecard v1.2.0

Hmm, it still fails for me:
go get github.com/ossf/scorecard/v3@latest
go get: installing executables with 'go get' in module mode is deprecated.
        Use 'go install pkg@version' instead.
        For more information, see https://golang.org/doc/go-get-install-deprecation
        or run 'go help get' or 'go help install'.

Looks like it by design golang/go#44840. My suggestion would be is to change to go get github.com/ossf/scorecard/v3@latest
 go get github.com/ossf/scorecard/v3@latest
go: downloading github.com/ossf/scorecard/v3 v3.0.1
go: downloading github.com/ossf/scorecard v1.2.0

Hmm, it still fails for me:
go get github.com/ossf/scorecard/v3@latest
go get: installing executables with 'go get' in module mode is deprecated.
        Use 'go install pkg@version' instead.
        For more information, see https://golang.org/doc/go-get-install-deprecation
        or run 'go help get' or 'go help install'.

It is not a failure. It is a warning. It will be installed. You can rm scorecard and figure out the path of which scorecard. After go get scorecard will be there.

It is not a failure. It is a warning. It will be installed. You can rm scorecard and figure out the path of which scorecard. After go get scorecard will be there.

Yeah that did work. I wonder if that's what we should be asking our users to do though. What's the reason for having the replace directives? Can we remove them altogether?

The replace is for not having these OSV's.

Makes sense. In that case, we should keep the replace directives.
From golang/go#40276, my understanding of the issue is this - go install compiles the package. Hence, replace directives are not honored since they can cause inconsistencies between builds. In case of Scorecard, this is actually true - the binary available to be downloaded from the release page has the correct version and commit info. But the binary from go install does not have this information.
Here's my suggestion - how about we ask users to download the scorecard binary from the release page (similar to what protoc does). That way we can continue using replace and also guarantee consistency on our binaries. Wdyt @naveensrinivasan ?

I concur we should ask users to download the binary from GitHub releases rather than go install.
Thanks!

Thanks. @olivekl can you update the documentation here to reflect this? Basically, we want users to visit our latest release page. From there, they will need to download and extract the right binary (Linux, Mac or Windows) and add this to their GOPATH/bin.


Fix SHA checksum

Review Error for 0x00101010 @ 2023-06-22 18:01:16 UTC
User must have write permissions to review


Unexpected rejections with rate limiters that allow more than a billion requests/second and are accessed from more than one thread

Here is a minimal repro:
use governor::{
    clock::QuantaClock,
    middleware::StateInformationMiddleware,
    state::{InMemoryState, NotKeyed},
    Quota, RateLimiter,
};
use std::sync::Arc;
use std::thread;

fn rlspin(rl: Arc<RateLimiter<NotKeyed, InMemoryState, QuantaClock, StateInformationMiddleware>>) {
    for _ in 0..1_000_000 {
        rl.check().map_err(|e| dbg!(e)).unwrap();
    }
}

fn main() {
    let clock = QuantaClock::default();
    let quota = Quota::per_second(1_000_000_001.try_into().unwrap());
    dbg!(quota);

    let rate_limiter: Arc<
        RateLimiter<NotKeyed, InMemoryState, QuantaClock, StateInformationMiddleware>,
    > = Arc::new(
        RateLimiter::direct_with_clock(quota, &clock)
            .with_middleware::<StateInformationMiddleware>(),
    );

    let rate_limiter2 = rate_limiter.clone();

    thread::spawn(move || {
        rlspin(rate_limiter2);
    });
    rlspin(rate_limiter);
}

(with a Cargo.toml that just depends on governor 0.6.0)
This reliably fails for me:
$ cargo run --release
   Compiling govtest v0.1.0 (/home/robday/src/mntnlake/govtest)
    Finished release [optimized] target(s) in 0.98s
     Running `target/release/govtest`
[src/main.rs:19] quota = Quota {
    max_burst:<PHONE_NUMBER>,
    replenish_1_per: 0ns,
}
[src/main.rs:12] e = NotUntil {
    state: StateSnapshot {
        t: Nanos(0ns),
        tau: Nanos(0ns),
        time_of_measurement: Nanos(224.941µs),
        tat: Nanos(224.941µs),
    },
    start: QuantaInstant(
        Nanos(170098.543484062s),
    ),
}
thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: NotUntil { state: StateSnapshot { t: Nanos(0ns), tau: Nanos(0ns), time_of_measurement: Nanos(224.941µs), tat: Nanos(224.941µs) }, start: QuantaInstant(Nanos(170098.543484062s)) }', src/main.rs:12:41
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

However, if I change line 18 to let quota = Quota::per_second(1_000_000_000.try_into().unwrap()); it reliably passes:
$ cargo run --release
   Compiling govtest v0.1.0 (/home/robday/src/mntnlake/govtest)
    Finished release [optimized] target(s) in 0.88s
     Running `target/release/govtest`
[src/main.rs:19] quota = Quota {
    max_burst:<PHONE_NUMBER>,
    replenish_1_per: 1ns,
}
$

and if I comment out the thread::spawn it also passes:
$ cargo run --release
   Compiling govtest v0.1.0 (/home/robday/src/mntnlake/govtest)
warning: unused import: `std::thread`
 --> src/main.rs:8:5
  |
8 | use std::thread;
  |     ^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused variable: `rate_limiter2`
  --> src/main.rs:28:9
   |
28 |     let rate_limiter2 = rate_limiter.clone();
   |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rate_limiter2`
   |
   = note: `#[warn(unused_variables)]` on by default

warning: `govtest` (bin "govtest") generated 2 warnings (run `cargo fix --bin "govtest"` to apply 2 suggestions)
    Finished release [optimized] target(s) in 0.73s
     Running `target/release/govtest`
[src/main.rs:19] quota = Quota {
    max_burst:<PHONE_NUMBER>,
    replenish_1_per: 0ns,
}

I hit this when attempting to disable rate-limiting by configuring a rate-limit of u32::MAX, so I have an easy workaround of configuring a rate-limit of one billion, which is much higher than I need - but I thought you might appreciate the bug report anyway!

Oh man, this is ... hilarious, thank you for reporting it. I'll try and think about what it'll take to work around the issue (but if you have more than one event per nanosecond, governor will likely not be fast enough for you 😂)!

That said, I recognize that you're looking for a way to disable the rate limiting logic - maybe it's possible to provide an API that simply returns a success for every element (inlined, to cost as little as possible); is that a thing you'd use there? (And if so, what would you use it for?)

Essentially I'm using governor as part of a broader server framework, and I want it to be able to offer rate-limiting, but I want it to be permissive by default so people don't try the framework, see it starts reporting (rate-limiting) errors after xyz,000 messages, and assume it has performance problems.
Setting the default limit to one billion is perfectly suitable for that, now that I've figured out I need to do it (we don't have more than one event per nanosecond!) so I don't think you need to worry about additional APIs for this use-case.
Interpreting any value over one billion as one billion (or conversely, fixing up any 0ns intervals to the minimum of 1ns), maybe with a warning log saying so, would be a good fix here from my perspective.

OK, so taking a closer look at this, I can't actually reproduce the issue in tests:
#[cfg(feature = "std")]
#[test]
fn stresstest_large_quotas() {
    use std::{sync::Arc, thread};

    use governor::middleware::StateInformationMiddleware;

    let quota = Quota::per_second(nonzero!(1_000_000_001u32));
    let rate_limiter =
        Arc::new(RateLimiter::direct(quota).with_middleware::<StateInformationMiddleware>());

    fn rlspin(rl: Arc<DefaultDirectRateLimiter<StateInformationMiddleware>>) {
        for _ in 0..100_000_000 {
            rl.check().map_err(|e| dbg!(e)).unwrap();
        }
    }

    let rate_limiter2 = rate_limiter.clone();
    thread::spawn(move || {
        rlspin(rate_limiter2);
    });
    rlspin(rate_limiter);
}

Reading the state store code, I also can't see where this would fail: a 0ns replenishment interval would mean the "expected arrival time" never moves forward, which should mean anything being checked would pass... and it does, in this test!

Uh, tell a lie: It's failing on nightly but not on stable: https://github.com/antifuchs/governor/actions/runs/6198549159/job/16829195167?pr=207#step:7:258 - what version are you testing with?

Hah, ok, the quota was completely innocent, it was the GCRA constructor-from-quota that set tau to 0, which then results in a burst size of 0. I think I've got a fix in #207, which passes the test I posted above.


Added main property in bower.json

Added this to adhere to Bower standard. Discovered this when trying to include this with Wiredep.

Thanks!


Remove lightly used ClearableInput module

The only place this module is used is in the mobile view of GlobalSearch, where it manages the inside-the-input close label. However, this code is shipped to every page on every screen size. Here's that UI in action:

I think the UI looks somewhat confusing with the X to clear the input and the X to hide the search altogether, so outside of the page weight and maintainability savings, I think this results in a cleaner UI:

On top of this, we've found in testing that the site search isn't really used that often as a percentage of total traffic, so the subset of users that would even encounter this change are small (mobile users, who use the site search, who've typed in something they want to clear entirely, who would find it preferable to notice and use the UI element rather than holding the delete key for 2s)

@sonnakim Search is specifically called out in the products list as belonging to XP, happy for ans and jenn to take a look though.

@wpears Going forward, would you mind tagging our team on sitewide changes like this, so we're aware of what's happening? I hear you about the portfolio split but a change like this impacts both of our teams, since we own sitewide patterns, so even though this one is minor, it's best if we are aware and can raise any concerns if necessary. Thanks!

I had this same question (see [GHE]/CFGOV/platform/issues/4205)), so from my perspective it's fine to go. For what it's worth, the original discussions around this decided to retain the x at mobile because it was harder to clear text at mobile (see @natalia-fitzgerald comment in [GHE]/CFGOV/platform/issues/2310#issuecomment-140453).
This PR should include a few more spots this could be cleaned up from:

Code comment reference to input-contains-label_after__clear in global-search.less (here)

Code comment references to input-contains-label_after__clear in forms.less (here and here)

Removal from TDP. Note, that TDP has a search that uses this (and has the older "Clear" style). This may use the ClearableInput being deleted in this PR. If so, you'd want to remove the clearable search on TDP too (here). Also, in search.spec.js (here).

You might want to put a hold on this PR and remove the TDP search features first in another PR and then un-hold this one.

Removal from TDP. Note, that TDP has a search that uses this (and has the older "Clear" style)

@anselmbradford TDP actually has its own ClearableInput, so removing this code will not affect TDP in any way. I'm less concerned with TDP having crufty code in it than a molecule served on every page.
re: topdoc comments, I noticed those but didn't remove them cause I hate topdoc :) I think we should probably remove every topdoc comment entirely cause I don't think it's being used by anyone and there's nothing enforcing that the topdoc comments are correct or match the current implementation. That said, I'll update them here and start a discussion about that separately.

Hi! Checking out USWDS, they don't show an "x" on default but they do once you enter text.
default:

with text entered:

Based on this and also reviewing previous platform and hubcap threads, I'm hesitant to remove the "x" without more research.
CC: @natalia-fitzgerald if you have any further insight from previously looking at this when you were on the Platform team

Based on this and also reviewing previous platform and hubcap threads, I'm hesitant to remove the "x" without more research.

The point of this work is to de-specialize our website such that:

We're shipping less code to users
Changing the website implementation (including adopting USWDS) would become easier as there are less moving pieces
There's less code total code to maintain for developers

It's worth noting that our own site's behavior differs from USWDS already (we only show the X on mobile) and I don't really think parity with USWDS should be the goal of our patterns unless we adopt USWDS wholesale. I find it odd as well that USWDS doesn't mention the X whatsoever on their Search component page (and if you actually try to click it, it's a little janky, you actually have to hit the X precisely with your cursor). I think we should only ship code that has a clear, useful benefit to our users and I don't think the X passes muster in that regard.
I understand that there is a very specific user story where the X is useful (as noted above):

A mobile user
who uses the site search
who has typed in something they want to clear entirely
who notices the X to clear
who finds it preferable to move their hand to tap the UI element rather than holding the delete key on the mobile keyboard

Has this user ever existed? Probably. But is supporting that flow worth shipping this code to every page? I don't think so, specifically because when the X isn't present, the user just has to hold the delete key for 1-3s, which isn't really that punishing of a failure case.
I think also, as noted in my first comment, the X to close the search could be mistaken for the X to clear the search, which I think think is a distinct negative to including the X in the input outside of the performance and maintainability concerns.

@jenn-franklin Have I convinced you? 👼 🕺

Here's an interesting middle ground: there's actually a default browser behavior when you set the input type to search, which is to include a small x on the right side of the form. This is actually EXACTLY what's happening in uswds.
So.. how about we do that? We'd have the exact same behavior as USWDS and would be able to drop this custom code. Also there's a nice accessibility benefit in that the esc key clears the search as well, which might be easier for some folks than  cmd+a then cmd+x.
This would apply at both desktop:

and mobile:

The desktop version doesn't take up much screen real estate, so I don't think it contradicts the purpose of https://github.local/CFGOV/platform/issues/2310

Ohhhhhh interesting... that sounds amazing to me!


fix(zsh_autocomplete): List files on tab with no completion options

What type of PR is this?

[x ] bug
[ ] cleanup
[ ] documentation
[ ] feature

What this PR does / why we need it:
Aligns zsh auto-completion functionality with the bash auto-completion

Which issue(s) this PR fixes:

Special notes for your reviewer:

Testing
Tested manually
New functionality: https://asciinema.org/a/EAYRIEVGTGNSS2gCGwSJ4Zw1i
Old functionality: https://asciinema.org/a/BfOZz4BHUGwjXMFptbmDHZocH

Release Notes
(REQUIRED)

List files on tab with zsh auto-completion when no completion candidates are available.

Looks fine, although I would like if there was something akin to tests for this.

Yup, some tests for the auto-completion features (both bash and zsh) would have been nice. But I didn't see any in place as of now. I wonder how much effort it would be to bootstrap?


Lower minimum scroll speed even further

Current slowest scroll speed is still quite fast.
This changes the value from 5 down to 1, which brings a very nice change in speed with it.

FWIW, I think it's still too fast!


.upload with FileDataPart is slow?

This is for version 2.0.1
Don't know why, but this code (serviceUrl is localhost in my case):
val response = Fuel.upload(serviceUrl/"jars"/"upload")
    .add(FileDataPart(file = fileToUpload, name = "jarfile", contentType = "application/java-archive"))
    .awaitObject(uploadJarDeserializer)

is very slow on large files (over 100 MB). When I switch to
val response = Fuel.upload(serviceUrl/"jars"/"upload")
    .add(BlobDataPart(inputStream = fileToUpload.inputStream(), name = "jarfile", filename = fileToUpload.name, contentType = "application/java-archive"))
    .awaitObject(uploadJarDeserializer)

it is very fast, as expected.
So by replacing FileDataPart to BlobDataPart - I have improved a performance in order of magnitude. Am I doing something wrong with FileDataPart?

If you check here you can see that this is essentially what it's doing. So in theory, this should not have changed anything.

@iNoles any ideas?

If this in Android, he may have to hit slow path operations on Android. He should have to profile his applications to find out where is slow path occurs.

this is desktop app (TornadoFX-based app), running on my Mac, so no Android.

@mobiletoly yep, we believe you, we just don't understand why (yet).
Codewise, it seems that it should be the same 😅

@mobiletoly Can you profile it?

I'm traveling at the moment, so a little bit hard for me to do. So from what I can say just looking in a source code is that FileDataPart and BlobDataPart are different because in case of BlobDataPart the contentLength is null by default, while FileDataPart sets contentLength to the size of the file. If I pass contentLength parameter to BlobDataPart - it becomes very slow as well. There is obviously difference in how this parameter handled in HttpClient class:
private fun setBodyIfDoOutput(connection: HttpURLConnection, request: Request) {
        ...
        val contentLength = body.length
        if (contentLength != null && contentLength != -1L) {
            // The content has a known length, so no need to chunk
            connection.setFixedLengthStreamingMode(contentLength.toLong())
        } else {
            // The content doesn't have a known length, so turn it into chunked
            connection.setChunkedStreamingMode(4096)
        }
        ...
}

I'm wondering if setFixedLengthStreamingMode is a cause of the problem (and if this is a Java specific problem).

Ugh. @mobiletoly, yes you are right. setFixedLengthStreamingMode is supposed to be faster than setChunkedStreamingMode. However, this is enough information for us to do some debugging here.
Thank you for the time ❤

Hi! Any updates on this? Facing the same issue as author


fix(just): remove brew shortcuts

Removing install and shell for now, but leaving uninstall there since this conflicts with host stuff.

Sorry I should have linked to this: https://github.com/ublue-os/bluefin/issues/687


Translation-Docs » Tutorials » Using Private Data in Fabric : Build a collection definition JSON file

finished


Upon deletion of a file switch back to the last edited file.

Is your feature request related to a problem? Please describe.
Upon deletion of a file, the editor will load the first XML file in the file-tree. This may cause confusion.
Describe the solution you'd like
Keep track of previously edited file, so upon deletion of a file, it can switch back to the last.
Describe alternatives you've considered
Load empty file.

Alternative solution implemented


Send problem-report when webhook fails to reach controller

The agent retries webhooks if a request fails to reach the controller or the controller does not respond with a 2** response.
In the case of failure and the agent stops sending retries, should the agent send a problem report back to the initiating agent?
@andrewwhitehead what do you think about this? I think there could be arguments in both directions.
cc: @swcurran @ianco

@nrempel Do we still think this would be useful? I think it would depend entirely on what protocol is being used and would probably be more like timeout on pending requests.

I'm guessing that we can close this.  @andrewwhitehead - can you please confirm?

Yes ...  if the credential exchange protocol (or proof request) cannot complete for whatever reason the initiating agent needs to receive a problem report.

Closing...


date-time format error.

I'm getting a warning
Document is valid but has one or more warnings. One or more warnings exist in the OpenApi definition at: components > schemas > Access > properties > embargoReleaseDate > example Unable to deserialize value Expected a date-time string of the format YYYY-MM-DDTmm:hh:ss.sssZ

about this example:
https://github.com/sul-dlss/dor-services-app/blob/ede5786209b60577b5c47d3b6452ccb041f72e59/openapi.json#L899
My example date is ""2029-06-22T07:00:00.000+00:00" and I believe this is an rfc3339 compliant date as https://tools.ietf.org/html/rfc3339#section-5.6 states:
   time-numoffset  = ("+" / "-") time-hour ":" time-minute
   time-offset     = "Z" / time-numoffset

See examples at: https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#date.and.time.format.examples

You're right. Thanks for the catch. I'll get working on a fix.

Fixed with PR #32 and published to NPM as version 1.5.2.

Thank you @Gi60s!

I get an error with date-time value "2020-12-13T12:02:33+0000" without a colon in the offset. This is also valid RFC3339

Interesting. I don't see where that is in the spec but JavaScript does recognize it. Can you point me more specifically to where the spec shows it, maybe even quote it?

https://github.com/OAI/OpenAPI-Specification/issues/2374

I guess what I'm asking for is where in RFC3339 does it mention that an offset can omit the : (colon)? Here is what I see at https://tools.ietf.org/html/rfc3339#section-5.6:
The following profile of ISO 8601 [ISO8601] dates SHOULD be used in
new protocols on the Internet.  This is specified using the syntax
description notation defined in [ABNF].

date-fullyear   = 4DIGIT
date-month      = 2DIGIT  ; 01-12
date-mday       = 2DIGIT  ; 01-28, 01-29, 01-30, 01-31 based on month/year
time-hour       = 2DIGIT  ; 00-23
time-minute     = 2DIGIT  ; 00-59
time-second     = 2DIGIT  ; 00-58, 00-59, 00-60 based on leap second rules
time-secfrac    = "." 1*DIGIT
time-numoffset  = ("+" / "-") time-hour ":" time-minute
time-offset     = "Z" / time-numoffset

partial-time    = time-hour ":" time-minute ":" time-second[time-secfrac]
full-date       = date-fullyear "-" date-month "-" date-mday
full-time       = partial-time time-offset

date-time       = full-date "T" full-time

The time-numoffset shows a colon. What am I missing where it says that the colon is optional?

Its in appendix A

time-numoffset    = ("+" / "-") time-hour [[":"] time-minute]

There's another issue. The spec says in section 5.6

NOTE: ISO 8601 defines date and time separated by "T". Applications using this syntax may choose, for the sake of readability, to specify a full-date and full-time separated by (say) a space character.

But then in appendix A it contradicts that

ISO 8601 states that the "T" may be omitted under some circumstances. This grammar requires the "T" to avoid ambiguity.

Who knew dates were so complex? Only a few of us I suppose. Thanks for the reference.
I've published a fix to NPM as version 1.11.1.

On my way to the time, I met a date with seven specs. Each spec (with seven grammars) had seven profiles and seven types. Each spec had seven sections, each spec with several versions. Each spec deferred to the next, and over time had seven errata. Each spec—seven validators, in seven languages, each failure seven tickets, each with seven comments, and seven hundred views. Specs, sections, versions, profiles, ratas, types, tickets, gramms, langs, comments and views: how many date-times did I need to know which position to put year/month/day?


Use of /dev/disk/by-path for devices not possible

We tried to use /dev/disk/by-path for OSD and journal devices. Looks like this is not possible for OSD devices.
devices:
    - /dev/disk/by-path/pci-0000:06:00.0-sas-phy6-lun-0

invalid container names:

docker: Error response from daemon: Invalid container name (ceph-osd-xxx-dev-pci-0000:06:00.0-sas-phy6-lun-0), only [a-zA-Z0-9][a-zA-Z0-9_.-] are allowed.

wrong OSD_DEVICE in ceph-osd-run.sh:

In roles/ceph-osd/templates/ceph-osd-run.sh.j2 it is  -e OSD_DEVICE=/dev/${1}. ${1} is the sub name of the generated systemd unit file (ceph-osd@pci-0000:06:00.0-sas-phy6-lun-0.service --> -e OSD_DEVICE=/dev/pci-0000:06:00.0-sas-phy6-lun-0).
Because of this I think /dev/disk/by-id is also not working.

other issue in ceph-osd-run.sh:

Dec 12 12:48:08 xxx ceph-osd-run.sh[53523]: invalid argument "/dev/pci-0000:06:00.0-sas-phy6-lun-0" for --device=/dev/pci-0000:86:00.0-sas-phy4-lun-0: bad mode specified: 00.0-sas-phy4-lun-0

@berendt just to be sure: /dev/disk/by-path/pci-0000:06:00.0-sas-phy6-lun-0 is a symlink rigth?

@leseb Yes. pci-0000:06:00.0-sas-phy6-lun-0 -> ../../sdd

Could you please insert: - debug: msg="{{ devices }}" here: https://github.com/ceph/ceph-ansible/blob/master/roles/ceph-defaults/tasks/facts.yml#L154
Then run the playbook and send us the result, thanks.

Closed due to inactivity, feel free to re-open if needed. Thanks!


Link in documentation with instructions on enabling notifications points to a wrong location

Hello,
Link in documentation with instructions on enabling notifications points to a wrong location.
Issue is here:
https://jorricks.github.io/macos-notifications/faq/
you first need to allow Python to create notifications. Instructions on this can be found [here]
And it points to a wrong location:
https://www.jetbrains.com/idea/guide/tips/enable-soft-wrap/#:~:text=You%20can%20enable%20soft%20wrap,more%20file%20types%20by%20default.).
Thanks

Thanks for raising this @mrdc!
Updated the documentation here; https://github.com/Jorricks/macos-notifications/commit/6a5cc88634795ec18e32b74083e7097628b50205.
Let me know if something is still unclear


SQL Locust adapter

Does anyone know of a MySQL Locust adapter? If not, any SQL-based adapter is desirable.

I suggest mysqlclient via https://github.com/PyMySQL/mysqlclient-python
Documentation and usage instructions can be found at: https://mysqlclient.readthedocs.io/
If flask integration is necessary, you can use https://github.com/admiralobvious/flask-mysqldb

https://wiki.postgresql.org/wiki/Psycopg2

any mysql client for Python can be used with Locust.
see:
https://docs.locust.io/en/latest/testing-other-systems.html


ROX-14352: Run dockerized builds as current user, rather than root, to please git.

Description
Recent git does not like the repository to be owned by a different user.
To solve this

pass --user to docker run
make sure the go cache volume source directory is created as the current user before running docker

Unfortunately if ./linux-gocache is already present and owned by root this causes a permission error inside the container. Detecting and fixing this case in an automatic, robust and portable way is not trivial, so I plan mentioning this gotcha on Slack instead.
Checklist

[ ] Investigated and inspected CI test results
[x] ~Unit test and regression tests added~
[x] ~Evaluated and added CHANGELOG entry if required~
[x] ~Determined and documented upgrade steps~
[x] ~Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)~

Testing Performed
Ran make clean; rmdir linux-gocache; make sensor-build-dockerized; make image successfully.

The postgres e2e test failure seems unrelated to this change:
panic: ERROR: duplicate key value violates unique constraint "policy_categories_name_key" (SQLSTATE 23505)

Interestingly, the linux-gocache is a docker volume instead of a local folder for me, so I tried deleting the volume with docker volume rm stackrox-rox-gocache, which leads to permission errors when the sensor build is trying to create folders
Test Environment: MacOS 12.6 (x86) with Colima
⇒  docker volume rm stackrox-rox-gocache
stackrox-rox-gocache

 ⇒  make sensor-build-dockerized
stackrox-rox-gocache
+ main-builder-image
# If the next line fails, you need to update the go version in rox-ci-image/images/stackrox-build.Dockerfile
grep -q "go1.18.4" <(docker run --rm "quay.io/stackrox-io/apollo-ci:stackrox-build-0.3.55" go version)
+ sensor-build-dockerized
docker run --user "501" --rm -e CI -e CIRCLE_TAG -e GOTAGS -e DEBUG_BUILD -w /src -e GOPATH=/go -e GOCACHE=/linux-gocache -v/Users/matthias/go/src/github.com/stackrox/stackrox:/src:delegated -v stackrox-rox-gocache:/linux-gocache:delegated -v stackrox-rox-gopath:/go:delegated quay.io/stackrox-io/apollo-ci:stackrox-build-0.3.55 make sensor-build
/src/scripts/go-build.sh sensor/kubernetes sensor/admission-control
failed to initialize build cache at /linux-gocache: mkdir /linux-gocache/00: permission denied
make: *** [Makefile:396: sensor-build] Error 1
make: *** [sensor-build-dockerized] Error 2

This is what the container sees if executed directly:
⇒  docker run (...) ls -ld .
drwxr-xr-x 1 501 games 1920 Jan 26 17:01 .

⇒  docker run (...) id
uid=0(root) gid=0(root) groups=0(root)

Full image call: docker run -i --rm -w /src -v/Users/matthias/go/src/github.com/stackrox/stackrox:/src:delegated -v stackrox-rox-gocache:/linux-gocache:delegated -v stackrox-rox-gopath:/go:delegated [quay.io/stackrox-io/apollo-ci:stackrox-build-0.3.55](http://quay.io/stackrox-io/apollo-ci:stackrox-build-0.3.55)


[Search] Booster improvements

Requires:

https://github.com/xataio/xata/pull/1531
https://github.com/xataio/xata/pull/1529

Pinging @tsg to take a look

Holding this until backend is merged


fivem removing cars from mello trainer

im trying to remove the military,supercars vehicles in the mello trainer i looked throughout the whole entire vehicles.lua and found nothing thatll help me because im in a RP server on fivem and i wanna take out the cars but i have no clue how to do it

The vehicles are not listed there, you can find them in nui/mellotrainer.json
Just make sure you delete appropriately and don't have any hanging arrays by closing all your brackets etc.
It's twitchy about that until you get the hang of it.


[Runtime] NFC: Use std::invoke_result instead of deprecated std::result_of

Just resolve deprecated warnings while building stdlib for WebAssembly

@swift-ci Please smoke test


Move off mashery before they shut it down

The old mashery API is shutting down and so it is time to make a move!
https://docs.athenahealth.com/api/docs/migration-guidance
I have also included:

ruby 3 support in the tests
update to the naming to match the new developer portal

@BCJonesey Great Job! I will review that tomorrow 👍


Button Press Required on Boot?

Hi There, I absolutely love the USBvalve! I have mine mostly working but each time I power it up I have to press the "reset" button before the screen will turn-on. Is this part of the design, and if so is there a workaround? Or do you think I've missed a solder somwhere?
Thank you so much for developing this project :o)

it shouldn't really be like this, re-solder all the soldering points and flash the valve again

Hey @Rae-Hughes thank you very much for the kind words!
No, this is not expected. It should start without pressing reset. What @NagelTuev (thanks!) says is correct.
If it does not help, please provide some more info:

firmware version
LCD version (32 or 64)
Pico Board used (official model, clone, other....)
LCD hardware used
did you wired your connections or used the PCB?

Thanks,

Hi Folks, thank you so much for getting back to me so quickly! I'll re-solder and get back to you. My soldering skills aren't great so I thought that might be the issue

Hi hi,
So I started again, fresh PCB, New Pico, new OLED, new USB port. Soldered everything. Flashed the Pico. Yet I still have exactly the same issue. I need to press the button to get the screen on when I first power it up.
Any thoughts?

Which firmware version are you using? The latest? Could you try to flash an older one, like 0.17.0 and/or 0.16.0?
Also, is your Pico a standard one or a clone? Some of the clones has additional features that can introduce incompatibilities.
Thanks,

I tried flashing with both 0.17.0 and 0.16.0 and they both had the same issue. My Pico is a standard one as far as I'm aware

mmmmhhhh...weird...
Let's try to recap:

you insert the cable in the Pico micro USB
then you connect the cable to the PC
you don't see anything on the screen nor a device is mapped on the PC
then you press reset
at this point the screen turns on and you see a mapped device on the PC

Could you confirm that this is what is happening?

So what happens is,

I insert the cable into the Pico micro USB
I connect the cable to my PC
I see a mapped device on the PC as normal (with the .txt file, etcetera)
The screen shows nothing
I press the reset button
I see a mapped device on the PC and the screen turns on and then functions as normal

which is the model of the screen you are using? Do you have a link ?

Hi, I'm using this,
https://www.diymore.cc/products/diymore-0-91-inch-iic-i2c-oled-lcd-12832-128x32-display-diy-module-ssd1306-driver-ic-dc-3-3v-5v-stm32-for-arduino-pic?variant=14646817521722

Can you try the following firmware and let me know if it works?
firmware.zip
Thanks,

Hi hi,
The firmware does function, but it doesn't solve the issue with the button..

i ran into the same problem and realised that it was sometimes due to bad connections, but also partly due to the power supply, especially with the very cheap displays.
how do you connect the display to the pico? by cable, pcb or breadboard? Maybe your cables are not in good condition, or the pcb. you could use a multimeter to check the continuity and the resistance of the connections, with the short cables there should be almost no resistance.

I'm using a PCB, so maybe it's that? But it's a well-built PCB..
I might have to invest in a better OLED

Do you know how to use the arduino ide? install the adafruit ssd1306 library, in the examples you will find the ssd1306_128_32_i2c.ino install it on your pico. if it gives the same error, it is the hardware.
if you can't get it to work, let me know and I'll build you the firmware quickly.
alternatively you can also try to solder the display with cables to test if it's the pcb. But I think it's more likely to be the displays.

I tried, and was unsuccessful. If you've got a version of the firmware I could download that would be super helpful

ssd1306_128x32_i2c.ino.zip
no problem ;)

Thank you so much!! I have the same issue, the screen doesn't light when I plug the pico in

Sounds like hardware issue, do you get something somehow, or nothing at all? if u get nothing your displays could use an other I2C adrress, but i dont think so


Add csv files (vegetation types) to docs/_static

I need to refer to some tables from the documentation:

list of Niche vegetation types
translation table between Niche vegetation types and natura 2000 habitats

@johanvdw : where should we keep those csv files in our structure?

@cecileherr : I would put all tables that are not used by niche itself in a seperate tables folder under docs.

I agree, instead of `docs/_static', a new folder 'docs/data'.

To make things clear - this would contain all auxiliary tables which are
not used by Niche itself.
On Thu, May 3, 2018 at 10:57 PM, Stijn Van Hoey<EMAIL_ADDRESS>wrote:

I agree, instead of `docs/_static', a new folder 'docs/data'.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/inbo/niche_vlaanderen/pull/135#issuecomment-386434433,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA1AUjTXHo3UawfefBHGaayKY4mU4PoLks5tu29OgaJpZM4TxHCE
.

OK, then I will create a folder "_data" in the docs folder (let me know if you prefer "data" without underscore, but the other folders start with an underscore)


Bugfix/auto deploy issues

Codecov Report

Merging #7 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #7   +/-   ##
=======================================
  Coverage   96.51%   96.51%
=======================================
  Files           3        3
  Lines          86       86
=======================================
  Hits           83       83
  Misses          3        3

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 4b27bbe...be4ce94. Read the comment docs.


Upgrade npm deps, GHA, and runtime. Enable minification.

This PR upgrades node, npm dependencies, GHA actions used to build the action, and enables minification.

Minification results
Before
  40kB  dist/sourcemap-register.js
3319kB  dist/index.js
6875kB  [1928ms] - ncc 0.38.0

After:
  40kB  dist/sourcemap-register.js
1720kB  dist/index.js
6112kB  [3156ms] - ncc 0.38.0

@pavelloz should we add a .tool-versions file to align on node version?  I think that may be a good idea because when I run pnpm prepare I get slightly different dist files.

@bmuller yes, i did the upgrade and version pinning in d31aa1e