[SuperEditor] render username mentions e.g (@username)

Hi, @matthew-carroll @angelosilvestre any idea or code snippet on rendering username mentions in the editor e.g @username, thanks.

@abidex4yemi Could you please be more specific on what you are trying to achieve?

There won't be a dependable way to do this until we merge support for atomic commands.
Also, as @angelosilvestre implied, please ensure that tickets are filed and phrased as specific feature requests, or bug reproductions. We expect a much more detailed description than what's in this ticket. In general, tickets phrased like this one are liable to be closed as unactionable.

@matthew-carroll @angelosilvestre  I'm sorry for creating a duplicate issue, I'm trying to achieve the same result as explained in this ticket but with slight differences such that the editor renders mentioned user in read-only mode. see screenshot below

I saw your changes in this PR and I'm thinking the same approach used for linkify of hyperlinks in the editor would solve this problem but don't quite understand how to go about it.

@abidex4yemi So the goal for this ticket is just to apply specific formatting for the username mentions?

@angelosilvestre Yes and also make it clickable. here's a snippet to describe the expected result MatchText(       pattern: r"@([a-z][a-z0-9_]{4,31})",       renderWidget: ({required pattern, required text}) => Text(         text,         textDirection: TextDirection.ltr,         style: TextStyle(           decoration: TextDecoration.underline,         ),       ),       onTap: (String username) {         print(username.substring(1));       },     ),

@abidex4yemi This seems to be very similar to how we handle links. I think you would need the following:

Define your own attribution class to represent a user mention. You can take a look at LinkAttribution.
Apply this attribution to a piece of text. For example:

 final attribution = YourUserNameAttributionClass();

 ParagraphNode(
    id: DocumentEditor.createNodeId(),
    text: AttributedText(
      text: 'This is a @username mention',
      spans: AttributedSpans(
        attributions: [
          SpanMarker(attribution: attribution, offset: 10, markerType: SpanMarkerType.start),
          SpanMarker(attribution: attribution, offset: 18, markerType: SpanMarkerType.end),
        ],
      ),
    ),
  ),

Create a method to return the text styles based on the attributtions (you will need to handle all the attributions, e.g., bold, italic) :

TextStyle myStyleBuilder(Set<Attribution> attributions) {
   // return the desired TextStyle
}

Apply the formatting using a custom stylesheet:

SuperEditor(
  // other properties.
  stylesheet: defaultStylesheet.copyWith(
    inlineTextStyler: (Set<Attribution> attributions, TextStyle existingStyle) {
      return existingStyle.merge(
        myStyleBuilder(attributions),
      );
    },
  ),
);

To make it clickable you'll need to create a ContentTapDelegate and pass it to SuperEditor. You can take a look at LaunchLinkTapHandler, which handles hovering and tapping at links.
Please let me know if this works for you.

Thank you @angelosilvestre, will surely keep you posted.

@miguelcmedeiros @Jethro87 @transcendr @jmatth - We're now ready to begin work on at-mentions and hashtags. Would any of you like to help fund and direct this effort?

@matthew-carroll We're potentially interested in this milestone depending on the scope. For our use case we'd want an autocomplete menu for @-mentions, and ideally that functionality could be expanded into a generic API for displaying menus based on entered text. If this ticket is strictly for applying attributions when text starting with an @ is entered, then I think that can be accomplished well enough by copying + modifying the editor reaction that converts URLs to links.

@matthew-carroll we are interested in this feature.
We have 2 requirements from our side:

we need to customize the search popover;
in some cases we want to remove the tokenized text when a selection is made, i.e. when the users uses @-mentioning to change the assignee of a task.

@jmatth @miguelcmedeiros - It sounds like both of you are looking for popover integration, so we can add that to the requirements for the ticket.
@Jethro87 is out at the moment, but if he gets back before we finish this work then he can let us know if he needs it.
@transcendr - can you check with your team if this is something you need, and are willing to help fund for your goals?

@matthew-carroll I iwill certainly check and get back asap!

We've merged support for 3 types of tagging: stable tags, pattern tags, and action tags.
Stable tags have a composing stage and a committed stage. These are a good choice for user tagging.
Pattern tags are based on a trigger and other characters. They can be edited at any time. These are good for hash tags.
Action tags are composed, submitted, and then deleted. These tags represent a desired action, such as changing a node type, or assigning something to a user.


Adopt release-plz for release workflow

release-plz looks like a great way to take the manual pain (and error) out of the rust workspace package release process. We should seriously look at adopting it and integrating it into this project.

We're using release-plz for releases; closing this for now. In the future we might consider automating it, but this is good for now.


FI main to next

What kind of merge strategy are you planning to use? I don't remember what you ended up with last time.

Sticking with regular merges where the merge commit has multiple parents in order to preserve history.  This is also what the main Office codebase does for their main/feature branches.  They cited some considerations as scale increases so given the other options aren't particularly better this probably makes sense for us as well


iOS/tvOS: integrate Privacy reports into Solar2D

Privacy reports should be integrated before 1st of May.

https://www.wwdcnotes.com/notes/wwdc23/10060/
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api

Also update plugins to have xcprivacy & them all into Sim builds.

Hi. Any update on this? thanks.

Yes. There is a or for this. It is in testing #690


Git_branch in app.py for before v1.2.0 release deployments - Python 3.9 removesuffix

Describe the bug
I am trying to deploy data.all after  release v1.2.0 and i get the following error :
Traceback (most recent call last):
 File "./deploy/app.py", line 28, in <module>
  subprocess.Popen(['git', 'branch', '--show-current'], stdout=subprocess.PIPE)
AttributeError: 'str' object has no attribute 'removesuffix'

How to Reproduce
Trying to deploy with Python 3.8
Expected behavior
Smooth upgrade
Your project
No response
Screenshots
No response
OS
Mac
Python version
3.8
AWS data.all version
v.1.2.0
Additional context
No response

While we fix the issue, one alternative would be to replace removesuffix with rstrip() in the app.py when deploying


Xournal++ on Hyprland works properly only if scale is 1

Hyprland Version
 System/Version info
Hyprland, built from branch main at commit ce17961aad6f9164e5d026d19efd42b07b123bff dirty (keybinds: Added new dispatcher (sendshortcut) (6174)).
Date: Sat May 25 02:58:26 2024
Tag: v0.40.0-131-gce17961a, commits: 4737

flags: (if any)

System Information:
System name: Linux
Node name: archlinux
Release: 6.9.1-arch1-2
Version: #1 SMP PREEMPT_DYNAMIC Wed, 22 May 2024 13:47:07 +0000

GPU information:
64:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c2) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

Bug or Regression?
Bug
Description
The option "View -> Highlight cursor position" often, but not always, produces a pencil icon on a position different from where Xournal++ is actually writing.

But this bug occurs only if the scale is not equal to 1. In other words, the cursor in right on the path only if the scale is 1. I make an issue https://github.com/xournalpp/xournalpp/issues/5704 there, and this bug does not occur on Plasma Wayland with any scale, so I guess this is a bug from Hyprland.
Btw, I ran gtk3-demo --run=drawingarea on Hyprland with scale 1.25, and the position of cursor is correct.
How to reproduce

Install Xournal++ with latest version
set the scale to a non-one value (From my case, is 1.25)
draw something.

Crash reports, logs, images, videos
No response

Can you check git after commit 90f262aada21af9be1c5ccf89b8dc5e0d28478f1 ?

Can you check git after commit 90f262a ?

I compiled from commit 553232a, the bug still exists.

Fixed in df6ebe358b30ee7b49f296e05763e5e4b0edce98, Closing.


Feature/major donor enhancements

Critical Changes
Changes

Add steps to Opportunity Amount values
Use variables to help define the Opportunity amount values
Add instructions for running the recipe multiple times
Adjust Opportunity Stage values to match the Major Gift Sales Process
Update the reference for relating Engagement Plan to the Contact or Opportunity (commented out, but available as needed)
Add more realistic Engagement Plan tasks

Issues Updated
#107 (not all requirements completed)

Pause on this PR. @programmer2coder and I will be finishing this up this afternoon 😊


Enable access to files filter

Why these changes are being introduced:
GDT requires an access to files filter, which allows users to facet based on access to geodata files.
Relevant ticket(s):

GDT-140

How this addresses that need:
This enables the filter in the same manner we've established for other filters:

Adds it to the the FILTER_PARAMS constants in the Enhancer and QueryBuilder models
Adds it to the nice_labels method
Includes it in the TIMDEX search heredoc

Side effects of this change:

There is an additional requirement in GDT-140 to render the filter as checkboxes. That introduces a fair amount of complexity into the view layer, so it made sense to make that change separate for ease of code review.
We likely don't want this filter to appear in non-GDT apps, so we should update the ACTIVE_FILTERS env in those apps accordingly before this lands.
The instructions for the ACTIVE_FILTERS env in the README have been updated for clarity.

Developer

[x] All new ENV is documented in README
[ ] All new ENV has been added to Heroku Pipeline, Staging and Prod
[x] ANDI or Wave has been run in accordance to
our guide and
all issues introduced by these changes have been resolved or opened as new
issues (link to those issues in the Pull Request details above)
[x] Stakeholder approval has been confirmed (or is not needed)

Code Reviewer

[ ] The commit message is clear and follows our guidelines
(not just this pull request message)
[ ] There are appropriate tests covering any new functionality
[ ] The documentation has been updated or is unnecessary
[ ] The changes have been verified
[ ] New dependencies are appropriate or there were no changes

Requires database migrations?
NO
Includes new or updated dependencies?
NO

As I mentioned in the commit message, this is not the final shape that this feature will take, but turning the filter into a form is likely to be a substantial PR in itself. I'm seeking to land the minimal version because it doesn't break anything, and it will hopefully make this and the subsequent PR easier to review.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

3 of 3 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 98.872%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
526

Relevant Lines:
532

💛  - Coveralls


Need to do something with errors encountered during loading

Errors which happen while the exam is loading are caught, but just shown in a dialogue. The Loading bar should be replaced with something saying "Whoops!" and a way of copying out the full error message to email to us.

Wow, this has been in for a while. Closing.


[release-v1.11] Do not skip TestTargetBurstCapacity when dataplane-trust is not specified

What this PR does / why we need it:
This patch cherry-pick 43f7526
TestTargetBurstCapacity is skipped on v1.11 - see https://prow.ci.openshift.org/job-history/gs/origin-ci-test/logs/periodic-ci-openshift-knative-serving-release-v1.11-413-test-e2e-aws-ocp-413-continuous
Which issue(s) this PR fixes:
NONE
Does this PR needs for other branches:
NONE
Does this PR (patch) needs to update/drop in the future?:
No, upstream main branch fixed it.

/retest
infra is broken.

/retest


Populate the ownerAccountID in the allowances fields for owner account infos

Problem
ownerAccountID is left null for all allowance token types listed in the account info for an owner.
hbarAllowances=[HbarAllowance{ownerAccountId=null, spenderAccountId=0.0.1948, amount=10 ℏ}], tokenAllowances=[], tokenNftAllowances=[]}
Solution
Populate this field with the owner account ID
Alternatives
No response

Right now we're just deserializing the allowances we're given in the account info.  If the owner account ID is null, it's because the services layer is giving us allowances with null owner account IDs.  We can manually override that if that's what's desired, but I want to make clear that the current behavior is not a bug or an oversight in the SDK.


Feature Request: React Native Compatibility

React Native uses different rendering elements (Text, View, Flex, Button). Through the use of a library like Native Base, would be very cool/useful if this could compile on React Native as no such library exists for it.

That sounds like a great idea! Do you know of any examples of other libraries that support RN? I've had minimal exposure to RN so I wouldn't really know where to begin.

@enchorb I just released v6.0.0 with React Native compatibility. See the official compatibility package and the example.


Update Project

*Update project to latest dependencies and SDK.

@searchy2 sorry, there is no change for animation logic, i have to close the pr


Adding IoT Central swagger

Adding Azure IoT Central swagger to sample connectors folder.

@peolivei2 Can you please add the apiProperties file?

@mamurshe we don't have one. We just have a swagger.

@peolivei2 Please follow the documentation here and download the files using the CLI. Let me know if you have any question.
https://github.com/microsoft/PowerPlatformConnectors/tree/master/tools/paconn-cli


skipDocDirective does not work on fields

It would be useful to support skipDocDirective on field or alternatively to support another parameter like that for fields.
For example, I'm processing a schema that will later be post-processed at runtime by another library and that library will remove certain fields. It would be good to be able to express that and not have fields in the documentation that do not actually exist.

Fix released 1.16.6


API v1.2

Things to consider

Linters have to provide a name field

We have a config where the user can choose to show the name field all the time or when needed or off
all the time would mean that the name is shown regardless of the numbers of the providers for a syntax
when needed would mean that the name would only be shown when there's more than one linters on that grammar
off would hide the name no matter what

Linters will optionally set lintsDirectories flag to true

We will add an option in tree view to lint that specific directory
We will add a new tab in the tab container that will show errors in that specific directory (complex, eh! :muscle: )
The user will see an x icon on that tab that they can click to remove it
That icon will be deleted on restart/refresh

We all agree on the first one, 2nd one has my vote too but I would like to get your suggestions/thoughts on it.
/cc @atom-community/linter-contributors

:+1:

I don't know why you're calling it 1.2. The API is 1.0.0. If we're following semver and the name becomes required then it needs to be 2.0.0
lintsDirectories
Why does the user need the whole project linted? If you've been using a linter then files you don't have open should never have issues because you aren't committing code with lint errors. This leaves two possibilities 1) you're adding linting to an existing project 2) you've changed linting rules int he middle of an existing project. In my opinion both of these are exceptional circumstances where the user should solve it using external tools.
Alternatively, since we provide a standardized API someone could create a different project that consumes our linters and then runs them against the whole project. It would be very inefficient, but if you're only doing it when changing/adding linter configuration it doesn't matter much. If I were to design such a thing I'd have it iterate through the files of the project showing you editors where you have things to fix. When you fix the last lint error the editor can close and open the next file for you to work on.
If you do proceed with making it part of linter I think it's going to add more complexity than you think. How often should you lint the whole project? What happens when a file is modified outside of atom?How does the user ignore specific folders? Since JavaScript/CoffeeScript is often transpiled it produces a generated file that could, but should not be, linted. I'm sure there are more, but this is what I came up with in a few minutes.

I would just like to point quickly to issue #773. To summarize the differences between that and this: it would be really nice if wherever the name is showed, it could also show "No Linter Found" when, well, no linter is found for that file type.

I'd like to add a +1 for the "show which, if any, linter is being used" as per @wackywendell 's comment above.

What are you opinions about hover tooltips?
/cc @atom-community/linter-contributors

Some features have been implemented, others have been opened in separate issues, some have been discouraged. Closing this now.


Disable directory scan for now, it causes bad behavior when system

believes disk is fast while it is a spinning disk.
@geirst, please review
@baldersheim FYI

👍


Feature/preparing for next development cycle

come on, 38 files changed, I cannot believe everything else is OK. Question every goddman thing you can


Combine minikube and ocp scripts

Just adding a note on this: it would be nice if resources can use Kubernetes-native resources as the base wherever it can. For instance, OCP  now supports Ingress resource, so it could potentially be a time-saver to reuse that for both Kubernetes and OCP.
Also, making the script to work on any Kubernetes deployment (i.e. GKE, AKS or Digital ocean)  would be nice!

@lulf Agree 100%. We should definitely strive to do that. I would also like us to be able to run against any cluster with knative already installed (OCP or any other).

OCP now supports Ingress resource

Yes and no. Using ingress has two downsides:
a) It only can handle HTTP, and not TLS SNI
b) It doesn't work out of the box … you still need some manual setup with nodeports or loadbalancers
So I don't think using ingress for OCP has much benefit over routes.

Closing this now. We can open new issues for further improvements.


Treat Setting value with empty array string as empty array

Description
According to the documentation, to create a dedicated coordinating node , empty array ([]) should be set as node.roles setting in the opensearch.yml document. The problem is that when I pass the setting value "[]"(env variables are always strings) via an environment variable, OpenSearch's environment variable parser does not determine it as an empty array and uses it as a string of "[]". As a result, it was not possible to create a dedicated coordinating node using an environment variable.
This PR fixes this so that if a listSetting value that is "[]" + any whitespaces, it is treated as an empty array.
Related Issues
Resolves #3412

Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)
[ ] Public documentation issue/PR created

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

I'm concerned about the potential blast-radius of this change. Setting is used everywhere, so this may have unintended consequences. The string "[]" is not the same thing as the empty array.
Can we apply this logic only when reading settings from environment variables instead?

The change is in classListSetting, the subclass of Setting, and only applies to one of the static factory methods below it.
I think any settings which is an instance of ListSetting, expect its value to be either a yaml array or a comma-separated values string.
The only settings that instantiated by that certain factor method are affected by the change, so I don't think the blast-radius would be that large.
Also, the code that reads in the environment variable is located in ResolvePlaceholder, and I don't think it makes any checks or judgments about the content of the value of the retrieved environment variable. Rather, I'm concerned that reading the content, determining that it's an empty array of strings or something else and changing it might exceed its responsibility range.

@machenity could you please rebase against latest main? thank you

URL: https://build.ci.opensearch.org/job/gradle-check/28280/

Broken by https://github.com/opensearch-project/OpenSearch/pull/10696/files#r1364151268

@msfroh friendly ping please

❌ Gradle check result for 6f21088: FAILURE

https://github.com/opensearch-project/OpenSearch/issues/11208


Updated docker file

Removed packages that are not needed anymore because there in the vendor.

I am not sure, if we even need this Dockerfile.

No it's not necessary at this point seeing the dependency was removed. It could be fully removed if we want to. But we could leave it there for a while seeing we might be adding dependencies in the future.

@MyDigitalLife Can we please remove the file for now. We can always add it later, if we need to add dependencies.

@prateekgogia Sure, I'll try and do this tonight.


Added information on how to produce release libs

Added a section called "Producing Released Libraries".

Test FAILed.

Test PASSed.


How can I get the final Request object?

While testing, I want to make sure that I'm setting some headers properly. I can get access to the original Request object but it doesn't contain any headers added through default options or middleware. How can I get the final Request object?

You can add a middleware at the end of your handler stack. The tap middleware is a great way to peek into the state of a request at any given point in the stack: https://github.com/guzzle/guzzle/blob/master/src/Middleware.php#L124
use Psr7\Http\Message\RequestInterface;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Handler\CurlHandler;
use GuzzleHttp\Client;
use GuzzleHttp\Middleware;

$stack = new HandlerStack();
$stack->setHandler(new CurlHandler());

$stack->push(Middleware::tap(function (RequestInterface $request, array $options) {
    echo "I have access to the request and options!";
}));

$client = new Client(['handler' => $stack]);

Note that the order in which middleware is added to a handler stack is significant. Pushing the tap middleware last will ensure that it is the last thing to see a request. Shifting it to the front of the list will ensure that it sees the request first.


Use full text and synonyms

ajouter le champs job.raw
changer les requêtes
updater les tests unitaires

Codecov Report

Merging #18 into master will increase coverage by 0.21%.
The diff coverage is 84.61%.

@@            Coverage Diff             @@
##           master      #18      +/-   ##
==========================================
+ Coverage   95.48%   95.69%   +0.21%
==========================================
  Files           2        2
  Lines         177      186       +9
==========================================
+ Hits          169      178       +9
  Misses          8        8

Impacted Files
Coverage Δ

features/bootstrap/FeatureContext.php
100% <100%> (ø)
:arrow_up:

src/queryBuilder.php
94.77% <50%> (+0.06%)
:arrow_up:

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 d7b4fb9...b451b47. Read the comment docs.


DeviantArt custom user support

Ripme version: Inapplicable (but 1.5.9 used)
Java version:  Inapplicable (but Oracle Java SE 8 Update 144 x64 used)
Operating system:  Inapplicable (but Window$ 7 Ultimate SP1 x64 used)
Exact URL you were trying to rip when the problem occurred: https://astronerd-n7.deviantart.com/gallery/?catpath=/ https://t4l1-n7.deviantart.com/gallery/?catpath=/
Please include any additional information about how to reproduce the problem: People are starting to enable registered-users-only viewing for their stuff (no Core membership required), which when coupled with being blocked by the User is a total stopper. Support for an alternate account separate from RipMe's own just for ripping would solve this.

Expected Behavior
Do either of these, then rip normally:

When ripping a DA link for the first time in the current starting of RipMe, ask the User for a custom username and password to use in place of RipMe's own since RipMe's own one can't seem to be used.
Read the custom logins from the config file.

Actual Behavior
RipMe fails to find anything if everything is changed to registered-only, influenced by seemingly inability of using RipMe's own account.

Seems like cookies support could help here.


Accept certs/keys/cas as contents

Added ability to either pass certs/keys/cas as content (buffers, PEMs, etc) while preserving file path functionality.

+1

Thank you for your contribution. This will be a minor version bump.


Microg

Should it be added to the list?
If so, which category?

To be honest, I don't think so.
As far as I know without a root there is no need to do that. The only time is when you need some app to work with Google. But maybe I'm wrong.

You don't need to work with microg. For example calyxos ships calyxos without root of course.
Maybe it shouldn't be added as it is not just one app but a collection of apps


Remove captions from dashboard students table

Who is this PR for?
Discipline and Tardy Dashboard users
What problem does this PR fix?
Users see visual feedback when they have selected a subcategory or homeroom, making the caption above the students list less useful. Additionally, the caption is misleading when multiple filters are at work. cf #2173
What does this PR do?
removes the student list caption and adds color selection to the tardies dashboard (it was already present in absences and discipline)
Screenshot (if adding a client-side feature)

Checklists
Which features or pages does this PR touch?

[ ] Home page
[ ] Student Profile
[ ] Homeroom
[ ] Section
[ ] My Sections
[ ] My Notes
[ ] My Students
[ ] Student Report PDF
[ ] School Overview
[ ] Absences
[x] Tardies
[x] Discipline
[ ] Levels
[ ] Core

Does this PR use tests to help verify we can deploy these changes quickly and confidently?

[ ] Included specs for changes
[ ] Improved specs for existing code in need of better test coverage
[x] Manual testing made more sense here

@kevinrobinson tested on the (now two) dashboards that use this list and it looks good to go with the esc issues to be addressed later.

@edavidsonsawyer awesome, let's 🚢 👍 !

looks good in production! 🎉


Update Angular

Feature Request
Desired behaviour
Dockstore-ui2 should be using Angular 8 (probably too early for Angular 9) for 1.8.0
Other things to update:

ES2015 (make sure IE 11) still works
Akita

┆Issue is synchronized with this Jira Story
┆Issue Type: Story
┆Issue Number: DOCK-996

Follow up for others:

test ngx-lite/json-ld


It doesn't work and return errors: Error while obfuscating ...test.php: expected str, bytes or os.PathLike object, not list

i make test.php with this code:
<?php

class Database {
    private $pdo;

    public function __construct($dbname) {
        $this->pdo = new PDO("sqlite:$dbname");
        $this->createTable();
    }

    private function createTable() {
        $this->pdo->exec("CREATE TABLE IF NOT EXISTS books (
            id INTEGER PRIMARY KEY,
            title TEXT,
            author TEXT,
            year INTEGER
        )");
    }

    public function insertBook($title, $author, $year) {
        $stmt = $this->pdo->prepare("INSERT INTO books (title, author, year) VALUES (?, ?, ?)");
        $stmt->execute([$title, $author, $year]);
    }

    public function getBooks() {
        $stmt = $this->pdo->query("SELECT * FROM books");
        return $stmt->fetchAll(PDO::FETCH_ASSOC);
    }
}

function writeToFile($filename, $content) {
    file_put_contents($filename, $content);
}

function readFromFile($filename) {
    return file_get_contents($filename);
}

function formatBook($book) {
    return "Title: " . $book['title'] . ", Author: " . $book['author'] . ", Year: " . $book['year'];
}

$books = [
    ['title' => '1984', 'author' => 'George Orwell', 'year' => 1949],
    ['title' => 'To Kill a Mockingbird', 'author' => 'Harper Lee', 'year' => 1960]
];

$db = new Database('books.db');
foreach ($books as $book) {
    $db->insertBook($book['title'], $book['author'], $book['year']);
}

$allBooks = $db->getBooks();
$content = "";
foreach ($allBooks as $book) {
    $content .= formatBook($book) . "
";
}
writeToFile('books.txt', $content);

echo readFromFile('books.txt')."
";

    if (!extension_loaded('bolt')) {
        die('Error: The bolt extension is not loaded!');
    }
    define('4deeec90209f3805f67be0ec', '15290e997112a8a063dddb61');

now run this :

mrg@mrg-HP:/mnt/My/Home/www/Test/obfuscator/php-obfuscator$ ./start.sh
Welcome to the PHP Obfuscator!
Follow the prompts to obfuscate your PHP files.

Choose the mode for obfuscating your PHP files:
1: Single file
2: Multiple files
3: Entire project directory
Enter the mode number (1/2/3): 1
Enter the output directory path: /home/mrg/www/Test/encode/0/out
Enter file or directory paths to exclude (separated by a space) (you can skip this step):
Create backups of original PHP files? (y/n): y
Choose the obfuscation options:
Obfuscate variables? (y/n): y
Obfuscate functions? (y/n): y
Obfuscate classes? (y/n): y
Enter the PHP file path: /home/mrg/www/Test/encode/0/test.php
Error while obfuscating /home/mrg/www/Test/encode/0/test.php: expected str, bytes or os.PathLike object, not list
mrg@mrg-HP:/mnt/My/Home/www/Test/obfuscator/php-obfuscator$ ./start.sh
Welcome to the PHP Obfuscator!
Follow the prompts to obfuscate your PHP files.

Choose the mode for obfuscating your PHP files:
1: Single file
2: Multiple files
3: Entire project directory
Enter the mode number (1/2/3): 3
Enter the output directory path: /home/mrg/www/Test/encode/0/out
Enter file or directory paths to exclude (separated by a space) (you can skip this step):
Create backups of original PHP files? (y/n): y
Choose the obfuscation options:
Obfuscate variables? (y/n): y
Obfuscate functions? (y/n): y
Obfuscate classes? (y/n): y
Enter the project directory path: /home/mrg/www/Test/encode/0
Obfuscating:   0%|                                                                                | 0/1 [00:00<?, ?file/s]
Error while obfuscating /home/mrg/www/Test/encode/0/test.php: expected str, bytes or os.PathLike object, not list                                            | 0/1 [00:00<?, ?file/s]
Obfuscating: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1 [00:00<00:00, 875.27file/s]

Also, i repeated the path with the quotation it returned invalid path error:

i have done some changes:
in config file I put this:
# Configure colors for printing messages
YELLOW = '\033[93m'
BLUE = '\033[94m'
GREEN = '\033[92m'
RED = '\033[91m'
RESET = '\033[0m'

# Configure YakPro packages path
YAKPRO = "/home/mrg/www/Test/obfuscator/new/php-obfuscator/yakpro-po/yakpro-po.php"
# Log filename
log_filename = 'app.log'

Also, I changed this method:
def obfuscate_php(input_file, obfuscation_options, create_backup, output_directory):
    if create_backup:
        backup_file = f"{os.path.splitext(input_file)[0]}_backup.php"
        shutil.copy2(input_file, backup_file)
        logging.info(f"Created backup: {backup_file}")

    try:
        # Create the directory if it doesn't exist
        os.makedirs(output_directory, exist_ok=True)

        output_file = os.path.join(output_directory, f"obfuscated_{os.path.basename(input_file)}")
        logging.info(f"Obfuscating {input_file}")

        command = ["php", YAKPRO] + obfuscation_options + ["-o", output_file, input_file]
        call(command)

        print(f"{GREEN}Obfuscated file saved as {output_file}{RESET}")
        logging.info(f"Obfuscated {input_file} successfully")

    except Exception as e:
        logging.error(f"Error while obfuscating {input_file}: {e}")
        print(f"{RED}Error while obfuscating {input_file}: {e}{RESET}")

And I do this:
$ git clone --branch 4.x https://github.com/nikic/PHP-Parser.git
$ cd /home/mrg/www/Test/obfuscator/new/php-obfuscator/yakpro-po/PHP-Parser
$ git checkout 4.x

Now I get this output:

$ python3 main.py
Welcome to the PHP Obfuscator!
Follow the prompts to obfuscate your PHP files.

Choose the mode for obfuscating your PHP files:
1: Single file
2: Multiple files
3: Entire project directory
Enter the mode number (1/2/3): 1
Enter the output directory path: /home/mrg/www/Test/encode/0
Enter file or directory paths to exclude (separated by a space) (you can skip this step):
Create backups of original PHP files? (y/n): y
Choose the obfuscation options:
Obfuscate variables? (y/n): y
Obfuscate functions? (y/n): y
Obfuscate classes? (y/n): y
Enter the PHP file path: /home/mrg/www/Test/encode/test.php
Info:	Using [/mnt/My/Home/www/Test/obfuscator/new/php-obfuscator/yakpro-po/yakpro-po.cnf] Config File...
Info:	yakpro-po version = 2.0.14
Error:	Too much parameters are specified, I do not know how to deal with that!!!
Obfuscated file saved as /home/mrg/www/Test/encode/0/obfuscated_test.php

But no file was created. It only take a backup

@rikhtehgaran thank you for your feedback. Later today I will check and release a fix.

@rikhtehgaran the errors you are encountering seem to stem from two primary issues:
Invalid command type: we are constructing the YAKPRO command as a list, which is correct. However, when we pass this list to subprocess.call(), the list should contain only strings. If any element of the list is not a string, Python will raise an error similar to expected str, bytes or os.PathLike object, not list.
Improper handling of file paths: The error message regarding invalid file paths may be a result of incorrectly handling quoted file paths or improper input validation. If file paths contain spaces or special characters, they need to be handled appropriately.
I've updated the code, thinking the bugs are fixed. Please, check this commit:
ee6d727


Interpret undefined value as false

Currently, if I pass undefined  as value to the toggle button, it internally throws an error due to the call of toString() on undefined for the value of ariaChecked. This fix converts it to a boolean instead and renders that as a string automatically.

Undefined should not be allowed by validator. Using undefined on purpose is an anti-pattern in javascript and a huge source of bugs.
Two options here are:

do !!value for the value of your prop (in your code, not in plugin).
make sure validator does except only Bool values

Yes I agree, undefined shouldn't be passed, but if it happens to be passed, I don't think it should throw an exception from a random place in the code, which it currently does.
This PR is to address the exception. I'm fine with adding more strict checks to the validator as well.

The problem with !!value in the code that uses the component is that this doesn't work in conjunction with v-model. Every other input component I've encountered so far is fine with the value being "falsey", I think vue-js-toggle-button should also not enforce this.

I think this is the better approach then: 642680cd174fc33346ff12808bf37151ee6a102d

Yep, looks good to me 👍

Thanks @euvl !


Update CMORizers and recipes for ESMValCore v2.0.0

Before you start, please read our contribution guidelines.
Please discuss your idea with the development team before getting started, to avoid disappointment later. The way to do this is to open a new issue on GitHub. If you are planning to modify an existing functionality, please discuss it with the original author(s) by tagging them in the issue.

Tasks

[ ] Create an issue to discuss what you are going to do, if you haven't done so already (and add the link at the bottom)
[x] Give this pull request a descriptive title that can be used as a one line summary in a changelog
[ ] Make sure your code is composed of functions of no more than 50 lines and uses meaningful names for variables
[ ] Circle/CI tests pass. Status can be seen below your pull request. If the tests are failing, click the link to find out why.
[x] Preferably Codacy code quality checks pass, however a few remaining hard to solve Codacy issues are still acceptable. Status can be seen below your pull request. If there is an error, click the link to find out why. If you suspect Codacy may be wrong, please ask by commenting.
[ ] Please use yamllint to check that your YAML files do not contain mistakes
[ ] (Only if really necessary) Add any additional dependencies needed for the diagnostic script to setup.py, esmvaltool/install/R/r_requirements.txt or esmvaltool/install/Julia/Project.toml (depending on the language of your script) and also to package/meta.yaml for conda dependencies (includes Python and others, but not R/Julia)
[ ] If new dependencies are introduced, check that the license is compatible with Apache2.0

New recipe/diagnostic

[ ] Add documentation for the recipe to the doc/sphinx/source/recipes folder and add a new entry to index.rst
[ ] Add provenance information

Modified recipe/diagnostic

[ ] Update documentation for the recipe to the doc/sphinx/source/recipes folder
[ ] Update provenance information if needed
[ ] Assign the author(s) of the affected recipe(s) as reviewer(s)

New data reformatting script

[ ] Test the CMORized data using recipes/example/recipe_check_obs.yml, to make sure the CMOR checks pass without errors
[ ] Add the new dataset to the table in the documentation
[ ] Tag @mattiarighi in this pull request, so that the new dataset can be added to the OBS data pool at DKRZ and synchronized with CEDA-Jasmin

Modified data reformatting script

[ ] Test the CMORized data using recipes/example/recipe_check_obs.yml, to make sure the CMOR checks pass without errors
[ ] Tag @mattiarighi in this pull request, so that the updated dataset can be added to the OBS data pool at DKRZ and synchronized with CEDA-Jasmin

If you need help with any of the tasks above, please do not hesitate to ask by commenting in the issue or pull request.

Closes #issue_number

For this PR, esmvalcore is installed in develop mode from the branch v2.0.0.
With this PR, running python setup.py test and pytest tests/ locally result only one error as:
FLAKE8 - AttributeError: 'Application' object has no attribute 'parse_preliminary_options_and_args'
However, CI here complains about another error:
Too long with no output (exceeded 20m0s): context deadline exceeded

Thanks for making the pull request!

With this PR, running python setup.py test and pytest tests/ locally result only one error as:
FLAKE8 - AttributeError: 'Application' object has no attribute 'parse_preliminary_options_and_args'

This can be solved by upgrading the flake8 package so it matches the pytest-flake8 package.

However, CI here complains about another error:
Too long with no output (exceeded 20m0s): context deadline exceeded

This was an intermittent error, clicking the re-run button on CircleCI solved it.
The test are now failing (as expected) because they need the esmvalcore 2.0.0 package, which is not available on conda yet, because we haven't released it yet.

@mattiarighi Could you please test?

Successfully tested recipe_wenzel14jgr and a two cmorizers (both NCL and Python).


[Story] Review how to safely trigger Sonar scan from PRs created from forks

What product(s) is this story for?
Sage Monorepo
As a user, I want
No response
Description
Follow up of #2439
Ideas:

Create a dedicated GH workflow that can push scan reports to SonarCloud.io (what are the risks)?

Can this workflow we run for selected team and users?
Use GitHub label to authorize the execution of the workflow?
How can we use GitHub "manual authorization" to run GH workflows for outside collaborators?

Allow core members to develop from the official repo?

Acceptance criteria
No response
Tasks
No response
Anything else?
No response
Have you linked this story to a GitHub Project?

[X] I have linked this story to a GitHub Project and set its metadata.

Experiment: Use pull_request_target to enable PR from forks to run Sonar CLI

Note: Workflows triggered by pull_request_target events are run in the context of the base branch. Since the base branch is considered trusted, workflows triggered by these events will always run, regardless of approval settings. For more information about the pull_request_target event, see "Events that trigger workflows."

It looks like the workflow triggered by the PR from the fork with pull_request_target successfully accessed Sonar secret.

Done


Update readme.

RefindPlus should have removed the need for the remaining LodePNG hack from your build script as of today.
The one with DebugLog function raised by @startergo should have also been resolved.
You might want to check all the various hacks you have to make sure they are actually required.
I'll also suggest reviewing these in particular as the items they address should have been removed from the makefile:  https://github.com/xaionaro/edk2-builder-docker/blob/29e68057eb65db960174c1ec820a4ef03bce90d2/build-edk2.sh#L6-L25
You might want to also verify the need for this: https://github.com/xaionaro/edk2-builder-docker/blob/29e68057eb65db960174c1ec820a4ef03bce90d2/build-edk2.sh#L26-L27
Separately, you might want to consider amending the outdated readme on DockerHub to point your readme here instead so as not to need updating both.

I have another error during building at the brtfs drivers point. I can make the GCC5 compile if I change the files with the one's from rEFInd but then the XCODE5 build fails there. So currently it is either/or. You might want to take a look at it.

Sorry,  only dealt with the hacks that were added here to what I believe was working stuff before.
I presume something has changed to make it start to fail.
Not able to look into making GCC etc work etc as I build on Mac OS and have no issues there.
Only possible thing I can add is that you need to disable the StdLib/Include items, if active, when not building on Mac OS.
It is disabled by default in rEFInd, being Linux build based, and enabled by default in RefindPlus, being Mac OS build based.

Release builds fine, but Debug still errors:

Debug error
```
In file included from /home/edk2/edk2/MdePkg/Library/BasePrintLib/PrintLibInternal.h:22,
/home/edk2/edk2/OpenCorePkg/Library/OcDevicePathLib/OcDevicePathLib.c: In function 'InternalFileDevicePathsEqualWorker':
                 from /home/edk2/edk2/MdePkg/Library/BasePrintLib/PrintLibInternal.c:15:
/home/edk2/edk2/OpenCorePkg/Library/OcDevicePathLib/OcDevicePathLib.c:812:15: warning: implicit declaration of function 'CharToUpper' [-Wimplicit-function-declaration]
  812 |       Char1 = CharToUpper ((*FilePath1)->PathName[Clip1Index + Index]);
      |               ^~~~~~~~~~~
/home/edk2/edk2/MdePkg/Library/BasePrintLib/PrintLibInternal.c: In function 'BasePrintLibConvertValueToStringS':
/home/edk2/edk2/MdePkg/Include/Library/PcdLib.h:388:45: error: '_PCD_GET_MODE_32_PcdMaximumAsciiStringLength' undeclared (first use in this function)
  388 | #define PcdGet32(TokenName)                 _PCD_GET_MODE_32_##TokenName
      |                                             ^~~~~~~~~~~~~~~~~
/home/edk2/edk2/MdePkg/Library/BasePrintLib/PrintLibInternal.c:24:32: note: in expansion of macro 'PcdGet32'
   24 | #define ASCII_RSIZE_MAX       (PcdGet32 (PcdMaximumAsciiStringLength))
      |                                ^~~~~~~~
/home/edk2/edk2/MdePkg/Library/BasePrintLib/PrintLibInternal.c:377:9: note: in expansion of macro 'ASCII_RSIZE_MAX'
  377 |     if (ASCII_RSIZE_MAX != 0) {
      |         ^~~~~~~~~~~~~~~
/home/edk2/edk2/MdePkg/Include/Library/PcdLib.h:388:45: note: each undeclared identifier is reported only once for each function it appears in
  388 | #define PcdGet32(TokenName)                 _PCD_GET_MODE_32_##TokenName
      |                                             ^~~~~~~~~~~~~~~~~
/home/edk2/edk2/MdePkg/Library/BasePrintLib/PrintLibInternal.c:24:32: note: in expansion of macro 'PcdGet32'
   24 | #define ASCII_RSIZE_MAX       (PcdGet32 (PcdMaximumAsciiStringLength))
      |                                ^~~~~~~~
/home/edk2/edk2/MdePkg/Library/BasePrintLib/PrintLibInternal.c:377:9: note: in expansion of macro 'ASCII_RSIZE_MAX'
  377 |     if (ASCII_RSIZE_MAX != 0) {
      |         ^~~~~~~~~~~~~~~
/home/edk2/edk2/OpenCorePkg/Library/OcFileLib/FileProtocol.c: In function 'OcFindWritableFileSystem':
/home/edk2/edk2/OpenCorePkg/Library/OcFileLib/FileProtocol.c:229:7: warning: passing argument 3 of 'OcSafeFileOpen' from incompatible pointer type [-Wincompatible-pointer-types]
  229 |       L"octest.fil",
      |       ^~~~~~~~~~~~~
      |       |
      |       int *
In file included from /home/edk2/edk2/OpenCorePkg/Library/OcFileLib/FileProtocol.c:23:
/home/edk2/edk2/OpenCorePkg/Include/Acidanthera/Library/OcFileLib.h:116:32: note: expected 'const CHAR16 *' {aka 'const short unsigned int *'} but argument is of type 'int *'
  116 |   IN  CONST CHAR16            *FileName,
/home/edk2/edk2/MdePkg/Include/Library/PcdLib.h:388:45: error: '_PCD_GET_MODE_32_PcdMaximumUnicodeStringLength' undeclared (first use in this function)
  388 | #define PcdGet32(TokenName)                 _PCD_GET_MODE_32_##TokenName
      |                                             ^~~~~~~~~~~~~~~~~
/home/edk2/edk2/MdePkg/Library/BasePrintLib/PrintLibInternal.c:23:32: note: in expansion of macro 'PcdGet32'
   23 | #define RSIZE_MAX             (PcdGet32 (PcdMaximumUnicodeStringLength))
      |                                ^~~~~~~~
/home/edk2/edk2/MdePkg/Library/BasePrintLib/PrintLibInternal.c:384:9: note: in expansion of macro 'RSIZE_MAX'
  384 |     if (RSIZE_MAX != 0) {
      |         ^~~~~~~~~
make: *** [GNUmakefile:350: /home/edk2/Build/RefindPlus/DEBUG_GCC5/X64/OpenCorePkg/Library/OcDevicePathLib/OcDevicePathLib/OUTPUT/OcDevicePathLib.obj] Error 1
build.py...
: error 7000: Failed to execute command
make tbuild [/home/edk2/Build/RefindPlus/DEBUG_GCC5/X64/OpenCorePkg/Library/OcDevicePathLib/OcDevicePathLib]
"gcc" -Wno-error -Os -DEFIX64 -D__MAKEWITH_TIANO -DREFIT_DEBUG=1 -Wno-error -c -o /home/edk2/Build/RefindPlus/DEBUG_GCC5/X64/MdePkg/Library/BaseLib/BaseLib/OUTPUT/./CheckSum.obj -I/home/edk2/edk2/MdePkg/Library/BaseLib/X64 -I/home/edk2/edk2/MdePkg/Library/BaseLib -I/home/edk2/Build/RefindPlus/DEBUG_GCC5/X64/MdePkg/Library/BaseLib/BaseLib/DEBUG -I/home/edk2/edk2/MdePkg -I/home/edk2/edk2/MdePkg/Include -I/home/edk2/edk2/MdePkg/Include/X64 /home/edk2/edk2/MdePkg/Library/BaseLib/CheckSum.c
build.py...
: error 7000: Failed to execute command
make tbuild [/home/edk2/Build/RefindPlus/DEBUG_GCC5/X64/MdePkg/Library/BasePrintLib/BasePrintLib]
build.py...
: error 7000: Failed to execute command
make tbuild [/home/edk2/Build/RefindPlus/DEBUG_GCC5/X64/MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib]
build.py...
: error 7000: Failed to execute command
make tbuild [/home/edk2/Build/RefindPlus/DEBUG_GCC5/X64/OpenCorePkg/Library/OcGuardLib/OcGuardLib]
build.py...
: error 7000: Failed to execute command
make tbuild [/home/edk2/Build/RefindPlus/DEBUG_GCC5/X64/OpenCorePkg/Library/OcFileLib/OcFileLib]
build.py...
: error 7000: Failed to execute command
make tbuild [/home/edk2/Build/RefindPlus/DEBUG_GCC5/X64/MdePkg/Library/BaseLib/BaseLib]
build.py...
: error F002: Failed to build module
/home/edk2/edk2/OpenCorePkg/Library/OcDevicePathLib/OcDevicePathLib.inf [X64, GCC5, DEBUG]

</details>


IndexError in modules/resample_benchmark.ipynb

Running ./modules/resample_benchmark.ipynb
Checking PEP8 compliance...
Running notebook...
MONAI version: 1.3.1+2.g66a2fae4
Numpy version: 1.24.4
Pytorch version: 2.3.0+cu121
MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False
MONAI rev id: 66a2fae406f8d83a4421edd86a04fa787dbbd091
MONAI __file__: /usr/local/lib/python3.10/dist-packages/monai/__init__.py

Optional dependencies:
Pytorch Ignite version: 0.4.11
ITK version: 5.4.0
Nibabel version: 5.2.1
scikit-image version: 0.19.3
scipy version: 1.12.0
Pillow version: 7.0.0
Tensorboard version: 2.16.2
gdown version: 5.2.0
TorchVision version: 0.18.0+cu121
tqdm version: 4.66.1
lmdb version: 1.4.1
psutil version: 5.9.4
pandas version: 1.5.3
einops version: 0.7.0
transformers version: 4.40.2
mlflow version: 2.13.0
pynrrd version: 1.0.0
clearml version: 1.16.2rc0

For details about installing the optional dependencies, please visit:
    https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies

papermill  --progress-bar --log-output -k python3
/usr/local/lib/python3.10/dist-packages/papermill/iorw.py:149: UserWarning: the file is not specified with any extension : -
  warnings.warn(f"the file is not specified with any extension : {os.path.basename(path)}")

Executing:   0%|          | 0/34 [00:00<?, ?cell/s]
Executing:   3%|▎         | 1/34 [00:01<00:37,  1.14s/cell]
Executing:  12%|█▏        | 4/34 [00:29<03:55,  7.87s/cell]
Executing:  18%|█▊        | 6/34 [00:36<02:48,  6.03s/cell]
Executing:  29%|██▉       | 10/34 [00:38<01:09,  2.89s/cell]
Executing:  41%|████      | 14/34 [00:38<00:32,  1.62s/cell]
Executing:  53%|█████▎    | 18/34 [00:38<00:16,  1.01s/cell]
Executing:  71%|███████   | 24/34 [00:38<00:05,  1.75cell/s]
Executing:  76%|███████▋  | 26/34 [00:39<00:04,  1.98cell/s]
Executing:  82%|████████▏ | 28/34 [00:43<00:05,  1.12cell/s]
Executing:  88%|████████▊ | 30/34 [00:45<00:03,  1.23cell/s]
Executing:  88%|████████▊ | 30/34 [00:47<00:06,  1.57s/cell]
/usr/local/lib/python3.10/dist-packages/papermill/iorw.py:149: UserWarning: the file is not specified with any extension : -
  warnings.warn(f"the file is not specified with any extension : {os.path.basename(path)}")
Traceback (most recent call last):
  File "/usr/local/bin/papermill", line 8, in <module>
    sys.exit(papermill())
  File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.10/dist-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/papermill/cli.py", line 235, in papermill
    execute_notebook(
  File "/usr/local/lib/python3.10/dist-packages/papermill/execute.py", line 131, in execute_notebook
    raise_for_execution_errors(nb, output_path)
  File "/usr/local/lib/python3.10/dist-packages/papermill/execute.py", line 251, in raise_for_execution_errors
    raise error
papermill.exceptions.PapermillExecutionError:
---------------------------------------------------------------------------
Exception encountered at "In [14]":
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
Cell In[14], line 7
      5 row[1].imshow(monai_warped_img[d])
      6 row[1].axis("off")
----> 7 row[2].imshow(itk_warped_img[d])
      8 row[2].axis("off")
     10 if i == 0:

IndexError: too many indices for array: array is 0-dimensional, but 1 were indexed

real	0m47.902s
user	0m56.003s
sys	0m20.942s
Check failed!

Like an issue from https://pypi.org/project/itk/#history. Will take a look later.


Preload stylesheet tags differ from vite preload stylesheet causing CORS issue from cache

Description 📖
vite_javascript_tag injects stylesheet tags using crossorigin: anonymous see here.  Setting crossorigin on the stylesheet tag is fine, except that it conflicts with how vite's preload-helper injects stylesheet link tags where they don't a crossOrigin attribute on the link tag for css resources.
Example:
<!--Vite-Rails renders-->
<link rel="stylesheet" crossorigin="anonymous" href="//example.com/application.f372e162.css" media="screen">
<!--Vite.js preload-helper injects-->
<link rel="stylesheet" href="//example.com/application.f372e162.css">

This can cause an issue with browser caching, where the first link tag will request the stylesheet with with an Origin header set (because of the crossorigin attribute is set), but then the second request (the link injected from vite's preload-helper) will request the the same resource but since crossorigin isn't present on the <link> tag, the origin header isn't present, causing the browser to cache the response without access-control-allow-origin header present.
When the page is refreshed the link tag that had crossorigin="anonymous" set will not succeed due to the cached response not including Access-Control-Allow-Origin.
This can be solved from the server by ensuring  Vary: Origin is set in the header, but that will actually cause the same resource to be fetched twice and having two separate cache entries.
We were able to work around this issue by using the skip_style_tags: true option with vite_javascript_tag and then using a stylesheet_link_tag(*ViteRuby.instance.manifest.resolve_entries("application", type: :javascript)[:stylesheets]). By not including a crossorigin attribute we are now injecting a link tag that is compatible with vite preload-helper.
I opened the issue here since vite-ruby depends on vite. This project might be doing the correct thing, but either way there is an inconsistency.
Thank you

@smdern Thanks for reporting!
Vite Ruby should work well with Vite's defaults, so it makes sense to avoid adding the crossorigin attribute to the stylesheets.
Let me know if you would be interested in making a PR.

Yeah, I can put together a PR. Probably won't happen until early nest week. If you're in a position to make the change sooner, I won't be offended ;)
Thank you for the quick response.

https://github.com/ElMassimo/vite_ruby/pull/190 should resolve this issue.

Thanks again! Released in<EMAIL_ADDRESS>

No problem. Thank you for the heads-up with the release.


Support for Lambda backed custom resources with shorthand

Currently cfndsl does not support short hand for custom resources so it gets very ugly. An idea (Which I plan to raise a PR when I get time) would be not to validate anything thats inside of a CloudFormation_CustomResource.
If you have a look ServiceToken works fine?

It's a little harder than simple not validating: the methods need to be defined on the custom resource object. Allowing people to type in whatever and simply accepting could lead to a lot of weird errors, and strange behavior.
If you talking about shorthanding the ServiceToken property itself, I guess I would like to see suggestions for helper methods that are both general enough for most use-cases and actually shorten the syntax significantly.
I've used CustomResources a bit, and while I agree they can be pretty ugly, we are running close the edge of what we can really improve there.

Hm ServiceToken is fine short hand as it currently is, Im not sure how to really approach this either maybe even support a property hash or something in there?
Properties {
'foo' => 'bar',
'a' => 'b'
}

Still looks nicer than Property heh

That is doable, and I actually had to double-check that it wasn't already possible. It fits the singularizing method definitions we already use, so nothing surprising. I can't imagine it's too much work to make Properties work for every resource.

Im not to fussed just seems nicer than Property('xxx', 'xxx')


Create es_es.json

Spanish_Spain language file updated for Better PVP Mod v22.12.0
Full changelog: http://c4br3r4.es/index.php?topic=398.0

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thank you very much! Going to review it when I have time.

The file is supposed to be a .lang, not a .json. Please convert it so I can review the changes.

I have moved the minimap lines to a separate repository, but don't worry, you can keep working on this file as a whole. I'll separate everything myself after the merge.


setVersion() should also accept other version format, not just x.y.z.

Currently, setVersion() uses the regex check to only accept x.y.z.
var regex = new RegExp('^[0-9]+\.[0-9]+\.[0-9]+$');

However, if based on semver, it should also support pre-release version #, like 1.0.0-alpha.1.

It's based upon the documentation of cordova itself.

The <widget> element's id attribute provides the app's reverse-domain identifier, and the version its full version number expressed in major/minor/patch notation.

Do you have some docs where it states it accepts pre-release versions?

Although in the final app submission, it only accepts x.y.x format, in the actual practice, it still gets chance to use a pre-release version #.
After assigning version to a pre-release #, it can still build the app successfully.
I would recommand to use semver.valid() to help validate the version #. - https://github.com/npm/node-semver

So you are able to sign the application with a pre-release version but you are not able to submit it to the store?

So you are able to sign the application with a pre-release version but you are not able to submit it to the store? And what about beta testing via the app store or testflight?
Have to check this first. I don't want people to be able to use it and then getting an error when they try to publish the application in beta or in release. I don't see the point of using a pre-release version if it fails in the store.

As far as I know for the iOS development,

Since now Testflight has been integrated into iTunes Connect and all of the beta builds are organized by each of the "versions", it has to be following the official rule, which can be x.y or x.y.z.
However, when doing In-house app build (for both test and release), since it is handled per each organization, it can actually support a more types of version, like x.y.x-beta.u.

Not sure about how Android works today.

I'm a little late here, but I've recently started leveraging this module in my Cordova build process. I too would like to see semver support for use in our internal pre-release builds. My suggestion would be to add an optional second argument (e.g. 'allowSemver' or 'relaxVersionCheck' or 'allowPreReleaseTags') to this function that could be used to relax the version checking to allow for pre-release tags. Then it's up to the developer to ensure that the versions they publish are valid for the environment they are publishing too.
Just a suggestion. I've worked around the problem for our internal builds.

I agree. Don't have the time to work on this now but I'll accept a PR. If someone takes this, allowSemver would to unless someone comes up with something better.

I submitted pr #20 to address this

I'd like to use semver for production builds, but for any other type I'd like to use output of git describe, as outlined in these articles:

Configuring Android Project — Version Name & Code
Using git to generate versionName and versionCode for Android apps.

versionName could then be for example 1.0.0-beta.3-11-gcfb267d-dirty
While it's impossible to come up with validation that would fit any developer need, I'm for a flag that would disable validation of versionName element

In fact, SemVer 2.0.0 allows appending build metadata so the example would be 1.0.0-beta.3+11.gcfb267d.dirty


Unnecessary games.json saving causing lag spikes

Describe the bug
After launching Phoenix from Xcode, I observed the [INFO]: 'games.json' updated successfully. message popping up multiple times in the console. Those messages corresponded with lag spikes which are especially noticeable while scrolling in the detail view. This only happens when I have automatic detection enabled, so I suspect that it's happening because the update function is being called every time Phoenix checks for a game, rather than only when a new game is detected.
To Reproduce
Steps to reproduce the behavior:

Open Phoenix (From Xcode if you want to see the logs live)
Make sure that automatic game detection is on and restart if it wasn't already. (Sometimes you have to restart multiple times)
Continuously scroll up and down in the detail view while watching the logs
You'll notice that the lag spikes happen at the same time as the update message

Expected behavior
games.json should only be updated when I actually edit a game, or if a new one is detected, not every time an already detected game is checked.
Screenshots
(sorry the video was too big to upload directly)
https://drive.google.com/file/d/1LJStPyNHHlnwGMjnOBhvbWvYut_YOeZo/view?usp=sharing
Logs
log_2024-02-27 14:04:31.729000.log
Desktop (please complete the following information):

macOS Version: macOS Sonoma 14.3.1
Phoenix Version: v0.1.5 (20)

Additional context
N/A

I think part of the problem may be related to this code block in GameViewModel.swift:
func loadGames() -> [Game] {
    Task {
        var steamGameNames: Set<String> = []
        var crossoverGameNames: Set<String> = []

        if Defaults[.steamDetection] {
            steamGameNames = await detectSteamGames()
        }

        if Defaults[.crossOverDetection] {
            crossoverGameNames = await detectCrossoverGames()
        }

        await compareSteamAndCrossoverGames(steamGameNames: steamGameNames, crossoverGameNames: crossoverGameNames)
    }

    let res = loadGamesFromJSON()
    return res.games
}

The detect functions always return everything they find, so compareSteamAndCrossoverGames() has to check every detected game every time Phoenix is launched.

Fixed in #139


[Admin/Команда] The same position is saved two and more times when clicking more than 1 time on the "Зберегти" button

Environment: Windows 11 Home 23H2, Microsoft Edge 126.0.2592.113, Chrome 127.0.6533.72.
Reproducible: always
Build found: 1e8efaf
Preconditions

The user is logged in as an admin on the Стріткод page.
The 'Команда' page in the left menu is opened.
At least one team member has been added.

Steps to reproduce

Click on the "Edit" button.
Add at least one new position.
Click on the "Зберегти" button more than one time quickly, before the "Члена команди успішно додано/оновлено!" message is appeared.
Close the modal window and repeat step 1.
Open the "Едітор" page in the left menu and click on the "Позиції" tab.

Actual result

The newly added position is displayed in the modal window only once.
The newly added position is displayed in the position list on the "Едітор" page more than once.

Expected result

The newly added positions are displayed in the modal window only once.
The newly added positions are displayed in the position list on the "Едітор" page only once.

User story and test case links
User story #834
[Test case] #1038

tests needed


The meaning of preprocess_cameras.py

I've got the sense that world_mat_ is the projection matrix converting 3d world coordinates to 2d pixel image coordinates; 'scale_mat_' is the normalization transform to move and scale the 3d object in world space to let it be centered at the origin and inside a unit sphere.
My question is why do we need to do that in such a sophisticated way? I checked the normalization matrix on DTU and data_BlendedMVS, It seems that for each object the normalization matrices are the same for all views. Then what kind of scenarios are this preprocess for? Thank you :-)

@013292 i dont want to scale the 3d object, how can i revise the code?


For the type pub struct A(pub B) in Dart, use either B or class A { final B value; }.

Is your feature request related to a problem? Please describe.
Just like the title says.

Looks reasonable! (I prefer the latter, since that's partially why people need newtype pattern). Feel free to PR, alternatively I will work on it in the next batch.

Is your feature request related to a problem? Please describe. Just like the title says.

I have a similar issue:
@sealed
class FrSerialport extends RustOpaque {
FrSerialport.dcoDecode(List wire)
: super.dcoDecode(wire, _kStaticData);
FrSerialport.sseDecode(int ptr, int externalSizeOnNative)
: super.sseDecode(ptr, externalSizeOnNative, _kStaticData);
static final _kStaticData = RustArcStaticData(
rustArcIncrementStrongCount:
RustLib.instance.api.rust_arc_increment_strong_count_FrSerialport,
rustArcDecrementStrongCount:
RustLib.instance.api.rust_arc_decrement_strong_count_FrSerialport,
rustArcDecrementStrongCountPtr:
RustLib.instance.api.rust_arc_decrement_strong_count_FrSerialportPtr,
);
static Future connect(
{required String portName, dynamic hint}) =>
RustLib.instance.api.frSerialportConnect(portName: portName, hint: hint);
static Future<List> getPorts({dynamic hint}) =>
RustLib.instance.api.frSerialportGetPorts(hint: hint);
Future get({dynamic hint}) => RustLib.instance.api.frSerialportGet(
that: this,
);
Future send({required String data, dynamic hint}) =>
RustLib.instance.api.frSerialportSend(
that: this,
data: data,
);
}
In the above code, i can only access FrSerialport.connect and FrSerialport.getPorts but i can't access FrSerialport.get and FrSerialport.send.
I noticed it's all the methods that take in self as an argument are the ones i can't access.
Please, what is the way out of this issue. is there a solution to it already?

In the above code, i can only access FrSerialport.connect and FrSerialport.getPorts but i can't access FrSerialport.get and FrSerialport.send.
I noticed it's all the methods that take in self as an argument are the ones i can't access.

@Zacchaeus-Oluwole Hi, could you please create a separate issue and provide a minimal reproducible sample? Without the corresponding Rust code it is not easy to say what is going on :/

Alright,I will do that. Thank you

You are welcome

It seems that this is already supported. For example, in the tests:

Thus, I guess your question is "why it is opaque instead of non-opaque". Thus try to put #[frb(non_opaque)] on it.
Feel free to open if this does not solve your question!


fixed bug in topgen.py with multiple portalReaders and portalWriters

This fixed a syntax error in the generated Top.bsv when my module has multiple vectors of MemReadClients in its interface.

I'm sure this was a case we never thought of. Looks OK, let's see how it goes.

Just for reference, this is the interface:
interface ProcConnectal;
    interface ProcControlRequest procControlRequest;
    interface HostInterfaceRequest hostInterfaceRequest;
    interface PerfMonitorRequest perfMonitorRequest;
    interface ExternalMMIOResponse externalMMIOResponse;
    interface Vector#(1, MemReadClient#(64)) dmaReadClient;
    interface Vector#(1, MemWriteClient#(64)) dmaWriteClient;
    interface Vector#(1, MemReadClient#(64)) romReadClient;
endinterface

This is in the old generated code:
   interface readers = take(append(lProcConnectal.dmaReadClient, lProcConnectal.romReadClient, nullReaders));
   interface writers = take(append(lProcConnectal.dmaWriteClient, nullWriters));

It produces this error:
Error: "/home/acwright/riscy-release-candidate/procs/RV64G_multicycle_merged/verilator/generatedbsv/Top.bsv", line 86, column 29: (T0081)
  Wrong number of arguments in the use of the following function:
    append

  The function expects 2 arguments but was used with 3 arguments.

  Expected type:
    function Vector::Vector#(d__, b__) f(Vector::Vector#(a__, b__) x1, Vector::Vector#(c__, b__) x2)

  Inferred type:
    function Vector::Vector#(h__, MemTypes::MemReadClient#(ConnectalConfig::DataBusWidth)) f(e__ x1,
                                                                                f__ x2,
                                                                                g__ x3)

And this is the generated code after the fix:
   interface readers = take(append(lProcConnectal.dmaReadClient,append(lProcConnectal.romReadClient,nullReaders)));
   interface writers = take(append(lProcConnectal.dmaWriteClient,nullWriters));

I would usually combine the read clients, but I see the value in keeping them separate. Thanks for the patch!


⚠ Adacta-fintech.com has degraded performance

In dc1712c, Adacta-fintech.com (https://www.adacta-fintech.com) experienced degraded performance:

HTTP code: 200
Response time: 1353 ms

Resolved: Adacta-fintech.com performance has improved in 121f1a8 after 7 minutes.


Update for CUDA 12.4.1

xref: https://github.com/conda-forge/cuda-feedstock/issues/23

@conda-forge-admin , please re-render

One of the Travis CI builds failed on main. Restarted here

Missing packages are up. Just need to mirror


Create Salt 2.0 'kitchen sink' sticker sheet

In order to see a complete view of all components and the effects of theme changes a 'kitchen sink' sticker sheet is required. This will also provide a useful resource for testing for accessibility (color contrast) #2844

File has been created with only Salt 2.0 libraries used.
All current components are displayed
Masonry of small design examples created
Variables driven mode switching demonstrated.

Assigning to Darrin in order for full page design examples to be added to the file.


increase workers (bsc#1048533)

this allows for more concurrent api requests
a worker spawns a copy of the velum process
Signed-off-by: Maximilian Meister<EMAIL_ADDRESS>Note
depending on how much RAM is used by velum, a second process (worker) will consume more RAM as well, so we might need to adapt the recommendation for the admin node (although i think it shouldn't matter much as a puma process has around 168MB with 2 workers)

successfully tested with https://github.com/kubic-project/e2e-tests/pull/73 and a commented out https://github.com/kubic-project/e2e-tests/pull/73/files#diff-30c7df7371e7682044d6bdc79e709692R26

I have also reduced the workers again from the default of 2 to 1 for the autoyast velum instance
https://github.com/kubic-project/caasp-container-manifests/pull/81

@mssola @flavio added the TODO comment

 Bug 1048533 - Velum connection limit leading to lockups

Backport to 1.0 in https://github.com/kubic-project/velum/pull/260


Change build.scripts to scripts.build

This way i can also add run scripts, test scripts and install scripts

ok so i just saw that the way i setup the thingy i don't need that. see config.py for reference


Swift PM Support

Choosing "Up to next version" or similar when trying to install the package won't work. Specifying the branch "master" though does work.

Of course!
I just added the release 0.1.2 which has a Package.swift


Adding config attribute within public dashboard views

Having these data available under public pages, we could manage how to load fonts under onpremise or com-hosted instances, for example.
Fixes #3597.

Frontend tests were OK :+1: (details)

cc @javisantana

Could you check it @viddo?

Sure, as soon as you check my PR :trollface:

:es:


VMP Sample Bugg

The export symbol RVAs are in virtual space and therefore not shown. I removed this restriction.
Fixed in release: https://github.com/struppigel/PortexAnalyzerGUI/releases/tag/0.12.8


Replacing toggle shortcut with Command + Space

When trying to make the shortcut to toggle Cerebro the same as Spotlight on MacOS, I cannot use Command + Space as a shortcut, even after disabling all MacOS shortcuts that use Command + Space.

I have this same problem , there is any efficient method for solving this issue ??  Online Waiting !!!!!

Same issue here, running version 0.2.6. Seems like Cmd+Space is the only shortcut I can't set it to

@kylewebdev See https://github.com/KELiON/cerebro/issues/100#issuecomment-282732820
I had the same issue, try closing and re-opening Cerebro after removing the default Spotlight key shortcut

@bpatram Thanks!

@kylewebdev can you confirm that it solves your issue?

I can confirm.


Forcing painters renderer breaks images

I pulled the latest version (26eb699) of export_fig yesterday, so this should be directly reproducible.
This issue replicates #107 (superscripts in figure axes), but also goes further than this as the output from the -opengl vs -painters renderer option yields very different (and incorrect) output. This can be most easily described with examples.
So I generate a figure which looks fine on the screen, and using -opengl or -painters I get the following, for completeness the command is (with either renderer specified):
export_fig([out_dir,datestr(now,'yymmdd'),'_Fig',fignum],'-eps','-opengl')

So the OPENGL output looks like

And the  PAINTERS output looks broken, with the fill seeming to be mixed across layers, like

A similar issue also occurs with another figure, so
OPENGL

PAINTERS with text missing along with lines that should be bolded not in the Pacific and Indian oceans

Is this an export_fig issue, or matlab?
For completeness:
MATLAB Version: <IP_ADDRESS>4444 (R2018b)
Operating System: Linux 2.6.32-754.3.5.el6.x86_64 #1 SMP Thu Aug 9 11:56:22 EDT 2018 x86_64
Java Version: Java 1.8.0_152-b16 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
Export_fig Version: current master (26eb699)

I believe that the problem is due to internal bug(s) in Matlab's builtin print function (which is used by export_fig). In order to verify this, please run the following command and check whether you see the same problems in the resulting test.eps file:
print(gcf, '-loose', '-opengl', '-r864', '-depsc2', 'test.eps')

If you see the same problems, then you should report these to Mathworks (support@mathworks.com).
If you do NOT see the problems, then this means it's a problem in export_fig - in this case I may be able to fix it.
Let me know what happens.

@altmany thanks for that, so I did run this through using the command above (with a tweak to the filename) and got this:

So it does indeed appear to be an issue with export_fig

@altmany and for completeness, this is the second figure which also checks out fine.. I do note the file size has jumped considerably though from 6.8 to 25.5Mb.

Email me the *.fig file for the figure with the charts and I will investigate - altmany (at) gmail

@altmany thanks for this, I have sent these through via email. Happy holidays!


DateInput Component for Forms

PR Description
This PR creates the form date input component described here.
For Reviewers
I am not sure if the hard coded Month, Day, Year strings should be props....probably because "hard coded", but I would like to hear your thoughts. Let me know if there is anything else that stands out to you.

Warnings

:warning:

Changes were made to yarn.lock, but no plain text yarn audit output was found in PR description. - Can you run yarn audit in your branch and paste the results inside a markdown code block?

  Generated by :no_entry_sign: dangerJS against 2b2ac8ea0bfcc01bac82d6d67c0d9cf21089c80a


Unable to use httpOnly attribute for authCookie

Environment

Operating System: Darwin
Node Version:     v22.6.0
Nuxt Version:     3.12.3
CLI Version:      3.12.0
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      ssr, app, css, runtimeConfig, modules, apiParty, auth, plugins, components, build, devServer, compatibilityDate
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
Turn on httpOnlyCookieAttribute to true in nuxt.config.js. Try to login and refresh the page.
Describe the bug
Hello,
I opened a pull request yesterday (that has been merged).
The issue, like I said in the PR, is that the cookie is not saved after logging in if we set httpOnlyCookieAttribute to true (this is enabling httpOnly attribute for the cookie, preventing JS access and thus XSS attacks). This is caused by the way the cookie is saved. Indeed, the cookie is saved by useCookie and watch method in useAuthState file composable (see here), and this is client-side.
To fix the issue (what I am trying to work on), we have to change the way of defining the cookie, from client-side to server-side. With this, the cookie will be created, saved, modified or deleted on server-side, thus we will be able to use httpOnly attribute for the auth cookie, providing us a better app security.
I would really appreciate some help on this!
Thanks you.
Additional context
No response
Logs
No response

I see your point - you want to attach cookies server-side instead of manually setting them on the client. This is very tricky due to the fact local provider works with both Nuxt/non-Nuxt backends and authentication markers (cookies, etc.) greatly differ between all of them.
useCookie is mostly used to preserve state (i.e. tokens) within the session and cookies being set on SSR is mostly a side-effect.
I agree that it's better if JS has no access to the cookie, however in that case we also have no reliable way of knowing the authentication state:

SSR sees the cookie and says that a user is authenticated -> renders authenticated view;
CSR hydrates but doesn't see the cookie -> hydration mismatch -> renders unauthenticated view.

Not relying on useCookie at the client means that authentication state needs to be correctly set on the server and then transferred and preserved in memory during the session. This is of course doable but requires noticeable effort to think through and implement. I would love to hear your take on how it can be implemented using known building blocks of Nuxt (like useCookie and useState).
Concepts are welcome

Hi, I've been trying to implement an approach similar to the one discussed in this issue (using HTTP-only cookies) for one of my services. It's been a lot of work!
The first problem you'll encounter is that Set-Cookie headers don't work in a server-side rendering (SSR) environment.
await $fetch.raw(API_ENDPOINTS.GENERATE_COOKIES); // Generates new cookies
await $fetch.raw(API_ENDPOINTS.RUN_WITH_NEW_COOKIES); // Should run with new cookies, but...

In an SSR context, the second API call doesn't have access to the cookies set by the first call. To handle this, you'll need a shared state to pass headers between requests.
Aside from that, the rest is fairly straightforward. We can make the API call and use an interceptor (onResponseError) to check for 401 or 403 responses, then execute the refresh API.
For the client-side, there's no issue, as the Set-Cookie header works as expected. However, in SSR, we need to handle this manually by passing the cookies to the next request.

Hi, is this issue being solved for. Because I'm in dire need of setting httpOnly cookies and setting httpOnlyAtrribute to true in nuxt.config.ts is just not working. If not then is there any workaround I can do for this, need to solve this as security risk asap?

@maximehamou were you able to find a workaround around this for now?


Feat/xd-154

If reviewed I will merge on tuesday after IP Meeting.

I asked @Hydraneut and he said it would be fine if I fix these things myself since he does not time today until the IP meeting and it would be nice to show it to the IP

Also I noticed maybe some of the sorting code / the many signals could be done differently, but that would take a lot of time so that might belong to a refactoring issue some day

Hey, we currently still need the import in the scss to display the Table colored.


Why Slurp and not Yahoo! Slurp

Crawler-Detect started detect Slurp crawler instead of Yahoo! Slurp.
User agent: Mozilla/5.0 (compatible; Yahoo!  Slurp crawler.
PS: http://www.useragentstring.com/ knows Yahoo! Slurp and does not know Slurp.

Surely slurp matches Yahoo! Slurp?
This library is not for telling which bot visited, just whether the client is a bot...or not


Reliable analysis server failure

Analyzer Feedback from IntelliJ
This seems 100% reliable.

Check out the Dart SDK at commit 23fe39e89fcaeda926fb0fef1378ef48cad6a558
Apply patchset 6 from https://dart-review.googlesource.com/c/sdk/+/40661
Open IntelliJ CE 2017.3.3, Build #IC-173.4301.25 with the Dart plugin
File > Open... pkg/front_end from the SDK
Open the file lib/src/fasta/type_inference/type_inferrer.dart
Find import '../fasta_codes.dart'; on line 63
Insert the cursor between the closing single quote and the semicolon.
Type "show".  The Dart Analysis window reports "Dart Analyzer Error" 100% of the time for me.

@kmillikin, do you have a stack trace from the error? The dialog should offer to report one.

I was able to get this stack trace:
https://github.com/dart-lang/sdk/issues/new?body=Analyzer%20Feedback%20from%20IntelliJ# Version information- `IDEA IC-173.4301.25`- `2.0.0-edge.aadf7235dc777b995547296795135f5bc3a11611`- `IC-173.4301.25, JRE 1.8.0_152-release-1024-b11x64 JetBrains s.r.o, OS Linux(amd64) v4.9.0-5-amd64 unknown, screens 2560x1440`# ExceptionPlease append the contents of:file:///tmp/report2.txt```Dart analysis server, SDK version 2.0.0-edge.aadf7235dc777b995547296795135f5bc3a11611, server version 1.18.6, error: Analysis failed: /home/kmillikin/dart.git/sdk/pkg/front_end/lib/src/fasta/type_inference/type_inferrer.dart context: exception_20180215_111236_670NoSuchMethodError: The getter 'element' was called on null.Receiver: nullTried calling: element
#0      Object.noSuchMethod (dart:core-patch/dart:core/object_patch.dart:46)
#1      TypeResolverVisitor.visitGenericFunctionType (package:analyzer/src/generated/resolver.dart:9799)
#2      GenericFunctionTypeImpl.accept (package:analyzer/src/dart/ast/ast.dart:5823)
#3      NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:8195)
#4      TypeArgumentListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:10763)
#5      UnifyingAstVisitor.visitNode (package:analyzer/dart/ast/visitor.dart:3121)
#6      TypeResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:9960)
#7      UnifyingAstVisitor.visitTypeArgumentList (package:analyzer/dart/ast/visitor.dart:3212)
#8      TypeArgumentListImpl.accept (package:analyzer/src/dart/ast/ast.dart:10759)
#9      TypeNameImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:10903)
#10     UnifyingAstVisitor.visitNode (package:analyzer/dart/ast/visitor.dart:3121)
#11     TypeResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:9960)
#12     UnifyingAstVisitor.visitTypeName (package:analyzer/dart/ast/visitor.dart:3215)
#13     TypeResolverVisito

@scheglov

Thank you for reporting this.
https://dart-review.googlesource.com/c/sdk/+/41922


try/catch TypeError hides bad settings kwargs passed directly to Unit

In d87811c1320e929703deeda214b17611174e8c1b I made it so we could pass args and kwargs directly to the Unit initializer and these will be used to initialize the Unit's SETTINGS. However, if the kwargs are incorrect (e.g., typo), this raises a TypeError that gets swallowed by the try/catch block, and the unit ends up with no settings.
An easy solution is to scope the try/catch down to just the the final settings = self.__class__.__settings_type__() in the else condition in the if/else block.

Yeah, cool; your commit addresses this, and I can't fathom why this change would break anything. Another contribution I'd be happy to have in dev/main.


Official Docker image

I'd like to use ksonnet on deployment, while I don't want to install neither jsonnet nor ksonnet. Instead I want to use the official Docker image containing ksonnet (and jsonnet) as a command. Of course it's easy to create such an image by myself. But the official image is preferable to my own ones, I think.

This is a good idea. I'll try to pull this together some time in the next few days.

This is resolved now: https://github.com/ksonnet/ksonnet-lib/blob/master/Dockerfile
You can write a function like below and call ksonnet <args, files, etc> and it will work like it's installed on your filesystem.
ksonnet() {
  docker run -it --rm   \
    --volume "$PWD":/wd \
    --workdir /wd       \
    ksonnet             \
    jsonnet "$@"
}

Not the original request, but consider also just downloading a kubecfg release.  It's a single pre-built binary that statically includes jsonnet, so it's very easy to install (for common architectures).

@anguslees Could kubecfg be complete alternative to ksonnet?

@hausdorff Does the image exist in any public Docker repository?

@yanana kubecfg is part of the ksonnet project. And, the image does not exist anywhere official, I'm not sure where we should put it. But it should be trivial enough to build.

@hausdorff Thanks for your reply. I'm going to see kubecfg deeper. And I believe the most important thing is that the official image, in particular version, is available publicly. I and my colleagues hope they were published on Docker Hub. In other words, we want to pull the image as docker pull ksonnet/ksonnet-lib.

@yanana Alright, I'll put the image in ksonnet/ksonnet-lib, and we'll maintain that. I believe @anguslees has access to the ksonnet Dockerhub, though, so we have to wait until he gets back online. (He lives in Australia.)

Alright, @yanana you can obtain obtain the official image from[1]. You will probably want to use the ksonnet/ksonnet-lib:beta.2.
https://hub.docker.com/r/ksonnet/ksonnet-lib/tags/

@hausdorff I appreciate your dedication.  It looks working well 👍


py_step doesn't work

phone = 1234567
name = 'donald duck'
py_step('phone = ' + phone)
py_step('name = "' + name + '"')
py print(name)
echo `py_result`
py print(phone)
echo `py_result`

results:
py print(name)
donald duck
py print(phone)
1234567

Shown as up, py_step doesn't work, and have no idea how to pass variables to Python
If run example code:
phone = 1234567
py 'phone = ' + phone
py print(phone)
echo `py_result`

return:
py 'phone = ' + phone
py print(phone)
ERROR - name 'phone' is not defined

Still doesn't work.

Sorry Zack, I was away the past few months - https://github.com/tebelorg/RPA-Python/issues/144
Your first block of code using py_step() is correct and the result is correct.
Your second block of code is wrong, because the docs have a typo. I have corrected the typo now -
https://tagui.readthedocs.io/en/latest/advanced.html#writing-python-within-flows
The solution to pass variables is already in your first block of code, by doing this way -
phone = 1234567
py_step('phone = ' + phone)
py print(phone)
echo `py_result`

Closing issue for now but please lemme know if any input or question


fix: test ledger image tag references to be exact

Describe the bug
Currently the test ledger classes all default to latest as the default tag if unspecified via constructor options.
This is bad because whenever we have a change to any one of the images, there's this limbo and false negative (failing) CI runs if the new version of the image has some incompatibility (which they most of the time do).
To Reproduce
Make a breaking change to an image, try to run the integration tests or have a PR that passes the CI and observe your own demise.
Expected behavior
Test ledger classes declare explicit/exact tag references associated with a specific SHA so that a given version of the code has stable test outcomes as long as the docker registry does not start disappearing image versions or changing them.
Cloud provider or hardware configuration:
Every environment suffers from this.
Every release suffers from this.
Currently on v0.2.0
Hyperledger Cactus Plugins/Connectors Used
Fabric is the notorious culprit because our image has issues there (and the fix is stuck in the review queue for now).
Additional context
This is a great example of why we need reproducible builds, which the docker containers are a part of.
cc: @takeutak @sfuji822 @jonathan-m-hamilton @jagpreetsinghsasan

Working on this.


typescript problem in AJV resolver

Describe the bug
Hi,
I'm using ajvResolver in my project but face a typescript error that is wrong.
here is my packages:
"@hookform/resolvers": "3.3.4",
"react-hook-form": "^7.0.0",
"typescript": "~5.2.2",
"vite": "^5.0.0",
"@types/react": "^18.2.46",
"@types/react-dom": "^18.2.18",

and this is an example of code that I used:
  const schema = {
    type: 'object',
    properties: {
      password1: {
        type: 'string',
        minLength: 3,
        errorMessage: { minLength: 'password1 field is required' },
      },
      password2: {
        type: 'string',
        minLength: 3,
        errorMessage: { minLength: 'password2 field is required' },
      },
    },
    required: ['password1', 'password2'],
    additionalProperties: false,
  };

  const validation = ajvResolver(schema);

but I face this error from ajvResolver:
Property 'oneOf' is missing in type '{ type: string; properties: { password1: { type: string; minLength: number; errorMessage: { minLength: string; }; }; password2: { type: string; minLength: number; errorMessage: { minLength: string; }; }; }; required: string[]; additionalProperties: boolean; }' but required in type '{ oneOf: readonly UncheckedJSONSchemaType<FormType, false>[]; }'.ts(2345)
so when I add oneOf property the type problem will be solved but as I understand and test in AJV directly ,this property is not required !

OS: mac OS Version 14.0
Browser chrome

also getting this issue

Can you try assigning the type JSONSchemaType to your schema as mentioned here. It solved the issue for me.

Can you please provide a minimal reproducible example (e.g. a Codesandbox)?


ML notebook tests failing (installing pytest on top of environment)

 docker run -u 1000 -w /srv/test -v $PWD:/srv/test ${DOCKER_ORG}/ml-notebook:PR ./run_tests.sh ml-notebook Runs the following to install pytest in the image and run a few simple tests, but the conda environment solving isn't working in  #289 Determining conflicts:...
# --no-channel-priority added b/c solver failing installing into ml-notebook
conda install pytest --freeze-installed --no-channel-priority

https://github.com/pangeo-data/pangeo-docker-images/runs/5412813529?check_suite_focus=true
Some solutions:

pip install pytest --no-deps
We could also switch github actions to use the repo2docker github action
https://github.com/jupyterhub/repo2docker-action/pull/83

Since the testing is also done after everything is built, I'd suggest trying to install it with pip. I do want to add enough features to repo2docker-action so it can be used here...

closed by https://github.com/pangeo-data/pangeo-docker-images/pull/289/commits/fcbbac56eb6e93620442f6e893c265278e9e6921


Upgrade rustls to 0.20

As the title, rustls 0.20 seems not compatible with 0.19.

Hi @jesseXu
I just looked at upgrading to rustls 0.20. I'll take a shot at it in a bit, but it looks like several things have to be changed.

Hi @jesseXu
I just looked at upgrading to rustls 0.20. I'll take a shot at it in a bit, but it looks like several things have to be changed.

Yes, I 0.20 seems not backward-compatible.


Where to see transaction error logs

Im executing metaboss update data and expect to be able to update metadata of an nft with a new arweave uri. it say transaction error and there are some logs. but i have no idea where to see the log. Any idea where i can see the logs?

The [7 log messages] are referring to the complete Solana transaction log messages which Metaboss isn't currently outputting. Right now all logging from Metaboss goes directly to stdout and stderr.
The mostly cause of your issues is a malformed metadata file (make sure to follow the format specified in the docs), or issues using the public RPC.


Differences visualizer does not work with OEIS sequences

To reproduce: With a running backend and frontend, go to the scope on frontend. Add any (working) OEIS sequence with the "Get Sequence" button, such as A000045 with 50 terms and modulus 1000. Bundle that with the Differences visualizer, and then click "Draw." The sequence values will display along the top of the page, but no differences will be shown.
On the other hand, if you bundle the "Naturals" sequence with the Differences visualizer, the differences are properly shown.

Able to reproduce following above steps.


Webpack required to build usable bacbone.localstorage.js file in browser?

I am trying to use Backbone.localStorage in the browser, but I cannot simply include the current build/backbone.localStorage.js build file like this:
<script src="path/to/deps/backbone.localStorage.js"></script>

Because I get this error:
Uncaught ReferenceError: module is not defined

I am now attempting to use webpack to create a build file that I can use, but I would really like to avoid adding webpack as a dependency to my project.
Thanks!

Hi @chill117, thanks for reporting this. I've marked this as a bug to be resolved before v2.0 can go out.
It seems Webpack is building an output file that assumes the module global exists, which isn't the case in a browser environment.

Hi @chill117 - this should be resolved in the latest .rc2 and the downloaded build should now work.

@scott-w Thanks for your efforts with this!

No worries @chill117 - let me know if you find anything else :)


Remove AdmissionTimeout and use context timeout

This PR removes deprecated AdmissionTimeout struct and uses context timeout
in pluginHandlerWithTimeout.
Thanks to that, consumers can get admission plugin whose timeout value
is wrapped in context via admissiontimeout.WithTimeout.

/cc @tkashem @sttts

cc @aojea

It would be better to remove deprecated field in another time.
/close

/reopen

@tkashem @dgrisonnet could you PTAL this one?. Thanks.


please! need working version that works with real DCs and can somehow watch for new messages.

none of them work. tried every version.
i need:
signIn
send messages
listen for new messages.

I use version 3.0.6. SignIn and send message work. Let's try this version


Addition of All Contributors Photos in Readme | Readme Updation

Is your feature request related to a problem? Please describe.
We can add all the contributor's photos in Readme file as a token of appreciation for their work.
Please assign this to me.

ok


file chooser failed on github actions (ubuntu-latest)

I got this error when run it in github actions environment. But it worked well on my mac air m1

This Should be fixed in latest version, please open a new issue if the issue still persists


Don't import concrete security factories in init

The concrete SecurityHandlerFactory implementations require the corresponding libraries to be installed.
When importing them in security.__init__.py, this can raise an ImportError.
For example, when running the helloworld example which uses FlaskApp and shouldn't require aiohttp:
$ python hello.py
Traceback (most recent call last):
  File "hello.py", line 10, in <module>
    app = connexion.FlaskApp(__name__, port=9090, specification_dir='swagger/')
  File "/home/ruwan/projects/connexion/connexion/__init__.py", line 22, in _required_lib
    raise exc
  File "/home/ruwan/projects/connexion/connexion/__init__.py", line 30, in <module>
    from .apis.flask_api import FlaskApi, context  # NOQA
  File "/home/ruwan/projects/connexion/connexion/apis/flask_api.py", line 13, in <module>
    from connexion.security import FlaskSecurityHandlerFactory
  File "/home/ruwan/projects/connexion/connexion/security/__init__.py", line 8, in <module>
    from .aiohttp_security_handler_factory import AioHttpSecurityHandlerFactory  # NOQA
  File "/home/ruwan/projects/connexion/connexion/security/aiohttp_security_handler_factory.py", line 3, in <module>
    import aiohttp
ModuleNotFoundError: No module named 'aiohttp'

This PR addresses this by not importing the concrete classes in security.__init__.py. Another option is to do something similar to connexion.__init__.py, but I opted for this approach because the SecurityHandlerFactory isn't exposed directly to the end user, but happy to change it so this also uses that approach.

Coverage decreased (-0.002%) to 97.143% when pulling 168ee97d892f61cb2484b491762907e158e87cab on Ruwann:bugfix/aiohttp-security into f46551cee8056dca65c1177e8252f19805d95d50 on zalando:main.

Good catch! Not a big preference for one solution, but I do like the cleaner imports by importing them in __init__.
I think we should update our tests to prevent this from happening again. We can group tests by marking them and run separate test suites for aiohttp & Flask with only the necessary imports installed.

Thanks! I have updated the PR to use the approach of catching the ImportErrors in security.__init__.py.
I have also opened issue #1389 to discuss how to best set up the testing suites for optional dependencies, as there are different ways of doing this.