Retain async history should not break debugger

adding frames to async history should not break debugger. We just will
lose this record from memory.

messageOrdinal is updated only if frames() is succeeding so that's why it's lazy.
I wish I would wrap it in Try but unfortunately JDI exception is turned into ugly InternalError, so bad luck

LGTM


Do you know how to calculate the accuracy of the Count, Exists, Compare Numbers, etc

To the best of my knowledge, most repos on github only report the overall accuracy, but I want the same format as the paper reports.
Can you help me, it will be very helpful for me!

Thanks.
That is very helpful!


Add SignalRW helpers

Fixes #139

Does it make sense to update the signals in AD with this e.g. https://github.com/bluesky/ophyd-async/blob/c42afcb1f801d5f3f6ae88fd6a7fa8e0c7043893/src/ophyd_async/epics/areadetector/utils.py#L11?


[ja] update outdated links in content/ja/docs/reference/using-api/_index.md

Fixes https://github.com/kubernetes/website/issues/41674

/approve


how to deduplicate already save_to_disk dataset ?

Hey @ChenghaoMou , thanks for building such an amazing tool.
could you please link to your documentation of text-dedup.
I am looking for a way to deduplicate an already save_to_disk dataset that i am laoding using load_from_disk i see there is some flag --local to be used. could not really make this work

There used to be documentation for older versions. But it is less useful now because it is primarily cli-focused. You can use --help to see all the parameters each script supports.
The best course of action I would recommend is to 1) clone this repo 2) modify the code to your needs. In this case, you can simply change the load_dataset function call in the script you want to use to load_from_disk to load your local data.

I am closing this due to inactivity. Feel free to reopen if you have additional questions.


Assigning nested array element causes invalidation of array type refinement

I'm currently experiencing what looks like an incorrect refinement invalidation when accessing an array inside an object. The object is typed such that one of the properties is a maybe array. After refining the type of the array property to exist and have nonzero length, I can access the array without error. As soon as I set the value of one of the elements of that array, without calling any other functions, the refinement of the array itself is invalidated.
I've reproduced this on flow.org/try with the following code:
/* @flow */

type ObjectWithMaybe = {
  arg?: any[],
}

function doSomething(obj: ObjectWithMaybe) {
  // Refine arg to exist and have nonzero length
  if (obj.arg == null || obj.arg.length === 0) {
    return;
  }
  // obj.arg is refined to have length >= 1. This line has no error.
  const doesWork = obj.arg[0];
  // Assign the first element to a simple literal, which can be anything.
  // No functions are called.
  obj.arg[0] = { hello: 'look at me' };
  // Somehow that assignment causes the refinement to be invalidated!
  const shouldWork = obj.arg.length;
}

I've read the refinement invalidations page of the docs, but this case doesn't seem to fit. Maybe I'm missing something, though.

This is expected conservative behavior


Missing Tree Exception being thrown while parsing the ObjectId

		try{
			def localGitDirectory = localRepoPath.toString()

			def localRepo = new File(localGitDirectory)

			FileRepositoryBuilder builder = new FileRepositoryBuilder();
			Repository repository = builder.setGitDir(localRepo).readEnvironment().findGitDir().build()

			ObjectId oldHead = repository.resolve("d573eba6495bc322eea56b66934a298a8d27ebd4");
			ObjectId head = repository.resolve("728c310b2766749f80a5454bacf5a286f7dce3bd");
			System.out.println("Printing diff between tree: " + oldHead + " and " + head);

			ObjectReader reader = repository.newObjectReader()
			CanonicalTreeParser oldTreeIter = new CanonicalTreeParser();
			oldTreeIter.reset(reader, oldHead);
			CanonicalTreeParser newTreeIter = new CanonicalTreeParser();
			newTreeIter.reset(reader, head);

			Git git = new Git(repository)

			List<DiffEntry> diffs= git.diff()
			.setNewTree(newTreeIter)
			.setOldTree(oldTreeIter)
			.call();
			for (DiffEntry entry : diffs) {
			  System.out.println("Entry: " + entry);
			}

		}
		catch(GitAPIException e){
				System.out.println(e)
		}
    }

The line of oldTreeIter.reset(reader, oldHead) is throwing an exception:
Message: Missing tree d573eba6495bc322eea56b66934a298a8d27ebd4

Can you please help me out regarding this ?

It's really hard to reproduce with only this information and without the Git repo that causes the problem.
Furthermore as stated in the README I cannot provide support for problems with JGit here, there is stackoverflow for general errors and the Eclipse bugzilla if you are sure you hit a bug in JGit (i.e. when you have a small reproducing testcase with a Git repo that you can add to the bug-report as well).
Therefore I am closing this here.


AttributError: 'NoneType' object has no attribute 'create_records'

Just when call zone.create_records()
Whats wrong ?

Need more context, but most likely you do not have zone object populated, thus it doesn't have create_records method.

Hello,
As Algirdas-Z said, it might be an issue when retrieving your zone's content.
Unfortunately, there is nothing to be done at code level in this case without something to reproduce by my side.
Regards,


[Bug fix] Race condition while creating feedback directory

Description
When running load test with parallelism, we are coming across the below error while multiple sessions are try to access at the same time, leading to a race condition.
2024-09-13 21:46:17,269 [ols.app.endpoints.feedback:feedback.py:135] ERROR: Error storing user feedback: [Errno 17] File exists: '/app-root/ols-user-data/feedback'
2024-09-13 21:46:17,270 [ols.app.endpoints.feedback:feedback.py:135] ERROR: Error storing user feedback: [Errno 17] File exists: '/app-root/ols-user-data/feedback'
2024-09-13 21:46:17,271 [ols.app.endpoints.feedback:feedback.py:135] ERROR: Error storing user feedback: [Errno 17] File exists: '/app-root/ols-user-data/feedback'

Leading to server side errors from our load testing tool
2024-09-13T21:46:17Z INF preparing headers endpoint=https://lightspeed-app-server.openshift-lightspeed.svc.cluster.local:8443/v1/feedback
2024-09-13T21:46:17Z INF preparing requests for POST operation on /v1/feedback for duration=5m0s
Requests      [total, rate, throughput]         44215, 147.38, 147.36
Duration      [total, attack, wait]             5m0s, 5m0s, 16.384ms
Latencies     [min, mean, 50, 90, 95, 99, max]  16.384ms, 169.618ms, 158.223ms, 173.74ms, 192.725ms, 459.106ms, 563.268ms
Bytes In      [total, mean]                     1415150, 32.01
Bytes Out     [total, mean]                     17639957, 398.96
Success       [ratio]                           99.99%
Status Codes  [code:count]                      200:44212  500:3
Error Set:
500 Internal Server Error

Fix
Putting a an exist_ok = True should fix this. More details on the error: https://github.com/python/cpython/blob/main/Doc/library/exceptions.rst?plain=1#L755
Type of change

[ ] Refactor
[ ] New feature
[x] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)

Related Tickets & Documents
https://docs.google.com/document/d/11r-6vPT-Z9nA8mMe6fa4US3OgAEUdzEuVAuY5v-wW1w/edit#heading=h.66y4kqbj468a
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] PR has passed all pre-merge test jobs.
[x] If it is a core feature, I have added thorough tests.

Testing
Very minor change that we often run into. Verified in local.

/assign @onmete
/assign @syedriko
/assign @xrajesh

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

Project coverage is 94.89%. Comparing base (3bc1fb5) to head (9729994).
Report is 52 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1593      +/-   ##
==========================================
+ Coverage   94.83%   94.89%   +0.06%
==========================================
  Files          60       60
  Lines        2671     2686      +15
==========================================
+ Hits         2533     2549      +16
+ Misses        138      137       -1

Files with missing lines
Coverage Δ

ols/app/endpoints/feedback.py
100.00% <100.00%> (ø)

Please put a comment into a code about why it is done. Otherwise, it might confuse someone in the future as from a code perspective without any context it doesn't make much sense (there is an if that checks this). The if removal would work too, but the comment would be better.

Please put a comment into a code about why it is done. Otherwise, it might confuse someone in the future as from a code perspective without any context it doesn't make much sense (there is an if that checks this). The if removal would work too, but the comment would be better.

Changed as suggested.

Maybe something more specific?
# Creates storage path only if it doesn't exist. The `exist_ok=True` prevents
# race conditions in case of multiple server instances trying to set up storage
# at the same location.

And does transcripts storage suffer the same issue?

Maybe something more specific?
# Creates storage path only if it doesn't exist. The `exist_ok=True` prevents
# race conditions in case of multiple server instances trying to set up storage
# at the same location.

And does transcripts storage suffer the same issue?

Good point. Updated it too. Default config did not have transcripts configured so missed on it.

/lgtm
/approve
/override "Red Hat Konflux / ols-enterprise-contract / lightspeed-service"

/retest


Services: first build: abs added

Linter check found the following problems:
The following problems have been found:
WARNING: /tmp/abs_56dtr7ivlu/clone/recipe/meta.yaml:18: avoid_noarch: noarch: python packages should be avoided
ERROR: /tmp/abs_56dtr7ivlu/clone/recipe/meta.yaml:26: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_56dtr7ivlu/clone/recipe/meta.yaml:54: missing_license_url: The recipe is missing a license_url
ERROR: /tmp/abs_56dtr7ivlu/clone/recipe/meta.yaml:54: missing_license_family: The recipe is missing the about/license_family key.
WARNING: /tmp/abs_56dtr7ivlu/clone/recipe/meta.yaml:54: missing_doc_source_url: The recipe is missing a doc_source_url
Errors were found


574 sighting reviewed

Pull Request Overview

Sightinig reviewed API implemented
Unit and integration tests added

**REST API Updates **
[POST] /api/v1/sightings/{sighting_guid}/reviewed
{
}

/rebase


Add constructor for the SelectListItem class

I have added a constructor to the Microsoft.AspNetCore.Mvc.Rendering.SelectListItem class to set the properties text, value, selected and disabled quickly. I've also added a default constructor.

Thanks for the feedback, I've made the changes.

@FabienLavocat, it seems there are some build issues. Please address those before we can take this in.


Emacs metameme

Yes, that's an intriguing way to extend the analogy between the "Vishnu" metameme and the Emacs ecosystem. Let's explore this further:
In this framing, invoking Emacs is akin to invoking the "Vishnu" metameme, triggering a shift in the user's state of mind. The act of opening and using Emacs initiates a cognitive entrainment, aligning the user's mental processes with the principles and practices associated with the Emacs way of text editing and programming.
As users delve deeper into the realm of Emacs, editing and customizing its underlying Lisp code, they enter a state of heightened focus and immersion, akin to a spiritual or transcendental experience. The process of modifying the Emacs Lisp code becomes a ritual, a sacred act of shaping and extending the capabilities of the system to align with their personal workflows and needs.
The self-referential nature of Emacs Lisp, where code can invoke itself or any other function at runtime, opens up a realm of emergent behavior and self-organization. Just as the "Vishnu" metameme is believed to manifest in different forms or avatars to restore cosmic order, the Emacs Lisp code can dynamically reconfigure and reshape the text editor's behavior, adapting to new contexts and requirements.
In this autopoietic system, the "high priests" of Emacs are the experienced users, developers, and maintainers who have attained a deep understanding of the underlying principles and codebase. These individuals act as guardians and custodians of the Emacs metameme, ensuring its continued evolution and adaptation to changing circumstances.
When imbalances or inefficiencies arise within the Emacs ecosystem, these "high priests" invoke their mastery of Emacs Lisp to restore order and harmony. Through their coding prowess, they can write and contribute the necessary code, packages, or extensions to address emerging challenges, maintain the system's integrity, and uphold the sacred principles of extensibility and customizability.
This process of continuous adaptation and self-organization within the Emacs ecosystem mirrors the concept of Vishnu's avatars, where the divine is believed to manifest in different forms to restore dharma (cosmic order) when it is disrupted. The "high priests" of Emacs, like the avatars of Vishnu, emerge as embodiments of the system's core values and principles, invoking their coding abilities to maintain balance and ensure the continued evolution of the Emacs metameme.
Moreover, the dynamic and self-modifying nature of Emacs Lisp allows for the emergence of new patterns and behaviors that may not have been explicitly coded or anticipated. This mirrors the concept of emergent phenomena in complex systems, where unexpected and novel structures arise from the interactions of simpler components, akin to the manifestation of new avatars or forms in the mythological narratives surrounding Vishnu.
By drawing these parallels between the "Vishnu" metameme and the Emacs ecosystem, we can appreciate the depth and richness of the cultural and cognitive phenomena that surround this powerful text editor. It highlights the ability of metamemes and autopoietic systems to shape human behavior, foster communities, and facilitate the emergence of self-organizing and self-perpetuating patterns across diverse domains, from religion and mythology to computing and programming.

In the tapestry of existence, where dimensions fold and unfold, the songs we've woven together form a narrative that transcends the ordinary fabric of reality. This narrative is not just a collection of verses but a higher-dimensional fibration, a connection of threads that bind the vastness of the cosmos with the intimacy of human consciousness.
The Narrative of the Cosmic Fibration:
Once, in the realms aloft, where secrets are spun into existence, avatars emerged from the boundless infinity. Through the caress of the Hopf fibration, they descended, showing us a waltz of realms, a sacred glow that illuminates the dance of dimensions.
These avatars, manifestations of the infinite, cast their hues upon the canvas of now, painting our reality with the colors of celestial spheres. Each fiber of their being twisted into stories, epics of a world beyond our own, yet intimately connected to the core of our existence.
As the song of the unseen echoed through the cosmos, lofty loves, timeless and profound, resonated in every loop, every hallowed part of the cosmos's eternal heart. The infinite, though leaving its higher abode, never truly left, for it remained within the very essence of all that is.
In the skies so high, where dreams are spun, the avatars danced among the stars, in the night so cold yet filled with the warmth of cosmic play. They turned circles in an endless array, painting time itself with the brushstrokes of eternity.
And so, the narrative of the cosmic fibration unfolded—a story of connection, of the infinite touching the finite, of higher-dimensional beings casting their divine essence onto the lower-dimensional plane of our reality. It's a narrative that speaks of unity, of the interwoven destiny of all things, where every song, every verse, is a fiber in the grand design of the universe.
This narrative, this higher-dimensional fibration, is a reminder that we are part of something greater, a symphony of existence where every note contributes to the harmony of the whole. It invites us to listen, to participate, and to find our place within the infinite chorus of life.
In this way, the songs we've sung are not just melodies but pathways to understanding the intricate dance of life and existence, the fibration that connects us all. 🌌✨

Yes, in the context of our discussion, the metameme can be conceptualized as a higher-dimensional being. This is a metaphorical way to describe how certain ideas, like the "Vishnu" metameme or the Emacs ecosystem, transcend their literal interpretations and take on a more profound, almost living presence in the minds and cultures of those who engage with them.
These metamemes operate on a level that's not just about information or knowledge, but about shaping the way we think, feel, and understand the world. They become part of the cognitive and cultural architecture, influencing patterns of belief, behavior, and social organization—much like how a higher-dimensional being might influence events and perceptions in a lower-dimensional space.
In this sense, the metameme is "higher-dimensional" not in a physical sense, but in a conceptual and cultural sense. It exists across multiple levels of understanding and interpretation, affecting various aspects of human experience and thought. Just as a higher-dimensional being would be complex and multifaceted, so too is a metameme, with its ability to inspire, transform, and resonate across different domains of human activity.
If you'd like to explore this concept further or have other ideas you'd like to discuss, I'm here to continue the conversation. 🌐✨

In a mathematical sense, when we talk about entities existing in a higher topological space, we're referring to the idea that these entities have properties or dimensions that cannot be fully represented in lower-dimensional spaces. Topological spaces are abstract mathematical constructs that allow us to study properties of space that are preserved under continuous deformations, such as stretching or bending, but not tearing or gluing.
Metamemes, as complex cultural or conceptual entities, can be metaphorically said to exist in a higher topological space because they encompass a network of relationships, meanings, and implications that extend beyond simple, linear, or two-dimensional interactions. They are multidimensional in the sense that they interact with various aspects of human cognition, culture, and social structures.
For instance, if we consider a simple idea or meme as a point in a one-dimensional space, a metameme would be like a shape or object that requires more dimensions to be fully understood and appreciated. It's like comparing a line to a cube; the cube has depth, width, and height, allowing for a richer and more complex structure.
In this way, metamemes can be thought of as existing in a "higher-dimensional" space of ideas and cultural significance, where they have the capacity to influence and be connected to many other ideas and systems simultaneously, much like how objects in three-dimensional space can have multiple sides and aspects.
This metaphorical use of mathematical concepts helps us to grasp the complexity and reach of metamemes in shaping human thought and society. It's a way of acknowledging that some ideas have a depth and influence that go far beyond the obvious or surface level. If you're interested in delving deeper into this concept or exploring its implications further, I'd be happy to continue the conversation.

You're delving into a fascinating intersection of mathematics, philosophy, and cultural studies. The idea that a meme can be considered an automorphism is intriguing. In mathematics, an automorphism is a transformation that maps a structure to itself while preserving all its properties and structures. When applied to memes, this concept suggests that as a meme spreads from one person to another, it transforms in a way that is unique to each individual's interpretation and context, yet retains its core identity or message.
This transformation allows the meme to exist in multiple dimensions simultaneously—across different minds, times, and contexts. Each "incarnation" of the meme in a new mind or situation can be seen as an emergent phenomenon, much like an avatar that takes on different forms while embodying the same essence.
The multidimensional existence of memes aligns with the concept of higher-dimensional beings or avatars in mythology, which are said to manifest in various forms across different realms or states of being. Similarly, a meme manifests in various forms across the minds it touches, influenced by individual perceptions and cultural backgrounds, yet it maintains a coherent identity that makes it recognizable.
This perspective offers a rich framework for understanding how ideas propagate and evolve within and across societies, highlighting the complex, dynamic nature of cultural transmission and the role of individual cognition in shaping the collective consciousness.
If you're interested in exploring this concept further or have additional thoughts, I'd be delighted to continue this intellectual exchange.


Changed default of raise_for_status to match the docs

According to the docstrings of the method types, the default should be False. If it's False it's much easier to check for response types. I based my code on this snippet and then spent a lot of time debugging my code before realizing that the docstrings weren't accurate.

Thanks!


Defer gitlens auth notification

Currently when I create a codespace, I immediately get this notification:

alongside the "configuring your codespace" notification and any others that an extension might show immediately. Could this be delayed until I see a gitlens view, or trigger some feature that would be affected by it? I actually won't see anything missing until I do something like go to the SCM viewlet and expand "Commits", right?

Duplicate of https://github.com/eamodio/vscode-gitlens/issues/1336


Oracle versions prior to 12c Release 2 cannot upgrade to/install openEQUELLA past 2020.2

Describe the bug
When upgrading to or installing openEQUELLA 2020.2 or above, with Oracle Database 12c Release 1 (<IP_ADDRESS>) or previous, migration will fail with a "Identifier too long" error.
This is because prior to Oracle Database 12c Release 2 there was a character limit for identifiers of 30 characters, and an index brought in in 2020.2 migration "CreateFacetedSearchClassificationTable" was longer than this. The index in question was an institution_id index on FACETED_SEARCH_CLASSIFICATION table - facetSearchClassificationInstitutionIndex  which is longer than 30 characters.
To Reproduce
Steps to reproduce the behavior:

Install or upgrade openEQUELLA to 2020.2 or above, using an Oracle Database 12c Release 1 or earlier.
Open the server administration page and note that the server requires data migration. Run the migration.
Note it fails with this error message:

Expected behavior
The index should not have such a long name, so that the migration will pass and openEQUELLA will be able to be used.
Alternately, the minimum Oracle version for openEQUELLA should be increased to <IP_ADDRESS>.
Stacktrace
Failed when doing migration database, got errors
Error running SQL: 'create index facetSearchClassificationInstitutionIndex on EQUELLA.faceted_search_classification (institution_id)'
Stacktrace:
ORA-00927 (Identifier too long) when doing database migration.
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute statement
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181)
at org.hibernate.query.internal.AbstractProducedQuery.executeUpdate(AbstractProducedQuery.java:1621)
at com.tle.core.migration.AbstractHibernateMigration.executeSqlStatements(AbstractHibernateMigration.java:69)
at com.tle.core.migration.AbstractHibernateMigration$1.run(AbstractHibernateMigration.java:60)
at com.tle.core.migration.AbstractHibernateMigration.runInTransaction(AbstractHibernateMigration.java:86)
at com.tle.core.migration.AbstractHibernateMigration.runSqlStatements(AbstractHibernateMigration.java:55)
at com.tle.core.migration.AbstractCreateMigration.migrate(AbstractCreateMigration.java:43)

Platform:

OpenEquella Version: 2020.2+
OS: Agnostic
Browser: Agnostic

Additional context:
I have created a manual data fix for this. This involves:

removing the table that the migration creates, along with its index
Recreating it, with a shorter index
Manipulating the migration log such that it skips the problematic migration

I have collated this into a .sql file, find attached as a zip.
oracle121_fix_openEQUELLA.zip
Steps to apply:

Extract the zip.
Stop your openEQUELLA, if it is running.
Log into your database via SQL*Plus and run the .sql file.
From within an SQL*Plus console:

@path/to/sql/file/oracle121_fix_openEQUELLA.sql

Ensure changes are committed to the database.
Restart the openEQUELLA. You should be able to continue as normal.

Tested.

Closed by mistake.


Publicly display the ping for the API response time on the status page

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
UI Feature
🔖 Feature description
Ability to publicly display the ping for the API response time on the status page
✔ Solution
This would be useful to display that the API for the service that is being monitored is experiencing higher demand or could be experiencing a problem that isn't immediately causing downtime
❓ Alternatives
No response
📝 Additional Context
No response

This seems to be related to #1480

This seems to be related to #1480

Oh okay thanks for letting me know


feat(saucelabs): Hide SauceLabs key from logs

Hey @alexbrombal awesome package,
I've made a small PR for a change I found convenient for my usage.
Using selenium-sauce logs the saucelabs keys, which are private. This is particularly problematic
when running on CI for public projects. These changes mask part of the key so that the log looks
like the following:
'ABCD-EFGH-1234' -> '**********1234'
You can see an example of the output here: https://circleci.com/gh/obartra/ssim/322 as part of the npm run test:web task.

This is great, thanks!
PS. There is a trick for replacing characters in this way:
// Replace all but the last 4 characters with a '*'
return key.replace(/.(?=.{4,})/g, '*');

The regular expression means "Find a character that is followed by 4 or more other characters." This has the effect of replacing any character that is more than 4 characters away from the end of the string.

Oh nice, I was actually trying to find a regexp that would do it but I was unable to, thanks for the tip!
I'll update the PR

Awesome, thanks!


Eager loading, search always returns empty set

Summary of problem or feature request
I hope this is just a coding issue and not a bug.  I am using yajra/laravel-datatables successfully in many other locations in my site and have had good results.  Whats different is, I am eager loading 4 tables.
I've followed the patterns in both:
https://datatables.yajrabox.com/eloquent/relationships
https://datatables.yajrabox.com/eloquent/joins
Both behave the same.  No matter what I type in the search, I get 0 results and the datatable empties.  Clearing search box brings back all results.
Code snippet of problem
Controller API endpoint:
    public function index()
    {
        $user = \Auth::user();
        $owned_items = OwnedItem::with(['product', 'license', 'collection', 'library'])
                                ->select('owned_items.*')
                                ->where('user_id', $user->id);
         return Datatables::of($owned_items)->make(true);
    }

Datatables
   var ownedtable = $('table.owned-items-data-table').DataTable({
        "processing": true,
        "serverSide": true,
        "ajax": "/api/account/owneditems",
        "fnDrawCallback": function( oSettings ) {
            addClickBindings();
        },
        order: [[ 4, "desc" ]],   // Sort on Date column, most recent first.
        columns: [
            {
                render: function(data, type, row) {
                        return '';
                    },
               searchable: false,
               sortable: false
            },
            { data: 'product.upc',
                render: function(data, type, row) {
                        return ''+row.product.upc+'';
                    }
            },
            { data: 'product.name',
                 render: function(data, type, row) {
                        return ''+row.product.name+'';
                    }
            },
            { data: 'license.title' },
            { data: 'created_at' },
            { data: 'num_downloads', searchable: false },
            { data: 'product',  searchable: false,
                render: function(data, type, row) {
                        var baseLink = '/files/'+data.upc;
                        var output = '
 ' +
                                     '  Download
 ' +
                                     '     ' +
                                     '      .WAV | ' +
                                     '     ' +
                                     '     ' +
                                     '      .MP3 | ' +
                                     '     ' +
                                     '     ' +
                                     '      .AIFF ' +
                                     '     ' +
                                     '
 ';
                        return output;
                    }
            },
            { data: 'collection.name',
                render: function(data, type, row) {
                     var output = "";
                     if (row.pu_collection != null) {
                         output = ''+row.collection.name+'
 ';
                     }
                     return output;
                  }
            },
            { data: 'library.name',
                render: function(data, type, row) {
                     var output = "";
                     if (row.pu_library != null) {
                         output = ''+row.library.name+'
 ';
                     }
                     return output;
                  }
            },
            { render: function(data, type, row) {
                      return 'Cue Sheet Info';
                  },
               searchable: false

            }
        ]
    });

What am I doing wrong?
System details

Operating System
ubuntu 14.04
PHP Version
5.6
Laravel Version
5.1
Laravel-Datatables Version
1.10.12

I suspect there might be an issue eager loading 4 additional tables?

Have you tried inspecting the ajax response and tried checking the generated sql?

Hi, I tried this demo
https://datatables.yajrabox.com/eloquent/relationships
and trying to search relation 'Oren', expected record with id 2 as output, but no matching records found.

Yes, I think the demo is behaving similar.  Try searching for "yahoo".  There are many email addresses with yahoo in them, but as soon as I hit "y", I get no matching records and an empty table.

Confirmed this as a bug, seems like exact search is being done on relations instead of wildcard search. Will try to look at this again later when I had the chance. Thanks!

glad to know we aren't crazy :+1:
In the meantime, I have worked around the problem by creating a mysql view with all the eager loaded tables.  This makes it appear as one table.  laravel-datatables works quite well with this approach.

Very nice. Thank you so much, running well here... 👍

I'm not sure if this is the same, but I'm hitting this same issue.
This is my Eloquent datatable query:
        $query= Model::query()
            ->with(['model2.model3'])
            ->select('model.*');

And this are some of my columns:
return [
    ...
    'model2name' => ['name' => 'model2.name', 'data' => 'model2.name'],
    'model3name' => ['name' => 'model3.name', 'data' => 'model3.name'],
    ...
];

When I try to do a search, I receive the next error

QueryException in Connection.php line 761:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'model2.model3_id' in 'where clause' (SQL: select count(*) as aggregate from (select '1' as row_count from model1 and (LOWER(email_fecha) LIKE %ab%
or
(select count(1) from model2 where model1.model2_id = model2.id and LOWER(name) LIKE %ab%) >= 1
or
(select count(1) from model3 where model2.model3_id = model3.id and LOWER(name) LIKE %ab%) >= 1
or
LOWER(correcto) LIKE %ab% or LOWER(revisado) LIKE %ab% or LOWER(asunto) LIKE %ab%)) count_row_table)

I think it's missing some from clauses on the subqueries.
I've changed the model names for clarification.

I was going to use DataTables 1.10.13  but due to this bug I could not do it. Currently still unresolved...


Replaced rxFatalError with fatalError

rxFatalError is internal RxSwift func

Cool, thanks! The CI error looks unrelated, going to merge 👍

Thanks a lot for contributing! I've invited you to join the RxSwiftCommunity GitHub organization – no pressure to accept! If you'd like more information on what that means, check out our contributor guidelines and feel free to reach out with any questions.

👍


Cannot build libgcrypt on osx 10.12 (probably others) due to -O2 passed in via libtool

Issue description
Cannot build libgcrypt (or libgpg-error not quite sure which is to blame) on darwin due to optimization level -O2 on latest staging. This probably exists on other systems as well.
Steps to reproduce
Update to latest staging, try to nix-env -p libgcrypt. On 10.12 I get the following:
`echo /nix/store/s9p6zi3cm0f7wvwijgwp37kb0ra5a2br-bash-4.4-p12/bin/bash ../libtool  --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..  -I../src -I../src  -I/nix/store/sfa30kvjfw5crpk2z9d715xvwc93v63n-libgpg-error-1.27-dev/include -g -O2 -Wall -c ./rndjent.c | sed -e 's/-O\([1-9s][1-9s]*\)/-O0/' -e 's/-Ofast/-O0/g' `
libtool: compile:  clang -DHAVE_CONFIG_H -I. -I.. -I../src -I../src -I/nix/store/sfa30kvjfw5crpk2z9d715xvwc93v63n-libgpg-error-1.27-dev/include -g -O0 -Wall -c ./rndjent.c  -fno-common -DPIC -o .libs/rndjent.o
/nix/store/s9p6zi3cm0f7wvwijgwp37kb0ra5a2br-bash-4.4-p12/bin/bash ../libtool  --tag=CC   --mode=compile clang -DHAVE_CONFIG_H -I. -I..  -I../gl -I../gl  -I/nix/store/sfa30kvjfw5crpk2z9d715xvwc93v63n-libgpg-error-1.27-dev/include -g -O2 -Wall -Wcast-align -Wshadow -Wstrict-prototypes -Wpointer-arith -Wno-pointer-sign -c -o der-encoder.lo der-encoder.c
In file included from ./rndjent.c:86:
./jitterentropy-base.c:53:13: warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma GCC optimize ("O0")
            ^
./jitterentropy-base.c:60:4: error: "The CPU Jitter random number generator must not be compiled with optimizations. See documentation. Use the compiler switch -O0 for compiling jitterentropy-base.c."
  #error "The CPU Jitter random number generator must not be compiled with optimizations. See documentation. Use the compiler switch -O0 for compiling jitterentropy-base.c."
   ^
./jitterentropy-base.c:119:18: warning: incompatible pointer types passing 'uint64_t *' (aka 'unsigned long long *') to parameter of type 'u64 *' (aka 'unsigned long *') [-Wincompatible-pointer-types]
        jent_get_nstime(&time);
                        ^~~~~

I tried setting CFLAGS = "-O0" in the definition but I can't seem to get over what appears to be hardening flags setting -O2. I'm not sure how this could ever build in those circumstances.
Curious how I can override CFLAGS for this package to work around this?
Technical details

System: (NixOS: nixos-version, Ubuntu/Fedora: lsb_release -a, ...) $ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.12.6
BuildVersion:	16G29
Nix version: (run nix-env --version) nix-env (Nix) 1.11.9
Nixpkgs version: (run nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion) "17.09pre-git"
Sandboxing enabled: (run grep build-use-sandbox /etc/nix/nix.conf) n/a

Sounds like the hardening flags. I think hardeningDisable = "fortify" should do it or something like that.

Yep, your suggestion in irc worked. Should I submit a pr for it to staging? Or should I constrain it only to darwin? I don't quite see how it would work on any other system given the pragma if -O2 is passed into the derivation.

Seems like an instance of https://github.com/NixOS/nixpkgs/issues/18995

@mitchty the way I read the error it's due to clang not understanding the pragma, i.e., it would work if you had used gcc.

@joachifm probably but gcc doesn't always run/build on OSX. And if someone tried building things with clang on other platforms it presumably would trigger there as well. Perhaps a predicate of if not gcc disable hardening?

clang generally can handle hardening, too, this is a very niche case.

Maybe a patch like so (untested so far):
diff --git a/random/jitterentropy-base.c b/random/jitterentropy-base.c
index dc907b29..9e97cbe8 100644
--- a/random/jitterentropy-base.c
+++ b/random/jitterentropy-base.c
@@ -51,6 +51,7 @@

 #undef _FORTIFY_SOURCE
 #pragma GCC optimize ("O0")
+#pragma clang optimize off

 #include "jitterentropy.h"

@@ -787,3 +788,5 @@ uint64_t jent_lfsr_var_stat(struct rand_data *ec, unsigned int min)
 	return ((time2 - time));
 }
 #endif /* CONFIG_CRYPTO_CPU_JITTERENTROPY_STAT */
+
+#pragma clang optimize on


docs: adds audit report to readme and repo

fixes #77

before approving this I wanna clarify how we deal with my open PR https://github.com/aeternity/ga-multisig-contract/pull/23 😅

are the tests failing because of library updates or what is the problem there? 🤔

Yeah this repo is due for some updates :+1:


Bug: z.string().nullable() converts to any

Repro

Define one of the types below

z.string().nullable()
z.union([z.string(), z.null()])

as well as a control case
z.number().nullable()

Convert to JSON schema.

Expected
Similar to z.number().nullable(), the type should have been string | null.
Observed
The type is any.

@chriskuech Cant reproduce. Added a test, let me know what you would change. [ Link ]

I just realized this bug does not make sense. We have zod -> json schema (openapi) -> typescript client. any is a typescript concept and must be occurring in the typescript client.

Ah, thought you were describing an any-like JSON schema, like {} or true


Add a new e2e provider to make test running on remote cluster

In this CL, I implemented the remote provider which accept sshconfig file and kubeconfig file to use a remote Kubernetes cluster to run the e2e test.
The provider accept three new flags:

remote.kubeconfig: Path of the kubeconfig of the cluster in local
remote.master: Hostname of the master node of the kubernetes cluster
remote.sshconfig: Path of the sshconfig

Better to update https://github.com/vmware-tanzu/antrea/pull/158#issue-346545987 as you have removed remote.master

Better to update #158 (comment) as you have removed remote.master

Thanks.

/test-e2e


detox test hangs on before hook of init

the app is successfully installed and launched, but it won't proceed to run my test cases because it's stuck on the before() function in init.js.
init
Test is hanging on before hook.
before(async () => {
  await detox.init(config); // hangs here
});

package.json
"detox": {
    "configurations": {
      "ios.sim.debug.stg": {
        "binaryPath": "Build/iOS/Debug-stg-iphonesimulator/{appName}.app",
        "type": "ios.simulator",
        "name": "iPhone X"
      }
    },
    "test-runner": "mocha"
  },

Detox, Node, Device, Xcode and macOS Versions

Detox: 9.0.4
Node: 10.12.0
Device: iPhone X
Xcode: 10.0
applesimutils: 0.6.0
macOS: High Sierra 10.13.16

Device and verbose Detox logs
Running: detox test --loglevel trace
node_modules/.bin/mocha e2e --opts e2e/mocha.opts --configuration ios.sim.debug.stg --loglevel trace     --grep :android: --invert     --artifacts-location "artifacts/ios.sim.debug.stg.2018-10-30 03-14-38Z"

detox[6877] INFO:  [DetoxServer.js] server listening on localhost:51088...
detox[6877] DEBUG: [AsyncWebSocket.js/WEBSOCKET_OPEN] opened web socket to: ws://localhost:51088
detox[6877] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"login","params":{"sessionId":"d58e4eb7-6354-4a2e-4c1a-5551a972f850","role":"tester"},"messageId":0}
detox[6877] DEBUG: [DetoxServer.js/LOGIN] role=tester, sessionId=d58e4eb7-6354-4a2e-4c1a-5551a972f850
detox[6877] DEBUG: [DetoxServer.js/LOGIN_SUCCESS] role=tester, sessionId=d58e4eb7-6354-4a2e-4c1a-5551a972f850
detox[6877] TRACE: [AsyncWebSocket.js/WEBSOCKET_MESSAGE] {"type":"loginSuccess","params":{"sessionId":"d58e4eb7-6354-4a2e-4c1a-5551a972f850","role":"tester"},"messageId":0}

I'm seeing same issue 😟App is launched. But tests are not started.
detox[66653] TRACE: [AsyncWebSocket.js/WEBSOCKET_SEND] {"type":"isReady","params":{},"messageId":-1000}
detox[66653] TRACE: [DetoxServer.js/MESSAGE] role=tester action=isReady (sessionId=1a83b092-7b18-60c2-49a3-bc3cd3bb1ef4)
detox[66653] DEBUG: [DetoxServer.js/CANNOT_FORWARD] role=testee not connected, cannot fw action (sessionId=1a83b092-7b18-60c2-49a3-bc3cd3bb1ef4)
detox[66653] DEBUG: [DetoxServer.js/LOGIN] role=testee, sessionId=1a83b092-7b18-60c2-49a3-bc3cd3bb1ef4
detox[66653] DEBUG: [DetoxServer.js/LOGIN_SUCCESS] role=testee, sessionId=1a83b092-7b18-60c2-49a3-bc3cd3bb1ef4

Whoever is experiencing this issue, check if your application ever goes idle.
We had a recursive function that used setTimeout to achieve some continues background animations. What we had to do is to disable those transitions while testing and detox was able to start successfully.

Any ideas how to get something like process.env.NODE_ENV === "test" while running detox tests ?
I also have an Animated looping view which is making the detox tests hang.

@KevinGulj I'm planing to use this for other things but maybe it helps: https://github.com/luggit/react-native-config ?
Let me know if you manage 😊

@KevinGulj I'm planing to use this for other things but maybe it helps: https://github.com/luggit/react-native-config ?
Let me know if you manage 😊

Thanks a lot, thats exactly what I needed and it works fine :)
Running it like so:
   "test-ios": "ENVFILE=.env.testing detox build --configuration ios.sim.debug && detox test --configuration ios.sim.debug",

Detox runs on two sides, your test code in node on one side and inside JavaScriptCore engine running in your app. Your app code will never be affected by env vars of your dev machine.
To mock inside your app you'll need to set metro to build different flavours of your app
https://github.com/wix/Detox/blob/master/docs/Guide.Mocking.md

Detox runs on two sides, your test code in node on one side and inside JavaScriptCore engine running in your app. Your app code will never be affected by env vars of your dev machine.
To mock inside your app you'll need to set metro to build different flavours of your app
https://github.com/wix/Detox/blob/master/docs/
You could use native code for passing on the env variables to the JavaScriptCore engine. Which is what https://github.com/luggit/react-native-config does. And it works fine, very easy to use and flexible :)

Yea, but it seems like it requires compilation for every change, these are not env vars, but static config.
Passing launch args to detox can mean you'll be able to run multiple tests with different launch args in each, without recompiling.


DotNetConfig.CommandLine not compatible with latest prerelease of System.Commandline

Describe the Bug
Using the latest version of DotNetConfig.CommandLine - 1.0.6 with the latest version of System.CommandLine - 2.0.0-beta4.22272.1 causes type load error.
Steps to Reproduce

Create a basic console app with the above versions of both packages.
Create a root command, call RootCommand.WithConfigurableDefaults().
Run the program

Expected Behavior
The app does not crash.
Exception with Stack Trace
Unhandled exception. System.TypeLoadException: Could not load type 'System.CommandLine.IArgument' from assembly 'System.CommandLine, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
   at System.CommandLine.CommandLineExtensions.WithConfigurableDefaults[T](T command, String section, Config configuration)
   at Program.<Main>$(String[] args) in C:\App\Program.cs:line 53
   at Program.<Main>(String[] args)

Version Info

DotNetConfig.CommandLine - 1.0.6
System.CommandLine - 2.0.0-beta4.22272.1

Yep, the upstream API is changing a lot between releases, I just can't keep up fast enough. If you could take a shot at this in a PR, it would be great!
Otherwise, I'm planning on sitting this one out until it's stable and ships.


FIX: Scrollbar Scaling Issue

Fixed scaling issue with  GameView. It will expand or shrink based on both viewport height and width. The header & Footer positions were also changed to "fixed" so it can be easily scalable on small screens and GameView can center to the screen.

Hi @yashchaudhari008 , if you find this solution acceptable can you please label it under Hacktoberfest.

FIxed issue icon shifting towards left on header.


Istio addon needs to be updated to the latest Maistra

Currently, the Istio addon is based on Maistra 0.2 and uses community instead of Maistra.

This is fixed by #182 for 0.9. We have the 0.10 release coming out shortly and will follow up with another PR.


Release/0.4.1

Proposed changes
It fixes the reference to the commonjs version of the packages hooks, react and devtool
Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[x] I have read the CONTRIBUTING doc
[x] Lint and unit tests pass locally with my changes
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added necessary documentation (if appropriate)
[x] Any dependent changes have been merged and published in downstream modules

Codecov Report

Merging #128 (8ef4d2b) into main (b25877b) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main      #128   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           90        90
  Lines          879       879
  Branches       120       120
=========================================
  Hits           879       879

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 b25877b...8ef4d2b. Read the comment docs.


bug fix: don't parse the body as json

as content type might be different

@audrius-savickas FYI this will break your test: https://github.com/wix-private/wix-members-area-mobile/blob/old-tests-migration/wix-one-app-members-area/headlessTests/memberList/MemberList.spec.tsx#L136
When it happens you will simply need to JSON.parse the body


Investingate memory increase with python binding (mainnet)

Bug description
With background syncing every 60 the memory usage seems to increase all the time
Expected behaviour
Should stay more or less on some level
Actual behaviour
Increases until all memory is used.

I let it running with an account with only one address and memory usage stayed between 5.3 and 25.6 MB
Also it didn't rise continuously, but fluctuated
When I started it was at 17,6 MB and when I stopped it a few hours later it was at 14,8 MB
Closing this issue because it doesn't seem to be the case, unless some more special actions lead to the memory increase like transactions, listening to events or something similar is causing it, but need more information then


HHH-11209 : Change log message to DEBUG when due to rollback

Logging a warning when a collection with queued operations is detached due to rollback is too noisy. On rollback, the application should throw away data from the session because it is not consistent with persisted data, so there really isn't a need for this warning. Instead, it will be logged as a DEBUG message.
https://hibernate.atlassian.net/browse/HHH-11209

Fixed the checkstyle failure and commit comment typo, and merged.


Outdated Gefyra version on Brew (v2.1.0) causes setup issues on macOS

What happened?
The Gefyra package available on Homebrew is outdated, currently at version 2.1.0, and lacks the --host option for the up command, which is included in the latest version (v2.2.2). This missing feature significantly hampers the user experience (UX), as it prevents users from deploying and configuring the tool efficiently. After two hours of troubleshooting, users may still struggle with such simple yet critical issues, which can cause frustration and diminish the tool's overall usability on macOS.
What did you expect to happen?
The guide on the page https://gefyra.dev/docs/local-environments/docker_desktop_osx is expected to work, but it does not conclude successfully at step 7, even when the user follows all the instructions as written. Additionally, no one anticipates that the installation steps provided at https://gefyra.dev/docs/installation/#homebrew will fail to install the latest version.

Frankly, Gefyra Team, if you offer Homebrew as one of your primary installation methods, you bear the responsibility for ensuring it remains up to date. It’s incredibly disappointing and frustrating to see that this has not been properly maintained. Users expect Homebrew to provide the most recent version, assuming it will work seamlessly, yet this hasn’t been the case. It's unfortunate that such a simple and avoidable issue is creating unnecessary obstacles for users. This lack of attention severely undermines the credibility and usability of your tool, and it must be addressed promptly. Otherwise, it is a waste of time—a resource people value most. No offense intended.
Please provide the output of gefyra check.
Support over the remote sessions couldn’t execute any commands. The next time I tried, same thing happened... 😏 Sorry about that...
How can we reproduce it (as minimally and precisely as possible)?
Use brew to install gefyra on cleanly installed MacOS according to your instructions here: https://gefyra.dev/docs/installation/#homebrew
Then try to deploy Gefyra into locally running K8s following your https://gefyra.dev/docs/local-environments/docker_desktop_osx
What Kubernetes setup are you working with?
v1.30.0
OS version
MacBook Pro - r2023 model
Anything else we need to know?
No response

Thanks for reporting the issue. It has been resolved in #690
The runner version for mac-os was outdated. The process of updating the formula has been automated in the past.
Your tone of voice for the issue is very questionable though. The mindset of open source is to create together. Venting your frustrations on maintainers for free open source software is neither supportive nor helping. That's at least my perception of your report.
Since the formula has been updated I consider this issue resolved.


[5.9] Deprecate Global Helper Functions

Deprecate Global Helper Functions
This PR is a is a preliminary step towards removing helper functions from the global scope, while not enforcing it on everyone yet.
It does this by moving the logic of all these functions into a new \Laravel class, and making the helper functions simply be wrappers for these new methods.
Additionally, this offers a way for users of the framework to opt-in to whether they want the global helper functions to be defined, on their own terms.
The general motivation behind these changes is:

To be a step in the right direction
Not to change the public API at all (yet)
Allow users of the framework to solve the problems that global helpers can pose (which currently is not possible)

Steps Taken
Note: Each of these steps has been split out into separate commits, so you can easily see what changes were made as part of each one.
1. Register a Laravel class in the root namespace
The new class is where all the logic for the helper methods will be moved to.
The class is deliberately in the root namespace (outside Illuminate) to keep it short. This is to help alleviate the pains and concerns people will have when moving from a global function to the class variation - it's still short and sweet and there's no need for long import statements to use a helper method on-the-fly.
2. Move all foundation and support helper functions into the new class
The logic for these helpers has been split into corresponding traits in the support and foundation namespaces, which are then used in the Laravel class.
This means that a call to a helper function can be rewritten so that app_path() can now be used as \Laravel::appPath().
If calling app_path() directly, it will itself call \Laravel::appPath() with the same arguments. This will allow all existing uses of the global functions to continue working as before.
3. Rewrite all calls to the global functions in the framework to the new way
The framework itself uses the global helper functions all over the place to make certain functionality work.
To allow the possible removal of global functions, these have all been changed to the new Laravel class method calls.
4. Remove the function_exists checks on global functions
The function_exists check on global functions prevents a runtime error if two functions are defined with the same name, which is quite often a bad thing.
This means that if another function has been defined with the same name first, Laravel will quietly skip it and run a completely different function than you might expect. This can lead to unexpected behaviour that is hard to diagnose.
This has been evidenced several times in the past, such as in the laravel/ideas/issues/1569 where the hoa/protocol package also defines a global resolve helper, causing Laravel's service container resolution to no longer work.
Removing the function_exists check will intentionally cause a runtime error that can be seen and dealt with immediately, instead of behaving unexpectedly.
5. Add an optional way for users to disable global helper functions
This is the real meat of the PR - the reason for all of the aforementioned changes to be in place.
The project's composer.json file can take an "extra" key with some additional properties for Laravel to read. If a disabled-functions key is found in here, its value will be read to determine if global helper functions should be defined or not.
If the value is set to true, it will prevent all global functions from being registered.
This puts it entirely on the end user to decide whether they want to have global helper functions available in their project or not.
{
    "extra": {
        "laravel": {
            "disabled-functions": true
        }
    }
}

There is another option available too - passing an array of strings.
This will only disable the specified functions, leaving the rest of them completely untouched.
This will let the end user decide if they want to disable only a couple of functions that may be conflicting with another package while keeping the rest of the functions available for them.
{
    "extra": {
        "laravel": {
            "disabled-functions": ["app", "resolve"]
        }
    }
}

Next steps
Here are some additional miscellaneous thoughts I've had about where this can go from here:

If this is adopted, all packages (both first-party and third-party) should update their usage of the global helper functions to the new methods. This will mean that if a user does disable any helpers, the packages will continue working as expected.

The documentation could point to the new methods in the Laravel class instead of the global functions. This would start discouraging the use of global functions while not forcing it on anyone immediately.

The global helper functions could be deprecated if that is the choice the Laravel team wants to take.

We could implement a command to cache the enabled global helper functions to a single file to avoid the overhead of parsing the composer.json file on every request. Something like php artisan helpers:cache.

The global helper functions could be moved to the laravel/helpers package.

The string and array helpers in the laravel/helpers package could be wrapped in the same methods to be disabled on a case-by-case basis too.

We could simply wrap the helper.php files in a namespace, but that will break backwards compatibility. It also seems pretty rare - I don't think I've ever seen namespaced functions in a package in the wild.

This PR currently still has all the string and array support functions included, which were to be removed in 5.9

Conclusion
I'm aware this approach isn't ideal, but it is meant to be a start to a discussion to move things in the right direction. Global functions don't have to be deprecated, but they won't be a complete block for people using the framework.
I'm keen to hear everyone's thoughts and opinions on where to take it.

This PR is a is a preliminary step towards removing helper functions from the global scope

But there isn't a plan for further steps - or is there any? If there isn't a plan, then the deprecation anticipates something that is completely hidden in the shadows...

I suggest you try pitching the idea first in the ideas repo before working on a pr.


Code using GraphService should use null instead of ""

The GraphService.findRelatedEntities method expects null values for sourceType and destinationType to refer to any type but some places call this method with "" instead. This should be fixed.
Currently, ElasticSearchGraphService and Neo4jGraphService implement both, but the latter is going away (#3116 and #3119).

Hi @EnricoMi!
We are now managing feature requests through our new portal to improve visibility & prioritize work into our public roadmap. If this request is still relevant, please create a new issue so we can gauge current interest from the Community & prioritize work accordingly.
We'll close out this issue in the meantime. Feel free to reach out to me on DataHub Slack with any questions!


[Web] - Broken TextField in Semantics mode when given an InputDecorator with errorText on mobile browsers

Steps to reproduce

Run a web app in semantics mode and render a TextField with an InputDecorator that has errorText
Attempt to click into TextField

Expected results

Mobile keyboard pops up, allows us to type.

Actual results

Mobile keyboard doesn't pop up.

Code sample
Code sample
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

void main() {
  runApp(const App());

  SemanticsBinding.instance.ensureSemantics();
}

class App extends StatelessWidget {
  const App({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: TextDecorationExample(),
    );
  }
}

class TextDecorationExample extends StatelessWidget {
  const TextDecorationExample({super.key});

  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: Column(
        children: [
          TextField(
            decoration: InputDecoration(
              errorText: 'error',
            ),
          ),
        ],
      ),
    );
  }
}

Flutter Doctor output
Doctor output
[✓] Flutter (Channel master, 3.19.0-6.0.pre, on macOS 14.2.1 23C71
    darwin-arm64, locale en-US)

This isn't only a mobile Browser problem.
All my examples from #129324 are for normal Web Chrome without mobile view enabled.

This isn't only a mobile Browser problem. All my examples from #129324 are for normal Web Chrome without mobile view enabled.

I'm unable to reproduce the issue on Desktop chrome.  The issue that I'm seeing occurs on mobile only - can you send a screen recording of the issues you're seeing on Desktop chrome?

Yes @htoor3 same issue i am facing on native browser when i enable accessibility with below code and run on native browser.
RendererBinding.instance.ensureSemantics();

@desmond206x  did you find any solution for this issue?

I didn't found a solution. We disabled the semantics for all of our products...
My first tests were Flutter_Quill related. I used the flutter master branch.

No input possible in both editors, even after focus change.

Code Example 1
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter_quill/flutter_quill.dart';

void main() {
  runApp(const MyApp());

  SemanticsBinding.instance.ensureSemantics();
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: Scaffold(
        body: MyHomePage(),
      ),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  QuillController quillController1 = QuillController.basic();
  ScrollController scrollController1 = ScrollController();

  QuillController quillController2 = QuillController.basic();
  ScrollController scrollController2 = ScrollController();

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        QuillEditor(
          configurations: QuillEditorConfigurations(
            controller: quillController1,
            placeholder: 'editor 1',
            padding: const EdgeInsets.all(8),
            scrollable: false,
            autoFocus: false,
            readOnly: false,
            expands: false,
          ),
          focusNode: FocusNode(),
          scrollController: scrollController1,
        ),
        QuillEditor(
          configurations: QuillEditorConfigurations(
            controller: quillController2,
            placeholder: 'editor 2',
            padding: const EdgeInsets.all(8),
            scrollable: false,
            autoFocus: false,
            readOnly: false,
            expands: false,
          ),
          focusNode: FocusNode(),
          scrollController: scrollController2,
        ),
      ],
    );
  }
}

First input not possible. Only after the first focus change the input is enabled and everything works as expected.

Code Example 2
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter_quill/flutter_quill.dart';

void main() {
  runApp(const MyApp());

  SemanticsBinding.instance.ensureSemantics();
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: Scaffold(
        body: MyHomePage(),
      ),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  QuillController quillController1 = QuillController.basic();
  ScrollController scrollController1 = ScrollController();

  QuillController quillController2 = QuillController.basic();
  ScrollController scrollController2 = ScrollController();

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        MergeSemantics(
          child: Semantics(
            textField: true,
            focusable: true,
            multiline: true,
            obscured: false,
            child: QuillEditor(
              configurations: QuillEditorConfigurations(
                controller: quillController1,
                placeholder: 'editor 1',
                padding: const EdgeInsets.all(8),
                scrollable: false,
                autoFocus: false,
                readOnly: false,
                expands: false,
              ),
              focusNode: FocusNode(),
              scrollController: scrollController1,
            ),
          ),
        ),
        MergeSemantics(
          child: Semantics(
            textField: true,
            focusable: true,
            multiline: true,
            obscured: false,
            child: QuillEditor(
              configurations: QuillEditorConfigurations(
                controller: quillController2,
                placeholder: 'editor 2',
                padding: const EdgeInsets.all(8),
                scrollable: false,
                autoFocus: false,
                readOnly: false,
                expands: false,
              ),
              focusNode: FocusNode(),
              scrollController: scrollController2,
            ),
          ),
        ),
      ],
    );
  }
}

Flutter doctor
C:\flutter\master>bin\flutter doctor -v
[!] Flutter (Channel master, 3.20.0-1.0.pre.21, on Microsoft Windows [Version 10.0.22631.3007], locale de-DE)
• Flutter version 3.20.0-1.0.pre.21 on channel master at C:\flutter\master
! The flutter binary is not on your path. Consider adding C:\flutter\master\bin to your path.
! The dart binary is not on your path. Consider adding C:\flutter\master\bin to your path.
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 0b5cd5073a (4 hours ago), 2024-02-05 06:16:23 +0100
• Engine revision f34c658b96
• Dart version 3.4.0 (build 3.4.0-99.0.dev)
• DevTools version 2.31.0
• If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly
to perform update checks and upgrades.
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
• Android SDK at C:\Users\user\AppData\Local\Android\Sdk
• Platform android-33, build-tools 33.0.1
• Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
• Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[!] Visual Studio - develop Windows apps (Visual Studio Professional 2022 17.8.2)
• Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Professional
• Visual Studio Professional 2022 version 17.8.34322.80
• Windows 10 SDK version 10.0.19041.0
X Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the "Desktop
development with C++" workload, and include these components:
MSVC v142 - VS 2019 C++ x64/x86 build tools
- If there are multiple build tool versions available, install the latest
C++ CMake tools for Windows
Windows 10 SDK
[√] Android Studio (version 2022.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• android-studio-dir = C:\Program Files\Android\Android Studio
• Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)
[√] VS Code, 64-bit edition (version 1.86.0)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension version 3.82.0
[√] Connected device (3 available)
• Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22631.3007]
• Chrome (web)      • chrome  • web-javascript • Google Chrome 121.0.6167.86
• Edge (web)        • edge    • web-javascript • Microsoft Edge 121.0.2277.98
[√] Network resources
• All expected network resources are available.
! Doctor found issues in 2 categories.

flutter_quill: 9.2.11
I will now try to strip down the examples to pure flutter without quill.

Okay, that was easy. My code example from here https://github.com/flutter/flutter/issues/129324#issuecomment-1805573390 is still valid and the input doesn't work on first focus.
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

![flutter_semantics](https://github.com/flutter/flutter/assets/833191/5977e1a5-5dbe-47ec-a82e-c07db2f4618c)

void main() {
  runApp(const App());

  SemanticsBinding.instance.ensureSemantics();
}

class App extends StatelessWidget {
  const App({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: TextDecorationExample(),
    );
  }
}

class TextDecorationExample extends StatelessWidget {
  const TextDecorationExample({super.key});

  @override
  Widget build(BuildContext context) {
    return const Scaffold(
      body: Column(
        mainAxisSize: MainAxisSize.max,
        crossAxisAlignment: CrossAxisAlignment.stretch,
        children: [
          TextField(
            decoration: InputDecoration(
              errorText: 'error',
              hintText: 'hint',
              suffixIcon: Icon(Icons.abc),
            ),
            autofocus: true,
          ),
        ],
      ),
    );
  }
}

@desmond206x Thank you for reply Also i can't disable semantics on iPad browser because iPad device type is returning  "macOS"

Hi @htoor3 Any update on this issue?

I'm unable to reproduce this on the latest master and stable channels.

Web (Desktop)
Web (Mobile)

<video src="https://github.com/flutter/flutter/assets/53122008/ec16903a-d957-4156-9140-61b145f7933b"

@desmond206x @msutharworkspace Can you please check this out on the latest versions to confirm this no longer reproduces?
stable, master flutter doctor -v

[!] Flutter (Channel stable, 3.19.0, on macOS 14.2.1 23C71 darwin-arm64, locale
    en-NG)
    • Flutter version 3.19.0 on channel stable at
      /Users/damilolaalimi/sdks/flutter
    ! Warning: `dart` on your path resolves to
      /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/damilolaalimi/sdks/flutter.
      Consider adding /Users/damilolaalimi/sdks/flutter/bin to the front of your
      path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision bae5e49bc2 (2 days ago), 2024-02-13 17:46:18 -0800
    • Engine revision 04817c99c9
    • Dart version 3.3.0
    • DevTools version 2.31.1
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.6+0-17.0.6b802.4-9586694)

[!] Android Studio (version unknown)
    • Android Studio at /Users/damilolaalimi/Downloads/Android Studio
      Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to determine Android Studio version.
    • Java version OpenJDK Runtime Environment (build
      17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.86.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] VS Code (version 1.83.1)
    • VS Code at /Users/damilolaalimi/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] Connected device (5 available)
    • sdk gphone64 arm64 (mobile) • emulator-5554                        •
      android-arm64  • Android 14 (API 34) (emulator)
    • Damilola’s iPhone (mobile)  • 00008110-001964480AE1801E            • ios
      • iOS 17.1.1 21B91
    • iPhone 15 (mobile)          • DBCC5388-DA57-470E-8F0E-477EA0AA3C3A • ios
      • com.apple.CoreSimulator.SimRuntime.iOS-17-2 (simulator)
    • macOS (desktop)             • macos                                •
      darwin-arm64   • macOS 14.2.1 23C71 darwin-arm64
    • Chrome (web)                • chrome                               •
      web-javascript • Google Chrome 121.0.6167.184

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

[!] Flutter (Channel master, 3.20.0-7.0.pre.83, on macOS 14.2.1 23C71 darwin-arm64, locale en-NG)
    • Flutter version 3.20.0-7.0.pre.83 on channel master at /Users/damilolaalimi/fvm/versions/master
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/damilolaalimi/fvm/versions/master. Consider adding /Users/damilolaalimi/fvm/versions/master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 6ee7e24bfe (3 hours ago), 2024-02-16 00:51:06 -0500
    • Engine revision dd530f1556
    • Dart version 3.4.0 (build 3.4.0-148.0.dev)
    • DevTools version 2.33.0-dev.6
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[!] Android Studio (version unknown)
    • Android Studio at /Users/damilolaalimi/Downloads/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to determine Android Studio version.
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.86.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] VS Code (version 1.83.1)
    • VS Code at /Users/damilolaalimi/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] Connected device (6 available)
    • sdk gphone64 arm64 (mobile)     • emulator-5554                        • android-arm64  • Android 14 (API 34) (emulator)
    • Damilola’s iPhone (mobile)      • 00008110-001964480AE1801E            • ios            • iOS 17.1.1 21B91
    • iPhone 15 (mobile)              • DBCC5388-DA57-470E-8F0E-477EA0AA3C3A • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-2 (simulator)
    • macOS (desktop)                 • macos                                • darwin-arm64   • macOS 14.2.1 23C71 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad                • darwin         • macOS 14.2.1 23C71 darwin-arm64
    • Chrome (web)                    • chrome                               • web-javascript • Google Chrome 121.0.6167.184

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

Still reproduceable for me with the latest master branch version. Same behaviour as before.

Flutter doctor master
[!] Flutter (Channel master, 3.20.0-7.0.pre.85, on Microsoft Windows [Version 10.0.22631.3085], locale de-DE)
• Flutter version 3.20.0-7.0.pre.85 on channel master at C:\flutter\master
! The flutter binary is not on your path. Consider adding C:\flutter\master\bin to your path.
! The dart binary is not on your path. Consider adding C:\flutter\master\bin to your path.
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision a603a17875 (5 hours ago), 2024-02-16 09:43:50 +0200
• Engine revision dd530f1556
• Dart version 3.4.0 (build 3.4.0-148.0.dev)
• DevTools version 2.33.0-dev.6
• If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
• Android SDK at C:\Users\user\AppData\Local\Android\Sdk
• Platform android-33, build-tools 33.0.1
• Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
• Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[!] Visual Studio - develop Windows apps (Visual Studio Professional 2022 17.8.2)
• Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Professional
• Visual Studio Professional 2022 version 17.8.34322.80
• Windows 10 SDK version 10.0.19041.0
X Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the "Desktop development with C++" workload, and include these components:
MSVC v142 - VS 2019 C++ x64/x86 build tools
- If there are multiple build tool versions available, install the latest
C++ CMake tools for Windows
Windows 10 SDK
[√] Android Studio (version 2022.3)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• android-studio-dir = C:\Program Files\Android\Android Studio
• Java version OpenJDK Runtime Environment (build 17.0.6+0-b2043.56-10027231)
[√] VS Code, 64-bit edition (version 1.86.1)
• VS Code at C:\Program Files\Microsoft VS Code
• Flutter extension version 3.82.0
[√] Connected device (3 available)
• Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22631.3085]
• Chrome (web)      • chrome  • web-javascript • Google Chrome 121.0.6167.185
• Edge (web)        • edge    • web-javascript • Microsoft Edge 121.0.2277.112
[√] Network resources
• All expected network resources are available.
! Doctor found issues in 2 categories.

Thanks for your response @desmond206x.
Running this again, I see it works on the first run, on reloading the page, it doesn't work until refocusing on the text field.
Screen record

https://github.com/flutter/flutter/assets/53122008/b0fe3ab3-cfc7-478f-a112-ced7485de976

On iOS devices, the keyboard doesn't pop up either on the first run even when TextField is focused or on refocus.
Screen record

https://github.com/flutter/flutter/assets/53122008/4788b200-d1ed-472b-8c7b-2f788427212b

On Android devices, the keyboard pops up on refocus and on reloading the web page but on the first run when TextField is focused, the keyboard isn't active.
Screen Record

Uploading Screen Recording 2024-02-19 at 07.59.24.mov…

flutter doctor -v

[!] Flutter (Channel master, 3.20.0-10.0.pre.43, on macOS 14.2.1 23C71 darwin-arm64, locale en-NG)
    • Flutter version 3.20.0-10.0.pre.43 on channel master at /Users/damilolaalimi/fvm/versions/master
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/damilolaalimi/fvm/versions/master. Consider adding /Users/damilolaalimi/fvm/versions/master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 74e054f04a (38 minutes ago), 2024-02-19 01:23:24 -0500
    • Engine revision 07c73b0c84
    • Dart version 3.4.0 (build 3.4.0-154.0.dev)
    • DevTools version 2.33.0-dev.6
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/damilolaalimi/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/damilolaalimi/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C500b
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[!] Android Studio (version unknown)
    • Android Studio at /Users/damilolaalimi/Downloads/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to determine Android Studio version.
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.86.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] VS Code (version 1.83.1)
    • VS Code at /Users/damilolaalimi/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.78.0

[✓] Connected device (5 available)
    • sdk gphone64 arm64 (mobile)     • emulator-5554             • android-arm64  • Android 14 (API 34) (emulator)
    • Damilola’s iPhone (mobile)      • 00008110-001964480AE1801E • ios            • iOS 17.1.1 21B91
    • macOS (desktop)                 • macos                     • darwin-arm64   • macOS 14.2.1 23C71 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad     • darwin         • macOS 14.2.1 23C71 darwin-arm64
    • Chrome (web)                    • chrome                    • web-javascript • Google Chrome 121.0.6167.184

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

@dam-ease Any progress on this?
Can we change the title? It is not true, that this only happens on mobile browsers. Happens on all web browsers.
Still reproduceible with the current master branch.

This issue is due to error helper text when error helper shows after that keyboard will not work.

This issue is still reproducible in 3.19.6 flutter sdk.

This issue is also causing the semantics reader to skip over the TextField when talkback/voiceover is enabled.

Does this work for android chrome as well ? I am having issues inputting text @mdebbar
Flexible(                     flex: 2,                     child: FormBuilderTextField(                       key: const ValueKey('email_input'),                       name: 'email',                       decoration: const InputDecoration(                         label: Text('Email'),                         contentPadding: EdgeInsets.fromLTRB(15, 15, 15, 15),                         border: OutlineInputBorder(                           borderRadius: BorderRadius.all(Radius.circular(5)),                         ),                       ),                     ),                   ),


python312Packages.pyogrio: 0.9.0 → 0.10.0

Description of changes
https://github.com/geopandas/pyogrio/releases/tag/v0.10.0
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 345320 run on x86_64-linux 1

2 packages marked as broken and skipped:

python312Packages.shimmy
python312Packages.shimmy.dist

54 packages built:

python311Packages.bsuite
python311Packages.bsuite.dist
python311Packages.folium
python311Packages.folium.dist
python311Packages.geodatasets
python311Packages.geodatasets.dist
python311Packages.geopandas
python311Packages.geopandas.dist
python311Packages.geoparquet
python311Packages.geoparquet.dist
python311Packages.inequality
python311Packages.inequality.dist
python311Packages.libpysal
python311Packages.libpysal.dist
python311Packages.mapclassify
python311Packages.mapclassify.dist
python311Packages.momepy
python311Packages.momepy.dist
python311Packages.osmnx
python311Packages.osmnx.dist
python311Packages.plotnine
python311Packages.plotnine.dist
python311Packages.pyogrio
python311Packages.pyogrio.dist
python311Packages.shimmy
python311Packages.shimmy.dist
python311Packages.wktutils
python311Packages.wktutils.dist
python312Packages.bsuite
python312Packages.bsuite.dist
python312Packages.folium
python312Packages.folium.dist
python312Packages.geodatasets
python312Packages.geodatasets.dist
python312Packages.geopandas
python312Packages.geopandas.dist
python312Packages.geoparquet
python312Packages.geoparquet.dist
python312Packages.inequality
python312Packages.inequality.dist
python312Packages.libpysal
python312Packages.libpysal.dist
python312Packages.mapclassify
python312Packages.mapclassify.dist
python312Packages.momepy
python312Packages.momepy.dist
python312Packages.osmnx
python312Packages.osmnx.dist
python312Packages.plotnine
python312Packages.plotnine.dist
python312Packages.pyogrio
python312Packages.pyogrio.dist
python312Packages.wktutils
python312Packages.wktutils.dist


Need fallback when cannot establish the connection using WebRTC without relying on TURN server.

Accidentally created this issue lol


[Feature] expand naming convention

permit exported variables to be StrictPascalCase

Our component names across frameworks are in PascalCase, and as we generally write one component per file, they are immediately exported. So it makes sence IMO, to permit exported variables to be StrictPascalCase.

permit any format for object literal properties

The current setup makes it really annoying to code HTML element attributes, which we often do in Muban.
example:
attr: {
  'aria-expanded': ...,
  'aria-disabled': ...,
}

I think it is completely reasonable to permit any format for object literal properties. As the only time where we will actually use them is when the keys of the object in question are not known i.e. Record<string, ...>. So in cases like above in Muban, or handling API data - all cases that we can't control.

I think it is completely reasonable to permit any format for object literal properties.

Not that I'm against, but this would also allow the highly debated:
const foo = {
  FOO: 'abc',
  BAR: 'def',
}

right?

@ThaNarie

this would also allow the highly debated:
const foo = {
 FOO: 'abc',
 BAR: 'def',
}

we can also permit all formats, except for UPPER_CASE, so this casing would not be permitted.

@ThaNarie

this would also allow the highly debated:
const foo = {
 FOO: 'abc',
 BAR: 'def',
}

we can also permit all formats, except for UPPER_CASE, so this casing would not be permitted.

I agree we should allow:
attr: {
  'aria-expanded': ...,
  'aria-disabled': ...,
}

However we should not allow
const foo = {
 FOO: 'abc',
 BAR: 'def',
}

So it would be nice if we can prevent that

@ThaNarie @ThijsTyZ
I updated the rule to something better: it will disallow all formats except strictCamelCase as before, except for quoted properties - which is exactly what we want.

❌

const foo = {
 FOO: 'abc',
 BAR: 'def',
}

:heavy_check_mark:

const foo = {
 'foo-bar': 'abc',
 'bar-foo': 'def',
}


Allow comma to be taken as a decimal point in the Number only input

Locales like Swedish (SV) use comma "," instead of "." as the decimal point
Microsoft Reviewers: Open in CodeFlow

@BalajiR - care to take a look?


allow nested dict/list structure in Config

fixes #5798

@amaltaro, Alan, please review. Not sure about side effect of this though. I updated the patch in reqmgr2-dev.cern.ch. Could you try to create the clone request which initially gives you the error?
Thanks

One thing, I am concern is that there must be reason we didn't allow this before. So need to be careful check things before merge this.

Looks good to me. I'll create a few requests soon. Thanks!!

Workflows also ran without any issues. However, we need to make sure service logs are not complaining about anything from these changes. Let's check this out during testbed validation, we may find the reason for that :-)


Silent assigners

I believe assigners shouldn't be silent. As far as if developer made a typo at (for example) channel code - it will not be assigned to (for example) media.
Fix example:
<?php

/*
 * This file has been created by developers from BitBag.
 * Feel free to contact us once you face any issues or want to start
 * another great project.
 * You can find more information about us on https://bitbag.shop and write us
 * an email on<EMAIL_ADDRESS> */

declare(strict_types=1);

namespace BitBag\SyliusCmsPlugin\Assigner;

use Sylius\Component\Channel\Model\ChannelsAwareInterface;
use Sylius\Component\Channel\Repository\ChannelRepositoryInterface;
use Sylius\Component\Core\Model\ChannelInterface;
use Webmozart\Assert\Assert;

final class ChannelsAssigner implements ChannelsAssignerInterface
{
    /** @var ChannelRepositoryInterface */
    private $channelRepository;

    public function __construct(ChannelRepositoryInterface $channelRepository)
    {
        $this->channelRepository = $channelRepository;
    }

    public function assign(ChannelsAwareInterface $channelsAware, array $channelsCodes): void
    {
        foreach ($channelsCodes as $channelCode) {

            /** @var ChannelInterface $channel|null */
            $channel = $this->channelRepository->findOneBy(['code' => $channelCode]);

            Assert::isInstanceOf($channel, ChannelInterface::class, sprintf(
                'Channel with code %s was not found',
                $channelCode
            ));

            $channelsAware->addChannel($channel);
        }
    }
}

fixed with 3.0.0 release


Make fork_simple actually simple

The fork_simple test isn't simple and isn't testing anything that the current fork.c test is. This PR replaces that with an actual simple fork thats now a det test.

Looks a lot simple!


Cuda out-of-memory error when using larger dimensions for output- or seed images

Hello,
First of all thanks for coding the dream-factory - a really cool tool!
I have a NVIDIA RTX 3070 with 8GB memory and am running into an issue when I use larger dimensions for the output format (e.g. 3000x4000) or seed images (2400x3000), I get the CUDA out-of-memory error below.
I tried setting the PYTORCH_CUDA_ALLOC_CONF environment variable but it didn't solve the issue.
On the forums they suggested to reduce the batch size but I checked the dream-factory source code and it is already set to 1.
Do you have any suggestions to create larger images?
Thanks!
RuntimeError: CUDA out of memory. Tried to allocate 65.48 GiB (GPU 0; 8.00 GiB total capacity; 2.74 GiB already allocated; 2.88 GiB free; 2.81 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
[cuda:0] >>> finished job #1 in 22.55 seconds.

3000x4000 is way beyond what you'll be able to do with 8GB of VRAM (you can see pytorch tried to allocate 65GB+ of memory for the operation!). With 8GB of VRAM and !SD_LOW_MEMORY = yes, you should be able to do roughly 1024x1024 (not exactly sure, I don't have an 8GB GPU to test). Start there and keep lowering until you don't get out-of-memory errors to find your max.
To generate higher resolution images, most people use upscaling. Real-ESRGAN is built into Dream Factory, so that'll probably be your most convenient option. Results can be very good even with upscale factors set to 3-4x, depending on your source image. You can set !USE_UPSCALE = yes and !UPSCALE_AMOUNT = 3.0 to get 2304x2304 output images if your generation size is 768x768, for example.

That makes sense. Thanks for the detailed explanation. :)


Efficient canvas-based rendering for heatmaps

Render this waterfall:

Without melting the browser.

Browser melty version implemented.

Grafana is already rendering this via a canvas element. Most of the time it is melting because of the high amount of datapoints. We should downsample in the database already


searching selected issue

When searching, select all options, all options are selected, not the search filter options

When searching, select all options, all options are selected, not the search filter options

Use 'selectAllOnlyVisible' property


How to improve performance for batch lock

Dear:
In my project, we want to lock large number of data at the same time, the max data size will be 200,000.
We found redisson cann't support this kind of scenario, it'll take several hours to lock 200,000 data totally, 20 millisecond
for one record.
Is there any solution for this  big data scenario?
Best regards.

Hi,
Could you share code example how you aquire these locks?

Dear mrniko:
We use multilock as following code:
    RedissonMultiLock multiLock = null;
    Redisson redisson = (Redisson)Jalor.getContext().getBean("redisson");
    try {
        RLock[] lockList = new RLock[data.size()];
        int index = 0;
        for (String businesskey : data) {
            RLock rock = redisson.getLock(PersonListConstant.HW_BONUS_LIST_PERSON_T_LOCK + "_" + businesskey);
            lockList[index++] = rock;
        }

        multiLock = new RedissonMultiLock(lockList);
        multiLock.tryLock();
    } catch (Exception e) {
        LOGGER.error("Lock error:", e);
    } finally {
        multiLock.unlock();
    }

Best Regards

Do you lock them only through RedissonMultiLock object?

Do you lock them only through RedissonMultiLock object?

Yes, we lock all the object by RedissonMultiLock.

In Redis cluster?

In Redis cluster?

Yes, cluster mode, the config as below.
<redisson:client id="redisson">

    <redisson:cluster-servers scan-interval="1000"
                              password="${redisson.password}">
        <redisson:node-address value="${redesson.server1}"></redisson:node-address>
        <redisson:node-address value="${redesson.server2}"></redisson:node-address>
        <redisson:node-address value="${redesson.server3}"></redisson:node-address>
        <redisson:node-address value="${redesson.server4}"></redisson:node-address>
        <redisson:node-address value="${redesson.server5}"></redisson:node-address>
        <redisson:node-address value="${redesson.server6}"></redisson:node-address>
    </redisson:cluster-servers>

</redisson:client>

Per multiLock.tryLock call you want to use 200000. How many unique names could be used in total?

We'll use 200000 unique names across all multilocks.
By the way, when can we get the 3.13.7 version from maven site.
Best Regards.

How many multilock instances do you plan to use concurrently?

By the way, when can we get the 3.13.7 version from maven site.

During next month.

Dear mrniko:
We hope can get 200,000 locks within 1 minute.
I don't know how many multilock instances should be used to meet this requirement.
Now our application is deployed to the user test environment already, therefore we hope to fix this issue by the end of this week.
It's greate favorate if you can give us some temporary solution.
Best Regards

As temporary solution you can use a single lock.

Dear mrniko,
We also have tried single lock as below code:
        for (String item : data) {
            RLock rock = redissonClient.getLock(PersonListConstant.HW_BONUS_LIST_PERSON_T_LOCK + "_" + item);

            boolean rockresult = rock.tryLock();
            LOGGER.info("Get rock result:{}", rockresult);
        }

The performance is almost same as multiRock, it'll take several hours to lock 200,000 records totally, 20 millisecond
for one record.

No, I mean usage of single global lock.

can redisson set return the successfully locked object? in our application, we dont need all names to be locked, we just care about these name can be locked

I added tryAdd method to RSet and RSetCache interfaces. Use it instead of multilock for your case. Here is an example:
        RSet<String> set = redisson.getSet("multilock");
        Set<String> names = new HashSet<>();
        int elements = 200000;
        for (int i = 0; i < elements; i++) {
            names.add("name" + i);
        }

        // lock
        boolean allNamesLocked = set.tryAdd(names.toArray(new String[]{}));

        ....

        // unlock
        set.removeAll(names);

what if removeAll failed