Use class method for url rules

I am trying to add class methods to handle different endpoints. The instance of the class itself is created by injector and will add the routes to the flask app.
Because FlaskInjector needs to be run after adding all endpoints, I also bind the Flask app during the initialization step of the app.
from flask import Flask
from flask_injector import request, FlaskInjector
from injector import inject, Module, singleton, Injector

class HelloWorldServiceModule(Module):
    def configure(self, binder):
        binder.bind(HelloWorldService, scope=request)

class HelloWorldService:
    def hello_world(self, str):
        return "Hello " + str

class HelloWorldEndpointModule(Module):
    def configure(self, binder):
        binder.install(HelloWorldServiceModule)
        binder.bind(HelloWorldEndpoint, scope=singleton)

class HelloWorldEndpoint:
    @inject
    def __init__(self, app: Flask):
        self.app = app
        self.app.add_url_rule('/hello/<name>', 'hello', self.say_hello)

    def say_hello(self, name, hello_world_service: HelloWorldService):
        return hello_world_service.hello_world(name)

def start_app(clazz, modules):
    flask_app = Flask(__name__)

    def configure_flask(binder):
        binder.bind(Flask, to=flask_app, scope=singleton)

    modules.insert(0, configure_flask)
    injector = Injector(modules=modules, auto_bind=False)
    injector.get(clazz)
    FlaskInjector(app=flask_app, injector=injector)

    flask_app.run('<IP_ADDRESS>')

if __name__ == "__main__":
    start_app(HelloWorldEndpoint, [HelloWorldEndpointModule])

Running the app causes the following error:
Traceback (most recent call last):
  File "/mnt/c/Users/Rene Hollander/repositories/rep0st/flask_injector_magic.py", line 47, in <module>
    start_app(HelloWorldEndpoint, [HelloWorldEndpointModule])
  File "/mnt/c/Users/Rene Hollander/repositories/rep0st/flask_injector_magic.py", line 41, in start_app
    FlaskInjector(app=flask_app, injector=injector)
  File "/mnt/c/Users/Rene Hollander/repositories/rep0st/venv/lib/python3.6/site-packages/flask_injector.py", line 309, in __init__
    process_dict(container, injector)
  File "/mnt/c/Users/Rene Hollander/repositories/rep0st/venv/lib/python3.6/site-packages/flask_injector.py", line 337, in process_dict
    d[key] = wrap_fun(value, injector)
  File "/mnt/c/Users/Rene Hollander/repositories/rep0st/venv/lib/python3.6/site-packages/flask_injector.py", line 65, in wrap_fun
    return wrap_fun(inject(fun), injector)
  File "/mnt/c/Users/Rene Hollander/repositories/rep0st/venv/lib/python3.6/site-packages/injector/__init__.py", line 1055, in inject
    return method_wrapper(function, bindings)
  File "/mnt/c/Users/Rene Hollander/repositories/rep0st/venv/lib/python3.6/site-packages/injector/__init__.py", line 1132, in method_wrapper
    read_and_store_bindings(bindings)
  File "/mnt/c/Users/Rene Hollander/repositories/rep0st/venv/lib/python3.6/site-packages/injector/__init__.py", line 1128, in read_and_store_bindings
    f.__bindings__ = merged_bindings
AttributeError: 'method' object has no attribute '__bindings__'

I guess FlaskInjector just does not support class methods at this point.
I will further investigate the issue tomorrow and maybe try to get a fix for it, hoping there is nothing obvious I am missing in regards to the issue.

Hmm, interesting, I haven't actually considered adding routes this way, hence this approach not being tested. Just so it's clear for the readers – it's bound instance methods specifically that cause troubles here.
This should not be terribly difficult to work around or fix in Flask-Injector itself. Example of a workaround:
def instance_method_wrapper(im):
    @functools.wraps(im)
    def wrapper(*args, **kwargs):
        return im(*args, **kwargs)

# and then:
    self.app.add_url_rule('/hello/<name>', 'hello', instance_method_wrapper(self.say_hello))

(Just one of many possible approaches, I'm not saying it's particularly nice but it does the job)

Thanks, I created a pull request for the fix.
(I also replaced class with instance in my original post)


Page number is not correct

The page number is not correct. There probably should not be 39233 pages in total. The page number error also occurs when I typed some keywords in the search bar.
https://user-images.githubusercontent.com/54587893/173895506-0d743416-a70e-4f35-81cd-3c8a9345cac9.mov


React.Suspense is broken

Whenever I mount a tree with React.Suspense, it throws:
Error: Enzyme Internal Error: unknown node with tag 23

    at _toTree (/Users/jetbrains/IdeaProjects/TeamCity/react-ui/node_modules/@wojtekmaj/enzyme-adapter-react-17/src/ReactSeventeenAdapter.js:166:3)
    at childrenToTree (/Users/jetbrains/IdeaProjects/TeamCity/react-ui/node_modules/@wojtekmaj/enzyme-adapter-react-17/src/ReactSeventeenAdapter.js:292:4)

Brief debugging showed that this probably is the new Offscreen fiber type

Looks like we need to add something in detectFiberTags.js. But since Offscreen isn't exposed I have no clue on how to do this, hmmm...

Render Suspence and get the type of its only child?

@Hypnosphi can you try this? https://github.com/wojtekmaj/enzyme-adapter-react-17/pull/3


Waiting for branding image from Jamf Pro

Hi,
Now that Jamf Pro 10.27 has shifted the branding image to a Jamf Pro URL your script will no longer work at present unless you change the code for the branding image accordingly.
Otherwise DEPNotify will never launch and the logs will be spammed like the below image

I've embedded my company image into a DEPNotify1.1.6 PKG then changed lines 44 & 153
Line 44
BANNER_IMAGE_PATH="PATH TO IMAGE"
Line 153
SELF_SERVICE_CUSTOM_BRANDING=false

Addressed in v2.0.5.  Looking to impove on the ability to retain custom branding in later releases.

Currently with the latest version the custom logo is not loading.  Is that due to how it was fixed?  Or is my configuration off?

Running Jamf Pro v10.27?  If so it looks like there is an issue where the custom icon doesn't get delivered to the expected location, as a result DEPNotify defaults back to the default icon.

I had uploaded the logo but not the banner in JAMF.  Once I uploaded the the banner it started working.  Sorry about the premature issue.  Thanks for responding.
Sean Young
IT Manager @ Quizlet
On Thu, Mar 04, 2021 at 12:16 PM, Leslie Helou <<EMAIL_ADDRESS>> wrote:

Running Jamf Pro v10.27? If so it looks like there is an issue where the
custom icon doesn't get delivered to the expected location, as a result
DEPNotify defaults back to the default icon.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub (
https://github.com/jamf/DEPNotify-Starter/issues/39#issuecomment-790910288
) , or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AKMSMFTYXR26HTN3UFLKQLDTB7TALANCNFSM4XPHSJNQ
).

That’s actually good info. I’ve not had the issue myself but never tried without a banner. Thanks for the follow-up
On Mar 4, 2021, at 8:01 PM, Sean Young<EMAIL_ADDRESS>wrote:

I had uploaded the logo but not the banner in JAMF.  Once I uploaded the the banner it started working.  Sorry about the premature issue.  Thanks for responding.
Sean Young
IT Manager @ Quizlet
On Thu, Mar 04, 2021 at 12:16 PM, Leslie Helou <<EMAIL_ADDRESS>> wrote:

Running Jamf Pro v10.27? If so it looks like there is an issue where the
custom icon doesn't get delivered to the expected location, as a result
DEPNotify defaults back to the default icon.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub (
https://github.com/jamf/DEPNotify-Starter/issues/39#issuecomment-790910288
) , or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AKMSMFTYXR26HTN3UFLKQLDTB7TALANCNFSM4XPHSJNQ
).

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/jamf/DEPNotify-Starter/issues/39#issuecomment-791065020, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFJYQF6TJZEUWKWDWD3IZ3DTCAUL3ANCNFSM4XPHSJNQ.
[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/jamf/DEPNotify-Starter/issues/39#issuecomment-791065020", "url": "https://github.com/jamf/DEPNotify-Starter/issues/39#issuecomment-791065020", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

Yea Self Service.app ( http://service.app/ ) had a custom icon but the AppIcon.icns was the default one.  Looks like it still is but it's pulling the image from somewhere else?  It's showing the custom icon not the banner in DEPNotify.
Sean Young
IT Manager @ Quizlet
On Thu, Mar 04, 2021 at 6:44 PM, Leslie Helou <<EMAIL_ADDRESS>> wrote:

That’s actually good info. I’ve not had the issue myself but never tried
without a banner. Thanks for the follow-up
On Mar 4, 2021, at 8:01 PM, Sean Young < notifications@ github. com (
<EMAIL_ADDRESS>) > wrote:

I had uploaded the logo but not the banner in JAMF. Once I uploaded the
the banner it started working. Sorry about the premature issue. Thanks for
responding.
Sean Young
IT Manager @ Quizlet
On Thu, Mar 04, 2021 at 12:16 PM, Leslie Helou < notifications@ github. com
<EMAIL_ADDRESS>) > wrote:

Running Jamf Pro v10.27? If so it looks like there is an issue where the

custom icon doesn't get delivered to the expected location, as a result
DEPNotify defaults back to the default icon.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub (
https:/ / github. com/ jamf/ DEPNotify-Starter/ issues/ 39#issuecomment-790910288
(
https://github.com/jamf/DEPNotify-Starter/issues/39#issuecomment-790910288
)
) , or unsubscribe (
https:/ / github. com/ notifications/ unsubscribe-auth/ AKMSMFTYXR26HTN3UFLKQLDTB7TALANCNFSM4XPHSJNQ
(
https://github.com/notifications/unsubscribe-auth/AKMSMFTYXR26HTN3UFLKQLDTB7TALANCNFSM4XPHSJNQ
)
).

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub< https:/ / github. com/ jamf/
DEPNotify-Starter/ issues/ 39#issuecomment-791065020 (
https://github.com/jamf/DEPNotify-Starter/issues/39#issuecomment-791065020
) >, or unsubscribe< https:/ / github. com/ notifications/ unsubscribe-auth/
AFJYQF6TJZEUWKWDWD3IZ3DTCAUL3ANCNFSM4XPHSJNQ (
https://github.com/notifications/unsubscribe-auth/AFJYQF6TJZEUWKWDWD3IZ3DTCAUL3ANCNFSM4XPHSJNQ
) >.
[ { "@context": " http:/ / schema. org ( http://schema.org/ ) ", "@type":
"EmailMessage", "potentialAction": { "@type": "ViewAction", "target": " https:/
/ github. com/ jamf/ DEPNotify-Starter/ issues/ 39#issuecomment-791065020 (
https://github.com/jamf/DEPNotify-Starter/issues/39#issuecomment-791065020
) ", "url": " https:/ / github. com/ jamf/ DEPNotify-Starter/ issues/ 39#issuecomment-791065020
(
https://github.com/jamf/DEPNotify-Starter/issues/39#issuecomment-791065020
) ", "name": "View Issue" }, "description": "View this Issue on GitHub",
"publisher": { "@type": "Organization", "name": "GitHub", "url": " https:/
/ github. com ( https://github.com/ ) " } } ]
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub (
https://github.com/jamf/DEPNotify-Starter/issues/39#issuecomment-791107423
) , or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AKMSMFWKQPJOO2WNSKB7FATTCBASBANCNFSM4XPHSJNQ
).

I'm able to replicate having a custom icon only doesn't place the custom branding images to the expected location on the machine, but add both custom icon and custom background and the images download.  I believe self service is displaying the icons from some data files that are created.

Logic has been built into the script to fall back to the generic Self Service icon if the custom icon is not found.


management password

Hi
how I could enter a password if the management interface require a password?

I believe this is related to the other issue you opened about client notifications. After server-initiated event support lands you should be able to register a callback for the >PASSWORD event which will do what you need. Currently not yet supported on the current code.

Thanks! I take a look at #14 (https://github.com/Jamie-/openvpn-api/pull/14/files#diff-4f82b16515cab347ce3c2b39f140bac4R85) and it wont be resolved, since there is a check for a >INFO immediately. If a password is required, OpenVPN will ask for a password first and the script will throw an assert error.
See: https://github.com/jkroepke/openvpn_aad_authenticator/blob/380cf4d93d78533393b9e76ac55d6c0f99520d82/openvpn/init.py#L64-L72 for a better understanding.

Oh nice spot. Thanks for that info! In that case I shall re-open this to track and that needs fixing.

Can you please add password support?
Thanks!

    def connect(self) -> Optional[bool]:
        """Connect to management interface socket.
        """
        try:
            if self.type == VPNType.IP:
                assert self._mgmt_host is not None and self._mgmt_port is not None
                self._socket = socket.create_connection((self._mgmt_host, self._mgmt_port), timeout=3)
            elif self.type == VPNType.UNIX_SOCKET:
                assert self._mgmt_socket is not None
                self._socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
                self._socket.connect(self._mgmt_socket)
            else:
                raise ValueError("Invalid connection type")

            resp = self._socket_recv()
            #print(resp)
            if self._password != None:
                if resp.startswith("ENTER PASSWORD:"):
                    self._socket_send(self._password+'\n')
                    resp = self._socket_recv()
                    #print(resp)
                    if resp.startswith("SUCCESS:"):
                        return True
            assert resp.startswith(">INFO"), "Did not get expected response from interface when opening socket."
            return True
        except (socket.timeout, socket.error) as e:
            raise errors.ConnectError(str(e)) from None

Made a small change to allow for passwords, it could be improved.


[log] Fix the crc checksum error cause by The MemoryLogRecordsArrowBuilder#getSizeInBytes() maybe modify the memory data after closed

Purpose

Linked issue: https://github.com/alibaba/fluss/issues/152

Currently, if we use the default log format ARROW to write log, the crc checksum error in server will be thrown. After debug, I find the error is caused by the MemoryLogRecordsArrowBuilder#getSizeInBytes() method, it may cause CRC check error due to memory modifications after the builder is closed.
Tests
Add UT in  MemoryLogRecordsArrowBuilderTest to verify.
API and Format

Documentation
No docs.

@wuchong  @luoyuxia @loserwang1024  CI is passed, could you take a look at this pr.

This will make the getSizeInBytes() inconsistent if getSizeInBytes() is called before close(). A clean solution:
Add a member variable boolean reCalculateSizeInBytes = false, and set it to true for append. And re-calculate the sizeInBytes in getSizeInBytes() if reCalculateSizeInBytes is true, and set it back to false in the end of getSizeInBytes().

comments addressed

@wuchong  comments addressed.


Make the main releases multi-arch

Changes
With multi-arch builds, the base image is built by a dedicated
task and should not be in the list of outputs of the publish
task. Since the publish task is shared by nightly and full
releases, the solution is to turn the full releases to multi
arch as well.
Signed-off-by: Andrea Frittoli<EMAIL_ADDRESS>/kind misc
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[ ] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[x] Commit messages follow commit message best practices
[x] Release notes block has been filled in or deleted (only if no user facing changes)

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
Tekton full releases will be multi-arch as well

/cc @barthy1 @vdemeester

/approve

/lgtm

@afrittoli do I need to update pipeline pipeline-release so that these changes show up in the dogfooding cluster?
kubectl get pipeline pipeline-release -o json | jq .spec.tasks[].name
"precheck"
"unit-tests"
"build"
"publish-images"

It's missing build-base-image task which was introduced in this PR.
Please bear with me while I am trying to make sure the release runs smooth without any hiccups 🙏

Yes, this needs to be updated on the cluster, good catch.
Once OCI is stable enough we can make one bundle per repo and consume these tasks and pipelines via OCI :)

How do we apply such updates on dogfooding cluster? run kubectl apply -f tekton/release-pipeline.yaml?


feat(agentless): scanning role can now perform encrypt/decrypt for CMEKs [SSPROD-28216]

Hello folks, this change adds the possibility to leverage any existing KMS Key used for EBS Encryption.
We're completing our tests, so please don't merge this, let's sync first.

plan against us-east-1 draios-dev
Terraform will perform the following actions:

  # aws_iam_policy.scanning[0] will be updated in-place
  ~ resource "aws_iam_policy" "scanning" {
        id          = "arn:aws:iam::059797578166:policy/agentless-scanning"
        name        = "agentless-scanning"
      ~ policy      = jsonencode(
          ~ {
              ~ Statement = [
                    # (1 unchanged element hidden)
                    {
                        Action   = [
                            "kms:ListResourceTags",
                            "kms:ListKeys",
                            "kms:ListAliases",
                        ]
                        Effect   = "Allow"
                        Resource = "*"
                        Sid      = "AllowKMSKeysListing"
                    },
                  + {
                      + Action    = [
                          + "kms:ReEncrypt*",
                          + "kms:GenerateDataKey*",
                          + "kms:Encrypt",
                          + "kms:DescribeKey",
                          + "kms:Decrypt",
                          + "kms:CreateGrant",
                        ]
                      + Condition = {
                          + StringLike = {
                              + "kms:ViaService" = "ec2.*.amazonaws.com"
                            }
                        }
                      + Effect    = "Allow"
                      + Resource  = "*"
                      + Sid       = "AllowKMSEncryptDecrypt"
                    },
                    {
                        Action   = "ec2:CreateSnapshot"
                        Effect   = "Allow"
                        Resource = "*"
                        Sid      = "CreateTaggedSnapshotFromVolume"
                    },
                    # (4 unchanged elements hidden)
                ]
                # (1 unchanged attribute hidden)
            }
        )
        tags        = {
            "product" = "sysdig-secure-for-cloud"
        }
        # (5 unchanged attributes hidden)
    }

Plan: 0 to add, 1 to change, 0 to destroy.

Change overall LGTM. However, looks like the pipeline failed with formatting error? possibly due to indentation.


Server links

Hia,
is planned something like zeroswitch or server neighborhood?

Should be easy to make I'll do it for the next version probably

Okey thanks.

no need to close, we will do it automatically whenever the necessary commits are merged into main. same applies for #199.

200TH ISSUE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


fix duration 0 bug

Passing duration: 0 caused an error in GPUInterpolationTransition. That bug slipped in here. This PR fixes it.

Coverage remained the same at 82.682% when pulling<PHONE_NUMBER>fa873964af726d50ce773c3084316a on fix-duration-0-bug into 56eae697d8004beb7cdd0d6f86dff5036791f899 on master.


CI: deploy interchange protocol docs on each commit to main

Closes gh-91

Already tested on my own repo (modulo the if: guards to have this run only on main in this repo), and https://data-apis.org/dataframe-protocol/latest/index.html is updated. So should be good to go, let's give it a try.

Works as advertised: CI log on last commit on main, commit pushed to deployment repo, and changes are reflected on https://data-apis.org/dataframe-protocol/latest/index.html


Fix wrong compare type of null value. string instead null given

If we dont have $options->resize->height param on
https://github.com/the-control-group/voyager/compare/master...dmekhov:master#diff-bf550c9ef0c15a627ba85f6bca552e12L195
$resize_height is set to  null $resize_height = null; and then on https://github.com/the-control-group/voyager/compare/master...dmekhov:master#diff-bf550c9ef0c15a627ba85f6bca552e12L222 $thumb_resize_height = $resize_height;
But on https://github.com/the-control-group/voyager/compare/master...dmekhov:master#diff-bf550c9ef0c15a627ba85f6bca552e12L339 we are compare $thumb_resize_height with string and we get 0 in $thumb_resize_height and than we get division by 0 error from resize method of Intervention\Image

Thanks


Figure out a better way to store text

It could be a good idea to use a tree:
https://en.wikipedia.org/wiki/Radix_tree#PATRICIA
This way we store each word segment just once. This could reduce space required.

With text, do you mean e.g., the street names?

Yup, streetnames mostly.


Create Left Method For Strings

Create a Left method for string to take the left most number of characters in the string.  Make it an extension method.

Deployed to production.


asn1c problem when parser ranap asn file

Hi,
I use asn1c as below,
../asn1c -gen-PER  RANAP-CommonDataTypes.asn RANAP-Constants.asn RANAP-Containers.asn RANAP-IEs.asn  RANAP-PDU-Contents.asn RANAP-PDU-Descriptions.asn
ASN.1 grammar parse error near line 137 (token "{"): parse error, unexpected '{'
Cannot parse "RANAP-IEs.asn"
RANAP*.asn is from 3gpp.org,
3GPP TS 25.413 V9.4.0 (2010-09)
http://www.3gpp.org/ftp/Specs/html-info/25413.htm
I will email the 6 ranap asn file to your email.
Thank you very much!

This is the same as #64


Remove unused dependencies

We're not using url or indexof anywhere in the codebase. Let's get rid of some deps!

Less bytes = 👍 :shipit:

Coverage remained the same at 99.623% when pulling 0fd11871711d0ba27899d545a6f3a4c0b4a26889 on dependencies into c5d7c0ff5a151818fc2accaf4bf99d9c112c55a8 on master.


Show exact commands to type for cryptography

What about Windows or macOS, which are probably also (more) common among our customers? ;)

PR welcome!


Increment version for agrifood releases

Increment package version after release of Azure.ResourceManager.AgFoodPlatform

API change check
API changes are not detected in this pull request.


NIFI-2142 Cache compiled XSLT in TransformXml

Two other tidbits:

This also modifies the XSLT_FILENAME attribute to support expression language.
This updated the test files to have 3 space indents because Saxon defaults to that and AFAICT the free version doesn't let you change that -- it's either no indent or 3 space. Could be wrong though.

See https://github.com/apache/nifi/pull/591 for PR against 0.x and past discussion.

Hey @jfrazee, looks like you have contrib check issues that cause the build to fail:
[WARNING] src/main/java/org/apache/nifi/processors/standard/TransformXml.java[24:8] (imports) UnusedImports: Unused import - java.util.Collection.
[WARNING] src/test/java/org/apache/nifi/processors/standard/TestTransformXml.java[19] (imports) AvoidStarImport: Using the '.' form of import should be avoided - java.io..
[WARNING] src/test/java/org/apache/nifi/processors/standard/TestTransformXml.java[36:8] (imports) UnusedImports: Unused import - org.junit.Ignore.

@JPercivall Oh, right. I think these are corrected now but just noticed the image bundle has a bunch of license violations (even after rebasing).

@jfrazee the image bundle is no longer in master (replaced by the media bundle). Do a "git clean -i -d" to remove any old bundles.

@jfrazee I've made a couple comments. Looks good overall, mainly just documentation comments. Do you by chance have a template and/or some example xml/XSLT that I could use for testing to verify the changes?

@JPercivall I addressed all your comments above and added a template to https://gist.github.com/jfrazee/a501336826aa77d0daa74e8e0aa3afd0.
There is one change in behavior now -- a cache size of 0 disables the cache whereas it was just allowing for an arbitrarily large cache.
There's a screenshot of the example data flow added to https://issues.apache.org/jira/browse/NIFI-2142 which illustrates the difference between running with and without caching. It's not 100% apples to apples with the older TransformXml, but behaves the same way. The queues back up and there's a stark contrast in Tasks/Time.
I rebased on the latest master, but contrib-check is failing because of the commenting style on AbstractSNMPProcessor.

@JPercivall Addressed your latest comments and added a test with the cache disabled since the logic varies depending on that value now.

Sorry for taking so long @jfrazee, I got caught up with something I thought was an issue but turned out it was just me messing up.
+1
Visually verified code, and did a contrib check build. In standalone and a secure 3 node cluster tested the caching using the provided template. Even with just 5 stylesheets being used I saw speed improvements of ~10x! Thanks @jfrazee, I will merge it in.


[FR] Improve public api for working with cloud functions triggered by Firestore

Improve public API for working with cloud functions triggered by Firestore
Lately I've been working on a set of cloud functions which are triggered by Firestore events (see Docs).
While it does work out in the first place, we do feel quite a struggle when migrating the first functions to Typescript, which somehow feels off.
If you think that this is a feasible issue and want me to help out please let me know and point me to the favored direction.
Specifically there are 2 main issues we are encountering with the firestore client sdk.
Missing public types for triggered events
Given any triggered function (create, update, delete, write), the function should look like this.
exports.helloFirestore = (event, context) => {
  console.log('Hello Firestore!');
};

Neither of those params (event or context) types is part of this package exported types.
It could be argued whether @google-cloud/firestore is the adequate module for such feature, but I can hardly imagine a better one.
As @google-cloud/functions-framework is scoped on http and CloudEvent handling I don't see it fit there either.
For the event parameter this is something that might be resolved quite easily, since all required types more or less do exist within the package and are already part of the  documentation.
I would propose to add an exported type to the main module.
interface FirestoreEvent {
    oldValue: Document,
    updateMask: DocumentMask,
    value: Document
}

// Usage e.g.
import { FirestoreEvent } from '@google-cloud/firestore';

It could be discussed if the context parameter is also in the scope of this package. I am interested in your opinion here.
Arguably unnecessary read operations
Mostly depending on your use case it feels very awkward to work with the data that is already present within the event parameter.
The official documentation also shows this:
exports.makeUpperCase = event => {
    const resource = event.value.name;
    const affectedDoc = firestore.doc(resource.split('/documents/')[1]);

    const curValue = event.value.fields.original.stringValue;
    const newValue = curValue.toUpperCase();

    if (curValue !== newValue) {
        console.log(`Replacing value: ${curValue} --> ${newValue}`);

        return affectedDoc.set({
            original: newValue,
        });
    } else {
        // Value is already upper-case
        // Don't perform a(nother) write to avoid infinite loops
        console.log('Value is already upper-case.');
    }
};

While the data is already present in the event parameter, accessing a simple value is very cumbersome.
Keep in mind that this object is very shallow. A real documents will be tremendously more complex.
Furthermore, only a DocumentReference is being created for the sole purpose of updating it.
If I intend to work with a simple object it would require an additional read operation, since there is no exposed api to the internal used protobuf converter.
In an ideal scenario I would expect this package to have a public accessible method to create a DocumentSnapshot by using the data of the event object.
class Firestore {
...
    convert<T>(document: Document): DocumentSnapshot<T> {...}
    // or directly from the event itself
    convert<T>(firestoreEvent: FirestoreEvent): DocumentSnapshot<T> {...}
...
}

// Usage e.g
const docSnapshot = firestore.convert(event.value);
// or directly from the event itself
const docSnapshot = firestore.convert(event);

// Data Access should be simple now
const doc = docSnapshot.data();

@mamichels FWIW Firebase Functions SDK for Node.js (https://github.com/firebase/firebase-functions) can be layered on top of Functions Framework and provides the features that you are asking for.
You don't have to use Firebase CLi to deploy functions written in this SDK - the function definitions written using the Functions SDK are still "pure handler functions" at the end of the day.

Could I interest you in Firebase's layer on top of Cloud Functions (known as Cloud Functions for Firebase)?
The firebase-functions SDK does three useful things for you:

It parses the input into friendlier types. This can include non-JSON types. If you use our API for example, you can work with DocumentSnapshots and Refs natively.
It provides annotations necessary for the firebase CLI to deploy your functions without any command-line flags (e.g. how much memory, cpu, etc to use)
It works with our emulator suite so that you can test your application locally

you can use the following code:
const functions = require('firebase-functions');

exports.makeUpperCase = functions.firestore.document("messages/{id}").onWrite((data, context) => {
    console.log(`Reading doc id ${context.params.id}`);

    const curValue = data.after.get("original");
    const newValue = curValue.toUpperCase();

    if (curValue !== newValue) {
        console.log(`Replacing value: ${curValue} --> ${newValue}`);
        return data.after.ref.update({ original: newValue });
    } else {
        // Value is already upper-case
        // Don't perform a(nother) write to avoid infinite loops
        // Nit: because we aren't setting anything like a timestamp, a write of the existing
        // data would have been a noop and not fired a new event anyway, so this isn't
        // strictly necessary.
        console.log('Value is already upper-case.');
    }
};

(FWIW, this will be cleaner with deep imports in the v4 SDK that is coming soon)
That will still work with gcloud functions deploy but give you better type information. For example, an onWrite or onUpdate event provides a { before: QueryDocumentSnapshot, after: QueryDocumentSnapshot } and the onCreate and onDelete events provide a QueryDocumentSnapshot.
If you decide to switch to the Firebase toolchain in addition to our SDK, this annotation will also let you call firebase emulators:start and we'll spin up an emulated version of Firestore wired up to an emulated version of GCF. And you can point your app to that local environment to get a fully functioning stack on your local machine.

@inlined, thanks for the advise. It does work with some slight adjustments as you've described. For any future reader, I am leaving my observations.
I've tested it on a dummy function which i deployed via gcloud functions deploy.
import { EventContext } from 'firebase-functions';
import * as functions from 'firebase-functions';
import { QueryDocumentSnapshot } from 'firebase-functions/lib/providers/firestore';

export const testFirebaseFunction = functions.firestore
    // This path is ignored and can be replaced by an empty string. The trigger is set by the gcloud functions deploy command
    .document('{collection}/{id}')
    .onCreate(async (data: QueryDocumentSnapshot, context: EventContext) => {
    // Works like a charm
    console.log('data: ' + data);
    console.log('context: ' + context);

    // Those params will be undefined, as only params of the gcloud functions deploy trigger are being evaluated
    console.log('collection: ' + collection);
    console.log('id: ' + id);

    // Will be defined as this is part of the trigger configured with gcloud functions deploy
    console.log('document: ' + document);
});

Consider that this handler required you to return a Promise. So either work within a async function or specifically return one.
In your deployment the trigger configuration stays unchanged but you'll need to add another env var to your function. The package seems to use GCLOUD_PROJECT  to implicitly set the credentials (done by firebase-admin?) to the given service account.
gcloud functions deploy test-firebase-sdk
--region=europe-west1
--runtime=nodejs16
--memory=128Mi
--trigger-event=providers/cloud.firestore/eventTypes/document.create
--trigger-resource='projects/<MY_PROJECT>/databases/(default)/documents/ingress-event-repository-integration-test/{document}'
--entry-point=testFirebaseFunction
--source=./target
--service-account=<SVC_ACCOUNT>
--set-env-vars 'GCLOUD_PROJECT=<MY_PROJECT>';

How do you make it work with @google-cloud/functions-framework and @google-cloud/firestore? Something like this:
import { CloudEvent, cloudEvent } from "@google-cloud/functions-framework";
import { toDocumentEventData } from "@google/events/cloud/firestore/v1/DocumentEventData";
import protobuf, { Reader } from "protobufjs";

cloudEvent<Reader | Uint8Array>("main", async function handleEvent(event) {
  console.log(`Function triggered by event on: ${event.source}`);
  console.log(`Event type: ${event.type}`);

  console.log("Loading protos...");
  const root = await protobuf.load("data.proto");
  const DocumentEventData = root.lookupType(
    "google.events.cloud.firestore.v1.DocumentEventData",
  );

  console.log("Decoding data...");
  const data = toDocumentEventData(DocumentEventData.decode(event.data!));

  console.log("\nOld value:");
  console.log(JSON.stringify(data.oldValue, null, 2));

  console.log("\nNew value:");
  console.log(JSON.stringify(data.value, null, 2));
});

https://cloud.google.com/functions/docs/calling/cloud-firestore

@koistya Please open an issue in the https://github.com/GoogleCloudPlatform/functions-framework-nodejs repository for your specific issue.


Nonblocking way working with db

Good day!
Great framework and very useful example!
I see that postgreSQL interacts in blocking mode when using coroutin in oatpp. I would also like to look at the possibility of working with the database in non-blocking mode(example: https://www.postgresql.org/docs/9.0/libpq-async.html), since, I believe, the main advantage of oatpp is the use of coroutin.

Hello @EgorSidorov ,
Thanks for the question and for your feedback!
The recommended way to use Async APIs and databases is as follows - see the diagram.
The point is that it's not a good idea to let all the incoming connections straight to your Database. DB connections are very costly (on the DB instance side).
Also, sometimes it's a good idea to pool connections on the gateway side and do not let all the incoming connections straight into your system.

In case you have a monolith application, you can just merge your distributed services in one using the oatpp-monolithization approach - https://oatpp.io/docs/monolithization/
Thus you can keep oatpp-coroutines simple (by letting them do a large number of simple tasks),
and you can keep your business code clean by utilizing oatpp simple API with all the Request-Mapping and Object-Mapping framework.
Also, if you don't want to build multiple services for your case, you can then use
oatpp::async::Lock and oatpp::async::CoroutineWaitList to delegate the processing of DB tasks from coroutines to a thread pool and then notify coroutine upon task completion.
Please let me know if you have more questions.
Regards,
Leonid

Thank you for answer!
This is an interesting approach to working with the database, I did not think about creating a microservice for working with the database in synchronous mode. But still, the approach with the thread pool in the application looks simpler in terms of the number of microservices.
Can you please give me some examples of using oatpp::async::CoroutineWaitList for waiting of std::thread? I only have an understanding that I can run thread and wait std::atomic condition with repeat() coroutine until condition != true.

I understood, I should use oatpp::async::Lock lock() and waitAsync() from coroutine before executing sql and unlock() from std::thread when getting sql result. Thanks for the advice.

Hello @EgorSidorov ,
Not really, I'll prepare the example code-snippet for you later today.

The coroutine should place an SQL task in the thread pool.
Once the task is queued it should put the corresponding coroutine on a waitlist.
Once the task is finished it should notify the coroutine to go back to processing.

Regards,
Leonid

Hey @EgorSidorov ,
Here is the full working example of how-to make coroutine wait for the thread.
Make sure to use a thread-pool for your threads!
#include "oatpp/core/async/CoroutineWaitList.hpp"
#include "oatpp/core/async/Executor.hpp"
#include "oatpp/core/utils/ConversionUtils.hpp"
#include "oatpp/core/Types.hpp"

typedef oatpp::async::CoroutineWaitList CoroutineWaitList;
typedef oatpp::async::Action Action;

class QueryTask : private CoroutineWaitList::Listener {
private:
  // Is called from insede the async::Processor when coroutine was added on a waitlist.
  void onNewItem(CoroutineWaitList& list) override {
    if(m_finished) {
      list.notifyFirst();
    }
  }
private:
  oatpp::String m_query;
  std::atomic<bool> m_finished;
  CoroutineWaitList m_list;
public:

  QueryTask(const oatpp::String& query)
    : m_query(query)
    , m_finished(false)
  {
    m_list.setListener(this);
  }

  Action runTaskAsyncInline(Action&& nextAction) {

    if(m_finished) {
      return std::forward<Action>(nextAction);
    }

    std::thread t([this]{ // <-- TODO Pool these threads !!!

      OATPP_LOGD("Query", "Executing query: %s ...", m_query->c_str());
      std::this_thread::sleep_for(std::chrono::seconds(3)); // wait for 3 sec

      m_finished = true;
      m_list.notifyFirst();
    });

    t.detach();

    // Action to tell the processor to put the executing coroutine
    // on a wait list so that processor wont spin while this coroutine
    // is waiting for the thread to finish.
    return Action::createWaitListAction(&m_list);

  }

};

class QueryCoroutine : public oatpp::async::Coroutine<QueryCoroutine> {
private:
  QueryTask m_task;
public:

  QueryCoroutine(const oatpp::String& query)
    : m_task(query)
  {}

  Action act() override {
    return m_task.runTaskAsyncInline(yieldTo(&QueryCoroutine::onTaskDone));
  }

  Action onTaskDone() {
    OATPP_LOGD("QueryCoroutine", "task is done!");
    return finish();
  }

};

void run() {

  // Executor with one thread
  oatpp::async::Executor executor(1);

  // Populate 100 coroutines
  for (v_int32 i = 0; i < 100; i++) {
    executor.execute<QueryCoroutine>("SELECT FROM BLAH... - query_" + oatpp::utils::conversion::int32ToStr(i));
  }

  executor.waitTasksFinished();
  executor.stop();
  executor.join();

}

int main() {
  oatpp::base::Environment::init();
  run();
  oatpp::base::Environment::destroy();
  return 0;
}

Please let me know if you have any questions!
Best Regards,
Leonid

Thank you very much!

Hey @EgorSidorov ,
Just in case you decide to go with multiple services -
I've created a small project funnel-proxy for similar to your cases. Feel free to fork/contribute.
Regards,
Leonid


Add .editorconfig & moban sync

Closes #331
Reviewers Checklist

[x] Appropriate logging is done.
[x] Appropriate error responses.
[x] Handle every possible exception.
[x] Make sure there is a docstring in the command functions. Hint: Lookout for
botcmd and re_botcmd decorators.
[x] See that 100% coverage is there.
[x] See to it that mocking is not done where it is not necessary.

CI is red.  The message says something is wrong with your commit.

ack https://github.com/coala/corobo/pull/644/commits/1de93b633a9f351649a47c62ee3af0fa1da873e9

@gitmate-bot ff


Support Market Orders

Ensure the API will work with the new Market order feature for new orders.

need to look at the various order types that can be created - I've spent more time fleshing out the higher level things and making sure a limit order can be placed so far.

My app is exercising NewMarketOrderSingle and NewLimitOrderSingle
There was an issue with funds, size, and price:

not quoted as string
number of decimal places should be 8

Also calls with client_oid were being rejected.
I have fixes for these issues in PR #20 commit 19d1d2447a89ac8423db616b79c70d946de72753

I will look into to seeing this is implemented and tested.


feat(sink): support sink map to avro

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?

Checklist

[ ] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[ ] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[ ] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#18552
#18551  👈
#18550
main

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

Join @xxchan and the rest of your teammates on  Graphite

What's the purpose of impl MaybeData for () ?

@xiangjinwu 's invention:
https://github.com/risingwavelabs/risingwave/blob/97a329350a14d747e0eae31e4e1c86ff3d4d4ea6/src/connector/src/sink/encoder/avro.rs#L155-L171


How to get the country code

after adding v-model to the component it seems that it only give you the phone number without formatting it with the country code. is there anyway to achieve that?

It's achievable in v.3.1.0 by setting prop mode: 'international', in this case, the phone number will always be converted to +123 123 123...


Add a pod informer

Need this for Build.

/lgtm

/retest

/hold
I forgot to add fakes.

I was just happy about the panic

/hold cancel

/lgtm


Maintainer to label

Set a label corresponding to the MAINTAINER field in /vent/core/syslog/Dockerfile
Added myself to AUTHORS 👍

Codecov Report

Merging #953 into master will increase coverage by 0.1%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master     #953     +/-   ##
=========================================
+ Coverage   77.15%   77.26%   +0.1%
=========================================
  Files          52       52
  Lines        5572     5572
=========================================
+ Hits         4299     4305      +6
+ Misses       1273     1267      -6

Impacted Files
Coverage Δ

vent/api/plugins.py
80.36% <0%> (+1.08%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 48b42f7...f0433b5. Read the comment docs.


Inconsistent arguments for 'get_experiment_description'

It seems when calling 'get_experiment_description' in train.py(link), the argument order is inconsistent with the one from function definition (link).

Your PR solves the issue, thanks!


Update domain-authentication.md

Description of the change:
Reason for the change:
Link to original source:

Closes #

Hello @Whatthefoxsays,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


Added Hyperlink to EF Core

HI Team - I have added to EF Core for quick redirection.
Thanks,
Ashish

We do not need to add link back to EF Core or EF 6 since user is already in EF docs.


[Numpy][Pretrained Model] Add functionality to compress the vocabulary or add new special tokens for fast knowledge transfer

When applying pretrained models on real datasets, we often need to adapt the tokenizer and ensure that we can appropriately transfer the knowledge:

Case 1: Trim the vocabulary
For example, multilingual models such as XLMR have a tremendously large vocabulary size. Sometimes, you will just want to train a model that works for English and Spanish and not all the languages supported by XLMR. Here, we may trim the vocabulary to only keep the tokens that are related to English and Spanish.

Case 2: Add new tokens into the vocabulary
You may have some special tokens other than [CLS] and [SEP] that have special meanings in the downstream application and you'd like to add more reserved tokens to the existing tokenizer.

Thus, we should consider about how to support both use cases.
@garima3292 Please correct me if I'm wrong here in describing the use-cases.

@sxjscience Yes, both of these use-cases are important and make sense. Currently, any modifications in vocabulary should be accompanied by explicitly iterating through model params (embedding weights or decoder weights) and modifying them for new model (by copying old ones and adding any new randomly initialized params in case of vocab addition). We already have some working code for both vocab addition and vocab pruning that we can share, adapt and probably see how these can be offered through APIs.


Remove formatLabel

Function has slowly become dead code; remove it.

I've consumed this into #116 as it was going to conflict.


OTP GET Problem

When I successfully registered a user, I didn't receive the OTP code in my email.

hi @mrnayem2026  thankyou for raising an issue here
may i know in which version of the application did you faced this issue, online or offline?


Unknown error in Android 10

Used to work just fine, but now identical code always returns the following in my error handler
{id: "20200415_210326.mp4", error: "upload failed"}
Followed by
{id: "20200415_210326.mp4", error: "execute failed", state: "FAILED"}
These are the parameters I pass into the startUpload method:

"settings": {
"filePath": "file:///storage/emulated/0/DCIM/Camera/20200415_210326.mp4"
"id": "20200415_210326.mp4"
"parameters": {
      "Content-Type": "multipart/form-data"
      "X-amz-algorithm": "AWS4-HMAC-SHA256"
      "X-amz-credential": "omitted"
      "X-amz-date": "20200505T225904Z"
      "X-amz-signature": "omitted"
      "acl": "private"
      "key": "216781588719190015_${filename}"
      "policy": "omitted"
      "success_action_status": "201"
   }
"serverUrl": "https://s3.amazonaws.com/mybucket"
}

Running android 10 on a Samsung Galaxy s10+
I'm wondering if it has to do with this: https://stackoverflow.com/a/58934803/2093658
EDIT: After digging in and trying to do a file upload with the regular cordova plugin, i found that using the same uri that this plugin uses results in a "permissions error" This is most likely to do with android 10 scoped storage.

I'm wondering if it has to do with this: https://stackoverflow.com/a/58934803/2093658

Hi @albertleao could you try this branch ? https://github.com/spoonconsulting/cordova-plugin-background-upload/pull/84 and let us now if you are having the same issue ? Thanks.

@ombr Hey! I'll be able to test this tonight and let you know.

@ombr Unfortunately that branch did not work. I had the following error on upload:
FileTransferManager.js:11 Uncaught (in promise) Error: event handler must be a function
    at new FileTransferManager (FileTransferManager.js:11)
    at Object.init (FileTransferManager.js:89)

I have the exact same issue. Any updates on the fix?

Hi @albertleao @koczka, we are still working on the new version.
Could you try this branch ? afnetworking-spx-demo
We will replace the current master with this new version in a few week.

Sure, I'm going to try it right now.

I think you will need to remove your platform and plugin directory and restart a build.

It still fails with the same error on a full clean platform install.

I will check on my side and get back to you when we have a new version fixing this.

Thank you for your time! Do you have any updates on this case?

Try
<plugin name="cordova-plugin-background-upload" spec="https://github.com/spoonconsulting/cordova-plugin-background-upload.git#afnetworking-spx-demo" />
instead of
<plugin name="cordova-plugin-background-upload" spec="~2.0.2" />
in your config.xml

Thanks, I was able to install the plugin this way, I'm gonna check the function to see if the uploads are working.

Does the notification appear?

I had the showNotification set to false, and I got the error above.
 Did you check your upload parameters?

Android >= 8 foreground services must display a notification. Did you check your upload parameters?

I set showNotification  to true as I stated above, but then I get the original execute failed error again.

Ok, so paste your upload config because I can't reproduce the error (parameters you pass into startUpload)

Here's an upload object
{
  id: `pic-${idx}`,
  filePath: file,
  fileKey: 'files',
  showNotification: true,
  serverUrl: url,
  headers: {
    Authorization: this.token
  },
    parameters: {
    gid: this.galId
  }
}

It should work, please check the demo in case you missed something

The uploads are working now, but I can't seem to get the event callback to fire.

More details pls

I'm using the init function from the demo you linked in your previous command, but I can't see any logs about the events.

The event is null?

No, it simply doesn't get called.

Could you paste your init?

It's literally copied from the demo, but there you go

Init code
init() {
  console.log('file uploader init');
  this.uploader = FileTransferManager.init(
    {
      parallelUploadsLimit: 2,
      notificationTitle: 'Upload service',
      notificationContent: 'Background upload service running'
    },
    event => {
      console.log('EVENT');
      var correspondingMedia = this.getMediaWithId(event.id);
      if (!correspondingMedia) {
        return;
      }

      if (event.state == 'UPLOADED') {
        console.log('upload: ' + event.id + ' has been completed successfully');
        console.log(event.statusCode, event.serverResponse);
        correspondingMedia.updateStatus('uploaded successfully');
      } else if (event.state == 'FAILED') {
        if (event.id) {
          console.log('upload: ' + event.id + ' has failed');
          correspondingMedia.updateStatus('Error while uploading');
        } else {
          console.error('uploader caught an error: ' + event.error);
        }
      } else if (event.state == 'UPLOADING') {
        console.log('uploading: ' + event.id + ' progress: ' + event.progress + '%');
        correspondingMedia.updateStatus('uploading: ' + event.progress + '%');
      }

      if (event.eventId) this.uploader.acknowledgeEvent(event.eventId);
    }
  );
}

Weird, but you said that the upload works

How about the upload status (success, failed)? Which version of Android?

Yeah, the upload works fine. It's android 8.0.0

I tested it with the same android version and it works.
And this?
console.log('file uploader init');

I tested it with the same android version and it works, no error in chrome inspect?

Try to init once platform is ready
    ...
});```

Try to init once platform is ready
this.platform.ready().then(() => {     ... });

No error, nor any warning. It runs after platform.ready()

@koczka did you manage to make it work the way you want ? Did you manage to make the demo work on your side ?
Thanks.


Removed item(LimitSizeTo) cannot be garbage collected when using SourceList Sort

When using LimitSizeTo with Sort, removed item cannot be garbage collected.
On the memory profiler, it seems that Sort Closure is holding on to the item.

This is fixed now. I will release soon if it is urgent for you.

Hi,
Thank you. Can you release soon because I need it?

Hi,
I have tested and confirmed that this issue is resolved.
Thank you!


Property '$broadcast' does not exist on type '{}'

Category

[ ] Question

Observed Behavior
Getting the below error when I use angular in SPFX:

I am not experiencing the same with the old solutions.
gulp serve command gives me the below errors

_

Which version of the SharePoint Framework are you using?

Drop 6

Could you update Angular to 1.5.x and install its typings using:
$ npm install @types/angular -D

getting this error now

Have you removed the old typings from the project? What version of Angular and Angular typings are  you using?

Could you please share the commands you are using after running yo @microsoft/sharepoint?

Install Angular:
npm i angular -S

Install Angular TS Typings:
npm i @types/angular -D

I have executed the same commands but getting the same error. Please refer the code from the temporary location https://github.com/sprider/wordpress/tree/master/Temp/angular-web-tree

I have an idea: could you change ng.auto.IInjectorService in here https://github.com/sprider/wordpress/blob/af442f80b51b23f323038971397687c095121ee5/Temp/angular-web-tree/src/webparts/webTree/WebTreeWebPart.ts#L21 to angular.auto.IInjectorService and see if it helps?

OK, so the error is caused by the old Angular typings. Remove the ./typings/angular folder and from the ./typings/tsd.d.ts remove the reference to Angular typings and you will be able to build the project as expected.

That fixed the problem. Thank you Waldek.

This sample is relatively old and based on TypeScript v1.x so it could be that the way TypeScript v2.x handles types and private names is different.


request: prefix application name on export

would it be possible to output the filename prefixed with application name, eg. firefox_install.png

The project is released "as-is" so I'm going to close this bug report.


🍒 Cherry pick PR #18430 to staging 🍒

🍒 Cherry pick https://github.com/Expensify/App/pull/18430 to staging 🍒

🚀 Cherry-picked to staging by https://github.com/OSBotify in version: 1.3.10-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.12-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/AndrewGable in version: 1.3.28-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.3.28-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


First time triggering safari technology preview

I have a keyboard trigger for Safari Technology Preview which does not work the first time after QS starts, instead I get a "Type to search" popup.

What does the trigger do? Open? Toggle?
Triggers only work on things in the catalog. Is it possible you’re hitting it before QS has had a chance to reload things into the catalog?

I want to open it.
I restarted QS, waited 5 minutes and got the same result.
On the second try I got the same popup but with STP and open as the defaults after I had searched for Te.

I want to open it.

I know but I’m asking what the trigger is currently set up to do. That is, if you go to Preferences → Triggers and double-click the one in question, what does it say in the middle pane (under “Action”)?

On the second try I got the same popup but with STP and open as the defaults after I had searched for Te.

It sounds like maybe it’s set up to show the command in the interface instead of run it, but that would be pretty difficult to arrive at accidentally, so I have my doubts.

The action is Open, the command is "Open Safari Technology Preview.app".
STP.txt

The XML was helpful, but I still can’t reproduce the problem. I recreated the trigger on my system, even using the same ⌃⌥⌘Q shortcut, and relaunched QS several times.
I didn’t try rebooting or logging out. Does this seem to happen only then, or is it any time QS is relaunched? (You can quickly relaunch it by calling it up and hitting ⌃⌘Q.)
What version of Quicksilver are you running?

I just relaunched qs and got the problem. I am running 1.4.2 (401a).
Once I have done a search then qs remembers but I still get the popup and I have to type return. I usually search for tech as searching for "safari " doesn't work.
This isn't a big deal for me, I just believe in reporting problems.

I changed the trigger and the problem went away.
When I had it as ⌃⌥⌘Q and had started STP I could not create a new trigger, changing the trigger fixed that as well.

OK. Thanks for the update.


New linter plugin request SublimeLinter-contrib-lesshint

Repo link: https://github.com/jasjuang/SublimeLinter-contrib-lesshint
After finding there was no SublimeLinter plugin for lesshint, so I put this together. Works perfectly on my own machine.

Sorry for the slow response! Should show up within an hour in Package Control. Thanks Again!


Jetty9: fixed typos and documentation in X-Forwarded-For

I saw that I didn't correct a typo in the documentation.

Thanks @Duvel
I will merge ASAP :-)

Merged :-) Can you close the PR please?
Thanks!

Yeah, asfgit has done its job :-)


Running image capgemini/mesos-ui:stand-alone results in "Tag stand-alone not found in repository docker.io/capgemini/mesos-ui"

Copy-pasted the following from the main readme:
docker run -p 5000:5000 -e MESOS_ENDPOINT=http://master.mesos:5050 capgemini/mesos-ui:stand-alone

Got the response:
Unable to find image 'capgemini/mesos-ui:stand-alone' locally
Pulling repository docker.io/capgemini/mesos-ui
Tag stand-alone not found in repository docker.io/capgemini/mesos-ui

cheers for spotting this. it appears we tagged it as standalone-0.1.2. Will update documentation now.

I can see the update in readme which says the image to run is
capgemini/mesos-ui:standalone-$TAG

without an explanation of what a $TAG is, where to get the value or how to define it. One familiar with Docker could possibly assume that the $TAG represents Docker image tag, goes to Docker Hub and finds a list of tags, one of them as "standalone-0.1.2". Replaces the $TAG with "standalone-0.1.2" and receives an error because there is no such tag as "standalone-standalone-0.1.2".
Am I making any sense?

hey @akunaatrium thanks for feedback, please feel free to create a PR for improving the readme in any way. Every feeback from someone neutral (i.e people who does not wrote the code ) is very welcome :)

hey @akunaatrium very good point. By tag i meant github repo tag. I will update the readme to make it clearer


tester : Make synch panic handling work, get name of panicked test via reflection, filter then not filtered call bug fix

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (0011c85) 93.24% compared to head (ce8adc4) 93.24%.
 Consider uploading reports for the commit daa6422 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #16   +/-   ##
=======================================
  Coverage   93.24%   93.24%
=======================================
  Files          32       32
  Lines        1822     1822
=======================================
  Hits         1699     1699
  Misses        100      100
  Partials       23       23

Flag
Coverage Δ

micro
93.24% <ø> (ø)

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

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


Support for custom icons in completion items

When using autocomplete, the items' icon is calculated based on the kind value. This approach works for common languages. However, if we configured a new language or if we just want to change the existing icons, it would be great to provide a way to override the default behavior.
This PR adds support for that customization using a new property in the CompletionItem class.
This PR fixes https://github.com/microsoft/monaco-editor/issues/2120

Hi,
any update on this? I was looking for this feature too.
Thank you

why is this marked as out of scope / closed if I may ask?

Sorry, but we are not interested in this function because we have no situations in which we could use this.

Microsoft doing open source: "we ... we ... we"
Just a thought: even if Microsoft doesn't have a use-case, maybe the open source community, which contributes to the development of this software, does (and the 8 upvotes further up seem to suggest so).
Providing an icon property would allow the community to customize the editor to suit their needs (that property could be made optional so that if no value is provided, it falls back to the default behaviour).

I think what really gets me with this issue is:

its not like we logged an issue, we actually provided a fix
as @maxcorbeau mentioned, this is supposed to be a community
its so glaringly obvious why this would be a requested feature, since the idea of making Monaco OSS is so that people can build their own editor-like software with their own domain specific needs. As is the case at my company.
There are so many other cases in the editor where it clearly is designed to be pluggable and extensible outside of how Microsoft uses it in VS Code, so why then shut this specific feature down?

as @maxcorbeau mentioned, this is supposed to be a community

You might think that this is only Open-Source project (which means that source code of the product is opened), and meanwhile not a community project. I mean if some project has only one person responsible for the feature part - his decisions will be final.
There are my thoughts, specifically to VS Code API on dammit icon:

Providing an icon property would allow the community to customize the editor to suit their needs

It's really unclear here, there are thousands of things that could make editor more customizable - providing DOM API (or just CSS styling) or maybe editor model API? Probably it needs some value, show what it can give, there are no hundred of thumbs on the linked issue or some long stories that would demonstrate the problem in detail.
Meanwhile API is very limited, it doesn't mean you can't use custom icons at all. You can use File Icon Theme icons in completions (vscode-icons has > 1000 icons). For example if you want to see Tailwindcss completions like in WebStorm, you can use file kind + item detail with tailwind.config.js.
There is a proof (note that other kinds icons remain unchanged):

You might say that this is suitable only for OSS and well-known projects such as aforementioned tailwind, but you can merge FIle Icon Themes via small patching (this is really easy to do via API) and bring your own custom icons via extension.

I have a use-case of a query editor, where this feature would greatly help to suggest tables, columns, database names, SQL functions, and other suggestions and keywords. This feature would have been of great help, as the existing monaco-editor's existing language support for SQL doesn't have this feature inbuilt.
I can think of so many such use cases, not sure why this PR was closed 😞


crowdsec: update 1.0.5 - fix ban example

https://github.com/opnsense/plugins/issues/3440

Can't merge the suggestion myself, but will merge after you did.

Merged, thanks!


Bump vendor containerd/containerd version

Bump containerd version for unpacker fix https://github.com/containerd/containerd/pull/3952
Signed-off-by: Brandon Lum<EMAIL_ADDRESS>

/ok-to-test


Add docs about the default error page in the templates

We currently display a request Id in the default error pages in our templates. There are no docs today on the format of that request Id or how can customers can use it to find their issue.

I'm proposing we create a doc that covers what the request id (or suitable replacement) is and how you can use it to find more diagnostics both in VS and in Azure with Application Insights.

@shirhatti  if you can provide a draft I'll finish it off. Any format fine.

Thank you for contacting us. Due to a lack of activity on this discussion issue we're closing it in an effort to keep our backlog manageable. If you believe there is a concern which hasn't been addressed, please file a new issue.


[ThePlatform] [CWTV] - This format is DRM protected

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
United States
Provide a description that is worded well enough to be understood
Started getting this for Walker on CW today. Is there anything to be done to get around it or is CW just the latest in the string of streaming sites that are adopting DRM?
Using --check-formats rolls through all the available formats and fails for the same reason.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', '--format', 'best', 'https://www.cwtv.com/shows/walker/hold-me-now/?play=fffc5964-0ca4-496f-9fcc-447f21c4087c']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [ff0779267] (zip)
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-5.15.0-105-generic-x86_64-with-glibc2.35 (OpenSSL 3.0.2 15 Mar 2022, glibc 2.35)
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2
[debug] Optional libraries: Cryptodome-3.18.0, brotli-1.0.9, certifi-2023.07.22, mutagen-1.46.0, pyxattr-0.7.2, requests-2.25.1, secretstorage-3.3.1, sqlite3-3.37.2, urllib3-1.26.5, websockets-11.0.3
[debug] Proxy map: {}
[debug] Request Handlers: urllib
WARNING: "-f best" selects the best pre-merged format which is often not the best option.
         To let yt-dlp download and merge the best available formats, simply do not pass any format selection.
         If you know what you are doing and want only the best pre-merged format, use "-f b" instead to suppress this warning
[debug] Loaded 1803 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp)
[CWTV] Extracting URL: https://www.cwtv.com/shows/walker/hold-me-now/?play=fffc5964-0ca4-496f-9fcc-447f21c4087c
[CWTV] fffc5964-0ca4-496f-9fcc-447f21c4087c: Downloading JSON metadata
[ThePlatform] Extracting URL: http://link.theplatform.com/s/cwtv/media/guid/2703454149/fffc5964-0ca4-496f-9fcc-447f21c4087c?format=SMIL&formats=M3U&tracking=true&mbr=false#__youtubedl_smuggle=%7B%22force_smil_url%22%3A+true%7D
[ThePlatform] fffc5964-0ca4-496f-9fcc-447f21c4087c: Downloading SMIL data
[ThePlatform] fffc5964-0ca4-496f-9fcc-447f21c4087c: Downloading m3u8 information
[ThePlatform] fffc5964-0ca4-496f-9fcc-447f21c4087c: Downloading JSON metadata
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, size, br, asr, proto, vext, aext, hasaud, source, id
[info] fffc5964-0ca4-496f-9fcc-447f21c4087c: Downloading 1 format(s): hls-8327
[debug] Invoking hlsnative downloader on "https://stream-hls.cwtv.com/nosec/The_CW/462/109/210936901640/Walker-407-HoldMeNow-P407-CW_210936389872_m3u8_video_1920x1080_8000000_primary_audio_eng_xb3d9c325944044f780ed92751a3a5331_8.m3u8"
[hlsnative] Downloading m3u8 manifest
ERROR: This format is DRM protected; Try selecting another format with --format or add --check-formats to automatically fallback to the next best format

The only thing we can do is detect it earlier and raise before the download stage
diff --git a/yt_dlp/extractor/cwtv.py b/yt_dlp/extractor/cwtv.py
index 69d50daf6..ad0fa76a1 100644
--- a/yt_dlp/extractor/cwtv.py
+++ b/yt_dlp/extractor/cwtv.py
@@ -74,6 +74,8 @@ def _real_extract(self, url):
         if data.get('result') != 'ok':
             raise ExtractorError(data['msg'], expected=True)
         video_data = data['video']
+        if video_data.get('mpx_drm') == 1:
+            self.report_drm(video_id)
         title = video_data['title']
         mpx_url = video_data.get('mpx_url') or 'http://link.theplatform.com/s/cwtv/media/guid/2703454149/%s?formats=M3U' % video_id

that's a shame, thanks for the research!

Darn it! I also ran into this. :(

Same issue. Would love some help!

Same issue. Would love some help!

I doubt they can do anything with DRMed videos. :(

Yea I dont know enough about it all, theres definitely 'some' way around it as I can get keepstream or streamfab to download it.  When will the master build have it so we can try it out?

@antdude now

@antdude now

Perfect and thanks.


Error when redirect after allow

Hello) Can you help me, i try to use your library for sing in with VK. But after click button allow on VK, i get error "Exception while handling OAuth2 callback (null). Redirecting to vkontakte connection status page" if i run my app on ubuntu, or error "java.lang.ClassNotFoundException: org.codehaus.jackson.map.Module". For sing in in my config i use ConnectController. What can I do wrong?

What was the problem?


Remove ability to edit Role of a Person

Required files to edit include:
EditCommandParser.java

Related test cases
Other related files.

TGIF~!

Need to update the usage of filteredPersonsList to explicitly use either volunteerList or befriendeeList


Display all user types and org types on admin management UI

Follow #24026

Can these label be a lil small in size  they will take much space once username is big. Thats why.

1. Can these label be a lil small in size  they will take much space once username is big. Thats why.

2. What is the difference in `admin.reserved` and `admin` type.

Changed to small size label.


Bug Report: Judgements making me look like I have a skill issue or I just don't get them at all

Please check for duplicates or similar issues, as well performing simple troubleshooting steps (such as deleting the YoshiCrafter29 folder from AppData) before submitting an issue.
If you're using an older version of the engine, check if the bug haven't been already fixed
PS : the "everything goes black while changing state in developer mode bug" is not a bug, it's been designed this way to refresh all bitmaps between states to allow easier modding.
Which target are you using?

[ ] Windows
[ ] Mac
[ ] Linux

What version of the engine are you using (Bottom left of the screen in main menu) ?
2.2.0b
Have you identified any steps to reproduce the bug? If so, please describe them below in as much detail as possible. Use images if possible.
Please describe your issue. Provide extensive detail and images if possible.

Basically when I use my main controls (QWOP) I hit sicks and goods BUT when I use my arrow keys (secondary controls) it has a temper so I either hit all shits or nothing at all. (the nothing at all part happens when I pause the game sometimes) this video shows it all:

https://user-images.githubusercontent.com/90648119/188357969-70437ce9-f938-4f71-85b7-c3036a269fb8.mp4

oh yeah, secondary controls aren't fully functioning (i forgot they existed tbf)
fixed that issue


Not an issue, only a request

Hi, I like too much your lib. I want to use it for develop a little go program that mapping keyboards shortcut to system media controllers (play/pause, volume controller). There is a chance that you develop this commands (play/stop media) or there is another lib that you know and can to suggest to me?
Thank you in advance.

Thank you. That sounds like an interesting idea, but volume-go isn't the right place for playing the media. I don't have motivation to create a lib for that feature. Maybe it's your idea and your chance to create a new library. I'm not sure it's possible to control media from terminal.

Ok thank you for your answer. I close this "issue"


Add "Stop a container" section to user manual

The heading existed in the TOC but the code example was missing. I've
filled in a sensible example from what I gleaned from reading the
source.

@davidxia thanks, fixed.


npm run build error

Hi i run npm run build but i got this error npm ERR! missing script: build. Anyone help me.

i got it.  i read diegohaz comments message. commented on Jun 23


Update Debian install instructions to use the "signed-by" tag in sources.list

Update Debian install instructions to use the "signed-by" tag in sources.list.
This mechanism has been supported in Debian since at least 2017.
See also https://wiki.debian.org/DebianRepository/UseThirdParty
apt-key is deprecated, and when invoked warns the user not to use it.
The Ubuntu installation instructions also suggest using apt-key. Since
I don't know what current best practices on Ubuntu are, I've left those
instructions alone for now.

hi @jelmer could you fix DCO

hi @jelmer could you fix DCO
Sorry, that should be fixed now.

good explanation of why this approach is preferable - https://askubuntu.com/a/1307181

I've updated the Ubuntu instructions as well.

@jelmer please dont force push once a reviewer is assigned

rendered docs are here https://storage.googleapis.com/envoy-pr/16161/docs/index.html

@jelmer it seems like this doesnt work atm i think tetrate are moving the install as  bintray is "sunsetting" this week - certainly i get 403 responses  on the current links
ref #16032
lets hold off till the binary links are fixed
cc @lizan

Yeah bintray are doing brownout again so it doesn't work right now :sigh: https://status.bintray.com/incidents/x1dvhtdqkcnx
Overall this PR looks good though, can you fix DCO?

The bb1249607124f34575c4ba37a634b319edbf43fa commit lacks DCO. At this point you need to squash all 3 commits into one with DCO and force push it.

/wait

im still thinking that this would be better to wait until tetrate have moved the deb repo - these instructions will cease to work in < 2 days - so rather update once

@lizan for comments

im still thinking that this would be better to wait until tetrate have moved the deb repo - these instructions will cease to work in < 2 days - so rather update once

Bintray will continue to work for a couple month. Though we're still planning to move it within the week.

@lizan any update on the bintray migration ? im wondering whether we should land this in the meantime

/azp run


Disable the File Manager

Child of #996
Remove the button from the work show page

Focus of the project has changed and we are moving to a new ScholarSphere that may not be dependent on the current technology stack.


docker镜像拉取失败啊

请问这是什么原因？

请相关同事给看下 该镜像是什么原因

请检查本地的网络环境是否能访问https://hub.docker.com/ ，并且能通过docker pull拉取到镜像。例如执行 docker pull hello-world

换了国内镜像源也是会出现错误

同样的问题

"registry-mirrors": [
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.nju.edu.cn"
] 配置多个代理试下咧，以及阿里云的 "https://xxxxx.mirror.aliyuncs.com"

老哥 没有别的办法了吗

官方同事给紧急处理下哈

官方同事给紧急处理下哈

you can try this method which works fine for me:
1、touch ./daemon.conf and paste the content below
{   "exec-opts": ["native.cgroupdriver=systemd"],   "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"] }
2、replace docker conf with ./daemon.conf
cp ./daemon.conf /etc/docker/daemon.json
3、restart docker
sudo systemctl daemon-reload sudo systemctl restart docker

官方同事给紧急处理下哈

you can try this method which works fine for me: 1、touch ./daemon.conf and paste the content below { "exec-opts": ["native.cgroupdriver=systemd"], "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"] }
2、replace docker conf with ./daemon.conf cp ./daemon.conf /etc/docker/daemon.json
3、restart docker sudo systemctl daemon-reload && sudo systemctl restart docker

我按照该步骤修改后，还是拉不下来

官方同事给紧急处理下哈

you can try this method which works fine for me: 1、touch ./daemon.conf and paste the content below { "exec-opts": ["native.cgroupdriver=systemd"], "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"] }
2、replace docker conf with ./daemon.conf cp ./daemon.conf /etc/docker/daemon.json
3、restart docker sudo systemctl daemon-reload && sudo systemctl restart docker

我按照该步骤修改后，还是拉不下来

could you install any other docker images ? such as elasticsearch、mysql、redis

c

Yes, everything else is fine. It was all correctly pulled down

c

Yes, everything else is fine. It was all correctly pulled down

could you get your docker info response and check whether registry mirror is updated successfully ?

我的也是拉取不下来，直接超时

You can try this configuration, I verify that it can download
"registry-mirrors": [
"https://public.ecr.aws",
"https://dockerhub1.beget.com",
"https://noohub.ru",
"https://jockerhub.com",
"https://docker.m.daocloud.io",
"https://dh-mirror.gitverse.ru",
"https://huecker.io",
"https://dockerhub.timeweb.cloud"
]


Add Atomic Lock to Reconcile Repository Action

Collisions are possible if reconciliation is performed concurrently in multiple processes. Collisions have resulted in duplicate videos and exceptions on deletion. This has happened historically when mods ran reconciliation while a scheduled job also ran, or when two mods ran reconciliation at the same time.
While filtering helped reduce the likelihood of collision, we should remove this possibility by locking this action through the cache driver.
Relevant documentation: https://laravel.com/docs/9.x/cache#atomic-locks
Functional Requirements:

Add cache_locks migration to support db cache drivers. We do not utilize these in production but we should provide support.
The Reconciliation Action base class should require subtypes to specify a lock name.
The reconcileRepositories action shall attempt to get the named lock before performing reconciliation. If the lock cannot be obtained in a reasonable amount of time, we shall return a meaningful failure message.
In production, reconciliation happens for some synchronous actions - we are limited by nova in some regards - and filtered reconciliation is very quick. If local environments are configured to remote s3 filesystems, reconciliation is slow. We might want to consider a configurable timeout value.

interesting issue, gonna do this but need some time.
does it fixed?


Haptic Feedback

I was wondering if it would be possible to enable haptic feedback (vibration) onPress of each number button.

Hi,
Sorry for the delay.
It's a good idea. I don't know when I'll have time to work on this though so feel free to do a PR :)
Cheers,
Jeremy

Waiting for a PR.


Minor updates for Issue 955

We clarified the types of indices for bit slicing in two places, for bit<w> and int<w>.
We removed the requirements that indices be positive (it seems that zero should also be allowed.)

Fixes #955.

Accidentally removed the commit. Sorry about that!

We agreed to take this at the December '21 LDWG meeting, modulo small typos.

@jnfoster I added "non-negative" with the recent commit. Ready for merging.


Documentation style guidelines

Some guidelines on the style we should adopt/apply suggested by @Bananattack :

use consistent formatting;
any new information / rewrites should be written clearer than the original;
keep things concise and short;
don't repeat information like register/mode descriptions, reference/backlink to existing information instead;
present things as clear rules/definitions first, then explain or elaborate after.

Related issues:
#55

What's the status on this?

What's the status on this?

WIP in the wiki


Update

[update] - 2024-06-23

Rename Golden Ratio to MonchTool
Add Calculate to the titles of the two commands respectively.
Add default page
Replace subtitle with accessories
Add screenshots

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Could you please only commit the files changed instead of all files again? Also, all files should maybe me moved to a new folder called monchtool instead

create a new folder named "monchtool" and move all the files into it? Should the previous folder and files be deleted?

It seems like you published form the Fork extension command, could you start over and do this:

Delete the branch monchfun:ext/golden-ratio  from GitHub manually
Rename main folder in your editor where you pushed previous
Publish again


Push KBFS to docker hub if triggered by client master

r? @songgao

@songgao 1. is incorrect, 2. is correct. We can make 1. true, but it'll slow down client builds by a lot (because it won't start KBFS tests until client tests have passed)

@jzila that makes sense. But doesn't this make it possible to push a kbfs image with broken client?

Yes

Got you; we'll just need to watch out master builds then :)


[api] Add Instance shelve action

Resolves https://trello.com/c/q7P31gGp (fourth item)
@abellotti please review, thanks! :musical_keyboard:
@miq-bot add-label api, enhancement

LGTM!! :+1: