Service provider logs

Hello.
The technical regulation for the implementation of SPID by service providers, require the conservation of the AuthnRequest and the related Response in logs for 24 months
https://docs.italia.it/italia/spid/spid-regole-tecniche/it/stabile/log.html#service-provider
Unfortunately, in this library i can't find methos to easily obtain these information without hacking the original code (AuthRequest and BaseResponse classes)
Any suggestions about the best way to implement this functionality?
Thanks.

Hello @haunted2, thank you for reporting this.
Unfortunately there is no method to directly get the data you need. You have 2 solutions at the moment:

updating the code of the library
manually doing all the operations that $sp->login(...) would normally do as a temporary fix.  At the end of this post you can see an example of how that could look like, for reference.

I'll probably be able to send a proper fix and update in about a couple weeks. If you can't wait I suggest just hacking into the code and saving the data the moment it is generated. In case you wish to contribute we can discuss a more solid solution, just let me know.
 ARE PUBLIC, SO WE CAN
//CALL THEM MANUALLY AND INTERCEPT THE XML CREATION
function customLogin(
    Sp $sp,
    $binding,
    $idpName,
    $assertId,
    $attrId,
    $level = 1,
    $redirectTo = null,
    $shouldRedirect = true
    ) {
    if ($sp->isAuthenticated()) {
        return false;
    }
    if (!array_key_exists($assertId, $sp->settings['sp_assertionconsumerservice'])) {
        throw new \Exception("Invalid Assertion Consumer Service ID");
    }
    if (isset($sp->settings['sp_attributeconsumingservice'])) {
        if (!isset($sp->settings['sp_attributeconsumingservice'][$attrId])) {
            throw new \Exception("Invalid Attribute Consuming Service ID");
        }
    } else {
        $attrId = null;
    }
    $idp = $sp->loadIdpFromFile($idpName);

    $idp->assertID = $assertId;
    $idp->attrID = $attrId;
    $idp->level = $level;

    $authn = new AuthnRequest($idp);
    $url = $binding == Settings::BINDING_REDIRECT ?
        $authn->redirectUrl($redirectTo) :
        $authn->httpPost($redirectTo);

    /*==================
    ACCESS THE AUTHNREQUEST XML HERE WITH
    $authn->xml
    THEN CONTINUE WITH THE REQUEST
    ==================*/

    $_SESSION['RequestID'] = $authn->id;
    $_SESSION['idpName'] = $idp->idpFileName;
    $_SESSION['idpEntityId'] = $idp->metadata['idpEntityId'];
    $_SESSION['acsUrl'] = $idp->sp->settings['sp_assertionconsumerservice'][$ass];

    if (!$shouldRedirect || $binding == Settings::BINDING_POST) {
        return $url;
    }

    header('Pragma: no-cache');
    header('Cache-Control: no-cache, must-revalidate');
    header('Location: ' . $url);
    exit("");
}

//THE RESPONSE IS NORMALLY BUILT FROM EITHER $_POST OR $_GET DATA IN $sp->isAuthenticated()
//$_POST AND $_GET ARE NOT CLEARED SO YOU CAN REBUILD THE RESPONSE XML FROM THE DATA AFTER VERIFYING THE
//RESPONSE IS CORRECT WITH $sp->isAuthenticated()
function getResponseXML(): ?string {
    if ((!isset($_POST) || !isset($_POST['SAMLResponse'])) &&
        (!isset($_GET) || !isset($_GET['SAMLResponse']))
    ) {
        return null;
    }
    $xmlString = isset($_GET['SAMLResponse']) ?
        gzinflate(base64_decode($_GET['SAMLResponse'])) :
        base64_decode($_POST['SAMLResponse']);

    $xml = new \DOMDocument();
    $xml->loadXML($xmlString);

    $ns_samlp = 'urn:oasis:names:tc:SAML:2.0:protocol';
    $root = $xml->getElementsByTagNameNS($ns_samlp, '*')->item(0)->localName;

    if ($root != 'Response') return null;

    if (isset($_SESSION['spidSession'])) {
        return null;
    }
    return $xml;
}

Thank you very much!
Looking at your example, i managed to log the data i need.


Strange default page icon showing up after update

Info:

OS: MacOS Ventura 13.3

Logseq ver: 0.8.18-nightly.20230303

Plugin ver: 1.8.2

Theme name: Solarized default

[ ] ⚠ Do i have issue with DISABLED my custom.css?

Description:
After updating to this version of the Awesome plugins, the default page icons show up as as "U" (inside a circle on the pages themselves and in links to pages; with small dot at the bottom in the left toolbar.
The default icons still show up as expected in the tabs.
To Reproduce:
No special action required.
Expected behavior:
Seeing the same default icons for page links everywhere.
Screenshots
In left toolbar:

On pages:

In tabs:

Attach files
Add (via drag-n-drop) .zip with .md files (if it needs) to help with bugfixind

it's Tabler icons... have you switched in Awesome Links from Nerd to Tabler?
PS: it's not Awesome UI issue

oh, it's Awesome Styler... bug after experimenting with icons. update to latest plz!


Datagrid - InsertRow position parameter

Hi All,
I wish to include an optional parameter in the RadzenDataGrid.InsertRow method, template below.

Can anyone process this implementation?
Kind regards,
Arjen

Hey @Abolten,
We accept pull requests! Make sure however to not change the default/current behavior.

We've decided not to add such method. Use your collection to insert item at desired position and call Reload() method of the DataGrid component.


Update iOS and iOS sim configure targets

CLA: trivial
Update ios-xcrun and ios64-xcrun configurations for Configure
Tests Performed
Verified that after these changes it was possible to run
./Configure ios64-xcrun enable-fips enable-fips-securitychecks -mios-version-min=12.0 && make
./Configure ios-xcrun enable-fips enable-fips-securitychecks -mios-version-min=12.0 && make
./Configure iossimulator-xcrun enable-fips enable-fips-securitychecks -mios-version-min=12.0 && make
to successfully configure and build iOS targets without needing to set the CROSS_TOP, etc

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

We will need a CCLA and ICLA submitted to be able to merge PRs from you.
Also with this change the assembler implementations are not used for these targets. Is that intentional?

The assembler was working successfully with the initial version I checked out two weeks ago, as well as with openssl-3.0.0-alpha9. However when I pulled this morning in order to get it to compile for FIPS without no-asm I needed to remove those three asm directives.

The problematic assembly will be reverted.


Fix broken links by replacing spaces with %20

Checklist

[x] I've looked at the contribution guidelines.
[x] This pull request is complete and ready for review.

Description
Fix broken links by replacing spaces with %20

Cheers!


Removed runblocking block in TabDbSanitizer class.

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #3380   👈

This comment was auto-generated by Graphite.


date.week empty

The code
table file.ctime as Created, date(now).week as dateWeek, file.ctime.week as Week from ""

results in

No errors in console.

Added date.week, which gives week of month (1-5), date.weekday, which gives the day within the week (1-7), and date.weekyear which gives week of year (1-52). Will be released shortly.

Fixed in 0.2.1. Let me know if you need other date formats / interpretations.


Refactor wheel builds

Notes:

cibuildwheel doesn't allow us to have fine-grained control of the call to maturin. So e.g. we can't pass different features to maturin per OS. (maturin I don't think has a way to control it via env vars)

I should merge this without proj support and come back to that


Label airtime failure reports for helpdesk

@KaitCrawford I was hoping this is something a helpdesk operator could pick up and action, but I see we don't have that as yet. Let me see what else we can do

@erikh360 I agree that it's something a human should investigate but I'm concerned we're unnecessarily increasing the number of tools people have to use on a day-to-day basis to manage the project.
Although I'm not sure an airtime error is something that anyone other than an engineer would be able to investigate as things stand

@KaitCrawford we already get DTone emails when airtime transfers fail and engineers can action those. My thinking here was more around people taking chances for free airtime. Helpdesk operators can check the chat history to see if they actually did the survey. but now I'm thinking the only way this label is added is at the end of the survey so maybe useless.
I'm going to think through this a bit more


Simple Celsius to Fahrenheit Model Fails

Describe the bug
Not sure what I am doing wrong. Created the simple task of learning the C to F calculation. Model predicted that 100 C is -27 F (Should be 212 F). Thank you.
To Reproduce
See this Google Colab: https://colab.research.google.com/drive/1kg6LlklDLdXHAqVUohJILRj5cJC0FznX
Please provide code, yaml definition file and a sample of data in order to entirely reproduce the issue.
Issues that are not reproducible will be ignored.
Expected behavior
100 C should be predicted as 212 F
Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

OS: [e.g. iOS] Google Colab Linux
Version [e.g. 22]
Python version: 3
Ludwig version Latest

Additional context
Add any other context about the problem here.

The colab looks wrong, looks like an image classification. Please provide the correct zip containing dataset csv and yaml file so that we can debug locally please.

My apologies.
Correct link: https://colab.research.google.com/drive/1occqmEwSuGkJWao5B4uHouaD3xEwx08l
Files attached
c2f.zip

With this model it gets mean absolute error of 0.2314:
input_features:
    -
        name: C
        type: numerical
        initializer: ones
output_features:
    -
        name: F
        type: numerical
        initializer: ones
training:
  learning_rate: 0.00005
  optimizer:
    type: sgd

There are two issues here: the absolute value of inputs is big, so you need something that initializes to small values (hence ones) to avoid explosion. At the same time because inputs and outputs are not normalzied, you need a small enough learning rate to avoid divergence because of big gradients.

@w4nderlust thank you very much. I'll read up on the statements you added to the YAML.


Installing error

I have infinix note 10  when I click on install the app crashes

Can you check if this behavior happen with this version?
https://github.com/VegaBobo/DSU-Sideloader/actions/runs/3859881407
Also, can you send me logs from crash?


ARROW-7605: [C++] Bundle private jemalloc symbols into static library libarrow.a

If something like this is not done, then libarrow.a cannot be used without obtaining the exact libjemalloc_pic.a that we build privately.
Open questions I need help with

Does this break any packaging builds?
How does this affect the INSTALL CMake commands (and ArrowTargets.cmake, etc.)? Ideally we want people to be able to use Arrow as a dependency in other CMake projects and for things to Just Work
Test with ARROW_MIMALLOC=ON on Windows

I'm going to clean this up as soon as I can and try to include any BUNDLED dependencies in libarrow.a

Bundling jemalloc into libarrow.a is probably the right course, but altering the generated archive in a way that CMake doesn't understand complicates the target export quite a bit.
Did you consider directly adding the object files from jemalloc to the list of source files of libarrow? The approach is described on Stackoverflow.
Another alternative is to install the custom jemalloc.a. Here is a patch that outlines that approach (This does not take care of pkgconfig yet).

@tobim you're welcome to propose an alternative solution and demonstrate how third party applications would be expected to statically link. Since we have install both CMake targets and pkg-config there's a number of things to test

Closing this PR for now. Hopefully someone can pick up this project

This work has been superseded by https://github.com/apache/arrow/pull/7696


Update synthetic data generator to improve PII protections

We want to enhance the protections for the PII in the synthetic data generator per a comment from @jimduff-usds to:

Never shuffle names, but always fake them
Change Month and Day of DOB but retain year so the shape of ages remains roughly correct

I added a label for anything that could relate to PII so we can make sure to do extra scrutiny on the work done.


Dark Mode updates

Description
Some little dark mode improvements.
Type of change
Please delete options that are not relevant.

[x] Refactor (non-breaking change that updates existing functionality)

Screenshots/Screencaps
Giving modals a border and tweak "close icon" bg:

Make input borders white:

@bgins @jessmartin I tested this and I don't see a white border for inputs as per the second screenshot. Is there a change missing from this PR?

Disregard previous message, my git skills are rusty. Approved!


tap-quickbooks should have properties capability instead of catalog

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/3512
Originally created by @edgarrmondragon on 2022-05-19 20:50:01

Came up recently in Slack: https://meltano.slack.com/archives/CMN8HELB0/p1652851641112949
The tap uses --properties: https://github.com/hotgluexyz/tap-quickbooks/blob/9a9990601f02e91d9ef1357b91b69624eb9dab2b/tap_quickbooks/init.py#L272
discovery.yml says it uses --catalog: https://gitlab.com/meltano/meltano/-/blob/6d96c9bc9ec5610d87dc01d568bbdb3b162210a4/src/meltano/core/bundle/discovery.yml#L1724

View 1 previous comment from the original issue on GitLab

Closing as this is done and live.


Change license from MIT to Apache license

Change the license from the MIT license to the Apache license to be consistent with the license used by the main Gorgonia package.

Coverage remained the same at 73.037% when pulling 3c9f2c740e17eeb30709634e1ffb03930f5ae5a6 on apache_license into 6ca7fe23907cb437f8cdee2bc94c0d448e59a118 on master.


Allow tilt > 1.1

Hi there,
would you mind to allow tilt >1.1 to be installed. I've some trouble with sprockets-sass nailed down to 1.x:
sprockets-sass is used by middleman and I built a "standalone" middleman-extension which I want to use with rails. But rails requires ... (welcome to dependency hell).
Thanks.
Cheers.

Yes I saw that... But seems that in 3.x it will be gone.

i think this can be closed also. Master version doesn't depend on Tilt anymore :smiley:

Fixed in #39

@petebrowne Thanks.


calculateMonthsDifference always returning the mont difference +1

I was trying to use the date utils outside the calendarro, and the return of the difference between months is always returning the difference +1, maybe it is the + 1 at the end of the function? It was supposed to be there?
  static int calculateMonthsDifference(
      DateTime startDate,
      DateTime endDate) {
    var yearsDifference = endDate.year - startDate.year;
    return 12 * yearsDifference
        + endDate.month - startDate.month + 1;
  }

Hi @vinsalmont
Oh, you're totally right. I did this mistake as a hotfix to something else and didn't pay attention.
Just released v1.1.2 ;)
Enjoy!

Thanks bro!


Handle China Union Pay card type in Caishen

It's a pretty popular credit card type, it would be nice to integrate it by default in Caishen instead of having to create a custom card type all the time we need it.

https://github.com/prolificinteractive/Caishen/pull/25


add xrg_ful.googol.cash to servers

I didn't noticed the PR and already did that. Thank you a lot for running the server! The commit: c03983192e53918a771826b791c61f353cebb259


How to disable dark mode?

Hi, how can I disable dark mode exhibition when using constrast theme?

Not sure if you still need this, but for other people who are also looking for a way to do this, I managed to do it by going to /_sass/basic.sass and changing
@media (prefers-color-scheme: dark)
  body
    background: $dark
    color: $light

to
@media (prefers-color-scheme: light)
  body
    background: $light
    color: $dark

If you also want to get rid of the dark header and footer, go to the _config.yml file and change show_frame: true to show_frame: false.


Unable to import games.a

I am unable to import games.a with the following error
Python 3.6.4 (default, Mar  9 2018, 23:15:03)
Type 'copyright', 'credits' or 'license' for more information
IPython 6.2.1 -- An enhanced Interactive Python. Type '?' for help.
PyDev console: using IPython 6.2.1
Python 3.6.4 (default, Mar  9 2018, 23:15:03)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-9<IP_ADDRESS>)] on darwin
import games
import games.a
Traceback (most recent call last):
  File "/Users/sanyamkapoor/Workspace/mlenv/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2910, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-3-4f2a0d71ab86>", line 1, in <module>
    import games.a
  File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 20, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/Users/sanyamkapoor/Workspace/src/github.com/MultiAgentLearning/playground/games/a/__init__.py", line 4, in <module>
    from . import pommerman
  File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 20, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/Users/sanyamkapoor/Workspace/src/github.com/MultiAgentLearning/playground/games/a/pommerman/__init__.py", line 1, in <module>
    from . import envs
  File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 20, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/Users/sanyamkapoor/Workspace/src/github.com/MultiAgentLearning/playground/games/a/pommerman/envs/__init__.py", line 1, in <module>
    from . import utility
  File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 20, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "/Users/sanyamkapoor/Workspace/src/github.com/MultiAgentLearning/playground/games/a/pommerman/envs/utility.py", line 8, in <module>
    from a.pommerman.characters import Flame
  File "/Applications/PyCharm.app/Contents/helpers/pydev/_pydev_bundle/pydev_import_hook.py", line 20, in do_import
    module = self._system_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'a'

Weirdly, everything works from the run_battle.py. Something has gone wrong with the packaging here.

This was most likely a cyclic package import problem when running as a package v/s as a script.


feat(datastore): support for custom primary key

Description of changes:
This PR introduces support for custom primary key in DataStore.
Currently the library heavily relies on the presence of an id field in any components conforming to Model, the “id” string is hard-coded in a few places and the code-generated ModelSchemas explicitly reference id as the primary key.
In order to gain the flexibility needed for defining what’s the primary key of a model and what’s its value, a few new components will be introduced along with changes to the Model and ModelSchema components.
The id member will be then replaced with a more generic identifier.
Components
classDiagram

class ModelIdentifiable {
    + associatedType IdentifierFormat: AnyModelIdentifierFormat
    + associatedType Identifier: ModelIdentifierProtocol
}
<<Protocol>> ModelIdentifiable

class AnyModelIdentifierFormat
<<Protocol>> AnyModelIdentifierFormat

class ModelIdentifierFormat {
    Default
    Custom
}
<<Enum>> ModelIdentifierFormat

class ModelIdentifierProtocol {
    + typealias Field = (name: String, value: Persistable)
    + fields: [Field]
    + values: [Persistable]
    + stringValue: String
    + predicate: QueryPredicate
}
<<Protocol>> ModelIdentifierProtocol

class ModelIdentifier~Model, Format~ {
    + fields: [Field]
}

class Model {
    + schema: ModelSchema
    + modelName: String
    + identifierValue: String

    + identifier(schema: ModelSchema): ModelIdentifierProtocol
}
<<Protocol>> Model

class ModelSchema {
    + name: String
    + authRules: AuthRules
    + fields: ModelFields
    + sortedFields: [ModelField]
    + attributes: [ModelAttribute]
    + indexes: [ModelAttribute]
    + primaryKey: ModelPrimaryKey
}

class ModelPrimaryKey {
    + fields: [ModelFields]
    + isCompositeKey: Bool
    - resolvePrimaryKeyFields(allFields: ModelFields, attributes: [ModelAttribute]
    - primaryKeyFieldKeys: [String])
}

ModelIdentifiable --> ModelIdentifierProtocol
ModelIdentifiable --> AnyModelIdentifierFormat
ModelIdentifier ..> ModelIdentifierProtocol
ModelIdentifier --> AnyModelIdentifierFormat
ModelIdentifier --> Model

ModelIdentifierFormat ..> AnyModelIdentifierFormat
Model --> ModelSchema
ModelSchema --> ModelPrimaryKey

1. Model
The requirement on the field id will be removed as not every model always have one, the Identifier typealias marked as deprecated in favour of a new ModelIdentifier component, and a new function identifier(schema:) will be added.
The function identifier(schema:)  and the computed property have a default implementation that derive the value of the identifier for a model instance based on the associated ModelSchema and the identifier format.
2. ModelIdentifierProtocol
Protocol that defines what a model identifier is, all of its properties have a default implementation.
3. ModelIdentifierFormat
Phantom types used to improve the developer experience by checking at compile time what type of identifier a model has and to give access only to the supported APIs.
4. ModelIdentifier
Concrete implementation of a model identifier. It’s generic on the Model type and the identifier format so that we can provide specific factories on a per-model basis.
5. ModelIdentifiable
Defines the requirements for a Model in order to be identifiable by a unique identifier, can be either a single field or a combination of fields. Models generated by the next version of the Codegen will also conform to this protocol.
The IdentifierFormat associated type defines the identifier format (default or custom) .
6. ModelPrimaryKey
Similar to what we currently do to define models fields in a ModelSchema, a ModelPrimaryKey will define the primary key.
Check points: (check or cross out if not relevant)

[ ] Added new tests to cover change, if needed
[ ] Build succeeds with all target using Swift Package Manager
[ ] All unit tests pass
[ ] All integration tests pass
[ ] Security oriented best practices and standards are followed (e.g. using input sanitization, principle of least privilege, etc)
[ ] Documentation update for the change if required
[ ] PR title conforms to conventional commit style
[ ] If breaking change, documentation/changelog update with migration instructions

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #1752 (5e737ca) into main (e9bedee) will increase coverage by 0.14%.
The diff coverage is 60.65%.

:exclamation: Current head 5e737ca differs from pull request most recent head f0e8803. Consider uploading reports for the commit f0e8803 to get more accurate results

@@            Coverage Diff             @@
##             main    #1752      +/-   ##
==========================================
+ Coverage   59.05%   59.20%   +0.14%
==========================================
  Files         716      719       +3
  Lines       21888    22194     +306
==========================================
+ Hits        12927    13140     +213
- Misses       8961     9054      +93

Flag
Coverage Δ

API_plugin_unit_test
62.51% <ø> (ø)

AWSPluginsCore
71.12% <79.16%> (-0.33%)
:arrow_down:

Amplify
48.17% <56.12%> (+1.34%)
:arrow_up:

Analytics_plugin_unit_test
71.09% <ø> (ø)

Auth_plugin_unit_test
78.74% <ø> (ø)

DataStore_plugin_unit_test
74.74% <59.68%> (-0.72%)
:arrow_down:

Geo_plugin_unit_test
52.12% <ø> (ø)

Predictions_plugin_unit_test
26.81% <ø> (ø)

Storage_plugin_unit_test
58.04% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...DataStore/DataStoreCategory+Behavior+Combine.swift
0.00% <0.00%> (ø)

...egories/DataStore/DataStoreCategory+Behavior.swift
7.69% <0.00%> (-3.42%)
:arrow_down:

...ries/DataStore/Subscribe/MutationEvent+Model.swift
0.00% <0.00%> (ø)

...Categories/DataStore/Subscribe/MutationEvent.swift
0.00% <0.00%> (ø)

...ync/MutationSync/MutationSyncMetadata+Schema.swift
0.00% <ø> (ø)

...eCategoryPlugin/Storage/ModelStorageBehavior.swift
0.00% <ø> (ø)

...in/Storage/SQLite/ModelValueConverter+SQLite.swift
63.93% <0.00%> (-3.31%)
:arrow_down:

...age/SQLite/StorageEngineAdapter+UntypedModel.swift
15.78% <0.00%> (-0.43%)
:arrow_down:

...eCategoryPlugin/Storage/StorageEngineAdapter.swift
0.00% <ø> (ø)

...gin/AWSDataStorePlugin+DataStoreBaseBehavior.swift
47.84% <9.52%> (-17.26%)
:arrow_down:

... and 36 more

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Add color command

Relevant Issues

Closes #677
Description

This is a work in progress and is an effort to contribute collaboratively with CyberCitizen01.
Implementation
To be updated as work moves on.
Did you:

[X] Join the Python Discord Community?
[X] Read all the comments in this template?
[X] Ensure there is an issue open, or link relevant discord discussions?
[X] Read and agree to the contributing guidelines?

The folder of evergreen no longer exists due to the recent file restructure.
Please move the main file to bot/exts/utilities/color.py and the resource file to bot/resources/utilities/ryanzec_colours.json.
I seem to have updated this branch due to being in the wrong browser tab. Sorry about that.

Just had an idea @CyberCitizen01
With your get_color_fields function, we can take any input mode and change that to rgb before passing it to the function. We could define individual <mode>_to rgb functions above the class and use them in the big if /elif loop when checking the mode.
From there we would call your overall function to create the individual color types and send that to the embed.
One thing I think we need to decide is whether to force the user to pass in tuples or not:
.color rgb (100, 100, 100)
or should we be flexible enough to accept these forms as well:
.color rgb 100, 100, 100
.color rgb 100 100 100
.color rgb 100,100,100
Last thing while it's on my mind: for the color name fuzzy matching everything is in Hex, so that would need to be called after the hex_color is defined by the get_color_fields function. I also need to create a similar function to get a color name based on the hex value...but there are more combinations of hex than are currently in that list so there may be times this would fault out. I suggest we would leave the color name field blank in that case.

With your get_color_fields function, we can take any input mode and change that to rgb before passing it to the function. We could define individual <mode>_to rgb functions above the class and use them in the big if /elif loop when checking the mode.
From there we would call your overall function to create the individual color types and send that to the embed.

Yes I totally agree.

One thing I think we need to decide is whether to force the user to pass in tuples or not:
.color rgb (100, 100, 100)
or should we be flexible enough to accept these forms as well:
.color rgb 100, 100, 100
.color rgb 100 100 100
.color rgb 100,100,100

I suggest we should try to make it flexible enough, so that users don't have to see the help command every time they are gonna use it. But I'm also confused about the extent of flexibility we should incorporate, I guess we should ask the members to give some insight on it.

Last thing while it's on my mind: for the color name fuzzy matching everything is in Hex, so that would need to be called after the hex_color is defined by the get_color_fields function.

Actually yeah, this seems to be a problem. I suggest we can do either of these:

Convert whatever the mode the user gives to RGB, and then for fuzzy matching we can convert the RGB color to hex and do what needs to be done after.
Change the ryanzec_colours.json into maybe a .py file, which will have the RGB color tuplets.
Or change the signature of get_color_fields so that it only requires a string representing the hex color, I prefer this one, as all other color lists (html_colours.json, xkcd_colours.json) also store color information according to the hex of the color.

I also need to create a similar function to get a color name based on the hex value...but there are more combinations of hex than are currently in that list so there may be times this would fault out. I suggest we would leave the color name field blank in that case.

Actually I think, one of the outcomes of this command is to find the closest match  to the user given color. Also I think we should also use other color lists (mentioned above), as you (@brad90four ) told earlier, by maybe deciding a priority order.

One thing I think we need to decide is whether to force the user to pass in tuples or not:
.color rgb (100, 100, 100)
or should we be flexible enough to accept these forms as well:
.color rgb 100, 100, 100
.color rgb 100 100 100
.color rgb 100,100,100

I think that all of the above user input examples can be handled with a regex match, so if possible I'd say go for flexibility. If you want a single format I'd suggest "100 100 100" over "(100, 100, 100)".

Ready for review, the main functionality seems to be there.
Examples:
.color name periwinkle

.color rgb 238 130 238

.color hex #FFE5B4

Were you planning to handle this format:
.colour hsl(241, 47, 58)
(No space between mode and parameters.)
Also:
.colour #6563C7

Were you planning to handle this format:
.colour hsl(241, 47, 58)
(No space between mode and parameters.)
Similarly:
.colour #6563C7

I was not prepared to handle those types of inputs, but I believe I could handle that in the if / elif statements.

Were you planning to handle this format:
.colour hsl(241, 47, 58)
(No space between mode and parameters.)
Similarly:
.colour #6563C7

I was not prepared to handle those types of inputs, but I believe I could handle that in the if / elif statements.

Right. But that makes me think: might it be better to parse the arguments to this command yourself, rather than relying on discord.py to separate the mode?

With all due respect @brad90four the structure of this PR is rather poor.
It seems like you're a bit confused by what I refer to as subcommands - luckily - discord.py has a FAQ entry here about it.
I think each mode should instead be a subcommand, and then they do the conversion to RGB and call a main method which sends the message to Discord.

Actually, I do agree with Bluenix that the structure requires work. Although I disagree that the modes should be sub-commands. I favour the main command having the form .color <color>, where it attempts to generously interpret <color> as one of the permitted colour representations. This is closer to what was specified by Joe in issue #677, and I think more intuitive for the user.
Here's how the structure of the code might look:
class Color(commands.Cog):
    ...

    @commands.group(aliases=['colour'], invoke_without_command=True)
    async def color(self, ctx: commands.Context, *, color_str: str = ''):
        ...

    @color.command()
    async def random(self, ctx: commands.Context):
        ...

    ... # Additional sub-commands.

I also think you should move the functions that perform the actual colour conversions out of the cog class and into the module.
Can we reach a consensus on this before moving forward please @Bluenix2 @brad90four @CyberCitizen01

Can we reach a consensus on this before moving forward please @Bluenix2 @brad90four @CyberCitizen01

I am completely okay with what you suggested here, subcommands was simply the first idea that came to mind but this will work out as well.

Can we reach a consensus on this before moving forward please @Bluenix2 @brad90four @CyberCitizen01

I am completely okay with what you suggested here, subcommands was simply the first idea that came to mind but this will work out as well.

Ah right. My thought was that it wouldn't be very user friendly to try doing .color hsl(241, 47, 58) and get a response saying that there is no hsl(241, sub-command.

Can we reach a consensus on this before moving forward please @Bluenix2 @brad90four @CyberCitizen01

Well I guess this looks great, but I have something to ask:
So now, the cog will handle .color <mode> <color> (explicit space between mode and color) via subcommands and inputs like .color rgb(255,255,255) via the main method, right?

I also think you should move the functions that perform the actual colour conversions out of the cog class and into the module.

Yeah I think, it'll make sense and be more readable.

I don't think that is what @lxnn originally thought about, what I must say I do like that compromise.
It means that you still get helpful directions in the help command.

Well I guess this looks great, but I have something to ask:
So now, the cog will handle .color <mode> <color> (explicit space between mode and color) via subcommands and inputs like .color rgb(255,255,255) via the main method, right?

That's not correct. The invocations .color rgb(255,255,255) (without space) and .color rgb (255,255,255) (with space) would both be handled by the base command .color <color>. You would just define <color> to be flexible regarding whitespace. The only subcommand specified is .color random, although we may add more subcommands in the future. I'm just interpreting Joe's specification in issue #677.

@lxnn Thank you for the clarification 🎉 😄

Converting to draft until @CyberCitizen01 and I get the restructure / refactor to a finished state.

Alrighty I am trying to gather my thoughts on how this would work.
There is a main entry point with
@commands.command()
async def color(self, ctx: commands.Context, *, user_input: str) -> None:

We will use regex to try to match for the modes rgb, hsv, hsl, hex, cmyk, a name or random color type. (We will still need to be able to parse out a tuple of values from the regex) This would be opposed to the "mode" method currently.
if rgb_regex_match:
    self.rgb_to_all(rgb_values)
elif hsv_regex_match:
    temp_rgb = ImageColor.getrgb(hsv_values)
    self.rgb_to_all(temp_rgb)
...

Depending on which regex we match, we will call a function to convert that mode to rgb, then have an rgb to all function handle the rest of the conversions.
After the rgb to all function is done, we create and send the embed.
I feel like it is almost the same as what it currently is, and not sure what all is gained. Would the subcommands just be used to group the different conversions together (e.g. hsv to rgb, then rgb to all of the others)? I guess I'm struggling at how to restructure the script.

Didn't you guys figure out that you could pass rgv(r, g, b) directly to Pillow? That would help remove these "conversion methods".

Very cool! We are getting very close, btw you still need to change the file name to colour.

Why can't I keep it as color?

Very cool! We are getting very close, btw you still need to change the file name to colour.

Why can't I keep it as color?

To keep it consistent throughout, in the source we have been using colour everywhere.

Is the status of this still WIP?

Is the status of this still WIP?

Sorta stalled on what to do with the color names. Currently it uses rapidfuzz to match the name if it is close, or the actual hex code. Since even one character off for the hex code can throw a non-match, currently the color can look the same but not have a name. Current ideas are to use difflib instead, or to create an RGB: color name mapping and try to use an RGB point distance calculation to determine the closest RGB color, then use that for a name.

Current ideas are to use difflib instead, or to create an RGB: color name mapping and try to use an RGB point distance calculation to determine the closest RGB color, then use that for a name.

The latter seems better but out of all things it's probably more code and logic for you (in the grand scheme of things it probably requires the least amount of code - but that is abstracted away).
As long as rapidfuzz doesn't give annoyingly wrong results I see this as a non-critical feature that I don't care for much.

@brad90four what's the status of this PR as of today?

@brad90four what's the status of this PR as of today?

Should be on the final stretch now, just fixing up some UX / UI that hedy found in their testing. Hopefully I can address the last of their concerns by the end of the week.

@Xithrius , @Bluenix2 , @Shivansh-007 , @Sn4u, @hedyhli I think this is finished.

Darned commit making all of my changes outdated before I even published it.


math.log2 should raise exception with invalid inputs

Technically this implementation should raise ValueError('math domain error') for input values that are zero or negative, however, what is present is no different to e.g. log10 above which would suffer from the same issue.
Originally posted by @stuartarchibald in https://github.com/numba/numba/pull/9416#discussion_r1489515607

math.log2 is not the only function that should raise an exception on invalid inputs:

math.acos(x) - Raises ValueError if x is outside the range [-1, 1].
math.asin(x) - Raises ValueError if x is outside the range [-1, 1].
math.exp(x) - Raises OverflowError if the result would overflow.
math.expm1(x) - Raises OverflowError if the result would overflow.
math.factorial(x) - Raises ValueError if x is not an integer or is negative.
math.log(x) - Raises ValueError if x is less than or equal to 0.
math.log10(x) - Raises ValueError if x is less than or equal to 0.
math.log1p(x) - Raises ValueError if x is less than -1.
math.log2(x) - Raises ValueError if x is less than or equal to 0.
math.sqrt(x) - Raises ValueError if x is negative.

Thanks for capturing this @guilhermeleobas. Historically the NumPy ufunc implementations have shared parts of their implementation with the math module implementation, to avoid having a branch in a ufunc loop the math functions are implemented as direct wiring to libm/LLVM intrinsics.  Hopefully the NumPy 2.0 support work will make it possible to implement the above correctly as the code paths will be separated.


missing metrics

hello,
correct me if i missed something big here, but i look at the fastly historical stats api documentation [here][https://docs.fastly.com/api/stats], i see many metrics which are not exported to my prom server such as status_5xx. did i miss something or is this currently not supported?

This exporter is a bridge to the Fastly Real-time Analytics API, which is similar to but different from the historical stats API. But, we definitely report e.g. status_5xx. If you don't see it in your Prometheus metrics, it's either because (a) there's a bug, or (b) your service hasn't seen any 5xx in the recent past.
Does this answer the question?

@oferzi23 status_5xx is reported via status_group_total{status_group="5xx"}


LZA Patch for GovCloud Feature Request

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Use cases have been reported where the install stack/pipeline updated and ran fine, but the LZA is failing on the prepare stage.
Describe the feature you'd like
A clear and concise description of what you want to happen.
LZA Team confirmed that they have been able to replicate this issue and have developed a fix. They are currently working on releasing a patch.
Creating this Github Issue ticket to track its release and for updates.
Additional context
Add any other context or screenshots about the feature request here.

Hello,
Thank you for opening up this issue. Can you please be more descriptive of what you're opening this feature request for?


Sending interrupt does not cancel connection quickly enough

As reported by @ptinsley:

idle workers in a listen loop take a decent amount of time to honor an interrupt where previously it was almost instant.

@ptinsley: Is this still something you are seeing?

I believe this has been resolved by GRPC. I am able to send an interrupt in IRB and the listen loop will halt immediately.


run yarn

I only ran yarn on the latest dev commit. Should that lead to so many changes in the lock file?

Looks fine. It's from husky being removed - I guess it wasn't run in that PR.
Also I pinned react-jss to ^10.5.0 but that's no longer needed since theme.spacing was changed to rems


Compatibility with InfluxDB v1.8

Hello,
I have a doubt about the compatibility of Harvest 2.0 with InfluxDB v1.8. Does it support it?
Thanks.
Best regards!

It does not support 1.8. The README.md mentions v2 is required. There were big changes on InfluxData's side that made compatibility between the two difficult.

Hello @cgrinds
I remember that in the past, you were valuing the possibility of support InfluxDB v1 but I don't know what happened with that. In our environment we don't know when our monitoring team will go to the InfluxDB V2 but it won't be in a short time. My query was because we can't integrate alerts/events in our stack.
I understand that time consumption of adapting this and maintenance is biggen than the use.
Thank you.

That's right, we made a change last year so Harvest could communicate with 1.8. https://github.com/NetApp/harvest/issues/63 Not sure if you've tried using the 1.8 friendly URL form or if you've hit a different compatibility issue with InfluxDB.
We can address small issues similar to #63, but it is not on our roadmap to test/validate/support InfluxDB 1.8

Hello @cgrinds
I didn't know this feature or functionality for compatibility of InfluxDB v1.8. I have tested and it works.
Thanks for share this. I understand this isn't in your roadmap and it isn't a priority.

Awesome, glad it worked for you 👍


Add a Line integration :)

Create a new channel in the Bot Connector API: Line (https://line.me/en-US/) following these guidelines: https://github.com/RecastAI/bot-connector/wiki/01---Add-a-channel
So developers will be able to connect a chatbot to Line ;)

Can I take this up @janteuni as a part of hacktoberfest?!

Hello @waseem18 !

Hi :)

Bot Connector is an open source API to connect chatbot to messaging channels, such as Line or Wechat :)@dbousque and @jhoudan

@janteuni @dbousque @jhoudan I'll let you know if I'm stuck somewhere
Thanks

@waseem18 It would be great if you could do it :) Don't hesitate to contact us directly on Slack : https://recastai-community.slack.com

Sure @dbousque

Sorry @dbousque I couldn't work on this as my health wasn't supporting me. :(
I'll be free in November first week and interested in working on this during that time.


chore: trigger new build

code.facebook.com/cla

This page is broken.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #6149   +/-   ##
=======================================
  Coverage   64.19%   64.19%
=======================================
  Files         219      219
  Lines        8423     8423
  Branches        4        3    -1
=======================================
  Hits         5407     5407
  Misses       3015     3015
  Partials        1        1

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 4ca03cd...56ff532. Read the comment docs.

What's the point of this?

To fix the currently failing unit tests. We have to rerun them.

That's res because of Travis, which don't run in PRs anyway.

Ah I see, but isn't this an issue then with the silent reporter?
Should I retest on my own fork with Travis enabled?

No, it works fine in Cirlce:

The issue is that Travis always passed on PRs, but not on master. I have no idea why, but we should probably just remove it completely...

The issue is that Travis always passed on PRs, but not on master.

That's definitely weird. Did you ask the guys at Travis GmbH if they can take a look?
Anyway, CircleCI is also good and can be used as replacement for TravisCI.

Yep, ask @aaronabramov about that.

yeah, they run some stdout filtering on master builds that filter out passwords, tokens and all that stuff. That messes with stdout.isTTY property that makes chalk think that we don't support colors and that breaks the whole formatting :(

weird => https://travis-ci.org/DanielRuf/jest/builds/376033612

see https://github.com/travis-ci/travis-ci/issues/7967#issuecomment-358437261


Fix to address Issue 871

Description
Issue
Motivation and Context

How Has This Been Tested?
Tested the Fastly UI on draft QA
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Enhancement (improves on existing behavior)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project. (Did you install and run the pre-commit hooks?)
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

:+1:

Cool. Let me know where/when I can test this?


Missing scroll bar for longish Wikipedia articles

Use case:

in one Timeline slide Media part, create a link to a longish Wikipedia article extract (the length of the extract is automatically decided by Timeline, so you'll have to experiment)
in the Description text part of the slide, type a longish text
view the resulting timeline on a small screen (phone, or simulate view on desktop computer)
the longish Description text features a scroll bar (highlighted in red on attached screenshot)
the longish Wikipedia extract is cut and no scroll bar is available
I have tried to add a CSS overflow: scroll; to various parts of the Media part of the slide but to no effect.

@rezeau July is the traditional holiday month in Norway, and it may take some time until someone can handle your report. Meanwhile, you could try to verify that it is in fact a problem with NDLA's H5P wrapper for KnightLab's timeline module and not a general problem with KnightLab's timeline module itself.


Breaks if NodaTime version is higher than <IP_ADDRESS>

If NodaTime package version is > 2.0.2, I get this error:
System.IO.FileNotFoundException: Could not load file or assembly 'NodaTime, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=4226afe0d9b296d1' or one of its dependencies. The system cannot find the file specified.
The project is targeting .NET framework 4.7.1

@drewob  I just ran into this as well when I upgraded from v2 of Ical.Net to v4 of Ical.Net.
It turns out that the upgrade of v2 to either v3 or v4 deletes the reference to NodaTime altogether from your .csproj file. This is what then causes the error.
There is either something wrong with the v2 NuGet files or there is something wrong with the v3 and v4 NuGet files.
The fix was relatively easy - I did the upgrade with the package manager. Then I unloaded the projects from my solution, did a diff on the .csproj file and copied the deleted lines of nodatime from the previous version of the file to the new version of the file.
I then reloaded the projects and everything worked fine. Since I was trying to go from v2 to v4, and this was happening, I decided I would get there piecemeal. So I first upgraded from v2 to the first available v3. This resulted in the NodaTime reference being dropped. I fixed that, then I was able to upgrade from the first v3 version to the latest v3 version without issue. (I had to fix my code to work with V3 since there are breaking changes, which was expected). Then I upgraded from latest v3 to v4.0.0 and again the upgrade worked and I had to fix more breaking changes in my code. I just finished upgrading to the latest v4.
I ran my unit tests and everything (except the PRODID setting) is working great.
I assume you found your answer 28 days ago, but I figured I would leave a note for anybody else stumbling across this.
BTW, I am using the latest v2.3.x version of NodaTime.

In my case, I fixed it by giving this setting to my App.config :
   <runtime>     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">       <dependentAssembly>         <assemblyIdentity name="NodaTime" publicKeyToken="4226afe0d9b296d1" culture="neutral" />         <bindingRedirect oldVersion="<IP_ADDRESS>-<IP_ADDRESS>" newVersion="<IP_ADDRESS>" />       </dependentAssembly>     </assemblyBinding>   </runtime>

I just updated my nuget NodaTime package to 2.4.7 and Npgsql.NodaTime to 4.0.10 from the immediately previous versions, and all references to NodaTime were removed from my .proj file. I was able to fix things by doing a diff with the old .csproj to discover that the references were in fact missing, and then manually updating the .proj. I am using Mono Develop 7.8.2, not VS.

I am encountering this error using iCal through PowerShell. I am trying to fumble my way through. Would anyone know off the top of their head where I might be able to apply a fix? The only thing I found that references NodaTime in the package files is the Ical.Net.deps.json file.
The error is triggered by: $Calendar = [Ical.Net.Calendar]::Load($ICSCal)


(libreoffice-help) keeps getting rejected

Anyone want to take a closer look at this package? Is everyone on the mailing list to receive emails when these fail (@AdmiringWorm @majkinetor)?

I took a closer look - it's failing on this: $installArguments. Please use a different name. See https://github.com/chocolatey/package-validator/wiki/ScriptContainsUsageOfInstallationArguments for details. If something is wrong, we may need to make a change on the validator's detection.

I've honestly have yet to have a look at the libreoffice-help package (it have not yet been migrated to AU and is still using ketarin).
I do get the messages from the mailing list, but have pretty much ignored them for this package (because it haven't yet been migrated).
I doubt there is anything wrong with the validator's detection though.

I've removed the ketarin file for libreoffice-help for now, since there is no reason to push a package we now will fail and eventually rejected, it definitely shouldn't be ran with ketarin.
Anyways, we still need to look into migrating the package to AU though.

Closing due to lack of interest. Moved it to manual packages as it has no AU script.


Bizarre issue with JSON request bodies getting mutated

I don't know if this is an issue with Lambda or Zappa, but since I couldn't find anyone complaining from this strange bug that would affect anyone using JSON to send data to Lambda functions, I guess it is more likely that the problem is here? (Maybe it is a Flask bug also, but I couldn't find anything there also and it doesn't make sense that Flask works differently locally and in the Lambda environment -- or maybe does?)
Here's my Flask app (full code):
import os
from flask import Flask, request

app = Flask(__name__)

@app.route('/test', methods=['POST'])
def test():
    print('request.get_data():', request.get_data())
    print('request.data:', request.data)
    return request.data

if __name__ == '__main__':
    app.run('<IP_ADDRESS>', int(os.getenv('PORT', 8787)), debug=os.getenv('DEBUG', True))

Here's what happens when I test it locally:
fiatjaf@cantillon ~/c/webhooks> curl -X POST http://localhost:8787/test -d '{"x":22}' -H 'application/json'
{"x":22}⏎
fiatjaf@cantillon ~/c/webhooks> curl -X POST http://localhost:8787/test -d '{"x":22}'
{"x":22}⏎

Then I deploy (everything looks normal for me):
(venv) fiatjaf@cantillon ~/c/webhooks> zappa deploy test
Packaging project as zip...
Uploading zip (6.7MiB)...
100%|█████████████████████████████████████████████████████| 7.08M/7.08M [00:02<00:00, 2.66Mit/s]Creating API Gateway routes..
512it [00:48, 10.64it/s]                                                                        Deploying API Gateway..
Your Zappa deployment is live!: https://zr8az5jgn5.execute-api.us-east-1.amazonaws.com/test

Testing the "live" version (here's where the problem appears):
fiatjaf@cantillon ~/c/webhooks> curl -X POST https://zr8az5jgn5.execute-api.us-east-1.amazonaws.com/test/test -d '{"x":22}'
{x=22}⏎
fiatjaf@cantillon ~/c/webhooks> curl -X POST https://zr8az5jgn5.execute-api.us-east-1.amazonaws.com/test/test -d '{"x":22}' -d 'Content-Type: application/json'
{x=22}⏎

Why is my {"x": 22} JSON getting mutated to {x=22}? This is odd, very odd. These logs don't show it, but I have also tried to log type(data) and it is <str> ({key=value} is not the standard way Python prints objects anyway).
The lambda logs show the following:
(venv) fiatjaf@cantillon ~/c/webhooks> zappa tail test
[1464094582372] [INFO]  2016-05-24T12:56:22.372Z        e9defd0f-21ae-11e6-b5f6-ebc4d39e71b3   <IP_ADDRESS> - - [24/May/2016:12:56:22 +0000] "GET / HTTP/1.1" 404 233 "" "python-requests/2.10.0" 0/468.216
[1464094582372] PCFET0NUWVBFIGh0bWw+NDA0PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDMuMiBGaW5hbC8vRU4iPgo8dGl0bGU+NDA0IE5vdCBGb3VuZDwvdGl0bGU+CjxoMT5Ob3QgRm91bmQ8L2gxPgo8cD5UaGUgcmVxdWVzdGVkIFVSTCB3YXMgbm90IGZvdW5kIG9uIHRoZSBzZXJ2ZXIuICBJZiB5b3UgZW50ZXJlZCB0aGUgVVJMIG1hbnVhbGx5IHBsZWFzZSBjaGVjayB5b3VyIHNwZWxsaW5nIGFuZCB0cnkgYWdhaW4uPC9wPgo=: LambdaException
Traceback (most recent call last):
  File "/var/task/handler.py", line 161, in lambda_handler
    return LambdaHandler.lambda_handler(event, context)
  File "/var/task/handler.py", line 55, in lambda_handler
    return cls().handler(event, context)
  File "/var/task/handler.py", line 143, in handler
    raise e
LambdaException: PCFET0NUWVBFIGh0bWw+NDA0PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDMuMiBGaW5hbC8vRU4iPgo8dGl0bGU+NDA0IE5vdCBGb3VuZDwvdGl0bGU+CjxoMT5Ob3QgRm91bmQ8L2gxPgo8cD5UaGUgcmVxdWVzdGVkIFVSTCB3YXMgbm90IGZvdW5kIG9uIHRoZSBzZXJ2ZXIuICBJZiB5b3UgZW50ZXJlZCB0aGUgVVJMIG1hbnVhbGx5IHBsZWFzZSBjaGVjayB5b3VyIHNwZWxsaW5nIGFuZCB0cnkgYWdhaW4uPC9wPgo=
[1464094675182] ('request.get_data():', '{x=22}')
[1464094675182] ('request.data:', '{x=22}')
[1464094675183] [INFO]  2016-05-24T12:57:55.183Z        21cb3e15-21af-11e6-9d0c-abfebd2c382c   <IP_ADDRESS> - - [24/May/2016:12:57:55 +0000] "POST /test HTTP/1.1" 200 6 "" "curl/7.43.0" 0/0.97
[1464094720613] ('request.get_data():', '{x=22}')
[1464094720613] ('request.data:', '{x=22}')
[1464094720613] [INFO]  2016-05-24T12:58:40.613Z        3cdfc4f5-21af-11e6-92b2-97032d56bec9   <IP_ADDRESS> - - [24/May/2016:12:58:40 +0000] "POST /test HTTP/1.1" 200 6 "" "curl/7.43.0" 0/0.931

I'm using Python 2.7.10, a virtualenv and running zappa from inside the virtualenv, so I think I'm doing everything right as explained in the books. I just don't know what is that Exception that appears on the beggining of Lambda logs right there. Could it be the cause? I doubt it, but who knows?

Thanks for reporting! Especially for the repro. Investigating..

I have a committed a fix to master that I THINK will fix this, but needs code review and more testing. https://github.com/Miserlou/Zappa/commit/8f475693bf036f244a446e65cf7c66acc66918f6

(You will need to 'undeploy' and 'redeploy' for the changes to take affect, I think.)

The type will still be a string, but I think that's actually the correct behavior - it's the job of the application do the the parsing properly, Zappa's job is just the scurry the data.

Right, I don't quite understand the fix, but I think it is it. I was seeing different behavior when specifying Content-Type and when not, but at some point when writing the reproducible example I lost it (things get confused when you're getting errors).
I'll test the new code later today. Thank you.

It has kind of fixed it, but there's a different issue now:
fiatjaf@cantillon ~/c/webhooks> curl -X POST https://fj9czanxrk.execute-api.us-east-1.amazonaws.com/test/test -d '{"x":22}'
{"x":22}⏎
fiatjaf@cantillon ~/c/webhooks> curl -X POST https://fj9czanxrk.execute-api.us-east-1.amazonaws.com/test/test -d '{"x":22}' -H 'Content-Type: application/json'
<!DOCTYPE html>500.
From Zappa:
must be string or buffer, not dict

Traceback (most recent call last):

File "/var/task/handler.py", line 122, in handler

trailing_slash=False

File "/home/fiatjaf/comp/webhooks/venv/lib/python2.7/site-packages/zappa/wsgi.py", line 25, in create_wsgi_request

File "/usr/lib64/python2.7/base64.py", line 73, in b64decode

return binascii.a2b_base64(s)

TypeError: must be string or buffer, not dict

⏎

Good catch, I see the issue, needs thought. More soon.

Pushed another fix, although I fear I may have gone too far in the other direction..

Now it is working for me, although I don't quite understand all the changes involved, thank you very much.
Am I expecting what is the correct expected behavior, or will this change in the future?

The correct behavior should be to get the same inputs/outputs across Zappa as you would in any traditional deployment, so yes. Leaving this ticket open until this is tested and published.

Published.


fatal: not a git repository error

---
name: Prompt Evaluation
on: # yamllint disable-line rule:truthy
    pull_request:

jobs:
    evaluate:
        runs-on: ubuntu-latest
        permissions:
            pull-requests: write # Post comments on Pull Requests
        steps:
            - name: Create promptfoo cache
              uses: actions/cache@v3
              with:
                  path: ~/.cache/promptfoo
                  key: ${{ runner.os }}-promptfoo-v1
                  restore-keys: ${{ runner.os }}-promptfoo-
            - name: Run foo evaluation
              uses: typpo/promptfoo-action@v1
              with:
                  github-token: ${{ secrets.<redacted> }}
                  prompts: prompts/foo-prompts.txt
                  config: prompts/foo-config.yaml
                  cache-path: ~/.cache/promptfoo

Running the second step typpo/promptfoo-action@v1, I get a warning and error:
Warning: Can't add secret mask for empty string in ##[add-mask] command.
/usr/bin/git fetch origin main
fatal: not a git repository (or any of the parent directories): .git
Error: The process '/usr/bin/git' failed with exit code 128

I actually am in a Git repository here with a main branch present (and using GitHub + GitHub Actions).
Not sure what is happening here

Hey @jamesbraza!  Thanks for your patience here.
I'm not totally sure, but it seems like the Action is not running in a valid git repo.  That is strange because it worked ok for me, but maybe that is a side effect of my other actions setup.  Let's try adding a step to checkout your code as the first step:
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

That did the trick @typpo!  Opened a PR for it, thanks for the support 👍

@typpo just going forward, it may be good to nice-ify this "not a git repository" failure with a try-catch that says please use actions/checkout before invoking this action


Not working with conda-build on Debian with "keyring.alt" package with prefix.dev channels

What happened?
When the following combination is tried:

Running conda-build
Using a prefix.dev channel
Running on Debian server
Using "keyring.alt"

conda auth results in the following error:
CondaAuthError: Unable to find authorization token for requests with channel

Conda Info
No response
Conda Config
No response
Conda list
No response
Additional Context
No response

@buhrmann,
Thanks for sharing this.
Unfortunately, conda auth can't actually read the command line arguments of conda-build. Therefore, you need to config the channels beforehand with the following command:
conda config --add channels https://repo.prefix.dev/graphext

When you run conda build now, it should pick up your custom channel and conda auth will now be able to use the appropriate token.
Please let me know if this works for you.


Stop Clio when cache has error

If successor table contains incorrect data:

contains deleted object in list
does not contain existing object in list

We should detect this ASAP and act before wrong data gets written to the DB.
For case 1, we can detect error here.
We shall stop Clio or disable cache to avoid writing more wrong data to successor table.
For case 2, we need shamap library to detect the corruption.

After we have shamap library in libxrpl then we can work on addressing case 2

Feature requested: https://github.com/XRPLF/rippled/issues/5038


Improve German translation

attachFromNextcloud: According to the source code change this translation is next to attachInline and attachAsLink, I assume the meaning is "Attach (how or from where)". If that applies, my suggested change should be more suitable.
attachedOK:

"Dokument" ("Document") seems wrong, should be likely "Datei" ("File"); file is more general and also applies e.g. to image files rather than just to (word-processing or PDF) documents.
"beigefügt" ("attached") is the wrong German translation, given that an attachment is "Anhang" in German, "attached" becomes "angehängt".

As ZBUG-3313 was raised by a customer during one of my projects (and the previous improved German translation with commit 276510a145d918088c55b87d11a39eab71b1e80f results from the same project), I would like to cross-check my here proposed translation on Monday with the customer first. And afterwards this likely needs a fixed release…

The customer approved the translation this morning (out-of-band).

@barrydegraaff, ping? Any chance for a review?


Change required role for !restart

Previous role was Moderator, new role is Bot Restarter

This is good, but I am doing db rewrite


Unmounted volume after logging out of macOS user account

Describe the bug
After logging out of macOS user account and logging back in, the Linux machine volume is unmounted.
We can still ssh to Linux machines but the volume is not accessible via ls or Finder.
Stopping and restarting Orbstack does not help.

[EDIT] Stopping and restarting Orbstack actually does solve the issue. Only restarting the Linux machine does not.

Rebooting macOS solves the issue.
To Reproduce
$ ls OrbStack/
README.txt  docker/     ubuntu/

Log out of macOS user account
Log back in
$ ls OrbStack
README.txt

Reboot
$ ls OrbStack/
README.txt  docker/     ubuntu/

Expected behavior
No response
Diagnostic report (required)
OrbStack info:
Version: 1.0.0
Commit: c43913566b3e18b25f38a8d5f70e535eb265bdb2 (v1.0.0)
System info:
macOS: 14.0 (23A344)
CPU: arm64, 12 cores
CPU model: Apple M2 Max
Model: Mac14,5
Memory: 64 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2023-09-28T15-55-47.305939Z.zip

Screenshots and additional context (optional)
No response

What do you mean by "exiting macOS user session and re-connecting"? Please share steps to reproduce.

I edited the issue to clarify. I meant: "logging out".

No need to reboot macOS for mounting to work again. It needs to restart orbstack (not the machine).

I can confirm. The directory ~/OrbStack/docker gets lost sometimes, and can only be reactivated through restarting Orb. Didn't know what actually triggers it - sleep mode may be an issue.

@lukey78 That's not related to this issue. Can you share a diagnostic report from Help > Upload Diagnostics next time it happens?

@kdrag0n see https://github.com/orbstack/orbstack/issues/836


mold: 1.0.1 -> 1.0.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/rui314/mold/releases.
meta.description for mold is: "A high performance drop-in replacement for existing unix linkers"
meta.homepage for mold is: "https://github.com/rui314/mold"
meta.changelog for mold is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/hksxlpa7c47qnc3ny8wcph836glcrhqn-mold-1.0.2/bin/ld.mold had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/hksxlpa7c47qnc3ny8wcph836glcrhqn-mold-1.0.2/bin/mold had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/hksxlpa7c47qnc3ny8wcph836glcrhqn-mold-1.0.2/bin/ld64.mold had a zero exit code or showed the expected version
0 of 3 passed binary check by having a zero exit code.
0 of 3 passed binary check by having the new version present in output.
found 1.0.2 with grep in /nix/store/hksxlpa7c47qnc3ny8wcph836glcrhqn-mold-1.0.2
found 1.0.2 in filename of file in /nix/store/hksxlpa7c47qnc3ny8wcph836glcrhqn-mold-1.0.2

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
mold

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/hksxlpa7c47qnc3ny8wcph836glcrhqn-mold-1.0.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A mold https://github.com/r-ryantm/nixpkgs/archive/5861f8e15d6cffaed0cb56f708caec2f4c72cccd.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/hksxlpa7c47qnc3ny8wcph836glcrhqn-mold-1.0.2
ls -la /nix/store/hksxlpa7c47qnc3ny8wcph836glcrhqn-mold-1.0.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.


Argument --length=0/--bytes=0 should be considered an error.

This one might be a bit pedantic, but a user requesting that hexyl print nothing seems like a user error. The entire point of hexyl is to print a binary preview of a file, and explicitly asking it not to defeats the purpose of using it in the first place.

Note: I'm doing a class assignment regarding creating tests (from scratch) for an open-source command line program, and I chose hexyl for it. You might have a couple more of these on the way, depending on what the assignment brings to light :)

Hm. I'm not sure if there is an actual use case for that, but it seems unlikely that someone uses --length=0 by accident and would be surprised by the behavior. Someone might call hexyl from a script which automatically computes a value for --length where 0 could be a valid possibility. Even if unlikely, I'm not sure if we should artificially restrict a perfectly valid execution of hexyl.

That's fair, I suppose scripts might have a use for it. I'm honestly just not a fan of printing an empty grid without providing an explanation for it. It comes off as slightly unintuitive, especially when computed through a script where I can't immediately see "oh, I set the length to 0".
As a solution, maybe a (disableable) warning could be shown rather than printing an empty grid?
Or it could probably be addressed in a more generic way by adding a header or indicator somewhere explaining that hexyl is "Showing 0 bytes of 58321".

I'm honestly just not a fan of printing an empty grid without providing an explanation for it, though

There is also --border=none which would print nothing at all. But okay, I see your point. Let's make it a hard error in that case and disallow anything but positive N.

Another point that I just came across was the error description for using --length=-1:

negative offset specified, but only positive offsets (counts) are accepted in this context

I'm basically going to summarize what's said above, in addition to stating my opinion here (for what it's worth). Sorry if this seems redundant. :)

I agree that, in general, a diagnostic for a non-zero non-positive length makes sense, and could be valuable to have by default. But I'm not sure if it's worth breaking people at this point. The current behavior isn't unreasonable, as @sharkdp has mentioned; IMO it does produce a logically consistent result. That all said, @sharkdp seems inclined to make this breaking change (at least in the case of --border=none, which I actually disagree with) and that's what matters in this context (since he's the primary maintainer of this repo).
In open source contexts with a large number of users (which I don't know is applicable here -- @sharkdp?), it's generally valuable to provide a transition path where behaviors that are changing in cases like these were relied upon before. It's hard to know who may have their flows broken by this, and having a deprecation period and/or a way to get back old behavior can be important for their experience. To elaborate on how I think this behavior should be changed:

--length={0,-1} should be a warning printed to stderr, but not an error in the sense that hexyl should stop printing the result. I can see at least a couple of situations where programatically generated calls to hexyl may be broken:

Elaborating on @sharkdp's : Some scripts or applications may find it easier (or even make sense) to fall back to generating a 0, rather than special-casing logic to determine whether to call hexyl or emit its own diagnostic.
A UI where showing empty content makes perfect sense. For example, a borderless display for a file preview pane like that found in ranger. This is a case where --border=none could actually make a lot of sense, because these sorts of applications/users may prefer that border style in their workflow.

A couple of orthogonal suggestions to ease this transition:

Add a flag to allow the error case to continue as currently implemented, i.e., "--allow-zero-length". This would be one way to implement disabling a warning,
Have a transition period from allow-by-default to warn-by-default, to use Rust upstream parlance for linting. I have no opinion on how long this should be, but this is a courteous way to allow users that stay up-to-date with their tools (i.e., rolling release distros like Arch Linux) the time to adapt their workflows.

Thoughts?

* But I'm not sure if it's worth breaking people at this point

I am always worried about breaking backwards-compatibility, but it seems rather unlikely to me that someone relies on this as a feature.

* with a large number of users (which I don't know is applicable here -- @sharkdp?)

Always a very hard question to answer. But judging from these statistics...

GitHub downloads: https://somsubhra.com/github-release-stats/?username=sharkdp&repository=hexyl
crates.io downloads: https://crates.io/crates/hexyl
https://formulae.brew.sh/formula/hexyl#default
https://pkgstats.archlinux.de/packages/hexyl

.. and from the fact that there are official packages for a number of package managers, I would guess that there are a few thousand users.

* Elaborating on [@sharkdp's ](https://github.com/sharkdp/hexyl/issues/106#issuecomment-716030260): Some scripts or applications may find it easier (or even make sense) to fall back to generating a `0`, rather than special-casing logic to determine whether to call `hexyl` or emit its own diagnostic.

:+1:

* A UI where showing empty content makes perfect sense. For example, a borderless display for a file preview pane like that found in [`ranger`](https://github.com/ranger/ranger). This is a case where `--border=none` could actually make a _lot_ of sense, because these sorts of applications/users may _prefer_ that border style in their workflow.

Excellent point.

Thoughts?

I suggest that we further support --length=0 without printing any warning or error. Negative lengths are not supported (and should not be).
I'm going to close the ticket, unless there are objections.


Unitful.jl to create Sequences, Phantoms, and Scanner types.

This would greatly improve the readability of the "Pulse Sequence" without needing to guess the units. Although we haven't tested it yet, it should not be difficult.

I think this is related to the goal of adding automatic differentiation.

For Unitful support
using Unitful
using Unitful: 𝐈, 𝐌, 𝐓, 𝐋
using Unitful: T, m, mT, s, ms, Hz, MHz
Base.show(io::IO, g::ValidGrad{QA, QT}) where {QA <: Quantity, QT <: Quantity} = begin
    printfield(g, f) = begin
        val = getfield(g, f)
        if eltype(val) <: QA && !all(abs.(val) .== zero(QA))
            return "$f=$(ustrip(val)) $(unit(QA))"
        elseif eltype(val) <: QT && !all(abs.(val) .== zero(QT))
            return "$f=$(ustrip(val)) $(unit(QT))"
        else
            return ""
        end
    end
    text = [printfield(g, f) for f in fieldnames(Grad)]
    text = join(text[text.!=""], ", ")
    print(io, "Grad($text)")
end

γ = 42.5774688MHz/T

# Defining gradient units
MagneticFieldGradient = Union{Quantity{T, 𝐈^-1*𝐌*𝐓^-2*𝐋^-1, U}, Level{L, S, Quantity{T, 𝐈^-1*𝐌*𝐓^-2*𝐋^-1, U}} where {L, S}} where {T, U}

# Promotion rules
Unitful.promote_to_derived()
Unitful.@derived_dimension BFieldGradient 𝐈^-1*𝐌*𝐓^-2*𝐋^-1 true
Unitful.@derived_dimension Frequency 𝐓^-1 true
Unitful.promote_unit(::S, ::T) where {S<:BFieldGradientFreeUnits, T<:BFieldGradientFreeUnits} = Unitful.T / Unitful.m
Unitful.promote_unit(::S, ::T) where {S<:FrequencyFreeUnits,      T<:FrequencyFreeUnits}      = Unitful.Hz
end


Line magic not found, even though Pixiedust database opened successfully on import

| => pip list | grep pixie
pixiedust                         1.1.15

Fairly new to Jupyter, so need a bit of help please.

%%pixie_debugger is a cell magic. It is required to be declared at the top of the cell. Putting import pixiedust statement in its own cell should fix your issue

Thank you!
Now the cell runs but without showing the debugger window, it just returns:

%%pixie_debugger show be the first line of the cell. even comment should not at the first cell
right code is:
%%pixie_debugger def test():       pass test()
wrong code is:
`
comment
%%pixie_debugger
def test():
pass
test()
`


Editing JSON, why are some key/value pairs grey?

Issue Type

Question
Description
When editing launch.json, I noticed that some key/value pairs are grey.  Most other keys are blue.  What does grey mean?

But I'm not sure 😬

These attributes are de-emphasized since the user doesn´t need to change them when customizing a launch configuration.


Implement a run command for Iridium

Is your feature request related to a problem? Please describe.
Just like we have an init command, we need a run or a start or similar command to execute from the Iridium CLI to ease the process of managing properties, and etc.
Describe the solution you'd like
I'd like a run command implemented in the Iridium CLI.  iridium run ....args.  It doesn't have to be exactly like this, it's only an idea at this point.  The CLI should reference the application.properties file int the conf folder of the distribution.
Describe alternatives you've considered
We can already run the jar as java -jar ...., it would be better if we bundled the run command in with the project for a common interface.
Additional context

Hi @joshfischer1108, I want to work on this. Could you please assign me this? Also will need some help to understand the exact requirement.

Hi @Durdush , we would appreciate the help, thank you!
The command would need to be added to the iridum-cli module.
I would start with getting a little familiar with how this module is setup, the tar.gz file it generates.  I'll have some time later today to write more requirements.

Ok.  Here are some terse instructions to get you going. I'll add more details as you go.  Assuming you are on OSX and in the root folder of the project.

To to use the cli

#build the project
$ mvn clean install
# untar the cli
$  tar -xzf iridium-cli/target/iridium-0.2.2-SNAPSHOT-bin.tar.gz

The untarred folder will have the structure as below.
# cd into distro folder
$ cd iridium-0.2.2-SNAPSHOT-bin/
# run tree to see the folders
$ tree
.
├── LICENSE
├── README.md
├── bin
│   ├── iridium
│   └── iridium.bat
├── bootIridium.sh
├── conf
│   ├── application-types.yaml
│   ├── application.properties <- this is the properties file you need to reference.

under the conf folder is an application.properties file you'll need when you execute the iridium-core-server-0.2.2-SNAPSHOT.jar under the lib folder.
To run the project you could do something like
java -jar iridium-core-server-0.2.2-SNAPSHOT.jar --spring.config.location=file:///Users/home/config/applicadtion.properties

The run command implementation can start in this file if you wish

Thanks for assigning and steps to start up.

Hi @joshfischer1108, i am stuck in some personal emergency So i could not inform you earlier. Sorry!!  also  I will not able to work on this in upcoming week, if that affects your timeline for this issue then Please assign this to some one else.

@Durdush Most importantly, I hope everything is ok.
If you still want to work on it, it's yours.  If you need some time before you can come back to it, this is fine too, just let me know.

Thank you very much @joshfischer1108. I am looking into this now.

Glad you are back, hope all is well. Looking forward to your solution 😄

@Durdush , did you ever get a chance to start on this?


v2 with compose, fresh install does not allow access to plex, sonarr, radarr configuration options

options for setting integrations is greyed out and cannot be clicked.
running on latest v2

I cannot configure plex either

Are you not able to configure the Plex options? Or is the communication with your server failing?

I run the compose on the same server as plex and its not detecting the plex server not allowing me to even click on the plex tab

It's not supposed to auto detect Plex, it should redirect you to the Plex settings screen on first boot. Once you've successfully configured your Plex server, the other options will become available.
What screen are you on when you open Maintainerr's UI? Can you share screenshots?

I‘m not sure if this is the same topic, but I have a similar problem with a fresh install of Maintainerr. Upon first boot, I do get redirected to the /settings page, but nothing renders.
@

Exacly this

Ah yes, you'll have to manually make sure the directory is actually read/writeable by the correct user.
This is documented, but perhaps i should add a bold font to it:

Yeah, my bad. I should have created the directory prior to spinning up the container for the first time. But like I mentioned, a simple chown fixed that.

But even if I start this creating a volume where the opt data is within the volume I get the same error.
Why do we have to mount the data volume?
Is this data volume the media?
Its not clear

The /opt/data directory contains your database and logs. You can start the application without it, but you’d lose all settings, rules and collections after each reboot.
If it’s still not working, i advise you to double check the permissions again. The app user needs full read/write access to the folder you mounted /opt/data to.

Im starting it with a docker volume the permissions should be r/w by default.

They should, but it doesn’t hurt to check. I suggest you try to exec in the container and create a file inside the /opt/data directory. Does that work? Also, is there a database file and a logs folder?
If that works, please paste your log here, perhaps the reason is in there.


Hot signing new design integration

Login is not login good now: https://sc2-dev-pr-76.herokuapp.com/login can you change the title to be big?

The page authorize also have small title, test here: https://sc2-dev-pr-76.herokuapp.com/oauth2/authorize?client_id=busy.app&redirect_uri=https%3A%2F%2Fnd.busy.org%2Fcallback&scope=

Title should be using same style than this one:

The title is not bold, we need it same before. Same than Authorize

Also the margin-bottom is too small, title and description are too much near, not same before. You can test original version if you unlog and go here: https://v2.steemconnect.com/oauth2/authorize?client_id=busy.app&redirect_uri=https%3A%2F%2Fbusy.org%2Fcallback&scope=

For the margin i'm talking about the login page:

Can you do it on this page too https://sc2-dev-pr-76.herokuapp.com/login ? @gregory-latinier


Maint: Upgrade Go version to patch CVEs

What
Upgrades go version to 1.23 to patch CVEs in net
Testing
Added second Go Build and Test stage to CI to build using 1.20.0 target, which is the SDK's min supported version since SDK version v0.1.21

Closing as CVEs are in standard lib, no SDK upgrade required, just Go version on running system


Converting PDF to Images

I am following this Wiki page to convert a PDF file to multiple images. However, I am seeing a few strange things on the way that rghost works.
For example, according to the Wiki, the following command will return an array of File objects:
pages = RGhost::Convert.new('/tmp/test.pdf').to :jpeg, :multipage => true, :range => 5..6

Yet I get an array of strings instead while the converted files get generated in my /tmp/ directory.
I am trying to find a way to specify the name of each file converted that gets created and where to put it in my file system, yet I can't find a way to do this in the Wiki. Can you help me?

what does come from puts pages.inspect?

@shairontoledo
This:
["/tmp/17879240-349300-1506537028_0002.jpeg", "/tmp/17879240-349300-1506537028_0001.jpeg"]

You can see that it is an array of strings:
> pages.first.class
=> String

Try to rename the file like:
range = 5..6

pages = RGhost::Convert.new('/tmp/test.pdf').to :jpeg, multipage: true, range: range
dest_dir = "/your/dir/here/"
files = range.to_a.zip(pages).map do |page_number, filename|
  dest_file = "#{dest_dir}/page_#{page_number}.jpeg"
  FileUtils.mv(filename, dest_file)
  File.open(dest_file)
end

@shairontoledo Seems like a very cumbersome way of achieving this.


integration: Allow using PR image for dnstester

This PR introduces a way to test changes to dnstester in a PR and on a fork. The idea is to save the dnstester image tag if changes are detected and pass it as a flag to integration tests. The push is disabled by default on forks and for external contributors by using PUSH_HELPERS secret.
Testing done
I tested the changes on a fork after setting PUSH_HELPERS = ENABLE_PUSH_HELPERS secret as:

Without custom PR image - logs
With custom PR image - logs

Todo

[ ] Create PUSH_HELPERS secret in the repository

Doesn't it need to be ghcr.io/inspektor-gadget/dnstester:latest in case the env variable is not defined?

Yep, I mixed it with the default value for the flag but it results in passing a broken flags. I updated the PR with the default value. Should work fine running tests locally now. Thanks for catching it!

Doesn't it need to be ghcr.io/inspektor-gadget/dnstester:latest in case the env variable is not defined?

Yep, I mixed it with the default value for the flag but it results in passing a broken flags. I updated the PR with the default value. Should work fine running tests locally now. Thanks for catching it!

Doesn't it need to be ghcr.io/inspektor-gadget/dnstester:latest in case the env variable is not defined?

Yep, I mixed it with the default value for the flag but it results in passing a broken flags. I updated the PR with the default value. Should work fine running tests locally now. Thanks for catching it!

Doesn't it need to be ghcr.io/inspektor-gadget/dnstester:latest in case the env variable is not defined?

Yep, I mixed it with the default value for the flag but it results in passing a broken flags. I updated the PR with the default value. Should work fine running tests locally now. Thanks for catching it!

Sorry for the spam. GitHub is going crazy for me! :D

TIL that it's possible to configure variables in a github repo -> https://docs.github.com/en/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository. It seems this is a better fit for this PR than using secrets. @mqasimsarfraz what do you think?

TIL that it's possible to configure variables in a github repo -> https://docs.github.com/en/actions/learn-github-actions/variables#creating-configuration-variables-for-a-repository. It seems this is a better fit for this PR than using secrets. @mqasimsarfraz what do you think?

Nice, yes that looks more suitable for our use case. Also, like secrets they aren't passed to pull request workflows from external contributors so behavior is same as well. Let me update the PR!


URL not working

v3.1
Actually, it seems that the URL is only failing to work with the -remote flag. I'll continue testing this. I'm not sure why it's not working.
--edit--
I think I've narrowed the problem down. When using discord alerts, the link fails. Possibly because discord is sending a request to the page before the user actually uses it?
So, the url fails to work when using the discord flag

I removed the link from the discord alert and it worked fine. That removes the functionality of the remote flag, but atleast I can receive discord alerts.
So, let me summarize
-discord flag breaks the cart URL with and without the remote flag.
-removing the url from the discord alert fixes the problem.

https://github.com/ianmarmour/nvidia-clerk/releases/tag/v3.2
These fix it


Update release.yml

Closing this pull request due to impossibility to automate this clean. Plugin architecture needs to be changed (binaries should be on nuget).

But yet, I will merge it so I have it for the future.


Moved kwargs to config

Description
What is the current behavior?
Currently, we need to modify the dag if we want to modify the behavior of load_file operator. This is not scalable since we need to run the same dag or all paths - native and non-natives.
closes: #884
What is the new behavior?
We can keep the kwargs that will be passed to load_file() operator in config.json in a new key "load_file_kwargs" as follows:
"databases": [{
    "name": "postgres",
    "params": {
      "conn_id": "postgres_conn_benchmark",
      "metadata": {
        "database": "postgres"
      }
    },
    "kwargs": {
      "use_native_support": True,
      "enable_native_fallback": False
    }
  }]

and pass this new value to load_file() operator.
Does this introduce a breaking change?
Checklist

[ ] We should be able to run benchmarking scripts for both native and non-native paths without modifying the dag.

@tatiana Yes I tested it locally.


co-delay command error

After I got the shortcut, I changed the command "convert" into "magick" according to the error message, and now another one appeared:
Error:
/Users/b4kik/Library/Group Containers/group.com.apple.shortcuts/Temporary/
com.apple.WorkflowKit.BackgroundShortcutRunner/5FCECD03-8CE5-4440-9FDE-41EDC6F63B7E:15:
i command not found: ffmpeg
magick: unable to open image 'co-delay': No such file or directory @ error/blob.c/OpenBlob/3596. magick: no decode delegate for this image format ''@ error/constitute.c/Readlmage/746.
Script:
PATH=/opt/homebrew/bin:/usr/bin/
require ffmpeg and imagemagick installed
set -e
videoFilename=$1
filename="${videoFilename%.*}"
tmpFilename="$filename.tmp.gif"
gifFilename="$filename.gif"
cf https://superuser.com/questions/556029/how-do-i-convert-a-video-to-gif-using-ffmpeg-with-reasonable-quality
filters="fps=10,scale=1000:-1:flags=lanczos,split[s0][s1];[s0]palettegen=max_colors=128[p];[s1][p]paletteuse=dither=bayer"
ffmpeg -i "$videoFilename" -vf "$filters" -c:v pam -f image2pipe - | magick co-delay 10 - -loop 0 -layers optimize "$gifFilename"
echo "GIF $gifFilename generated"
Anyone has such an issue?

Hi. Have you installed ffmpeg?

I run  brew install ffmpeg imagemagick again and it is working OK. Something must have gone wrong with the download of files.
Thank you for such a quick response!


Add KMS support to watsonx discovery for premium plan deployments

See https://github.com/terraform-ibm-modules/terraform-ibm-watsonx-discovery/pull/9#issuecomment-2548195761

Created support case - https://cloud.ibm.com/unifiedsupport/cases?number=CS4207546&new=true


Adding custom buttons

Is your feature request related to a problem? Please describe.
There are not a lot of buttons in Embellish right now.
Describe the solution you'd like
I have created these two buttons for Embellish, to give a great start to this project 🚀
It'd be great if you can assign this issue to me & I will create a pull request!

@guptasajal411 assigning this to you. Please follow the folder structure.


Request: switch from bcrypt to bcryptjs

For some reason, bcryptis causing installation issues on node 7. That's no fault of this module but it'd be great if bcryptjs was used instead because it has no dependencies.

The module was actually passwordless-mongostore and for some reason, I'm not having the problem anymore. Weird.