feat: Implement Browser Bar Theme Feature for Enhanced PWA Experience 🚀🔥

Description

I'm excited to introduce a new feature for Shorty - the Navigation Bar Theme!
This addition aims to enhance the user experience by providing a consistent theme for the navigation bar across different devices and platforms. While the navigation bar theme won't change dynamically, it will offer a unified look that aligns with the chosen theme (dark or light).

Advantages of Navigation Bar Theme:

Consistent User Experience: With the Navigation Bar Theme, users will enjoy a consistent and visually appealing experience when using Shorty. The navigation bar's theme will align with the chosen theme, maintaining a uniform look and feel.

Platform Consistency: The Navigation Bar Theme ensures a uniform appearance across various devices and platforms. Whether users access Shorty through their desktop browser or as an installed Progressive Web App (PWA) on their mobile devices, the navigation bar will remain in sync with the selected theme.

Enhanced Design: The fixed navigation bar theme based on the chosen theme adds a polished touch to Shorty. It contributes to the overall design and aesthetics of the app, enhancing the user's perception and engagement.

Navigation Bar Theme Feature & PWAs:

Progressive Web Apps (PWAs) aim to provide a native app-like experience on the web. By incorporating the Navigation Bar Theme feature, Shorty aligns with the fundamental principles of PWAs, creating a seamless user journey. When users install Shorty as a PWA on their devices, the Navigation Bar Theme contributes to the app's visual consistency and professionalism.

The implementation of the static Navigation Bar Theme requires careful design and consideration. Our development team will ensure compatibility across various browsers and devices, delivering a consistent and delightful experience for all Shorty users.

Example Screenshots

Hey there @apoorvaron 👋🏻
Please make sure to assign this issue to me to make the work done, Thank You!

@0xabdulkhalid Assigned

I am assigning level 1 but will upgrade according to efforts and time consume


#VajramImplGenOnFileSave VajramImpl file should be auto-generated when user saves vajram.java file

Extends #110
#111 Added support for generative Vajram models on file save.
Enhance this implementation to support VajramaImpl as well.

This feature is not as useful as auto-generating models on file save.
After the Impl class is generated, devs are expected to test out the vajram by running a unit test case or running a local server.
Both of these will trigger the gradle build which will generate the Impl file anyways.
Closing this issue.


KeyError: 'Localising' for some semiology terms

Such as Whistling.

you'll need to specify which file throws this error please

I can't debug because of this issue, so that needs to be solved first.

$ python -c "import mega_analysis; mega_analysis.get_scores_dict('test', catch_errors=False)"
Scores dictionary for semiology term test not retrieved:
'Localising'
Traceback (most recent call last):
  File "/Users/fernando/miniconda3/envs/ali/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2897, in get_loc
    return self._engine.get_loc(key)
  File "pandas/_libs/index.pyx", line 107, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 131, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1607, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1614, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'Localising'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/fernando/git/Semiology-Visualisation-Tool/mega_analysis/scores.py", line 122, in get_scores_dict
    output_path=output_path,
  File "/Users/fernando/git/Semiology-Visualisation-Tool/mega_analysis/scores.py", line 68, in get_scores
    semiology_dict_path=semiology_dict_path,
  File "/Users/fernando/git/Semiology-Visualisation-Tool/mega_analysis/crosstab/mega_analysis/QUERY_SEMIOLOGY.py", line 234, in QUERY_SEMIOLOGY
    logging.debug(f'\nLocalising Datapoints relevant to query {semiology_term}: {inspect_result["Localising"].sum()}')
  File "/Users/fernando/miniconda3/envs/ali/lib/python3.6/site-packages/pandas/core/frame.py", line 2995, in __getitem__
    indexer = self.columns.get_loc(key)
  File "/Users/fernando/miniconda3/envs/ali/lib/python3.6/site-packages/pandas/core/indexes/base.py", line 2899, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas/_libs/index.pyx", line 107, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 131, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1607, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1614, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'Localising'

This message is not informative.
A KeyError should be manually raised if the semiology term is not found, with a better message such as ""test" is not a valid semiology term".

works for me when running the module separately from QUERY_SEMIOLOGY
as can be seen, there clearly is a 'Localising' column in the DataFrame so not sure yet where the problem is here:

I don't get the error with Whistling anymore. But in my example above, I used a made-up semiology (test). I do get the error with that one.

if you use a made up semiology, you need to ensure you've set semiology_dict_path to None.

Well, the point is that I don't know if the semiology is in the dataset or not, so I can't decide the value for semiology_dict_path. The software must be robust to whether the semiology term exists or not.

fair point

please confirm the fix works for you? neat - I didn't realise a commit message could automatically close an issue!

It doesn't. Please don't close the issue if there's no confirmation that it has been solved. Also, can you start creating pull requests before committing directly to master? That way we can discuss the changes and tests can be run automatically once you've enabled the CI on Travis.
$ python -c "import mega_analysis; scores = mega_analysis.get_scores_dict('dsf', catch_errors=False); print(scores)"

QUERY SEMIOLOGY ERROR: This semiology was not found within the reported literature nor in the semiology categories
Scores dictionary for semiology term dsf not retrieved:
'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/fernando/git/Semiology-Visualisation-Tool/mega_analysis/scores.py", line 130, in get_scores_dict
    output_path=output_path,
  File "/Users/fernando/git/Semiology-Visualisation-Tool/mega_analysis/scores.py", line 85, in get_scores
    pts_dominant_hemisphere_R_or_L=dominant_hemisphere,
  File "/Users/fernando/git/Semiology-Visualisation-Tool/mega_analysis/crosstab/mega_analysis/QUERY_LATERALISATION.py", line 53, in QUERY_LATERALISATION
    Lat = inspect_result['Lateralising']
TypeError: 'NoneType' object is not subscriptable

It actually makes it worse, you introduced an infinite loop so the program just hangs. I'm going to revert that commit.

well this is technically a TypeError now and from a different file... we could deal with this:

either by sys.exit()
or fillna(0) and display an empty brain

ok done - please check pull request

Reopening this issue as it was closed because "fix #7" was in the text of the reverting commit.

I can give it a try if you like.


KAFKA-9784: Add OffsetFetch to group concurrency test

As title suggested, consumers would first do an OffsetFetch before starting the normal processing. It makes sense to add it to the concurrent test suite to verify whether there would be a blocking behavior.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Run 300 times locally to verify

@guozhangwang Could you elaborate what do you mean by the existing ones are sufficient?

I'm just wondering if we need to add more test methods into this class also, or just adding the type of operations in the concurrent request set is sufficient?

@guozhangwang This is just a first step towards a more comprehensive EOS test coverage. I'm still experimenting on some large changes, but this one is pretty self-contained to be going in first.

LGTM. Merged to trunk.


Communicate to the BASIC Stamp 2 over USB serial connection.

Mainly just receiving of DEBUG statements for this phase.

Here's some implementation notes.  Items not required for proof-of-concept are marked FUTURE, and are included here only as a "heads up" about later needs.
The data is standard RS-232-like asynchronous serial data.

For "DEBUG" data, it is 8-bit, no parity, 1 stop bit (8, N, 1)

For BS2, BS2e, BS2sx, BS2p, and BS2pe, it is transmitted at 9,600 baud
FUTURE: For BS2px, "DEBUG" data is transmitted at 19,200 baud.

FUTURE: For "SEROUT" data, in addition to the above, it can be (7, E, 1) and various baud rates from 300 to 38,400.
FUTURE: Propeller 1 can transmit at up to 3 MBaud.

The process is:

If downloaded PBASIC Image contains a DEBUG statement, ensure that serial terminal display is visible and ready to receive data immediately after download

Do not close the serial port between downloading and serial terminal activation

Monitor serial receive buffer for any incoming data

The desired method for this is event driven rather than polled since polling takes extra processing time and results in jerky display response that is ugly
See issue #48 for more info.


updated testng

What and why?
Dependabot highlighted a dependency that needed updating.
How to test?
Deploy and run acceptance tests.
Jira
Card

/deploy wilkia


Isochrone service

There're two PRs that dedicates to implement the Isochrone service on OSRM, both of them have not finished yet, FYI:
https://github.com/Project-OSRM/osrm-backend/pull/3652
https://github.com/Project-OSRM/osrm-backend/pull/2477
As mentioned in https://github.com/Project-OSRM/osrm-backend/pull/3652#issuecomment-412945604, it might be better to try Valhalla if really need this feature right now.

Isochrone based on OSRM table service:

https://github.com/urbica/galton/
https://github.com/stepankuzmin/node-isochrone


Request vulnerability of multiple package in the same request

Is your feature request related to a problem? Please describe.
Yes, for now, the only way to get vulnerability of multiple packages is by "spamming" the /v1/query URL of the API.
Describe the solution you'd like
A new endpoint that make this possible, and returning the full vuln and not just the id.
Or, the possibility to send and array of wondering package vulns on the /v1/query URL.
Additional context
That maybe really useful to analyze our things…

We do have a batch query endpoint: https://google.github.io/osv.dev/post-v1-querybatch/ , is this what you are looking for?

To expand on this, the expected user journey is:

Issue a querybatch request
Issue a vulns request for each ID returned

To expand on this, the expected user journey is:

Issue a querybatch request

Issue a vulns request for each ID returned

thank you but that mean that when we have a lot of vuln we will be "spamming" the API ?

that mean that when we have a lot of vuln we will be "spamming" the API ?

This is the intended use case and not considered "spam". See also https://google.github.io/osv.dev/api/#is-the-api-rate-limited.
The alternative would be a potentially enormous single response message to an arbitrarily large querybatch request.
Given your need can be met by the current API endpoints using the the user journey described, I'll close this.


Add LINE and FILE keyword

Add __LINE__ and __FILE__ keyword.

__LINE__ should return the current line of the keyword
__FILE__ should return the current file it's in

When transpiling the keyword should be replaced with the related line or filename. Additionally during execution within greybel these should also return their line or filename.

Feature is going to be made available by merging https://github.com/ayecue/greybel-vs/pull/193. Introduced keywords are:

#filename
#line


docs(README): update README

Codecov Report
Base: 90.31% // Head: 90.31% // No change to project coverage :thumbsup:

Coverage data is based on head (e49c840) compared to base (95ca12a).
 Consider uploading reports for the commit c2bfc74 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main       #3   +/-   ##
=======================================
  Coverage   90.31%   90.31%
=======================================
  Files           6        6
  Lines         289      289
=======================================
  Hits          261      261
  Misses         28       28

Flag
Coverage Δ

unittests
90.31% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


fix: MaxBytePerChar

hi,
it's a bug in converters package.
charsetid in [850,853] is chinese charset.  max = 2.
func MaxBytePerChar(charsetID int) int {
	switch charsetID {
	case 850, 851,852,853:
		return 2
	case 870:
		fallthrough
	case 871:
		return 3
	case 872:
		fallthrough
	case 873:
		return 4
	case 2000:
		fallthrough
	case 2002:
		return 2
	default:
		return 1
	}
}

850 0352 ZHS16CGB231280
851 0353 ZHS16MACCGB231280
852 0354 ZHS16GBK
853 0355 ZHS16DBCS

thank you for you comment I will fix it now

u miss :  at version 2.1.24.
string_conversion.go:37
string_conversion.go:39

when i get new version.  it's error. but i look the code at v2.1.24. It have ':'
> go get github.com/sijms/go-ora/v2
# github.com/sijms/go-ora/v2/converters
/go/pkg/mod/github.com/sijms/go-ora/v2@v2.1.24/converters/string_conversion.go:37:12: syntax error: unexpected newline, expecting :
/go/pkg/mod/github.com/sijms/go-ora/v2@v2.1.24/converters/string_conversion.go:39:12: syntax error: unexpected newline, expecting :

so why?

I delete the tag and re-enter it again

I add new version to solve the problem v2.1.25

ths.
it is ok now at v2.1.25 .
i think it may be goproxy question.
I will try again at tomorrow, if u not add new newsion.

thanks again.


Use .NET Core SDK branding

We should use .NET instead of "dotnet" except when referring directly to dotnet.exe.

LGTM.  Merging.


HTTP parameters for SmartNetworkLoader

Sometimes it's needed to specify additional parameters for an HTTP request. In my case I need to pass an api token in the header to be able to get access to my localization service (Localizely).
Currently the loader takes String URL. I think it would be better to change it to HTTP object instead, so user can shape the request as he\she needs. Just a suggestion.

ok I'll take this @aissat

@aissat pls let me know when you complete it,I need it a lot

done easy_localization_loader: ^1.0.1


Change model selection to quality

Quality:

very low
low
medium
high
very high

Calculate recommended quality based on system specs

When English is selected, use .en model by default


Fixed #94 for AMQP Identity Promotion

Changed the package names in the Promote User Identity into the AMQP Protocol topic
Added a migration step for those using the old package names in 4.0
Added an x-ref from the Upgrade checklist to point to the migration step
Fixed a link to the Glossary

@krismcqueen Please review the Promote User Identity into the AMQP Protocol (p_auth_user_identity_promotion.md) and Upgrade the Gateway (o_upgrade.md) topics. See the commit message for the changes.

@vjwang Looks great, just need to fix one JAR file name.

@krismcqueen Updated. Thanks!


Add lead filter and column to round view.

Fixes #2542

Codecov Report

Merging #2544 (e34f27d) into main (daa6e3d) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main    #2544   +/-   ##
=======================================
  Coverage   81.17%   81.17%
=======================================
  Files         636      636
  Lines       23188    23188
=======================================
  Hits        18824    18824
  Misses       4364     4364

Impacted Files
Coverage Δ

hypha/apply/funds/views.py
77.67% <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 daa6e3d...e34f27d. Read the comment docs.


Colab issue tried several times , still no results!

Traceback (most recent call last):
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py", line 13, in
from modules.call_queue import wrap_queued_call, queue_lock, wrap_gradio_gpu_call
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/call_queue.py", line 7, in
from modules import shared
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/shared.py", line 17, in
from modules import localization, sd_vae, extensions, script_loading, errors, ui_components
ImportError: cannot import name 'ui_components' from 'modules' (unknown location)

remove/rename the folder sd in your gdrive and do a clean run with the latest colab from the repo


Fix bugs in product list

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Screenshots

Original
Updated

Error page shows

Checklist

[x] 🔽 My branch is up-to-date with "development" branch
[x] ✅All tests passed locally
[x] ✨My changes working with up-to-date admin and back-end part locally, like charm
[x] 🔗 Link pull request to issue #1297

Good job, but you should remove currency sign when product isn't available


git-branch-repo

Hey! Not a huge issue or anything, but it might be worth looking into replacing filter-branch with filter-repo. It's now the officially accepted tool for this, and solves a lot of the headaches filter-branch brings up. Should be a pretty trivial conversion, I'm willing to do it and just submit a PR if it's not something you're interested in doing yourself -- as long as I wouldn't be wasting my time with a PR that'll sit there for a few years lmao.

Hi ! Sorry for the wait
Will git filter-repo work with the same arguments as git filter-branch? Or would you change the arguments too ?

I'm afraid that most people don't have the last git version installed (that's my case), and will have an error message when trying to run git filter-repo

The syntax is different, but the changes are relatively straightforward. Like I said it’s biggest plus is that it addresses a lot of the conceptual issues with git-filter-branch. As far as I know it should be compatible with any version of git that’s even remotely recent, but I could be wrong, I can look into it for you, and if you’re wanting to go that route we can collaborate on an implementation if you’d like the help. How far back of a version are we talking?

From what I understand, filter-repo is recommended by git but it not part of the git command line, it's just an external tool.
This project is supposed to be straightforward, just a no-brain copy/paste. I don't want to ask the users "please install another external tool so command project can work for you", that would make this project useless


DFBUGS-1028: csi: use new flag to enable VGS feature

In the Alpha Version of the VolumeGroupSnapshot
Feature the flag to enable the feature was
--enable-volume-group-snapshots=true and in the beta API the feature is diasbled by default to enable it we need to set --feature-gate=CSIVolumeGroupSnapshot=true
There is a change in the flag between the API version This PR add a code where we choose the required
flag based on the API version.
Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>(cherry picked from commit 279e5f7cac0f3e1eb598ff2c5cb0df12eba0195e) (cherry picked from commit fd12192dd48001114a0dfd162dd44ff043fc340c)

Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide.
[ ] Reviewed the developer guide on Submitting a Pull Request
[ ] Pending release notes updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

/jira refresh

/assign @travisn

/approve
/lgtm


Add support for handleCardAction

Summary
As proposed in this pull request, add support for handleCardAction. Without this the SCA manual flows are not available in react-stripe-elements.
As stated in the docs "Manual confirmation [is] the easiest way to migrate from the Charges API". We'll be a lot to migrate in these early days of September, so this will be of great help (as now, I'll love to use bombek92 code to start migrating, but because it's typescript I cannot add it's repo to package.json).

The SCA entering in action this Saturday, may you please take a quick look on this one?
It'll be a life saviour!

@cweiss-stripe @dweedon-stripe @jez @atty-stripe I'm sorry to bother, I've found you've been the top contributors of this repo. Please, can you take a look at this issue?
It seems only a couple of line of code — a pull request already exists — but without handleCardAction, the sca manual confirmation flow is not available. Without it, the 14 September SCA introduction is way harder to handle properly in the time remaining.
Thanks a lot.

After a complete test, even if the handleCardAction is missing from react-stripe-elements and not documented there, a call from it to this method works.
So, this issue is not so urgent anymore.
So sorry for the unneeded big warning.

Hi @yamsellem
Thank you for reporting this and I'm glad you managed to find a workaround for now.
We'll add proper support for it soon and will update you once it is done.

After thinking about this some more and syncing with my colleagues, we realized that it does not make sense to add a wrapper for handleCardAction to react-stripe-elements, since it does not require an Element.
The approach you are currently using is the correct one. We will look into improving the docs to make this more obvious.


[release-1.7] Add rbac.istio.io permissions back to ClusterRoles

This is an automated cherry-pick of #29372

@istio/release-managers-1-7


bug in crossmatch code

The match.py module in the utils sub-package contains the function crossmatch. The purpose of this function is to provide a fast way to link together two catalogs which share an ObjID column. This function returns incorrect results for cases where the array x has elements with multiplicity, meaning that the crossmatch function cannot be used to connect subhalos to their host. The fix should be a rather straightforward application of np.unique and np.repeat, but in the meantime this function should not be used. Fortunately, nowhere in the package calls this function except its own test suite, so this bug has no impact on the rest of halotools.
CC @duncandc

This Issue has been resolved by #402 by simply deleting this module from the repo. It was, after all, not being used anywhere in the package.


Add owner front-matter

Closes https://github.com/giantswarm/giantswarm/issues/13382

@giantswarm/sig-docs The owners reviewed their assignments in individual PRs, with the exception of SIG Customer Happiness.
I guess there is no need to go through every details. A general acknowledgement should do.


Problems with console

I'm working through this, but when I get to the part "Store the Microsoft client ID and client secret" I have a problem.
I have a cmd prompt open at the folder where the .csproj file lives, but the command dotnet user-secrets set Authentication:Microsoft:ClientId  fails with the message 'Could not load the MSBuild project...'
Does that mean I'm not actually in the right directory, or something more serious has gone wrong?

Hi, I'm still stuck with this - can anyone help?
Trying to authenticate O365 users on my web app, have followed the instructions on "Microsoft Account external login setup with ASP.NET Core" but I can't get past this point:
<C:\AZURE Live\HCPTAzure2020>dotnet user-secrets set Authentication:Microsoft:ClientID "dea3e5cd-be3f-4f46-b9f2-cf1fab76c3cb"
Could not load the MSBuild project 'C:\AZURE Live\HCPTAzure2020\HCPTAzure2020.csproj'.>
Any ideas? Anyone?

[code]Microsoft Account external login setup with ASP.NET Core[/code]

Hi, I'm still stuck with this - can anyone help?
Trying to authenticate O365 users on my web app, have followed the instructions on "Microsoft Account external login setup with ASP.NET Core" but I can't get past this point:
< C:\AZURE Live\folder>dotnet user-secrets set Authentication:Microsoft:ClientID "88888888-8888-8888-8888-888888888888"
Could not load the MSBuild project 'C:\AZURE Live\folder\projectname.csproj'. >
Any ideas? Anyone?

This is a doc issue. Recommend closing.
cc @mkArtakMSFT

Hi. Thanks for contacting us.
We're closing this issue as there was not much community interest in this ask for quite a while now.
You can learn more about our triage process and how we handle issues by reading our Triage Process writeup.


changing client options on a built instance

Hello,
I'm using PAMI for a big project, it works pretty well, but i'm experimenting a flexibility problem.
in substance, i need to change certain client options (like connection parameters) on run time, without losing others object data (like registered events).
currently, the only way to set options is trough a new instance, but this cause all previous data to be lost.
the client would be a lot more flexible with something like this :
[...]

    public function setOptions(array $options)
    {
        if (isset($options['host']))
            $this->host = $options['host'];
        if (isset($options['port']))
            $this->port = intval($options['port']);
        if (isset($options['username']))
            $this->user = $options['username'];
        if (isset($options['secret']))
            $this->pass = $options['secret'];
        if (isset($options['connect_timeout']))
            $this->cTimeout = $options['connect_timeout'];
        if (isset($options['read_timeout']))
            $this->rTimeout = $options['read_timeout'];
        if (isset($options['scheme']))
            $this->scheme = $options['scheme'];
    }

    public function __construct(array $options)
    {
        $this->scheme = 'tcp://';
        $this->setOptions($options);
        $this->logger = new NullLogger;
        $this->eventListeners = array();
        $this->eventFactory = new EventFactoryImpl();
        $this->incomingQueue = array();
        $this->lastActionId = false;
    }

[...]

let me know if you'd like to merge this improvement, i'm really going to need it on production.
thank you.

Hello!
Could you explain the use case? It seems a bit hard to understand why you would like to change the connection parameters at runtime:

Once you're connected, if someone changes the username or password your connection is not affected until it closes.
If your connection drops and you have a stale user/password, a workaround would be to reload the connection information when creating (or re-establishing) a connection (btw, this should rarely happen, so it should not be that expensive).
If you create a connection and the host is changed, that connection drops immediately (and we can go back to point 2).

If you want to keep registered listeners, just create a builder function or method for the PAMI client, that will get the connection information and register all the listeners needed before returning the client. Also, if you have several asterisk boxes, create one PAMI client for each one of them.
Thoughts?

hi marcelog, sorry for the delay (i've got some health issue), and thank you for your interest.
i'll expose you a couple of personal scenarios where i actually need a function like setOptions.
Case I : change server dynamically
in my environment users interact with a dynamic web application which communicate with the server trough websockets.
they can change their pbx server options and the event listened manually, without reloading the page.
without a setOptions function i should implement alternative solutions which add more complexity to my design.
first of all, let's see what i can't do:

use a builder function,  since events are chosen by users they can't be hardcoded.
use a client for each connection, since parameters are chosen by users i can't preload them.
so, that's what i can actually do:
registering events in some other class. if users change listened events i have to memorize them, with their handlers and their predicates, outside ClientImpl and inject them to a new instance every time options change.
i see that as a memory waste, especially if there are hundreds of events with different predicates, they will always been kept in memory twice.
i could directly fetch events config from database everytime options change, but i keep seeing this as a performance waste: why should i reload all the events from disk if i am only changing the options??
this solution smells also of unneeded complexity. why should i define a redundant event registering class, rebuild completely the pami instance and inject all the events, when i could do something like this:

$client->close();
$client->setOptions($options);
$client->open();

Case II : a design problem
on my server side, the system is well designed with high cohesion a very low coupling.
i can't explain the whole architecture here of course, but i'll try to give you a simplified vision of the components with are related to this setOptions problem.

my system is a generic pbx manager, it doesn't use only asterisk, it uses also other technologies such as hylafax. i have a  pbxManager class which offers methods to work with your pbx, regardless of the actual technology.
pbxManager doesn't know anything about the implementations, it uses a pbxInterface which has been extended in order to provide the specific coding.
a pbxConnector class stores all default connections and it is used by pbxManager, which will pass a pbxInterface in order to open the stream.
every pbxInterface is loaded from a config file, they are built as services and cached on disk for performance issues.
default connections are also loaded from a config file, but they are also loaded from database on a second stage.

i don't know if you can see the problem here already.
my system FIRST load the client, and THEN the connections. that's how the design works.
in this case, i don't need setOptions in order to change the parameters, but to define them on the first place, because when the client instance is built, the system doesn't know about connections yet.
changing the design is out of question, because it is pretty S.O.L.I.D. and works pretty well with other implementations but PAMI.
i could use some alternative solutions like the one expressed before, but they will smell here also of waste of performance and unneeded complexity.
i can see your point anyway: if someone change options without reloading the connection, bad things will happen.
since i take that for granted, i automatically think that all the users that use PAMI has to be aware of this: changing the options must be followed by a connection reloading.
but maybe i am wrong, so we can find a way to help users to understand that, maybe with something like this:
function changeOptions($reloadConnection = false)
in that way they will have a sort of hint, and in the case that reloading is actually needed in the same place where the options are changed, they will save some lines of code.
that's my thoughts, let me know what you think.
thank you again!

Hello,
Sorry to hear about your health problem, I hope you get better!
Thank you for the detailed explanation, I see your points. I'll try to explain my point of view giving what you said.
It seems to me that you are using the PAMI client as a way to persist part of your application state (credentials, listeners, etc). This doesn't seem right at first, at least.
This means that yes, you should (in my personal opinion, of course) persist this information somewhere else and then create the client in your wrapper classes, this will let you further decouple your code and manage the connections in better ways.

You could change implementations on the fly if desired (let's say you don't want to use PAMI anymore).
You can have this information available somewhere else if your code (or PAMI's) crashes (i.e: you can recover operations smoothly once your process restarts by reloading the connections and listeners, otherwise without persisting this anywhere, your users will just lose what they have setup).
It doesn't seem right that you let your users execute code directly in their listeners (i.e: in your server), so it also seems like you should abstract the listeners code and only let them do some specific, well known actions that you can control, so saving this part of your application state translates to saving the metadata of what the user wants to do (you can then inject the needed code in the listeners so it complies with this metadata, but you don't let them run their code directly in the server, this seems like a security issue).
It's not necessary to store this in memory, you can use a NoSQL database, or even disk (as I said, once everything is setup, how many times the credentials or listeners will change?).

So overall, this is what I'd suggest:

To have a supervisor for the connections:
This is a daemon running in your server as a background process. This might be all of your PBX wrapper classes.
Could be one per client and one supervisor on top of all of them that restarts any of them if a crash is detected.
Could also be just one for all the clients (you could use something like daemontools to keep this one restarting if it crashes).
A supervisor can have any number of dynamically allocated connections, you can start and stop them easily, on demand, they don't need to be started when the supervisor starts (although they could!) and they can be started/stopped by your GUI commands.
Your GUI will communicate with a few web controllers, either by REST or websockets, and should get events by either longpolling, websockets, or SSE.
Your GUI or controllers can trigger actions in your system (like for example credentials changed, new listeners needed, etc) by sending a command through the websocket or via REST.
Your controllers should dispatch that command through a message bus, could be rabbitmq, a redis queue, 0mq, etc.
Your supervisor(s) will listen for those events and react (for example restarting a connection -and also reloading any listeners-, or by adding/removing listeners, etc). This can translate into creating or destroying any number of PAMI clients without needing to change their information (and this is actually the intended way to use PAMI).

So we do have different views I guess, and I'm not yet convinced that this change will benefit all PAMI users (I do think that there is some more decoupling yet to be done), but the good news is that you can fork the code if this is really the way you want to work with it.
Best!

hi marcelog,
you are really kind, thank you, your explanation is pretty long and reasoned considering that this problem doesn't really concern you. thanks.
i see your points and i can agree in a certain sense.
a setOption method may be a fast way to solve my requirements without breaking the design, but actually relying on pami to memorize my event configuration doesn't seem the best option.
coding a daemon and/or new wrapper classes will introduce bigger efforts to me, but i think the design will result be stronger.
i'll try what you suggested before forking.
thank you very much for your interest.

Great, thank you @sctt! I will close this one now then, but please get back with the results once you settled for one solution or the other, it's an interesting topic and discussion :)
All the best!


After converting to ckpt: The config attributes {'upcast_attention': True} were passed to UNet2DConditionModel, but are not expected and will be ignored. Please verify your config.json configuration file.

SD didn't start, I got a lot of errors so I did a fresh install.
This is what happened (I'm using the regular 2.1 7-68 model)
After running Model load/download, I see this error/warning:
The config attributes {'upcast_attention': True} were passed to UNet2DConditionModel, but are not expected and will be ignored. Please verify your config.json configuration file.
Next when trying to start SD I get this and it stops.
Warning: Taming Transformers not found at path /content/gdrive/MyDrive/sd/stablediffusion/src/taming-transformers/taming
Warning: CodeFormer not found at path /content/gdrive/MyDrive/sd/stablediffusion/src/codeformer/inference_codeformer.py
Warning: BLIP not found at path /content/gdrive/MyDrive/sd/stablediffusion/src/blip/models/blip.py
Warning: k_diffusion not found at path /content/gdrive/MyDrive/sd/stablediffusion/src/k-diffusion/k_diffusion/sampling.py
Traceback (most recent call last):
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py", line 21, in
from modules import shared, devices, sd_samplers, upscaler, extensions, localization, ui_tempdir
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/sd_samplers.py", line 8, in
import k_diffusion.sampling
ModuleNotFoundError: No module named 'k_diffusion'
I have tried it with safetensors on as well as off.

I'll check it out

Good to know. the first one is nothong to worry about.
Btw, it worked yesterday, so I guess it has to do with the latest update.

will fix in a few minutes

Wow, thanks! A lot!

refresh the colab from the main link, it should work now

Not yet there..
Traceback (most recent call last):
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py", line 13, in
from modules.call_queue import wrap_queued_call, queue_lock, wrap_gradio_gpu_call
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/call_queue.py", line 7, in
from modules import shared, progress
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/shared.py", line 13, in
import modules.interrogate
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/interrogate.py", line 13, in
from modules import devices, paths, lowvram, modelloader
File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/modules/paths.py", line 18, in
assert sd_path is not None, "Couldn't find Stable Diffusion in any of: " + str(possible_sd_paths)
AssertionError: Couldn't find Stable Diffusion in any of: ['/content/gdrive/MyDrive/sd/stablediffusion', '.', '/content/gdrive/MyDrive/sd']

Oops, the stablediffusionfolder is missing.

I've rerun the requirements and now it's working.
Thanks again 😘


Auto release new version with @volar/server

When volar updated, coc-volar usually does not need to change the code. Are you interested in using GitHub Action to automatically release coc-volar when @volar/server released a new version? (If tsc compile pass)

@johnsoncodehk Thanks for the great advice. 🙇
I enjoy updating volar at the moment, so I don't need GitHub Action or other automatic release.😇

I am worried that this is annoying for you, because it is updated frequently currently. Nice to hear!


Must I run this repo with xformers?

My CUDA version is 11.3, while xformers==0.0.16 need higher CUDA version, so I try to run the code with 'enable_xformers_memory_efficient_attention: false'. But it throw the error below:
Traceback (most recent call last):
File "test_mvdiffusion_seq.py", line 335, in
main(cfg)
File "test_mvdiffusion_seq.py", line 291, in main
log_validation_joint(
File "test_mvdiffusion_seq.py", line 205, in log_validation_joint
out = pipeline(
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/data/dengyao/projects/Wonder3D/mvdiffusion/pipelines/pipeline_mvdiffusion_image.py", line 448, in call
noise_pred = self.unet(latent_model_input, t, encoder_hidden_states=image_embeddings, class_labels=camera_embeddings).sample
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/dengyao/projects/Wonder3D/mvdiffusion/models/unet_mv2d_condition.py", line 966, in forward
sample, res_samples = downsample_block(
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/dengyao/projects/Wonder3D/mvdiffusion/models/unet_mv2d_blocks.py", line 858, in forward
hidden_states = attn(
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/dengyao/projects/Wonder3D/mvdiffusion/models/transformer_mv2d.py", line 314, in forward
hidden_states = block(
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/dengyao/projects/Wonder3D/mvdiffusion/models/transformer_mv2d.py", line 544, in forward
attn_output = self.attn1(
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/diffusers/models/attention_processor.py", line 322, in forward
return self.processor(
TypeError: call() got an unexpected keyword argument 'cross_domain_attention'

Yes. Xformers is required. If you use different CUDA version, you may consider installing xformers with suitable versions.

Thank you for your reply! I have tried Xformers==0.0.13, but one function has a different prototype than version 0.0.16, and it doesn't work. The error details are as follows:

Traceback (most recent call last):
File "test_mvdiffusion_seq.py", line 335, in
main(cfg)
File "test_mvdiffusion_seq.py", line 291, in main
log_validation_joint(
File "test_mvdiffusion_seq.py", line 205, in log_validation_joint
out = pipeline(
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "/data/dengyao/projects/Wonder3D/mvdiffusion/pipelines/pipeline_mvdiffusion_image.py", line 448, in call
noise_pred = self.unet(latent_model_input, t, encoder_hidden_states=image_embeddings, class_labels=camera_embeddings).sample
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/dengyao/projects/Wonder3D/mvdiffusion/models/unet_mv2d_condition.py", line 966, in forward
sample, res_samples = downsample_block(
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/dengyao/projects/Wonder3D/mvdiffusion/models/unet_mv2d_blocks.py", line 858, in forward
hidden_states = attn(
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/dengyao/projects/Wonder3D/mvdiffusion/models/transformer_mv2d.py", line 314, in forward
hidden_states = block(
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/dengyao/projects/Wonder3D/mvdiffusion/models/transformer_mv2d.py", line 572, in forward
attn_output = self.attn2(
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/diffusers/models/attention_processor.py", line 322, in forward
return self.processor(
File "/data/dengyao/miniconda3/envs/wonder3d/lib/python3.8/site-packages/diffusers/models/attention_processor.py", line 1034, in call
hidden_states = xformers.ops.memory_efficient_attention(
TypeError: memory_efficient_attention() got an unexpected keyword argument 'scale'
So maybe my CUDA environment just won't be able to run your project successfully.

I tried to run CUDA11.3 directly with the xformers version you gave in requirements.txt and it worked, please forgive me for my carelessness.

I tried to run CUDA11.3 directly with the xformers version you gave in requirements.txt and it worked, please forgive me for my carelessness.

which  version of the xformers did  you use in the end？


Artifact could not be deployed; no symlinks or hard links, small size

Hello there!
I am attempting to use Github Pages to host my Rust documentation created with cargo doc. The CI system builds the documentation then uses actions/upload-pages-artifact@v3 to upload the artifact, then uses actions/deploy-pages@v4 to deploy it.
The documentation builds correctly (I can manually download the artifact and examine it), but the deployment fails with:
Error: Artifact could not be deployed. Please ensure the content does not contain any hard links, symlinks and total size is less than 10GB.

I verified that the artifact contains no symlinks or hard links, and is far less than 10GB. I may have missed something, however. I have attached the workflow and the resulting artifact, and the project is hosted at https://github.com/sgilfeather/CyberGrape if you are interested in that.
Thank you so much in advance for your help!
Best,
Liam
rust2.yml
github-pages.zip

Ah, I found #303 and it works for me!


Zod TypeValidationError

When I try to use llama3 locally, I got some error like this

I used barely example from the readme file and changed the LLM provider to llama3
import { chromium } from "playwright";
import { z } from "zod";

import { ollama } from "ollama-ai-provider";
import LLMScraper from "llm-scraper";

const browser = await chromium.launch();

const llm = ollama("llama3");

const scraper = new LLMScraper(llm);

const page = await browser.newPage();
await page.goto("https://news.ycombinator.com");

const schema = z.object({
  top: z
    .array(
      z.object({
        title: z.string(),
        points: z.number(),
        by: z.string(),
        commentsURL: z.string(),
      })
    )
    .length(5)
    .describe("Top 5 stories on Hacker News"),
});

// Run the scraper
const { data } = await scraper.run(page, schema, {
  format: "html",
});

// Show the result from LLM
console.log(data.top);

await page.close();
await browser.close();

{
  "dependencies": {
    "llm-scraper": "^1.2.1",
    "ollama-ai-provider": "^0.10.0",
    "playwright": "^1.45.1",
    "zod": "^3.23.8"
  }
}

I believe the model in question could not generate correct output structure - that's why validation failed. My suggestion would be to try a different model or a different structure mode ('auto' | 'json' | 'tool' | 'grammar')

As someone new to the repo it ends up being a bit confusing. On one hand the examples or documentation doesn't immediately suggest  popular models like ollama ->llama3 would be running into problems.
Of course its understandable to not keep track of every single model that is out there, but for self hosted options perhaps recommendations could be given of what is tested to at least be a starting point.
for example I tried all 4 structure modes and none of them worked with llama3:8b....if that is a dead end and this model doesn't work with the tool how do we go about figuring out which does work apart from trial and error?

Try the new llama3.1, it has built-in tool use and in my experience generates correct json most of the time


QR Decomposition seems to coverge very quickly. How to adjust parameters.

Hello,
I have a question regarding the implementation of the qr algorithm.
I am trying to compute the eigenvalues and eigenvectors of a matrix.
for (size_t i = 0; i < N; ++i) {
            arm_mat_qr(tmpD, Q, R);
            tmpD = R * Q;
            tmpV = tmpV * Q;
}

where arm_mat_qr is:
template<class T1, size_t Rows1, size_t Columns1>
void arm_mat_qr(matrix& A, matrix& Q, matrix& R) {
      T1 threshold = DEFAULT_HOUSEHOLDER_THRESHOLD_F32;
      T1 tau[Columns1] {0};
      T1 tmpA[Rows1] {0};
      T1 tmpB[Columns1] {0};

      arm_mat_qr_f32(&A.instance_, threshold, &R.instance_, &Q.instance_, tau, tmpA, tmpB);

     // Zeroing lower triangle
      for(size_t i = 0; i < 8; ++i) {
          for(size_t j = 0; j < i; ++j) {
              R.at(i, j) = 0;
          }
      }
}

Matlab:
    D = A;
    V = eye(size(A));
    for i = 0:30
       [Q, R] = qr(D);
       D = R * Q;
       V = V * Q;
    end

Matlab implementation provides me with the correct eigenvalues and eigenvectors.
In CMSIS during convergence the eigenvalues on the diagonal of R seem to miss the correct eigenvalues and converge towards the Identity Matrix rapidly during the first 2 iterations. Eigenvectors also disappear quickly, but when they are still there only the first column matches with Matlab.
I think that the algorithm with my current parameters is to aggressive. Do I maybe have to adjust the threshold, TmpA and TmpB?
If so, then how?
With regards
Dominik Rzecki

@DominikRzecki Hi,
Can you share the matrix so that I can try on my side ?

Without additional information nothing can be done. So, I close it.

Since I haven't responded on time:
The arm_mat_qr_f32 function works flawlessly indeed.
It seems that gcc with optimizations enabled has reordered my code in a way that breaks it's logic, because some class didn't have a properly implemented constructor. It even made the qr algorithm behave differently.

@DominikRzecki Glad to know. Thank you.


[iOS] Add config to wait for buffer

Adds a config option to set automaticallyWaitsToMinimizeStalling as true
Provides a solution to #487

updated PR and rebased with dev


feat:addition of hover effect

What feature?
On hover can change the background of the button to text-primary or change the text of the button to text-primary it might look cool
Add screenshots

Record

[X] I agree to follow this project's Code of Conduct
[ ] I'm a GSSoC'23 contributor
[X] I want to work on this issue

duplicate https://github.com/priyankarpal/ProjectsHut/issues/1784


Keyboard shortcuts no longer work

Steps to reproduce:
List the minimal actions needed to reproduce the behavior.

Open web UI for influxdb 2.0 beta 4.
Go into an existing Dashboard
For one of the click on gearbox and then configure
Click on a line of the code in your query
Press ctrl-/
Note that the line of code does not turn into a comment. That's a regression bug. It worked previously, in influxdb 2.0 alpha 21.
Press ctrl-enter
Note that the query is not submitted. That's a regression. It worked previously in alpha 21

Expected behavior:
Toggle commenting on and off when pressing ctrl-/.
Submit query when pressing ctrl-enter.
Actual behavior:
Nothing happens:
Pressing ctrl-/ doesn't comment the line.
Pressing ctrl-enter doesn't submit the query.
Environment info:

System info: Run uname -srm and copy the output here

Darwin 19.3.0 x86_64
Aka macOS Catalina 10.15.3 (19D76)

InfluxDB version: Run influxd version and copy the output here

InfluxDB 2.0.0-beta.4 (git: 3e054aaca) build_date: 2020-02-23T02:09:22Z

Other relevant environment details: Container runtime, disk info, etc

Browser: Firefox 73.0.1 (64-bit)
Config:
Copy any non-default config values here or attach the full config as a gist or file.

@alsargent, firstly thank you for the thorough issue - it's great appreciated. I'm currently trying to reproduce this issue and can't seem to reproduce part of it.
Selecting control + / does not comment out the line, but command + / does. The command + / is a typical commenting command in many IDEs, so I'm not sure if it's an issue that this commands triggers a comment / uncomment
As for pressing control + enter, this does seem to submit the query. I'm going to verify that this is in fact still an issue or see whether we can close this out

@Asalem1 Does it work for you? I am also on macOS and I have a german keyboard layout, where / is either on numblock or on shift+7. Using the key on numblock nothing happens. Using shift+7 the (macOS top menu) help menu opens.


Add env flag to assign_domain command

Context

Add env flag to assign_domain command.

Make sure the correct load balancer is assigned to the domain.

Additional information
This also makes sure the COPILOT_LB_DNS variable is taken from the correct container, i.e. web instead of nginx.
Corresponding docs can be found here: Update Route 53 Domain record with Load Balancer

Closing this PR in favour of https://github.com/uktrade/copilot-tools/pull/26.


[Bug]: failed to upload files with Azure OpenAI

Description
Currently can not upload files with Azure OpenAI successfully. Will receive this error messages.
{
  "error": {
    "code": "invalidPayload",
    "message": "purpose contains an invalid purpose."
  }
}

Steps To Reproduce
<?php

$client = OpenAI::factory()
    ->withBaseUri('<azure_openai_endpoint>')
    ->withHttpHeader('api-key', '<azure_openai_api_key>')
    ->withQueryParam('api-version', '2024-05-01-preview')
    ->withHttpClient(new \GuzzleHttp\Client(['timeout' => 60]))
    ->make();

$client->files()->upload([
    'file'    => fopen('<file_path>', 'r'),
    'purpose' => 'assistants',
]);

OpenAI PHP Client Version
v0.10.1
PHP Version
8.3.10
Notes
After further root cause analysis, it was discovered that the issue was due to the Azure OpenAI API Server being unable to correctly parse the content-length in the multipart/form-data request body sent by the OpenAI HTTP client (came from this class -  Http\Message\MultipartStream\MultipartStreamBuilder). Once this content-length is removed, the upload works as expected. Currently, there is a related pull request (https://github.com/guzzle/psr7/pull/581) for the GuzzleHttp Client that is awaiting merge.

I've send this PR to php-http/multipart-stream-builder (https://github.com/php-http/multipart-stream-builder/pull/63), hope can be merged.

@chris-lee-lb hi chris, i'm having the same exact issue, but i tried to remove the content-length code from /vendor/guzzlehttp/psr7/src/MultipartStream.php, but i still have the same issue
$client = OpenAI::factory()
->withBaseUri('https://curans.openai.azure.com/openai/')
->withHttpHeader('api-key', $apiKey)
->withQueryParam('api-version', config('openai.azure.files_api_version'))
->withHttpClient(new \GuzzleHttp\Client(['timeout' => 60]))
->make();
$response = $client->files()->upload([
'purpose' => 'assistants',
'file' => fopen(Storage::path('public/'.$pdfFilePath), 'r'),
]);
"message": "purpose contains an invalid purpose."
is there an alternative way to fix this issue ? thank you so much

@mohammedhanafy Because we currently create custom function with Laravel Http Client Facade and our own MultipartStream class (which based on GuzzleHttp\Psr7\MultipartStream) to workaround this issue.
$body     = new MultipartStream($elements);
$boundary = $body->getBoundary();

$response = retry(
    3,
    fn () => Http::baseUrl($endpoint)
        ->withBody($body, "multipart/form-data; boundary={$boundary}")
        ->timeout($timeout)
        ->retry(3, 100, fn ($ex) => $ex instanceof ConnectionException)
        ->withHeaders(['api-key' => $apiKey])
        ->withQueryParameters(['api-version' => $apiVersion])
        ->send('post', '/files')
        ->throwUnlessStatus(201),
    1000
);

https://github.com/php-http/multipart-stream-builder/pull/63 has been approved & released as 1.4.0, so this issue can be closed. cc @mohammedhanafy


Unable to support utf8 file name

Filename:  你好.txt
curl 'localhost:8000' --form 'operations={"query": "mutation ($file: Upload!) { singleUpload(file: $file) { id } }","variables": { "file": null }}' --form 'map={ "0": ["variables.file"] }' --form<EMAIL_ADDRESS>

can you share the error messages?

impl ContentDisposition {
    pub fn parse(headers: &HeaderMap) -> ContentDisposition {
        let content_disposition = headers
            .get(header::CONTENT_DISPOSITION)
            .and_then(|val| val.to_str().ok());  // HeaderValue::to_str will make an error, maybe you should just parse bytes?

        let field_name = content_disposition
            .and_then(|val| constants::CONTENT_DISPOSITION_FIELD_NAME_RE.captures(val))
            .and_then(|cap| cap.get(1))
            .map(|m| m.as_str().to_owned());

        let file_name = content_disposition
            .and_then(|val| constants::CONTENT_DISPOSITION_FILE_NAME_RE.captures(val))
            .and_then(|cap| cap.get(1))
            .map(|m| m.as_str().to_owned());

        ContentDisposition { field_name, file_name }
    }
}

Okay, let me check.

Thank you. 😀

Hey @sunli829 , I pushed the fix to feature/utf8-content-disposition branch. Can you please test it and let me know if it's working and then I will make a release,
[dependencies]
multer = { git = "https://github.com/rousan/multer-rs", branch = "feature/utf8-content-disposition" }

Thank you. I'll test it tomorrow morning. 😀

It's working very well now. Thank you very much! 😁

Released v1.2.1.


In Rakefile, push changes to source branch as well as master.

I believe this would close issue #3, but please review.

Ok, now I see what you meant on slack. So, IMO, the best practice would probably be to push to source before pushing to master... But, since I've been doing that push manually, this certainly is an improvement in any case.
Thanks so much!
Ok, now I see what you meant on slck. So, IMO, the best practice would probably be to push to source before pushing to master... But, since I've been doing that push manually, this certainly is an improvement in any case.
Thanks so much!

I agree that logically and aesthetically it makes sense to push source before master, but since the pushes are accomplished in the same rake publish command, maybe it's not such an issue. Always enjoy 1-line PR's :-)

ditto. nice work!


net: sockets: Verify that TCP context exists when updating window length

Socket may still consume received data after TCP connection was closed and TCP context deallocated, therefore it is needed to verify that TCP context still exists before using it. Otherwise TCP layer throws an error, which can be seen for example in http_get sample.
Signed-off-by: Robert Lubos<EMAIL_ADDRESS>

Codecov Report

Merging #7865 into master will decrease coverage by 0.23%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #7865      +/-   ##
==========================================
- Coverage   55.02%   54.78%   -0.24%
==========================================
  Files         483      481       -2
  Lines       53969    53823     -146
  Branches    10501    10500       -1
==========================================
- Hits        29695    29488     -207
- Misses      19986    20063      +77
+ Partials     4288     4272      -16

Impacted Files
Coverage Δ

subsys/net/lib/sockets/sockets.c
34.14% <0%> (-8.95%)
:arrow_down:

subsys/net/lib/sockets/getaddrinfo.c
0% <0%> (-40%)
:arrow_down:

subsys/net/ip/net_pkt.c
60.05% <0%> (-1.36%)
:arrow_down:

subsys/net/lib/dns/resolve.c
35.09% <0%> (-0.56%)
:arrow_down:

subsys/net/ip/net_context.c
66.17% <0%> (-0.22%)
:arrow_down:

include/net/socket.h
100% <0%> (ø)
:arrow_up:

tests/net/socket/udp/src/main.c

tests/net/socket/getaddrinfo/src/main.c

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 5b20350...b53bc04. Read the comment docs.

Otherwise TCP layer throws an error, which can be seen for example in http_get sample.

Which error? Do we have a ticket open for it? Can the error be quoted in the commit message for clarity?

This is not a reliable solution.

Socket may still consume received data after TCP connection was closed and TCP context deallocated

A TCP context is a socket. In POSIX semantics, a socket can't be deallocated behind the owning application's back. And if it's deallocated, that slot can be reused, and the code will access completely different context.
And that's one of the big issues in the Zephyr IP stack that it can deallocate net context behind its owner's back. And as usual, it's a contention point whether to resolve it on the level of the IP stack, or on the level of BSD socket shim.
Summing up, I'd prefer to not apply this patch - it masks issue rather than resolves it. Instead, should consider ways to resolve the underlying issue described above.

While I totally agree that deallocation of TCP context is a problem, and believe me, I was strongly suprised when I figured out what is going on, I do not see anything wrong with providing means to avoid the erroneous situation on a higher layer. Yes, it may mask the problem, but it prevents potential users from hitting the error until proper TCP context handling is introduced, which will happend I don't know when. And hitting errors in staple examples is a problem IMHO - it discourages people to use  Zephyr.
Of course I don't deny that the problem exists and appropritate ticket should be created, so it is not overlooked during the transition to sockets.

I do not see anything wrong with providing means to avoid the erroneous situation on a higher layer.

My concern with changes like this is that they're workarounds adding extra code. When the root issue is fixed, nobody will remember to remove it. Over time, we'll accumulate a bunch of cruft which will show up in size comparisons with other IP stacks, and that will also make Zephyr less tempting for people.

but it prevents potential users from hitting the error until proper TCP context handling is introduced

That's why I don't give it -1, just -0. I'm sure other folks will approve it. The alternative is to withdraw this patch now, and pull together for the underlying fix. With more than 1 people seeing the issue, we hopefully will be able to cover it in a couple of weeks. Or if you say that you think that it's important that this workaround-style fix gets into the 1.12 release, I can +1 it either.

appropritate ticket should be created

net_context lifetime issues are tracked as https://github.com/zephyrproject-rtos/zephyr/issues/8008

Closing this one as I'm not able to reproduce this anymore.

@rlubos : Fixing this in the more general way (#8008) is still on my todo.


add support for expecting a response

also supports cycling through serial ports and selecting the first found port if the previously configured port becomes unavailable

@istnv would love your feedback on this. Had someone request this feature specifically, as they sometimes have arduinos on serial ports die off and want to know when that happens. Essentially, if the tsp module sends a command to a serial port, it starts an interval, and (if configured to expect a response) no response is received within the allotted time, it throws an error, and, if configured, can send an error response to any tcp connected clients.

It shouldn’t but I’ll explicitly check for true which will resolve both concerns. Thanks!

I've been surprised too many times assuming it should work. :)


Problem with apk

Continuing from https://github.com/flet-dev/flet/pull/2271#issuecomment-1872617974
Device : Samsung A54
APK : https://send.vis.ee/download/e67eaa253c260476/#WmbfFW51YuW0oz_epfJU0g
Github repo : https://github.com/tokitou-san/Finstagram/
PS C:\Programming\Finstagram-main> poetry run flet build apk -vv
Flutter bootstrap directory: C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu
Creating Flutter bootstrap project...OK
Customizing app icons and splash images...OK
Generating app icons...Resolving dependencies in C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu... (1.0(5.4s)
Got dependencies in C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu.
Building package executable... (4.8s)
Built flutter_launcher_icons:flutter_launcher_icons.
  ════════════════════════════════════════════
     FLUTTER LAUNCHER ICONS (v0.13.1)
  ════════════════════════════════════════════

• Creating default icons Android
• Overwriting the default Android launcher icon with a new icon
• Overwriting default iOS launcher icon with new icon
Creating Icons for Web...
Creating Icons for Windows...
Creating Icons for MacOS...

✓ Successfully generated launcher icons
OK
Generating splash screens...Building package executable... (1.9s)
Built flutter_native_splash:create.
[Android] Creating default splash images
[Android] Creating dark mode splash images
[Android] Creating default android12splash images
[Android] Creating dark mode android12splash images
[Android] Updating launch background(s) with splash image path...
[Android]  - android/app/src/main/res/drawable/launch_background.xml
[Android]  - android/app/src/main/res/drawable-night/launch_background.xml
[Android]  - android/app/src/main/res/drawable-v21/launch_background.xml
[Android]  - android/app/src/main/res/drawable-night-v21/launch_background.xml
[Android] Updating styles...
[Android]  - android/app/src/main/res/values-v31/styles.xml
[Android] No android/app/src/main/res/values-v31/styles.xml found in your Android project
[Android] Creating android/app/src/main/res/values-v31/styles.xml and adding it to your Android project
[Android]  - android/app/src/main/res/values-night-v31/styles.xml
[Android] No android/app/src/main/res/values-night-v31/styles.xml found in your Android project
[Android] Creating android/app/src/main/res/values-night-v31/styles.xml and adding it to your Android project
[Android]  - android/app/src/main/res/values/styles.xml
[Android]  - android/app/src/main/res/values-night/styles.xml
[iOS] Creating  images
[iOS] Creating dark mode  images
[iOS] Updating ios/Runner/Info.plist for status bar hidden/visible
[Web] Creating images
[Web] Creating images
[Web] Creating background images
[Web] Creating CSS
[Web] Updating index.html
╔════════════════════════════════════════════════════════════════════════════╗
║                       NEED A GREAT FLUTTER DEVELOPER?                      ║
╠════════════════════════════════════════════════════════════════════════════╣
║                                                                            ║
║   I am available!  Find me at https://www.linkedin.com/in/hansonjon/       ║
║                                                                            ║
╚════════════════════════════════════════════════════════════════════════════╝

✅ Native splash complete.
Now go finish building something awesome! 💪 You rock! 🤘🤩
Like the package? Please give it a 👍 here: https://pub.dev/packages/flutter_native_splash

OK
Packaging Python app...Building package executable... (1.2s)
Built serious_python:main.
Running package command
Creating asset directory: C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu\app
Copying Python app from C:\Programming\Finstagram-main to C:\Users\baseplate-admin\AppData\Local\Temp\serious_python_temp4044c8d4
Warning: [dependencies] section of map type is not yet supported.
Installing dependencies [flet-embed] with pip command to C:\Users\baseplate-admin\AppData\Local\Temp\serious_python_temp4044c8d4\__pypackages__
Downloading Python distributive from https://github.com/indygreg/python-build-standalone/releases/download/20231002/cpython-3.11.6+20231002-x86_64-pc-windows-msvc-shared-install_only.tar.gz to C:\Users\baseplate-admin\AppData\Local\Temp\cpython-3.11.6+20231002-x86_64-pc-windows-msvc-shared-install_only.tar.gz
Extracting Python distributive from C:\Users\baseplate-admin\AppData\Local\Temp\cpython-3.11.6+20231002-x86_64-pc-windows-msvc-shared-install_only.tar.gz to C:\Users\baseplate-admin\AppData\Local\Temp\hostpython3.11_a6b70951
Compiling Python sources at C:\Users\baseplate-admin\AppData\Local\Temp\serious_python_temp4044c8d4
Delete unnecessary files with extensions: [.py, .c, .h, .typed, .exe, .so, .a, .pdb, .pyd, .dll]
Delete unnecessary files and directories: [__pycache__, bin]
Creating app archive at C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu\app/app.zip from C:\Users\baseplate-admin\AppData\Local\Temp\serious_python_temp4044c8d4
Deleting temp directory C:\Users\baseplate-admin\AppData\Local\Temp\serious_python_temp4044c8d4
Deleting Python directory C:\Users\baseplate-admin\AppData\Local\Temp\hostpython3.11_a6b70951
OK
Building .apk for Android...['C:\\tools\\flutter\\bin\\flutter.BAT', 'build', 'apk']
Resolving dependencies...
  fl_chart 0.65.0 (0.66.0 available)
  flutter_lints 2.0.3 (3.0.1 available)
  flutter_native_splash 2.3.7 (2.3.8 available)
  lints 2.1.1 (3.0.0 available)
  matcher 0.12.16 (0.12.16+1 available)
  material_color_utilities 0.5.0 (0.8.0 available)
  meta 1.10.0 (1.11.0 available)
  package_info_plus 4.2.0 (5.0.1 available)
  path 1.8.3 (1.9.0 available)
  petitparser 5.4.0 (6.0.2 available)
  test_api 0.6.1 (0.7.0 available)
  toml 0.14.0 (0.15.0 available)
  uuid 4.2.2 (4.3.1 available)
  web 0.3.0 (0.4.0 available)
  web_socket_channel 2.4.0 (2.4.1 available)
  xml 6.3.0 (6.5.0 available)
Got dependencies!
16 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.

C:\Users\baseplate-admin\AppData\Local\Android\Sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu\build\serious_python_android\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libpythonbundle.so': The file was not recognized as a valid object file

C:\Users\baseplate-admin\AppData\Local\Android\Sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu\build\serious_python_android\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libpythonbundle.so': The file was not recognized as a valid object file

C:\Users\baseplate-admin\AppData\Local\Android\Sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu\build\serious_python_android\intermediates\merged_native_libs\release\out\lib\x86_64\libpythonbundle.so': The file was not recognized as a valid object file

Font asset "CupertinoIcons.ttf" was tree-shaken, reducing it from 283452 to 912 bytes (99.7% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
Font asset "MaterialIcons-Regular.otf" was tree-shaken, reducing it from 1645184 to 1261080 bytes (23.3% reduction). Tree-shaking can be disabled by providing the --no-tree-shake-icons flag when building your app.
C:\Users\baseplate-admin\AppData\Local\Android\Sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu\build\app\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libpythonbundle.so': The file was not recognized as a valid object file

C:\Users\baseplate-admin\AppData\Local\Android\Sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu\build\app\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libpythonbundle.so': The file was not recognized as a valid object file

C:\Users\baseplate-admin\AppData\Local\Android\Sdk\ndk\23.1.7779620\toolchains\llvm\prebuilt\windows-x86_64\bin\llvm-strip.exe: error: 'C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu\build\app\intermediates\merged_native_libs\release\out\lib\x86_64\libpythonbundle.so': The file was not recognized as a valid object file

e: C:/Users/baseplate-admin/.gradle/caches/transforms-3/c4988ff80110f75080a936fc6f044848/transformed/core-1.10.1/jars/classes.jar!/META-INF/core_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0.
e: C:/Users/baseplate-admin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.8.22/636bf8b320e7627482771bbac9ed7246773c02bd/kotlin-stdlib-1.8.22.jar!/META-INF/kotlin-stdlib-jdk7.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0.
e: C:/Users/baseplate-admin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.8.22/636bf8b320e7627482771bbac9ed7246773c02bd/kotlin-stdlib-1.8.22.jar!/META-INF/kotlin-stdlib.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0.
e: C:/Users/baseplate-admin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.8.22/636bf8b320e7627482771bbac9ed7246773c02bd/kotlin-stdlib-1.8.22.jar!/META-INF/kotlin-stdlib-jdk8.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0.
e: C:/Users/baseplate-admin/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.8.22/1a8e3601703ae14bb58757ea6b2d8e8e5935a586/kotlin-stdlib-common-1.8.22.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0.
Running Gradle task 'assembleRelease'...                          101.1s
✓  Built build\app\outputs\flutter-apk\app-release.apk (44.3MB).
OK
Copying build to build\apk directory...OK
Deleting Flutter bootstrap directory C:\Users\baseplate-admin\AppData\Local\Temp\flet_flutter_build_HZQoVYvIwu
Success!

Got it working on Android with that simple change: https://github.com/tokitouq/Finstagram/pull/47

A few observations:

We either need to put a note about if __name__ == "__main__" or set that variable while packaging.
Parsing pyproject.toml is not yet supported (added https://github.com/flet-dev/serious-python/issues/52), but looking at your pyproject.toml I feel it contains a lot of unnecessary stuff. It looks like it's flet dependencies expanded. Even flet dependency has old 0.9.0 version which won't work with flet build. Clean that file. I guess it should be just flet for now.

Hi thanks a bunch for your work on this


MQTT: add auth and topic filtering

Petnet devices will get a unique API key with which they will log into
the MQTT broker. The Petnet devices will also only be able to subscribe
to the topics of their own gateway IDs.
The server has its own login that is generated whenever the server
starts up. That login can subscribe to any topic in order for it to
respond to all feeders.
Currently there appears to be no way to filter what topics can be
published by a client.

@mbillow Feel free to blow this away and put in your own change. I just uploaded this in case it covers something you didn't do.


[UNDERTOW-1602] Don't immediatly attempt to resume if parsing was uns…

…ucessful
Jira:  https://issues.jboss.org/browse/UNDERTOW-1602

This is ok to test


[#1064] Restore Seed-Birthday Screen

Reworked Restore Seed-Birthday height screen
Contains UI, screen logic and tests
Changelog update
Closes #1064

Before:

After:

After video:
https://github.com/Electric-Coin-Company/zashi-android/assets/9017390/28508c36-3f09-4023-a8bb-66e24f275e0a

Note
This code review checklist is intended to serve as a starting point for the author and reviewer, although it may not be appropriate for all types of changes (e.g. fixing a spelling typo in documentation).  For more in-depth discussion of how we think about code review, please see Code Review Guidelines.

Author

[x] Self-review your own code in GitHub's web interface[^1]
[x] Add automated tests as appropriate
[ ] Update the manual tests[^2] as appropriate
[ ] Check the code coverage[^3] report for the automated tests
[x] Update documentation as appropriate (e.g README.md, Architecture.md, CHANGELOG.md, etc.)
[x] Run the app and try the changes
[x] Pull in the latest changes from the main branch and squash your commits before assigning a reviewer[^4]

Note
It is good practice to provide before and after UI  screenshots in the description of this PR. This is only applicable for changes that modify the UI.

Reviewer

[ ] Check the code with the Code Review Guidelines checklist
[ ] Perform an ad hoc review[^5]
[ ] Review the automated tests
[ ] Review the manual tests
[ ] Review the documentation, README.md, Architecture.md, etc. as appropriate
[ ] Run the app and try the changes[^6]

[^1]: Code often looks different when reviewing the diff in a browser, making it easier to spot potential bugs.
[^2]: While we aim for automated testing of the application, some aspects require manual testing. If you had to manually test something during development of this pull request, write those steps down.
[^3]: While we are not looking for perfect coverage, the tool can point out potential cases that have been missed. Code coverage can be generated with: ./gradlew check for Kotlin modules and ./gradlew connectedCheck -PIS_ANDROID_INSTRUMENTATION_TEST_COVERAGE_ENABLED=true for Android modules.
[^4]: Having your code up to date and squashed will make it easier for others to review. Use best judgement when squashing commits, as some changes (such as refactoring) might be easier to review as a separate commit.
[^5]: In addition to a first pass using the code review guidelines, do a second pass using your best judgement and experience which may identify additional questions or comments. Research shows that code review is most effective when done in multiple passes, where reviewers look for different things through each pass.
[^6]: While the CI server runs the app to look for build failures or crashes, humans running the app are more likely to notice unexpected log messages, UI inconsistencies, or bad output data. Perform this step last, after verifying the code changes are safe to run locally.

The fact that the Figma design lacks the font for the BD (but I believe it was present in the past) resulted in default font.

iOS implemented the screen a while ago when the font was still in the design. It's Archivo.semiBold, size 25.

NOTE: on iOS the field is also centered instead of aligned to the left

iOS implemented the screen a while ago when the font was still in the design. It's Archivo.semiBold, size 25.

Thanks for noticing this. I'll report to the Figma design. Here is the updated look:


Improve build system

At the moment there's a lot of scripts in the package.json. It would be good to use something like yarn workspaces so that the libraries link nicer.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Would also be good to have it reliably compile on Ubuntu and Windows.


Infinite Redirect for Edited Question

Describe the bug
I edited a question a few times yesterday and noticed that there is an infinite redirect on refresh.
To Reproduce

Go here: https://godev.com/questions
Find the post titled: How do I get started learning Go?
Click it and notice question loads.
Refresh the page and note an infinite redirect

Also note if you view other questions refreshing the page doesn't have the same redirect issue.
Expected behavior
Refreshing page for an edited question doesn't result in infinite redirect? I haven't had a chance to dig into it more yet. Or compare by editing other posts. Sharing here incase someone has seen it or might have an idea.
Screenshots
https://github.com/apache/incubator-answer/assets/461249/95ff7d28-4e07-4e98-8a56-4865880d761f

Platform

Device: Mac Book Air, 2022
OS: MacOS Sonoma 14.4
Browser and version: Brave – Version 1.64.109 Chromium: 123.0.6312.58 (Official Build) (arm64)
Version: 1.20

FWIW, I just made a single edit removing a tag from this post as well and it seems fine:
https://godev.com/questions/10010000000000231/alternate-of-io-readall
Still not exactly sure what's different about the one in my video and original post.

Awesome, I'll keep an eye out for the patch.

@LinkinStars
hmmm... very interesting bug. what is the issue?

Are there specific steps or sequence of actions required to cause it?
I still haven't seen it for any other questions with (?) in the title.
In the video & screenshot what is the second id in path that is append to URL – a revision number or something?


Admin edit university level questions broken

Fails in backend, because audit logs not taken into account

TEst from slack


Feature: Query Crossref api for dois of references w/o dois

Leverage BaseX Rest api to query Crossref's API for references without dois.
Example could be to do:
http:send-request(<http:request method='get' href="{('https://api.crossref.org/works?rows=3&query.bibliographic='||$title-query||'&mailto=f.atherden@elifesciences.org')}" timeout='2'><http:header name="User-Agent" value="f.atherden@elifesciences.org"/></http:request>)

where $title-query is the title of a reference without a doi.
The JSON result(s) could be compared against the original using Levenshtein distance in order to determine likelihood of a match.

pre-existing basex-validator-docker could be used.
This could be UI'd as a page the user uploads an XML document to. The user could be presented with the (enriched, i.e. likelihood defined) result.

From Crossref documentation:

Specifically, we encourage the following polite behaviour:
Cache data so you don't request the same data over and over again.

Correct matches could be input into a BaseX database, and this could be queried prior to the Crossref API.


sortEventsWithOrder trying to use ICal\EventObject as array

I'm trying to use eventsFromRange(). This calls sortEventsWithOrder(). Inside that method it loops through the array of events (line 1100), each array contains a ICal\EventObject. But the code uses array functions and tries to access properties as though it is an array.
For me, array_key_exists fails so then it tries to access as an array and I get:
[Symfony\Component\Debug\Exception\FatalErrorException]
Cannot use object of type ICal\EventObject as array

PRs are welcome. Can you provide an iCal snippet?

I believe this may have been fixed by changes to sortEventsWithOrder() in #78. @leepownall, could you try using the version of ICal.php found within src/ICal in this repo and check?

I just tested this library and had the same problem.

Looks like it has fixed the issue I was getting, although it seems to have highlighted another issue I think. I will investigate further but the it doesn't look like you can use eventsFromRange() to get a single day.
The rangeStart and rangeEnd (line 1134, 1135) end up getting set as the beginning of the day, but the actual event is later in the day. So when you do the check for inbetween the two dates it never works.
"08.09.2016 00:00:00" = Range Start
"08.09.2016 00:00:00" = Range End
"08.09.2016 09:00:00" = Event Date

Closing this issue as PR #82 fixes the above - thanks to @s0600204 for their work


Material ui update

Updated material update with no breaking changes hopefully
#17

Thanks for doing this! I'll check this out tomorrow and get it merged.

Thanks for doing this! I'll check this out tomorrow and get it merged.

sure. 😄

Hey @seleregb - can you resolve conflicts? Then I can merge :)

Hey @seleregb - can you resolve conflicts? Then I can merge :)

I've resolved the conflicts


Feature/event card component

This is a request to pull in part of the changes for the events calendar.
Parts that are done:

Setup to pull in data from Supabase (specifically events data)
Layout for events cards and page
Pagination element (wo working functionality)

Parts to be completed in future PR:

Upcoming and past tabs
Working pagination functionality
attend button in event cards (easy add, I just overlooked it)

There are some elements of the design that I don't think would be possible to implement:

attendees profile page pictures -- this info is not in the supabase
event locations -- info not in supabase

I am not too sure about what to do with the "Any type" dropdown. How is it supposed to function?

I've completed all parts of the event calendar feature and am ready for a complete review

In response to the question about the drop down, its a filter for specific event types

So this looks awesome. A few things

The p text should be black so its visible ( ik its grey on the figma but...)
This is a feature , but if theres no upcoming events, the default view should be past, seems like a simple if then condition no?
For the url and key creds for supabase, are you thinking to use github secrets? since when its live we'll need someway to access that env file

Will do
This would just be updating one line of code, so no prob there
Honestly hadn’t thought about it but thats a good idea, i’ll take care of it

Will have everything done before the meeting tonight


Moving a ClippedCamera through a StaticBody causes the editor to crash

Commit Hash: 9c0cc0db63f61cd71a2a735519dc7816973e5b7e
The editor crashes when I perform the following steps from a new project:

For the new scene, select "3D Scene" as the root node.
Add a StaticBody as a child node to the Spatial node.
Add a CollisionShape as a child node to the StaticBody.
Set the CollisionShape's Shape to "New BoxShape".
Add a ClippedCamera as a child node to the Spatial node.
Move the ClippedCamera by dragging the directional arrows with the mouse.

I then get the following dump to the console:
CrashHandlerException: Program crashed
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[0] btCollisionWorld::objectQuerySingleInternal (c:\godot\thirdparty\bullet\bulletcollision\collisiondispatch\btcollisionworld.cpp:661)
[1] btCollisionWorld::objectQuerySingle (c:\godot\thirdparty\bullet\bulletcollision\collisiondispatch\btcollisionworld.cpp:614)
[2] btSingleSweepCallback::process (c:\godot\thirdparty\bullet\bulletcollision\collisiondispatch\btcollisionworld.cpp:1089)
[3] BroadphaseRayTester::Process (c:\godot\thirdparty\bullet\bulletcollision\broadphasecollision\btdbvtbroadphase.cpp:229)
[4] btDbvt::rayTestInternal<BroadphaseRayTester> (c:\godot\thirdparty\bullet\bulletcollision\broadphasecollision\btdbvt.h:1054)
[5] btDbvtBroadphase::rayTest (c:\godot\thirdparty\bullet\bulletcollision\broadphasecollision\btdbvtbroadphase.cpp:264)
[6] btCollisionWorld::convexSweepTest (c:\godot\thirdparty\bullet\bulletcollision\collisiondispatch\btcollisionworld.cpp:1162)
[7] BulletPhysicsDirectSpaceState::cast_motion (c:\godot\modules\bullet\space_bullet.cpp:180)
[8] ClippedCamera::_notification (c:\godot\scene\3d\camera.cpp:747)
[9] ClippedCamera::_notificationv (c:\godot\scene\3d\camera.h:179)
[10] Object::notification (c:\godot\core\object.cpp:980)
[11] SceneTree::_notify_group_pause (c:\godot\scene\main\scene_tree.cpp:960)
[12] SceneTree::iteration (c:\godot\scene\main\scene_tree.cpp:473)
[13] Main::iteration (c:\godot\main\main.cpp:1770)
[14] OS_Windows::run (c:\godot\platform\windows\os_windows.cpp:2735)
[15] widechar_main (c:\godot\platform\windows\godot_win.cpp:150)
[16] _main (c:\godot\platform\windows\godot_win.cpp:172)
[17] main (c:\godot\platform\windows\godot_win.cpp:184)
[18] __scrt_common_main_seh (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283)
[19] BaseThreadInitThunk
[20] RtlValidSecurityDescriptor
-- END OF BACKTRACE --
It also may be worth noting that upon opening the project, I get the following warning:
WARNING: Control::grab_focus: This control can't grab focus. Use set_focus_mode() to allow a control to get focus.
     At: scene\gui\control.cpp:2067

Can't repro in current master c51caa3, maybe was fixed by #22156 ?

@muiroc Yes it was already fixed.
I'm closing it


Repair tests (without recomputing most of the cassettes)

Mostly changes to the tests files. The changes to the subliminal module are minimal.

If we delete the old cassettes then more tests are failing, mainly due to Providers that stopped working (thesubdb, addic7ed, ...). These are for other PRs.

Ok, this is good now (I had to remove some python2 code also).
After this PR, only the refiners and providers tests are failing.
@ptrcnull if you want to give a quick look, so we can merge this before #1073


Housekeeping and filename management

Use /usr/bin/env for better virtualenv compatibility
Add a helper to add prefixes to filenames, path sensitive, for image workflow. I'm the least happy with this part of the change, feedback appreciated.
Support output going into different directories

Hi,
Go is definitely fun and worth a look! But I have not yet implemented the image tessellation feature and it's not completely stable. So this python project is probably the easier way to go :)


bug(ui): Messages w/ just emojis should appear big

Issue: When you send a message with just emoji's the message should appear bigger. This is working fine if you send a message with just one emoji, but if you add multiple the message shows up as the incorrect size
OS:
All
Screenshot:

works fine now


add the objects for the full range of classes

Also:

introduce recursion such that nested orsopy objects are correctly converted to yaml
Add correct datetime formatting (for some reason pyyaml doesn't use the T delimitation

There was some issues with getting lists being parsed correctly, which has lead to the latests design of to_dict() (formerly known as _clean(). Thoughts on how to improve this are very welcome.

Does anyone have strong feelings on Artur's comment here https://github.com/reflectivity/orsopy/pull/3#discussion_r665237231 ? If not I will follow is logic cause I am not fussed.
Additionally I have put the Orso class object which bring everything together directly in the __init__.py in fileio, which people might disagree with.


libgobuster io/utils

Should in http.go script be imported io/ioutils instead of io?
Getting following error when building docker image:
src/github.com/OJ/gobuster/libgobuster/http.go:114:15: undefined: io.ReadAll
src/github.com/OJ/gobuster/libgobuster/http.go:122:25: undefined: io.Discard

The master branch is the current development version and requires at least go1.16 as stated in the readme. If you want to build the master branch please update your golang version


Annotate onClick with lint "unused"

onClick method should be annotated for lint checking (I think):
@SuppressWarnings("unused") // it's actually used, just injected by Butter Knife

Seconding.


Update load_ard to support Sentinel-2 Collection 3 data, including s2cloudless cloud masking

Proposed changes
This pull request implements a major update to the load_ard function to allow the function to support the new Sentinel-2 Collection 3 products. In particular:

Support loading ga_s2am_ard_3 and ga_s2bm_ard_3 products
Support masking using both Fmask and s2cloudless cloud masks - Fmask remains the default mask, but can be easily changed to s2cloudless by passing mask_pixel_quality='s2cloudless'
Updated the Using_load_ard.ipynb notebook to document all new features
Update tests to run on updated notebook
Improved function docstrings to improve readability

I've also made two related changes:

Deprecated the predicate= param for filtering data as this functionality is now supported by datacube-core itself via dataset_predicate
Swapped the mask_filters cloud mask buffering code to be more intuitive: 'dilation' will now expand cloudy pixels, rather than shrink them. This is a backwards-incompatible change, so I've added a warning so that anyone using this functionality will know it's changed.

Checklist (replace [ ] with [x] to check off)

[x] Notebook created using the DEA-notebooks template
[x] Remove any unused Python packages from Load packages
[x] Remove any unused/empty code cells
[x] Remove any guidance cells (e.g. General advice)
[x] Ensure that all code cells follow the PEP8 standard for code. The jupyterlab_code_formatter tool can be used to format code cells to a consistent style: select each code cell, then click Edit and then one of the Apply X Formatter options (YAPF or Black are recommended).
[x] Include relevant tags in the final notebook cell (refer to the DEA Tags Index, and re-use tags if possible)
[x] Clear all outputs, run notebook from start to finish, and save the notebook in the state where all cells have been sequentially evaluated
[ ] Test notebook on both the NCI and DEA Sandbox (flag if not working as part of PR and ask for help to solve if needed)
[ ] If applicable, update the Notebook currently compatible with the NCI|DEA Sandbox environment only line below the notebook title to reflect the environments the notebook is compatible with

Ugh sorry for the emails everyone. Not sure why ReviewNB decided to post each comment separately. 😅

For simplicity, I have changed the index here to plot image 0 for continuity with the 'False' cloud masking cell immediately below. This also gets around the issue of the swath edge related data-absences.

View entire conversation on ReviewNB

Agreed! Robbi has provided some text to address this.

View entire conversation on ReviewNB

I've edited the notebook markdown here for clarity. If we know of/can find a good resource explaining the difference between the cloud masks then I think we can add that later. For now, the decision is likely to be made based on user testing and whether the user dataset is sensor specific or blended.

View entire conversation on ReviewNB

View / edit / reply to this conversation on ReviewNB
geoscience-aman commented on 2023-01-11T02:37:26Z ----------------------------------------------------------------
Is there a way around having to run load_ard() again just to access the s2cloudless_prob layer? I find it slightly weird that the probability layer is masked if mask_pixel_quality=False is not specified.

Yeah, this is a bit weird to me too... I was thinking about adding some magic code under the hood that excludes s2cloudless_prob from being masked, but wasn't sure if treating those layers differently from the others would produce unexpected confusion, e.g. could there be some unanticipated use case for cloud masking that layer that we haven't thought of? Might flag this with a Github issue as something to think about and possibly implement outside of this PR

I was also thinking that this should be logged as an issue for later but that we could leverage it for now to compare the performance of Fmask and s2cloudless to support S2 decision making. Any aversions to me adding a cell to the notebook to this effect?
Dr Claire Phillips (she/her)  |  Remote Sensing Scientist
Digital Earth Australia  |  Space Division
Geoscience Australia
t +61 2 6249 9462    ga.gov.auhttps://www.ga.gov.au/
From: Robbi Bishop-Taylor @.>
Sent: Thursday, 12 January 2023 11:21 AM
To: GeoscienceAustralia/dea-notebooks @.>
Cc: Claire Phillips @.>; Review requested @.>
Subject: Re: [GeoscienceAustralia/dea-notebooks] Update load_ard to support Sentinel-2 Collection 3 data, including s2cloudless cloud masking (PR #984)
View / edit / reply to this conversationhttps://app.reviewnb.com/GeoscienceAustralia/dea-notebooks/pull/984/discussion/ on ReviewNB
geoscience-aman commented on 2023-01-11T02:37:26Z ----------------------------------------------------------------
Is there a way around having to run load_ard() again just to access the s2cloudless_prob layer? I find it slightly weird that the probability layer is masked if mask_pixel_quality=False is not specified.
Yeah, this is a bit weird to me too... I was thinking about adding some magic code under the hood that excludes s2cloudless_prob from being masked, but wasn't sure if treating those layers differently from the others would produce unexpected confusion, e.g. could there be some unanticipated use case for cloud masking that layer that we haven't thought of? Might flag this with a Github issue as something to think about and possibly implement outside of this PR
—
Reply to this email directly, view it on GitHubhttps://github.com/GeoscienceAustralia/dea-notebooks/pull/984#issuecomment-1379649915, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGEQEUOW4BC27XEB3AU6ND3WR5FAFANCNFSM6AAAAAASWNIBFE.
You are receiving this because your review was requested.Message ID: @.***>
Geoscience Australia Disclaimer: This e-mail (and files transmitted with it) is intended only for the person or entity to which it is addressed. If you are not the intended recipient, then you have received this e-mail by mistake and any use, dissemination, forwarding, printing or copying of this e-mail and its file attachments is prohibited. The security of emails transmitted cannot be guaranteed; by forwarding or replying to this email, you acknowledge and accept these risks.

Interesting...you could definitely get tripped up by that if you forgot that Fmask were applied by default. However, it does nicely compare the performance of the two approaches. I'm proposing an added cell here where users see the probablility layer with Fmask over the top to support the decision of which cloudmask to use with S2.

View entire conversation on ReviewNB

I don't understand the dc_landsat syntax here either. On an assumption that it's meant to be dc, I've changed it in my reviewed copy of the notebook.

View entire conversation on ReviewNB

I've removed the explicit and query hyperlinks in my reviewed notebook and replaced them with italics instead.

View entire conversation on ReviewNB

I think it's ok in this instance because we're not loading fragments of the total dataset but rather loading everything. The notebook also links out to the Parallel_processing_with_Dask notebook so users can redirect there to clarify any confusion.

View entire conversation on ReviewNB

View / edit / reply to this conversation on ReviewNB
erialC-P commented on 2023-01-11T05:35:02Z ----------------------------------------------------------------
Unusual error returned following "Loading 12 time steps". Doesn't appear to affect the analysis.
CPLReleaseMutex: Error = 1 (Operation not permitted)

This is annoying but there's nothing we can do - I've asked about it many times but there's no clear workaround :(

Awesome, I think that sounds like an easy solution for now!

View entire conversation on ReviewNB


Lumen support

Does this package support Lumen?

The laravel support is going to be removed into a separate package. Lumen should work that way. There's room for a Lumen driver that will depend on this package and import all of the correct settings.