Indicating path for build.gradle and switching order of android and dependencies section

@iaulakh : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@iaulakh: I'm sorry - only the author of this article, @pprystinka, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off

@pavelprystinka: I'm sorry - only the author of this article, @pprystinka, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


added key for elements

Added key for each elements in filters so we can use multiple DynamicFilters in one app

This would be a helpful feature as currently if there are more than one filters with the same fields on a page; we get a DuplicateWidgetID error
Any timelines on when this will be merged ?

Yeah, It will be merged soon

thanks @vikashgraja just merged your commit

@Sairam90 the new version streamlit-dynamic-filters 0.1.7 is on pypi

@arsentievalex Thank you!

Hi @arsentievalex , I am able to download the new version but my script is not able to import any classes from the lib as it's not recognized
ex: import streamlit_dynamic_filters or from streamlit_dynamic_filter import DynamicFilters doesnt work

@Sairam90 thanks for the info, there was an issue with naming. it should be fixed in the latest version, pls use:
pip install streamlit-dynamic-filters==0.1.9

@arsentievalex Thank you!, works fine now :)


using selection zoom/pan with sync charts copying yaxis option of the chart zoomed to the other charts synched

Codepen: https://codepen.io/anon/pen/ordOWB
Explanation:
What is happening?
On syncing line chart, I add a y-axis option of min, max and title for both chart with different value, I set the y-axis min: 10, max: 70 and title: Facebook of the first chart and set y-axis min: 0, max: 45 and title: Twitter on the second chart. But once I use selection zoom or panning on first chart, it copies it's y-axis value of and it's title to the second chart, vice versa.
It is important for my project to have the y-axis min max to be different in each chart and at the same time to use the sync chart to show their data is related. The two chart is humidity and temperature.
EDIT:
I am using the latest version v3.8.1
using this link : https://cdn.jsdelivr.net/npm/apexcharts

It is fixed in the latest version of<EMAIL_ADDRESS>

It is fixed in the latest version of<EMAIL_ADDRESS>Thanks for the fast action. It's working now


lets limit the projects we try to update the parent pom

lets limit the projects we try to update the parent pom

[merge]


Interaction between shardTestFiles and grep

Hi,
If I attempt to run a subset of tests using grep while sharding test files, protractor ends up opening a browser window for test files which had no matching tests. We have so many test files that it makes it impractical to even try to use grep (and we do need to use sharding to speed up the execution).
The end goal is to be able to run subsets of the tests. I can handle some use cases with suites that run particular file patterns, but I also have a need to run test subsets spanning multiple files, and parallel execution is a must.
Is this something that is likely to be supported by protractor?

Sorry for the slow response - what exactly is your feature request?

Closing since there was no update


Unrecognized font family 'FontAwesome'

sorry, i know there have a some issue #95 , but i check the answer found no help to me. my env is
{
"react-native": "0.21.0",
"react-native-vector-icons": "1.3.2"
}
so, if i miss something, please let me know. Thanks!!!

You provide me no information, so hard to tell what you are missing. I'd suggest you read the documentation; follow the steps thoroughly and you will have no problems.

The same happens for me when I import the font:
import Icon from 'react-native-vector-icons/Entypo';

@pablolmiranda: You are doing something wrong, follow the steps in the documentation or compare your project with the example projects.

Fixed for me, I forgot to re-compile the project after link.

I fixed it by: "Reset content and settings", then rebuild the project.


adding in support for git hub token

Fixes: #8
Adding in gitHubToken to OperatorPipeline spec, and then creating this secret. Also refactored newSecret() method signature to properly create secrets as the pipeline document states.
Note: Tests to added to PR

Mmm..
The cluster admin would install the operator
The users interacting with it would create CRs (and secrets)
Ideally we don't  want the users secrets exposed anymore than a k8s secret..
Given that k8s secrets are just a base64 decode away from being "exposed" I
guess the only thing protecting them is access to the namespace in which
the CR is created.. I guess it's not that much of a stretch to have the
secret in the CR..
It would probably be overkill to implement some sort of way to retrieve the
token via oath or something like that.. (Unless it's a requirement)
But I believe the best practice is to reference secrets.. however it may
not be the best thing for our particular use case..
On Thu, Nov 4, 2021, 14:53 acornett21 @.***> wrote:

@.**** commented on this pull request.
In api/v1alpha1/operatorpipeline_types.go
https://github.com/redhat-openshift-ecosystem/operator-certification-operator/pull/17#discussion_r743118470
:

@@ -30,6 +30,10 @@ type OperatorPipelineSpec struct {

// OperatorPipelinesRelease is the Operator Pipelines release (version) to install.
OperatorPipelinesRelease string json:"operatorPipelinesRelease,omitempty"
+

// GitHubToken is the token that will be used by the pipeline to submit a PR to Red Hat
//+kubebuilder:validation:Required

My understanding is that this operator's intent is to create all the
required assets necessary for the pipeline to run, that way a cluster admin
does not have to create anything manually. All they have to do is install
the operator and create the CR.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/redhat-openshift-ecosystem/operator-certification-operator/pull/17#discussion_r743118470,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AT4SQF7E3TZWZSZML5RJCNDUKLJAVANCNFSM5HKEVDEA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

/on hold

/ready


changed from box-shadow to border and adjusted margins

-changed the css to border
-added some small margins for space between the images

Also, there is a bug in calculateGalleryWidth(). The width returned is not the actual width that triggers a thumbnail reflow as the browser changes size. It's off by a few pixels, and I can't figure out where they're coming from. You can easily see this by very slowly changing the browser width, and seeing when the slider updates its step size. The problem can be fixed by adding this line to the bottom of calculateGalleryWidth:
        width -= (tab === "#cart" ? 4 : 6);
        return width;


Fixing Bug in Major/Minor/Certificate Search

References

Linear: https://linear.app/hoagie/issue/DEV-113/deleting-majorminorcertificate-in-user-profile

Proposed Changes

I added the line "filterSelectedOptions={true}" to both the Minor Autocomplete and the Certificate Autocomplete; now, if a user has minor/certificate x in their profile, when they conduct a search for more minors/certificates, x will not appear in the search list. (The bug described in the task doesn't seem to appear while performing a major search, but please let me know if I should add the aforementioned line to the Major Autocomplete.)

@lucywangj I would recommend:

If major/minor is already selected, this should already be tracked in a state somewhere
Use the Tailwind CSS styling "pointer-events-none," and make the option a darker shade of gray to denote that it's "inactive" (not selectable)


chore: remove unused samples.cfg

we have java8/java11-samples.cfg that are being used instead

Closing due to the fact that they're auto-generated


Azure AD Basic License

The article states that groups can be used with an Azure AD Basic License.  Who needs to have the license in order to assign groups?  The administers that create the group assignment?  All users on the tenant?  Only a single administrator on the tenant?
Thanks.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: acb4037a-0ffe-8b87-6645-d773551bb34d
Version Independent ID: 6b6e3230-af26-21e0-b3ba-a78bc5119673
Content: Using a group to manage access to SaaS Applications - Azure Active Directory
Content Source: articles/active-directory/users-groups-roles/groups-saasapps.md
Service: active-directory
GitHub Login: @curtand
Microsoft Alias: curtand

@mikeg-roebbelen
Thanks for your feedback! We will investigate and update as appropriate.

@mikeg-roebbelen
The Azure AD License would be assigned at the Tenant level not to a particular user. The user with the appropriate Admin Rights could manage the required access.

@neeleshray
Thanks.  Do we need to do anything in O365 admin center to assign the license to the tenant?  Do we just purchase the license and leave it unassigned?  Or do we sign it to any user?

No, the license for Azure AD Basic/Premium is assigned to the specific tenant you purchase the license for and you do not need to assign it specifically to any user.


tcp: add Delayed ACK

This adds Delayed ACK to TCP sockets. By default is on at 10ms. User can set another delay or turn it off, per-socket.
Some highlights of tests against a Linux stack:
Echo of a single character
Delayed ACK saves us from sending a packet, allowing the ACK to be send as part of the echo response.
Before:

2109<PHONE_NUMBER>00	<IP_ADDRESS>	<IP_ADDRESS>	TCP	55	46560 → 6970 [PSH, ACK] Seq=2 Ack=2 Win=64256 Len=1
2110<PHONE_NUMBER>21	<IP_ADDRESS>	<IP_ADDRESS>	TCP	54	6970 → 46560 [ACK] Seq=2 Ack=3 Win=63 Len=0
2111<PHONE_NUMBER>63	<IP_ADDRESS>	<IP_ADDRESS>	TCP	55	6970 → 46560 [PSH, ACK] Seq=2 Ack=3 Win=64 Len=1
2112<PHONE_NUMBER>60	<IP_ADDRESS>	<IP_ADDRESS>	TCP	54	46560 → 6970 [ACK] Seq=3 Ack=3 Win=64256 Len=0

After:

2123<PHONE_NUMBER>60	<IP_ADDRESS>	<IP_ADDRESS>	TCP	55	46578 → 6970 [PSH, ACK] Seq=1 Ack=1 Win=64256 Len=1
2124<PHONE_NUMBER>55	<IP_ADDRESS>	<IP_ADDRESS>	TCP	55	6970 → 46578 [PSH, ACK] Seq=1 Ack=2 Win=64 Len=1
2125<PHONE_NUMBER>20	<IP_ADDRESS>	<IP_ADDRESS>	TCP	54	46578 → 6970 [ACK] Seq=2 Ack=2 Win=64256 Len=0

Big transfer
Here the ACK is sent every 2 received packets. Unfortunately it doesn't get coalesced with the window update, because every 2 packets we must send an immediate non-delayed ack.
Before:
2081	80.302120849	<IP_ADDRESS>	<IP_ADDRESS>	TCP	1078	47952 → 1235 [PSH, ACK] Seq=687105 Ack=1 Win=64256 Len=1024
2082	80.302160968	<IP_ADDRESS>	<IP_ADDRESS>	TCP	  54	1235 → 47952 [ACK] Seq=1 Ack=688129 Win=1024 Len=0
2083	80.302171172	<IP_ADDRESS>	<IP_ADDRESS>	TCP	  54	[TCP Window Update] 1235 → 47952 [ACK] Seq=1 Ack=688129 Win=2048 Len=0
2084	80.322883121	<IP_ADDRESS>	<IP_ADDRESS>	TCP	1078	47952 → 1235 [ACK] Seq=688129 Ack=1 Win=64256 Len=1024
2085	80.322924012	<IP_ADDRESS>	<IP_ADDRESS>	TCP	  54	1235 → 47952 [ACK] Seq=1 Ack=689153 Win=1024 Len=0
2086	80.322934248	<IP_ADDRESS>	<IP_ADDRESS>	TCP	  54	[TCP Window Update] 1235 → 47952 [ACK] Seq=1 Ack=689153 Win=2048 Len=0

After:
3169<PHONE_NUMBER>17	<IP_ADDRESS>	<IP_ADDRESS>	TCP	1078	47976 → 1235 [ACK] Seq=530433 Ack=1 Win=64256 Len=1024
3170<PHONE_NUMBER>72	<IP_ADDRESS>	<IP_ADDRESS>	TCP	1078	[TCP Window Full] 47976 → 1235 [PSH, ACK] Seq=531457 Ack=1 Win=64256 Len=1024
3171<PHONE_NUMBER>21	<IP_ADDRESS>	<IP_ADDRESS>	TCP	54	1235 → 47976 [ACK] Seq=1 Ack=532481 Win=1024 Len=0
3172<PHONE_NUMBER>09	<IP_ADDRESS>	<IP_ADDRESS>	TCP	54	[TCP Window Update] 1235 → 47976 [ACK] Seq=1 Ack=532481 Win=2048 Len=0

Clippy is failing but it's not on my code...

What do we do about this?
How is it possible, if it passes on master?

Clippy is failing but it's not on my code...

What do we do about this?
How is it possible, if it passes on master?

Clippy is failing but it's not on my code...

What do we do about this?
How is it possible, if it passes on master?

Clippy is failing but it's not on my code...

What do we do about this?
How is it possible, if it passes on master?

It broke spontaneously because CI runs clippy on latest stable, and 1.49 is just out which added some warnings. Maybe it's not a good idea to enforce "No warnings on latest stable"

It broke spontaneously because CI runs clippy on latest stable, and 1.49 is just out which added some warnings. Maybe it's not a good idea to enforce "No warnings on latest stable"

@Dirbaio I figured that might happen. I've opened https://github.com/smoltcp-rs/smoltcp/pull/407 to pin to 1.49.0 so that we can deal with the new lints on our own schedule.

@Dirbaio I figured that might happen. I've opened https://github.com/smoltcp-rs/smoltcp/pull/407 to pin to 1.49.0 so that we can deal with the new lints on our own schedule.


RethinkDB Storage

I have an experiment using RethinkDB as storage recently - since JSON definetely couldn't be used in production and i'm not Mongo fan. @gunthercox is this something you might be interested in? I could submit a PR soon if that is the case :)
Cool library anyway. Cheers!

@toopay Thank you for the offer. In the nearer future I may be significantly changing the way storage adapters work in ChatterBot. As much as I want to support as many different databases as possible, refactoring will be much easier for me if there are fewer of them in the core of the repository.

Interesting. Could you outline the direction of those refactor?

I don't have any finalized plans at the current time.

How this is going to be described here https://github.com/gunthercox/ChatterBot/issues/528

@vkosuri That is not correct. #528 is for input and output adapters. @toopay was talking about a storage adapter for using RethinkDB.

@gunthercox apologies i thought #528 will apply storage adapters also. Thanks Master.


Add The Ability For The Config Client To Send All Labels To The Config Server

Allows Config Client to take advantage of the changes made in https://github.com/spring-cloud/spring-cloud-config/issues/2449

@spencergibb @kvmw these changes add support for the config client to send multiple labels in a single request.  As I was making these changes I realized that it would break compatibility with older config servers (which don't expect to receive multiple labels) so I added a configuration property to enable the functionality and documented the limitation as well.


Have you considered Open Collective?

Hey @hsz,
Have you considered setting up an Open Collective profile rather than asking for PayPal donations?
Clearly maintaining this plugin isn't an easy task, and it's used by a lot of people. The issue is... I don't trust PayPal!
I'd suggest setting up an Open Collective profile where we can donate through, additionally it gives companies the ability to set up a monthly contribution to help you with maintaining the plugin.
Just an idea!

@hailwood Thanks - it's worth try.
And I have to say that I didn't hear about OC before, but as I see, huge projects are using that.
I'll give a shoot, thanks!

@hailwood
Ok, I think I got it:
https://opencollective.com/ignore


Chat - Previous messages jump continuously when opening the native emoji keyboard

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.62-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4490682
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:

Open any chat
Tap on the composer to open the keyboard
Tap on the emoji keyboard on the native iOS keyboard (If issue is not reproducible change the iOS settings > Screen > Text Size to another value and repeat. Seems to affect different text sizes on different screen sizes)

Expected Result:
The native emoji keyboard appears without issues for the chat screen
Actual Result:
The native emoji keyboard appears and the previous messages jump up and down until the keyboard is dismissed
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[x] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/7b88e078-a861-4699-99d6-616d090f1278

View all open jobs on GitHub

@slafortune I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors.

We think this issue might be related to the #vip-vsb.

Production
https://github.com/Expensify/App/assets/115492554/5ea7e6b9-f49e-40c5-b193-6579c4c018f9

I can't reproduce on Android mWeb on native, but if reproducible on typical iPhones we should keep the blocker label.

@suneox were you able to find an offending PR?

Ah ok perfect, thanks. Ok you can make the fix, I assigned you the issue

@madmax330 @suneox I will be out until 4/22, not assigning another BZ since this is in a good place for you all to keep it moving forward 👍

CPed this PR, waiting for it to deploy

@slafortune I also require payment here as C+ for reviewing PR https://github.com/Expensify/App/pull/40201, see https://github.com/Expensify/App/pull/40201#pullrequestreview-2002181808.

@ikevin127 please accept the offer sent here - https://www.upwork.com/nx/wm/offer/102036690
@suneox Can you please complete the checklist as well as share your Upworks profile here?

@ikevin127 please accept the offer sent here - https://www.upwork.com/nx/wm/offer/102036690

@slafortune Offer accepted, thank you!

Not overdue

@slafortune Offer accepted, thank you!

Bump on this, when you get the chance. Thanks again!

Thanks @suneox  - offer sent

@ikevin127 Paid

@suneox - Paid ✅


Bottom nav buttos

bottom nav buttons are white even if "Black-out navigation bar" is disabled, so they are invisible if screen also white.

https://github.com/zacharee/NachoNotch/blob/master/app/src/main/assets/Terms.md#behavior-and-limitations

I see. Thanks for explaining. Great app 👍


Adaptively determining weights for single-replica methods

In our discussions earlier this week, I suggested that we could utilize the asymptotically optimal approach of Zhiqiang Tan to adaptively determine log weights for single-replica methods. See this paper and this supplement for more information. The published version is here.
We've now implemented this in a few different contexts, so I could certainly tackle the implementation. It's incredibly simple---see, for example, the implementation in perses which is 150 lines long, only about two dozen of which are actual code.

Also, if you already have the ability to compute the relative probability of a trajectory X in all of the different path ensembles (as you already do for using MBAR, I think), both the "global optimal jump" and Rao-Blackwellized forms of the log weight update are very easy to implement and optimal.


Groovyc Resource Leaks

Groovyc did not release resources held by GroovyClassLoader correctly.

Travis failed because the tests took too long. Can someone tell me what to do? As I am not the first one with this problem if I take a look at the build history.

Try again or increase the timeout by modifying the .travis.yml, in which you will find a number 60.
BTW, the latter is not recommended because 60 min is long enough for normal build.

How can I try again? Increasing the timeout wouldn't be my first choice either, but I can't find a button in Travis to tell him to rerun.

Just push a new commit ;-)

Was there a Jira or email discussion about this leak? On face value the change seems OK but no test case is supplied so if we can't think of a suitable test we'd need to do some manual testing.

Hello Paul,
because of the API change I wasn't sure if merging in 2.4 branch is the right way.
I'll close this PR and merge my change in 2.5 branch, keep the old 'makeCompileUnit()' method and mark it as deprecated. I'll try to create a test for that, but that's difficult because with building on ant project you don't recognize the resource leak. It is just a problem if you build multiple ant projects in a row within the same JVM (that's what we do actually).
Thanks for your advice and ... I'll be back ;)
Marcus


Is there a reason we you are not using the official python image as your base image

Is there a reason we you are not using the official python image as your base image

Hi,
I started this docker project with Debian because I'm using Debian for my Airflow installation. But I'll have a look at python official image.

I tried python:2.7-slim (jessie based) and I've got a +200MB on final image size.


Support clipboard manager

Since 8Vim has a paste functionality already, it would be really good if a full clipboard manager can be supported from the keyboard directly.
I am unsure about how this functionality should be accessed. Any suggestions are welcome.

I would suggest putting the icon in the cut/paste panel accessed with the middle 4 arrow icon from the side bar.
A possible gesture would be to swipe from the top quadrant through the middle circle to the bottom quadrant

Certain requirements need to be satisfied for this to be considered complete.

any text copied on the os clipboard should be available in the clippad
The number of previous clips to be kept before the oldest one gets deleted should be user configurable.
user should be able to pin any clippings to keep them available forever.
user should have the ability to delete any cliping.
the clippad should be easily accessible, it can either be accessible from the sidebar like the selection keypad and/or the - gesture "left -> circle -> hold" can act as an extension to the paste functionality and open up the clippad.

Can see implementation of such features in the following keyboards available on playstore :

Clipkey

"A possible gesture would be to swipe from the top quadrant through the middle circle to the bottom quadrant" - It would be nice not to introduce new maps, this prints a | for me, already.


Remove empty strings as approvedSymbol in new target

As many as 19,795 targets have an empty string as approvedSymbol.
After review by @cmalangone and @JarrodBaker we found that a big fraction of these is due to Ensembl removing some symbols referring to contig names.
This is creating a downstream issue in which approvedSymbol empty strings are being merged with targetFromSourceId empty strings in Phewas evidence (#1731). Hopefully this will fix the issue.
>>> target.filter(F.col("approvedSymbol") == "").select("id", "approvedSymbol").show(5)
+---------------+--------------+
|             id|approvedSymbol|
+---------------+--------------+
|ENSG00000201701|              |
|ENSG00000205041|              |
|ENSG00000213016|              |
|ENSG00000213717|              |
|ENSG00000216781|              |
+---------------+--------------+
only showing top 5 rows

>>> target.filter(F.col("approvedSymbol") == "").count()
19795

Issue fixed by PR


SafeCTRTransfer / GodMode 9 / missing *.sha

Thanks for the guide and for everyone involved in these projects.
I have completed numerous 3DS softmods and hardmods.
The guide now uses SafeCTRTransfer. This was new to me.
I noticed when following guide I received a black screen after restoring _nand.bin.
https://3ds.guide/installing-arm9loaderhax
Section IV - Restoring the System
"If you get a black screen, follow 9.2.0 CTRTransfer"
9.2.0 CTRTransfer guide fails when using any method. It fails to find SecureInfo_A
I realized that when using SafeCTRTransfer that a .sha file is not generated.
I generated one for the _nand.bin using GodMode9.
I followed the steps again under "Section IV - Restoring the System"
The 3DS was able to boot. (Galaxy Model)
Thanks everyone.

.sha is not used in GodMode9/SafeCTRTransfer right now.


Big data: pandas limitation

Hi everyone!
Are there any workarounds for working with large datasets? When I load (in spark) some large dataset and try to convert it to pandas, this process may display an error or take a long time.
Thanks! 👍

Hey @joelcarvalhopribss,
If the RAM requirements for your raw customer transactions exceed what's available in your compute instance, the only options are to either move to a larger compute resource, or do the RFM aggregations elsewhere. Memory should not be an issue after your data is in RFM format. I've worked with datasets consisting of multiple GB and over 87 million transactions, but after being aggregated into an RFM dataframe it was less than 40 MB.
The most straightforward approach is to create a view or table in your SQL database. There is some boilerplate SQL code in the documentation for doing so:
https://btyd.readthedocs.io/en/latest/Generate RFM Summaries From a SQL Store.html
If you're working with Spark, Databricks also has a notebook example for RFM processing:
https://www.databricks.com/notebooks/Customer Lifetime Value Virtual Workshop/02 The BTYD Models.html
If you're using Snowflake, something else to try is applying btyd.utils.summary_data_from_transaction_data directly to your transaction data via Snowpark. I intend to add an example of this to the documentation in the future.
I just attended the Ray Summit this week for distributed processing, and would consider adding optional dependencies to speed up the RFM aggregations if popular demand decrees I do so. However it won't overcome the RAM limitation. modin (which runs on top of ray) would be almost a drop-in replacement, but would require a lot of additional dependency requirements. dask on the other hand is already available in many managed Python environments, but implementing dask would require significant refactoring.


feat: added faq section

LGTM🚀

@all-contributors add @praptippradhan for code and add @jayeshxn for review.

@all-contributors
please add @praptippradhan for code
please add @jayeshxn for review.


Offload compacted ledger into tiered storage

Is your feature request related to a problem? Please describe.
For current compaction logic, it will compact topic message into the compacted ledger, which is stored in BookKeeper. We'd better offload the compaction ledger into tiered storage.
Describe the solution you'd like
Offload the compacted ledger into tiered storage. When read compacted ledger, which is in tiered storage, it will read from tiered storage.

Hi, I am interested in this task and I will complete it.

@qq619618919  Thanks for your help, I have assigned this issue to you. Hoping for your contribution.


The Economist

Are you available to help in the creation of this port? 😄 (optional)
Yes – working on it here already.
Additional context 📷
https://www.economist.com/
Mainly searching for people who can help out with trying it first.

My current WIP style from a year ago is completely broken now, and since it's paywalled, I don't see myself finishing this anytime soon.


[MCS-DE-GO] Add webchat to bot runtime as client and for testing

For customers which cannot use Emulator in combination with ngrok or even in a local setup, we need to have a Web-based testing client.
Ideally the Testing-WebChat should have all capabilities to display the same information as the Emulator during testing.
Further a WebChat should be added as a default client which.
Design should be customizable via Composer UI to edit css-Files. Select colors for Elements as drop-downs; Add Logo. Enable/Disable Attachment Upload and Speech Input via WebChat (needs to consider Speech Endpoints may be switched during dialog).
Below an example of the Testing-WebChat we have created as a first version for Gothaer:

@joaollq @goergenj @garypretty

@goergenj This feature is in our backlog for the next semester.

To be clear - we are adding chat based testing (similar to emulator) within the next semester.  This will not include all of the features on this feature request. e.g. having a web chat client in the runtime or the ability to configure web chat.

@clearab assigning to you as a feature request for the runtime.

@clearab assigning to you as a feature request for the runtime.

@garypretty Can you send more details on the chat based testing you are already planning to add? "Next semester" is what timeframe?

If I'm understanding the ask correctly, the suggestion is to add a web client to the creation flow for each new bot, then deploy that client automatically whenever a bot is deployed from Composer?

@clearab / @garypretty First priority is to have a testing webchat to use with Composer instead of Emulator for Enterprise scenarios that do not allow the use of Emulator.
Second priority could be to provide an easy to customize (change css, images) WebChat to use as a client channel which can also be deployed automatically from Composer. TBD whether this should be part of the Bot WebAPP or deployed to a separate WebApp to enable different security/authentication sceanrios.
I believe @garypretty there is already a plan for the first priority, correct? We can provide what we have build for Gothaer which we are currently doing a small extension on as well, if you guys are interested.

@clearab I added a note to the other issue you are already working on.
@garypretty @Dewain27 For the WebChat client for deployment, it would be great, if there was a way to add a WebChat client for deployment that can be customized via a simple UI in Composer regarding colors, Avatar-Images and whether you want to allow attachments and to configure optional Speech. For the publish it should ideally provide a way to export the package for manual deployment to a WebApp/Webserver or a Publish to Azure WebApp.
This is not as high a priority as the testing webchat, however would be a good addition to make the whole design / deploy of a Bot even easier by covering the basic webchat client as well.

@goergenj take a look at a prototype we're working on: https://webchateditor.azurewebsites.net

@cwhitten Thanks. This looks good for the second priority. Is the idea to add this as a page within Composer with a publishing option? Or keep it stand-alone?
@joaollq

We're a ways off before we can say what this will look like integrated into the product. This is not production ready nor will be supported in any capacity.


refactor!: change execute API

This PR updates the execute and executeRaw API, along with its adjacent functions, see ADR:
Closes SAP/cloud-sdk-backlog#325.

General: Make a global search for DestinationNameAndJwt I found it in some docs and minor places.

@tomfrenken , have we updated the changelog v2 for such a breaking change?
Sorry for being late.

@jjtang1985 good point, I'll create a follow-up PR for the change-log


chore(deps): update dependencies

Description

Update go modules/dependencies. Ran go get -u ./... followed by go mod tidy.
Motivation and Context

At the time of writing this there is a lot of open PRs from RenovateBot. To simplify the task of retrying and merge all those, I updated everything once.
How Has This Been Tested?

Successfully ran make lint, make test, go install . and tested the library in a separate project.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (no code change)
[ ] Refactor (refactoring production code)
[x] Other  Dependencies

Checklist:

[ ] My code follows the code style of this project.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report

Merging #344 (36ca92e) into main (214ca83) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #344   +/-   ##
=======================================
  Coverage   53.83%   53.83%
=======================================
  Files          14       14
  Lines         548      548
=======================================
  Hits          295      295
  Misses        230      230
  Partials       23       23

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


[EN] Feedback for: /web/tools/chrome-devtools/debug/?hl=en

Not sure if this is the right forum or already there is open item for this, but following page failed to scroll up/down on Safari on Macbook.
https://developers.google.com/web/tools/chrome-devtools/debug/?utm_source=dcc#breakpoints-dynamic-javascript

Thanks for the feedback @abhijitpai05. Yes, this is the right place for issues if the site is buggy, or if you want to leave feedback on docs content. This issue is a duplicate of #2985.


Mathematical symbols added

This PR adds a variety of mathematical symbols:
∑ (summation), ∏ (product), √ (square root), ∫ (integral), ∂ (partial derivative), ∆ (delta), π (pi), ε (epsilon).
These changes were necessary to enhance the user experience for our users who frequently engage with mathematical content.
I hope this is not too big of a change to your smooth operation.
Looking forward to your feedback!

Hey @MorrisMuuoMulitu thanks so much for the contribution! Would you mind updating this PR to match the new, less merge-conflict-prone format introduced in #29 please? 🙏
Also some of the symbols you've added here were added by others before you, have a check to make sure you don't add any duplicates.

Note that sqrt, delta, and pi were already added elsewhere.

Going to close this out for now. Please feel free to open a new PR with these changes 🙏


Add jitter buffer

The battle-tested (I would assume) implementation from Membrane RTP Plugin

Since RTP mungers and (de)payloaders which we already have are in the ex_webrtc repo, will move these additions there as well


unknown option '->' error on trying to execute lsp actions with Rust RLS

1:2: 'lsp-menu-select': 2:13: 'evaluate-commands': 1:1: 'fail': unknown option '->'

Using:

Arch linux x64
rustc 1.59.0 (9d1b2106e 2022-02-23)
rls 1.41.0 (362fa39 2022-01-13)
kak-lsp 12.1.0
Kakoune v2021.11.08
kak-lsp.toml:verbosity = 2
snippet_support = true

[server]
timeout = 1800

[language.rust]
filetypes = ['rust']
roots = ['Cargo.toml', '.git']
command = 'rls'
settings_section = 'rust'

[language.rust.settings.rust]
settings.rust.clippy_preference = 'on'

Maybe related: https://github.com/kak-lsp/kak-lsp/blob/b6c1f943370de902134761afcd4fda293632e548/rc/lsp.kak#L179-L191

thanks - should be fixed although I didn't try with your example.


Upload built frontend artifact

This is part of the overall plan, detailed in https://github.com/cfpb/consumerfinance.gov/pull/7732.
This simply zips the static files after the frontend build and uploads them as an artifact. This artifact will be downloaded by a different job.

Can we disable the filter temporarily to see it work?

The artifact was killed by https://github.com/cfpb/consumerfinance.gov/actions/workflows/artifact_cleanup.yml. I've opened https://github.com/cfpb/consumerfinance.gov/pull/7737 to change that behavior.


How to Set Time Interval and/or number of updates old Bounded Staleness

I've been really frustrated at the discoverability of things inside the cosmos cosmos documentation, like it's clear from the documentation you can configure the Bounded Staleness to be either number of records or a time window but I can google all sorts of variations of "cosmos bounded staleness configure time range" etc. and it just leads to this page which doesn't have the information on how to do that. Like where is the page explaining how to actually configure this through the portal?
Can this be done client by client? Does the account level have to be bounded staleness for you to be able to configure theses intervals? If you have the account set to strong consistency but a client with bounded staleness how to you set the interval to be number of records vs time?
I hate how so much of the information on cosmos isn't in the documentation but stuck in some peoples heads that never wrote it down so you have to ask questions like this (that or it's just buried and has the same effect as not being written down).

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2b3fb7da-5483-160d-1781-d4abff9d798d
Version Independent ID: d5e51b7e-7f34-c7df-ce4f-ee4bf5c8059a
Content: Consistency levels in Azure Cosmos DB
Content Source: articles/cosmos-db/consistency-levels.md
Service: cosmos-db
GitHub Login: @markjbrown
Microsoft Alias: mjbrown

@MP7373 Thank you for your feedback. We will review this with the author and will get back to you shortly.

The values only apply to bounded staleness.
Cosmos resources are updated like other Azure resources using the management clients typically used in Azure.
To modify default consistency for an account you can use PowerShell, Azure CLI, ARM templates or even the Azure Portal.

Let me know if you have any additional questions. Will close this for now.
#please-close

Sorry I didn't check back on this until a week.
What if you have the account set to strong consistency but have a client that is set to bounded staleness consistency level?
Is there away to change the number of updates/time per client in that case or is that also set at the account level?
The question is based on having an existing account set to strong consistency but most clients are overriding and being set themselves to lower consistency levels even thought the account was set to strong (because for one use case we needed strong consistency). But when you set the clients to bounded staleness and the account consistency level is strong it isn't clear where to me were to set this (or if that can be done at all).
So the question pertains to when the default consistency is set to STRONG how do you set this property.

Clients can relax the consistency within the SDK. However, it requires restarting the application instance and it only applies on the read path. If your default is strong then all writes will be strong (global quorum).
For details on how to do this see, Override default consistency level

If all writes are strong when the account level is set to strong then what is the significance of having a client configured to something lower like eventual?
Wouldn't that mean an eventual consistency client would get all the most recent data if all writes are still strong?
I did notice when the account is set to strong you still get the half cost reads with the client overridden to eventual as opposed to bounded staleness or strong, but what is the significance of that? (I read the part about strong and bounded staleness reads checking 2 replicas or whatever so double cost)
In strong writes are the writes ensured in all replicas within a region or is it possible for a client configured to eventual consistency while the account is still set to strong to read an old value somehow? (which would beg the question why would you not have all clients configured to eventual if that makes the reads half cost, so I'm guessing somehow it could get an old value somehow in this case)
Is it possible for a client configured to Bounded Staleness when the account is set strong to ever read a stale value?
Are there configuration combinations that effectively do nothing? (like if in the previous example if it happens to be true that it doesn't matter if a client is configured as strong or bounded staleness if the account is set to strong).
Also in that page it doesn't say anything about overriding the default consistency level only applying to reads not writes so how is anyone supposed to know that?

The advantage is that reading from a single replica is half as expensive as reading from two.
Strong and Bounded Staleness reads are done from two replicas. On reads, the LSN from each is compared. If they match then it's the latest data. If they don't, the data with the higher LSN is returned. This works because all data is written to 3 replicas. So a 2 replica read is always guaranteed to return the latest data. The downside is reading from 2 replicas cost 2x than it does for weaker levels of consistency.
We do not write to all four replicas because it could impact availability if one of the replicas is lost. That's why we have a 4 replica set with a write quorum on three of them. This way one of the replicas could go down and we could still maintain write availability while another replica is brought up.
A scenario where this makes sense to use is when doing event streaming. If you connect Change Feed up to a container, you likely don't need strong consistency. You also likely don't want to pay 2x for your reads. The data will get there usually within a second or two anyway at worst, where Change Feed will pick it up and process it to another micro-service.
Regarding your last question, yes, it's something we should clarify. Will look to update that doc.
Thanks.

So is there any semantic difference for a Bounded Staleness read and a Strong read if the account consistency level is set to Strong?
If 3 replicas are always written to and Bounded Staleness checks 2 replicas doesn't that make it a pointless configuration to override a client consistency level to Bounded Staleness if the account is set to strong because it will default to Strong, and whether its Strong or Bounded Staleness either way the cost for the read will be the same and it will always get the most recent value?
This is what I meant by "Are there configuration combinations that effectively do nothing?" in my previous question.
On this same note overriding to Strong never does anything because if the account is set to Strong it would default to that anyway (aside from the client warning you if you try to connect to an account that isn't Strong consistency).
Does a client overriding to Bounded Staleness ever have any semantic meaning behavior wise outside of just warning you if the account isn't at least set to Bounded Staleness or Strong? If the account is Strong and the client is set to Bounded Staleness, if the reads still check 2 replicas that would be the same behavior as leaving it as the default of Strong, and if the account was set to Bounded Staleness overriding would have no effect because it would default to Bounded Staleness anyway.
If this understanding is correct then there is never any semantic reason to override a client to Strong or Bounded Staleness and the only benefit is a client warning if the account isn't a high enough consistency level to accommodate the setting.
It this correct?

Both Strong and Bounded Staleness are local minority quorum reads. This is documented here
Yes, if you are configured for strong it is pointless to override to Bounded Staleness. People who do this go to a weaker level of consistency so they can get cheaper reads.


Syntax error parsing NamedTuple

This code (from docs) fails: https://play.crystal-lang.org/#/r/1l1q
puts {name: "Crystal", year: 2011}
# => Syntax error in eval:1: expecting token 'CONST', not 'DELIMITER_START'

But this is fine: https://play.crystal-lang.org/#/r/1l1n
puts({name: "Crystal", year: 2011})
# => {name: "Crystal", year: 2011}

Code in the docs does not include puts. Compiler thinks you're passing a closure, that's why you need to enclose passed NamedTuple in parentheses.

Closing as duplicate of #2746


Fixed the -lh flag not working and executable files have icons with a green color.

The -lh flag is there but not working, now it does work.

The -lh flag was not working, now it should work fine.

thank you!ok, thank you!

can you please stop moving directory icon to left

That is just my editor config.

The icon for directories should be on the right.


Spinner arguments should be parsed

Currently, users can supply the following spinner parameters:

style
seconds per frame
before message
after message

At the end of the list, an expression is required.
Example:  @spinner :clock 0.1 "LOADING" "..." sleep(5)
Default arguments are provided by timer_spin in a lazy way (My bad!). It is assumes the first argument is style, the second is the framerate, etc. So we have
@spinner :pong sleep(4)     # possible
@spinner :pong 0.1 sleep(4) # possible
@spinner 0.1 sleep(4)       # error

What inputs should be accepted? Some possibilities:
@spinner f()
@spinner :pong f()
@spinner 0.1 f()
@spinner :pong 0.1 f()
@spinner :clock msg="LOADING " f()

What order of arguments should be accepted, and how can they be parsed by type?

I think the most used argument should be the style and the custom message.
So i would suggest to put the framerate at the end, before the Expr.
Also spinner is good for rapid and easy use and this suggests not to have much customization. On the other hand the function does not give the scope...

That makes sense.
Should style always take priority over msg? That is, should @spinner some_string f() assume that some_string is a style, not a message? Alternatively, we could assume the first Symbol is a style, the firstString is a message, and the first Number is a framerate.
Each of these arguments could be optional with a default value supplied. Any other argument (preceding message, mode) could be an named argument (e.g., mode=:random).

That makes sense.
Should style always take priority over msg? That is, should @spinner some_string f() assume that some_string is a style, not a message? Alternatively, we could assume the first Symbol is a style, the firstString is a message, and the first Number is a framerate.
Each of these arguments could be optional with a default value supplied. Any other argument (preceding message, mode) could be an named argument (e.g., mode=:random).

Isn't it to complicated and confusing to have different argument order based on the style type ?


Fix localizable string for invalid zoom, simplify error strings.

I made a mistake in the "invalid zoom" error message: %1%s must be %1$s.
Also, I don't think that "floating number" is correct. We should write "floating point number" or even better simply "number".

Thank you.

@ounziw what about publishing a new version with this fix?

Hello.
I have updated concreteCMS's marketplace.
https://marketplace.concretecms.com/marketplace/addons/free-map/

Great, thanks!!


Wrong packet fields

[x] I've searched existing issues and couldn't find a duplicate.

Describe the bug
The struct "SLoginPluginResponse" has wrong fields.
When the packet is deserialized we first read if the "successful" field is true, meaning that there will be more data. But we also treat the data as a Option, leading to the first byte of data being lost.
Expected behavior
The "successful" field should be removed and data.is_some() should be used instead.
Additional context
https://wiki.vg/Protocol#Login_Plugin_Response
this was confusing and hard to debug

Yep, I see already had this issue in the past. Wiki.vg sometimes makes it hard to difference between an Optional and an boolean above


Dogfood test-retry-plugin

Context
This closes https://github.com/gradle/gradle-private/issues/2882
So we can have the flakiness data in build scan.
This is how it looks like: https://e.grdev.net/s/vvmstvoqvp6qe/tests/flaky

I wonder if we could somehow continue to use our own tracking.

What exactly do you mean by this (the GH board?) and why do you think it is needed?
I think the tracking so far never worked very well. While we have issues to work with, there are so many that we loose track. Maybe we should just start using GE and see where it gets us. We can still revive something else later.
In any case we have to decide how to work with the new tracking. For example, someone should regularly check the GE dashboard and create issues to actually work on fixing the most frequent tests etc.

The ci health plugin can be removed I suppose.

:+1:

I think we need to remove the failure condition to fail on failing tests or mark the build as successful

I think if the plugin is applied the flaky tests are not reported as failing (see the build scan linked in the description).

I wonder if we could somehow continue to use our own tracking.

What exactly do you mean by this (the GH board?) and why do you think it is needed?
I think the tracking so far never worked very well. While we have issues to work with, there are so many that we loose track. Maybe we should just start using GE and see where it gets us. We can still revive something else later.
In any case we have to decide how to work with the new tracking. For example, someone should regularly check the GE dashboard and create issues to actually work on fixing the most frequent tests etc.

We can try the new tracking. We would look at the most flaky tests once a week maybe and then decide if there is something to do? And create issues for the tests with links to GE if we work on them?

I think we need to remove the failure condition to fail on failing tests or mark the build as successful

I think if the plugin is applied the flaky tests are not reported as failing (see the build scan linked in the description).

They are reported as failing: https://github.com/gradle/test-retry-gradle-plugin#teamcity
Only the exit code of Gradle changes.

This is what currently happens to the performance tests: https://e.grdev.net/s/wttnpz52ftwfe/tests/failed?expanded=WzcsNF0
We skip all the tests, though the plugin seems to try to retry two of them...

Regarding keeping the 'old tracking', I think switching to a pure GE-based approach allows to shake out any UX troubles you have with the tests dashboard, as a consumer.
This can help introducing features to it, if we realize that it misses stuff that real users would need.

The ci health plugin can be removed I suppose.

I kept ci-health plugin because we still have a TAG_BUILD step. But after rethinking, I think this step should also be removed so we can completely use GE features to "shake out any UX troubles".

@wolfs 1.1.1 used. Yes, the build steps come from the branch, not master.

@blindpirate You'll need to accept the new plugin version for dependency verification.


Flakiness in Globalnet E2E

The Flake Finder job has been failing regularly on various Globalnet jobs recently.
Non-GN failures:

https://github.com/submariner-io/submariner/actions/runs/4673204750/jobs/8276179533
https://github.com/submariner-io/submariner/actions/runs/4751826626/jobs/8441429313?pr=2437

Globalnet failures:
I see four types of errors:

✗ Checking if gateway metrics are accessible from non-gateway nodes
✗ Unable to access gateway metrics service in submariner-operator namespace:

(and also, in the same run)

✗ Checking gateway connections
✗ Connection to cluster "cluster1" is not established. Connection details:

https://github.com/submariner-io/submariner/actions/runs/4673204750/jobs/8276180472
https://github.com/submariner-io/submariner/actions/runs/4662907724/jobs/8253754982
https://github.com/submariner-io/submariner/actions/runs/4653595540/jobs/8234617771

✗ Checking gateway connections
✗ Connection to cluster "cluster1" is not established. Connection details:

(only this error, not the metrics one)
https://github.com/submariner-io/submariner/actions/runs/4624082679/jobs/8178558230
https://github.com/submariner-io/submariner/actions/runs/4662487555/jobs/8252891402
https://github.com/submariner-io/submariner/actions/runs/4613957550/jobs/8156476849
Some runs don't show errors in diagnose, just test failures:

Summarizing 1 Failure:
[FAIL] [redundancy] Gateway fail-over tests when one gateway node is configured and the submariner gateway pod fails [It] should start a new submariner gateway pod and be able to connect from another cluster
/go/pkg/mod/github.com/submariner-io/shipyard@v0.15.0-m4/test/e2e/framework/framework.go:561

https://github.com/submariner-io/submariner/actions/runs/4662487555/jobs/8252891585
https://github.com/submariner-io/submariner/actions/runs/4673637880/jobs/8277080537
https://github.com/submariner-io/submariner/actions/runs/4624082679/jobs/8178557925

Summarizing 1 Failure:
[FAIL] [dataplane-globalnet] Basic TCP connectivity tests across overlapping clusters without discovery when a pod connects via TCP to the globalIP of a remote service in reverse direction when the pod is not on a gateway and the remote service is not on a gateway [It] should have sent the expected data from the pod to the other pod
/go/pkg/mod/github.com/submariner-io/shipyard@v0.15.0-m4/test/e2e/framework/network_pods.go:196

https://github.com/submariner-io/submariner/actions/runs/4634160266/jobs/8200087054
https://github.com/submariner-io/submariner/actions/runs/4673637880/jobs/8277080537
https://github.com/submariner-io/submariner/actions/runs/4591595402/jobs/8107887204
This was discussed some on Slack, but to better track the failures over time it's better to collect discussions in an issue.

In the following job: https://github.com/submariner-io/submariner/actions/runs/4673637880/jobs/8277080537
VxLAN/Globalnet:
The following test failed:
Summarizing 1 Failure:
  [FAIL] [dataplane-globalnet] Basic TCP connectivity tests across overlapping clusters without discovery when a pod connects via TCP to the globalIP of a remote service when the pod is not on a gateway and the remote service is not on a gateway [It] should have sent the expected data from the pod to the other pod

However, there are no errors in gateway, globalnet, route-agent pods on both the clusters. Also the connections seem to be successfully established.

However, there are no errors in gateway, globalnet, route-agent pods on both the clusters. Also the connections seem to be successfully established.

yeah I've seen cases of that too. Perhaps it's flakiness in the infra. The only thing is why these issues seem to (mainly) occur with globanet and pretty frequently.

In the following job: https://github.com/submariner-io/submariner/actions/runs/4662487555/jobs/8252891585
VxLAN/Globalnet:
Two datapath tests passed and the third one was the redundancy test-case which was initially (before restarting the GW pod) trying to check the connection status to be successful. However it finds that connection is not established due to the following error.
  [FAILED] Failed to await Gateway on "cluster1-worker" with status active and connections UP. Gateway "cluster1-worker" is active but cluster "cluster2" is not connected: Status: "error", Message: "Failed to successfully ping the remote endpoint IP \"<IP_ADDRESS>\""

Again there are no errors seen in the various submariner pods related to the health-check failure.

yeah I've seen cases of that too. Perhaps it's flakiness in the infra. The only thing is why these issues seem to (mainly) occur with globanet and pretty frequently.

Right, the failures are mostly happening on the Globalnet jobs and the current logs are not really helpful :-(
I tried to reproduce these problems locally by deploying KIND clusters with globalnet followed by running the "subctl verify ..." command multiple times, but it always succeeds on my local host.
Is there a way to run "subctl gather..." command as part of post-mortem, tar the folder contents and provide a link to download the tar file?
P.S: It would be preferable to get the tar file rather than dumping the file contents.

@dfarrell07 As the necessary fixes have been identified/merged, shall we close this issue?


solc v0.8.20; shanghai, push0 support

What was wrong?
No support for push0, causing the wastage of several gas.
This updates to solc 0.8.22. I think it reduces gas for all simple tests, but unfortunately increases gas usage for the uniswap createPair test. I plan to look into that case and see what's up.
How was it fixed?
solc 0.8.20 0.8.22
evm crate had to be upgraded for tests; to keep the tests working I had to hack around a bunch of changes.
solc fails to generate json for the "irAst" output in cases with a lot of nesting in our generated Yul code, which happens for tests with a lot of asserts (binary_ops.fe and comp_ops.fe, in particular). I had to disable this output. (I'll create an issue for our perhaps less-than-ideal codegen)

If it turns out that this will change the runtime code of the recently deployed contracts, then I will cut two releases just to make sure people have a way to verify the already deployed contracts.

Ok, I verified that this does indeed result in different bytecode. I'm going to cut a release now without this PR and merge it after that. We can then cut another release shortly before devconnect that includes this and potentially other stuff.

Ok, I verified that this does indeed result in different bytecode. I'm going to cut a release now without this PR and merge it after that. We can then cut another release shortly before devconnect that includes this and potentially other stuff.

This doesn't have to be merged or released before devconnect; it can wait for some future release. I'm just trying to tie up some loose ends.


[Feature Request] Tables From Templates

[Feature Request] Tables From Templates
Hello again @ganesshkumar !!!!!
This FR is about adding templates when creating New Tables and Editing Tables.
Beside my poor English I’m gonna try to explain in details my FR and my workflow for this feature. Let me know if something is not clear.
Before you start reading I just wanna say that this is just my humble suggestion. Please feel free to change anything that you thing is not aligned with your amazing plugin.  I think about this FR for a few day and I tried to fill with all my ideas based on my real workflow with tables inside Obsidian.

Forgive if I suggest something not feasible.

FR
A new settings menu that let the user create multiple templates that will be applied when creating new tables and editing tables (more below)
1- A new settings UI
2- Command Palette command for each template
3- Autocomplete options for Rows
4- Autocomplete options for Columns (except headers)
5- Editing a Table using a template Data
1- Settings UI
A settings tabs inside Obsidian Settings to create/edit templates
Setting fields

Rows number
Columns number
Row Headers names
Autocomplete options for Rows OR Autocomplete options for Columns (except headers)

Let me know if you want examples of obsidian plugins that have templates. I can list a few for you :)
2- Command Palette command for each template
New Command: MTE: Open Editor with template_name
Each template have your own command :)
3- Autocomplete options for Rows
Would be amazing if we have a way to define a list of word that is applied to each rows .

But the user can decline the autocomplete list and input a different word
A hotkey that triggers the autocomplete menu (same behavior of the Operations Menu

Example: Daily Meal log

Meals
03-01-2022
03-02-2022

Breakfast
Coffee + Bread
Tea + Waffle

Lunch
Hamburger + Fries + Coke
Ceaser Salad

Dinner
Pizza
Chocolate

Autocomplete Options for Row 1:

Coffee + Bread
Tea + Waffle

Autocomplete Options for Row 2:

Hamburger + Fries + Coke
Caeser Salad

Autocomplete Options for Row 3:

Pizza
Hot Chocolate

4- Autocomplete options for Columns
Would be amazing if we have a way to define a list of word that is applied to each columns .

But the user can decline the autocomplete list and input a different word
A hotkey that triggers the autocomplete menu (same behavior of the `Operations Menu.

Example: Workout Sheet

Body Group
Exercises
Reps

Back
Lift
12

Leg
Squat
8

Autocomplete Options for Column 1 - Body Group

Back
Leg
Shoulder
Biceps
...

Autocomplete Options for Column 2 - Exercises

Chest Press
Triceps Dips
Squat
Lift
...

Autocomplete Options for Column 3 - Reps

8
10
12
15
20

5- Editing Tables with Template Data
We could have a scenario where the user wants to edit a table and use a template data to add a new row or column of data to the table or correct a previous import that was wrong.
My idea was a dropdown list with all templates inside the MTE editor to let the user apply a template data to the edit table

Sorry for the long text !!!!!
Thanks for reading this !!!!!!!!!!
Have a great day !!!!!!

I shall look into this and get back!

Thanks for your reply @ganesshkumar !!!!
Take your time :)

Thanks for the detailed write up, @FelipeRearden!

Thanks @ganesshkumar !!!!
I tried to detail every aspect of my FR to let us in the same page about this feature :)

Let's keep talking :)


Message and job queue

I want to revive discussion about messages and jobs queues.
This thing is very useful, and many developers sooner or later will realise this task.
That's what I think about the implementation of the queue:

First of all, realize the interface to the message queue. The base component of message queues must be able to push-pop a simple text message. Bacause job queue it's a particular case of the implementation of the message queue.
For the queue of tasks to be performed by some code - use a component with higher abstraction. Such us ActiveJob in ROR, for example.

The first part includes implementing the following queues:

MemoryQueue
DbQueue
SysVQueue
IronQueue
RedisQueue
MongoQueue
BeanstalkdQueue
AmazonSqsQueue
RabbitQueue
etc.

What do you think about this?

Duplicates #492


Revert "lld support"

Reverts apple/swift-llvm#172
Going to revert PR#172 because it's causing build failure:
/tmp/llvm/tools/clang/lib/Tooling/Syntax/Tokens.cpp:129:19: error: no member named 'bsearch' in namespace 'llvm'
   auto It = llvm::bsearch(File.Mappings, [&](const Mapping &M) {
             ~~~~~~^
 /tmp/llvm/tools/clang/lib/Tooling/Syntax/Tokens.cpp:214:18: error: no member named 'bsearch' in namespace 'llvm'
   auto M = llvm::bsearch(File.Mappings, [&](const Mapping &M) {
            ~~~~~~^
 2 errors generated.

Might be related to this commit https://github.com/apple/swift-llvm/commit/135e0fd8b64ed85692768d79e80dc937fafc4562
We might be able to resolve this by cherry-pick this commit into clang:
https://github.com/apple/swift-clang/commit/f888b24b827087a9d8522c269a0de5c88c6bea0d

To avoid from reverting these commits, I created PR to cherry-pick a fix into clang. However, if I can't get this issue resolved ASAP I will look into reverting these changes.
https://github.com/apple/swift-clang/pull/357


Restyling faq

Fix #412

Restyled the whole section.
Corrections in the answers done.
Additional question added.

@smaranjitghose @anushbhatia Kindly check :)

@smaranjitghose Kindly check :)

@anushbhatia Okay, Kindly merge this one. I will add the cards in the next PR

Make in this only why another pr

okay

Have cards for this section like homepage so that it looks good.

@anushbhatia I have added the cards and changed the css too. Please check if any changes are required :)

This is how it is looking

Don't use green and orange together


Help Needed: Issues with Sanity Presentation Visual Editor Integration in Hydrogen (^4.1.0) with Shopify Hydrogen (2024.7.4)

Hello all i was wondering if anyone can help us please we’re trying to get the Visual Editing/Presentation tool to work with Hydrogen im using:
"hydrogen-sanity": "^4.1.0” and "@shopify/hydrogen": "2024.7.4”
We are trying get it to work locally initially however not been able to we’ve followed the hydrogen-sanity readme and this guide:
https://www.sanity.io/learn/course/sanity-and-shopify-with-hydrogen/visual-editing-for-interactive-live-previews#s-528199a741ff
I added this to the loader and Layout to root.tsx - i don't understand what the preview real relevant has the way i set it as the docs has session related stuff:
 export async function loader(args: LoaderFunctionArgs) {
 ...,
 return defer({
 ...,
 preview: env.SANITY_PREVIEW_TOKEN
   ? {
       enabled: env.SANITY_PROJECT_ID ? true : false,
       token: env.SANITY_PREVIEW_TOKEN,
       studioUrl: "http://localhost:3333",
      }
   : undefined,

   }
   }

   export function Layout({children}: {children?: React.ReactNode}) {
     ...,
     return (
     ...,
     <body>
        {data ? (
          <Analytics.Provider
            cart={data.cart}
            shop={data.shop}
            consent={data.consent}
          >
                <SanityConfigProvider config={sanityConfig}>
                    <PageLayout sanityDataRoot={sanityData} {...data}>
                      {children}
                      {preview ? <VisualEditing /> : null}
                    </PageLayout>
                </SanityConfigProvider>
          </Analytics.Provider>
        ) : (
          children
        )}
        <ScrollRestoration nonce={nonce} />
        <Scripts nonce={nonce} />
      </body>

I added this to the Content Security Policy in entry.server.tsx
 defaultSrc: ['https://cdn.sanity.io'],
 connectSrc: [`https://${context.env.SANITY_PROJECT_ID}.api.sanity.io`, `wss://${context.env.SANITY_PROJECT_ID}.api.sanity.io`],
 frameAncestors: [`http://localhost:3333`, `'self'`],

Hydrogen has changed slightly since this in terms of “context”, “loaders” etc, i don’t understand how to access “sessions” in this situation or hows its relevant as ive seen it in the docs but the preview object i created does get fed to the client side.
In resource.preview.ts i added:
export {loader} from 'hydrogen-sanity/preview/route’
And finally in Sanity Studio i added any relevant CORS origin and this:
 presentationTool({
      previewUrl: {
        origin: "http://localhost:3000",
        preview: "/",
        previewMode: {
          enable: "/resource/preview",
        },
      },
    })

And locally im getting this, and when you click you get "Unable to enable preview mode. Please check your preview configuration”

Any help would be greatly appreciated by us, thank you.

Hey @musaa-muhsen try change you session.ts file to this:
 const storage = createCookieSessionStorage({
      cookie: {
        name: 'session',
        httpOnly: true,
        path: '/',
        sameSite: 'none',
        secure: true,
        secrets,
      },
});

Let me know if this work for you.

Hi @gabrieldejesus thanks for the response.
I tried that still getting the "Unable to enable preview mode...”
When i console.log(args.context.sanity) in root.tsx i get this back: Object {
loadQuery: ,
client: SanityClient,
preview: undefined
}
Perhaps this is part of the issue. I don't understand where to add to the preview logic because I added it here in root.tsx this way:
export async function loader(args: LoaderFunctionArgs) {
  // Start fetching non-critical data without blocking time to first byte
  const deferredData = loadDeferredData(args);

  // Await the critical data required to render initial state of the page
  const criticalData = await loadCriticalData(args);
  const {storefront, env, sanity} = args.context;

  console.log('args', args.context.sanity)

  return defer({
    ...deferredData,
    ...criticalData,
    publicStoreDomain: env.PUBLIC_STORE_DOMAIN,
    shop: getShopAnalytics({
      storefront,
      publicStorefrontId: env.PUBLIC_STOREFRONT_ID,
    }),
    consent: {
      checkoutDomain: env.PUBLIC_CHECKOUT_DOMAIN,
      storefrontAccessToken: env.PUBLIC_STOREFRONT_API_TOKEN,
    },
   preview: env.SANITY_PREVIEW_TOKEN
   ? {
       enabled: env.SANITY_PROJECT_ID ? true : false,
       token: env.SANITY_PREVIEW_TOKEN,
       studioUrl: "http://localhost:3333",
      }
   : undefined,
  });
}

Yes @musaa-muhsen you need a value on preview object like this example:
Object {
  enabled: true,
  token:  <some_token>,
  studioUrl: http://localhost:3333/staging
}

you should pass to your defer return the sanity object from your context as:
return defer({
 // other exports
 preview: context.sanity.preview?.enabled
});

this will allow the VisualEditing component from hydrogen-sanity work for you when you have a session.

@gabrieldejesus thank you again for helping but still not working really frustrating haha.
so I've added it like this i tried "/presentation" as it's on that route on sanity or just "/" or "/staging" unsure which one

I'm getting these error on the terminal unsure why i have made sure the .env are correct as well

Many thanks

Hey @musaa-muhsen, it shouldn't be too frustrating, but I understand that setting up presentation mode in Hydrogen can be a bit challenging.
Looking at your errors, I believe you may not be configuring Sanity correctly in your context. Are you on Sanity Slack? If so, let’s have a huddle so I can help you.

Hi @gabrieldejesus that would be amazing obrigado. Please let me know what time suits you and hopefully we can talk then.
Here is my profile for sanity-io-land: https://sanity-io-land.slack.com/team/U024QR3NT5M

@musaa-muhsen @gabrieldejesus please let us know how / if you solved this issue!

Hi @puredazzle no not yet unfortunately, it's still the same 500 error. I will keep you posted for sure.

@musaa-muhsen I managed to get it working by coping the functionality from https://github.com/frontvibe/fluid and specifically their SanitySession and how it works:
app/lib/sanity-session.js
import { createCookieSessionStorage } from "@shopify/remix-oxygen";

export class SanitySession {
  #session;
  #sessionStorage;

  constructor(sessionStorage, session) {
    this.#sessionStorage = sessionStorage;
    this.#session = session;
  }

  static async init(request, secrets) {
    const storage = createCookieSessionStorage({
      cookie: {
        httpOnly: true,
        name: "sanityPreview",
        // samesite must be none so Sanity Studio can access the cookie
        sameSite: "none",
        secrets,
        secure: true,
      },
    });

    const session = await storage.getSession(request.headers.get("Cookie"));

    return new this(storage, session);
  }

  commit() {
    return this.#sessionStorage.commitSession(this.#session);
  }

  destroy() {
    return this.#sessionStorage.destroySession(this.#session);
  }

  get has() {
    return this.#session.has;
  }

  get set() {
    return this.#session.set;
  }
}

app/lib/context.js
import { createSanityLoader } from "hydrogen-sanity";

import { createHydrogenContext, createWithCache } from "@shopify/hydrogen";

import { CART_QUERY_FRAGMENT } from "~/lib/fragments";
import { SanitySession } from "~/lib/sanity-session";
import { AppSession } from "~/lib/session";

/**
 * The context implementation is separate from server.ts
 * so that type can be extracted for AppLoadContext
 * @param {Request} request
 * @param {Env} env
 * @param {ExecutionContext} executionContext
 */
export async function createAppLoadContext(request, env, executionContext) {
  /**
   * Open a cache instance in the worker and a custom session instance.
   */
  if (!env?.SESSION_SECRET) {
    throw new Error("SESSION_SECRET environment variable is not set");
  }

  const waitUntil = executionContext.waitUntil.bind(executionContext);
  const [cache, session, sanitySession] = await Promise.all([
    caches.open("hydrogen"),
    AppSession.init(request, [env.SESSION_SECRET]),
    SanitySession.init(request, [env.SESSION_SECRET]),
  ]);

  const sanityPreviewMode = await sanitySession.has("previewMode");

  const withCache = createWithCache({
    cache,
    waitUntil,
    request,
  });

  const sanity = createSanityLoader({
    // Required:
    withCache,

    // Required:
    // Pass configuration options for Sanity client or an instantialized client
    client: {
      projectId: env.SANITY_PROJECT_ID,
      dataset: env.SANITY_DATASET,
      apiVersion: env.SANITY_API_VERSION || "2023-06-27",
      // eslint-disable-next-line no-undef
      useCdn: process.env.NODE_ENV === "production",
    },
    preview: env.SANITY_API_TOKEN
      ? {
          enabled: sanityPreviewMode,
          token: env.SANITY_API_TOKEN,
          studioUrl: env.SANITY_STUDIO_URL,
        }
      : undefined,
  });

  const hydrogenContext = createHydrogenContext({
    env,
    request,
    cache,
    waitUntil,
    session,
    i18n: { language: "SV", country: "SE" },
    cart: {
      queryFragment: CART_QUERY_FRAGMENT,
    },
  });

  return {
    ...hydrogenContext,
    sanity,
    sanitySession,
    // declare additional Remix loader context
  };
}

app/routes/sanity.preview.js
import { json, redirectDocument } from "@shopify/remix-oxygen";

import { notFound } from "~/lib/utils";

const ROOT_PATH = "/";

// POST will destroy the session.
export async function action({ context, request }) {
  const { sanitySession } = context;

  if (!(request.method === "POST" && sanitySession)) {
    return json({ message: "Method not allowed" }, 405);
  }

  const body = await request.formData();
  const slug = body.get("slug") ?? ROOT_PATH;
  const redirectTo = slug;

  return redirectDocument(redirectTo, {
    headers: {
      "Set-Cookie": await sanitySession.destroy(),
    },
  });
}

// Create a new session.
export async function loader({ context, request }) {
  const { env, sanitySession } = context;
  const useStega = env.SANITY_STUDIO_USE_PREVIEW_MODE === "true";

  if (!sanitySession) {
    notFound();
  }

  const { searchParams } = new URL(request.url);
  const slug = searchParams.get("slug") ?? ROOT_PATH;
  const redirectTo = slug + "?reload=true";

  sanitySession.set("previewMode", true);

  const headers = {
    "Set-Cookie": useStega ? await sanitySession.commit() : "",
  };

  return redirectDocument(redirectTo, {
    headers,
    status: 307,
  });
}

thanks for sharing @puredazzle, I've implemented this code but I'm still having the same issue with the toggling of preview to navigate to other pages and just getting 404 page, sorry to be a pain for everyone. What would the root file be like? Would:
{preview ? <VisualEditing /> : null}
still be relevant as fluid  is kind of using the old way?

The issue that i was having with the navigation turned out to be with my navigation data in preview mode and the outputted characters so for the sanity API data object pageOption "{
"pageOption": "collections-view",
"_key": "dcf2eb36ca15",
"_type": "staticPageLink",
"reference": null
}" added to Remix Link tag it was causing many lines of added characters something with "ZeroWidth" trailing so used regex to stop this:
  const removeZeroWidthChars = (str: string) => {     return str.replace(/[\u200B-\u200D\uFEFF]/g, '');   };
thank you @puredazzle and @gabrieldejesus for all the help i will now close this issue. Hopefully these insights mentioned here can help others.

The issue that i was having with the navigation turned out to be with my navigation data in preview mode and the outputted characters so for the sanity API data object pageOption "{
"pageOption": "collections-view",
"_key": "dcf2eb36ca15",
"_type": "staticPageLink",
"reference": null
}"
Which is added to Remix Link tag it was causing many lines of added characters something with "ZeroWidth" trailing so used regex to stop this:
 const removeZeroWidthChars = (str: string) => { return str.replace(/[\u200B-\u200D\uFEFF]/g, ''); };
thank you @puredazzle and @gabrieldejesus for all the help i will now close this issue. Hopefully these insights mentioned here can help others.


Update CONTRIBUTING.md

add links to conventions and guidelines for contributing

@althio - Looks pretty good to me.
Not sure if we should go with the system outlined for the image filing though. I think @pyrog is advocating something slightly different & I'm keen to hear his advice.
At the moment we seem to be part way between:

/images/language (2digit)/section/file/filename
/images/language/section/file/complicated filename to do with filename, language (de_beg_02_start-osm_export.png)
the system outlined here https://github.com/hotosm/learnosm/wiki/Images-guidelines-beta
images/language/filename/simpleimagename such as iD_01.png

1/. I don't like because of the /section/ folder - one of the advantages we are trying to achieve is the ability to quickly create a new 'index' so that a section appears elsewhere. If we have a /section/ folder we defeat that.
2/. Just makes my eyes go blurry trying to find anything - sorry, simple as that!
3/. Blurry eyes, plus we will end up with too many images in one folder for ease of locating.
4/. Just looks simple while avoiding the problems of 1, 2 & 3. My example above would be:
/images/en/remote/iD_01.png
If we're going to alter the image storage system, perhaps now is the time to update the documentation - which is wrong anyway according to what we've got.
The wiki reads as if it was aimed at converting google docs into markdown docs for creating the site. Although interested it may be time to do some drastic altering. Personally when I'm adding images I'm creating them using a variety of steps, avoiding having any writing in them at all (so they can be used in all language versions) and using Gimp to reduce them to 520px - there is discussion in one of the issues about this and I think the consensus I would go for is 'use whatever software you find easiest so you end up with an image of no more than 520px'
If we update the wiki &/or contributing.md now so it shows the system we are aiming for, we will know what to do in the future, and hopefully not have conflicting advice.

In "my" sandbox, I use only one image folder but there will be to many images.
I thought we could use a folder by guide, but I like 4/.
But I prefer to avoid language subfolder and use a language extension (See Content negotiation concept).
/images/remote/iD_01.png for the english version
/images/remote/iD_01.fr.png
If an image is "neutral language" (like a picture of a mapper using a gps receiver) all "translations" use the "english" image (/images/gps/mapper-holding-a-gps-receiver.png)
But if the image contain important text or have a cultural meaning, for example french translation of a chapter use /images/field-papers/website.fr.png if french translators provide it, otherwise they use the "english" version.
See Internationalization and localization of images.

I agree it is only a feeble attempt to document the current (and partly
outdated) guidelines and publicise them.
I am very happy that it triggers such an inspiring discussion on image
filing. It appears certainly to be the messy part for the time being. The
wiki is only labeled "guidelines-beta" so it clearly implies that everyone
is aware it is not finalised yet.
I would like to merge this PR then, as a first step for the current and any
future documentation.
@Nick-Tallguy @pyrog
Could you please copy/paste your insightful comments on image filing into
an new issue or an outstanding issue, such as #94 or #113?

@althio sorry I hijacked this, but I think we have a working resolution on a filing system - as per pyrog's suggestion. I've pasted it into #306


Feature/pai 42 fe breadcrumbs1

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
List style type only for rich text editor
Test URLs:

Before: https://main--pricefx-eds--pricefx.hlx.page/
After: https://feature-pai-42-fe-breadcrumbs1--pricefx-eds--pricefx.hlx.page/

This changes will go part of Footer changes.


fix(container): notification container fixed

Fixes #4042
Describe the changes you have made in this PR -
Screenshots of the changes (If any) -
Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

@VaibhavUpreti done sir please have a look on the pr

@VaibhavUpreti @vedant-jain03 @tachyons please review

@vedant-jain03 @VaibhavUpreti please review

@harshsharma-11 why you closed this , are you not working on this anymore

as i delete my head repository so all pr's get closed due to this ,so i am no longer working on this

as i unknowly deleted the head repo so all pr's relative to this gets  automatically closed ,new pr is #4244

@harshsharma-11 you could have just restored the branch

@harshsharma-11 you could have just restored the branch

how??????????


Select option label not working in Firefox

The label attribute for the select option is not working in Firefox.
See https://www.w3schools.com/tags/att_option_label.asp and the remarks here: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option#Browser_compatibility
Steps to reproduce

Open example in Firefox http://ooui.mecha.parts/Samples/Run/Drawing
See that the dropdown contains two empty options.

Firefox!!! Thanks. This is surprising since I tend to use MDN docs for HTML reference haha.
Actually, ooui.mecha.parts is a bit old. Perhaps it just needs updating. Thanks!

I updated the website and the bug is still there. Gosh I feel like I fixed this one already. Thanks for the report!

Because it creates invalid HTML:
<option id="⦙3825" label="Boxes" value="box" />

Valid:
<option id="⦙3825" label="Boxes" value="box">Boxes</option>

BTW: what's with the weird id?

The HTML is valid and works according to the docs:

(from https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option)
It uses label and value attributes.  But I guess I can put in text content too...
The ID has a sentinel character in the beginning to aide in deserializing command packets. I picked a unicode character that fits well into UTF-8, but has almost no usage on the internet.

The option element is not a self-closing tag; "Tag omission | The start tag is mandatory. The end tag is optional if this element is immediately followed by another <option> element or an <optgroup>, or if the parent element has no more content." (See header).
And because of a bug; "Firefox doesn't display the value of the label attribute as option text if element's content is empty. See bug 40545." (See implementation notes in the Browser compatibility tablet).

@jerone Thanks for the reference! Sounds like I better change things!

I love that that bug is 18 years old!

Fixed in Firefox 77.


Example app lacks a sample with an overlay

The example app currently lacks a sample for an overlay.
There is one in lib/mobile_scanner_overlay.dart but it is non-functional.
We should fix that sample.

Hey, I would like to work on this issue but there is no file named mobile_scanner_overlay.dart inside lib folder.  I tried searching other folders but couldn't find one anywhere.

It should be this one: https://github.com/juliansteenbakker/mobile_scanner/blob/master/example/lib/mobile_scanner_overlay.dart

@navaronbracke  So I was able to add the overlay but do you need the overlay to be something specific or am I free to make an overlay of my wish ?

As it is a sample, you can choose how the overlay looks. But in my opinion perhaps a square or rectangle would be a good option, since that is probably the most common. Perhaps you could even give it rounded corners?
I would configure the scan window in the sample, so that the overlay indicates where the scan window is located?

So a rectangle box with rounded borders? No text or button or anything inside it. Also, I didn't understood " so that the overlay indicates where the scan window is located?" this part.

I think that with the overlay, we want something like this:
https://stackoverflow.com/questions/38300362/how-to-draw-four-boundary-corner-for-qr-code-scanner
Then the overlay is the square. You can add some text below the square (perhaps a scan a code / scanned barcode value)
For the scan window, I meant to use this function: https://github.com/juliansteenbakker/mobile_scanner/blob/master/lib/src/mobile_scanner_controller.dart#L446C16-L446C32
With that function we configure what part of the camera view is the actual scan region, so that nothing outside the square is detected.

Got it. Thanks for the clear explanation.

https://github.com/juliansteenbakker/mobile_scanner/assets/54628130/82c6bbc4-7433-4c7b-afee-4b0a8d14ee6a
Does this look fine ?. I am trying to add the white borders to the scan window but I am kind of a noob with custom paint. Will figure out something

That is already a good start!

I have raised a PR. Please have alook @navaronbracke

Please can u also assign me? I would like to try my hands on it@navaronbracke

Fixed by #798


React to Logging API changes

Meant to open againt rel/2.0.0-preview1

PR in logging repo for changes?

https://github.com/aspnet/Logging/pull/605

@BrennanConroy @Eilon Where can we find the design rationale around these changes and documentation or other information about how the logging abstractions are now intended to be used?

I'll set up a mtg for Monday.

This issue is also a good reference for reasons behind the change https://github.com/aspnet/Logging/issues/420

🆙 📅


cosmos create_database unable to get pipeline for test_attachment_00

This unwrap() is panicking when running cargo test --features test_e2e for cosmos`.
     Running tests\attachment_00.rs (C:\Users\cataggar\io\azure-sdk-for-rust\target\debug\deps\attachment_00-d3a656dafad6c073.exe)

running 1 test
test attachment ... FAILED

failures:

---- attachment stdout ----
thread 'attachment' panicked at 'called `Option::unwrap()` on a `None` value', C:\Users\cataggar\io\azure-sdk-for-rust\sdk\cosmos\src\clients\cosmos_client.rs:158:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

failures:
    attachment

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

error: test failed, to rerun pass '--test attachment_00'

https://github.com/Azure/azure-sdk-for-rust/blob/8784ea58e16261a80b47cb525edb9808052813a8/sdk/cosmos/src/clients/cosmos_client.rs#L146-L171

This actually fails multiple tests:
cargo test --features test_e2e --no-fail-fast

It is fixed by #124.


Update README.md from branch 'example'

Updates
I updated the README file. Please review and accept

Thoughts
If you say so 👍


unexpected "offline" state

Hi Tim,
thank you for the wonderful work of reverse engeneering the Tesla API.
My Model 3 sometimes reports "offline" in the state field of the vehicles query. Then, it's not possible to wake it up with the wake_up command. Therefore I cannot climate my car automatically. (Yes, it's cold here in Germany now.) On the other side, using the Tesla-App wakes up the car normal. Do you have any idea which command helps? The Tesla-App seens to do somthing more.
Thank you in advance.
Jörg Mehring

Does the wake_up fail? You may need to give it some time to turn on after sending that command, as the system needs to boot up (which might be a deeper sleep mode if it's overnight)

Hi,

Does the wake_up fail? You may need to give it some time to turn on after sending that command, as the system needs to boot up (which might be a deeper sleep mode if it's overnight)

yes, the wake_up command fails. My delay after wake_up is 10 seconds.
I’ve released the script here: https://github.com/joergmehring/TeslaClimate https://github.com/joergmehring/TeslaClimate
Best regards
Jörg

Even the official App from Tesla, will sometimes «turn the waiting spinner» for quite a long time, and without actually meassure it, I'll guess it is sometimes more than 10 seconds?
It is not wrong for the API to give back the control fast, while the USER of the API, should preferably don something like this pseudocode:
tries=0;
while (wake_up.status == "offline") {
print "Waiting for Tesla to wake up ..."
sleep 2 seconds;
tries++;
if (tries > 30) {
print "Check your car, failed after trying for 1 minute";
}
}
if (tries > 0) {
log (to_my_log_file, "At $date_time, when temperature was $temp, the Tesla neede $tries*2 seconds to wake up";
}
I think that a freezing cold Tesla might well have at least 1 minute of chance.  You might as well make some logging as suggested above, and later come back here and give some insight in typical waiting times to expect for different temperatures?
If all this work well, this not a bug/issue, but more a feature, to let the programmer keep the user informed about some delay.

Yeah, sorry for not responding earlier, but the car definitely needs more than 10 seconds to boot out of deep sleep mode.


What permissions are needed when accessing with Service Principal

I try to retrieve alerts through the Graph API using a registered Application (service principal), but this always results in a permission denied; what Application Permissions are needed to access the WD ATP api's? Can you provide an example?
tx
Raf

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b8d6a80c-c8ce-9d2c-1958-2322ee8e90e0
Version Independent ID: 2c51d73c-6f49-7163-f8ec-934b92484f14
Content: Use the Windows Defender Advanced Threat Protection exposed APIs
Content Source: windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md
Service: unspecified
GitHub Login: @mjcaparas
Microsoft Alias: macapara

any update? also getting 'Authorization has been denied for this request' when using a key generated from Azure AD following this method.
It however works using client secret from SIEM connector pane in SecurityCenter. This method is however less convenient if you want to delegate multiple accesses or be able to easily revoke them.

Hi 0xmilkmix,
Thanks for reaching out! I'm getting touch with our engineers.
I'll get back to you :)

We've recently updated our API docs, please see if the updates address your issue:https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-atp/use-apis


Create data science project in existing namespace

Solution Pattern
We'll be supporting OpenShift Console Projects in the Dashboard.
WIP Mocks: https://www.figma.com/proto/9CkrqD7byqvTBUzRok2ihE/RHODS?page-id=234%3A13523&type=design&node-id=234-15654&viewport=740%2C-116%2C0.18&t=CTLheEXDanxj5A3R-1&scaling=scale-down&starting-point-node-id=234%3A15654

Enhancement request
Allow the creation of data science project to specify an existing namespace. Currently DSP name cannot be the same to another existing namespace in the Openshift Cluster.
Details
Namespace is used to manage users and enforce cluster resource usage quota, e.g. the maximum numbers of CPUs, GPUs, pods. Creating new namespaces requires OCP admins to redo user binding and quota configuration.

I have transferred this to the dashboard (UI component) as this will be fixed in our code.

@kywalker-rh do we have UX issue for supporting more than just DS Projects on our Project list page tracked?

@yuanchi2807 Would a satisfactory solution to this be able to see projects you have access to in OpenShift Console as a toggle? Or is your intent to only include "some" of your projects in the Data Science Projects view?

@andrewballantyne toggle or pulldown menu to pick an existing namespace would be great.

sounds like a good idea, especially with regards to namespace-specific annotations, like tolerations, node selectors and so on, that are often already there on existing namespaces one has access to. Question would be: What level of access, I assume rolebinding with ClusterRole Admin to the project to be able to select the project? We have a similar approach of project/namespace first in our org.

@yuanchi2807 on the other hand, all you'd need to do for the namespaces to appeach in DSP would be to add two additonal labels:
'opendatahub.io/dashboard': 'true'
and optionally
'modelmesh-enabled': 'true'  if you want it to be used for model serving.

FWIW, the modelmesh label should already show up "late" if you use Model Serving -- we just want to make it "always" delayed.

@shalberd are those labels documented anywhere?

Hi @andrewballantyne @yuanchi2807 I updated the design based on your suggestions and the discussions in the original issue RHODS-8603. Please take a look at the design . Please feel free to let me know, if there are any questions or new requirements. Thanks!

@shalberd are those labels documented anywhere?

@StevenBarre they are currently not. opendatahub.io/dashboard=true is the label we use for all our resources. We need to document this better internally to the repo.

In RHOAI 2.5, when having an OCP namespace (e.g. "noam-project") and trying to create same project name in the Dashboard, it is not allowed:

@andrewballantyne Is that is indeed the expected behavior for this feature ?

@manosnoam yes, this has always been true. This is why you can name your resource name, because you may want the display name but have another project behind the scenes used for other reasons.

@andrewballantyne in description I see "Enhancement request: Allow the creation of data science project to specify an existing namespace." .
I'm not sure I understand what is the feature, and how to test it then, if not by verifying we can reuse an existing OCP namespace for a new DS project.

@andrewballantyne You should have access to your k8s RBAC namespaces via the dropdown in the top left. You don't need to "create" a new project, you can get access to your existing one.

Very nice!

And my OCP project is available to be used as DS project:

yes, that is a very nice new feature, saw this in a dev experience meeting a while ago, cool to see it in production.

FWIW I see something weird with this functionality, I get only a subset of the available namespaces even though I'm using a cluster-admin user.
I could see why it wouldn't return the openshift default namespaces, but in my case it's also missing the redhat-ods-applications namespace.
What is the criteria for the namespaces that are shown in this page?

@lugi0 Yes, we intentionally hide the namespace where the dashboard is deployed.

An arbitrary list of namespaces are hidden for cluster-admins to avoid accidental deployments into those namespaces. The criteria is somewhat vague and open to expanding. (the code)
I'd like to stress, this list is to help cluster-admins, not as a ironclad solution. We welcome feedback to expand it, but effectively it's low effort/priority to do so. Most users won't have access to all projects, and thus this is not a primary flow to concern ourselves with.

I like that list a lot in that it prevents projects being used for Data Science Workbenches tasks that are not supposed to, even if one does have i.e. just View access to one of those namespaces.
as to the dashboardNamespaces not being available in Data Science Projects: that for now makes sense, as the Jupyter tile application is doing that ... creating notebooks in the main namespace, i.e. opendatahub or redhat-ods-applications.

We will readdress what the Jupyter Tile does and what it means for users when we migrate it. It's a bit of a messy situation right now with the no notebook-namespace or having it, and in general it shouldn't be used to deploy Data Science flows just for sanity and cleanness... the application namespace definitely needs to be only for that, and the Jupyter tile having that backwards flag is definitely not awesome.

and in general it (the main application namespace) shouldn't be used to deploy Data Science flows just for sanity and cleanness... the application namespace definitely needs to be only for that -- application resources -- and the Jupyter tile having that backwards is definitely not awesome.

agreed, it is better to provision a new or to use an existing namespace except for the main DataScienceCluster / KfDef namespace for creating workbenches.

@andrewballantyne @shalberd Not sure I'm getting your point, the jupyter tile deploys in rhods-notebooks rather than the applications namespace - which I have access to through this view (you can actually see the three stopped "workbenches", which are there only because those three users have previously deployed a NB through the Jupyter tile and thus have a Notebook CR in that namespace).
I think it's ok to arbitrarily decided to show certain namespaces or not, but if we need to validate the feature I think some precise criteria is needed in order to explore the view through users with different permissions and ensure that each one is only seeing what it's supposed to see - I will leave it up to @manosnoam to figure out what those tests are, so take it as my 2c and nothing more.

Not sure I'm getting your point, the jupyter tile deploys in rhods-notebooks rather than the applications namespace

@lugi0 This is not done automatically on ODH installs. This is configured in RHOAI, per the needs of the install. The Dashboard does not automatically create another namespace where we deploy items from the Jupyter tile, it's done via the resources that are deployed as part of the operator install. Let me know if you'd like me to get all the various variables/resources collected together and showcase where those toggles are. I imagine this isn't too much of a concern for our RHOAI installations, but if you're curious, we can investigate this from a "what does the dashboard do out of the gate with no configurations".

if we need to validate the feature I think some precise criteria is needed in order to explore the view through users with different permissions and ensure that each one is only seeing what it's supposed to see

@manosnoam please let me know if you want to talk about this. The only criteria we had was "I wanna see my openshift created namespaces" -- we limited the other use-cases through development to hide specific Cluster-Admin based access. This is not ironed to perfection, so if you think there is more to work with here... we should discuss it and look at enhancements.