Proposal: Publish Helm chart to a chart repository

It's a little awkward / bad UX to to have to download Istio from https://git.io/getLatestIstio in order to proceed with installing it onto the cluster via Helm. An improved helm install UX might look more like this:
$ helm repo add istio <url>
$ helm install istio/istio --name istio --namespace istio-system

Why not to stable/istio?
Imho it's likely most users would search for the chart there first anyway...

I think that is reasonable, but the counter-argument is that many projects prefer to keep the charts closer to the source and 100% under their own control.

I think we can contribute the helm char to https://github.com/helm/charts , and then people can get it from google storage.
FYI @sdake @linsun @costinm

As a newcomer to Istio, but a longtime user of Helm, I agree the helm chart should be published somewhere. Our org wants to keep all of our Kubernetes config under source control, but it's a pain to not be able to just reference a chart repository. Like the other comments mentioned, many people have come to search for charts at https://github.com/helm/charts

I think we can contribute the helm chart to https://github.com/helm/charts , and then people can get it from google storage.

Respectfully, after having written many Helm charts-- some in helm/charts and others, elsewhere, I don't feel helm/charts is the right place for this.
helm/charts is a great place for "off the shelf" software wherein the authors of that software didn't write it with Kubernetes in mind and thus didn't bother to package it as a chart themselves. For instance, take WordPress or Postgres. You can run those anywhere. They're open source. But I can take an educated guess that if I offered them the charts to keep in their own source control closer to the source of the products those charts install, they'd say no. helm/charts becomes a good place for the Kubernetes community to add value to that "off the shelf" software by packaging it for installation on Kubernetes.
Now compare this to one of your own projects-- especially one wherein you have an expectation of deploying it (maybe even exclusively) to Kubernetes. You are far, far better off keeping the source for such a chart closer to the source for the software itself. Why?...
Inevitably, you will encounter circumstances where changes to the software necessitate a change to the chart. Consider the case of a simple, non-breaking change like a new feature that is activated by a flag or environment variable. If your chart is kept separate from the software it installs, adding support for that feature requires coordinating two PRs across not only two different projects, but two different organizations, each with their own reviewers, processes, and sense of priority.
If your chart is kept in the same repo as the rest of your source, you can implement a new feature with a single PR.
There are other benefits as well...
helm/charts is continuously deployed. On every merge to master, every chart is packaged up and pushed to the cloud storage from where it is hosted. There are some undesirable implications to this. For one, every single little change you make to the chart results in a new version of the chart. You very likely do not want that. Compare to the software that the chart installs and it would be like tagging every single commit to master with a semver tag and releasing it to the world.
Keeping your chart's source with the rest of your source fixes this problem. Pending changes can accumulate in the master branch (or dev branch or whatever) and can be versioned and released when you choose-- i.e. in cadence with the release of the software itself.
I strongly urge whoever is the decider on this to not use helm/charts for this.

And I know that I probably appear, in the above, to have conflated discussion of where the chart source is kept and where the chart is hosted. Sure there's a difference, but not a meaningful one. If your chart's source is in helm/charts, your charts will be published to / hosted by their Helm repository. You'd have no other choice.
It is only by not hosting the chart source in helm/charts that you even allow yourself the option to publish / host the charts elsewhere.

see https://github.com/istio/istio.io/pull/2842

Is there a helm repo somewhere that contains the helm charts from all istio releases (not daily-build)?

Not yet it seams.. https://github.com/istio/istio/blob/master/Makefile#L87

There was kind-of one but it has been sadly removed. It had to be triggered manually but still.

Is istio helmchart in a repository happening soon, or is it still going to take a while? There are many pr's and issues on this, all pointing in different directions.. Whats going on?

I built a small helm add-on to address this kind of issue, see https://github.com/aslafy-z/helm-git

In case anyone else is having issues with the istio helm chart repo flow, I've posted a working setup here: https://github.com/istio/istio/issues/10402#issuecomment-465131590

It's a little disheartening that 7 months later this is unresolved. The UX for initial install should be a an important concern for any project and as long as Istio's install story starts with "go download something," it's really not optimal.
Can someone please make a decision about where charts will be published? Maybe even go ahead and provision a chart repository? Once those minor hurdles are cleared, I'm sure there are plenty of people (myself included) who would be happy to assist in incorporating the publishing of charts into the CI/CD process.

I found this chart repo: https://gcsweb.istio.io/gcs/istio-prerelease/prerelease/1.1.0-rc.5/ unfortunately it's available only on 1.1.x versions at the moment.

Helm repo can be found on the Github release page (https://github.com/istio/istio/releases) under Helm Chart Index. For example https://storage.googleapis.com/istio-release/releases/1.1.2/charts/index.yaml
We are working on making this more idiomatic and having a single Helm repo rather than one per release. Follow https://github.com/istio/istio/issues/12974 for updates on that.

Lateral thought: Given that kustomize is now built in to kubectl and an upstream base can be hosted on github, is there really a need for a helm chart?

This has been resolved. As mentioned above

Helm repo can be found on the Github release page (https://github.com/istio/istio/releases) under Helm Chart Index. For example https://storage.googleapis.com/istio-release/releases/1.1.2/charts/index.yaml

We are working on making this more idiomatic and having a single Helm repo rather than one per release. Follow #12974 for updates on that.

We acknowledge they are not the idiomatic Helm repos that most projects are using, and are tracking the progress in https://github.com/istio/istio/issues/12974. Since there is no work to be done here, I am going to close the issue
@wstrange we are moving to a kustomize approach in https://github.com/istio/installer (will be alpha in 1.2). Helm will still be supported though.

Can we consider reopen this? I followed all the linked issues, all of them are closed, but I still can't find a  Helm chart repository for Istio (which is the problem this issue address).

Can we consider reopen this? I followed all the linked issues, all of them are closed, but I still can't find a  Helm chart repository for Istio (which is the problem this issue address).


releases: automate publishing for fedora

Leaving this open as something that a fedora-motivated contributor could pick up

Actually, consolidating this with #1253


flynn redis redis-cli should work against redis app

$ flynn -a redis-41d24f34-ee9f-4b16-8336-9ac0fc5e6d48 redis redis-cli
No redis server found. Provision one with `flynn resource add redis`

Hi @titanous
Any ideas how can I work around to connect to the redis-cli while this enhancement is not yet done ?
Out of 3 instances of redis in the cluster I'm only able to connect to one via the normal flynn -a appname redis redis-cli
other instances give me error:
No redis server found. Provision one with flynn resource add redis
However flynn resource tells me there is a redis resource there, not sure what to do. Any ideas ?
Thanks

@thomasmodeneis can you check for the existence of a FLYNN_REDIS variable in your applictions environment variables? You can check this with flynn -a appname env
If that variable isn't present that is the problem and we will need to traceback how you created the resource to work out why a release wasn't created with it set.

I'm not sure why that happened, but FLYNN_REDIS was not there. Adding FLYNN_REDIS made the trick, thanks.


[recorder] Improve test-proxy start/stop script reliability

The script responsible for starting and stopping the test proxy container can be flaky. I have seen the following issues several times:

The script fails to stop the container after starting it, leaving a container running
The script claims to have failed stopping the container, but the container stopped just fine
If a container is running already (usually caused by issue number 1 above), the script does not handle this gracefully and just crashes with an ambiguous error
Errors coming from the script, where we show the last 10 lines of output, sometimes include output from the previous run, causing confusion

We can do a better job of managing this. We should investigate:

Using a library (example) to interact with Docker. This might improve reliability.
Explicitly checking if a test proxy container already running and killing it if so.

Since we no longer use docker for the proxy, I think this wasn't needed anymore. 😄


pull request for e2e test at 11/21/2016 02:26:06

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Add new tracks to the Rekordbox 6 database

This PR adds a method for adding new tracks to the Rekordbox 6 database. It seems to be working on MacOS, but I haven't testetd it on Windows.
The new method doesn't set any of the track metadata information. The new track just shows up in Rekordbox with blank values for Title, Artist, Album, etc. However, Rekordbox is able to pull in all that information (including creating any related data like DjmdArtist) if you right click on the track in rb and select "Reload Tag."
Would you be apposed to adding mutagen as a dependency so we can populate the track metadata when it's created by pyrekordbox?
I'm also still not 100% sure about the ContentLink value. It seems to be a reference to the rb_local_usn from the TRACK DjmdMenuItem. That value matches for new tracks that I add manually to Rekordbox, but there are older tracks in my library with a ContentLink value that doesn't seem to point to anything.
Once this functionality is finalized and approved I'll update the relevant documentation.

Codecov Report
Attention: 16 lines in your changes are missing coverage. Please review.

Comparison is base (897a48b) 87.92% compared to head (4b5e00d) 87.47%.
Report is 4 commits behind head on master.

Files
Patch %
Lines

pyrekordbox/db6/database.py
27.27%
16 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #121      +/-   ##
==========================================
- Coverage   87.92%   87.47%   -0.46%
==========================================
  Files          17       17
  Lines        2998     3017      +19
==========================================
+ Hits         2636     2639       +3
- Misses        362      378      +16

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Hey @cvdub ,
sorry for the late response, had a lot of stuff going on. Thank you a lot for your effort, this looks really good!
I did not want to add this feature, since you need to analyse/reload the tags anyway in Rekordbox, but actually this seems quite useful:)
I would not mind adding metadata support via mutagen, but for now we can just add **kwargs to the method and pass those to the table creation method. I have a mutagen wrapper somewhere, i can add that to the library.
I have no idea what the ContentLink value should be, i checked my collection and for me it does not match the rb_local_usn. For me it points to nothing for all tracks. I will look into this, haven't spent much time on the DjmdMenuItem table anyways, so I'm not sure what this table is used for.
There are a few things i have noticed in your PR that  should be resolved:

The FileType is always set to 1 (MP3). I haven't checked the value for all supported audio formats, but we should try to cover all.
You can actually remove the created_at and updated_at fields, the table declaration handles this automatically.
For what is DeliveryControl used? Is it really always 'on'?
I switched to pathlib.Path for the file path stuff, maybe replace the os.path parts for consistency. But this is only preference (and one less import).

Other than that i think this can be merged, thanks again for taking the time to add this feature!
PS: Also thank you for updating the docs and using the correct commit message style;)

Thanks for the detailed feeback! I should hopefully have time this week to work updating the PR per your comments.

Updated the PR per your feedback. Some notes below:

I have no idea what the ContentLink value should be, i checked my collection and for me it does not match the rb_local_usn. For me it points to nothing for all tracks.

ContentLink also doesn't seem to match anything for older tracks in my library, but, when I add a new track manually via the rekordbox interface, the ContentLink value for those new tracks does always match the rb_local_usn from the TRACK DjmdMenuItem. This could just be a coincidence.

For what is DeliveryControl used? Is it really always 'on'

DeliveryControl is always "on" for new tracks that I add manually, but it's not "on" for any of my older tracks. I removed this default and everything still seems to be working for new tracks when DeliveryControl is empty.

Very nice, thanks again for your effort!:)


in the same row, change the value of another cell if actual cell value is changed

I am facing an interesting problem:
For a row R, let's C1 and C2 be cells of R such that the value of C2 is function of the value of C1. In other words, if the value of C1 is changed/updated then C2's value will have to be changed/updated using the new value given to C1. Is there a way to do this using React Boot Strap table's API?
Thanks

@jcabrerazuniga sorry for lately reply, could you show me your example? I think it's will more clear.

At the next table:

if I change a cell belonging to the 'Interest rate' column then I need to update the Earnings cell at the same row. For example, if at the first row I change 10% to 25% then the Earnings cell will become 25 and I will need the data to show:

So I needed to be able to update another cell after I updated one within the same row. So far I was not be able to do this with the React BootStrap table API. However, I was able to solve this problem making the data table a state on a React class wrapping the React BooStrap Table.

@jcabrerazuniga, yes, we are not support this reactive updated by some cell changed, but update table state is also my answer for this case. Feel free to let me know if you have another questions, thanks 👍
Sorry for lately reply.

critical basic function missing


invalid signature for boolean values

when you pass a real boolean value into an endpoint which expects one, the resulting signature is incorrect and generates an "error sign!" result from the ByBit API
example:
$bybit->privates()->postPositionSwitchIsolated([
      'symbol' => $symbol,
      'is_isolated' => false,
      'buy_leverage' => $leverage,
      'sell_leverage' => $leverage
    ]);

however, if you pass the boolean value as a string instead, everything works correctly:
$bybit->privates()->postPositionSwitchIsolated([
      'symbol' => $symbol,
      'is_isolated' => 'false',
      'buy_leverage' => $leverage,
      'sell_leverage' => $leverage
    ]);

I think this should be either documented somewhere or fixed, as it took me a while to realize what's going on and why my valid requests come back with an invalid signature error.

I think this has nothing to do with this script, if you lookup the API documentation of ByBit, they are the once who want to have it as a string. BTW, I had the same problem that you had ;)
Check for example: https://bybit-exchange.github.io/docs/v5/order/create-order


Why doesn't gii define the tinyint type?

I get the latest version of Yii2-advanced through composer.(<IP_ADDRESS>)
Why doesn't gii define the tinyint type?
But it's in a separate module.(https://github.com/yiisoft/yii2-gii)
This leads to the following problems with the generated model.
For example:
the properties:
/**

This is the model class for table "auth_role".

@property int $id

@property string $name

@property string $rules

@property string $remark

@property int $status

@property int $sort

@property int $created_at

@property int $updated_at

@property int $deleted_at
*/
the rules:
public function rules()
{
return [
[['name', 'remark'], 'required'],
[['sort', 'created_at', 'updated_at', 'deleted_at'], 'integer'],
[['name'], 'string', 'max' => 20],
[['rules'], 'string', 'max' => 255],
[['remark'], 'string', 'max' => 50],
[['status'], 'string', 'max' => 1],
[['name'], 'unique'],
];
}
Since tinyint is not defined, the rule for 'status' is string.

It's already fixed in gii. Will be there with the next release of it.

@samdark Thanks to answer


Update config.toml to point to 'agency' theme

Using the procedure in the hugoThemes README, this theme appears to be under the name 'agency' rather than 'hugo-agency-theme'.
At the same time, the agency README suggests pulling this exampleSite's config.toml which points to what would be a nonexistent theme due to the move/rename.

The hugoThemes repo contains all themes as a submodule whose name can be differ from the orignal repo name. hugoThemes lists my theme as agency (e.g. because it's shorter to handle on the cli), and the downloaded folder will have the same name.
If you clone the repo manually with git clone https://github.com/digitalcraftsman/hugo-agency-theme, the theme folder will have the original name of the repo. The example config-file assumes that you cloned the repo manually.
Both ways are possible, but just one can be supported by the config file. There are also more themes whose orignal repo name doesn't match that of the submodule.


Not really an issue

coupled with https://github.com/Octoberfest7/MemFiles.git , it would be interesting to avoid dropping even bmp on disk, weird but Symantec didn't like it. I guess if the bmp is stored in beacons memory then fetch via MemFiles , then of course rendered from download tab.  I don't know if the initialized memory could hold a full screenshot.

Pass 1 as the arg after the filename and itll download fully in memory
without touching disk
On Mon, 5 Jun 2023, 5:19 am zufukatana, @.***> wrote:

coupled with https://github.com/Octoberfest7/MemFiles.git , it would be
interesting to avoid dropping even bmp on disk, weird but Symantec didn't
like it. I guess if the bmp is stored in beacons memory then fetch via
MemFiles , then of course rendered from download tab. I don't know if the
initialized memory could hold a full screenshot.
—
Reply to this email directly, view it on GitHub
https://github.com/CodeXTF2/ScreenshotBOF/issues/11, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHE2F4L2QKSFO5FDHRIXIMDXJT3UTANCNFSM6AAAAAAY2FXILM
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Read the readme I guess !!!!!!! haha sorry works perfectly.

lol nice, have fun


[server] Use processes instead of threads

In Python Threads are not very useful in our case because it can execute only one statement at the same time even if multiple threads are started. To be able to process multiple API requests simultatenously and use the CPU cores of the machine we will use Processes when starting a CodeChecker server.

I ran the performance script with 5 users, 3 rounds, beta=0 (i.e. no delay between user actions), 1249 reports. With thread pool it took12:25min and with process pool it was 2:23min. So this new solution is definitely better.

@bruntib We already handle the first problem in our code: https://github.com/Ericsson/codechecker/blob/fad91e145fffdaab7a28358716fee36ac928b228/web/server/codechecker_server/api/mass_store_run.py#L569-L571
So I think this is not a problem which is introduced by my solution.
I think the second case is not handled in our code but it is very rare use case. It can happen in the following scenario:

2 users try to store the same result set (at least two reports refer to the same source file).
the first storage is finished, the second one is started (so the second one will see that the file already exists so it will refer to this source file).
Before the second storage commit the first user will remove the run from the database, so the source file will be removed as well.


Improve Campfire Logic

Currently all campfires use a simple cuboid shape to spread fire which always causes wildfires even when lit in a cave.
It would be great if the fire spread also considered surrounding blocks as an additional accuracy check. That way campfires wouldn't light blocks on fire when they are behind a solid wall of stone or dirt (or other fire resistant material).

I'll consider it. It'd definitely be possible, not terribly hard to write the code for, and would definitely improve intuition of gameplay. I'd have to measure its performance impact though, as large wildfires make fire spread checks very often and so checking for line of sight may cause performance issues.


Docs: CREATE_BOT.md Image Not Displaying

Images Not Displaying as Expected Update Screenshots in CREATE_BOT.md
Current Image Display:

Requested Changes:
Please replace the existing images with the following screenshots in CREATE_BOT.md. Additionally, adjust the size of the new screenshots as needed for proper display.

Hey, give access to<EMAIL_ADDRESS>for the screenshots, thx.

@AmosBlack Thanks for your interest. Given access to Everyone

Fixed this issue in a new PR I just created


Add hazelcast pubsub support

Description
Hazelcast pubsub support
Issue reference
Issue https://github.com/dapr/components-contrib/issues/243
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[x] Created/updated tests
[x] Extended the documentation

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

Thanks @peterjot ! I see you should update the README too.
Hi @yaron2 @youngbupark ,
Can we please get reviews from Dapr Team? It would be appreciate to see feedback from you guys!

Sure, we'll review.
This is a great PR, thanks @peterjot.
We are now working towards the 0.5.0. This PR will be part of 0.6.0!


Start timeout value when passed triggers onChanged

When i start an sqltableDependency with no arguments in the Start method (default timeout 120seconds)
The onchanged method fires after 120 seconds.
My question is is this normal functionality?
Also if i set the timeout to the max, will i get any issues in the longrun? Memory leaks crashing etc...

Hi, not is not normal. This is a bug.

FIXED with 7.1.0


UI - Tool Icon Inverted in tool catalog

Steps to Reproduce:

Navigate to /agents/<agent> page
click + Add Tool
Catalog appears
hover over any non-selcted item in the catalog

Expected result:
A tooltip appears with the tool icon in it's original color
Actual result:
The tooltip appears with the tool icon with it's color inverted

This issue is not seen when testing with version - v0.0.0-dev-52278dcb-dirty


notification callback without tapping

hello
thank you for your effort, the plugin is very useful (not the first time im telling you this hehe)
just wondering, if it's possible to trigger an event inside the app even without tapping the notification?
currently im trying to set up an app with alarms and would like it to refresh when an event occurs. not sure if its possible, but worth asking anyway. thanks :)

Unfortunately, that's not something the native APIs allow.

yes, Eddy, i shoud've closed the issue myself already, solved the task w/ a different approach, thank you!


feat(local cmd): Spin up localterra like ganache-cli

Adds 1 new command local
Command on its own will perform some actions to get you setup with localterra really quick!
capsule local --down will simply attempt to bring down the capsule managed docker instance
capsule local on first run will:

Clone the repo for localterra in .capsule folder
Orchestrate it using docker-compose
Stream logs for ALL the above to the console

If already cloned, wont clone again.
If you already set one up itll probably tell you
resolves #18
and related to #12

Publish job probably failed due to no version bump, no worries.


🐛 [Firebase_Auth] SMS verification code request failed: Invalid request fields in play_integrity_token

Bug report
Describe the bug
I'm encountering an issue with Firebase Authentication in Flutter after upgrading to Flutter 3.10 and updating the Firebase plugins. The authentication flow works fine on iOS devices, but on Android, I'm facing the following errors:
1- [SmsRetrieverHelper] SMS verification code request failed: unknown status code: 17028 Invalid request fields in play_integrity_token
2- This app is not authorized to use Firebase Authentication. Please verify that the correct package name, SHA-1, and SHA-256 are configured in the Firebase Console.
I have already configured the SHA-1 and SHA-256 values in the Firebase Console, and it was working correctly before the upgrades. To address these issues, I have also implemented app check in my code using the following snippet in the main method:

WidgetsFlutterBinding.ensureInitialized();

await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

await FirebaseAppCheck.instance.activate(
    webRecaptchaSiteKey: 'recaptcha-v3-site-key',

    androidProvider:
        kDebugMode ? AndroidProvider.debug : AndroidProvider.playIntegrity);

I'm uncertain if I'm missing something or if there are additional configurations required after the Flutter and Firebase plugin updates. Any assistance or insights would be greatly appreciated.
Flutter doctor
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.10.1, on Microsoft Windows [Version 10.0.19045.2965], locale en-US)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[√] Chrome - develop for the web
[!] Visual Studio - develop for Windows (Visual Studio Community 2022 17.5.1)
    X Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the "Desktop
      development with C++" workload, and include these components:
        MSVC v142 - VS 2019 C++ x64/x86 build tools
         - If there are multiple build tool versions available, install the latest
        C++ CMake tools for Windows
        Windows 10 SDK
[√] Android Studio (version 2022.1)
[√] VS Code (version 1.78.2)
[√] Connected device (3 available)
[√] Network resources

! Doctor found issues in 1 category.

Flutter dependencies
Click To Expand
Dart SDK 3.0.1
Flutter SDK 3.10.1
vary_pharmacy 1.0.0+1

dependencies:
- cached_network_image 3.2.3 [flutter flutter_cache_manager octo_image cached_network_image_platform_interface cached_network_image_web]
- carousel_slider 4.2.1 [flutter]
- convex_bottom_bar 3.2.0 [flutter]
- cupertino_icons 1.0.5
- firebase_app_check 0.1.4+1 [firebase_app_check_platform_interface firebase_app_check_web firebase_core firebase_core_platform_interface flutter]
- firebase_auth 4.6.1 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.13.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_messaging 14.6.1 [firebase_core firebase_core_platform_interface firebase_messaging_platform_interface firebase_messaging_web flutter meta]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]
- flutter_html 3.0.0-beta.1 [html csslib collection list_counter flutter]
- flutter_launcher_icons 0.11.0 [args checked_yaml cli_util image json_annotation path yaml]
- flutter_local_notifications 12.0.4 [clock flutter flutter_local_notifications_linux flutter_local_notifications_platform_interface timezone]
- flutter_secure_storage 8.0.0 [flutter flutter_secure_storage_linux flutter_secure_storage_macos flutter_secure_storage_platform_interface flutter_secure_storage_web flutter_secure_storage_windows meta]
- flutter_svg 2.0.5 [flutter vector_graphics vector_graphics_codec vector_graphics_compiler]
- http 0.13.6 [async http_parser meta]
- image_picker 0.8.7+5 [flutter image_picker_android image_picker_for_web image_picker_ios image_picker_platform_interface]
- infinite_scroll_pagination 3.2.0 [flutter sliver_tools]
- intl 0.18.0 [clock meta path]
- just_audio 0.9.33 [just_audio_platform_interface just_audio_web audio_session rxdart path path_provider async uuid crypto meta flutter]
- lottie 2.3.2 [archive flutter path vector_math]
- path_provider 2.0.15 [flutter path_provider_android path_provider_foundation path_provider_linux path_provider_platform_interface path_provider_windows]
- photo_view 0.14.0 [flutter]
- provider 6.0.5 [collection flutter nested]
- record 4.4.4 [flutter record_platform_interface record_web record_windows record_macos record_linux]
- shared_preferences 2.1.1 [flutter shared_preferences_android shared_preferences_foundation shared_preferences_linux shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- signalr_netcore 1.3.3 [flutter logging tuple http web_socket_channel sse_client message_pack_dart]
- smooth_page_indicator 1.1.0 [flutter]
- url_launcher 6.1.11 [flutter url_launcher_android url_launcher_ios url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_localizations 0.0.0 [flutter intl characters clock collection js material_color_utilities meta path vector_math]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- _flutterfire_internals 1.3.1 [collection firebase_core firebase_core_platform_interface flutter meta]
- archive 3.3.7 [crypto path pointycastle]
- args 2.4.1
- async 2.11.0 [collection meta]
- audio_session 0.1.14 [flutter flutter_web_plugins rxdart meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- cached_network_image_platform_interface 2.0.0 [flutter flutter_cache_manager]
- cached_network_image_web 1.0.2 [flutter flutter_cache_manager cached_network_image_platform_interface]
- characters 1.3.0
- checked_yaml 2.0.3 [json_annotation source_span yaml]
- cli_util 0.3.5 [meta path]
- clock 1.1.1
- collection 1.17.1
- convert 3.1.1 [typed_data]
- cross_file 0.3.3+4 [js meta]
- crypto 3.0.3 [typed_data]
- csslib 0.17.2 [source_span]
- dbus 0.7.8 [args ffi meta xml]
- fake_async 1.3.1 [clock collection]
- ffi 2.0.2
- file 6.1.4 [meta path]
- firebase_app_check_platform_interface 0.0.8+1 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_app_check_web 0.0.10+1 [_flutterfire_internals firebase_app_check_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_auth_platform_interface 6.15.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.5.1 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser js meta]
- firebase_core_platform_interface 4.8.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.5.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_messaging_platform_interface 4.5.1 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_messaging_web 3.5.1 [_flutterfire_internals firebase_core firebase_core_web firebase_messaging_platform_interface flutter flutter_web_plugins js meta]
- flutter_blurhash 0.7.0 [flutter]
- flutter_cache_manager 3.3.0 [clock collection file flutter http path path_provider pedantic rxdart sqflite uuid]
- flutter_local_notifications_linux 2.0.0 [flutter flutter_local_notifications_platform_interface dbus path xdg_directories]
- flutter_local_notifications_platform_interface 6.0.0 [flutter plugin_platform_interface]
- flutter_plugin_android_lifecycle 2.0.14 [flutter]
- flutter_secure_storage_linux 1.1.3 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_macos 3.0.0 [flutter flutter_secure_storage_platform_interface]
- flutter_secure_storage_platform_interface 1.0.1 [flutter plugin_platform_interface]
- flutter_secure_storage_web 1.1.1 [flutter flutter_secure_storage_platform_interface flutter_web_plugins js]
- flutter_secure_storage_windows 2.0.0 [flutter flutter_secure_storage_platform_interface]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- html 0.15.3 [csslib source_span]
- http_parser 4.0.2 [collection source_span string_scanner typed_data]
- image 3.3.0 [archive meta xml]
- image_picker_android 0.8.6+15 [flutter flutter_plugin_android_lifecycle image_picker_platform_interface]
- image_picker_for_web 2.1.12 [flutter flutter_web_plugins image_picker_platform_interface]
- image_picker_ios 0.8.7+4 [flutter image_picker_platform_interface]
- image_picker_platform_interface 2.6.3 [cross_file flutter http plugin_platform_interface]
- js 0.6.7 [meta]
- json_annotation 4.8.1 [meta]
- just_audio_platform_interface 4.2.1 [flutter plugin_platform_interface]
- just_audio_web 0.4.8 [just_audio_platform_interface flutter flutter_web_plugins]
- lints 2.1.0
- list_counter 1.0.2
- logging 1.1.1
- matcher 0.12.15 [async meta stack_trace term_glyph test_api]
- material_color_utilities 0.2.0
- message_pack_dart 2.0.1
- meta 1.9.1
- nested 1.0.0 [flutter]
- octo_image 1.0.2 [flutter flutter_blurhash]
- path 1.8.3
- path_parsing 1.0.1 [vector_math meta]
- path_provider_android 2.0.27 [flutter path_provider_platform_interface]
- path_provider_foundation 2.2.3 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.10 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_platform_interface 2.0.6 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.6 [ffi flutter path path_provider_platform_interface win32]
- pedantic 1.11.1
- petitparser 5.4.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.4 [meta]
- pointycastle 3.7.3 [collection convert js]
- process 4.2.4 [file path platform]
- record_linux 0.4.1 [flutter record_platform_interface path]
- record_macos 0.2.2 [flutter record_platform_interface]
- record_platform_interface 0.5.0 [flutter plugin_platform_interface]
- record_web 0.5.0 [flutter flutter_web_plugins record_platform_interface]
- record_windows 0.7.1 [flutter record_platform_interface path]
- rxdart 0.27.7
- shared_preferences_android 2.1.4 [flutter shared_preferences_platform_interface]
- shared_preferences_foundation 2.2.2 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.2.0 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.2.0 [flutter plugin_platform_interface]
- shared_preferences_web 2.1.0 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.2.0 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- sky_engine 0.0.99
- sliver_tools 0.2.10 [flutter]
- source_span 1.9.1 [collection path term_glyph]
- sqflite 2.2.8+4 [flutter sqflite_common path]
- sqflite_common 2.4.5 [synchronized path meta]
- sse_client 0.1.0 [http stream_channel]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- synchronized 3.1.0
- term_glyph 1.2.1
- test_api 0.5.1 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- timezone 0.9.2 [path]
- tuple 2.0.1
- typed_data 1.3.2 [collection]
- url_launcher_android 6.0.34 [flutter url_launcher_platform_interface]
- url_launcher_ios 6.1.4 [flutter url_launcher_platform_interface]
- url_launcher_linux 3.0.5 [flutter url_launcher_platform_interface]
- url_launcher_macos 3.0.5 [flutter url_launcher_platform_interface]
- url_launcher_platform_interface 2.1.2 [flutter plugin_platform_interface]
- url_launcher_web 2.0.16 [flutter flutter_web_plugins url_launcher_platform_interface]
- url_launcher_windows 3.0.6 [flutter url_launcher_platform_interface]
- uuid 3.0.7 [crypto]
- vector_graphics 1.1.5+1 [flutter vector_graphics_codec]
- vector_graphics_codec 1.1.5+1
- vector_graphics_compiler 1.1.5+1 [args meta path_parsing xml vector_graphics_codec]
- vector_math 2.1.4
- web_socket_channel 2.4.0 [async crypto stream_channel]
- win32 4.1.4 [ffi]
- xdg_directories 0.2.0+3 [meta path process]
- xml 6.3.0 [collection meta petitparser]
- yaml 3.1.2 [collection source_span string_scanner]

Hi @Raaawezh, have you enabled play_integrity in your firebase console?
Is the issue in debug or release mode? If debug, have you uploaded the debug token to the firebase console? If in release mode, is the app from the store or are you running it locally?
See similar discussions in  https://github.com/invertase/react-native-firebase/issues/7030 & https://stackoverflow.com/questions/66848376/unknown-status-code-17028-a-safety-net-token-was-passed-but-no-matching-sha-25 to see if any of them help you out.

Hi @Raaawezh, have you enabled play_integrity in your firebase console?
Is the issue in debug or release mode? If debug, have you uploaded the debug token to the firebase console? If in release mode, is the app from the store or are you running it locally? See similar discussions in invertase/react-native-firebase#7030 & https://stackoverflow.com/questions/66848376/unknown-status-code-17028-a-safety-net-token-was-passed-but-no-matching-sha-25 to see if any of them help you out.

hi, thank you for answering. the problem occurs in both debug and release modes (even play sotre release) i have already enabled play integrity and removed all restrictions on my keys in cloud projects and i do upload the debug token to firebase app check but still no luck.

even my old releases dont work anymore and they all give the same error.
and this is how the firebaseAuth code is called ( part of it )

as i said it was working fine before idk why it stopped all of a sudden

Hi @Raaawezh, can you try disabling safetynet in the console to see if it has any effect?
Also what versions of the flutter fire plugins were you using before you upgraded to the ones you're having the issue with?

Hi @Raaawezh, can you try disabling safetynet in the console to see if it has any effect?
Also what versions of the flutter fire plugins were you using before you upgraded to the ones you're having the issue with?

hi, sorry for forgetting to close the issue. it started working again (somehow?) i still dont know what the problem was but after 3 days it started working again with no problems. thank u


Allow easier exiting of blockquotes style in text editor

When selecting the blockquote style and entering text, pressing return creates a new blockquote on a new line below. Pressing enter on an empty blockquote creates the empty blockquote and also adds a new blockquote below that on another line. The only way to break out of this is by manually selecting a new style to overwrite repeated blockquote.
Replicating the behaviour currently in place with list items where returning an empty line item breaks out of the list style and returns to the default paragraph style would be nicer.
Edit: This also applies to pullquotes. And do we need support paragraph breaks in block/pullquotes?

Copied to https://github.com/icelab/formalist-standard-react/issues/104


Fix: Improper Error handling on shifting patient

Proposed Changes

Fixes #9061
Change 1
Change 2
More?

@ohcnetwork/care-fe-code-reviewers
Merge Checklist

[ ] Add specs that demonstrate bug / test a new feature.
[ ] Update product documentation.
[ ] Ensure that UI text is kept in I18n files.
[ ] Prep screenshot or demo video for changelog entry, and attach it to issue.
[ ] Request for Peer Reviews
[ ] Completion of QA

Summary by CodeRabbit

New Features

Enhanced error handling for consultation data fetching in the DischargeModal.
Users will receive notifications for errors related to consultation data retrieval.

Bug Fixes

Improved loading state management during data fetching in the DischargeModal.

Hey @rithviknishad, could you review this PR? It’s not fully done yet, but I’d appreciate your feedback on the changes. Am I on the right track, or is there something I might be missing?

LGTM

No longer relevant in form-field-v1


refactor(transformer): handle  in test runner

We should move the handling of  <CWD> to the test runner because this is just only used in testing, and it causes us always get a path by self.ctx.source_path like <CWD>/xxx/xxx.js, we should get a real path for this.

#7799  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

I would be very happy to see this change happen. The path manipulation in TransformCtx::new is one of the largest sources of variance in our transformer benchmarks, so removing it will help a lot with that.
But... just to check, does not stripping options.cwd from start of source path affect the output of JSX Source transform, which uses source_path?

Yes, it will.

Is that not a problem?

Yes, it will.

Is that not a problem?

It is not a problem, we should always get a real path except for testing

Agreed we can remove the special case for <CWD>, but doesn't Babel remove cwd from start of the path?
i.e.:
var _jsxFileName = "/src/foo/bar.jsx";

not full path:
var _jsxFileName = "/Users/bozo/projects/clownhouse-app/src/foo/bar.jsx";

OK great. Thanks for bearing with all my questions!

Merge activity

Dec 12, 12:21 PM EST: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
Dec 12, 12:21 PM EST: A user added this pull request to the Graphite merge queue.


problem with Facebook login using Firebase UI 3.0 and Facebook SDK 4.27.0

I have been using Facebook with Firebase UI for a while now.  Mostly it has been working fine for me.
With the recent Firebase UI 3.0 I have an issue logging into Facebook and see the following in my log:
10-11 08:40:25.481 22216-22216/? W/Bundle: Key error_code expected String but value was a java.lang.Integer.  The default value  was returned.
10-11 08:40:25.491 1518-1518/? D/InputMethodFrameWorkUtils: InputMethodSubtype is found as local:en_US
10-11 08:40:25.491 1518-1518/? W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1748 android.content.ContextWrapper.sendBroadcast:392 com.sec.android.inputmethod.inputmethodframework.InputMethodFrameWorkUtils.setCurrentInputMethodSubtype:49 com.ime.framework.common.InputManagerImpl.finishInput:5042 com.sec.android.inputmethod.SamsungKeypad.onFinishInput:665
10-11 08:40:25.491 22216-22216/? W/Bundle: Attempt to cast generated internal exception:
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at android.os.BaseBundle.getString(BaseBundle.java:921)
at com.facebook.login.NativeAppLoginMethodHandler.handleResultOk(NativeAppLoginMethodHandler.java:78)
at com.facebook.login.NativeAppLoginMethodHandler.onActivityResult(NativeAppLoginMethodHandler.java:64)
at com.facebook.login.LoginClient.onActivityResult(LoginClient.java:146)
at com.facebook.login.LoginFragment.onActivityResult(LoginFragment.java:169)
at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:149)
at android.app.Activity.dispatchActivityResult(Activity.java:6867)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4751)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4798)
at android.app.ActivityThread.access$1500(ActivityThread.java:219)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1784)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6939)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Has anyone else come across this issue?
Any chance this is related to the new 3.0 Firebase UI?
Thanks

I also found this in the log:
10-11 08:40:25.641 22216-22216/? E/FacebookProvider: Error logging in with Facebook. SERVER_ERROR: [code] 1675030 [message]: Error performing query. [extra]: Errors while executing operation "ProxyAuthAppLoginStartQuery": At Query.proxy_auth_app_login_start: Failed to resolve field.
1

I tried reverting to Firebase UI 2.3.0 and Facebook 4.26.0 and the problem persists.  I am concluding that something else is causing my issue and closing this.

Maybe this thread can help you https://github.com/firebase/FirebaseUI-Android/issues/933

This problem just stopped.  I have no idea why.  but now the same code as before is not failing Facebook login.

@LeeHounshell I have just created a new app and added a login with facebook functionality via firebase and facing exactly the same issue as you have mentioned in the beginning of this thread (in logs).
Would you mind helping me out here with possible solutions?

When you use this command
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

to get the key hashes you put in facebook configurations, it will ask you for a password, make sure you enter android as the password.


Allow shutting down a TcpServer

serve() and with_handle() now take a future which tell a TcpServer when
to shut down. The functions now also return a TcpServerHandle, a future
which resolves once the server has shut down.
Also added the serve_forever() convenience method with the old behavior
of serving forever.
I implemented the simplest possible codec and proto so that I could actually
instantiate a tcp server to test shutdown. Is there a better way?
Feel free to bikeshed away on the interface here, a lot could probably be
improved.
Fixes #101

Let me know if there is interest in this PR, and I'll fix the merge conflicts.

Ping @alexcrichton. You did some work w/ shutting down the server for Hyper. Could you evaluate this PR?

Thanks for the PR @casey! Some thoughts of mine:

It's a bit unfortunate that there's a whole dedicated thread to just waiting on the original future to shut down other threads. I think we can probably get away without this extra thread.
This is a breaking change currently so we'll likely want to figure out how to slot this in elsewhere.
I think we can enhance the return value quite a bit. Pioneered in hyper I think it may make sense to basically do very little and return an opaque struct with accessors for the local TCP addr, shutdown, timeout config, etc. That struct can be extended over time.
I think we'll want to handle shutdown a little differently than here at an architectural level. This implements once a shutdown signal is received everything is torn down. Ideally there'd be a grace period to allow active connections to finish (while halting accepting new connections) before everything is torn down. That grace period would be bounded, however.

You can see some examples of this in hyper's server module, and I think we may want to lift some ideas from there here.
What do you think?

I've posted my thinking here: https://github.com/tokio-rs/tokio-proto/pull/135

Closing, #135 is better.


Docs reorg including partial templates

There's more coming - not sure whether to make this a draft, or merge early and often.

Let's call it a draft. I'll add more commits soon.

Updated preview here: https://simonbaird.github.io/ec-policies/ec-policies/index.html


[NLU-3911] Arabic Time: Offsets from hours

Fixing an issue where time expressions in Arabic involving offsets from hours, such as half past (والنصف), quarter to (إلا ربع), minute offsets (وعشر دقائق), and similar time expressions were not correctly recognized.

Pipeline run: https://jenkins.ininica.com/job/NLU/job/Recognizers-Text/393/

Pipeline run: https://jenkins.ininica.com/job/NLU/job/Recognizers-Text/396/


Add ability to filter for specific items (include / exclude)

This is a feature request to add the ability to filter for specific items, or exclude them, when performing the following subcommands: fwd, rev, ow, such as via flags -i / --include and -e / --exclude. When it's set to an empty string (default value), no package name include / exclude would be performed and thus retain the current behavior.
Use case: I'm updating gstreamer-1.0 and only want to see the reverse dependencies that are other gstreamer-1.0 packages, such as gstreamer-1.0-plugins-bad. Now while I could technically just pipe the output of eopkg-deps into grep, I may lose out on all the fancy output that's being done, instead of just being able to run something like eopkg-deps rev gstreamer-1.0 -i 'gstreamer-' or eopkg-deps rev gstreamer-1.0 -e 'gst'

Sooo. I'm going to handle this in the ypkg version so that we ignore patterns (think TeXLive). That will also solve the problem of not having to mark sub-packages in "todo mode".


fix: check contract address in log filter [APE-806]

What I did
When you filter the events from ReceiptAPI.events, it only paid attention to the name of the event, and not the ContractInstance object it came from
fixes: #
How I did it
Ensure that we check the contract address of the log matches the event definition
How to verify it
Needs a test
Checklist

[x] All changes are completed
[x] New test cases have been added
- [x] Documentation has been updated

Weird macOS-only failures :thinking:


meta graph complaining '_Resource' object has no attribute 'name'

Click to expand!
Issue Type
Bug
Source
binary
Tensorflow Version
tf 2.6
Custom Code
Yes
OS Platform and Distribution
Linux
Mobile device
No response
Python version
3.6
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
I used ops.resources.register_resource to init my own resource type. But TF complains
WARNING:tensorflow:Issue encountered when serializing resources.
Type is unsupported, or the types of the items don't match field type in CollectionDef. Note this is a warning and probably safe to ignore.
'_Resource' object has no attribute 'name'
But 'name' is not member of _Resource.
# ops/resources.py
_Resource = collections.namedtuple("_Resource",
                                    ["handle", "create", "is_initialized"])

Standalone code to reproduce the issue
I wrote a lot of custom code, so it's not easy to make standalone code to reproduce. That's how I register resource.
resources.register_resource(
            x.resource_handle,
            x_init_op,
            x_is_initialized_op)

Relevant log output
No response

@nrailgun
In order to expedite the trouble-shooting process, please provide a code snippet to reproduce the issue reported here. Thank you!


Manual create GenerationContext with my Vec

Hi all !

Please tell me how I can make a GenerationRequest with my context, which (let's assume) is stored in my database.
let some_raw_data: Vec<i32> = Chat::get_last_context();
let last_context: GenerationContext = GenerationContext(some_raw_data);

But this example will generate an error at the compilation stage
error[E0423]: cannot initialize a tuple struct which contains private fields
  --> src\some\module\name.rs:1:1
   |
1  |         let last_context: GenerationContext = GenerationContext(some_raw_data);
   |                                               ^^^^^^^^^^^^^^^^^
   |
note: constructor is not visible here due to private fields
  --> Long\Path\To\ollama-rs-0.1.8\src\generation\completion\mod.rs:91:30
   |
91 | pub struct GenerationContext(Vec<i32>);
   |                              ^^^^^^^^ private field

Is it possible to make this field public ? 😢


Singularity fixes, Bartender's Interlude Edition

About the PR
CC'ing @metalgearsloth as someone who interacted with this code (and therefore probably someone who should know about a PR touching it)
Covers several issues:

startsingularityengine now auto-constructs the PA for faster testing.
DestroyEntities is called every tick again so that particles can actually hit the singularity (the 0.5 second delay was causing issues as the particles could enter and leave without being hit).

And finally, this one will require some explaination:
RadiationPulseSystem and associated radiation code in DamageableComponent essentially made the singularity a deadly lazer capable of burning through literally anything.
Firstly, explosion damage types were incorrectly used instead of radiation damage types. This made the singularity's radiation pulse capable of damaging walls, the resulting items of which would fall into the singularity if so positioned.
Secondly, the cooldown timer on radiation acts was broken, causing the (minimum of 1 damage) radiation act to be executed every frame, causing any radiation exposure whatsoever to be a minimum of 60 DPS. In practice I saw rather high damage values, so I suspect there was more to the various timing bugs.
This has all been fixed.
Considerations for future work:

I saw a force field unanchor itself. I feel like the bug where automatic tile removal unanchor targets forcefields has either come back or was never fixed, but that is not confirmation.
DestroyEntities being called every tick isn't ideal but seems pretty required to make the singularity actually capable of eating anything, including physicsless objects or other things that won't collide.
Advisory for anyone who wants to try and fix that: There needs to be a dedicated collision flag that basically everything needs to have. The idea is effectively that the singulo is a roving 'area' that gets a firehose's worth of collision callbacks on everything, filters what it wants, and starts queuing deletions.
The simulation model assumes that any contact with the singularity (i.e. clipping a corner) is sufficient contact for deletion. The simulation model is also the only way to run quick balancing simulations on the PA without starting up the game and running them in real-time. Game or simulator can be changed according to whatever the policy ends up being, but accuracy should probably be checked.
Keep in mind the simulation only cares about forcefield (as effective horizontal movement zone of singularity) and particle (as singulo food) reactions, as these in their entirety are responsible for balancing a singulo under normal conditions.
Current results: Simulation and game both hold at 300 energy mark under same construction (startsingularityengine on Saltern is the default simulator setting). Slight inaccuracy on lack of dip below 300 presents itself that can be explained as timing differences between the theoretical simulation and the actual object-movement-tick-driven game, along with a lack of vertical position compensation in the simulator.

Changelog
:cl:

fix: The singularity works stably again

I feel like the bug where automatic tile removal unanchor targets forcefields has either come back or was never fixed, but that is not confirmation.

That's not a bug, that's a feature. When a tile is removed, becoming space, every anchored entity on it becomes unanchored automatically.

I feel like the bug where automatic tile removal unanchor targets forcefields has either come back or was never fixed, but that is not confirmation.

That's not a bug, that's a feature. When a tile is removed, becoming space, every anchored entity on it becomes unanchored automatically.

Yeah accurate bounds would've made it come back, the original field code made some incorrect assumptions.

Forcefield should probably account for this somehow, maybe by setting its physics to static manually, instead of going through transform's anchored. Honestly, we need a good way to deal with this...

It already sets physics to static manually in the YAML.

addendum: Another side-effect is that radiation pulses no longer carve holes in the station. The implication, of course, is that they did before.
The 'good news' is that radiation storms don't work in master, the radiation never shows up.

It already sets physics to static manually in the YAML.

It also sets anchored true so

...that it does. I'll remove that, see what happens.

Seems to work just fine, though during testing I found out that an unpowered force field generator still retains it's immunity to singulo, so going to need to fix that too.

Finally gave up and gave the singularity a dedicated collision group. Random objects like walls or tiles could stop it, but it'd usually tear through them before they caused a blockage. But preventing it from tearing through tiles that it shouldn't be able to get at also prevented it from tearing through tiles that would block it even though they're not actually singularity-containing.
Combine that with the layer/mask of the singulo being essentially "blocked by everything that has collision"...

abandoning due to impracticality - may split into separare PRs later.


How to use a trained model?

After training, how to use the trained model. For example, given a sentence or paragraph or document to recommend citations? Thanks.

Hi @GabrielLin,
If you want to use the pretrained model for prediction on test files from the two datasets used in the experiments, you should run the predict.py script.
Here is an example for obtaining predictions with the DualEnh-ws variant:
python predict.py <path_to_config_json> <path_to_saved_model> -dual -global_info -weighted_sum <path_to_input_file>
If you would like to use your own collection of sentences (i.e., citation contexts) and articles for recommendation, you should first preprocess the articles and sentences using preprocess.py in datasets/ folder. After that you should update the fields in the config.json file so they point to the preprocessed contexts/articles files and then run the predict.py script with appropriate arguments depending on the model variant.
Hope this helps!
Let me know if there is something unclear,
Zoran

@zoranmedic Thank you for your reply.
I would like to use my own sentences but I am not sure how to construct the JSON for the parameter input_file. Could you please provide a sample JSON file to the preprocess.py.
Moreover, there is a -papers parameter. I think there should be two different formats of the JSON file depending on this parameter. Thank you again.

Hi @GabrielLin!
Apologies for a bit late reply.
I realised that I didn't include the method for masking citations in citation contexts in the preprocess.py so I've added it now. I've also included two sample JSONs in sample_data/ folder, together with instructions on how to preprocess the data that is not from the two datasets used in the paper.
Basically, you should make sure that your JSONs follow the format of the sample files and default preprocessing (as given in the instructions should work). However, you might need to adapt the mask_citations method if your input contains citations in different style than assumed in the script. Check out the defined regular expressions to see which formats are supported.
Hope this helps!

@zoranmedic , thank you very much. You are helpful.


Question  - how to do intents launch?

If i have to launch a browser or call or Message intent.. how to do it .on('tap', .. )event?

Use cordova-plugin-inappbrowser with http(s): tel: or sms: links.

sorry, i didn't understand this better. Can you please give a small sample ?
I heard inapp browser is to open the app within same hybrid webview.

#716


removed tuananh/COVID-19

Sorry, but I didn't run until after submitting.  I would not call this an API:
https://camo.githubusercontent.com/2713b10e6c9fd9105f398ace6a9d38ccb5139e49/68747470733a2f2f692e696d6775722e636f6d2f416666343451322e706e67

@tomByrer You're right!
Thanks for the PR.


Allow APIGatewayResolver to handle Custom Domain with Mapping and still work

Is your feature request related to a problem? Please describe.
Have opened as a feature request as I believe this is not exactly a bug, perhaps an oversight in the ApiGatewayResolver design (happy to discuss more).
A couple of months ago I developed an API for a project whose API gateway was associated with a custom domain.
This week I built a new API extension (new gateway) using AWS Lambda Powertools for Python and have applied several routes into the one lambda using the API Gateway Resolver with the intention of adding to the same custom domain since want the ApiGateway to be hosted on the one common DNS domain.  When associating a second gateway to a custom domain you must associate a  mapping for the additional gateways so the API paths do not collide and everything works.
Within my lambda resolver setup for this second gateway if I have a resolver route of "/status" setup this works fine if it is mounted as-is on the root of the domain.  If I add to a custom domain as a second gateway I need to add in a "mapping", for example, sake let's say I choose "unique".  The AWS API Gateway event "path" for the API when I call it as "https://mycustomdomain.com/unique/status" is set to "/unique/status" which means the power tools Resolver will respond with a "404, NOT FOUND" since that path is not setup within the Resolver routes.
I have noticed that the "resource" path in the event correctly holds the route as "/status" but the path holds the route as "/unique/status"
This is a complicated one - the ApiGatewayResolver does not allow me to mount the gateways developed with this component on any custom domain with a mapping and have the lambda API actually work - I actually kind of think this is a bug but not raising as such since the implementation seems perfectly reasonable.
Describe the solution you'd like
What I would ideally like is the freedom to be able to mount my Python API to a custom domain using any mapping I choose and still have the API resolver find my routes within the lambda code correctly.
The current implementation uses the "path" of the ApiGateway Lambda event which houses the complete API path including the mapping which breaks the resolver.
Describe alternatives you've considered
As a work around I can simply change my routes to include the proposed mapping but then this stops me from being able to use Api Gateway configuration to remap an API in the future and actually have it work without changing my code which is not ideal given this is a feature of using Services like the AWS Api gateway.
Additional context
This kind of also brings into question how the Event content is generated and passed to lambda by the ApiGateway since one could argue it makes no sense that the "path" also includes the logical "mapping" from the API gateway Custom Domain configuration (not an argument I want to start but a consideration given the logical config nature of this scenario).
I have taken a look at the event structure from this configuration and notice the "resource" contains a correct path that matches the route I have in my Lambda Resolver routes in python code but is possibly not ideal.

/polls "Treat as a bugfix" "Treat as a breaking chance"
Putting it to a vote to make things easier.

/polls "Treat as a bugfix" "Treat as a breaking change"

This got even more complex as API GW support an arbitrary level of mapping paths and customers could have multiple of these. Added sample there: https://github.com/awslabs/aws-lambda-powertools-python/pull/579#issuecomment-900307854

Now available in 1.20.0 and we support all discrepancies found in REST API, HTTP API v1 and v2 payloads
https://awslabs.github.io/aws-lambda-powertools-python/latest/core/event_handler/api_gateway/#custom-domain-api-mappings


Adding support for aspell-based spell checking

Add documentation about how to spell check using aspell unix/linux command
Correct miss-spellings found
Add aspell wordlist file

@biagas and @rusu24edward final RTD result can be browsed here

oops, wait a minute...I still need to remove the sphinx stuff to do spell checking.

@biagas and @rusu24edward ok...this is ready for review.

@rusu24edward I think now that I've modified since your approval, you need to re-approve.


Bacitracin/311 312 filter btns a11y

Description
Addresses the following a11y issues:

https://github.com/CodeForPhilly/vacant-lots-proj/issues/311
https://github.com/CodeForPhilly/vacant-lots-proj/issues/312

NextUI's Button component's onClick is deprecated.  Switching to onPress will capture keypresses in addition to mouse clicks, which will make these buttons keyboard operable.
Added aria-labels for View + Download buttons since they do not include inner button text.
Testing

Follow the link below and visit the Map
You should be able to TAB to Filter / View/ Download buttons, and activate them with ENTER or SPACE keys.
If you are on the Filter view, the Done button can now be activated with ENTER or SPACE as well.
If you use a screenreader and navigate to View & Download, they will announce as View button/Download button instead of just "button"

Looks good and working as expected!
When we implement the new design, we can use <aria-labeledby="[tooltip]">. Currently, it's announced twice as "View Description, View button".
Let's merge!


Height for android notched devices fix

Dimensions("window") returns wrong height for android notched devices. I replaced it with Dimensions("screen").

I'm actually trying to go completely away from using screen dimensions like this, so I don't think this is the right way to go. The latest version should fix this issue.


Getting:

          Getting:

no changes made in working directory; no commit

Originally posted by @rayterrill in https://github.com/fluxcd/image-automation-controller/issues/159#issuecomment-829471395

@kingdonb

@rayterrill

A starting point for debugging is in the old Flux v1 migration guide, Image Automation Troubleshooting:
https://fluxcd.io/flux/migration/flux-v1-automation-migration/#troubleshooting
If you wish to engage the community support for debugging your flux image automations, a better way is joining the CNCF slack and posting a thread in the #flux channel there. We have commercial as well as community support options documented here:
https://fluxcd.io/support/#getting-flux-support
See the sub-heading "Getting help from the Flux Community" there. If you solve your issue with these debugging guides, please remember to post the resolution here.

Duplicate of #159. Please use Slack or GitHub Discussions for support requests.


Gentoo ebuild

Added a gentoo ebuild.

Package management stuff should be done somewhere else, not in the source repository. There are many package managers and we can't accommodate them all. If it makes sense for Gentoo, I am willing to consider having a special repository under the osmcode user for this, if there is no other place this can be put.

Ok, please create this repository.

https://github.com/osmcode/osmium-gentoo


Sample sap-java-buildpack-api-usage not working because of missing jar in maven central?

Dear colleagues,
I was about to try the provided samples from sap-java-buildpack-api-usage, but unfortunately couldn't get it working.
Followed the steps to clone the repository, installed the approuter and when I want to build my java projecrt via mvn package the following error occurs:

I assume this happens because version 1.4.0 of com.sap.cloud.security.xsuaa.api is not yet published on maven central? are you using a different repository?

the according POM (not edited, still the provided one) looks like:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.sap.cloud.security.xssec.samples</groupId>
	<artifactId>sap-java-buildpack-api-usage</artifactId>
	<version>1.0</version>
	<packaging>war</packaging>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.3</version>
				<configuration>
					<warName>sap-java-buildpack-api-usage</warName>
				</configuration>
			</plugin>
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>com.sap.cloud.security.xsuaa</groupId>
			<artifactId>api</artifactId>
			<version>1.4.0</version>
			<scope>provided</scope>
		</dependency>
		<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.0.1</version>
			<scope>provided</scope>
		</dependency>

	</dependencies>
</project>

Thanks in advance and cheers,
Max

yes, we indeed already increased the version, but did not yet publish a release build.
As a workaround please build it locally with
man clean install
Release build is expected begin of next week.

Closing as version 1.4.0 is available on maven central


[NPM] Make each controller independent

Reason for Change:

This PR is the first step to make each controller independent as much as possible.
Current NPM uses a global lock to avoid race condition among controllers even though they can be independent. It results in slow processing events and increases memory usages by queuing k8s resources for long time in client-go.

Remove a global lock in NetworkPolicyManager
Make event handling functions (e.g., add, update, delete) for each resource (e.g., Pod, Namespace and NetworkPolicy) lock-free to keep processing event handler logics in each controller independently
Concurrently processing between event handling functions and actual reconcile function in each controller
Minimize a lock scope as much as possible between podController and Namespace controller
Cleaning up codes (e.g., encapsulation, removing redundant codes, etc)

Issue Fixed:

Requirements:

[ ] uses conventional commit messages

[x] includes documentation (in npm doc directory)
[ ] adds unit tests

Notes:
ipsm.go requires more works (e.g., reducing lock scope, error handling, etc) since now it is a synchronization point among all controllers. That will be next PR after completing this PR throughly.

Close this PR and open another PR #949 which is based on a recent master branch.


Fixing typo of creatiin to creating

Status
Ready
Related Issues
fixes: https://github.com/demisto/content-docs/issues/1398
Description
Fixing typo of creatiin to creating
Screenshots
n/a

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


alpha-server NullPointerException

Hey thanks the report.
Would you like to provide stacktrace text instead of a picture? text will be helpful if others want search the same problem.
And would you like to tell us how to reproduce the issue? what is your configuration? Any information will be a great help for us to fix it.

Sorry, that computer can't conect to internet.

Are you using version 0.5.0 and the issue is accidental?

Yes, but always appear once it happens

@finnlee87 We need more information to trace the error.
I just check the related codes in the stack trace I cannot find anything wrong with those code.

Yes, but always appear once it happens

This question impressed me, you can try to upgrade to 0.6.0


Compact main menu

Figure out if it's possible to make the main Steam menu more Adwaita-like. Ideally it should be a single icon button.

@Foldex any ideas?
Maybe we can expand the original menu on :hover or :focus.
We'll probably have to also somehow patch Steam's JS code to do anything more complicated.
It should be possible to do with CSS if there's a way to edit the menu to only have one submenu like the VGUI menu had.

I had played with it before, but there's some gotchas involved due to how headerbar menus are implemented. The popover menus spawned by clicking a nav/root menu are actually their own, separate windows.

.rootmenu_RootMenuBar_1Ky59.steamdesktop_RootMenuBar_3s0lk > .rootmenu_RootMenuButton_2UyOB:not(:first-child) {
	display: none !important;
}

.rootmenu_RootMenuBar_1Ky59.steamdesktop_RootMenuBar_3s0lk:hover > .rootmenu_RootMenuButton_2UyOB:not(:first-child) {
	display: block !important;
}

Will work, but when you :hover over the spawned menu,  you go back to hiding the root menu.
It obviously looks strange having the menu drop down from an element that is no longer visible.
Neither :focus nor :focus-within seem to apply here either.

Some ideas to test later:

Can we make the buttons icon-only? (Probably yes).
Can we hide the less useful submenus? display: none vs visibility vs zero size. Will opening these submenus on hover break, will it open them, or will it only open the remaining menus?
Can we move the buttons outside the menu container, can each button be in a different part of the window? (Probably yes). What will happen in this case?

@Foldex I've tried a few more things in #176, here's the current status and observations:

It already looks like an Adwaita menu until you try to hover it.
Disappearing and changing menus are still weird.
We can't rely just on :hover, but at least we can keep the opened menu button visible using [class*="menu_MenuOpen_"]. The Steam menu is currently always visible, but we can also hide it if another menu is open.
We can hide less useful submenus and nothing seems to break.
It would be perfect if we can find a way to merge all useful menu items into a single Steam menu. We'd probably have to patch JS to do that.
I've opened #181 to discuss JS patching.

The menu seems to be built in steamui/sp.js and it should probably be possible to modify it if we can patch JS.
More details in https://github.com/tkashkin/Adwaita-for-Steam/discussions/181#discussioncomment-6455199.


PR Suggestions

Hi!
I just had some suggestions for your PR and found it easier to do it this way :)
If you agree with my changes, please merge and then we can merge your PR!

Hey, @binaryoverload!
I did not notice you had merged https://github.com/movie-web/movie-web/pull/922.
Even though it was on my mind, I actually did not have the time to refactor this, and I did not notice you opened this PR.
I will open a new PR there, just for some housekeeping, and you can either close it or review/merge.

@binaryoverload oh, I didn't notice you commited your changes at https://github.com/movie-web/movie-web/commit/7c4c02dd835d6466268e63e9b0f1ebd2f6e6522e
I hope that did not give you a headache!
I'll try to test my changes better next time.


Would be good to be able to use wildcards in filename

We are downloading files containing timestamp, so it is not predictible to have the exact filename for verifying.
Would be good to use * or ? or maybe regex to watch for file.
Thanks

It will be done in part of #11

Added in the 0.1.1. Please, let me know if something doesn't work as expected. Also, don't forget to give it a start.


CSUB-256: Document Creditcoin-JS

Description of proposed changes
CONSIDER BEFORE MERGING: Until the package is published in NPM, installation guide will be misguiding
This PR:

Removes the alpha warning from README
Adds a simple installation guide (which asumes creditcoin-js is published on npm unscoped)
Adds docs on how to build augmented types
Adds usage examples to the README
Adds additional working full examples to the example folder

This PR does not:

Add testing of the examples to CI/integration-tests
Add any logic to publish to NPM

Practical tips for PR review & merge:

[ ] All GitHub Actions report PASS
[ ] Newly added code/functions have unit tests

[ ] Coverage tools report all newly added lines as covered
[ ] The positive scenario is exercised
[ ] Negative scenarios are exercised, e.g. assert on all possible errors
[ ] Assert on events triggered if applicable
[ ] Assert on changes made to storage if applicable

[ ] Modified behavior/functions - try to make sure above test items are covered
[ ] Integration tests are added if applicable/needed

Codecov Report

Merging #1348 (c125492) into dev (d7dddc4) will decrease coverage by 0.66%.
Report is 13 commits behind head on dev.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev    #1348      +/-   ##
==========================================
- Coverage   70.83%   70.17%   -0.66%
==========================================
  Files         107      107
  Lines       12411    12506      +95
  Branches      120      120
==========================================
- Hits         8791     8776      -15
- Misses       3610     3730     +120
+ Partials       10        0      -10

see 13 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

CONSIDER BEFORE MERGING: Until the package is published in NPM, installation guide will be misguiding

Converted to Draft to avoid merging accidentally before we're sure we want to do this (or publish the package to NPM in the mean time).


Adding Merge Sort Algorithm

Hey @ShehrozIrfan
I have added merge sort algorithm in "Java/Sorting Algorithm" folder
A program contribution towards issue #14
Please let me know if any difficulties in merging.
Thank you.

@arshadpatel
Great 🚀
You can follow me and star this repo for further updates.
Have fun!


docs(operations): Make range selector clearer

range is not a keyword (and can not be found in the example)
The Note did not explain how this related to the range selector
The example did not make explicit what is the range selector

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


Review changes to Svelte 5

Review changes in Svelte 5 to make sure nothing has broken.

Our SvelteKit example uses Svelte 5.0.5


uprobe cannot attach across namespace

Reproduced on master. (9e4a5b16bd16a105d8bd4cda91db6ed4267182be)
What reproduces the bug?
I have a simple rust program.

fn foo2() {
    std::thread::sleep(std::time::Duration::from_secs(1));
    println!("Hello, world!");
}
fn foo1() {
    foo2()
}

fn main() {
    loop {
        foo1();
    }
}

I compile (with force frame pointer) into a docker image, export the image and import into containerd and run the image.
FROM ubuntu
COPY target/debug/testapp /testapp
CMD ["/testapp"]

docker build . -t testapp
docker save -o image.tar  testapp
sudo ctr i import image.tar
sudo ctr run --rm docker.io/library/testapp:latest testapp

I can list the uprobes:
$ sudo build-static/src/bpftrace  -lv -p 531949 '*foo*'
uprobe:/proc/531949/root/testapp:_ZN7testapp4foo117h0d4ff5a3bfa476bcE
uprobe:/proc/531949/root/testapp:_ZN7testapp4foo217h77120723e83ae2f5E

But when I try to attach, I get an error about canonical file names:
$ sudo build-static/src/bpftrace -p 531949 -e 'uprobe:/proc/531949/root/testapp:_ZN7testapp4foo* { @foo[ustack(perf, 4)] = count(); }
'
ERROR: failed to write elf: filesystem error: cannot make canonical path: No such file or directory [/proc/531949/root/testapp]
$ sudo build-static/src/bpftrace  -e 'uprobe:/proc/531949/root/testapp:_ZN7testapp4foo* { @foo[ustack(perf, 4)] = count(); }
'
ERROR: failed to write elf: filesystem error: cannot make canonical path: No such file or directory [/proc/531949/root/testapp]

I would expect it to be able to attach.
bpftrace --info
System
  OS: Linux 5.10.0-22-cloud-amd64 #1 SMP Debian 5.10.178-3 (2023-04-22)
  Arch: x86_64

Build
  version: v0.18.0-61-g9e4a
  LLVM: 12.0.0
  unsafe probe: no
  bfd: yes
  libdw (DWARF support): yes

Kernel helpers
  probe_read: yes
  probe_read_str: yes
  probe_read_user: yes
  probe_read_user_str: yes
  probe_read_kernel: yes
  probe_read_kernel_str: yes
  get_current_cgroup_id: yes
  send_signal: yes
  override_return: no
  get_boot_ns: yes
  dpath: yes
  skboutput: yes

Kernel features
  Instruction limit: 1000000
  Loop support: yes
  btf: yes
  module btf: no
  map batch: yes
  uprobe refcount (depends on Build:bcc bpf_attach_uprobe refcount): yes

Map types
  hash: yes
  percpu hash: yes
  array: yes
  percpu array: yes
  stack_trace: yes
  perf_event_array: yes
  ringbuf: yes

Probe types
  kprobe: yes
  tracepoint: yes
  perf_event: yes
  kfunc: yes
  kprobe_multi: no
  raw_tp_special: yes
  iter: yes

the problem appears to be in utils.cpp, get_pids_for_program. The call to std_filesystem::canonical(program); is what is throwing the exception. Changing that call to a call to abs_path() from the same file fixes the problem. Strangely, the ustack is broken in this case (only shows the probed function, not whole stack), while if I run the same binary in the same process I see the full stack.

broken stacktrace appears to be an ebpf issue. the returned stacktraces only have one element.

stacktrace issue was just some silliness with docker build not picking up the latest image. all working as expected now, with the abs_path change

This doesn't seem like an issue with probe attachment rather than with process/program localization.
@lenticularis39 could you perhaps have a look?

The change to us abs_path works for me. I can submit a PR, but I'd like to add some testing to it but not sure where in the tests to add.
The abs_path change was only necessary for ustack() to work, and presumably func() also. Simple programs like sudo src/bpftrace   -e 'uprobe:/proc/531949/root/testapp:_ZN7testapp4foo* { @foo = count(); }' always worked fine.

I've been looking at writing a runtime test for this, but it doesn't look like it's possible without a significant change to the engine and adding a dependency on docker (which in itself may be fine since it's used for other things in the tree). Specifically, most of the tests are built around binaries that already exist at a path, so the test sets up the probe and then runs the command. To test this change, we need to first start the container and then attach the uprobe, as the path of the uprobe (something like /proc/12345/root/usr/bin/foo) does not exist before the container has started. There is a facility to substitute in a PID already {{BEFORE_PID}}, but only the pid of the child process directly created by the engine. With docker, there's a couple more layers before you get down to the pid of the process you started. This could in theory be resolved by adding a new substitution (something like {{BEFORE_DOCKER_PID}}), but it would require a reliable way to extract the pid of the child process in docker. I'll look into doing that tomorrow.

PR opened: https://github.com/iovisor/bpftrace/pull/2662

The workaround for this is to set the env variable BPFTRACE_CACHE_USER_SYMBOLS=NONE


Add explanatory text

@mvarewyck @eadriaensen can you provide us with a .gdoc to write the texts required for the "exoten" - page ?
@timadriaens can you help writing the explanatory texts ?

duplicate of #35


Persist authStore in React Native (Expo)

I am specifically using Expo, but this question probably applies to general React Native as well.
My authStore does not persist between reloads. Reading the docs, this makes sense, since it is defaulting to runtime storage. I need to be able to persist this information, either with ExpoFileSystem, AsyncStorage, or Redux-Persist. As it stands now, it is impossible for me to push the app to production using the provided SDK.
Any help?

@bencreynolds You can always create a new Expo auth store and pass it to the client constructor, eg:
import PocketBase, { BaseAuthStore } from 'pocketbase';

class ExpoAuthStore extends BaseAuthStore {
    save(token, model) {
        super.save(token, model);
        // your custom business logic...
    }
}

const client = new PocketBase('http://<IP_ADDRESS>:8090', 'en-US', ExpoAuthStore());

The only requirement is to extend BaseAuthStore. More info could be found in the "AuthStore" section of the readme - https://github.com/pocketbase/js-sdk#authstore.

Hey thanks for the reply. Could you go into a bit more detail. I’m not sure I really understand what the custom business logic is supposed to be in this context. When I call super.save() should I be storing the model object somewhere that has data persist? What about clears and updates? What if my token dies between sessions, my persisted store won’t know that.
I’m really not sure what to do with that information.

When I call super.save() should I be storing the model object somewhere that has data persist?

Yes. It's up to the developer to decide which storage mechanism to use and where to persist the data. The BaseAuthstore is just an abstract class. It has 2 main methods that  users need to implement - save (for persisting the token and auth model somewhere) and clear for deleting the previously stored state.
Or in other words. you minimal custom auth store could look like this:
class CustomAuthStore extends BaseAuthStore {
  // you can define a constructor if your store requires some initialization options
  constructor(someCustomProp) {
    super();

    this.someCustomProp = someCustomProp;
  }

  save(token, model) {
    super.save(token, model);

    // @todo save to your custom storage of choice...
  }

  clear() {
    super.clear();

    // @todo clear from your custom storage of choice...
  }
}

To the BaseAuthStore definition for more details what methods you can overwrite - https://github.com/pocketbase/js-sdk/blob/master/src/stores/BaseAuthStore.ts.

What if my token dies between sessions, my persisted store won’t know that.

PocketBase API is fully stateless - it doesn't have sessions (even the tokens aren't stored in the database). The JWT token has exp payload that you could check if you need to loosely check whether the stored token is valid or not.

Thanks for the reply, this is informative. 2 questions:

is there a way that I can model with with functional components? I have next to no experience working with classes or “extending” components. More specifically, I would prefer to use redux-toolkit and redux-persist for state storage and manipulation, which uses Hooks. As far as I understand it, Hooks cannot be called from class components.

If a JWT token expires, and a notice this in my custom business logic, do I need to clear the user’s authStore and make them log in again, or can I just refresh using client.users.refresh()?

The SDK doesn't really know anything about react or its functional components. The AuthStore is just a regular Javascript class/object and you can do anything inside it and call it in your react components (class or functional) just like any other js object.

You don't have to manually clear the token from the auth store, because when you call client.users.refresh() it internally will trigger client.authStore.save(...) for you and will update the store with the latest state.

The store will be auto updated after calling successfully one of this methods:

client.users.authViaEmail()
client.users.authViaOAuth2()
client.users.confirmPasswordReset()
client.users.confirmVerification()
client.users.confirmEmailChange()

Interesting. Thank you for all this information, I will poke around with this this morning and like come back with more questions.

Could you provide a code sample how you are initializing the client and registering the authstore?
Make sure that you are actually passing an instance of the store, not just the class name. Something like this should work:
import PocketBase, { BaseAuthStore } from "pocketbase";

class CustomAuthStore extends BaseAuthStore {
  constructor() {
    super();

    // @todo load the token and model from your custom storage of choice...
    this.baseToken = '...';
    this.baseModel = null;
  }

  save(token, model) {
    super.save(token, model); // this will save the token and model in the local baseToken and baseModel props

    // @todo save to your custom storage of choice...
  }

  clear() {
    super.clear(); // this will reset the local baseToken and baseModel props

    // @todo clear from your custom storage of choice...
  }
}

const client = new PocketBase("http://<IP_ADDRESS>:8090", "en-US", CustomAuthStore());

Hey, yeah I got that figured out actually. I had to throw a “new” in front of the instance for it to work.
but I guess I have a new issue. This isn’t directly related to pocketbase, but I basically can’t access my store inside the constructor. Using store.getState().auth.token (this is redux boilerplate) fails inside the constructor function, but doesn’t inside, for example, the save function. I can get the state from there, but I cannot when I initialize the instance with the constructor. This just goes back to my inexperience with class components.
If you have any tips for how something like this could be achieved, it would be much appreciated.

This depends a lot of when the client is initialized and whether the store is accessable from there.
You can try passing as a constructor argument during initialization, eg. something like this:
import PocketBase, { BaseAuthStore } from "pocketbase";

class CustomAuthStore extends BaseAuthStore {
  constructor(store) {
    super();

    this.store = store;

    // @todo load the token and model from your custom storage of choice...
    this.baseToken = this.store.getState().auth.token;
    this.baseModel = this.store.getState().auth.user;
  }

  save(token, model) {
    super.save(token, model); // this will save the token and model in the local baseToken and baseModel props

    // this is just an example...
    this.store.setState({ auth: { token: token, user: model } });
  }

  clear() {
    super.clear(); // this will reset the local baseToken and baseModel props

    // this is just an example...
    this.store.setState({ auth: null });
  }
}

// ... fetch the store instance from somewhere ...

const client = new PocketBase("http://<IP_ADDRESS>:8090", "en-US", new CustomAuthStore(store));

But this implies that the store could be updated by the PocketBase client. You can go the other way around, aka. by attaching a listener and updating your redux/app store manually. Something like this:
import PocketBase from "pocketbase";

const client = new PocketBase("http://<IP_ADDRESS>:8090");

// initialize the client with your redux store state
client.authStore.save(
  store.getState().auth.token,
  store.getState().auth.user
);

// everytime when the PocketBase client store changes, update the redux store
client.authStore.onChange((token, model) => {
  // (this is just an example; adjust to your specific store update method)
  store.setState({ auth: { token: token, user: model }})
});

Ah, your second option worked well. Thank you for the information. Here's the code I ended up using, which is located in my Navigator component, which checks for isLoggedIn and hasUserData (profile info like username, firstname, lastname) to progress the navigator past the Auth Stack.
  const [isLoggedIn, setIsLoggedIn] = useState(false);
  const [hasUserData, setHasUserData] = useState(false);

  const reduxModel = useSelector((state) => state.auth.model)
  const reduxToken = useSelector((state) => state.auth.token)

  const initialLoad = () => {

    const checkUserData = (model) => {
      return(model.profile?.firstname?.length > 0 && model.profile?.lastname?.length > 0 && model.profile?.username?.length > 0)
    }

    const authModel = JSON.parse(JSON.stringify(client.authStore.model))
    const authToken = JSON.parse(JSON.stringify(client.authStore.token))

    if (authModel && authToken.length > 0) {
      //There is a current auth model found
      console.log('Current Auth Model Found!')
      const currentJwt = parseJwt(authToken)

      //Check if current JWT is valid
      const isValid = client.authStore.isValid

      if (isValid) {
        //JWT is Valid
        console.log('Is Valid!')

        //Check if Redux Model/Token are the same as Auth Model/Token
        console.log({
          reduxModel,
          authModel,
          reduxToken,
          authToken
        })
        if (_.isEqual(reduxModel, authModel) && _.isEqual(reduxToken, authToken)) {
          //Check if Redux Token is the same as the Auth Token
            console.log('The Redux Model/Token and Auth Store Model/Token Match!')
            setHasUserData(checkUserData(reduxModel))
            setIsLoggedIn(true)
            //Check if User has User Data
        } else {
            console.log('The Redux Model/Token and Auth Store Model/Token do NOT Match!')
            dispatch(updateModel(authModel))
            dispatch(updateToken(authToken))

            setIsLoggedIn(true)
            setHasUserData(setHasUserData(checkUserData(reduxModel)))
        }
      } else {
        //JWT is not Valid
      }

    } else {
      //There is a current auth model found
      console.log('Current Auth Model NOT Found!')

      //Check if there is a Redux Model/Token
      if (reduxModel && reduxToken) {
        //There is a Redux Model/Token
        client.authStore.save(reduxToken, reduxModel)
        setIsLoggedIn(true)
        setHasUserData(true)
      } else {
        //There is not a Redux Model/Token
        setIsLoggedIn(false)
        setHasUserData(false)
      }

      //Check if there is a Model/Token in the Redux Store

    }

    client.authStore.onChange((token, model) => {
      console.log({model, token})
      // (this is just an example; adjust to your specific store update method)
      dispatch(updateModel(model))
      dispatch(updateToken(token))
    });

  }

  useEffect(() => {
    initialLoad();
  }, [reduxToken, reduxModel])

If you don't check for "hasUserData" or equivalent, you can ignore that part of the code. Hopefully this code isn't too bad, lol.

I'm glad that you were able to make it work.
Just one side note - it may be better to move the client.authStore.onChange(...) outside of the initialLoad() function in order to avoid accidentally binding multiple times to the same listener in case the effect get triggered more than once.
I'll close the issue for now, but if you are still having difficulties working with the SDK, feel free to comment (or open a new issue) and I'll try to help.

Quick question, are JWT's always valid until expiration? As in, if a user logs out and logs in again, does that kill the previous JWT?

if a user logs out and logs in again, does that kill the previous JWT?

PocketBase doesn't really have logout because there are no sessions. If you call client.authStore.clear() this will just remove the token and auth data from the store.
The JWT token itslef is always valid, unless it is expired OR the user for example has changed their password (we invalidate previously issued tokens on password change).