feat: enforce explicit declaration of timestamp migration options

In our application, we decided to configure migration_timestamps:
config :my_app, MyApp.Repo,
  migration_timestamps: [
    type: :timestamptz,
    inserted_at: :row_inserted_at,
    updated_at: :row_updated_at
  ]

Due to such change, we started running into issues with 3rd party libraries like Oban.Pro and Commanded.Projections.Ecto that ship with some Ecto Schema and sometimes migrations that use timestamps that didn't configure the options for the timestamps/1 migration function were failing because the fields weren't named correctly.
Solution

Allow enforcing explicit configuration for timestamps migration function.

Reasoning
Having migration_timestamps introduces a lot of hassle we would discover after we deployed the application forcing us to deal with database rollbacks since, in cases like Oban.Pro, you may not be doing an integration test.
Also, if somebody changes the configuration, you may get a false positive because you would generally reset your local database or start from the beginning with a migration that will be technically out of sync. To make things worst (kind of), we would typically provide a new database on CI so that it wouldn't catch potential issues.
Alternative
In an ideal scenario, we would just avoid the usage of timestamps/1 migration function if Ecto didn't want to introduce the feature, but the 3rd party packages will still be affected by it. Such a configuration will allow us to determine which migrations need to be fixed. Also, I feel there is some value in helping people avoid such mistakes while maintaining the consistency of the timestamps configuration across the code base.

Any other suggestion on how to tackle the problem?

There are a couple things that stick out to me:

If someone is aware enough to set this option then they would be aware of the issue you are describing and know to check for conflicting migrations.
It doesn't fix the issue of conflicting migrations just brings attention to the problem. So it seems like a replacement for due diligence/testing which doesn't seem like something Ecto should be encouraging.

It seems like this ought to be be completely solvable with testing. Before you deploy your configuration should be set. So if the library's migration is not creating the timestamp field needed by the schema it would be caught.

Due to such change, we started running into issues with 3rd party libraries like Oban.Pro and Commanded.Projections.Ecto that ship with some Ecto Schema and sometimes migrations that use timestamps that didn't configure the options for the timestamps/1 migration function were failing because the fields weren't named correctly.

Imo those are the bugs to fixed here. When 3rd party libraries depend on a function, which may be user configurable they should enforce/overwrite what they cannot support to be changed (even if those values are the defaults), e.g. timestamps(inserted_at: :inserted_at, …).

Agreed with the comments. Please report those issues upstream. :)

I agree with y'all, but it is much easier to say, in a perfect world and whatnot where it wouldn't be a real problem.
Such a feature has caused honest problems. Just put in the shoes of people affected by such a global configuration that could cause issues.
Is there any harm or concern about taking the feature?

I agree with y'all, but it is much easier to say, in a perfect world and whatnot where it wouldn't be a real problem.

That's not what we are saying at all. What we are saying is that this won't effectively solve the problem.

For application users, it will force them to be repetitive in all of their migrations when trying to catch a bad library

For library authors, if they know it, they know about the problem (and they could effectively do import Ecto.Migration, only: [timestamp: 0] to avoid running into it

For application users, it will force them to be repetitive in all of their migrations when trying to catch a wrong library

By design, we would like to do that; people must explicitly define the configuration to avoid any problems at the application level. This is a trade-off we would like to have.

For library authors, if they know about the option, they know about the problem (and they could effectively do import Ecto.Migration, only: [timestamp: 0] to avoid running into it

They don't know about the issue until somebody runs into it (Like the Oban creator and our situation). I ask that you help us avoid dealing with DB rollbacks and things that are pretty hard to do compared with maintaining 20 LoC. I wish it weren't the situation, but it already caused issues in more than one app.

They don't know about the issue until somebody runs into it

This PR doesn't solve it either: new apps won't use the option unless they also run into the issue.
Since we are repeating ourselves, I won't make further comments here. We agree and understand the problem. But we don't believe this effectively address it. I would recommend exploring other solutions.


How to use the repo?

 Many Thanks.

Closing due to inactivity to response.


Change spark server initialization to service

In order to use spark-test in multiple unit test classes, the initialization of the spark server have to be changed by using the Service class provided by spark.
Problem by this implementation is the need of adjusting the route registration, as seen in the test classes.
I tested the changes with your test classes and in a different project, having three test classes.

@Tobisaninfo could you please post this issue in github.com/ferwasy/spark-test?
Thank you!

Here is the issue, that inspires me for this pull request
https://github.com/despegar/spark-test/issues/14

@Tobisaninfo the issue is now https://github.com/ferwasy/spark-test/issues/1 and the PR should be submitted there (and not in this repository here).


Puppeteer Issue: Could not find browser revision

[[22:30:38.766]] [ERROR] Error: Could not find browser revision 818858. Run "PUPPETEER_PRODUCT=firefox npm install" or "PUPPETEER_PRODUCT=firefox yarn install" to download a supported Firefox browser binary.
at ChromeLauncher.launch (E:\Github\Amiyos-WhatsApp_MusicBot\node_modules\puppeteer\lib\cjs\puppeteer\node\Launcher.js:79:23)
at Client.initialize (E:\Github\Amiyos-WhatsApp_MusicBot\node_modules\whatsapp-web.js\src\Client.js:67:25)
[ERROR] 22:30:38 Error: Could not find browser revision 818858. Run "PUPPETEER_PRODUCT=firefox npm install" or "PUPPETEER_PRODUCT=firefox yarn install" to download a supported Firefox browser binary.

@mlg404 Help ?


fix helm dep build/update doesn't inherit --insecure-skip-tls-verify from helm repo add

fix helm dep build/update doesn't inherit --insecure-skip-tls-verify from helm repo add

What this PR does / why we need it:
resolve https://github.com/helm/helm/issues/8868
Special notes for your reviewer:
If applicable:

[ ] this PR contains documentation
[x] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

Because the time is too long, it is too different from the master branch, so I close https://github.com/helm/helm/pull/8896.

@bacongobbler Thanks very much.

Because the time is too long, it is too different from the master branch, so I close #8896.

In the future, you can git rebase master to bring your branch up to date. There should not be a need to close and re-open a new PR.
https://git-scm.com/book/en/v2/Git-Branching-Rebasing

Because the time is too long, it is too different from the master branch, so I close #8896.

In the future, you can git rebase master to bring your branch up to date. There should not be a need to close and re-open a new PR.
https://git-scm.com/book/en/v2/Git-Branching-Rebasing

Thanks very much， Thank you for your guidance.

@bacongobbler Looking forward to your guidance!

@bacongobbler Looking forward to your guidance!

Auy update？

ping

@mattfarina ping

Thanks you very much. This code is very long time. I will change it.  Thank your guidance very much again! @bacongobbler

/retest

I change the unittest, The errors in ci/circleci: build I thank is not my fault.   Looking forward to your guidance! @bacongobbler

@bacongobbler I want to join in The Helm Project very much , what should I do next? Thanks very much. I think I can do better.

The tests is all ok. @bacongobbler  Thank you very much.

@bacongobbler Looking forward to your guidance! Thanks very much.

Any update on this? A fix for this bug would be very useful.

@bacongobbler What should I do next?

@bacongobbler Thanks very much!

@jdolitsky Can you approve this PR? Thanks very much.

any update?

I build this locally and am using it instead of the originial release until merged. Thanks @yxxhero for this contribution.

@kofl91 Thanks very much.

@mattfarina  can you apporved this. Thanks very much.


Reducing hallucinations in local Whisper models for OpenWebUI v0.5.1 by removing silence from audio files

for OpenWebUI v0.5.1
Dear users, if you are experiencing issues with "hallucinations" in local Whisper speech recognition models, I suggest you try the following solution, which may help improve the situation.
The current implementation records audio files with silence, even when no sound is coming through the microphone, causing problems when processing such files with Whisper models, especially in whisper mode. This also wears out the hard drive, even when the room is completely silent.
The proposed solution is not a complete solution to the problem, but it attempts to improve the speech recognition results. A more elegant approach would be not to record silence from the microphone when there are no sounds on it. To achieve this, in the web part of OpenWebUI, a silence threshold needs to be configured so that files are not recorded when there is silence on the microphone up to a certain threshold. Unfortunately, at the moment it is not known how to do this correctly, and it would be best if the developers implemented this functionality.
I have created a modified version of the audio.py file that removes silence from audio files for local models before sending them to the speech recognition model.
audio.py.txt
The file is named audio.py.txt, and you need to rename it to audio.py before copying it to the OpenWebUI project.
The original file that needs to be modified is located in the project repository at this link: https://github.com/open-webui/open-webui/blob/main/backend/open_webui/routers/audio.py
Instructions for replacing the audio.py file in Docker:
Open a terminal and make sure the Docker container is running (docker ps).

Use the docker cp command to copy the audio.py file into the container:

docker cp /local/path/to/audio.py CONTAINER_NAME:/app/backend/open_webui/routers/

Replace /local/path/to/audio.py with the path to the file on your computer, and CONTAINER_NAME with the name or ID of the container.

For local installation without Docker:
Copy the audio.py file to the backend/open_webui/routers/ folder of your local project repository.
After each copy of the modified file, you need to restart the Docker container for the changes to take effect.
If you encounter errors or want to revert to the original state, simply copy the audio.py file from the official project repository and repeat the copy operation as described above.
Please note that you may have different paths to this file in your projects. Make sure you copy the modified file to the correct location, replacing the original file.
I hope this solution helps you improve your work with Whisper models.

I have made the following changes to the file:
Imported the necessary modules:

from multiprocessing import Pool, cpu_count

Added a function remove_silence_from_chunk that removes silence from an audio chunk:

def remove_silence_from_chunk(audio_chunk):
    """Removes silence from an audio chunk."""
    return split_on_silence(
        audio_chunk,
        min_silence_len=500,  # minimum length of silence for splitting
        silence_thresh=-40  # silence loudness threshold
    )

Added a function remove_silence that removes silence from an audio file by splitting it into chunks and processing them in parallel:

def remove_silence(audio):
    """Removes silence from an audio file by splitting it into chunks and processing them in parallel."""
    chunk_size = 500  # chunk size in milliseconds
    chunks = [audio[i:i+chunk_size] for i in range(0, len(audio), chunk_size)]

    # Parallel processing of audio chunks
    with Pool(processes=cpu_count()) as pool:
        results = pool.map(remove_silence_from_chunk, chunks)

    # Merging chunks without silence
    non_silent_segments = [segment for chunk in results for segment in chunk]
    return sum(non_silent_segments) if non_silent_segments else audio

Modified the transcribe function to remove silence from the audio file before transcription:

def transcribe(request: Request, file_path):
    print("transcribe", file_path)
    filename = os.path.basename(file_path)
    file_dir = os.path.dirname(file_path)
    id = filename.split(".")[0]

    if request.app.state.config.STT_ENGINE == "":
        if request.app.state.faster_whisper_model is None:
            request.app.state.faster_whisper_model = set_faster_whisper_model(
                request.app.state.config.WHISPER_MODEL
            )

        model = request.app.state.faster_whisper_model

        # Load and process the audio file
        audio = AudioSegment.from_file(file_path)
        processed_audio = remove_silence(audio)  # Remove silence from audio

        # Save the processed audio to a temporary file
        temp_path = f"{file_dir}/{id}_processed.wav"
        processed_audio.export(temp_path, format="wav")

        segments, info = model.transcribe(temp_path, beam_size=5)
        log.info(
            "Detected language '%s' with probability %f"
            % (info.language, info.language_probability)
        )

        transcript = "".join([segment.text for segment in list(segments)])
        data = {"text": transcript.strip()}

        # Save the transcript to a json file
        transcript_file = f"{file_dir}/{id}.json"
        with open(transcript_file, "w") as f:
            json.dump(data, f)

        log.debug(data)
        return data

These changes introduce the functionality of removing silence from audio files before they are sent to the Whisper speech recognition model, which can help reduce "hallucinations" and improve transcription accuracy.

audio.py.txt
Improved speech recognition by handling empty and short audio fragments
This commit enhances the speech recognition process by:

Returning an empty result for empty audio files
Discarding audio shorter than 0.5 seconds after silence removal

Use this updated version for better accuracy and fewer hallucinations.
Enhanced handling of empty and short audio fragments in speech recognition
This commit introduces improvements to the speech recognition process to better handle empty and short audio fragments:

Empty audio handling: If the audio is empty after silence removal, the code now returns an empty result without sending it to the model. This avoids unnecessary processing of empty audio files.

Minimum audio duration check: After removing silence, the code checks if the remaining audio duration is above a specified minimum threshold (currently set to 0.5 seconds). If the audio is too short, it is discarded, and an empty result is returned. This prevents the model from processing very short, potentially meaningless audio fragments.

These improvements should enhance the speech recognition accuracy and reduce the occurrence of hallucinations when processing empty or very short audio recordings.

I am personally interested in this because I often want to use the Call feature but can't because of this.
I'm adding it to my fork to see what happens!

I am personally interested in this because I often want to use the Call feature but can't because of this.
I'm adding it to my fork to see what happens!
EDIT: Whisper hallucinations are reduced but in my case i think i need a more "powerful" solution (like disabling the mic at all + silence removal).

Dear friend, thank you so much for your feedback. Did you use the latest version of audio.py.txt? From my message that was the last one before yours? Because I edited it to completely exclude any hallucinations. And it works great for me. I understand that you additionally need the microphone to be turned off in order to exclude the capture of TTS OpenWebUI sound from external speakers? Did I understand you correctly? I wrote a special program for my system using ChatGPT to work around this issue, in order to turn off the microphone while the sound is output to the speakers. Unfortunately, I don't know what operating system you have or where you are using OpenWebUI. There may already be ready-made programs or scripts for your system that implement turning off the microphone while outputting sound to external speakers.
But here is an example for my Manjaro Linux system, the source code of this program, which I then compiled into an executable file.  turn_off_mic_when_sound_to_speakers.c.txt
You might want to ask ChatGPT or another similar powerful artificial intelligence to write a similar program for your system so that it works for you.

Instruction for adjusting silence removal parameters in audio files
This instruction will help you understand how the main silence removal parameters in our code work and how changing them affects the result. This will allow you to customize the silence removal process according to your needs.
Main parameters:
min_silence_len - the minimum duration of a pause in milliseconds that is considered "silence". Pauses shorter than the specified value will not be removed.
silence_thresh - the volume threshold in decibels below which the sound is considered "silence". Audio segments with a volume below this value will be removed.
chunk_size - the size of the segments in milliseconds into which the audio will be divided for parallel processing.
MIN_DURATION_SECONDS - the minimum allowed duration of the audio in seconds after silence removal. If the audio is shorter than the specified value after processing, the function will return an empty result.

Examples and the impact of parameter changes:
Original value: min_silence_len=500 (0.5 sec)
Your example: min_silence_len=5000 (5 sec)
Difference: In your example, pauses of 5 seconds or more will be removed, while shorter pauses will remain in the audio. This is useful if you need to keep short pauses.

Original value: silence_thresh=-40 (decibels)
Your example: silence_thresh=-35 (decibels)
Difference: In your example, louder segments will be considered "silence" and removed along with it. This may be appropriate if there is constant noise in the audio that needs to be removed.

Original value: chunk_size=500 (0.5 sec)
Your example: chunk_size=5000 (5 sec)
Difference: In your example, the audio will be divided into larger segments of 5 seconds for parallel processing. This can speed up processing on powerful processors but may also reduce the accuracy of silence removal.

Original value: MIN_DURATION_SECONDS=0.5 (sec)
Your example: MIN_DURATION_SECONDS=1.5 (sec)
Difference: In your example, audio shorter than 1.5 seconds after silence removal will be considered "empty". This is useful for filtering out audio segments that are too short after processing.

Recommendations:
Experiment with different parameter values and choose the ones that give the best result for your audio.
Increase min_silence_len if you need to keep short pauses.
Increase silence_thresh if you need to remove constant noise along with silence.
Choose the optimal chunk_size based on the power of your processor and the required quality of silence removal.
Increase MIN_DURATION_SECONDS if you need to filter out audio segments that are too short after processing.

Feel free to experiment and find the best parameter values for your case. Good luck with adjusting and processing your audio recordings!

I want to add, maybe it will be useful to someone, I have been using this wonderful model for recognition for a long time, just by inserting a link to it in the Open Webui interface: Lunaxod/large-v3-turbo-faster-whisper
https://huggingface.co/Lunaxod/large-v3-turbo-faster-whisper/tree/main This is the fastest, lightest and most accurate model of all that I've come across, which I am very satisfied with. I mainly use the Russian language.

I just saw your new instructions, i thing what i was doing wrong: i was using Whisper with APIs by OpenAI. My bad!

I just saw your new instructions, i thing what i was doing wrong: i was using Whisper with APIs by OpenAI. My bad!
If i manage to enable Whisper locally i will give your code a try!

Oh, now I understand why it didn't work for you! I got it. The thing is, I only use local models because I don't have access to paid APIs. So I won't be able to check if the silence removal will work with them, especially since I have an NVIDIA graphics card and a version of Open WebUI with CUDA acceleration.
I don't know what graphics card you have, but with CUDA, everything should work fast if you have enough video memory to simultaneously use a local speech recognition model and an AI model.
Installing a local speech-to-text model is quite simple. Here's a brief guide:
Go to http://localhost:3000/admin/settings
Select the "Audio" tab
In the "Speech recognition settings," set the following parameters:
    Speech recognition system: Whisper (Local)
    Speech recognition model: in this line, install, for example, the Lunaxod/large-v3-turbo-faster-whisper model or another compatible model
Click the download icon on the right and wait for the selected model to download from the https://huggingface.co/ repository
After the model is successfully downloaded, don't forget to save the settings

Keep in mind that the Lunaxod/large-v3-turbo-faster-whisper model is 814 MB. For it to work quickly, you need an NVIDIA graphics card with CUDA.


Add new comment

Hi @cancelei,

In this PR I have improved the funtionality of this application with adding a new funtionality that add the user data to the api.

Hi @Salarhabibi-amir  ,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
STATUS: APPROVED 🟢
Highlights

Good PR title ✅
Descriptive PR description ✅
Implement the features ✅
Linters are green ✅
Correct GitHub workflow ✅
Meaningful Github commits ✅
Correct .github/workflows for linters ✅
Followed best-practices ✅
Correct Semantics used ✅

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
⚠  WARNING ⚠
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.
Have any doubt ❓
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag @skyv26 in your question so I can receive the notification. You can also follow me on the below platforms

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Core components should we written in typescript

The following components need porting to typescript with hooks:

[x] layout/ContentHeader, #425
[x] layout/ErrorBoundary (class component), #426
[x] layout/Header, #408
[x] layout/Header/Waves, #419
[x] layout/HeaderActionMenu, #425
[x] layout/HeaderLabel, #425
[ ] layout/HeaderLabel/OwnerHeaderLabel (removed)
[ ] layout/InfoCard
[ ] layout/InfoCard/BottomLink

Only InfoCard that isn't WIP, so can assign this issue if anyone wants to look at that.

Only InfoCard that isn't WIP, so can assign this issue if anyone wants to look at that.

I can take on InfoCard. :)

@hooloovooo thanks!

Done. Thanks all that helped!


Add back new lines in animal instinct, fix typo in re-en.json

Everything in PC2 is on hold until its release, which includes barbarians. I recommend pulling the bleed damage roll fix out into a separate PR.

Not merging anything that's getting touched in PC2


Add demo website GitHub link to the footer

Add the following information to the footer of the demo website:

This website is built on top of the ABP Framework and the source-code is available at github.com/abpframework/eshoponabp

Secondly, add a padding to the right side of the login link:

The latest version 1.1.0 was deployed
The error here looks like a database connection error.


importlib instead of imp

imp is long deprecated

though honestly, maybe we should use other things like entry points for some of the use cases...

Basically applies to acquisition modules, as everywhere else is gobbled up by yaq... I think the modules should be entry points

I'm not convinced the modules should be /anything/...

What is your alternative? we need at least scan and motor tune, and people like the tuning ones, find them easier to use than in the past... I know you have your hesitations, but I'm still pretty convinced the benefits outweigh the costs (though admittedly closer than I once was...)
Homing in the queue was also a requested feature, though absolutely willing to rethink the specifics of that....

or is what you are saying to just directly import them by name, rather than either importlib or entry points...

@untzag ??

I guess I'm just being grumpy. Sure, we should move to importlib. I'm hoping that we can get rid of the "module" construct eventually, but I don't have a concrete proposal at this time.

I really really don't want to build any more "plugin" systems unless we actually plan to document and support them---I'm very frustrated by our current "worst of both worlds" approach. I say :-1: to things like entry points until we actually have a come-to-jesus moment about the module abstraction.

I guess my idea is to use entry points to solidify the interface... definitely some things I wish to change about it, not just simply tacking on entry points to what we have...


Knocback not working correctly

What version of ViaVersion are you using? Type /ver viaversion
0.5.6
What version of Spigot are you using? Type /ver
Lastest paperspigot 1.8.8
What plugins are you using? Type /plugins
https://gyazo.com/641897888fb76b309ebab6d73db0414e
Are you using any additional software like BungeeCord? If so, what software and version? (Please list your plugins as well)
BungeeCord
How does this error happen? login? Using an item?
Enchant a sword with knockback 2 for example then stand in someone and hit them. They just stand in the same spot. It doesn't happen all the time though maybe 10% or 20% of hits. I disabled the aac knockback check to makesure it wasn't that.

It's working just fine for me. Can you try it with the normal Spigot?

It's working for me with latest PaperSpigot.

Closing since nobody is experiencing this issue and it was reported on PaperSpigot.


Computer update

What happens if I set a timer with Shutdown Timer Classic just as the computer is downloading and installing an update (so it will restart itself) ?

The newer versions of Windows leave the decision of when to restart to you and do not restart automatically during the set "active hours", at least in my experience. You can tweak Windows Update's restart behaviour and "active hours" in the Settings app.
Shutdown Timer Classic usually resists closing attempts by prompting the user with a message box (requires user interaction to exit) which would let Windows to interrupt a regular restart but if Windows really wants to update, there is nothing my app can do about it, as the the Windows Update restarts are usually forceful.
Also a good portion of updates don't require a restart and will be installed in the background, it's usually just the semi-annual feature updates that do this. But if Shutdown Timer Classic is executing a shutdown or restart and a Windows Update, which requires a restart, is queued for installation, the Update will be installed when Shutdown Timer Classic (or any other process) initiates the shutdown/restart process.

Can you add name under the icon in windows start ? It would be very useful

Done!


[Feature] the team related front-end improve

[Feature] the team related front-end improve
What problem does this PR solve?
Issue Number: close #1753
Problem Summary:
What is changed and how it works?
Proposal : #1629
Feel free to ping committers for the review!
Contribution Checklist

Make sure that the pull request corresponds to a GITHUB issue.

Name the pull request in the form "[Feature] [component] Title of the pull request", where Feature can be replaced by Hotfix, Bug, etc.

Minor fixes should be named following this pattern: [hotfix] [docs] Fix typo in README.md doc.

Purpose of this pull request

Offline discuss with @wolfboys, there are some logic need to be improved.

When open multi page, and select different team for each page. The team id of each team should be right.
When user login the platform first time. There are 3 cases:

When the user isn't bound any team, don't allow login, and tell him : please contact admin bind team first.
When the user only belongs to one team, StreamPark can help the user select the team by default.
When the user belongs to multi teams. User must choose one first.

Last team is just used ehen choose team and cannot be used in other interfere.

Offline discuss with @wolfboys, there are some logic need to be improved.

When open multi page, and select different team for each page. The team id of each page should be right.

When user login the platform first time. There are 3 cases:

When the user isn't bound any team, don't allow login, and tell him : please contact admin bind team first.
When the user only belongs to one team, StreamPark can help the user select the team by default.
When the user belongs to multi teams. User must choose one first.

Last team is just used ehen choose team and cannot be used in other interfere.

Thanks for your feedback, all done. PTAL

@wolfboys What is the third meaning and the background?

When open multi page, and select different team for each page. The team id of each page should be right.

Hi @wolfboys , does this bug still exist?

hi 1996fanrui:
Thanks you for the review, Most of the problems are solved. Two issue about the front-end:

the same browser, while opening multiple pages, switch team, will affect all other pages, the correct should be isolated from each other, do not affect each other
team select box should show the name, not id

Front-end developers will be invited to fix these two issues later.

hi 1996fanrui:
Thanks for the review, Most of the issue are solved. Two issue about the front-end have not been solved:

the same browser, while opening multiple pages, switch team, will affect all other pages, the correct should be isolated from each other, do not affect each other
team select box should show the name, not id

Front-end developers will be invited to fix these two issues later.

Hi @wolfboys, thanks for your hard work.
LGTM.

+1, LGTM. Merging to dev.
Thank you, @wolfboys


EClint format question

I'm having trouble understanding how to construct the proper format string.
I've gotten something to work using the online error fomrat sandbox
But I can't figure out how to setup reviewdog to reproduce this. Specifically, do I need to use the reviewdog.yml file? Could I pass the fmt on the command line? If so, how?

You can pass multiple -efm flags if you want to pass the formats via cli flags.
e.g.
-efm="%-P%f" -efm="%E%*[\ ]%l:%c%*[\ ]%*[❌]%*[\ ]%m" ...


nvidia: improve robustness of udev rules

Description of changes
Basically stolen from:
https://github.com/NVIDIA/yum-packaging-nvidia-kmod-common/blob/main/60-nvidia.rules
minus the -Z flag to mknod which is only relevant for selinux so I don't think is needed
fixes #165719
Supercedes #126604
Tried to ping the author but was unresponsive so far, and the udev issue is rather a annoying one (since it grinds my system to a halt), so I'd rather get this merged sooner than later.
Things done
This also adds a few additional changes to consistently detect the device minor instead of hardcoding it, which was already being done in the uvm rules

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1002


Server Problems

So.. I was trying to make a server with the Statistics plugin. At least i think that is the plugin i need to make the server, also i have all the plugins expect some bad ones.
I dont know that is wrong with it but the server never goes public... please help me

@MatuYT Do you know exactly what Statistics is used for?

I just want to make a server to have fun with everybody. And no, i dont. sorry, i'm new to this stuff -.- and please don't start making jokes about me just because im new.

I'd be the last person to joke.

But you don't need plugins to run a server, and servers are to better be tanned without plugins, BUT, you can use some plugins you might think will come in handy. You can read the plugin description before downloading.
Since you're new, you should read this https://github.com/AJS-development/Ogar-unlimited/blob/master/README.md


feat(_selinux): Add inital SELinux feature

feat(_selinux): Add inital SELinux feature
How to categorize this PR?

/kind enhancement
/area os
/os garden-linux
What this PR does / why we need it:
This PR adds SELinux as a part of the feature system (type flag). The primary goal is to have a common feature for SELinux that applies all basic stuff for Garden Linux (e.g. correct policies, correct modes, etc), that should only slightly be changed by other features (or in best case situations, no changes are needed). This could affect CIS, as well as FedRAMP.
Which issue(s) this PR fixes:
Fixes #1184
Special notes for your reviewer:
We should discuss if we want to proceed with enforcing as default. Within this mode, one the one hand we may find faster and more missing policy rules, on the other one it may cause more trouble at the beginning.
Do NOT merge until selinux-policy-targeted-fedora is present in Garden Linux repositories.
Release note:

- category: feature
- target_group:   user

Thanks for you comments. Pleas note that this PR is drafted and this isn't ready for review, yet.


[FIX][BE: PYTHON][ANCHOR][PRICING PAGE] Billing Plans Not Available

User Story
As a user, I want to view available billing plans, so that I can make informed decisions about subscribing to the service.
Description
Users are unable to access or view the billing plans due to an issue with the billing system. This problem is preventing users from understanding the available subscription options, which could lead to a loss of potential revenue and a poor user experience.
Purpose
The purpose of this task is to resolve the issue where billing plans are not available for users to view. Fixing this problem will ensure that users can see all subscription options, enhancing the overall user experience and increasing the likelihood of conversions.
Requirement

Backend: Ensure that the billing plans are correctly fetched from the database and made available to the frontend.

Acceptance Criteria

Users can view all available billing plans on the billing page.
The billing plans are displayed with accurate pricing, names, and associated features.
The billing page loads without errors or delays.
Automated tests for billing plan visibility pass successfully.

Expected Outcome
Users will be able to see and compare all available billing plans, leading to an improved user experience and a higher likelihood of users subscribing to a plan.

Working on this, pls assign to me

I already made a PR @JoshuaOloton


libxml2: Remove Darwin bootstrapping hack

Description of changes
No longer appears to be needed? I successfully built libxml2 on Darwin community builder.
Reverts 36bb8d969a76020c156530aed1d3fd1588842036.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] 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.05 Release Notes (or backporting 23.05 and 23.11 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

[ ] Fits CONTRIBUTING.md.

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

Sounds good, if the two stdenvs build.  I'm not sure if ofBorg can manage to confirm.  Perhaps also build the other stdenv on the community darwin?  (I see it listing both, rosetta2 surely.)

FWIW I removed this as part of my change to update the darwin bootstrap tools as building the older libxml2 crashes clang-16.

https://github.com/NixOS/nixpkgs/pull/295558
https://github.com/NixOS/nixpkgs/pull/295557

I can confirm x64 and aarch64 stdenv build with my changes which i am aiming to get in for the next staging cycle.


Add ability to auto progress through pages

Add timer functionality to transition between pages

This is now available in 0.4.9


Upgrade with_flattened to loop in symlink-shared.yml task

We asked to please squash these changes into 1 commit, once this is done we will merge it and release a new tag

Sorry I've been super busy lately. I'll try to have a new PR this week.


Support only tailing since stern starts

What would you like to be added:
Something like: --since=now, or perhaps --since=0s (which isn't currently supported).
Why is this needed:
I use stern in CI/CD, and I want to only show logs that appear AFTER I start stern.
Currently, the closest option is --since=1s.

You can use stern --tail 0 <query>.
$ stern -h | grep -- --tail
      --tail int                   The number of lines from the end of the logs to show. Defaults to -1, showing all logs. (default -1)

If you still have any issue, please feel free to reopen this issue.


kfctl should work with private GKE without public endpoint

kfctl should work with private GKE without public endpoint.
How to setup test env:

create private GKE without public endpoint
in same VPC, create VM without public network access
in same VPC, enable private GCP access
verify running kfctl from the VM to deploy to target private GKE.

TODOs:

make kubeflow images accessible from private GKE: some images used by kubeflow is not hosted on GCR so is not accessible from private GKE. To resolve it we have 2 options:

option 1: provide image replication tool which can sync images to client project
option 2: replicate images to kubeflow images project and create private GKE overlays which use images only from GCR

release private GKE compatible IAP kubeflow config file kfctl_gcp_iap_private.yaml: this config file should support:

deploy to existing private GKE.
create an IAP endpoint through which user can access kubeflow UI.
if kfctl is running from a private VM, private google access should be enabled.

Since GCP has migrated out of kfctl and use gcp-blueprint instead, close the issue
/close


Implement ReBeL with Public State API

Hi,
I would like to study and implement ReBeL in OpenSpiel.
I learn from here that public states are fundamental for not only this algorithm but also DeepStack, Pluribus, and MCCR (Monte Carlo Continual Resolver). And I came across this Public State API by @michalsustr but can no longer find it in the main repo anymore.
Is Public State API still a recommended way to implement ReBeL? Is it supplanted by FOG (factored observation game) or sequential bayesian game? Where should I get started?

Hi, yes this was removed. I would say it would be easier to star from a framework that natively supports public states from the start, rather than building them on top of OpenSpiel. The ReBeL paper linked to some open code.. @michalsustr would that be a good place to start? Do you know of any general code bases that supports FOGs or public states natively?
Tagging @ssokota too. He might have some pointers.

I'm not aware of any open-source frameworks that natively support public-private factorization, unfortunately.

@lanctot Your suggestion saves me a lot of effort. Thank you.
Hi @ssokota, I see your implementation for Trade Comm public belief state here. Do you think it would be useful if I look into the codebase and make some adaptation to ReBeL?

If your goal is to make a ReBeL implementation that is general to OpenSpiel, I think it makes sense to implement an API for public observations. If you just want to do a Texas Hold'em implementation, you could just use an existing game implementation and have the ReBeL implementation take care of public information extraction internally.

@ssokota Make sense. Thank you for your suggestion.


Refactor

Refactor the overall structure of the codebase.

There is one catch that the line, offset on the server are 1-based, while the line, column used by sublime are 0-based. It might be clearer to refactor the names to one_based_line and zero_based_line.

We seem to be inconsistent on the file naming.  Some have capitals in them (e.g. "TypeScript.py"), some have underscores (e.g. "go_to_type.py" or "quick_info.py"), and some don't (e.g. "jsonhelpers.py" or "eventhub.py").  It would be good to make this consistent while doing all the work to move files around now.  Personally, I like all lower case with underscores, e.g. "quick_info.py", which aligns with the PEP8 guidance. (p.s. "auto_indent_on_enter_between_curly_braces.py" is probably a little long.  Can we shorten this?)
Also, why did we make 'commands' and 'listeners' top level packages also, rather than residing within one top level package (e.g. 'libs')?

I agree that all lower case with underscore file names would make more sense.
I don't really have a preference regarding weather to make the 'commands' and 'listeners' top level packages or not, would that make a difference? Both anaconda and omnisharp are doing it too, so I didn't give it much thought.

It's not a big deal about the top-level thing, so we can leave it as is for now.  If everything was surfaced in the top-level package it would allow you to just have "from libs import *" in the typescript.py, but again, as-is currently is fine.

FYI: you broke a few things by renaming jsonhelpers to json_helpers but not updating all the places where this is used. Example: on lines 19 and 74 in commands/references.py you still call jsonhelpers but should call json_helpers, this breaks "Find All References"; I've fixed locally and verified that it works.

@ddotlic Oops I just noticed as well. Will correct in a minute. Thanks for the heads up!


[Feature] KubeEdge SIG AI: Benchmarks for Edge-cloud Collaborative Lifelong Learning

Background:
The KubeEdge SIG AI is chartered to facilitate Edge AI applications with KubeEdge. An overview of SIG AI activities can be found in this charter.
KubeEdge-Sedna has released the first edge-cloud collaborative lifelong learning on June 2021, together with a hands-on example and a free playground on Katacoda. The sceme learn coming tasks from the edge based on previously learned tasks on cloud knowledgebase.
Why is this project needed:
According to the survey on edge ai landing challenges, the top 1 advice goes to "providing public datasets, pre-processing and baseline codes to build benchmarks". This advice gets 82.18%, 92.98%, 87.10% and 86.67%  votes among all paticipants, the industial, acadamic and student community on edge ai, respectively.
Our Effort starts from the edge-cloud collaborative benchmarks. This project focuses on measuring and validating the desired behaviors for an epoch-making Edge AI scheme, i.e., Edge-cloud Collaborative Lifelong Learning.
What contents are to be added/modified:
This project will help all Edge AI application developers to validate and select the best-matched algorithm of lifelong learning. Parts of the effort are developing test cases on the existing scheme of Edge-cloud Collaborative Lifelong Learning on KubeEdge-Sedna, including interfaces for benchmark specification, algorithms like preprocessing and metrics, and even baselines.
Other information:
Recommended Skills: TensorFlow/Pytorch, Python
Sedna lifelong-learning introduction
Sedna guide
Sedna lifelong-learning proposal
How to contribute Sedna
Related issue for reference (if any):
#58 Add an example of implementation Federated Learning to ReID
#96 Edge AI Benchmark review
#118 Edge AI Benchmark: Consolidate/Prioritize metrics
#119 Edge AI Benchmark: add step by step instructions for users to benchmark their works
#120 Edge AI Benchmark: add leaderboard/forum
#274 KubeEdge SIG AI: Benchmarks for Edge-cloud Joint Inference

Several breath-taking Edge-AI scenarios have been prepared for benchmarking: looking forward to seeing your codes involved in real-world robots, outer-space satellites, and industrial production lines!

@iszhyang owns a great osop project working on a simulator for this issue.
Proposal PR: https://github.com/kubeedge/ianvs/pull/35
Code PR: https://github.com/kubeedge/ianvs/pull/39


(Re)allow optional parameter types

The difference after the 5.0.16/17 change was that instead of [nil] we now were sending [] when we have an optional param type, which throws an error when you use *. This will just insert a nil if it's empty

Please send pull requests agains the monorepo. We're maintaining 4 different implementations of this library, so a change in one should be reflected in the others.
Please also add tests for your change.
You don't have to update the other implementations, we can do that.


Sourcemaps seem to be broken when using minifcation

When using minification, sourcemap creation seems to be broken, it just creates a source map with content like this:
{"version":3,"file":"ds4.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}

I set sourcemap to true in the output part of the rollup config, and use the following swc plugin configuration
        swc({ minify: true, sourceMaps: true }),

It works perfectly fine when minify is set to false.

rollup-plugin-swc is using swc's minify named export to do minification during the renderChunks phase:
https://github.com/SukkaW/rollup-plugin-swc/blob/001f15aead43c235b5954ce35e3567bc8757b4ec/src/index.ts#L148-L151
And swc has a undocumented, dedicated sourceMap option for jsc.minify:
https://github.com/swc-project/swc/blob/ee959ee2f680965df3842c4010073e35bceeb92a/node-swc/src/types.ts#L34
Try with the option see if it works:
swc({
  minify: true,
  jsc: { minify: { sourceMap: true } },
  sourceMaps: true
})

Thanks, it works perfectly this way!
May I suggest adding this to the README? I think it could help a lot of people who might run into the same problem.
Closing the issue as there is no bug and the problem has been solved.

Thanks, it works perfectly this way!
May I suggest adding this to the README? I think it could help a lot of people who might run into the same problem.
Closing the issue as there is no bug and the problem has been solved.

The issue is due to the unclearness of SWC's documentation.
Actually, I am about to create an Issue at SWC, complaining about the minify behavior and the documentation, and it should be fixed by swc at its end.


Missing config-item description in CommandCenter since 6.3.3

Describe the bug
In 6.3.3 a major command center ui update was introduced. Since the update there is no description of the config values anymore.
It would be nice if this could be readded in any way (as bugfix) because for some config values the description is indispensable.
Screenshots
Before:

Since 6.3.3

Thank you for your contribution.
The description should still be available as a tooltip by hovering over configuration options:

If that is not possible, I would agree with you on this being a bug.
When updating the UI, we didn't find a better spot to put these descriptions and tried to balance between having all the information at a glance and appropriate UX. We are happy about any ideas to improve this.

Hovering is not an option on touch UIs where we typically configure the modules. We do not have a mouse on production machine HMIs. Even the "open" and "expand" is not that clear. In a tree (what it looks like) a click on a tree-item "expands" it. In the command center it "opens" the item, thats misleading. Only with the arrow it can be expanded.
To be honest, I preferred the tabular view rather than having everything randomly arranged. Compare it in my screenshots, from my POV the view from 6.3.2 is cleaner and tidier with all necessary information


Separate and prioritize built-in Node modules over 3rd party modules

Is it possible prioritize Node's built-in modules over 3rd party modules?
Given the following imports:
import path from 'path'
import cookieSession from 'cookie-session'
import cors from 'cors'
import favicon from 'serve-favicon'
import 'express-async-errors'
import { createProxyMiddleware } from 'http-proxy-middleware'
import express from 'express'

The plugin will output the following after formatting
import cookieSession from 'cookie-session'
import cors from 'cors'
import express from 'express'
import 'express-async-errors'
import { createProxyMiddleware } from 'http-proxy-middleware'
import path from 'path'
import favicon from 'serve-favicon'

But would be nice if built-in modules like path, fs, util, etc are prioritized
import path from 'path'

import cookieSession from 'cookie-session'
import cors from 'cors'
import express from 'express'
import 'express-async-errors'
import { createProxyMiddleware } from 'http-proxy-middleware'
import favicon from 'serve-favicon'

Even the following config would not solve this because these built-in modules would appear after and not before.
"importOrder": [
  "^(assert|buffer|child_process|cluster|crypto|dgram|dns|domain|events|fs|http|https|net|os|path|punycode|querystring|readline|stream|string_decoder|timers|tls|tty|url|util|v8|vm|zlib)$",
  "^[./]"
],

Undesired result (path is not prioritized):
import cookieSession from 'cookie-session'
import cors from 'cors'
import express from 'express'
import 'express-async-errors'
import { createProxyMiddleware } from 'http-proxy-middleware'
import favicon from 'serve-favicon'

import path from 'path'

Duplicate #65


Struct integration test

Struct integration test
Description
Add an integration test that checks if structs work correctly
Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[x] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

Codecov Report

Merging #143 (12d38e0) into main (98ce82c) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #143   +/-   ##
=======================================
  Coverage   97.12%   97.12%
=======================================
  Files          20       21    +1
  Lines        3370     3379    +9
=======================================
+ Hits         3273     3282    +9
  Misses         97       97

Impacted Files
Coverage Δ

src/vm/runners/cairo_runner.rs
99.66% <ø> (ø)

tests/struct_test.rs
100.00% <100.00%> (ø)

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 98ce82c...12d38e0. Read the comment docs.


Feature/replacing spannablebuilder

I also think that dealing with new-lines and changing implementation of SpannableBuilder are different features and should be in different pull requests, can you split the thing?

@noties Please have another look. This pull request now only includes changes related to implementation change of SpannableBuilder.

I will do the changes as soon as I get some spare time...

@c-b-h when will you have time to address these issues?

@noties Will this changes improve performance?

@CraggyHaggy it should. Do you have any complaints about current one?

@CraggyHaggy it should. Do you have any complaints about current one?

No, i'm just interested in the idea of these structural changes.

Hey @c-b-h we will have to return to this later and based on latest 2.0.0 release


Linking failed when i do 'ninja'

Ubuntu 18.10. Had some C libs related updates (Just saying. I'm not developer at all)
Removed scrcpy and wanted to build it again. Using pre-build *.jar
When i do ninja
I move to scrcpy/x and do ninja
And get this
[1/2] Linking target app/scrcpy.
FAILED: app/scrcpy
cc  -o app/scrcpy 'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app@@scrcpy@exe/src_fps_c
ounter.c.o' 'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/a
pp<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>-flto -Wl,--no-undefined -Wl,--as-needed -Wl,-O1 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libavformat.so /usr/lib/x86_64-linux-gnu/libavcodec.so /usr/lib/x86_64-linux-gnu/libavutil.so /usr/lib/x86_64-linux-gnu/libSDL2.so -Wl,--end-group

/usr/bin/ld: //usr/lib/x86_64-linux-gnu/libopenmpt.so.0: undefined reference to `std::random_device::_M_getentropy<EMAIL_ADDRESS>collect2: error: ld returned 1 exit status
[2/2] Generating scrcpy-server with a custom command.
:server:preBuild UP-TO-DATE
:server:preReleaseBuild UP-TO-DATE
:server:compileReleaseAidl UP-TO-DATE
:server:compileReleaseRenderscript UP-TO-DATE
:server:checkReleaseManifest UP-TO-DATE
:server:generateReleaseBuildConfig UP-TO-DATE
:server:prepareLintJar UP-TO-DATE
:server:mainApkListPersistenceRelease UP-TO-DATE
:server:generateReleaseResValues UP-TO-DATE
:server:generateReleaseResources UP-TO-DATE
:server:mergeReleaseResources UP-TO-DATE
:server:createReleaseCompatibleScreenManifests UP-TO-DATE
:server:processReleaseManifest UP-TO-DATE
:server:splitsDiscoveryTaskRelease UP-TO-DATE
:server:processReleaseResources UP-TO-DATE
:server:generateReleaseSources UP-TO-DATE
:server:javaPreCompileRelease UP-TO-DATE
:server:compileReleaseJavaWithJavac UP-TO-DATE
:server:compileReleaseNdk NO-SOURCE
:server:compileReleaseSources UP-TO-DATE
:server:lintVitalRelease
:server:mergeReleaseShaders UP-TO-DATE
:server:compileReleaseShaders UP-TO-DATE
:server:generateReleaseAssets UP-TO-DATE
:server:mergeReleaseAssets UP-TO-DATE
:server:transformClassesWithDexBuilderForRelease UP-TO-DATE
:server:transformDexArchiveWithExternalLibsDexMergerForRelease UP-TO-DATE
:server:transformDexArchiveWithDexMergerForRelease UP-TO-DATE
:server:mergeReleaseJniLibFolders UP-TO-DATE
:server:transformNativeLibsWithMergeJniLibsForRelease UP-TO-DATE
:server:transformNativeLibsWithStripDebugSymbolForRelease UP-TO-DATE
:server:processReleaseJavaRes NO-SOURCE
:server:transformResourcesWithMergeJavaResForRelease UP-TO-DATE
:server:packageRelease UP-TO-DATE
:server:assembleRelease

BUILD SUCCESSFUL in 1s
27 actionable tasks: 1 executed, 26 up-to-date
ninja: build stopped: subcommand failed.

When i do sudo ninja install
[1/2] Linking target app/scrcpy.
FAILED: app/scrcpy
cc  -o app/scrcpy 'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>-flto -Wl,--no-undefined -Wl,--as-needed -Wl,-O1 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libavformat.so /usr/lib/x86_64-linux-gnu/libavcodec.so /usr/lib/x86_64-linux-gnu/libavutil.so /usr/lib/x86_64-linux-gnu/libSDL2.so -Wl,--end-group
lto1: fatal error: bytecode stream in file ‘app/app<EMAIL_ADDRESS>generated with LTO version 4.2 instead of the expected 7.1
compilation terminated.
lto-wrapper: fatal error: cc returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Did you remove the whole x folder, and retried from scratch?
meson x --buildtype release --strip -Db_lto=true \
    -Dprebuilt_server=/path/to/scrcpy-server.jar
cd x
ninja
sudo ninja install

Yes. I even pulled this repo again
Whole log
The Meson build system
Version: 0.47.2
Source dir: /home/andrew/git_projects/scrcpy
Build dir: /home/andrew/git_projects/scrcpy/x
Build type: native build
Project name: scrcpy
Project version: 1.8
Native C compiler: cc (gcc 5.5.0 "cc (Homebrew gcc 5.5.0_4) 5.5.0")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Native dependency libavformat found: YES 58.12.100
Native dependency libavcodec found: YES 58.18.100
Native dependency libavutil found: YES 56.14.100
Native dependency sdl2 found: YES 2.0.8
Configuring config.h using configuration
Build targets in project: 6
Found ninja-1.8.2 at /usr/bin/ninja
[33/33] Linking target app/scrcpy.
FAILED: app/scrcpy
cc  -o app/scrcpy 'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>-flto -Wl,--no-undefined -Wl,--as-needed -Wl,-O1 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libavformat.so /usr/lib/x86_64-linux-gnu/libavcodec.so /usr/lib/x86_64-linux-gnu/libavutil.so /usr/lib/x86_64-linux-gnu/libSDL2.so -Wl,--end-group
/usr/bin/ld: //usr/lib/x86_64-linux-gnu/libopenmpt.so.0: undefined reference to `std::random_device::_M_getentropy<EMAIL_ADDRESS>collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
[1/2] Linking target app/scrcpy.
FAILED: app/scrcpy
cc  -o app/scrcpy 'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>'app/app<EMAIL_ADDRESS>-flto -Wl,--no-undefined -Wl,--as-needed -Wl,-O1 -Wl,--start-group /usr/lib/x86_64-linux-gnu/libavformat.so /usr/lib/x86_64-linux-gnu/libavcodec.so /usr/lib/x86_64-linux-gnu/libavutil.so /usr/lib/x86_64-linux-gnu/libSDL2.so -Wl,--end-group
lto1: fatal error: bytecode stream in file ‘app/app<EMAIL_ADDRESS>generated with LTO version 4.2 instead of the expected 7.1
compilation terminated.
lto-wrapper: fatal error: cc returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

There is a problem with LTO, try to not enable it:
meson x --buildtype release --strip -Dprebuilt_server=/path/to/scrcpy-server.jar

https://techoverflow.net/2017/06/22/how-to-resolve-fatal-error-bytecode-stream-generated-with-lto-version-instead-of-the-expected/

Error appears without LTO.
Had a chance to discuss it with our CPP developer. So as i got it right from his explanation some libraries from dependencies: libavformat, libavcodec, libavutil, sdl2 are build using different compilators. The thing is that last time i built scrcpy was december and since then i remember i had some updates on this libraries. So i guess it's Ubuntu's fault
Is this helpful information?
Maybe some workaround?
May i use binary built on another system and put it into /usr/local/bin/scrcpy?

The thing is that last time i built scrcpy was december and since then i remember i had some updates on these libraries.

But if that was the case, you could just rebuild scrcpy against these upgraded dependencies (like #325).

Well, output is kind of similar to what i got without LTO parameter. I will try on fresh Ubuntu on VM then update it and see what happens

Yep, that's weird. Had 18.10 upgraded to 19.04 on my VM and then ran build which have been finished with success. I hope i can use this binary on my real system. Don't want to mess with docker with this one. Maybe i can reinstall libs or do something like this?
Output
The Meson build system
Version: 0.49.0
Source dir: /home/andrew/git/scrcpy
Build dir: /home/andrew/git/scrcpy/x
Build type: native build
Project name: scrcpy
Project version: 1.8
Native C compiler: cc (gcc 8.3.0 "cc (Ubuntu 8.3.0-6ubuntu1) 8.3.0")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Dependency libavformat found: YES 58.20.100
Dependency libavcodec found: YES 58.35.100
Dependency libavutil found: YES 56.22.100
Dependency sdl2 found: YES 2.0.9
Configuring config.h using configuration
Build targets in project: 6
Found ninja-1.8.2 at /usr/bin/ninja
[33/33] Linking target app/scrcpy.
[sudo] password for andrew:
[0/1] Installing files.
Installing app/scrcpy to /usr/local/bin
Stripping target 'app/scrcpy'
Installing server/scrcpy-server.jar to /usr/local/share/scrcpy
inflated: META-INF/MANIFEST.MF
May 27, 2019 12:17:32 AM java.util.jar.Attributes read
WARNING: Duplicate name in Manifest: Manifest-Version.
Ensure that the manifest does not have duplicate entries, and
that blank lines separate individual sections in both your
manifest and in the META-INF/MANIFEST.MF entry in the jar file.
May 27, 2019 12:17:32 AM java.util.jar.Attributes read
WARNING: Duplicate name in Manifest: Built-By.
Ensure that the manifest does not have duplicate entries, and
that blank lines separate individual sections in both your
manifest and in the META-INF/MANIFEST.MF entry in the jar file.
May 27, 2019 12:17:32 AM java.util.jar.Attributes read
WARNING: Duplicate name in Manifest: Created-By.
Ensure that the manifest does not have duplicate entries, and
that blank lines separate individual sections in both your
manifest and in the META-INF/MANIFEST.MF entry in the jar file.

Alright, put scrcpy binary that i built on my VM to my real system and it worked. Except it couldn't exec ADB from /usr/bin so i had to declare ADB in .bashrc with Android SDK path.


Input parameter naming convention - time vs times

Several pvlib functions take an index as one of the input parameters, however, it is inconsistent whether this parameter is called times or time.
I think we should document the preferred naming, add it to the symbols and variables list, and make an effort to standardize.
See a few examples below of TIME:
https://github.com/pvlib/pvlib-python/blob/4cfda4a14366217ba9bb3b15d2531c61b7507e69/pvlib/solarposition.py#L30
https://github.com/pvlib/pvlib-python/blob/4cfda4a14366217ba9bb3b15d2531c61b7507e69/pvlib/solarposition.py#L128
https://github.com/pvlib/pvlib-python/blob/4cfda4a14366217ba9bb3b15d2531c61b7507e69/pvlib/tools.py#L120
Here's a few examples of TIMES:
https://github.com/pvlib/pvlib-python/blob/4cfda4a14366217ba9bb3b15d2531c61b7507e69/pvlib/tools.py#L424
https://github.com/pvlib/pvlib-python/blob/4cfda4a14366217ba9bb3b15d2531c61b7507e69/pvlib/solarposition.py#L392
https://github.com/pvlib/pvlib-python/blob/4cfda4a14366217ba9bb3b15d2531c61b7507e69/pvlib/solarposition.py#L1343

Related: #1253
In particular this comment (btw I have updated the table with time/times now thanks to this issue)

I vote for time.

I personally prefer times 😋

A good guiding principle may be to use plural words only when multiple values are necessary.  For example, I think times is an appropriate name for the _get_sample_intervals(times, win_length) function, since it actually requires multiple timestamps.   For other functions (e.g. hour_angle) that work fine with single timestamps, would we say that the function returns hour_angles, and do the rise/set functions return sunrises and sunsets?  Here I think singular makes sense.
An argument against time in general is that it has the same name as a python standard library.

An argument against time in general is that it has the same name as a python standard library.

Good point. I overlooked this when agreeing with "time" with the singular/plural grammar in mind. I retract my vote; pvlib should not shadow any standard python names.

An argument against time in general is that it has the same name as a python standard library.

Good point. I overlooked this when agreeing with "time" with the singular/plural grammar in mind. I retract my vote; pvlib should not shadow any standard python names.

As the shadowing only occurs within the function, this doesn't seem so serious.  It will not cause any problems for the user of the function.

As the shadowing only occurs within the function, this doesn't seem so serious. It will not cause any problems for the user of the function.

Yes, but we can't anticipate how a user structures their code. Maybe

As the shadowing only occurs within the function, this doesn't seem so serious. It will not cause any problems for the user of the function.

Yes, but we can't anticipate how a user structures their code.

I don't see an issue and fully agree with @adriesse on that it is not a problem. Can you provide an example of what you have in mind? AFAIK, this parameter will only override time identifier inside its namespace, the pvlib func.

I can't provide an example where code fails to run. And we've had time as a function parameter for years, so I yield my objection.

No problem.

I was about to edit this function:
https://github.com/pvlib/pvlib-python/blob/4cfda4a14366217ba9bb3b15d2531c61b7507e69/pvlib/solarposition.py#L392
in #2237 to add another example and test that all works flawlessly, but reading through its documentation I think the appropriate rename is date instead of times. From the docs (and code) of the internal function it uses:
https://github.com/pvlib/pvlib-python/blob/29b1f86e515bdf6b0b2bf9fc0addafb10646f572/pvlib/spa.py#L1106
These "times" must be at 00:00. Funny, isn't it?
Feel free to weight in if there are other words to be considered that I've missed.

No opinion here for pvlib, but in my own work I standardized on time for many dates ago.  I see date simply as low-resolution time, with the time-of-day unspecified.

I see date simply as low-resolution time, with the time-of-day unspecified.

That did convince me.

Shall transit_sunrise_sunset:
https://github.com/pvlib/pvlib-python/blob/cbe4cc5a8bb3bb529f2dd885aebcd527fedbbc63/pvlib/spa.py#L1106
be changed to time too? It requires the time part to be exactly at 00:00.


fixes toString bug with single-digit RGB values in utils.shade

In utils.shade, if the values of red, green, or blue are single-digit, the resulting string may not be a proper hex string. Single digits need to be prepended with '0'.

@transcranial thanks for the pr but I think we want to leverage [d3 color method(]https://github.com/mbostock/d3/wiki/Colors) instead of maintaining our owns.
Then we can support other color formats too =)

@transcranial thank you for the PR.
@yang-wei does this interfere with the d3 color method somehow?

@esbullington No. Feel free to merge


Not positioning correctly.

Hey,
I'm trying to use tooltipster for a Google Map tooltip.
I correctly am identifying the x, y where the exact point of tooltip should 'think' the arrow should point. I know its there because I've measured it several times.

The center of the red circle is the exact coordinates I'm giving to positionFunction. You can see how it's not even remotely close to getting it right though... not sure whats going on :/
In my code, mapTooltipXY is the variable I update with the new x and y of the google map marker (i set it in the mouseenter event of the marker);
I'm also adding pixel.x and pixel.y to the amounts. I know these are right because when I measure the values in mapTooltipXY they perfectly measure out to be the red circle.
var mapTooltipXY = {x: -99999, y: -99999};

var mapTooltip = $('#map-tooltip').tooltipster({
  theme: 'tooltipster-custom-light',
  side: 'top',
  animationDuration: [25, 25],
  delay: [300, 0],
  functionPosition: function(instance, helper, position) {
    position.coord.left = mapTooltipXY.x;
    position.coord.top = mapTooltipXY.y;
    return position;
  }
});

Google map event:
google.maps.event.addListener(marker, 'mouseover', function(x) {
  var projection = overlay.getProjection();
  var pixel = projection.fromLatLngToContainerPixel(marker.getPosition());

  var offset = $('#map')[0].getBoundingClientRect();
  mapTooltipXY.x = offset.left + pixel.x;
  mapTooltipXY.y = offset.top + pixel.y;
  mapTooltip
    .tooltipster('content', Math.random())
    .tooltipster('open');
});

One part that is kind of confusing is that tooltipster needs to be initialized on an html element... which is just an empty div above the map.
Technically (semantically?) the div doesnt serve the expected purpose though, because tooltipster normally counts that as the thing youre mousing over to trigger the tooltip... and in my case its not that at all (it only serves as an initialization div).
I tried looking for a method which i could instantiate tooltipster without specifying a 'mouse over div' but couldnt find it.. maybe something like new Tooltipster({x: x, y: y, content: 'content'}) (pseudo code).

I know for a fact its affecting it SOMEHOW, i just dont know how... because when I move the tooltip empty div near the top of the screen the arrow points up, and when i scroll down the arrow points the other way (regardless of what i set side to).
The correct thing i'm trying to accomplish is to 100% ignore the empty initialization div whatsoever and ONLY look at the exact coords that i specify, and open the tooltip pointing to that exact x,y point.
If im not doing this right let me know, i wasnt sure how else i could do it.

This was the biggest headache of all time. Still doesn't make sense but I ended up solving it in a somewhat ghetto way, buy making a 0 by 0 pixel target div which appears on the map under the mouse, right before triggering the popup. The tooltip then shows up correctly.

I think you mistook the position of the origin for the position of the tooltip. Glad you found your solution.

What would have been the proper way to do it, out of curiosity?

Your solution to use an invisible is perfectly valid, that's the logical way of doing it. A more hackish way of doing it would be by changing the computed coordinates of the origin upon the triggering of the geometry event.

I shouldn't say hackish, but at least it's less understandable and needs more understanding of Tooltipster's mechanics.


Conditional type on type argument reports different value when assigned to vs assigned from

Bug Report
🔎 Search Terms
Conditional type, assigned to, assigned from, type arguments
🕗 Version & Regression Information

This is a crash: no
This changed between versions 4.2.3 and 4.3.5

⏯ Playground Link
Playground link with relevant code
💻 Code
function test<T extends {}>() {
    type T1 = T extends {} ? true : false;
    type T2 = T & {} extends {} ? true : false;

    const t1a: T1 = true; // Errors?
    const t2a: T2 = true; // Ok

    const t1b: true = make<T1>(); // Ok
    const t2b: true = make<T2>(); // Errors?
}

declare function make<T>(): T;

🙁 Actual behavior

true is not assignable to T1.
T2 is not assignable to true.

🙂 Expected behavior

true is assignable to T1.
T2 is assignable to true.

Aren't cases like this just fun? 😅
The first thing that we need to take into account when discussing this is that conditional types with generic checkType or extendsType are not resolved (and that could lead to simplifying them to their trueType/falseType). There is a comment about this here:

// We attempt to resolve the conditional type only when the check and extends types are non-generic

On top of that, we have 2 similar sets of assignments in your examples. In each set we either try to assign a conditional type to primitive type or vice-versa, we try to assign a primitive to a conditional type. One of the conditional types used there is distributive (T1) while the other one isn't (T2).
const t1a: T1 = true;
In here, we have a conditional type at the target position and this conditional type is detected as distribution dependent here. This is the main reason why this fails as it's the main part of the code that can allow anything to be assignable to a conditional type (the only other part that allows this, and that I've found, is when the source type is a conditional type as well).
I was surprised that this conditional type is detected as dependent on distribution though. I dug a little bit and prepared a PR that fixes (?) this: https://github.com/microsoft/TypeScript/pull/52034 .
However, even with that potential fix we still don't get "expected" results. skipFalse is not being computed to true here and thus the conditional type is not "simplified" to its true branch as we end up checking if true is assignable to false here.
This whole skipFalse check is based on checking assignability of "restrictive instantiations" of the checkType and extendsType. I don't understand this concept at all (nor I understand "permissive instantiations"). The only thing that I know is that it doesn't grab the constraint of a type parameter - it uses the noConstraintType instead. This can be seen here
const t1b: true = make<T1>();
This is the opposite situation - the conditional type is the source and not the target. In such case, we successfully relate them here. The conditional type gets simplified as the constraint of the checkType ({}) is grabbed here and the conditional type is instantiated using this. So the true type gets returned from here
const t2a: T2 = true;
In here, we right away go to the block that deals with permissive/restrictive instantiations as this conditional type is not distributive (and thus it also isn't distribution dependent).
The restrictive instantiation of the checkType is still equivalent to T & {} and thus, based on intersection rules, this assignable to the restrictive instantiation of the extendsType ({}). For intersections it's enough to check if any of the intersected members is assignable to the target and one of the members is {}. Based on that we "simplify" the conditional type with skipFalse === true.
const t2b: true = make<T2>();
Since this conditional type is not distributive we end up checking if its default constraint is assignable to the target (here). The default constraint of a conditional type is a union of both branches (no simplification happening here), this can be seen here. So we end up with boolean (true | false) here and that is not assignable to true.

I simply describe why this all happens at the implementation level. I would expect that some improvements around this can be made.


wat.crash

https://paste.dimdev.org/kalolalono.mccrash

Still not much help unless you can narrow it down to a specific mod. I added a catch for this crash, but I can basically guarantee some other mod that uses potions will crash.

Fixed in 0.2.4


Deploy for KIPP NJ

So, thanks to @almartin92's hard work, we now can get some work done on openEduConnect/edu-data-standards#4.
There are 5 sql dumps to load in.

[x] Students
[ ] Attendance
[x] Behavior
[ ] Persons. Not yet required.
[ ] Assessment - Large Lift

@alexsoble and I will write code today that loads this into the Postgres database, this involves writing a set of KIPP Importers, similar to these.
After we have the whole thing running up on my machine, will deploy on Heroku. Will send url soon.

Students and Behavior is working! Trying Attendance and Assessments right now.

Closed with #208


fixed all .md links to main readme file

solved #34 Added all .md links to main readme file

i can't assign any level label for this PR


[Form] Add Fieldset / Legend

I feel like maybe I've missed something here.
I'm doing my first form with semantic-ui and using <fieldset> with <legend> to group fields together, but they appear to have no styling, plus can't find any documentation or other raised issues on either fieldset or legend tags.
Is there a reason that there's no support for these tags?

I'd really like to see Semantic UI implement support for the use of fieldset within forms as an alternative to using divs. I believe fieldset is the more semantic way of grouping form elements.
I did try my hand at modifying the base layout of the fieldset element as per @Dayjo and @Anachron's conversation. Have guys seen any further progress on this path?

For one, increased margins would be nice.


Set cmake-policy CMP0048 to NEW

When including this Project as subdirectory, cmake pushes a warning about the CMP0048 Policy. #864

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


UserSignedIn event test

New test for the UserSignedIn event and test wrong credentials login.

Pull Request Test Coverage Report for Build 33

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.7%) to 94.839%

Totals

Change from base Build 31:
1.7%

Covered Lines:
441

Relevant Lines:
465

💛  - Coveralls


v2.2.22 fails to build using Flutter 3.3.10

Xcode's output:
↳
Writing result bundle at path:
/var/folders/yv/8w6xq4fn78n0vkhbx_0kb7b1vd3hvp/T/flutter_tools.zjQuuS/flutter_ios_build_temp_dirG67sz0/temporary_xcresult_bundle

    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:349:9: Error: Type 'EditableTextContextMenuBuilder' not found.
      final EditableTextContextMenuBuilder? contextMenuBuilder;
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:357:9: Error: Type 'TapRegionCallback' not found.
      final TapRegionCallback? onTapOutside;
            ^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:349:9: Error: 'EditableTextContextMenuBuilder' isn't a type.
      final EditableTextContextMenuBuilder? contextMenuBuilder;
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:357:9: Error: 'TapRegionCallback' isn't a type.
      final TapRegionCallback? onTapOutside;
            ^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:363:12: Error: Undefined name 'AdaptiveTextSelectionToolbar'.
        return AdaptiveTextSelectionToolbar.editableText(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:727:27: Error: 'EditableTextContextMenuBuilder' isn't a type.
          DiagnosticsProperty<EditableTextContextMenuBuilder?>(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput_state.dart:354:16: Error: The method 'TextFieldTapRegion' isn't defined for the class '_PinputState'.
     - '_PinputState' is from 'package:pinput/src/pinput.dart' ('/usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart').
    Try correcting the name to the name of an existing method, or defining a method named 'TextFieldTapRegion'.
            return TextFieldTapRegion(
                   ^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput_state.dart:444:11: Error: No named parameter with the name 'contextMenuBuilder'.
              contextMenuBuilder: widget.contextMenuBuilder,
              ^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/packages/flutter/lib/src/widgets/editable_text.dart:572:3: Context: Found this candidate, but the arguments don't match.
      EditableText({
      ^^^^^^^^^^^^
    Failed to package /Users/techouse/Work/myApp.

Hi 👋  i have the same problem
../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:349:9: Error: Type 'EditableTextContextMenuBuilder' not found.
final EditableTextContextMenuBuilder? contextMenuBuilder;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:357:9: Error: Type 'TapRegionCallback' not found.
final TapRegionCallback? onTapOutside;
^^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:349:9: Error: 'EditableTextContextMenuBuilder' isn't a type.
final EditableTextContextMenuBuilder? contextMenuBuilder;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:357:9: Error: 'TapRegionCallback' isn't a type.
final TapRegionCallback? onTapOutside;
^^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:363:12: Error: Undefined name 'AdaptiveTextSelectionToolbar'.
return AdaptiveTextSelectionToolbar.editableText(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:727:27: Error: 'EditableTextContextMenuBuilder' isn't a type.
DiagnosticsProperty<EditableTextContextMenuBuilder?>(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput_state.dart:354:16: Error: The method 'TextFieldTapRegion' isn't defined for the class '_PinputState'.

'_PinputState' is from 'package:pinput/src/pinput.dart' ('../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart').
Try correcting the name to the name of an existing method, or defining a method named 'TextFieldTapRegion'.
return TextFieldTapRegion(
^^^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput_state.dart:444:11: Error: No named parameter with the name 'contextMenuBuilder'.
contextMenuBuilder: widget.contextMenuBuilder,
^^^^^^^^^^^^^^^^^^
../../../../fvm/versions/3.3.9/packages/flutter/lib/src/widgets/editable_text.dart:572:3: Context: Found this candidate, but the arguments don't match.
EditableText({

Hi 👋 i have the same problem
../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:349:9: Error: Type 'EditableTextContextMenuBuilder' not found. final EditableTextContextMenuBuilder? contextMenuBuilder; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:357:9: Error: Type 'TapRegionCallback' not found. final TapRegionCallback? onTapOutside; ^^^^^^^^^^^^^^^^^ ../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:349:9: Error: 'EditableTextContextMenuBuilder' isn't a type. final EditableTextContextMenuBuilder? contextMenuBuilder; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:357:9: Error: 'TapRegionCallback' isn't a type. final TapRegionCallback? onTapOutside; ^^^^^^^^^^^^^^^^^ ../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:363:12: Error: Undefined name 'AdaptiveTextSelectionToolbar'. return AdaptiveTextSelectionToolbar.editableText( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:727:27: Error: 'EditableTextContextMenuBuilder' isn't a type. DiagnosticsProperty<EditableTextContextMenuBuilder?>( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput_state.dart:354:16: Error: The method 'TextFieldTapRegion' isn't defined for the class '_PinputState'.

'_PinputState' is from 'package:pinput/src/pinput.dart' ('../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart').
Try correcting the name to the name of an existing method, or defining a method named 'TextFieldTapRegion'.
return TextFieldTapRegion(
^^^^^^^^^^^^^^^^^^
../../../../.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput_state.dart:444:11: Error: No named parameter with the name 'contextMenuBuilder'.
contextMenuBuilder: widget.contextMenuBuilder,
^^^^^^^^^^^^^^^^^^
../../../../fvm/versions/3.3.9/packages/flutter/lib/src/widgets/editable_text.dart:572:3: Context: Found this candidate, but the arguments don't match.
EditableText({

I have successfully built version 2.2.22, all you need to do is to update to the latest stable version of flutter which is 3.7, contextMenuBuilder replaces ToolbarOptions in the latest version of flutter. Hope this helps

Xcode's output:
↳
Writing result bundle at path:
/var/folders/yv/8w6xq4fn78n0vkhbx_0kb7b1vd3hvp/T/flutter_tools.zjQuuS/flutter_ios_build_temp_dirG67sz0/temporary_xcresult_bundle

    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:349:9: Error: Type 'EditableTextContextMenuBuilder' not found.
      final EditableTextContextMenuBuilder? contextMenuBuilder;
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:357:9: Error: Type 'TapRegionCallback' not found.
      final TapRegionCallback? onTapOutside;
            ^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:349:9: Error: 'EditableTextContextMenuBuilder' isn't a type.
      final EditableTextContextMenuBuilder? contextMenuBuilder;
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:357:9: Error: 'TapRegionCallback' isn't a type.
      final TapRegionCallback? onTapOutside;
            ^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:363:12: Error: Undefined name 'AdaptiveTextSelectionToolbar'.
        return AdaptiveTextSelectionToolbar.editableText(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart:727:27: Error: 'EditableTextContextMenuBuilder' isn't a type.
          DiagnosticsProperty<EditableTextContextMenuBuilder?>(
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput_state.dart:354:16: Error: The method 'TextFieldTapRegion' isn't defined for the class '_PinputState'.
     - '_PinputState' is from 'package:pinput/src/pinput.dart' ('/usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput.dart').
    Try correcting the name to the name of an existing method, or defining a method named 'TextFieldTapRegion'.
            return TextFieldTapRegion(
                   ^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/.pub-cache/hosted/pub.dartlang.org/pinput-2.2.22/lib/src/pinput_state.dart:444:11: Error: No named parameter with the name 'contextMenuBuilder'.
              contextMenuBuilder: widget.contextMenuBuilder,
              ^^^^^^^^^^^^^^^^^^
    /usr/local/Caskroom/flutter/3.3.10/flutter/packages/flutter/lib/src/widgets/editable_text.dart:572:3: Context: Found this candidate, but the arguments don't match.
      EditableText({
      ^^^^^^^^^^^^
    Failed to package /Users/techouse/Work/myApp.

I have successfully built version 2.2.22, all you need to do is to update to the latest stable version of flutter which is 3.7, contextMenuBuilder replaces ToolbarOptions in the latest version of flutter. Hope this helps

I have successfully built version 2.2.22, all you need to do is to update to the latest stable version of flutter which is 3.7, contextMenuBuilder replaces ToolbarOptions in the latest version of flutter. Hope this helps

You have to upgrade flutter to 3.7 or use Pinput version 2.2.21, hope this helps.

Shouldn't it then have some sort of constraint preventing the user to upgrade to 2.2.22 if they don't yet have Flutter 3.7.0 but have pinput: ^2.2.21 in their pubspec.yaml?
Maybe this warrants a new major version, i.e. 3.0 if that's the case.

Shouldn't it then have some sort of constraint preventing the user to upgrade to 2.2.22 if they don't yet have Flutter 3.7.0 but have pinput: ^2.2.21 in their pubspec.yaml?
Maybe this warrants a new major version, i.e. 3.0.

That's a good idea, let me check what can I do

I've added the correct constraints and pushed the update.

You have to upgrade flutter to 3.7 or use Pinput version 2.2.21, hope this helps.
In short:
Pinput version 2.2.21 does not work.
Story:
Using Pinput  2.2.21 and the Flutter version 3.3.10 does not work for me. For some reason, even if I gave pinput: ^2.2.21 in the yaml file, still it try to compile the pinput: ^2.2.22 . Please check the image below.

I already tried popular commands: flutter clean, pub get, pub upgarde and flutter pub cache clean. Still some reason, It my app gives the error as shown in the image.

@keblato Which flutter version are you using?

Requested removing of version 2.2.22 from pub, in order to prevent more people updating from unsupported flutter version.

@keblato Which flutter version are you using? If it's below 3.7.0

The easy manual solution is to delete../pub/cache/hosted/pub.dartlang.org/pinput-2.2.22 and run flutter pub get
Or run flutter pub cache repair

I confirm this is not working.
With the Pinput version 2.2.21 and the flutter version 3.3.10.
Whatever version you give in yaml file, it downloads the pinput 2.2.22 only. I already checked for using 2.2.21 and 2.2.16. Both are fetching the pinput 2.2.22.

Yep facing issue

Here is the plan B, guys I'm sorry for the inconvenience
Depend directly on version 2.2.1 from git
  pinput:
   git:
    url: https://github.com/Tkko/Flutter_Pinput
    ref: 2.2.21

'FocusTrapArea'
`Running Gradle task 'assembleDebug'...
../.pub-cache/git/Flutter_Pinput-198b7ab6243705a9e008144ed2ae4d74e2c4c700/lib/src/pinput_state.dart:339:14: Error: The method 'FocusTrapArea' isn't defined for the class '_PinputState'.

'_PinputState' is from 'package:pinput/src/pinput.dart' ('../.pub-cache/git/Flutter_Pinput-198b7ab6243705a9e008144ed2ae4d74e2c4c700/lib/src/pinput.dart').
Try correcting the name to the name of an existing method, or defining a method named 'FocusTrapArea'.
child: FocusTrapArea(
^^^^^^^^^^^^^
Target kernel_snapshot failed: Exception

FAILURE: Build failed with an exception.

Where:
Script '/Users/netsmartz/Documents/DevApps/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1151

What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.

Process 'command '/Users/netsmartz/Documents/DevApps/flutter/bin/flutter'' finished with non-zero exit value 1

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 2m 24s
Exception: Gradle task assembleDebug failed with exit code 1`

@ashish-d-hh FYI this is an another issue, you have to use Pinput 2.2.23

Guys I'm sorry for the inconvenience, here is the plan B:
Depend directly on version 2.2.1 from git
  pinput:
   git:
    url: https://github.com/Tkko/Flutter_Pinput
    ref: 2.2.21

Confirm if it works.

Yes,
This could be the solution for the previous version's of flutter SDK( less than 3.7.0).
Thankyou

@RaghuMudem Thanks you for confirmation, the pub.dev team will soon remove broken version (2.2.22) as well and issue will be solved.
We are getting closer to the end of the crisis 😃.

Version 2.2.22 has been removed from pub.dev and flutter pub get won't fetch incorrect version 🤘


Navigate a lazy-loaded turbo-frame

Problem
Consider a <turbo-frame> element with loading="lazy". Once it
becomes visible, the AppearanceObserver will delegate to the
FrameController to load its contents.
However, once visible, subsequent navigations of that frame will
continue to be deferred, since its [loading] attribute is still
deferred, in spite of the fact that the element is visible on that page.
Proposed change
This commit proposes to immediately navigate a <turbo-frame> element
with [loading="eager"] or a <turbo-frame> element that has been
loaded previously.
Possible alternatives
As an alternative to adding another conditional to the guard clause,
could it be worthwhile to treat navigational changes driven by
clicks or <form> submissions different from programatically modifying
the element's [src] attribute? Do Custom Elements support changing an
attribute's value without also kicking off change callbacks?

Intuitively I'd expect setting src on a lazy frame to take effect as soon as the element intersects the viewport, but a quick test shows that  seems to behave the way you describe above. So, let's roll with it. Could you rebase this against main?

@sstephenson I've rebased and updated this branch.

Thank you!


restrictive versioning

Thanks for this library, definitely simplifying my life. I'm getting the following error when using this library with the meteor dev (specifically the cordova-improvements) branch. Is there a way to ease this version restriction?
=> Errors while initializing project:

While selecting package versions:
error: Conflict: Constraint<EMAIL_ADDRESS>is not satisfied by less 2.5.0-plugins.0_2.
Constraints on package "less":
*<EMAIL_ADDRESS><- top level
*<EMAIL_ADDRESS><- useraccounts:ionic 1.11.1

I should remove the LESS dependency for good!
the only .less file included in the project has only plain css content...

awesome thanks!
On Wed, Aug 5, 2015 at 12:16 PM, Luca Mussi<EMAIL_ADDRESS>wrote:

I should remove the LESS dependency for good!
the only .less file included in the project has only plain css content...
—
Reply to this email directly or view it on GitHub
https://github.com/meteor-useraccounts/ionic/issues/12#issuecomment-128055705
.

Shipping with next release...

@splendido thanks!


GGUF Sharded model metadata display might have a memory leak

Steps to reproduce

open a sharded gguf model in the model inspector: https://huggingface.co/ggml-org/models/tree/main/grok-1?show_tensors=grok-1%2Fgrok-1-q4_0-00001-of-00009.gguf
wait about 1min
observe oom error in browser.

specs:
Google chrome Version 123.0.6312.86 (Official Build) (64-bit)
Windows 11
Ram 32Gb

Confirmed it happens for others

cc @mishig25

i think in some cases it might download the full file or something (was reported on a ggml repo)

Thanks @ngxson I did not realize that you had already found this 👍

fixed by https://github.com/huggingface/huggingface.js/pull/634