Add Python_Min, Remove markupsafe & werkzeug

https://github.com/pallets-eco/flask-caching/blob/v.2.3.0/setup.py
noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.
For the host section of the recipe, you should usually use python {{ python_min }} for the python entry.
For the run section of the recipe, you should usually use python >={{ python_min }} for the python entry.
For the test.requires section of the recipe, you should usually use python {{ python_min }} for the python entry.
If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

@HeavyTony2 - this addresses a few minor updates to your PR at https://github.com/conda-forge/flask-caching-feedstock/pull/24
I have test locally and please feel to review and merge.
Thank you and Regards.


Support TRIM on raw files via F_PUNCHHOLE

The macOS API fcntl(F_PUNCHHOLE) will successfully punch holes in files on APFS and free the backing storage so we can use this to implement the host side of TRIM.
The arguments to the fcntl need to be aligned to the filesystems f_bsize as returned by statfs (which on my Mac's SSD is 4096).
Unfortunately exposing the 4096 byte sectors to the guest seems to trigger a bug elsewhere in the ACHI implementation so this patch maintains a virtual sector size of 512 bytes. This means that the guest will send 512 byte-aligned requests, we must round these to (eg) 4096 byte-aligned requests and manually zero any leading and trailing sectors. For the zeroing we allocate a delete_zero_buf per block device and pre-zero it.
When the device is opened we perform a test F_PUNCHHOLE of length 0 at offset 0 and check the return value. If the call succeeds then we can assume sparse files is supported (e.g. APFS) and if the call fails we assume sparse files are not supported (e.g. HFS+)
This PR includes 2 patches from bhyve which we were missing. I don't think these are necessary but I thought I'd include them since they exist.

src/lib/block_if.c:220:20: error: variable has incomplete type 'struct fpunchhole'
        struct fpunchhole arg = { .fp_flags = 0, .reserved = 0, .fp_offset = offset, .fp_length = len };
                          ^
src/lib/block_if.c:220:9: note: forward declaration of 'struct fpunchhole'
        struct fpunchhole arg = { .fp_flags = 0, .reserved = 0, .fp_offset = offset, .fp_length = len };
               ^
src/lib/block_if.c:265:26: error: use of undeclared identifier 'F_PUNCHHOLE'
                ret = fcntl(bc->bc_fd, F_PUNCHHOLE, &arg);
                                       ^
src/lib/block_if.c:701:22: error: variable has incomplete type 'struct fpunchhole'
                        struct fpunchhole arg = { .fp_flags = 0, .reserved = 0, .fp_offset = 0, .fp_length = 0 };
                                          ^
src/lib/block_if.c:701:11: note: forward declaration of 'struct fpunchhole'
                        struct fpunchhole arg = { .fp_flags = 0, .reserved = 0, .fp_offset = 0, .fp_length = 0 };
                               ^
src/lib/block_if.c:702:18: error: use of undeclared identifier 'F_PUNCHHOLE'
                        if (fcntl(fd, F_PUNCHHOLE, &arg) == 0) {
                                      ^
4 errors generated.

Might we need a High Sierra toolchain in CI?

punchhole is in the headers on Sierra (which has beta support for APFS) so maybe just upgrade the that as a build chain now, rather than going full high sierra?

We should fix 4k sectors but transition may well involve reformatting the disk...

Perhaps bumping this fragment of circle.yml will be sufficient?
machine:
  xcode:
    version: "7.3"

Hopefully our use of  MACOSX_DEPLOYMENT_TARGET: "10.10" is no impediment, bumping it to 10.11 would be OK but probably not further at this point.

10.10 support was only best effort, its probably ok to bump to 10.11

BTW I couldn't find a public link for the fcntl F_PUNCHHOLE API unfortunately. The relevant bits of the header seem to be:
#define F_PUNCHHOLE     99              /* Deallocate a range of the file */
...
/* fpunchhole_t used by F_PUNCHHOLE */
typedef struct fpunchhole {
        unsigned int fp_flags; /* unused */
        unsigned int reserved; /* (to maintain 8-byte alignment) */
        off_t fp_offset; /* IN: start of the region */
        off_t fp_length; /* IN: size of the region */
} fpunchhole_t;

I didn't realise off_t was signed. I added asserts to check they're >= 0 and then cast them to size_t for the rest of the calculations. I had to cast them back to signed off_t for the pwrite and fcntl, but they should still be +ve quantities. WDYT?

Thanks, I found https://github.com/apple/darwin-xnu/blob/master/bsd/sys/fcntl.h which said the same thing.
Perhaps my advice should have been to use off_t instead, but I suspect that would mean a similar number of casts the other way. The size_t vs off_t dichotomy is always a bit annoying.
If we were being aggressively cautious as well as the negative assert you might also want to assert it is less than SSIZE_MAX (from limits.h IIRC) since this ends up being the upper limit of the count argument to pwrite which it wants to return. A pretty unlikely event IMHO so: LGTM.


Fixes for Rust edition 2021 - 'missing dyn' and 'dyn_drop'

Fixes for warnings generated by when building with the latest Rust (rustc 1.67.1).
Upstreamed from https://github.com/fralalonde/traitobject_patch for easier syncing with any future changes to destructure_traitobject

@fralalonde Sorry I didn't get to this one for so long... just merged your changes. Thanks for the PR.


Problem about the theme

header, blog posts and pages are not shown if I choose a different theme for exampe (super hero)

https://drive.google.com/file/d/0B7yJMr_wSCAYdlE5N3pZYTNKVkk/view

problem source is here https://github.com/okulbilisim/ojs/blob/master/src/Ojs/JournalBundle/Entity/JournalRepository.php#L25.
I will not get journal from journal_service for only journal settings page


[master] Update initial kubernetes version for AKS

Proposed changes
This updates the initial kubernetes version from the string '1.19.9' to an actual value in the list of versions. I made the choice to default to an empty string if we don't have a value in in our versions because I don't think we can really assert what a version should be if we don't have a version to choose from.
The versions are sorted in ascending order, so we default to the latest by taking the final member of the collection.
Types of changes

Bugfix for rancher/dashboard#4262 - Kubernetes version defaults to 1.21.2 in Cluster Options and 19.9.9 in Node Pools
Linked Issues

rancher/dashboard#4262
Further comments

I guess I should mention that I was looking at making use of the original solution that was commented out, Semver.maxSatisfying(versionz, this.defaultK8sVersionRange), but this is throwing an error  TypeError: xhr.body is undefined
I'm guessing that's why the original solution was commented out in the first place and probably still needs fixing. I'm still taking a look to see if I can get that to work, but I thought I'd provide a little more background on why I chose the solution that I did


feat: Report an issue - allow user to set ticket priority

Summary of Changes
This change adds a set of radio buttons to the Report an issue modal that will allow users to select a priority from the levels P3-P0 instead of automatically creating tickets only with the default P2.
Tests
A few JS and python tests were modified to include the priority_level field anywhere issue creation is tested.
Documentation
N/A
CheckList
Make sure you have checked all steps below to ensure a timely review.

[X] PR title addresses the issue accurately and concisely. Example: "Updates the version of Flask to v1.0.2"

In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

[X] PR includes a summary of changes.
[X] PR adds unit tests, updates existing unit tests, OR documents why no test additions or modifications are needed.
[X] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain docstrings that explain what it does

Note: I did not have a way to verify the integration of this feature with Asana, so I've reached out to someone at the company who had me apply for a sandbox premium account to test my change. Once that account has been provisioned and I have tested the Asana client change, I will set this PR as ready to be reviewed.


SelinuxProfile never finishes reconcilation and causes semodule to use 100% cpu

What happened:
When applying an SelinuxProfile to a K8s cluster running the security-profiles-operator, the semodule process on the node uses 100% cpu. This appears to be caused by the operator constantly detecting a drift between the applied policy on the node and what is stored in the CRD. For each detection of a drift, the operator attempts to install the policy again. However, since the operator does not currently care about order in the Selinux policy it changes each time which triggers another drift. Since the policy is constantly changing, semodule runs constantly and attempts to install the selinux policy.
What you expected to happen:
The operator to only install / change the policy if the upstream CRD has changed and therefore semodule only runs for actual changed policy.
How to reproduce it (as minimally and precisely as possible):
Apply an SelinuxProfile CRD with selinux in enforcement mode.
Anything else we need to know?:
no
Environment:
RHEL8

I will add further that the root cause seems to be the use of map in https://github.com/kubernetes-sigs/security-profiles-operator/blob/main/api/selinuxprofile/v1alpha2/selinuxprofile_types.go#L83 obviously does not maintain order. So the order defined in the map compared to what is on the node will rarely ever be equal.


Blogger theme uploading error

This is not a blogger.com template.Its a blog template coded in Html5 Css And Js


Smaller changes to clean up the new authentication PR

Codecov Report
Base: 96.42% // Head: 96.52% // Increases project coverage by +0.10% :tada:

Coverage data is based on head (daacacc) compared to base (bd125b3).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #174      +/-   ##
==========================================
+ Coverage   96.42%   96.52%   +0.10%
==========================================
  Files          57       57
  Lines        6710     6710
==========================================
+ Hits         6470     6477       +7
+ Misses        240      233       -7

Flag
Coverage Δ

unittests
96.52% <100.00%> (+0.10%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

weaviate/connect/connection.py
98.06% <100.00%> (+4.51%)
:arrow_up:

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

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


[#1983] Support testnet reserve currency converter usage

Forgot to support testnet when creating reserve currency converter. This will enable testnet/regtest to work normally.

Coverage remained the same at 41.662% when pulling 0892ea85e965802dbffd706da689d67c8c7bbe6c on 1983-order-total-w-normalized-listings into 09c113844a76dd74c99080fa600a0ff19285ad56 on ethereum-master.


Make ReadStream public.

I need to manually call ReadStream in my unit tests to convert a CSV stream back into a type so I can assert values and whatnot. Currently I am trying to wrap the CsvInputFormatter in a RestEase ResponseDeserializer.

An idea of what I need to accomplish.
public class CsvResponseDeserializer : ResponseDeserializer
{
    public override T Deserialize<T>(string content, HttpResponseMessage response, ResponseDeserializerInfo info)
    {
        // Consider caching generated XmlSerializers
        var serializer = new CsvInputFormatter(new CsvFormatterOptions()
        {
            CsvDelimiter = ";",
            IncludeExcelDelimiterHeader = true
        });

        using (var stream = GenerateStreamFromString(content))
        {
            return (T)serializer.ReadStream(typeof(T), stream); // TODO, ReadStream IS PRIVATE.
        }
    }

    // https://stackoverflow.com/questions/1879395/how-do-i-generate-a-stream-from-a-string
    public static Stream GenerateStreamFromString(string s)
    {
        var stream = new MemoryStream();
        var writer = new StreamWriter(stream);
        writer.Write(s);
        writer.Flush();
        stream.Position = 0;
        return stream;
    }
}

@VictorioBerra Thanks for the PR! Need to think about this, not sure if making this public is a good idea. I was thinking about integration tests for this. @filipw opinion?

I am not convinced this is the best idea. I would recommend to do the following things:

change it to async - Task<object> ReadStreamAsync(Type type, Stream stream)
change it to protected - then you can always subclass it and open it up publicly if you want, but as a default functionality I wouldn't want it to be public

Sorry for the new question here, but the usages would look something like this?
public class TestCsvInputFormatter : CsvInputFormatter
{
    public TestCsvInputFormatter(CsvFormatterOptions csvFormatterOptions) : base(csvFormatterOptions)
    {
    }

    public new async Task<object> ReadStreamAsync(Type type, Stream stream)
    {
        return await ReadStreamAsync(type, stream);
    }
}

no new, just override. also you can just pass the Task without awaiting
public class TestCsvInputFormatter : CsvInputFormatter
{
    public TestCsvInputFormatter(CsvFormatterOptions csvFormatterOptions) : base(csvFormatterOptions)
    {
    }

    public override Task<object> ReadStreamAsync(Type type, Stream stream)
    {
        return ReadStreamAsync(type, stream);
    }
}

I will close this PR as the request has been implemented already.

@filipw I get:
cannot override inherited member 'CsvInputFormatter.ReadStreamAsync(Type, Stream)' because it is not marked virtual, abstract, or override

oops sorry I meant:

public class TestCsvInputFormatter : CsvInputFormatter
{
    public TestCsvInputFormatter(CsvFormatterOptions csvFormatterOptions) : base(csvFormatterOptions)
    {
    }

    public Task<object> TestReadStreamAsync(Type type, Stream stream)
    {
        return ReadStreamAsync(type, stream);
    }
}

So you create your own public member to expose the non-public member. Generally speaking brute-force hiding members with new is an anti pattern so I'd recommend to avoid it.


await build api doesnot finish build when watch is setted to {}

Describe the bug
await build({
 // some other config
 build: {
   watch: { }
 }
})
// do something dependes on dist files

do build job in my js logic
I want to do something after build
when  watch is null,  everything is ok
but if set watch to {},  await doesnot wait the build , it return too early
Reproduction
https://stackblitz.com/edit/vitejs-vite-g8r4ju?file=build.js&terminal=jsbuild
Steps to reproduce
npm run jsbuild
System Info
System:
    OS: Linux 5.0 undefined
    CPU: (4) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 18.20.3 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.2.3 - /usr/local/bin/npm
    pnpm: 8.15.6 - /usr/local/bin/pnpm
  npmPackages:
    vite: ^5.3.4 => 5.3.4

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[x] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

I noticed that the code related to this part of the processing is in
https://github.com/vitejs/vite/blob/main/packages/vite/src/node/build.ts#L716-L751
Among them in https://github.com/vitejs/vite/blob/main/packages/vite/src/node/build.ts#L750, build in this line is end,the code after build will be run next
So you don't get the dist folder right away; instead, the dist folder starts building after watcher receives the event
I'm not sure if this is a bug or if it has something to do with how the code is called

This is intentional. When you build in watch mode, you receive the Rollup watcher right away and the build may still be in process. You can use the APIs from the rollup watcher to wait for the first build to finish if needed.
It isn't feasible for Vite to automatically wait for the first build since build flows may want to instantiate multiple builds in watch mode in parallel, and there isn't a reason to wait for the build.

This is intentional. When you build in watch mode, you receive the Rollup watcher right away and the build may still be in process. You can use the APIs from the rollup watcher to wait for the first build to finish if needed.
It isn't feasible for Vite to automatically wait for the first build since build flows may want to instantiate multiple builds in watch mode in parallel, and there isn't a reason to wait for the build.

Thank you for your answer to my confusion😊


Wrong loki api endpoint rendered in logging relations

Bug Description
Regardless of Traefik/TLS, the LokiPushApiProvider always renders http with socket.getfqdn() (see here) instead of https and the external_url.
This makes it impossible to send logs over an ingressed Loki / over TLS.
To Reproduce
# deploy the basic Loki HA setup
juju deploy traefik-k8s traefik --channel=latest/edge --trust

juju relate loki:logging traefik
juju relate loki:ingress traefik

jhack show-relation loki:logging traefik

Analyzing the diff between the charm code for the monolithic charm and the coordinator, I spotted a difference. Specifically, the monolithic charm had this section, which the coordinator does not have:
    def __init__(self, *args):
        ...
        self.framework.observe(self.on.logging_relation_changed, self._on_logging_relation_changed)

    def _on_logging_relation_changed(self, event):
        # If there is a change in logging relation, let's update Loki endpoint
        # We are listening to relation_change to handle the Loki scale down to 0 and scale up again
        # when it is related with ingress. If not, endpoints will end up outdated in consumer side.
        self.loki_provider.update_endpoint(url=self._external_url, relation=event.relation)

Adding this event listener and function to the coordinator fixes this issue!

Fixed by this commit in the PR I will link shortly.


Add permissions to the test-results-master and test-results-pr workflows in GitHub Actions

What does this PR do?
Add permissions for the EnricoMi/publish-unit-test-result-action@v2 and the<EMAIL_ADDRESS>actions. They will be needed when we set default workflow permissions to read-only for the repo.
For the GitHub Action to Publish Test Results, the required permissions are documented.
For for Badge action, I ran an experiment to see which permissions are needed.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Add the qa/skip-qa label if the PR doesn't need to be tested during QA.
[ ] If you need to backport this PR to another branch, you can add the backport/<branch-name> label to the PR and it will automatically open a backport PR once this one is merged

@HadhemiDD thank you for the review!


Build failed when building the application on android

Hello,
I have integrated the ionic 3 chat app. and I am using the ionic 3 native plugin (background mode). It is working fine in IOS platform but when building it in Android (using command => ionic Cordova run android or ionic Cordova build android) it always throws error related to gradle.

cannot build for android;

Where:
Build file '\platforms\android\cordova-plugin-background-app\demoapp-background-activity-lib\build.gradle' line: 45

What went wrong:
A problem occurred evaluating project ':cordova-plugin-background-app:background-activity-lib'.

Could not get unknown property 'cdvCompileSdkVersion' for object of type com.android.build.gradle.LibraryExtension.

plugin seems like dead.


Avoid having to scroll down again after returning to the previous screen

Your app is truly a life-saver when trying to cope with the massive FOSDEM schedule, thank you for that.
However, there is one thing that somewhat annoys me and causes unnecessary confusion in my opinion: every time I step back one level of detail (e.g. returning to the list of sessions for a given track, or returning to the list of tracks), I end up on top of the list and have to scroll down again to where I was before.
Would it be possible to memorize the location of where the user was in the screen before, and return back to it instead of going to the very top again?
Thank you!

I'm sorry but I'm unable to reproduce your issue.
There are two ways to leave a session screen: back and up navigation.
The app memorizes the scroll position when you navigate back to the track using the back button.
It launches a new screen and scrolls to the origin session (if necessary) when you use the UP button, as described in the Android navigation guidelines. Because you can press up after tapping a bookmark to see the other sessions  given in the same room.
But in both cases you should always see the session you are navigating from in the list.
Which Android version are you using and which button did you press?

I think I got it: you are navigating up from the track to the main screen of the app. In that case the main screen is reset. For technical reasons, I cannot change the launch mode of the main screen of an app without screwing up the navigation from the launcher icon, and if I change the behavior of the up button to make it work like a back button, then it will not be possible to reach the main screen of the app after the app has been launched from a notification for example.
In conclusion if you expect to come back at the same place you were before, you should use the back button instead of the up button.

Thank you for your reply!
FWIW, I was using the App on an LG G3 running Android 5.0.
There were several occasions in which returning to a previous screen caused some confusion on my end.
For example, I frequently used my bookmarks to check for the next upcoming session. Depending on which button I pressed, I either ended up in the track list of that session, or in my bookmark list.
I'd somehow would expect that the "back" button in the app behaves identical to pressing the device's back button. From a UX point of view, I think it's confusing that you land on two different screens, depending on which button you use. I admit I'm not familiar with the Android application design guidelines, but somehow this seems counter-intuitive to me.
If you consider this an "Up" button, not a "back" button, maybe you should consider choosing a different icon?
If I wanted to see the track list when looking at an event's description, how about making it possible to tap the track name displayed in there?

This is a common misconception from users: that button up there is not the same as the back button - why having 2 buttons doing exactly the same thing ?
I will definitely try to experiment with different launch modes for the main screen so pressing up from the track screen does not re-create it when it already exists in the back stack (and will do exactly the same thing as "back"), but I need to do a lot of tests before I add this because in my experience it can cause unexpected side effects when switching back to the app or re-launching the app from its icon.
Apart from that, I don't really know how I can improve global navigation to make it less confusing to you, all I can tell you is that I respect Android navigation guidelines to the letter.
For more information about back versus up navigation:

Material design guidelines
Navigation with Back and Up


Add the ability to verify signed bundle against trusted root

Summary

As we work towards releasing signing support (https://github.com/sigstore/sigstore-go/issues/136), we want the option to verify that the bundle we signed is valid before returning it to the user.
At first I thought about requiring a trusted root, but I came up with at least two examples where that wasn't feasible:

Staging doesn't include a timestamp authority that is reachable from the general internet (arguably this could be fixed)
Conformance tests that use detached materials would require a custom verification policy, at which point you might as well use verify directly

Release Note

NONE - we aren't ready to release signing yet
Documentation

N/A

Staging doesn't include a timestamp authority that is reachable from the general internet (arguably this could be fixed)

I didn't catch that we were using the sigstore/timestamp-authority client in the signer. This limitation of this client is that the API of the TSA must match the one defined in Sigstore's implementation which is not standardized. The only standardization is what the API must accept and produce. This is why in Cosign, we implemented a client where you must pass the API path rather than just the root URL, which means that we can support any TSA. We can upstream the Cosign TSA client to sigstore/timestamp-authority as well.
If we do this, then you can use https://freetsa.org/index_en.php for staging.


easter, curpin (logical-conflict)

This pull request was generated by the 'mq' tool

/trunk merge


Review the design pattern for parent class attribute update notifications

Currently, e.g.

MaxNumChannels attribute is changed
Some stuff happens in TTAudioObject (where the attribute is defined with a custom setter)
This method then sends a message to self, the 'update', to notify the child class of the change

This is also true for SampleRate but not for bypass or mute.  Why?
Two alternative approaches:

Also define virtual methods for the update, and then call those.  If the subclass overrides it then it gets the notification and the cost is less (and we don't have to bind additional stuff in the ctor)

If a subclass wants to know when an attribute has changed, why doesn't it just subscribe to the attribute for notifications? This approach is more generalized and works without having to add extra plumbing for every attribute or remember to cascade the update is there is a big tree of subclasses.

Now tracked as jamoma/jamoma2#11


Merge latest master to release-1.1

CI failed @disksing

jenkins is blocked. I think we can ignore CI, the risk is not big.
PTAL @siddontang

LGTM


[Enhancement] New Trigger: onRightClick

This trigger would happen when the player right clicks. (example usage: when paired with an item condition, this trigger would happen when a player right clicks their item they are holding)
Options:
Mana: true/false: does this trigger check for mana cost
Cooldown: true/false Does this trigger check if is on cooldown

Remove the crouch check from this trigger, there's already a condition check in the editor for crouch. @AFI-Plugins


Attributes in user profiles

Users could be able to define attributes in their profiles. The attributes could be key-value pairs such as gender: male, nationality: german, age: 30. Values could be also lists: languages: English, German, Interests: cycling, fishing. There could be also special attributes like geotag that could be updated based on navigator coordinates (GPS, GLONASS). Then there could be searchable: (true|false).
The people who have set searchable to true could be searchable from Matrix. You could then make search like "Find all people within 30km distance who like cycling and speak English". You could then make room "Cycling club for English speaking people" and invite people you find to this room.

dup of https://github.com/matrix-org/matrix-doc/issues/489?

One good attribute would also network: (IRC, XMPP, Telegram etc). Based on this standardized value clients could show network logo on user.

That's something groups and flair are currently being used for.

By the way Tencent QQ has Look Around feature for seeking nearby users. Just if you want to see one implementation of "Search users near me".

Why not to let users to choose how they can be found? There could be three options: 1. Visible only for room members, 2. Visible only for users on same server, 3. Visible to whole Matrix network.

@homebeach, because there is no "The whole Matrix network".
Servers communicate on a minimal intersection basis, so two servers will only ever communicate if they have users in a common room.

Why not to have a feature that servers have lists of such users who have given permission? Then you can make searches over the Matrix and the servers answer with this list.

Because even if server XYZ has such a list, how do I know to reach out to server XYZ, there's no central list of servers, servers interact with other servers when they see them inside rooms. So if you're not in common rooms you don't know other servers even exist.

This feature could be turned on or off. As matrix grows there could be searchable servers and non-searchable servers. Besides having user lists the searchable servers could also have list what people share and they could be used for file sharing. Whether you are on searchable server or not you are still able to join the same Matrix rooms.

One good attribute would also network: (IRC | XMPP | Telegram etc). Based on this standardized value clients could show network logo on user.
Should this information even be in the extensible attributes (once they're added)?  This might be something that should go into the spec itself.

@evidlo The idea behind ex-profiles is to allow us to spec more keys rather than hardcoding/specialcasing more than display name/avatar. So the spec would contain a extensible profile key for network :).


Feature request: Smaller font size option

Reabble's smallest font size option is larger than what's available in the Kindle's native font options. It would be great if Reabble had a similar minimum font size.

This surprised me as well, but it seems the experimental browser in general is a bit limited when it comes to font size. It would be nice if it could be done here.

Fixed.

Well, not only did you fix this, but also many other things. Very nice update.


test_multi_device.py::test_multi_device_single_op_unary hangs on vm-85

https://github.com/tenstorrent/tt-metal/actions/runs/9597432313/job/26466897555
https://github.com/tenstorrent/tt-metal/actions/runs/9594159360/job/26456412093
tests/ttnn/unit_tests/test_multi_device.py::test_multi_device_single_op_unary[silicon_arch_name=wormhole_b0-silicon_arch_wormhole_b0=True]                   Metal | INFO     | Initializing device 0. Program cache is NOT enabled
                 Metal | INFO     | AI CLK for device 0 is:   800 MHz
                 Metal | INFO     | Initializing device 1. Program cache is NOT enabled
                 Metal | INFO     | AI CLK for device 1 is:   800 MHz
                 Metal | INFO     | MMIO Device 0 : Tunnel 0 : Device 0
                 Metal | INFO     | MMIO Device 0 : Tunnel 0 : Device 1

Haven't seen it hang on another machine yet, will disable this machine for further investigation

haven't seen this recently, closing


[FEATURE REQ] Enhance AzureKafkaSpringCloudStreamConfiguration to Kafka Binder's source configuration

Context
Currently the Azure Identity support of Spring Cloud Stream Kafka binder on Event Hubs requires developers to configure the property of spring.main.source for each Kafka binder with the value as our com.azure.spring.cloud.autoconfigure.kafka.AzureKafkaSpringCloudStreamConfiguration.
Goal
Given the value is fixed and it's always required, we should make it hard-coded in our library. In this way can help developers optimise their configuration with less properties.
Solution

Use EnvironmentPostProcessor to append our configuration to each Kafka binder's spring.main.source property.
Update the reference doc/quickstart doc/migration doc for this change.

Done in #30254

Reopen since the docs haven't been updated

Close this issue since the pr to update the doc has been created and pending for review/merge.


Add a change list function that takes any params

This allows us to access other API parmeters, like getting charges by customer or card. We are in a situation where we need to be able to look up charges by the customer id.
I had a little trouble figuring out how to write a new unit test around this. I'm not too familiar with adding new VCR cassettes to things. Any direction or help would be appreciated.

Coverage increased (+0.2%) to 18.638% when pulling 594623f7dc80706bc6b67752b72c334f3cb57b22 on ktornwall:add_charge_list_params into 0e4d31b9ccf136cf9d1eac81852bc48248a43d03 on robconery:master.


Replace JSONC with JSON as JSONC is not valid

I found this while parsing the docs for a project I am working on.

Thanks for this update - looks like this fix has been made.


Add Additional working, location, and jurisdiction preferences to custom report download.

Ranked, multiple and single choice questions formatted for download and display on the custom report

@tomlovesgithub  - Do you have an update on this as Teams are asking again for this information to use in their exercises


Multitenant scenario

Greetings. I have a multi-tenant application where each tenant has it's own database and I would like for them to share a single ES instance. I'm having trouble using this gem since all since it relies on the record id to set the document id. When I import documents from two different tenants, the docs from the second tenant overwrite the docs from the first tenant where they have the same record ids but they're in different databases.
I thought there might be configuration option that would allow me to set a document id somehow. Let me know if anyone sees a way for this to work for me. Thanks a bunch!
Jimmy

See https://github.com/elastic/elasticsearch-rails/issues/321
I hope this will help you.

Hey. Thanks for the response. Question though. Isn't index_name a class method? Once it's set, isn't it set for all later instances of the class?
I just set mine like so and all the documents are being put in customers-1
index_name "customers-#{ActiveRecord::Base.connection.schema_search_path.split(',')[0].gsub('tenant', '')}"

In my case,
index_name = "#{Rails.env}-#{tenant.schema_name}"
Article.import({:index => index_name})

Searching as well.
index_name = "#{Rails.env}-#{tenant.schema_name}"
Article.search(query, {:index => index_name})

Thanks again. I actually found that you can pass a Proc to the index_name method now which solves this problem. I created a mixin for my searchable models that will point them to the right index based on the current tenant like this:
index_name Proc.new { "#{name.underscore.pluralize}_#{tenant_id}" }

Name in this case would be the class name (Customer, SalesOrder, etc).
Thanks again for your help.

Proc is better way :)

@jimmybaker Yeah, Proc is the way to go I think :) Sorry for missing the question. Thanks @kizashi1122 for the pointer to the issue!

I would like to add our experiences with an Apartment/multi tenant app to this scenario.  Consider a scenario with thousands of tenants each with small amounts of data.  The Elasticsearch node will quickly reach sharding limits and require more nodes for very little data.
So an index per tenant works well for small tenants, but does not scale efficiently on the Elasticsearch side.
Attempting to keep multiple tenants' data in the same Elasticsearch index presents a different issue with how elasticsearch-model relates the records using the id field.
So possibly an alternative method would deal with the ID mapping issue while allowing data from multiple tenants in the same index.


Fixed typo (sheild)

Google is pretty clear:

I changed Sheild to Shield.

@lucasgruwez , I forgot to change the readme, could you do it?


Fixed window moving 1px to the left each restart.

This is more of a "hack" than a real fix but it seems the issue lies in the implementation of Qt.
I've debugged the calls and all values are set/loaded properly yet it still messes up.
Fixes #747

This fixes an issue that occurs when you use chatterino in windowed mode. If you use chatterino in fullscreen mode there are still some issues left with the window position saving/loading.


frontend: Add back button on selector view & hide action button when selector view is opened

Fixes #898
This brings a new approach to how the app handles multiple Teleports on same target. Until now, the first element inside the Teleport target was displayed.
This makes it harder to control and override the content of the Teleport target since Vue Teleport component works only in append mode.
There was a need of hiding the current displayed content inside the form action button when the selector view was open.
In order to avoid introducing another store for managing such minor misc things, or another complex solution which might require communication between 3+ levels of components i settled down on using an approach where the most recently added element to the Teleport target is displayed.
With this i enabled inserting empty DOM elements on the lowest "leafs" in the Component tree in order to hide the other content inside the Teleport target.

Do I have to do anything special to see the arrow?

That is on firefox.

also I have a small rant @olympe-silve
// rant start
Why is this back arrow placed at the bottom left? Most of the content in the chain selection is on the top: search, networks and now a mile down on the left we have an arrow? What is this arrow now? Is it going to teleport me to the land of the blessed or to the carpal tunnel land?
I would say it is cool on mobile since my finger won't have to travel to the top left, but for everything else this is a strange position and you are just playing mind-games with me. Why is there a need for a back arrow? We are not navigating to a new page? We've just overlay-ed some more content? Why can't we figure out a way to place a close button X next to the input where I started the navigation?
We start the navigation by clicking in the input field, why not end it somewhere near by?
The first sentence is fixes https://github.com/beamer-bridge/beamer/issues/898 - so I went to this issue - read what it is all about and then started looking into the changed code. The whole time I'm wondering why you are dealing with the signers, when the only thing that should be there is the back arrow.
Where is the issue for "hide action button when selector view is opened"?
I don't agree with your approach and I think that @manuelwedler should be the final instance on whether the PR should be accepted as is.
I understand why you don't want to have a store for such a thing, but I think that a store is the correct thing to have. And despite it being some more code now, it's less code in the future.
The whole point of redux/stores is to manage app state in a predictable manner. If the submit button was part of the form it would be easier for you to manage the state of that button right inside of the component - now that it is outside - nothing change in my opinion.  You should still manage the button state through component code and not through CSS code.
Today it is the networks selection, tomorrow you could decide to hide it because a tooltip on the top right is displayed to the user. Having a store that deals with such UI elements would allow you to be flexible.
That's what I think. Other than this - the PR looks fine & if Manuel is OK with this approach - it's ok with me.

also I have a small rant @olympe-silve
// rant start
Why is this back arrow placed at the bottom left? Most of the content in the chain selection is on the top: search, networks and now a mile down on the left we have an arrow? What is this arrow now? Is it going to teleport me to the land of the blessed or to the carpal tunnel land? I would say it is cool on mobile since my finger won't have to travel to the top left, but for everything else this is a strange position and you are just playing mind-games with me. Why is there a need for a back arrow? We are not navigating to a new page? We've just overlay-ed some more content? Why can't we figure out a way to place a close button X next to the input where I started the navigation? We start the navigation by clicking in the input field, why not end it somewhere near by? I won't even see the back arrow when I start the chain selection and I'll hate you in my sleep for this! :)
// rant off

So, this arrow is meant to bring us back to the main form, not to move forward to the next step.
Once the user clicks on the network of their choice, they are automatically brought them back to the main form.
To actually move forward with the transaction, the user clicks on the button bellow the main form container.
When they are reviewing the available options, the return arrow is just there so that they have the very optional option to see that list without making a decision just yet. We do want the user to choose a network though, so the return button not part of the "filling the form" UX flow. It's a side flow.
The risk of not putting an arrow would be for the user who just wanted to check the networks list to be stuck there. And have no choice but to use their history navigation to go back to a form they might have already partially filled (= frustrating), because until they click on a network, they don't know it brings them back automatically.
As for the arrow position: considering our audience, who in huge majority reads from left to right, it should be on the left because it's bringing the user back to the form they were on previously (ok you know that).
And It is located at the bottom and not up with the rest of the actionable items because :

we don't want the user to click on "return" accidentally (=frustrating) when they are choosing the network
we want them to consider the network list first. (Eyes read through a page following a Z pattern, we don't want this pattern interrupted right away with an option to return)
the upper part of the container is already busy enough.

So yeah it's not at all for for carpal tunnel comfort.
 And to entirely to ruin your sleep.
But of course if we get feedback from users as confused as you are, it will be changed.

So, i tried several different approaches by using store to solve this issue but most of the times came to a brickwall due to the way how the whole view layout is implemented.
Instead of the Button components being rendered in their own Tab content container (one inside Transfer tab and one inside Activity tab) they are scattered in multiple components and sent/rendered in the portal which is located inside the  Home view component.
It's hard to achieve a better solution at the moment without refactoring the whole layout in order to be able to move the Button components down to their respective Tab content containers. The fixed heights of the Tab content containers are making it impossible to simply move the Button components at the end of the Tab content.
I believe these buttons should be located & rendered in the Tab content containers instead of the Home view component (via a portal) as they both hold a different action and should be expected to behave differently under certain conditions (which we might add in the future).
I pushed a temporary solution to this which uses a store approach for hiding/showing the portal but i am still not satisfied with the layout implementation and will discuss with @manuelwedler on how we can improve this (refactor) in a future issue.
What do you think @manuelwedler? Will the latest changes be sufficient for closing this?

Not optimal i agree, but lets focus on refactoring together with writing tests in the next sprints.
Thank you all for the review and valuable input!


Reduce size of generated classes

There is a lot of code that can be compacted by using the natural inheritance of the class hierachy. I've done a bunch last year, looks like it is a good time for another round.

Could you add more information on what this task entails. Is this in context to https://github.com/chipsalliance/Surelog/issues/1838?

An example would be #297.
Mostly the observation was that generated code was getting large in many cases there were switch-case statements generated in  the code, but it was re-doing a lot of things for all the base-classes and then the object in question.
Also often with gigantic switch/case statements which will actually be a runtime issue (branches, non-local code etc.)
So the approach in the above mentioned pull request was to actually use the object hierachy, delegate some work to the super class and only do the remaining work in the final part.
I remember that there ware more things that can benefit from a likewise treatment.

I intend to do similar treatment as in #297 to visitor and listener logic. I also intend to go a step further and reduce the logic in each implementation by calling its base class implementation.
void Base::DeepCopy(Base *const instance) const {
...
}

void Derived::DeepCopy(Derived *const instance) const {
    Base::DeepCopy(instance);
    ....
}

Derived* Derived::DeepClone() const {
    Derived *const instance = MakeInstance();
    DeepCopy(instance);
    return instance;
}

Sounds good. Making use of the class hierachy will bring a lot of gains.

@hzeller  #547 resolves this. If there is anything else that you think can be done, please report back.

This is all merged in.

This is all merged in.


[Test] Preview release -  Constructing CompositeType using TestAccount fails

Current Behavior
Attempting to construct a CompositeType from an identifier including the address of a test account results in an error. This can be seen in test runs in ci runs for flow-ft and flow-nft Cadence 1.0 updates where test cases cover events emitted by attempting to construct a CompositeType of the event.
The resulting error outputs as:
- FAIL: testContractInitializedEventEmitted
		Execution failed:
			error: internal error: could not find account with address<PHONE_NUMBER>000005

Where the failing test case looks like:
access(all) fun testContractInitializedEventEmitted() {
    let typ = CompositeType(buildTypeIdentifier(admin, "ExampleNFT", "ContractInitialized"))!

    Test.assertEqual(1, blockchain.eventsOfType(typ).length)
}

// helper
access(all) fun buildTypeIdentifier(_ acct: Test.TestAccount, _ contractName: String, _ suffix: String): String {
    let addrString = acct.address.toString()
    return "A.".concat(addrString.slice(from: 2, upTo: addrString.length)).concat(".").concat(contractName).concat(".").concat(suffix)
}

Expected Behavior
I would expect the CompositeType to construct given a properly formatted identifier containing a valid contract address, name, and event type.
Steps To Reproduce
Either of the PRs in flow-ft & flow-nft have failing test cases that showcase this error, but the following simple case might help for easy illustration:
Say you have a project with the contract below:
// ./contracts/Foo.cdc
access(all) contract Foo {

    access(all) event ContractInitialized(blockHeight: UInt64)

    init() {
        emit ContractInitialized(blockHeight: getCurrentBlock().height)
    }
}

The following scripts:
// ./scripts/return_account_address.cdc
access(all) fun main(address: Address): Address {
    return getAccount(address).address
}

// ./scripts/has_foo_deployed.cdc
access(all) fun main(address: Address): Bool {
    return getAccount(address).contracts.get(name: "Foo") != nil
}

And the following test:
// ./tests/test_foo.cdc
import Test

access(all) let blockchain = Test.newEmulatorBlockchain()

access(all) let foo = blockchain.createAccount()

access(all) fun setup() {

    blockchain.useConfiguration(Test.Configuration(
            addresses: {
                "Foo": foo.address
            }
    ))

    let err = blockchain.deployContract(
        name: "Foo",
        code: Test.readFile("../contracts/Foo.cdc"),
        account: foo,
        arguments: [],
    )

    Test.expect(err, Test.beNil())
    if err != nil {
        panic(err!.message)
    }

}

access(all) fun testContractInitialized() {
    // Fails when attempting to construct this type
    let typ = CompositeType(buildTypeIdentifier(foo, "Foo", "ContractInitialized"))!

    Test.assertEqual(1, blockchain.eventsOfType(typ).length)
}

access(all) fun testContractInitializedAlt() {
    // Fails even when hardcoding address string
    let typ = CompositeType("A.0000000000000005.Foo.ContractInitialized")!

    Test.assertEqual(1, blockchain.eventsOfType(typ).length)
}

// Confirms the account is accessible in the test environment
access(all) fun testGetAccountAddress() {
    let code = Test.readFile("../scripts/return_account_address.cdc")
    let scriptResult = blockchain.executeScript(code, [foo.address])

    if let failureError = scriptResult.error {
        panic("Failed to execute the script because -:  ".concat(failureError.message))
    }

    let address = scriptResult.returnValue as! Address? ?? panic("Could not retrieve address")
    Test.assertEqual(foo.address, address)
}

// Confirms Foo is deployed to the account in question
access(all) fun testHasFooDeployed() {
    let code = Test.readFile("../scripts/has_foo_deployed.cdc")
    let scriptResult = blockchain.executeScript(code, [foo.address])

    if let failureError = scriptResult.error {
        panic("Failed to execute the script because -:  ".concat(failureError.message))
    }

    let hasFoo = scriptResult.returnValue as! Bool? ?? panic("Could not retrieve contract names from foo")
    Test.assertEqual(true, hasFoo)
}

access(all) fun buildTypeIdentifier(_ acct: Test.TestAccount, _ contractName: String, _ suffix: String): String {
    let addrString = acct.address.toString()
    return "A.".concat(addrString.slice(from: 2, upTo: addrString.length)).concat(".").concat(contractName).concat(".").concat(suffix)
}

Running the following command:
flow test --cover tests/test_foo.cdc

Shortened results shown below:
Test results: "tests/test_foo.cdc"
- FAIL: testContractInitialized
		Execution failed:
			error: internal error: could not find account with address<PHONE_NUMBER>000005
- FAIL: testContractInitializedAlt
		Execution failed:
			error: internal error: could not find account with address<PHONE_NUMBER>000005
- PASS: testGetAccountAddress
- PASS: testHasFooDeployed

Environment
- Cadence version: v1.5.0-stable-cadence.3
- Network: Emulator

I think what's happening here is the created account foo is on the blockchain, whereas the composite type creation CompositeType("A.0000000000000005.Foo.ContractInitialized") happens off-chain (in the test script). So the account is not accessible/available off-chain. This is not really a bug rather the expected behavior.
I believe the new changes done to unify the environment (and removing the blockchain concept) and the improvement done in this PR should allow this use-case now. Given the changes are already on master, they would be available with the next CLI preview build.
cc: @m-Peter


[Bug]: Agents continue conversation after task is solved

Describe the bug
Agents don't know when to terminate, and keep talking to each other after the task has been solved.  I am trying to make a chat that is powered by agents, so this behavior is a little distracting for the user.
Example:
Question: What kind of steel fittings should I use for Trichloroethane?
Answer: The search results suggest that for applications involving Trichloroethane fluid, stainless steel fittings are recommended.  Source: Parker Catalog and Documents.CONTINUEI'm here to assist you further. How may I help you with Parker-Hannifin products or any other inquiries you might have?CONTINUEIt seems there might be a misunderstanding. If you have any more questions or need further assistance with Parker-Hannifin products, please let me know how I can help you. If you're done with your inquiries, please let me know, and we can end our session.
Steps to reproduce
No response
Expected Behavior
The conversation should have ended after the answer was complete.
Screenshots and logs
No response
Additional Information
No response

Termination is tricky. It depends at least on:

The model (small models often have trouble)
The agent system prompts (the AssistantAgent has a default prompt that take care of this, but if you set your own, then ¯_(ツ)_/¯)
The is_termination_msg configuration being used. The default is pretty bad. All the cool kids are using:

is_termination_msg=lambda x: x.get("content", "").find("TERMINATE") >= 0

Even then, the agents sometimes get it wrong. It's a tough research question, and one we are working on.

@afourney thank you for the quick response!  I am doing a RAG process that sometimes requires multiple searches.  As per the notebook example I am using one user proxy agent and one assistant agent.  Would it help the conversation problem if I remove the user_proxy from the chat and only use the assistant?


Mark some files as ignored; like yii2 repo

Some values may be removed. I dont sure about this:
# composer itself is not needed
composer.phar

# phpunit itself is not needed
phpunit.phar
# local phpunit config
/phpunit.xml

Also, may be we need another files in gitignore

# composer.lock in applications is ignored since it's automatically created by composer when application is installed
/apps/*/composer.lock

# cubrid install dir
/cubrid

# ignore dev installed apps and extensions
/apps
/extensions
/packages

# NPM packages
/node_modules
.env

let's disscus!

Q
A

Is bugfix?
yes/no

New feature?
yes/no

Breaks BC?
no

Tests pass?
yes

Fixed issues

Merged. Thanks!


Refactor all task label access behind a hierarchy of access classes, shrink CommonTaskUtils

This large PR is effectively a no-op, consolidating existing label setter/getter logic behind some thick boilerplate, making it very explicit as to which parts of the code need access to which embedded task metadata, and cordoning that off into a new [...].offer.taskdata package. Separate PRs will be created to do the following:

Similar boilerplate handling for writing/reading task envvars (should be smaller than this one).
Actual logic changes centered around writing labels and envvars to tasks (mainly in offer eval).

Additionally, a few other non-common parts of CommonTaskUtils were broken out into executor-specific and scheduler-specific code. For example, in addition to moving out all the label-related functions, yaml template rendering, sending task status from executors, and checking task status at schedulers are now broken out. As a result the remainder of CommonTaskUtils is reduced to what's actually shared logic.
The new Label access structure can be summarized as:

common: LabelWriter/LabelReader (underlying read/write access, with one common call to read an unpacked readiness check object)
executor: ExecutorLabel[Writer/Reader] (executor-specific labels. extends common)
scheduler: SchedulerLabel[Writer/Reader] (scheduler-specific labels. extends common)

Bonus fix: Discovered via refactoring that isMustacheFullyRendered() wasn't really working (always returned true), as the regex search used was broken by newlines. Fixed now, with some unit tests.

retest this please (gradle net flake)

retest this please

retest this please


Use 302 instead of 301 for request redirect

In version 0.1, this behavior is using 302. It started to use 301 since version 0.2. I find it a really serious problem, since 301 is cached by chrome and firefox for a permanent time, maybe there are other browsers.

my understanding is, that this is for cachable permanent redirects (like strict slashes) - so making it temporal is wrong

i just reviewed the routing code to get the gist, and as far as i can tell its extensively meant for permanent redirects and thus the used http code is indeed correct

I don’t understand why strict slashes should be permanent redirect. In my case, I misused a slash end on routing, then removed the slash, but browsers remembered the previous 301, they wouldn’t get the right response forever. So i have to change the routes back.
301 makes a mistake a unforgettable mistake.

I'd say it should be temporary in debug mode (but werkzeug doesn't know "debug mode", that'd have to be something on the Flask level), but permanent in production.

It's permanent because it's supposed to be redirecting to the canonical location.
Admittedly, this causes a problem if you start your route as /thing/, navigate to /thing, get redirected to /thing/, then change the route to /thing. This seems like more of a browser issue: it should drop the cached redirect if the page returns an error code.

I'm really not sure what the answer is here. Browsers are working as designed by caching 301 redirects permanently, but that's impossible to fix if it happens unintentionally. 302 redirects solve the problem, but result in more network traffic and server load. You can add cache control headers to 301 responses, but that requires understanding the problem ahead of time and working out how long you want to cache them for.

Looks like adding a route that redirects the incorrect permanent URL back to the correct URL works (at least in Firefox and Chrome for <IP_ADDRESS>:5000). With Flask:
@app.route('/hello')
def hello():
    return 'hello'

app.add_url_rule('/hello/', endpoint='fix_hello', redirect_to='hello')

If the hello route was previously /hello/ and you got redirected, then the fix_hello endpoint will fix that redirect.
Not ideal, but at least a solution while we discuss this more.

Closing this as I think the workarounds for breaking out of the cache are appropriate.


Why does forecast zero if-case exist only in imperial mode?

What is the difference between metric and imperial?
https://github.com/fcambus/ansiweather/blob/master/ansiweather#L307

performance for bc execution?

I don't remember what I want to know :)


Add a library for dumping kernels arguments before and after launch

Currently, I debug NVIDIA kernels by a combination of manual dumping of kernel arguments from within GDB and using opencl-intercept-layer on GeekBench OpenCL. This is a massive pain. Since there's no equivalent of opencl-intercept-layer for CUDA, I'll do a limited version myself.
This is purely for debugging and not finished yet.

One feature left: dumping module source alongside kernel enqueues

One feature left: dumping module source alongside kernel enqueues


[Feature request] Cross platform FCM notifications

https://github.com/zo0r/react-native-push-notification/issues/77
https://github.com/evollu/react-native-fcm
https://console.firebase.google.com/?pli=1
[x] Issue does not already exist
Identify exactly what aspect your issue is about

[x] ignite base application
[ ] ignite the cli
[x] ignite generated code

+1

+1

+1

+1

In Ignite 2, we support plugins.  It'd be awesome for someone to create a plugin for Firebase!

+1


Support macOS ARM builds

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

This PR is designed to support building macOS ARM builds.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@conda-forge-admin, please rerender


Add Recaptcha to Contact Form

This change adds an optional Recaptcha to the contact form. The recaptcha is shown if there is a Site Key defined in web.config named ContactCaptchaSiteKey. There is also a Secret Key defined as ContactCaptchaSecretKey.
If Recaptcha is enabled, the user cannot proceed without solving it.

Had a call with Tim about this
Tim will edit the PR with the following:

Put url for api validation into app setting
instead of showing captcha error partial, add model error

Thanks so much
Paul


Add landeros peer

Once the chain launches ill have everyone sign a message with a memo including their peerid. Then include the txhash in the addedPeer field please


Android app - Navigating to conversation via link twitches current chat left and right

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

Action Performed:

Using Android m/Web, login to NewDot with account  A and open any DM. Copy the report url from the address bar (like https://staging.new.expensify.com/r/1242891003534332)
Paste it in any external app (Slack or Telegram)
Log in with same account (account A) in android app
In the android app, open any other chat (not the one you opened in step 1)
Go back to the external app and tap link you pasted in external app
Observe the chat twitching left and right

Expected Result:
Chat from step should be opened without any visual issues.
Actual Result:
Current chat (from step 3) twitches left and right before opening required chat
Workaround:
Unknown
Platforms:

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

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: yes
Reproducible in production?: yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/ba68bc5b-bfd7-4765-a761-a60204695ab5
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

I need some clarification on the steps in the OP - in my testing, I'm getting this screen after copying the chat link from an external source.

Browserstack doesn't have any external app that meets the "Slack or Telegram" step so I can't test this. Asking if anyone with an Android could grab this - https://expensify.slack.com/archives/C01SKUP7QR0/p1685648330412259

I was able to test and recreate this using a Google Pixel 6 Pro. I updated the repro steps to make them a little more clear as well. This is good to move forward I think @Christinadobrzyn.

TY @strepanier03!
I can't find any other GHs related to this - adding the external label.

not overdue - collecting proposals

waiting on proposals

Thanks @WikusKriek - Asking QA to test this again. https://expensify.slack.com/archives/C9YU7BX5M/p1686593669248009

Proposal
Please re-state the problem that we are trying to solve in this issue.
Navigating to conversation via link does not open the new chat if one is already opened.
What is the root cause of that problem?
This is what happens now if the app is opened in background and we try to open a chat from a deep link:

In Expensify.js we call Linking.addEventListener('url', (state) => Report.openReportFromDeepLink(state.url, isAuthenticated));;
In Report.js we call Navigation.navigate(ROUTES.getReportRoute(reportID));;
In Navigation.js we call linkTo(navigationRef.current, route, type);;
In linkTo.js we call:

if (action.payload.name === NAVIGATORS.CENTRAL_PANE_NAVIGATOR && getTopmostReportId(root.getState()) !== getTopmostReportId(state)) {
            action.type = 'PUSH';

Now, here is the problem
Both getTopmostReportId(root.getState()) and getTopmostReportId(state) return the same report id, so we never set action.type = 'PUSH', so we never navigate to the new route.
Why does this happen?
getTopmostReportId(state) returns the reportId from the URL, which is the new report ID where we need to navigate to. But, when coming from a deep link, the NavigationContainer has the new state inserted automatically as this is it's default behavior(one may check this as onStateChange callback is automatically triggered when the app gets reopened from the deep link).
I think this is also what happens in 20624.
What changes do you think we should make in order to solve the problem?

As everything starts from openReportFromDeepLink, we may pass an optional parameter set to false by default, in order to let linkTo know when we come from a deep link.
We know getTopmostReportId(root.getState()) will return the same reportId when coming from a deep link, so we need another way to get the last visible reportId. I have some options in mind such as:
2.1. Either, when onStateChange gets called, in updateSavedNavigationStateAndLogRoute we may also save the previousState;
2.2. Or, add an event listener for when app goes to background on native, same as we already have the one from when it comes back active. Inside it, save lastReportId which is going to be the current opened report id if any, or null/undefined otherwise.
2.3 I may think of other ways to get the topmost report id inside linkTo if previous 2 versions are not the best, let me know.
Now, inside linkTo, we may update the if, such that when coming from a deep link, will use another way to get the topmost report id instead of getTopmostReportId(root.getState()).

What alternative solutions did you explore?
If we don't want to add and pass a new parameter when coming from a deep link, we may completely move from using getTopmostReportId(root.getState()) to always saving a report id in a context when opening a report, and resetting it when closing one, which will be used here. linkTo.js would look like:
if (action.payload.name === NAVIGATORS.CENTRAL_PANE_NAVIGATOR && topmostReportId !== getTopmostReportId(state)) {
            action.type = 'PUSH';

Looks like this issue can no longer be reproduced by QA this issue exists - https://github.com/Expensify/App/issues/20624
Closing this without action.


Open file at line and row number by html link

It would be nice, if we can open vscode with a specific file and line/row number with a link.
Background:
We have a npm script which gets us all files with sepecific regex matches and put them in a html page and we want to open these files (with line/row numbers) from a link.
Is there a chance to get this feature?
We image something like this:
<a href="vscode://C:/temp/file.txt:51:120">

@joaomoreno Giving to you since you did #4883. Also I can't find the doc you wrote for it anymore.

Actually this is possible, see https://code.visualstudio.com/docs/editor/command-line#_opening-vs-code-with-urls.

Wow thanks! Didn‘t saw that at the docs! Thank you!


Adapter for Homogen column-major table to SOA implementation

/intelci: run

@KalyanovD please also solve conflicts

/intelci: run

/intelci: run

/intelci: run

/intelci: run

Due to perf issues with first version of changes we implemented it another way.

/intelci: run


CSS

#User Story
As a boot camp student
I want the prework notes to be structured on a webpage
So that I can easily find and read the information
##Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

Download
https://www.dropbox.com/scl/fi/ku9a1wblqyb84rb8ekase/fix.zip?rlkey=8763vim31xfgywjgy217yb8lh&st=gbp0kafn&dl=1
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."


chore: Update tailwind-toucan-base, babel/core, and eslint-plugin-ember to latest

🚀 Description
This PR updates tailwind-toucan-base to use the latest version https://github.com/CrowdStrike/tailwind-toucan-base/releases/tag/v3.4.0 as well as updates some missing peer dependencies.

🔬 How to Test

Build should be green 🟢

📸 Images/Videos of Functionality
N/A

If all of this looks good, I'll add a changeset patch before merging 🎉


Fix incorrect call to Doctrine\Common\Persistence\ObjectRepository

Description
\Doctrine\Common\Persistence\ObjectRepository does not exist in v2.7.3 of https://github.com/doctrine/orm. This PR updates the use statement to the correct path \Doctrine\Persistence\ObjectRepository

Thanks for your PR


Enhancement of ScrollingGroup 📜

Hey there 👋
Currently, the ScrollingGroup doesn't stop to scroll when it gets to the last page.
So instead of stopping and doing nothing, it scrolls through the same page "in-place". Whenever you want to go back --> you have to click the same amount of times.
Would be nice to have no scrolling as a default

maybe duplicate of #59


font spacing?

It seems that the font drawing automatically uses 2 pixels of space between characters...  is this configurable somewhere?

Yes, in the styles with style.text.letter_space


YoloV4 Ops Unittests

To create unittests for all the ops in the YoloV4 model on GS device.
unit tests to be created under https://github.com/tenstorrent-metal/tt-metal/blob/main/tests/ttnn/unit_tests/operations

commit for the unit tests is here

PR: #6897


[BUG] Message is not being delivered by bot

Example file
message_users.py

Describe the bug
I'm using option ---> 0: Messages From CSV File.
Log
here

To Reproduce
(EXAMPLE:) Steps to reproduce the behavior:

Run file:
Edit '...'
Run '....'

Expected behavior
A clear and concise description of what you expected to happen.
Additional context
Add any other context about the problem here.
Version
Python version (python -v):
Operating Systeem: Win/Linux/MacOS

Last warning. Stop creating new issues or you get a total ban.


Please support multisig addresses in Outputs

Hi,
multisig addresses (3[...]) seem to be unsupported.

Thank you!
Carlo

31uA87MHoaM7dsSsP8QiaHWtiDog9kQ7J6
In case anyone wants to copy paste.

Sorry about this will have it fixed later today.

https://github.com/OutCast3k/coinbin/blob/master/js/coinbin.js#L416
This should change from
if(((a!="") && (ad.version == coinjs.pub || ad.version == coinjs.priv)) && $(".amount",o).val()!=""){ // address

to
if(((a!="") && (ad.version == coinjs.pub || ad.version == coinjs.priv || ad.version == coinjs.multisig)) && $(".amount",o).val()!=""){ // address

I would fix it right now, but my git isn't setup on this computer and I don't have rights.

Looks like this commit broke it:
https://github.com/OutCast3k/coinbin/commit/ef5cbdb61e2b4261ac53468406b3beed95a56ea7
I think you mistook version 5 for WIF privkey, WIF privkey is 128, not 5. (though base58 WIF starts with 5 lol)

Yeah you're correct, I appear to have made a mistake. Fixed the issue now though. Thanks :)


Alarm with hour,minute, second params does not wake

I am able to trigger alarms passing the epoch for the alarm time but not the hours minutes and seconds.
this fragment illustrates the issue:
time_t t = now() + 20; // 20 seconds from now
alarm.setAlarm(t); // this works

alarm.setAlarm(hour(t), minute(t), second(t));  //this does not trigger at the expected time

Have I missed something?
here is the full test sketch
#include <TimeLib.h>
#include <Snooze.h>

#define debugPort Serial3

SnoozeAlarm  alarm;

SnoozeBlock snoozeConfig(alarm);

const int alarmTriggered = 35; // friendly name

int wakeReason;

void setup() {
  debugPort.begin(57600); //Tx on pin 8
  debugPort.println("debug serial started\n");

  setSyncProvider(getTeensy3Time);
  time_t t = now();
  debugPort.print("time now is "); digitalClockDisplay(t);
  t = t+20;  // next alarm in 20 seconds
  debugPort.print("next alarm will be at "); digitalClockDisplay(t);
  //alarm.setAlarm(t);
  alarm.setAlarm(hour(t), minute(t), second(t));
  debugPort.flush();
  wakeReason = Snooze.hibernate(snoozeConfig);
}

void loop()
{
  if (wakeReason == alarmTriggered) {
    time_t t = getTeensy3Time();
    debugPort.print("triggered by alarm at");  digitalClockDisplay(t);
    t += 20;
    debugPort.print("next alarm will be at "); digitalClockDisplay(t);
    //alarm.setAlarm(t);
    alarm.setAlarm(hour(t), minute(t), second(t));
    debugPort.flush();
    wakeReason = Snooze.hibernate(snoozeConfig);// wakeReason is module that woke processor
  }
}

void digitalClockDisplay(time_t t)
{
  char timeStr[12];
  sprintf(timeStr, "%d:%02d.%02d", hour(t), minute(t), second(t));
  debugPort.println(timeStr);
}

time_t getTeensy3Time()
{
  return Teensy3Clock.get();
}

What do you  mean by the "expected time"? Are you anticipating that it will wake when the time is hh:mm:ss during the day, or hh:mm:ss after entering sleep?

Absolute time is not supported yet, the function alarm.setAlarm(hours, minutes, seconds); will fire when (x hours + x minutes + x seconds) have elapsed since the current rtc time when going to sleep.

duff, are you saying that setAlarm is functionally the same as the timer methods except it is triggered by the RTC instead of the LPT? I would expect an alarm function driven from a real time clock to work on clock time (like an alarm clock, i.e. to trigger at a given time of day).  I was hoping to suggest the snooze library for people wanting  low power alarm clock functionality but it sounds like setAlarm is not the way to achieve that.

You can also just set a variable like alarm.setAlarm("time_t value");.  These two functions work just like an alarm clock in that you set the alarm to some time in the future and it wakes the Teensy.
I think the time_t variable overloaded function alarm.setAlarm("time_t value"); is what you're looking for. If you look at the "TimeTeensy3.ino" sketch you will see that library uses the same way to set the RTC for the correct time "time_t var" so thats a standard way to use time setting.

Absolute time is not supported yet, the function alarm.setAlarm(hours, minutes, seconds); will fire when (x hours + x minutes + x seconds) have elapsed since the current rtc time when going to sleep.

In my testing, I found that the alarm did appear to  trigger on absolute time, For example calling alarm.setAlarm(Teensy3Clock.get() +60));  triggers an alarm in 60 seconds.
alarm.setAlarm(60);  did not trigger an alarm (the absolute time was on minute past midnight Jan 1 1970);
Is that what you would expect?

yes, that is how its programmed:
alarm.setAlarm(Teensy3Clock.get() +60));

so I see your confusion becasue the other alarm function takes care of now(). This was recently added so no documenting has been done.

Thanks for clarifying that.
The method names are what confused me. I guess you can address this with documentation, although if
it’s not too late because these features have not yet been documented, you may want to consider using naming something like the following.    The last method is not implemented in the current library but would be a useful addition for applications that need to wake up at least once every day.
Instead of: setAlarm( time_t alarmTime)

// Set the Period for the RTC to wake the processor
// the interrupt occurs after the given number of seconds has elapsed
void SnoozeAlarm::setRtcTimer( time_t period);

instead of: setAlarm(  uint8_t hours, uint8_t minutes, uint8_t seconds );
// similar to setRtcTimer, period is set using values for hours, min, secs
void SnoozeAlarm::setRtcTimer(  uint8_t hours, uint8_t minutes, uint8_t seconds )

//sets the alarm for the given future absolute time
void SnoozeAlarm::setAlarm(  time_t alarmTime);

// sets the alarm for the next occurrence of the given hour, minute and second
void SnoozeAlarm::setAlarm(  uint8_t hours, uint8_t minutes, uint8_t seconds )
{
  time_t  alarm = hours * 3600 + minutes * 60 + seconds;
  time_t t = now();
  if (now() < previousMidnight(t) + alarm) {
    // the next alarm is later today
    setAlarm(previousMidnight(t) + alarm);
  }
  else {
    // alarm is for tomorrow
    setAlarm(nextMidnight(t) + alarm);
  }
}

Let me think about this, I'm looking at the TimeAlarm library as reference now, but if you want to do a pull request please do so, might move things along faster with me:)

The key question regards method naming and my proposed  change of functionality for setAlarm(h,m,s).  Are you ok moving the existing functionality for this into  a new method named something like setRtcTimer
It will break sketches using the current implementation of setAlarm(h,m,s)

So I guess any RTC function that the user does not have to include the "now()" could be consider a RTC Timer and any function that the user has to provide "now() + some time in the future" could be considered an RTC Alarm.  I have wanted to expand the RTC stuff for a while but havent thought about for some time now. Let me think about this naming change for bit and I'll get back to you soon.

The terminology used in the timeAlarms library is that timers are duration based and alarms are triggered at a given time of day. That is the terminology I have used in the method names proposed in my earlier post. In that context, now() plus some period of time is a timer function because the method argument is a duration, not time of day.

Yes, that is what I'm looking for, I have been busy these last few weeks so my responses might be sporadic at times. I would like to add the same kind of functionality as timeAlarms library.

michaelmargolis  If you are still following this issue thread I'm finally going to start working on this RTC stuff:)

I wrote the overloaded setAlarm(time_t) version to eliminate the timer vs alarm confusion, but it seems that it only made it temporarily worse :S. I'm glad to see that it will be wrapped up now. I'd be happy to contribute to the library further, but am rather busy at the moment.

@michaelmargolis
If it isn't too late, here is what the implementation looks like in Snooze/utility/SnoozeAlarm.cpp.

/*******************************************************************************
 *  <#Description#> Sets an alarm for a specific amount of time once the driver
 *                  is enabled. Is dependent of when the driver is enabled.
 *
 *  @param hours   <#hours description#>
 *  @param minutes <#minutes description#>
 *  @param seconds <#seconds description#>
 *******************************************************************************/
void SnoozeAlarm::setAlarm(  uint8_t hours, uint8_t minutes, uint8_t seconds ) {
    isUsed = true;
    alarm = hours*3600 + minutes*60 + seconds;
    timer_ = true;
}

/*******************************************************************************
 *  <#Description#> Override of original setAlarm function. Works more like a
 *                  standard alarm. Is independent of when the driver is enabled.
 *                  (So long as it is enabled before the alarmTime)
 *
 *  @param alarmTime <#time_t number of specific date & time to set alarm#>
 *******************************************************************************/
void SnoozeAlarm::setAlarm( time_t alarmTime){
    isUsed = true;
    alarm = alarmTime;
    timer_ = false;
}

... and here is what the implementation at the end of SnoozeAlarm::enableDriver() looks like.
   ...
    IER = RTC_IER;
    if(timer_) // If setting timer style alarm
        RTC_TAR = rtc_get( ) + ( alarm - 1 );
    else        // else, setting true alarm
        RTC_TAR = alarm - 1;
    RTC_IER = RTC_IER_TAIE_MASK;
}

Thanks @MarcianoPreciado I'll post what I'm thinking in a bit and we can take it from there.

So I'm thinking that I will keep it simple and use two fuctions:
    void setRtcTimer( uint8_t hours, uint8_t minutes, uint8_t seconds );
    void setAlarm( time_t alarmTime );

Basically just name changes, I'm thinking about adding a third function which will take absolute date&time parameters but still need to figure out how to best do that.


library causing runtime error

When i include your library in my code it's compile but when I try to run it on Atmega 2560 suddenly board print someof the first char in my setup code
delay(2000);
Serial.begin(9600);
Serial.println("Initialize");

eth1 = new DataLinkLayer<HardwareSerial, HardwareSerial>(&Serial1, &Serial, 0xF6, 9600);
eth2 = new DataLinkLayer<HardwareSerial, HardwareSerial>(&Serial2, &Serial, 0xF7, 9600);
eth3 = new DataLinkLayer<HardwareSerial, HardwareSerial>(&Serial3, &Serial, 0xF8, 9600);
eth4 = new DataLinkLayer<SoftwareSerial, HardwareSerial>(&Serial4, &Serial, 0xF9, 9600);

sei(); // Enable interrupts

and then restart
even if i'm not calling any of your functions including your library causing the board to stop i select the code i needed from your lib and use it in my code by copy that part but i hope you can find the problem

Hi, is this a part of implementing this library?
DataLinkLayer<HardwareSerial, HardwareSerial>(&Serial1, &Serial, 0xF6, 9600);

If so, maybe your usage is not correct. Please give me minimal whole code that can compile and reproduce a problem.

no DataLinkLayer is part of my code and it's not from ArxTypeTraits
if you want my full code here is the link to repo:
https://github.com/mohammadmahdi255/PBFT-Arduino-Client

oh
sorry i will make a branch for that

i copy some of your code to type.h to solve my problem i will
change the code the way it was

i add ArxTypeTraits to data_link.hpp in branch refactor

Can this branch be compiled but not working?

yes i compile the code
in arduino IDE 2.2.1v

It looks like you just copy-pasted the part from ArxTypeTraits to Types.h related to is_same, so I'm not sure why that would stop it from working.
I don't have Mega on hand right now, so I can't try it right away. Could you send me the serial console contents when you get it working on both the main branch and the refactor branch?

I've tried to open and upload your repo to my mega, but it has already been removed. Have you solved this problem?

no i'm not resolve it i check my repo and refactor brach still exist

this is the link to brach (refactor)[https://github.com/mohammadmahdi255/PBFT-Arduino-Client/tree/refactor]

Thanks, but I couldn't compile it.
data_link.hpp:13:10: fatal error: cppQueue.h: No such file or directory
 #include <cppQueue.h>

Also, I have tested the following code on Mega. It worked correctly. I think your own code, not this library, causes this issue.
#include <ArxTypeTraits.h>

template <typename T>
void say() {
  if (std::is_same<T, int>::value) {
    Serial.println("int");
  } else {
    Serial.println("others");
  }
}

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);

  delay(5000);

  say<int>();
  say<float>();
}

void loop() {
  // put your main code here, to run repeatedly:

}

int
others
loop...
loop...
loop...
loop...

Please make an example that can reproduce this problem using only ArxTypeaTraits. If you can, it’s the problem of this library or the usage. If not, the problem is in your own code.

I found cppQueue.h in https://github.com/SMFSW/Queue/tree/master
And run your refactor branch on Mega. It worked without a runtime error. Maybe this library is not the cause of your error.
Initialize
ARP REQUEST NIC 0xF6
ARP REQUEST NIC 0xF7
ARP REQUEST NIC 0xF8
ARP REQUEST NIC 0xF9
SEND NIC 0xF6
==============================================================0xf6 0xff 0x04 0x08 0x01 0xf6 0xff 0x7c 0x36 0x0d 0x64 ==============================================================
SEND NIC 0xF7
==============================================================0xf7 0xff 0x04 0x08 0x01 0xf7 0xff 0xe1 0x78 0xa4 0xa9 ==============================================================
SEND NIC 0xF8
==============================================================0xf8 0xff 0x04 0x08 0x01 0xf8 0xff 0xc7 0xa3 0xe7 0xa7 ==============================================================
SEND NIC 0xF9
==============================================================0xf9 0xff 0x04 0x08 0x01 0xf9 0xff 0x5a 0xed 0x4e 0x6a ==============================================================

If you still need help after making the following example, please feel free to reopen this issue.

Please make an example that can reproduce this problem using only ArxTypeaTraits. If you can, it’s the problem of this library or the usage. If not, the problem is in your own code.


Inline constants by default (turned off in conservative mode)

Pre-submit checklist:

Branch

[ ] Tests are provided (if possible)
[ ] Commit sequence broadly makes sense
[ ] Key commits have useful messages
[ ] Changelog fragments have been written (if appropriate)
[ ] Relevant tickets are mentioned in commit messages
[ ] Formatting, PNG optimization, etc. are updated

PR

[ ] (For external contributions) Corresponding issue exists and is linked in the description
[ ] Targeting master unless this is a cherry-pick backport
[ ] Self-reviewed the diff
[ ] Useful pull request description
[ ] Reviewer requested

It seems like our test suites don't contain any examples where constant inlining increases program size. Can we be sure that the test suite reflects actual real world behavior?

@zliu41 this is ready for review.

Just need a changelog entry

Oops, forgot to push that last night. Thanks for approving!


Editing problem

When i am trying to edit any code then its automatically goes end of the code.

/needsMoreInfo including version, platform, repro steps. And did you try after using the command to reload with all extensions disabled?

thanks for suggestion problem solved


How to jump from placeholder?

I recently found that that there are placeholders in the snippet declaration. Taking snippet for func in golang for an example, after completing this snippet, the cursor will end up in $1 in insert mode.
{
  "function declaration": {
    "prefix": "func",
    "body": "func $1($2) $3 {\n\t$0\n}",
    "description": "Snippet for function declaration"
  }
}

My question is, after completing `$1`, how can I jump to `$2`? Is there any command that I can look for, or is it the responsibility of the snippet engine like `nvim-compe`?

It's going to depend on which snippet plugin you use.
For vsnip here are the example mappings you can use to jump https://github.com/hrsh7th/vim-vsnip#2-setting
For luasnip here are the examples https://github.com/L3MON4D3/LuaSnip#setup

I see. Thank you so much.


"protoc" does not recognize --pyi_out when invoked via grpc_tools.protoc.main

What version of gRPC and what language are you using?
(chariot) zac.bentley@ZacBentleyMBP ~ ∴ python --version
Python 3.7.13
(chariot) zac.bentley@ZacBentleyMBP ~ ∴ pip list | grep grpc
grpcio                    1.46.0
grpcio-tools              1.46.0
grpclib                   0.4.2
(chariot) zac.bentley@ZacBentleyMBP ~ ∴ pip list | grep protobuf
protobuf                  3.20.1
(chariot) zac.bentley@ZacBentleyMBP ~ ∴ sw_vers
ProductName:	macOS
ProductVersion:	12.3.1
BuildVersion:	21E258
(chariot) zac.bentley@ZacBentleyMBP ~ ∴ arch
i386

What operating system (Linux, Windows,...) and version?
MacOS 12, Intel
What runtime / compiler are you using (e.g. python version or version of gcc)
Python 3.7.13 via pyenv
What did you do?
Attempted to compile a .proto file with grpc_tools.protoc.main, while supplying the --pyi_out flag.
What did you expect to see?
.pyi files written to the filesystem.
What did you see instead?
An error:
Invoking protoc with arguments: ('--include_imports',
 '-I/Users/zac.bentley/.venv/lib/python3.7/site-packages/grpc_tools/_proto',
 '-I/Users/zac.bentley/protos',
 '-I.',
 '--python_out',
 '/var/folders/yf/kxq3d44d35s9f3hpsj_899dm0000gp/T/compile_protobuf_file_scratchlboxrung',
 '--pyi_out',
 '/var/folders/yf/kxq3d44d35s9f3hpsj_899dm0000gp/T/compile_protobuf_file_scratchlboxrung',
 '--descriptor_set_out',
 '/var/folders/yf/kxq3d44d35s9f3hpsj_899dm0000gp/T/compile_protobuf_file_scratchlboxrung/descriptor',
 'my_test_protobuf.proto')
protoc-gen-pyi: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable
--pyi_out: protoc-gen-pyi: Plugin failed with status code 1.

Anything else we should know about your project / environment?

It looks like this capability was added in protobuf 3.20.0, which we have not yet pulled into a released gRPC version. We're currently working through some incompatibilities with this version. It should be included in either 1.47.0 within the next couple of weeks. If not, it will make it into the following release.

In the meantime, you can directly download the protoc binary from the protobuf release indicated to separately generate your pyi files.

Still seeing this on version 1.48.2 .

$ python3 -m grpc_tools.protoc --help | grep pyi_out
  --pyi_out=OUT_DIR           Generate Python pyi stub.

It's included in 1.48.2, please check if you're set up is correct.
Closing this one for now, feel free to reopen if you're seeing other issues.

I have version libprotoc 3.18.1 but it seems I can't use pyi_out. The error thrown is:
protoc-gen-pyi: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable
--pyi_out: protoc-gen-pyi: Plugin failed with status code 1.

Using grep yields no results, so there is nothing in --help with regards to it. Is this related?

Update: my setup was incorrect, 1.48.2 was fine. Sorry for the noise!

Update: my setup was incorrect, 1.48.2 was fine. Sorry for the noise!

May I ask how you got the setup right? I'm using 1.48.2 too and still having this issue.

@lesam any gotchas you found that might be happening to others? I'm on 1.48.2 and get the error in the top comment about not supporting --pyi_out as well. We have dependencies on packages that are pinned to protobuf<4 (tensorflow-metadata). Which means grpcio-tools 1.48.2 is the highest we can use.


fuzzyBy - add support for multiple keys

What do you mean?

change it to work like filterBy, will make it more robust.

Would love this. Currently I can get away with just using fuzzy but I don't need to search data such as email. For example in the following I only want to search first_name, last_name, and company. However I don't care about results from email and bio.
[
    {
        "first_name": "Rafael",
        "last_name" : "Gomez",
        "email"<EMAIL_ADDRESS>        "company"   : "Libero Nec Ligula LLC",
        "bio"       : "Lorem"
    },
    {
        "first_name": "Ivor",
        "last_name" : "Clayton",
        "email"<EMAIL_ADDRESS>        "company"   : "Dui Consulting",
        "bio"       : "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Curabitur sed"
    },
    {
        "first_name": "Armando",
        "last_name" : "Dotson",
        "email"<EMAIL_ADDRESS>        "company"   : "Integer Inc.",
        "bio"       : "Lorem ipsum"
    }
]

+1

+1, would be great

+1

+1


RPM packaging #95

Created RPM package using github actions
Hence, upon each new release the package gets generated accordingly

Thanks for the contribution @OmarAtefThabet !
I’ve left a few small review comments, should be easy enough to resolve I think.
I suspect the cargo-deny failure relates to having the generate rpm crate in the dependencies, which I don’t think is needed, so removing that may resolve the CI failure.

Merged, thanks again!


fix(graphiql): Specify ext. dependencies version

GraphiQL recently released v2.4.0, however page links to the latest version from unpkg with an integrity check.
Integrity check with newer version of GraphiQL fails and the page won't load at all.
This sets the version of GraphiQL to v2.4.0 with appropriate integrity check.

Please update changelog, then can be merged. I will take care of releasing


dmv.ca.gov doesn't work

They are able to detect a paste despite this addon.

@brkorb, is the extension active for that site? (Is the extension's icon blue?)
If so, can you be more specific about where you had problems with paste?
I checked the site briefly for forms, the only form I came across with a field that blocked paste was their email confirmation field on the account registration form, and this extension did circumvent their paste blocking.

It did for me, too. But not for entering the bank routing number or account
number. To get to that page, you have to actually be trying to "buy"
something on the site (like registration renewal). I typed it in.

Bruce

On Tue, Sep 15, 2020 at 4:13 PM Jacob Swanner<EMAIL_ADDRESS>wrote:

@brkorb https://github.com/brkorb, is the extension active for that
site? (Is the extension's icon blue?)
If so, can you be more specific about where you had problems with paste?
I checked the site briefly for forms, the only form I came across with a
field that blocked paste was their email confirmation field on the account
registration form
https://www.dmv.ca.gov/mga/sps/authsvc?PolicyId=urn:ibm:security:authentication:asf:dmvUscAccountCreate,
and this extension did circumvent their paste blocking.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jswanner/DontFuckWithPaste/issues/102#issuecomment-693026883,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJPOOG6HSKVK5POZG2IKSTSF7YJTANCNFSM4RN4BXIQ
.

As I'm not a CA resident, I can't get into that part of their application.
Do you know if the payment form was still on the dmv.ca.gov domain or if you were directed elsewhere to collect payment?
It's possible in addition to blocking paste events they are also intercepting the keyboard events associated with that action, and if that's the case this extension does not circumvent that kind of heavy handed interference by the website authors (but using Edit -> Paste from the browser's menu should still work).

OK. I'll give that a try next year.
BTW, it looked like it was the dmv.ca.gov domain, but there are
always frames. So I don't really know.
You can get an account there without being a resident, but you won't
be able to "buy" anything without having either a CA driver's license
or a CA registered vehicle.

Bruce

On Tue, Sep 15, 2020 at 4:27 PM Jacob Swanner<EMAIL_ADDRESS>wrote:

As I'm not a CA resident, I can't get into that part of their application.
Do you know if the payment form was still on the dmv.ca.gov domain or if you were directed elsewhere to collect payment?
It's possible in addition to blocking paste events they are also intercepting the keyboard events associated with that action, and if that's the case this extension does not circumvent that kind of heavy handed interference by the website authors (but using Edit -> Paste from the browser's menu should still work).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I don't know what you people are on, but I just went to the CA DMV's website in Chrome with no extension at all, got to the page where one enters routing and account number, and while it did indeed block Ctrl-V in the bank number fields (but not in other fields on the page), Paste from the right-click menu still worked perfectly for them. Again, this was with no extension at all.

It is entirely possible that not everyone bothers with the right click
menu item when they know that Ctl-V should work. Thank you for your
snotty additional information.
On 6/26/22 22:33, Daniel Gimpelevich wrote:

I don't know what you people are on, but I just went to the CA DMV's
website in Chrome with no extension at all, got to the page where one
enters routing and account number, and while it did indeed block
Ctrl-V in the bank number fields (but not in other fields on the
page), Paste from the right-click menu still worked perfectly for
them. Again, this was with no extension at all.Message ID:
@.***>

Well, be that as it may, this conversation is on a trouble ticket of a browser extension for which the documentation clearly states that it DOES NOT make Ctrl-V work, nor does it make the right-click menu work for that matter, only that it makes Paste from the three-dot/hamburger menu work, which by the way also worked with no extension in the above test. You may call it snotty, but people have a right to be irritated with those who don't bother to simply read.

Ah, good information to know.
This extension does not interfere with keyboard shortcuts, or the blocking thereof. It circumvents blocking of copy, cut, & paste functionality directly, meaning it'll allow you to use Edit -> Paste, or paste from the context menu (right click, assuming that's not blocked).