Kaleido 0.2.1 can  not start in Debian GNU/Linux 12 (bookworm) with Ploty 5.20.0

I am using a plotly plot in rasperian (Debian GNU/Linux 12 (bookworm)) and I want to convert it with Kaleido to a PNG,
wich worked on older Hardware/Software fine but dos not in this environment. if I invoke Kaleido it drops the error
File "/home/pi/tempueberwachung.py", line 234, in
raise error
File "/home/pi/tempueberwachung.py", line 182, in
fig_bytes = fig.to_image(format='png', width=1920, height=1080)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/plotly/basedatatypes.py", line 3778, in to_image
return pio.to_image(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/plotly/io/_kaleido.py", line 143, in to_image
img_bytes = scope.transform(
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/kaleido/scopes/plotly.py", line 153, in transform
response = self._perform_transform(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/kaleido/scopes/base.py", line 293, in _perform_transform
self._ensure_kaleido()
File "/usr/local/lib/python3.11/dist-packages/kaleido/scopes/base.py", line 198, in _ensure_kaleido
raise ValueError(message)
ValueError: Failed to start Kaleido subprocess. Error stream:
/usr/local/lib/python3.11/dist-packages/kaleido/executable/kaleido: line 10: 10785 Segmentation fault      ./bin/kaleido $@
Does someone have a clue? do you need more infos about my environment? any advise welcome!
Greetings, Ben.

Same error here: https://github.com/plotly/Kaleido/issues/59

Thanks for your interest in Kaleido. We are currently working on an overhaul that might address your issue - we hope to have news in a few weeks and will post an update then. Thanks - @gvwilson

Any update?  Kaleido still causes a segmentation fault as of today.

@gwild are you also working on rasperian?

Yes, Raspian Bookworm on Pi5

Bookworm forces use of virtual environment.  Path to Kaleido directory is broken for virtual environments.

@gwild, there a pre-lease of kaleido2 https://pypi.org/project/kaleido/1.0.0rc0/ out which can be installed with pip install --pre kaleido.
It is the precursor for what will be pip install kaleido2.
It allows to use an external chromium interface instead of the kaleido executable. I am not super familiar with bookworm, but you might try using that version. It requires you to a) have chrome or chromium in path or you can set the environmental variable BROWSER_PATH.
That may be the best direction for you- if not, I will have to learn a little bit more about whats going on with raspian and bookworm.
Out of curiosity, is this for your spectrum analyzer that I see on your profile?

Yes, for spectrum analyzer, though not the rust version in my profile.  I’m using  plotly instead of matplotlib because this is a 24/7 script and matplotlib leaks memory.

I was able to get it to run by editing Dir variable in Kaleido to the actual path.


Error parse file services

Unable to parse file "/vendor/eightpoints/guzzle-bundle/EightPoints/Bundle/GuzzleBundle/DependencyInjection/../Resources/config/services.xml".
Element '{http://symfony.com/schema/dic/services}factory': This element is not expected.
I installed it but doesnt work.
Can you help me?

Sorry. I have install version symfony 2.3.* and its dont work.

You can try to use version 2.x of this bundle to get it running. Maybe this helps.


[Bug]: Qwen2-VL-7B with sglang (vLLM-back) Performance Degradation on MME benchmark

Your current environment
This issue has been raised here. Please have a look.
https://github.com/sgl-project/sglang/issues/2112
Model Input Dumps
This issue has been raised here. Please have a look.
https://github.com/sgl-project/sglang/issues/2112
🐛 Describe the bug
This issue has been raised here. Please have a look.
https://github.com/sgl-project/sglang/issues/2112
Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Might be related to #9825

Might be related to #9825

No, this problem is diffrent from this issue. It's about the discrepancies in the calculation of the logits in the vision head.

Do you still get similar problems on the latest released version of vLLM?


Added Example Notebook.

Added an example notebook on estimating what effect does assigning a different room have on Booking Cancellations using real data from 2 hotels based in Portugal. The corrusponding dataset, 'hotel_bookings.csv' has also been attached.

thank you for creating this excellent notebook, @Sid-darthvader . A few comments:

Rather than creating a copy of the dataset in DoWhy, it will be better if we can link to the original data source. As shown in the readme on the linked github repo, can you try accessing the dataset directly from their http url? Something like, 'https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-02-11/hotels.csv'
For the refutations, the INFO logger is creating a lot of output. How about changing the logging level to WARNING? You can do so by adding the following line at the top of your notebook, just after importing logging.

import logging
logging.getLogger("dowhy").setLevel(logging.INFO)

Finally, it may be good to clarify the result---my understanding is that the effect is 36 percentage points, meaning that if the probability of cancellation was 0<x<1, then changing the room causes the probability to go to x+0.36. Is that correct? Then percentage is not the right term, percentage points is more informative.

Optionally, it may also be good to show what answer one may get if they use regression or a machine learning predictor and then try to see the feature importance. But not required, I think the content is already quite good, and I can merge it in once you can address the above 3 issues.

Thank you for the comments @amit-sharma
I am closing this pull request and raising another one with an updated notebook containing the following changes:-

The dataset has now been linked inside the notebook.

The suggested solution for reducing output of logger does not seem to work, instead I have added a code in the last cell which upon running hides the warnings in the pink boxes. (https://stackoverflow.com/questions/9031783/hide-all-warnings-in-ipython)

Yes, that is what I meant. Percentage point seems apt and the explanation has been updated.

A new section comparing results with feature importance using a 87% accurate XGBoost model has been added.

@amit-sharma @Sid-darthvader
You meant the probability to go down by 0.36 percentage points, correct?
Meaning, changing the room helps, correct?
I am using this thread's info. When I run the script today it shows -0.26

you can refer to this page for the current notebook: https://py-why.github.io/dowhy/v0.8/example_notebooks/DoWhy-The Causal Story Behind Hotel Booking Cancellations.html
It is consistent with what you found. The notebook further explains,
_The result is surprising. It means that having a different room assigned decreases the chances of a cancellation. There’s more to unpack here: is this the correct causal effect? Could it be that different rooms are assigned only when the booked room is unavailable, and therefore assigning a different room has a positive effect on the customer (as opposed to not assigning a room)?
There could also be other mechanisms at play. Perhaps assigning a different room only happens at check-in, and the chances of a cancellation once the customer is already at the hotel are low? In that case, the graph is missing a critical variable on when these events happen. Does different_room_assigned happen mostly on the day of the booking? Knowing that variable can help improve the graph and our analysis._

@amit-sharma Thanks for the super fast response.
On the notebook that you have shared, I have 3 questions.
(1) I noticed in this modelling exercise the treatment and outcome variable are both binary. And the notebook uses method_name="backdoor.propensity_score_weighting" to get ~(-0.26). Now, interestingly if I use logistic regression or linear regression I get the similar results, is this correct and how it is suppose to work (meaning they should give the same result)?
(2) Given the final causal DAG has confounders with categorical data, is there any issue of odds ratio? Or I can directly use the mean ate to understand the percentage points increase or decrease (meaning: Does dowhy under the hood adjust for all the confounders in an appropriate required way considering the causal DAG)?
(3) How do I compute the relative percentage increase considering ate for this case?


Code/Repo Clean up

After getting a little farther in the dash app, the following things need to be done to improve the repo and allow for better experience for new developers to come in:
TODO:

[x] Move db_interface folder
[x] clean up code that was created to use for repeating functions, make it applicable to what we know now
[x] made py file to have all call back code for queries to keep index page clean
[x] add comments in index page explaining where the call backs are and how to add more
[x] update all of the in line comments for current app
[x] clean code from a design perspective (CSS, formatting) to make sure the code is all consistent

Notes on the last bullet point: We use a lot of different template code using different strategies with formatting (class_name, style, etc). Before things build too much, lets get this all consistent for when we build there is not weird format issue and we have items to use as templates

@cdolfi I think this issue is ready to be closed - let me know what you think.


fix: landing session on different repo/org

This allows the git node land usage on different forks. It might also help on nodejs-private.

It's not obvious (IMO) how this change is related to landing session on different repo/org, could you explain?

It's not obvious (IMO) how this change is related to landing session on different repo/org, could you explain?

When you use git node land https://github.com/ANOTHER-ORG/ANOTHER-REPO it just ignores the argv because we are not passing argv to Session as it's specified in https://github.com/nodejs/node-core-utils/blob/main/lib/session.js#L18
So, when we attempt to read PRData we use the default argv instead of the expected argv (owner/repo) https://github.com/nodejs/node-core-utils/blob/a8529edaab765e293965054b7027774a3f4938f2/components/git/land.js#L204.


chore(cli)!: remove unmaintained rollup subcommand

Summary
Removes the rollup subcommand from astria-cli.
Background
Deployment related logic has been moved from the monorepo's astria-cli to https://github.com/astriaorg/astria-cli-go. The current functionality is unmtained and likely broken.
Changes

Remove the rollup subcommand from astria-cli and all related modules.

Breaking Changelist
Marked as a breaking change because functionality was removed. In practice this should not matter because nobody should be actively using the tool (no promise of maintenance, likely broken on HEAD).

should we as follow up make the sequencer commands work at the top level/consider merging this and sequencer utils?

merging with sequencer utils: yes
top level: no; I want to add a bridge subcommand.


App switches automatically to limited login when updated to v13

I'm using react-native-fbsdk-sdk for facebook login in my application.
I've update react-native-fbsdk-sdk :  ^13.0.0
Now my Facebook SSO login opens by default to limited.facebook.com domain.
Here's my code:
import {LoginManager, AccessToken} from 'react-native-fbsdk-next';
import auth from '@react-native-firebase/auth';
import {showErrorIfAllowed} from './functions';

export async function onFacebookButtonPress(onError) {
  try {
    // Attempt login with permissions
    const result = await LoginManager.logInWithPermissions([
      'public_profile',
      'email',
    ]);

    if (result.isCancelled) {
      throw {
        code: '-5',
        name: 'Error',
        message: 'User cancelled the login process',
      };
    }

    // Once signed in, get the users AccesToken
    const data = await AccessToken.getCurrentAccessToken();

    if (!data) {
      throw {
        code: '0',
        name: 'Error',
        message: 'Something went wrong obtaining access token',
      };
    }

    // Create a Firebase credential with the AccessToken
    const facebookCredential = auth.FacebookAuthProvider.credential(
      data.accessToken,
    );

    // Sign-in the user with the credential
    return auth().signInWithCredential(facebookCredential);
  } catch (e) {
    showErrorIfAllowed(e, onError);
  }
}

this is an upstream change with version 17 of the Facebook iOS SDK: https://github.com/facebook/facebook-ios-sdk/issues/2375 and it sounds like it is a deliberate behavior change by Facebook, if you do not have tracking permissions you automatically get opted into limited login.
So you have a few options:

downgrade (harder with privacy manifest requirements)
get tracking permissions to use classic login
support limited login
ask for a change on the iOS sdk on the above

either way I don't think there is anything that can be done on this library.

question: how do i get 'get tracking permissions to use classic login' this permission ?

question: how do i get 'get tracking permissions to use classic login' this permission ?

I do have the same question. So, if anyone has any information about this, would be very good if you share it :D

@gustavos00 @Daniel3711997 you can use https://github.com/zoontek/react-native-permissions
Check PERMISSIONS.IOS.APP_TRACKING_TRANSPARENCY

This actually works. Thanks a lot.

👋 just a note that we love documentation PRs, they're easy to make and easy to merge. If there's anything that will help future developers avoid some problem you had, proposing a docs PR is the way to help / pay it forward. Cheers


Changing precision resets state partially

When changing the precision configuration, whether the stopwatch was running is maintained (the timer property), but the watch is reset. That's inconsistent at least, but one might argue what's the correct behavior.
My expectation would be that the watch would not be reset if we're just changing the precision.

That’s because the whole module restarts when you update the module config (like changing precision)

Well, does it really? The clock keeps ticking, when you start the clock and then change precision.


performed identation

Performed Identation & Edits in License file.

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

Hello @thegenuinegourav,Thanks again for the PR! We want to show our appreciation by sending                                              you some swag. Could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX


Schedule Python with while loop

in my python bot i want use schedule module with a while loop. I want that every 60 seconds, while loop execute one iteration and not all loop. How can i do?
This is my code
 def job():
        count = 0
        variable1 = json.loads(requests.get(url).text)
        while count < (len(variable1['deals']['dr'])):
            ***example code to execute***
            count+=1

    schedule.every(60).seconds.do(job)

    while True:
        schedule.run_pending()
        time.sleep(1)

You can make your job a generator function. This way, every time it is called, it executes one iteration and yields. You can read about generators or watch a tutorial that nicely explains how to use them.
Here's a solution that makes the job a generator function:
def job():
    count = 0
    variable1 = json.loads(requests.get(url).text)
    while count < (len(variable1['deals']['dr'])):
       ***example code to execute***
        count+=1
        yield

iterable_job = job()
schedule.every(60).seconds.do(lambda: next(iterable_job))

while True:
    schedule.run_pending()
    time.sleep(1)

### help me, please. when i run the given code:
import schedule
import time
def job():
count = 0
while count < 3:
count += 1
yield count
iterable_job = job()
schedule.every(3).seconds.do(lambda: next(iterable_job))
while True:
schedule.run_pending()
time.sleep(1)
throws the following error
Traceback (most recent call last):
File "shedule.py", line 20, in
schedule.run_pending()
File "/home/alex/PycharmProjects/messenger/venv/lib/python3.6/site-packages/schedule/init.py", line 592, in run_pending
default_scheduler.run_pending()
File "/home/alex/PycharmProjects/messenger/venv/lib/python3.6/site-packages/schedule/init.py", line 94, in run_pending
self._run_job(job)
File "/home/alex/PycharmProjects/messenger/venv/lib/python3.6/site-packages/schedule/init.py", line 147, in _run_job
ret = job.run()
File "/home/alex/PycharmProjects/messenger/venv/lib/python3.6/site-packages/schedule/init.py", line 491, in run
ret = self.job_func()
File "shedule.py", line 16, in
schedule.every(3).seconds.do(lambda: next(iterable_job))
StopIteration


fix: Text setting length is limited to 32 chars

We should be setting the max length limit before we set the value, otherwise the text will be shrunk in the EditBox#setValue method.
    public void setValue(String text) {
        if (this.filter.test(text)) {
            if (text.length() > this.maxLength) {
                this.value = text.substring(0, this.maxLength);
            } else {
                this.value = text;
            }

            this.moveCursorToEnd();
            this.setHighlightPos(this.cursorPos);
            this.onValueChange(text);
        }
    }

Originally we call setValue first, and only then follow it with setMaxLength, the text is already shrunk at that point.
This PR prioritizes setting the max length first to avoid this issue.

Thank you ❤


Add a FAQ section to the docs.

Please provide good candidate questions here!

Starting with this one - please change the questions if necessary...

Is there a difference between reuse and preserve in the context of marko? Long version: The docs mention the terms "reuse" and "preserve". In the context of marko-widgets, their might be some subtle differences between these two - please explain/give examples, when to use one or the other.

How far should a UI be "componentized"? Long version: Basically everything can be made into its own component (down to a single word/character) - now as we have the powerful tools to create components it would be nice to have a set of best practices that help to decide, when to stop.

When should the body of a custom component be used? Long version: Marko template engine uses xhtml style standalone tags as a shorthand like  . While this is great to write compact tags, it sometimes leads to confusion, when to use the body of a component. As basically everything can be put into a component by further "componentizing" the UI - there should be some rules/best practices that help to decide, when/what should be placed in the body of a component...

Which component functions are invoked at what time - whats the order of invocation? Long version: There is e.g. init(), getInitialState(), getTemplateData() - which functions are called during first render, re-rendering etc... --> we might even be helpful to put something like that into the docs...

That's very helpful, @tindli. Thank you! Those are great questions and I'll definitely make sure the new docs address all of those questions. If you come up with any more questions please add them here.

Marko-Widgets supports the batching of updates, but what does this mean to the developer? Long version: Describe, how multiple setState() are handled and what benefits this provides.

What is a bad example of a component, that leaks its state? Long version: encapsulation and a well defined interface should be the goal when designing marko widgets. Please provide an anti-example, that demonstrates, when/how these goals are not met and what can be done to meet the requirement. What are signs that show that something is wrong?

How do widgets communicate? Long version: Please provide best practices for inter-widget communication (events, calling functions from a parent in a child). Mention the global event bus (raptor-pubsub) and the solutions it is meant for.

Why is state so important for marko-widgets? Long version: Please mention the core differences (from an architectural perspective) on the role of component state for marko-widgets compared to e.g. react. Component state is more than just a way to trigger the re-rendering of a component; it provides a way to detect, if a component needs to be re-rendered. Please mention shallow comparisons and the impact this has for developers (creating a new object instead of changing properties in case of nested javascript objects).

*__How does re-rendering work and how to deal with widgets, that manage their own state? Long version: As the app-map component in the UI samples or simple html-inputs, some components require internal state that should not be lost when marko-widgets higher in the hierarchy re-render. Please provide the methods, that allow such a behaviour (w-preserve, ...)

How is data management done with marko? Long version: Please describe the main differences between data layer architectures for comparable frameworks like react (like flux, relay...). While react has a top-down approach for data flow (giving data as props from parents to children, several levels down), I do not really see such a pattern in marko-widget hierarchies - it seems that widgets get/fetch their own state, at various levels in the component tree. For react, this is an anti-pattern; Please describe, why marko-widgets take this approach.

@tindli Can you please clarify the following?

What is a bad example of a component that leaks its state?

Also, I have added a partial FAQ based on some of your questions. Please take a look and provide any feedback:
https://github.com/raptorjs/marko-widgets/blob/view-state/docs/faq.md
As soon as I get some more time I will add more of your questions.
Thanks again for providing these questions!

By leaking state I mean, that instead of an exposed function, a direct reference to the widget is used and the setState() call is performed from somewhere outside the widget that does not own the manipulated state...
If this is possible, we should avoid that... (right?)... In my understanding, only the exposed
functions should be used to manipulate state (if necessary doing so from outside a widget)...

I am really happy with the FAQ! Great job.
I only have one "concern" so far:
https://github.com/raptorjs/marko-widgets/blob/view-state/docs/faq.md#which-component-functions-are-invoked-at-what-time---whats-the-order-of-invocation
Additionally, I would add the information, which of the functions are invoked on the server too...
Keep up with the great stuff! Many thanks.

What architectural layers (patterns) are applicable? Long version: Can be related to the data management statement above. Explain various types of architectural deviations an app might use. Please describe, why the todo example uses the "SAV Architecture", why it benefits from it and describe an example, where the SAV architecture would not be an obvious choice (e.g. blog or other app with lots of static data that should not go into state). Please make it clear, that marko/marko-widgets is agnostic towards any architectural pattern and implementation.


[elf] LookupNextElement should not return an error on ENOENT

Per the documentation on BPF_MAP_GET_NEXT_KEY :

If key is found, the operation returns zero and sets the
next_key pointer to the key of the next element.  If key is
not found, the operation returns zero and sets the next_key
pointer to the key of the first element.  If key is the last
element, -1 is returned and errno is set to ENOENT.  Other
possible errno values are ENOMEM, EFAULT, EPERM, and EINVAL.
This method can be used to iterate over all elements in the
map.

This PR fixes LookupNextElement to not return an error when ENOENT is received.
We noticed that the errors being created here were a minor, but persistent, source of allocations in our application.
We're also seeing similar allocation patterns in LookupElement / DeleteElement where it returns an error if the element is not found.  Ideally, these would return (bool, error) to indicate if the element was not found or if there was a genuine error performing the operation.  I'm happy to make those changes but I understand if you don't want to do so given that it would be a breaking change.

@schu its unclear to me why the build is failing here but it looks like its affecting other recent PRs as wlel

@alban is there someone from your team who could take a look here please ?


How to not execute detekt task on check gradle's phase?

Hello,
my questions:

How to 'turn off' attaching detekt tasks to gradles 'check' task?
Where find contribution informations how to add new detekt properties (any the most important common problems with it)?

context:
I have problem when I'm building my project detekt is executed (on check phase) and build fails.
I would like to have more controll on detekt gradle's task so I looking to execute detek's task in CI in separate step.
I looked for any configure property but I did find any so I try to make changes in detekt's source code to make that configurable feature.
Right now I have problem when my properties injected from build.gradle file are not visible inside DetektExcension, DetektPlugin classes (default values from DetektExcension are always getting). Does any one have similar problem?
Best regards

I'm afraid, I don't quite understand your problem description. Could you please explain that in more detail?

How to 'turn off' attaching detekt tasks to gradles 'check' task?

Could you please post your of the Gradle build script that configures detekt?

Where find contribution informations how to add new detekt properties (any the most important common problems with it)?

I'm also not sure what you mean.
The rules can be added in the default-detekt-config.yml file Source.
All of detekt's parameters are listed here in the getting started guide.

Right now I have problem when my properties injected from build.gradle file are not visible inside DetektExcension

What exactly are you trying to do? Could you also please post the relevant Gradle build script part here?

I'm afraid, I don't quite understand your problem description. Could you please explain that in more detail?

How to 'turn off' attaching detekt tasks to gradles 'check' task?

Could you please post the part of your Gradle build script that configures detekt?

Where find contribution informations how to add new detekt properties (any the most important common problems with it)?

I'm also not sure what you mean.
The rules can be added in the default-detekt-config.yml file (Source).
All of detekt's parameters are listed here in the getting started guide.

Right now I have problem when my properties injected from build.gradle file are not visible inside DetektExcension

What exactly are you trying to do? Could you also please post the relevant Gradle build script part here?

How to 'turn off' attaching detekt tasks to gradles 'check' task?

I don't really understand your use case either, but you could run gradle check - x detekt to exclude the detekt run I guess.

Ok, I will try to explain in more technical way my case.
I see in git changes new feature when as below you can see detekt dependsOn CHEK_TASK_NAME.
Why is done i that way? After upgrade from version 1.0.0-RC8 to version 1.0.1 right now detekt will fail builds in any project that has some issues in code.
Can I revert dependOn via detekt configuration?
I'm looking for that feature but I cannot find one so I'm trying to do it by my one but maybe you know any solution to do it?
Right now I would like to make below code fragment to be turn on / off by some detekt's config property. It's good idea?

 private fun registerOldDetektTask(project: Project, extension: DetektExtension) {

    project.tasks.matching { it.name == LifecycleBasePlugin.CHECK_TASK_NAME }.configureEach {
------------------> here----->            it.dependsOn(detektTaskProvider)
        }
    }

@marschwar Yes I can do that but when my project is build on gitlab for example by command
gradle build detekt is executed as well after tests was executed I guess (detekt depends on gradle check task as I can see in code).
I would like to run gradle build without executing dektekt's tasks but when I want to I would like to run gradle detekt to check my code.

Sorry, for so many comments but I would like to help to improve detekt plugin.
Right now I started from:

adding new property to DetektExcention: notAttachDetektTaskToGradleCheckTask = false
handle new property in DetektPlugin class

    override fun apply(project: Project) {
        project.pluginManager.apply(ReportingBasePlugin::class.java)
        val extension = project.extensions.create(DETEKT_TASK_NAME, DetektExtension::class.java, project)
            ...
    }

    private fun registerOldDetektTask(project: Project, extension: DetektExtension) {
...
// I wrapped code that is realated with my case and make him configurable
// The change can be writen more 'clean' but for now I want to show you my point of view how I could resolve this (my) problem

        if (!extension.notAttachDetektTaskToGradleCheckTask) {
            project.tasks.matching { it.name == LifecycleBasePlugin.CHECK_TASK_NAME }.configureEach {
                it.dependsOn(detektTaskProvider)
            }
        }
    }

When I load my custom version of detekt plugin and override default value from build.gradle file for added by myself property (notAttachDetektTaskToGradleCheckTask)
by adding to build.gradle file:

detekt.notAttachDetektTaskToGradleCheckTask = true

property is not overrided but always inside DetektPlugin class I see default value of the property that is false.
I make my own gradle plugin and there overriding of gradle's plugin extension properties works fine.
You have more knowledge about gradle and detekt so maybe could you help me by giving me some tip?
Thank you for previous commens as well.

The current behavior is intended and inspired by plugins such as checkstyle and findbugs. The gradle documentation states:

check
Aggregate task that performs verification tasks, such as running the tests. Some plugins add their own verification tasks to check.
...

I am opposed to making this behavior optional.

@marschwar +1
I agree. We should not do this.
@gregorius2514 optionally, you could use the command line integration of detekt via script.

@marschwar and @schalkms  Thank you for consultation. I think your point of view have more sens to me right now especially where it's gradle and other plugins standard.
Right now I find workaround to resolve my problem by disabling detekt's default configuration and register custom detekt's task and it works but I look on proposeb by you @schalkms idea.
Great, thanks and have a nice day :)

We are glad that we could help. Thank you for the kind words!

Coming late to the party but I needed to do this in a project since we started using detekt and we wanted to slowly tackle the warnings as part of different pull requests while keeping builds running.
To circumvent the problem, I added the following to Gradle's configuration:
tasks.getByName("check") {
    this.setDependsOn(this.dependsOn.filterNot {
        it is TaskProvider<*> && it.name == "detekt"
    })
}

Hope it helps someone who finds this issue in the future.

@MiguelAraCo thanks for the code, I wonder which page would be right to put this info on the website hm

@arturbosch good idea


Add UserController

Add UserController
Update API

This change is

看不太懂,晚点再看..

Review status: 0 of 6 files reviewed at latest revision, 3 unresolved discussions.

README.md, line 99 [r1] (raw file):

```typescript
interface {
    currentSong: ISong

为啥要删掉这个呀，会不会出现一些问题？比如说一个比较慢（卡）的客户端，提交状态比较晚，就不知道是哪首歌了

README.md, line 103 [r1] (raw file):

### (S -> C) channelStatus
用户列表变更，或播放列表变更时广播

这儿的注释一个更新一下？

src/controllers/UserController.ts, line 2 [r1] (raw file):

import User from '../models/User.ts'
import Storage from '../models/Storage.ts'

这个Storage是持久化存储吗？

Comments from Reviewable

Reviewed 7 of 7 files at r1.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

Comments from Reviewable


Update available balance for base coin

Description
Now the amount of implicit account outputs and delegation outputs is used to calculate the available balance of the base coin
Motivation
Return an available balance more accurate, without using the amount of implicit account outputs and delegation outputs
Requirements
Write a list of what you want this feature to do.

Return an available balance without using implicit accounts and delegations outputs of the wallet

Are you planning to do it yourself in a pull request?
No

Closed by https://github.com/iotaledger/iota-sdk/pull/2181


Adding capability to watch multiple paths

If the provided path is a sting the watch method converts it to an array.
The path array is iterated over to allow for multiple directories to be searched. Each directory has the same configuration options (although this could be updated to allow for different configs).

Can you provide a clear justification for adding this? How would most people find this useful?

When needing to look at two different paths for reloading an application. In my scenario I'm building an express app where I have static assets in the public folder that need to reload the site when changed. I also have files written in Jade in a views folder that need to reload the app when changed. My folder structure looks like this:
app
+-- controllers
+-- models
+-- public
|    +-- css
|    +-- js
+-- routes
+-- views
|    +-- index.jade
I don't want the page reload if I change one of the node.js javascript files, so I can't attach it to the app level.

Hmmm. I see what you're doing. This was originally designed around watching the static files for changes.  I don't have time to write up a section on this in the README - could you alter your PR to include a section that explains the usage for this?

Updated the README with an example of the multiple path usage. Let me know if there's anything else I need to change.

Will review this weekend. Thank you!

I have the same issue.  I would like to use this new feature.  Can you update the version and npm publish it?  (The version I got from npm doesn't have this enhancement.)

@mrajcok It'll be up later this week. Working out another issue in the meantime.


Enable arch conditionals in azurelinux-repos.spec

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[ ] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[ ] Ready to merge

Summary

Enable arch conditionals in azurelinux-repos.spec by removing BuildArch: noarch
Change Log

Enable arch conditionals in azurelinux-repos.spec by removing BuildArch: noarch

Does this affect the toolchain?

NO
Test Methodology

Pipeline build id: 698079

Buddybuild: https://dev.azure.com/mariner-org/mariner/_build/results?buildId=698086&view=results


chore(master): release 0.18.0-alpha

:robot: I have created a release beep boop
0.18.0-alpha (2024-01-17)
Features

移除blogs图片 (ed2ed61)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/mafqla/yalis-blog/releases/tag/v0.18.0-alpha :sunflower:


Correcting the code style following PEP 8

I cleaned up the code following modern PEP 8 standards.

Please stop this. These kind of PRs are pure noise and not useful to any project.

Oh. Please forgive me...


Get rid of reflection in Exceptions, closes #290

Unfortunately,  we need to access the logger to replicate vanilla behaviour, removing the Logger simply isn't an option.  We've committed a fix for this in the latest commit.

Hmm you have a good point. To be blunt, I haven't really used log4J (or any Java logging framework before), so it's an oversight on my part 😅.  The more you learn I guess, thanks for pointing that out.
I'll reopen and merge this PR, thanks once again!


Internet Connectivity Check Not Triggering When App is Killed - @react-native-community/netinfo

Hello,
I'm currently working on an application that utilizes the @react-native-community/netinfo package to manage internet connectivity checks. My goal is to ensure that certain functionalities, such as API calls, are triggered based on the device's current network status. This works seamlessly when the app is running in the foreground or even in the background. However, I've encountered an issue where the connectivity checks fail to trigger when the app is completely closed (killed) from the recent tasks.
Here's a brief overview of my setup:
I'm using the @react-native-community/netinfo package to monitor network changes.
The app successfully triggers API calls based on network availability when the app is open or running in the background.
The issue arises when the app is entirely closed; the connectivity checks do not initiate, preventing any API calls from being made under these conditions.
I've attempted various approaches to address this issue, including:
Ensuring that the listener is correctly set up to handle network changes.
Verifying that the app has the necessary permissions to access network status.
Reviewing the documentation and community discussions for potential workarounds or known issues.
Despite these efforts, I haven't found a solution that allows the app to check for internet connectivity and potentially trigger API calls when it's killed from the recent tasks.
Could anyone provide insights or solutions on how to achieve this functionality? Any guidance would be greatly appreciated.
Thank you!

@matt-oakes Same issue happening in my case as well. When the app is in kill mode, it can not receive the netInfo event. So, Any update on this issue?


refactor(styles): remove scss from Wallet components

Description:
Refactor wallet component to use styled-components and remove old scss file.
Motivation and Context:
Finish porting app to styled-components.
How Has This Been Tested?
Manually - UI should look and work pretty much as before (minor style changes possible as moved to standardised components).
Types of changes:
Refactor
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage increased (+0.003%) to 19.1% when pulling de084d9672e5754e9551c98df34a4c022c14e507 on mrfelton:refactor/scss-wallet into 4bdf573480244f4eca00c6c7f5b42b02c4f8dae4 on LN-Zap:master.

Coverage increased (+0.003%) to 19.1% when pulling de084d9672e5754e9551c98df34a4c022c14e507 on mrfelton:refactor/scss-wallet into 4bdf573480244f4eca00c6c7f5b42b02c4f8dae4 on LN-Zap:master.


Update hardware requirements for benchmark machine

Run the benchmark machine on new reference hardware and update the requirements JSON file. Showed up on SE.

What is the configuration now?

What is the configuration now?

https://wiki.polkadot.network/docs/maintain-guides-how-to-validate-polkadot#reference-hardware

SE

I know this, but benchmark doesn't pass successfully after my machine is configured.

谢谢，您的邮件已收到，我会及时查看

You can find it here https://github.com/paritytech/substrate/pull/13317

So we're going to run the benches on cloud VMs right now? Hm, I understand that's what most people are running so in a way it makes sense, although it might make dealing with the benchmarks more painful due to the inherent variability of cloud machines.
Two random possibilities I see which could make this better.
Just use bare metal anyway
Run the benchmarks on bare metal, and manually calculate a static multiplier(s) which would allow us to translate the results from bare hardware into the cloud machine, and have those as official weights.
Use multiple cloud machines in parallel

The benchmark bot is triggered to run benches.
It runs the benches not on one machine, but on X machines in parallel (where X is picked high enough to make them "stable"); every run generates a .json with the results
After they all finish the bot takes all of the results and merges them into one big json, and then generates the weights for that. (I've added the ability to generate the weights from the json file without running the benches so this is mostly done; you'd just need to write some simple program to merge the jsons)

Basically you'd essentially have the benchmarks which average the results from one machine (so it reduces the variability within that single VM), and a "meta" benchmark like this which sits a lever higher and averages results from multiple machines (which reduces the variability across the VMs).

About Use multiple cloud machines in parallel:

GCP supports VM instance placement policies
This could be done for GitLab almost natively and I think it could be applied after some tweaking around for GHA too

About Just use bare metal anyway:

IMO sticking with this setup here gives us less benefits than going cloud all-in because of the required maintenance overhead for these bare metal hosts. The engineering resources' investment that should be put into the approach with calculating the median for cloud VMs would benefit us much more in the end.

Overall, my opinion is that using a fully cloud-based system here would be more beneficial than continuing to use the bare metal setup, and that the resources allocated towards maintaining the current setup would be better used in developing a cloud-based solution.

If we can come to reasonable results using the cloud VMs, they should be fine. However, for this we need to test @koute approach.

TLDR: FRAME-benchmarking could be the reason and not hardware.
Comparing them cross-runtime is normally a good indication whether or not they are consistent, even on the same machine.
Since if they are not; we can be sure that the benchmark is unstable.
The hardware stats of the VMs are very consistent from my past measurements. That the weights dont follow suit could come from too few repetitions.
Especially for short No-OPs like remark_with_event, we probably have to implement a dynamic number of repetitions.
Currently it is doing about 100 reps for that in the standard config, which is a very short time-frame on the VM.
Instead we can first do a phase where the variance is measured and then calculate how many repetitions it would need to "converte". Now if it does not converge, we could emit an error that the hardware is broken.

TLDR: FRAME-benchmarking could be the reason and not hardware.

We should aim for the most reliable solution with the least noise here. So why not both? Improve FRAME and still run on machines with predictable load (bare metal).

@rcny I talked with @athei and we came to the agreement that we should continue running the bare metal machines until either FRAME-benchmarking is working properly or we come up with some different solution. We can not sacrifice our work here because maintaining the bare metal machines is more workload. I trust you with this and we will make sure to find a solution we are all happy with, but until this is done please bring back the bare metal machines.

What this means concretely:

Revert the baseline back to bare metal
The bench bot and the manual "bench all" job should use bare metal by default

It is no problem to have the VMs in parallel to try them out. But we should not switch over until everything works for some time.

Tracked in https://github.com/paritytech/ci_cd/issues/740.

The baseline in substrate wasn't changed. There was an attempt in https://github.com/paritytech/substrate/pull/13316 but it failed because of inconsistent results for pallet-contracts. I will ask @paritytech/opstooling to adjust bench-bot settings to use bare-metal machine for substrate.

To me it feels like we have two somewhat conflicting use-cases here:

Benchmark to generate weights.
Benchmark to see whether the performance has changed.

For (1):

we want a configuration that's equivalent to what people are running in the wild,
we want this blessed hardware/software configuration to not change over long periods of time,
we want to build a linear model over the raw data (that is, the weights) so that we can roughly predict how much something's going to cost to run

For (2):

we don't necessarily need to match what people are running in the wild (if we make something faster on hardware X then it will in the vast majority of cases also be faster on hardware Y, unless we engage in microarchitectural-level optimization, which we usually don't)
hardware which is as fast as possible so that the benchmarks finish as fast as possible and we don't spend a long time waiting
short-term rock solid run-to-run stability of the results
raw data and other metrics which are appropriate for performance comparisons (which weights are not since those can produce relatively huge run-to-run variances even if the performance didn't change purely due to how they're calculated; yes, I know we've been using them like that up until this point, but this is really suboptimal)
we want the ability to see whether a specific PR changes the performance, and only that PR (instead of what we do currently where we often compare the freshly generated weights to the weights which already exist in the repository which effectively benchmarks dozens/hundreds of other PRs besides ours and introduces a lot of noise)

Proposal
So what would make sense to me would be:

Further improve FRAME benchmarking machinery with what @ggwpez proposed, and add more metrics besides weights which are more appropriate for performance comparisons (e.g. just essentially copy-paste what criterion's doing)
Have separate sets of machines for use-case (1) and (2). (I don't really think having to maintain a few bare-metal machines for performance benchmarking is a big deal; if no one wants to do it I'll happily volunteer and maintain them for you. :P)
Have the benchmarking bot support two modes:
a) Weight generation mode. This would generate weights just as it does now, and run on cloud VMs.
b) Performance benchmarking mode. You'd trigger this bot in a PR and this would run the benchmark twice on a bare metal machine: one time without the changes from the PR, and another time with the changes from the PR, and then it would compare them using appropriate metrics and display a nice automatic analysis (and this wouldn't generate weights, since, again, those are not really appropriate for this use case); kinda like rustc's perf bot

Another nice thing about (b) would be that we could also hook other non-FRAME benchmarks to that, e.g. some of the tests I usually manually run when we upgrade wasmtime I could just have a bot do them automatically.

@alvicsam

I will ask https://github.com/orgs/paritytech/teams/opstooling to adjust bench-bot settings to use bare-metal machine for substrate.

Even though it's relatively easy to implement, I'd first propose alternative:
-> if only frame_benchmarking is the problem, can we re-generate ALL weights to VM baseline, and only frame_benchmarking leave on bm3 (using workaround bot bench -v PIPELINE_SCRIPTS_REF=bm-fallback) until it's fixed

@koute

Have the benchmarking bot support two modes

sounds reasonable & for sure we can make both modes work through command bot.
For example:
bot bench -> all pallets on VM + commit new weights
bot bench-bm $ pallet dev frame_benchmarking -> bm + as a result output a link to see a diff

if only frame_benchmarking is the problem, can we re-generate ALL weights to VM baseline

No it isn't about the crate frame-benchmarking. We referred to the runtime benchmarking as "frame-benchmarking".

Even if we had those two sets of benchmarking machines: It will still be a problem if the weight machines have a lot of noise. I think we will still have a problem merging those diffs even if the "performance machines" show no diff. Also, it will make the setup more complicated.
I think we should first try improve the benchmarking machinery and see if we can get rid of the noise as suggested by @ggwpez. Only if this fails we should look into further steps. But until then we need to be unblocked and continue using the old machines.

But until then we need to be unblocked and continue using the old machines

AFAIK you are unblocked and can continue to use the old machines as described above by @mordamax. The Substrate weights are not yet updated.

Yes. I am using a "special" bench bot command. But it should be the default.

Yes. I am using a "special" bench bot command. But it should be the default. Because anyone who doesn't know about this will be caught off guard scratching their heads about the diff.

@athei @ggwpez @bkchr @koute What would be the long-term plan re VM vs BM? if it's not yet clear, than I'd suggest to use this "special" :) bench-bm command, which runs benchmarks on BM in a meanwhile, until we have an understanding VM, VM + BM or anything else :)
once it's more or less clear, i'd suggest more "default"/standard way to deal with it so it's also clear for users and there's no confusion around this

As I understood from the thread it's possible to adjust benchmarks in substrate to run them in VM runners but it requires additional coding described in https://github.com/paritytech/substrate/issues/13308#issuecomment-1433220888. So until this is addressed substrate is going to use BM runners.
FYI Cumulus and Polkadot are already using new VM runners without issues.

@athei @ggwpez @bkchr @koute What would be the long-term plan re VM vs BM?

Quoting what @athei said above:

I think we should first try improve the benchmarking machinery and see if we can get rid of the noise as suggested by @ggwpez. Only if this fails we should look into further steps. But until then we need to be unblocked and continue using the old machines.

if it's not yet clear, than I'd suggest to use this "special" :) bench-bm command, which runs benchmarks on BM in a meanwhile, until we have an understanding VM, VM + BM or anything else :)

I would propose to do exactly what @athei proposed above your post. The default is to use BM and then have some special command for VM.

FYI Cumulus and Polkadot are already using new VM runners without issues.

The benchmarking works, but produces completely different results all the time, because the VM has a lot of noise. We also already have seen this in Cumulus benchmarks.

The benchmarking works, but produces completely different results all the time, because the VM has a lot of noise. We also already have seen this in Cumulus benchmarks.

I've found, for the reference:
https://github.com/paritytech/cumulus/pull/2199
https://github.com/paritytech/cumulus/pull/2198

Oh, that sucks and should be investigated :(

Yes and that is also what we already have discussed here in the issue. We will investigate and hope that https://github.com/paritytech/substrate/issues/13400 fixes it. However, until we know the proper fix we want to continue with the current machines.

BM machines and weights were reverted in https://github.com/paritytech/cumulus/pull/2225 and https://github.com/paritytech/polkadot/pull/6762. Bench bot is now using bm machine by default (reverted in https://github.com/paritytech/command-bot-scripts/pull/14)

Thank you @alvicsam

What bare-metal instance are substrate using for the benchmarks? I would like to run the benchmarks independently to see if I can get the same results.

Substrate switched to VM servers as well. In theory the Wiki entry should be enough info to reproduce it.
If you want to exactly reproduce our CI setup, @oleg-plakida will have confirm it.
Personally I am using these args for a gcloud instance. Is that exactly the same as the CI, or what is the CI using @oleg-plakida?
--google-threads-per-core=1 \
--google-machine-type=n2-standard-8 \
--google-min-cpu-platform="Intel Ice Lake" \
--google-zone=europe-west1-b \
--google-machine-image="debian-11-bullseye" \
--google-disk-size=30 \
--google-disk-type='pd-ssd' \
--google-local-ssd=4 \
--engine-opt "data-root=/mnt/local/docker" \
...

Ok I'm confusing, @alvicsam said here that polkadot/cumulus reverted to bare-metal instances, so I was wondering what bm instances you guys are using, I know before it was Open OVH Rise 2.

BM machines and weights were reverted in paritytech/cumulus#2225 and paritytech/polkadot#6762. Bench bot is now using bm machine by default (reverted in paritytech/command-bot-scripts#14)

So now it is using Google's VM's again?

Ok I'm confusing, @alvicsam said here that polkadot/cumulus reverted to bare-metal instances, so I was wondering what bm instances you guys are using, I know before it was Open OVH Rise 2.

BM machines and weights were reverted in paritytech/cumulus#2225 and paritytech/polkadot#6762. Bench bot is now using bm machine by default (reverted in paritytech/command-bot-scripts#14)

So now it is using Google's VM's again?

Hi, Lohann. There have been a rough road to VM with some back and force migrations) But since about month ago all repos had been switched to VM. Also ‘bot bench’ command uses VM machines by default. You can refer to Oliver’s comment if you need to create testing env of your own. Please use the how-to https://github.com/paritytech/ci_cd/wiki/Gitlab:-Setup-new--runner-(bare-metal-and-VM)#create-runner-manually

Substrate switched to VM servers as well. In theory the Wiki entry should be enough info to reproduce it.
If you want to exactly reproduce our CI setup, @oleg-plakida will have confirm it. Personally I am using these args for a gcloud instance. Is that exactly the same as the bot, or what is the bot using @oleg-plakida?
--google-threads-per-core=1 \
--google-machine-type=n2-standard-8 \
--google-min-cpu-platform="Intel Ice Lake" \
--google-zone=europe-west1-b \
--google-machine-image="debian-11-bullseye" \
--google-disk-size=30 \
--google-disk-type='pd-ssd' \
--google-local-ssd=4 \
--engine-opt "data-root=/mnt/local/docker" \
...

Yap. Mostly the same, except of some CI parameters which could be omitted. One small notice, i would recommend use the last one machine image:
--google-machine-image="parity-build/global/images/gitlab-runner-debian-11-bullseye-v20221206-v8" but it should be optional.

The benchmark results were consistent enough to not induce any further action. We just run it once on a VM and then use the results. As far as I am aware, no obvious inconsistencies reported.

@oleg-plakida thank you so much for your help, btw this repo is private for me: https://github.com/paritytech/ci_cd/wiki/Gitlab:-Setup-new--runner-(bare-metal-and-VM)#create-runner-manually
One thing is not clear is how you guys solved the issues regarding VM's results, are substrate implementing the @koute multiple cloud machines in parallel for get an average weight? or does it simply runs in one VM?

Oliver is right. Regarding access it’s only for parity team. You can contact me in matrix and i will find the way to pass this docs and custom binary of docker-machine to you.


Flatpickr as mixin

This is a work in progress and to be honest, I'm not familiar with yuidocs and the build was breaking and I didn't had the time to dig into it, but basically this refactor mimics the ember-pikaday approach to use a mixin so we can compose components, with this mixin I can for example extend / hook ember-paper's paper-input and use all the validations, dom and css from it
import FlatpickrMixin from 'ember-flatpickr/mixins/flatpickr';
import PaperInput from 'ember-paper/components/paper-input';
import layout from 'ember-paper/templates/components/paper-input';

export default PaperInput.extend(FlatpickrMixin, {
   layout,
   didInsertElement() {
     this._super(...arguments);
     let field = this.element.querySelector('input');
     this.set('field', field);
     this.setupComponent();
   }
});

Please, let me know what you think

@betocantu93 I think this sounds like a good idea. Please let me know when you have it ready for me to review.

@rwwagner90 here is a working addon using my fork ember-paper-flatpickr

This more or less looks good. I am going to merge, then clean some things up later. Thanks for the PR!

Excellent, thanks @rwwagner90


update cwl-logs-processor dependencies

Updating blueprint dependencies for splunk-cloudwatch-logs-processor lambda.

seems working


Pin Binding not working

Hello,
The binding on the Pins somehow doesn´t work.
I am getting this message in the output :
Binding: 'Pins' property not found on 'Controls.MapView', target property: 'Xamarin.Forms.GoogleMaps.Bindings.BindingPinsBehavior.Value'
However, all other bindings on the same XAML do work.
Any suggestions ?
XAML Snippet :
...
            <custom:MapView x:Name="MapLayer"  Grid.Row="0" Grid.Column="0" Grid.RowSpan="5">
                <custom:MapView.Behaviors>
                    <bindings:BindingPinsBehavior Value="{Binding Pins}"/>
                </custom:MapView.Behaviors>
            </custom:MapView>
...

Whereas MapView is a class that inherits form Xamarin.Forms.GoogleMaps.Map

It seems that the Pins property of custom:MapView can be accessed.
Does custom:MapView inherit from Xamarin.Forms.GoogleMaps.Map?
If you need further advice, please present a reproducible minimum project with Github etc.

There you go :
[https://github.com/tomh4/Xamarin.Forms.GoogleMaps.Bindings-Repro](Reproduction Project)
It does not find the Binding "Pins"

Can not build sample code.
There is no namespace in MapView.
I have not had time today, so I will take a look at it tomorrow.

Apparently, it seems that it is not working properly in the subclass of Map. Details will be analyzed again.

Great keep me updated!

This is also problem with my code. Bindning Pins doesnt work.

This problem was caused by the user side.
I sent a Pull Request.
please confirm.
https://github.com/tomh4/Xamarin.Forms.GoogleMaps.Bindings-Repro/pull/1


[$500] Waiting for you to add a bank account appears after adding deposit only bank account in OldDot

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

Version Number: 1.4.73-0
Reproducible in staging?: yes
Reproducible in production?: Can't check, requires real credentials
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
Expensify/Expensify Issue URL:
Issue reported by: @mattmoore
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1715610623341999
Action Performed:

Create an expense report as an employee and submit
Have it approved on a New Expensify workspace chat and Pay with expensify
Go to OldDot and add a deposit only account
Return to the expense report on New Expensify
The add bank account button should't be there

Expected Result:
The add bank account button shouldn't be there
Actual Result:
The add bank account button still there  and refreshing the page doesn't help
Workaround:
unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/38435837/cd35ee43-08eb-4c26-bdb6-7e744afdf04f

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01a5f3ad3418d9fb9d
Upwork Job ID:<PHONE_NUMBER>572852224
Last Price Increase: 2024-05-31

I will triage this tomorrow.

I triaged and added the External label, but I will also be OOO through May 31. @adelekennedy can you please manage the issue until then? Thanks!

waiting for proposals!

Overdue notes: Looking for proposals, bumped in #expensify-open-source Slack.

Still waiting for proposals here!

Still no bites @ikevin127 do you think this is because it's difficult to reproduce?

@adelekennedy Yes, I think that's part of it. I think another part is that the issue might involve both BE and FE changes and because of the current bounty, contributors are not willing to take on fixing it.
I would suggest increasing the bounty and if that doesn't get any bites, I'd make it Internal.

upping the bounty!

Bumped on Slack #expensify-open-source as well.

Can anyone help me with a video on re-producing this? I tried but wasn't able to get the Add Bank account button.

I tried to reproduce and got confused, wasn't able to as the steps are not that clear and also the video does not show the progression of the steps. Can somebody provide clearer testing steps with video from start to finish including both OD and ND sides ?
@m-natarajan @adelekennedy

Thanks @adelekennedy for watching things while I was out! I'll unassign you now.

@ikevin127 can you clarify which part of the reproduction steps are unclear? Are you unsure about which test accounts take which actions?

Sure, I think clarifications to the following points would help everybody who's trying to reproduce this issue and work towards finding a solution.

Create an expense report as an employee and submit

To clarify:

Create an expense report where ? OD or ND
As an employee of what type of workspace ? (Fee, Collect, etc.)
Does this workspace have an admin (Owner) and the employee is a Member of this workspace or an Admin ?
Does this workspace have a BA added already ? This would mean that the workspace Owner / Admins are able to issue payments via Pay with expensify.

I think there should be more and clearer steps here instead of multiple (assumed) actions crammed-up into one, since anybody should be able to reproduce the issue on staging by simply following the steps, but the current steps assume (a lot of) prior knowledge of the app.
Note: I also think this is part of the reason why this issue didn't get any love from the community 💔

Have it approved on a New Expensify workspace chat and Pay with expensify

To clarify:

Have it approved by whom ? The Owner of the workspace or any other Admin which has the permissions to Approve and Pay with expensify ?
When whoever approved tries to Pay with expensify, does this mean that the workspace needs to have a BA added in order to Pay with expensify ? Or the individual user that Approved and wants to Pay with expensify needs to have BA added individually ?

Go to OldDot and add a deposit only account

To clarify:

This assumes that the account of the workspace employee which is logged-in on OD, did NOT have a BA added prior to this in their Settings > Account > Payments > Bank account section ?

Regarding steps 4 & 5, to clarify:

Assuming that the user was already seeing Add bank account on ND after performing step (2.), we're expecting the Add bank account button to dissapear in real-time via pusher events ?
Would we be ok with the button going away if the user performs page refresh or re-visits the report ?

If answer is yes for question (1.) and no for (2.), since this is already not the case (proven by this issue), we might only need BE changes here if the FE already works as expected.

Once I have clarifications to these and I am able to reproduce, I will be able to tell whether this is BE only or BE / FE or FE only and potentially will propose to fix this myself if nobody else figures it out in the meantime.

Can somebody provide clearer testing steps with video from start to finish including both OD and ND sides ?

The reason why I asked for this type of video is because it would clear-up a lot of the questions above, visually, which I think it's much more easier to understand / reproduce.

[!note]
I also checked-out the Slack bug report and I noticed that the steps are a bit more clear but I was still not able to reproduce as there are a lot of assumptions (see clarification questions above) which probably led me the wrong way in reproducing on my side.

cc @sakluger

Thanks, @ikevin127 for clarifying. I'm happy to clarify, although I think that most of the clarifications you ask for unnecessary. Maybe it's because of my familiarity with Expensify in general, but these reproduction steps seem clearer to me than many others I've seen in the past.
Step 1 (Create an expense report as an employee and submit):

Create an expense report where ?

You can generally assume that all actions are taken in NewDot unless stated otherwise.

As an employee of what type of workspace?

Collect. Free workspaces don't have approval workflows, and we've also just deprecated the free workspace.

Does this workspace have an admin (Owner) and the employee is a Member of this workspace or an Admin?

Yes - every workspace has an admin, and in order to submit an expense report on a workspace you must be a member of that workspace.

Does this workspace have a BA added already? This would mean that the workspace Owner / Admins are able to issue payments via Pay with expensify.

Since a later step asks you to add a bank account, we can assume that the submitter does not have a previously added bank account.

Step 2 (Have it approved on a New Expensify workspace chat and Pay with expensify):

Has it been approved by whom? The workspace owner or any other Admin who has the permissions to Approve and Pay with Expensify?

Either is fine. The error is related to what the submitter sees, so as long as it's submitted to an admin who can approve and pay, it should be reproduced.

When whoever approved tries to Pay with Expensify, does this mean that the workspace needs to have a BA added in order to Pay with Expensify? Or does the individual user who Approved and wants to Pay with Expensify need to have a BA added individually?

The approver/admin would need a verified business bank account added to their workspace

Step 3 (Go to OldDot and add a deposit only account):

This assumes that the account of the workspace employee, which is logged in on OD, did NOT have a BA added prior to this in their Settings > Account > Payments > Bank account section?

Correct, the submitter did not have a deposit bank account added before submitting the report.

Step 4/5 (Return to the expense report on New Expensify; The add bank account button shouldn't be there):

Assuming that the user was already seeing Add bank account on ND after performing step (2.), we're expecting the Add bank account button to disappear in real-time via pusher events?

I think we do want the buttons to go away, even without a refresh. I'll ask in Slack to verify. Either way, the buttons should definitely go away after a refresh.

Regarding the video, it looks like there is a video that starts from step 3. @m-natarajan are you able to redo the reproduction video to also include steps 1 and 2?

@sakluger Thanks for clearing things up! I managed to reproduce the issue and find the root cause, which is strictly BE related in the sense that when deposit-only BA is added by Employee in OD, there's no pusher event sent to ND side to update the Employee's userWallet data which would remove the Add bank account button.
In order for the button to disappear, I had to go to ND Settings > Wallet which fetched the userWallet data, only then -> upon returning back to the report, the Add bank account button was gone and the OD bank account was registered as added by ND.
Here's the diff in userWallet data before / after adding deposit-only BA on OD and navigating to ND Settings > Wallet on Employee's side:
{
    "availableBalance": 0,
    "bankAccountID": 4987807,
    "currentBalance": 0,
    "currentStep": "",
    "hasAcceptedTerms": false,
    "hasFailedOnfido": false,
    "isPendingOnfidoResult": false,
    "remainingWalletLimit": 49999,
    "state": 0,
    "tier": 1,
    "tierName": "SILVER",
    "walletLimit": 50000,
    "walletLimitEnforcementPeriod": 60,
-   "walletLinkedAccountID": 0,
+   "walletLinkedAccountID": 5011847,
-   "walletLinkedAccountType": ""
+   "walletLinkedAccountType": "bankAccount",
+   "hasPaymentMethod": true
}

Note: This info should help BE engineer fix this issue.

Awesome, thanks for the investigation and explanation, @ikevin127! I'll mark this one as internal.

I asked for a volunteer in #wave-collect in Slack.

@sakluger Should I unassign myself as C+ reviewer since this is going to be handled internally ?

Internal: looking for a volunteer.

Added to HOT PICKS on the project board.

No bites yet.

No volunteers.

Still looking for volunteer.

Still looking.

Still looking for a volunteer!

No updates.

Looking for a volunteer 🎲

Looking for a volunteer 🎲

Still looking for a volunteer 🎲

Still looking for an internal volunteer 🎲

@garrettmknight was there something you were looking for me to do for this one? Or just wait until it gets picked up internally? Asking because I see it had a BZ assignee/C+, and then @flodnv  removed them a few weeks ago. Not sure if that was intentional

Yes it was intentional, because I agree with the question was there something you were looking for me to do for this one?

Got it, sounds good! In that case will unassign for now if there is nothing I need to do here. Please let me know if there is something for BZ to do, and happy to help out!

Or just wait until it gets picked up internally?
I was thinking of this bit. We're pushing to find a volunteer this week, but I was thinking we had a BZ member assigned to all bugs to help out.

Got it. We definitely always do at the outset. But if the issue is just waiting for an internal engineer to pick it up (and there's nothing to do with contributors/C+), and it's being prioritized based on where it falls in the release schedule, it doesn't feel like there is much benefit to having a BZ remain assigned.
Not super passionate though if there is a definitive best practice here. Just was curious as I'd seen the prior BZ be removed.

OK, I think I found what needs to happen for this to get fixed.
When a bank account is created on NewDot, there are Onyx updates created from web-expensify here.
When a bank account is created on OldDot, there are no Onyx updates created from web-secure here.
Here is the real kicker... we have no code in Web-Secure to build or send out Onyx updates 😦 . That will require a lot of code being copied to Web-Secure in order to support this flow.

Probably the quickest way to make this happen would be to have the Web-Secure API make a request over to the Web-Expensify API which will compile the bank account list Onux update and send it out with a pusher event.
@nkuoch @iwiznia I'm curious to hear what you think about this approach.

No good answers here... on one hand doing what you propose is adding more complexity, on the other we are not going to copy all the code related to onyx updates and pusher to web-s.
There's another option, which would be to move the API method from secure to web, would that be a huge effort or simple? Remember that web-s was a mistake and is not really needed and we will eventually deprecate it, so moving things to web will need to happen sooner or later.

I briefly thought about moving the entire API command to Web-E, and I'm not sure if the frontend of web-secure is setup to call commands on both the web-e or the web-s API endpoint (at first glance, it doesn't look like there is any setup for doing this ref). I also have been discussing in slack and in person if this issue is really worth doing anything about. The workaround for me seems adequate: after adding your bank account on OldDot, go to the wallet page in NewDot and your new bank account will sync.

The right solution would be to move it, so my vote is we either we do that or do nothing since I agree the bug is quite minor.

Also discussing alternatives in this thread

I agree that if we do something, we should move everything from secure to web about the vbba flow. But that might not be super fast to do, and maybe not worth spending time on oldDot when newDot is the new thing.
What we could do though is to create a web api sendBankAccountOnyxUpdates and call it from secure.
Should be easy enough? Or we could also do nothing as the bug is minor.

OK, thanks! I was just talking with @garrettmknight and this is where we landed. I'm going to add a simple log to web-secure when someone adds a vbba and they have tryNewDot.classicRedirect.dismissed === false. Then, I'll followup after a month to check the logs to see how many people are trying to do this flow. If it's low, we can continue to do nothing. Otherwise, we try to come up with some better alternative.

Daily Update

I created a Web-S PR for this
I created a followup issue to check the logs in a month

Next Steps

@grgia Review and merge the PR

ETA

Merged today, Aug 22

This was deployed and can be closed.

Update

When I checked the logs today, I found that there were 44 instances of the log being triggered in the last two weeks.
This seems like a significant amount that we should ideally do something with.
I think the best solution here is to move the command from Web-S to Web-E and then have Web-E create the proper onyx updates to send to the frontend when a bank account is created on OldDot

Next Steps

@tgolen reopen this issue and start looking into moving the command

ETA

Friday, Oct. 4

Daily Update

I've created a Web-E PR that adds a new API command, copied from Web-S to create the bank account and send out Onyx updates to the user
I've created a Web-S PR which calls the new Web-E API command and removes the old code

Next Steps

@MonilBhavsar Review and merge the Web-E PR
Once the Web-E PR is deployed to production, I will take the Web-S PR off HOLD

ETA

Wednesday, Sep 25

Daily Update

The Web-E PR was reviewed
I've responded to the reviews and pushed up changes to the PR

Next Steps

@MonilBhavsar Continue to review and then merge the PR
Once the Web-E PR is deployed to production, I will take the Web-S PR off HOLD

ETA

Wednesday, Sep 25

Daily Update

The Web-E PR was merged and deployed to staging

Next Steps

@tgolen Wait for the Web-E PR to be deployed to production, then take the Web-S PR off HOLD
Get the Web-S PR reviewed and merged

ETA

Friday, Sep 27

Daily Update

The Web-E PR was deployed to production
The Web-S PR was taken off hold and merged

Next Steps

Wait for the Web-S PR to deploy to production and then close this out

ETA

Thursday, Sep 26

The final PR was deployed to production yesterday so I am going to close this out.


zflecs: Add set_pair and remove_pair

One thing here: flecs has two functions set_pair_second and set_pair, which correspond to which component carries the data in the pair. I just followed what you were doing on add_pair and set, which means set_pair and set_pair_second would be identical. Currently, the user has to make sure that the pair consists of acceptable types for set_pair to work correctly - the first component either must be a tag for the second component to store data, or the first component must not be a tag and that type be used.


OpenAIRE 4 crosswalk only outputs first dc:language:iso as dc:language element

Describe the bug
The OpenAIRE 4 crosswalk only outputs the first dc:language:iso value found as dc:language. The Language spec allows for 0-n occurrences. A xsl:for-each is needed to iterate over all values.
To Reproduce
Add multiple dc.language.iso values (e.g., "eng" and "fra") to an item and view the openaire4 record for the item. Only the first dc.language.iso value will be output as a dc:language element.
Expected behavior
All dc.language.iso values should be output as dc:language elements.
Related work
N/A

Similar to #3100 & might be done at the same time.  Similar to that ticket, moving to 7.1 for now.  However if a volunteer is found earlier this might be implemented prior to that.  @paulo-graca , this might be of interest to you (though it's low priority in my opinion)


fix bug that occured when getportfolio was called for a user that did…

… not have any trades
remove hard coded starting cash

@westcoastbias two tests for your worker are not passing. It looks like the same portfolio is being retrieved by your tests. I'll dig into my trades controller to see if I have a bug somewhere

tests failing are my fault, not related to this new code. I will fix those tests and PR that fix shortly, but this code is good to go (despite Travis' protests).


Instance Moving Reset Style

I'd probably call it Dynamic Wall tbh

For this to be done I'd probably want to redo the state output for obs to be able to handle it
The current system is output a file called "state" in the .Julti folder which contains the scene id (W for wall scene, number for instance scene), a space, then numbers for each instance representing lock and dirt cover state (0 = normal, 1 = locked, 2 = dirt covered, 3 = dirt covered and locked).
For example being on instance 3 with only instance 2 locked would be 3 0100.
A new system would have more info per instance and would probably go along the lines of:
Start with the current scene id (ie. W)
Then for each instance, add a semicolon or space or other separator, the lock/dirt cover number (0-3), and a bounding box position, all comma separated (ie ;1,0,0,960,540)
A 2x2 wall state output could look like W;1,0,0,960,540;0,960,0,960,540;0,0,540,960,540;0,960,540,960,540

Now that I'm thinking about it, this format would mean that you only need 1 scene in general, as an active instance can be set to the entirety of the scene and the others can be put behind. This would prevent the need for scene switching and the script lock

This is now much easier with the obs revamp

Oh right I did this


Cannot publish (or debug) to BC 23 through VS code (AL language extension for BC 12.1)

Please include the following with each issue:
1. Describe the bug
A clear and concise description of what the bug is.
Cannot publish an extension to BC 23. I have latest version of AL language extension for business central 12.1 as well.
It was working on friday (20 th oct).
error on VS code

Please update the AL extension from the Visual Studio Code marketplace.
Additional information:
Server details

Runtime: 12.1
Web API: 6.0
Debugger: 6.0

AL extension details

Supported runtimes: 1.0, 2.0, 2.1, 2.2, 2.3, 2.4, 3.0, 3.1, 3.2, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 6.0, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 7.0, 7.1, 7.2, 8.0, 8.1, 9.0, 9.1, 9.2, 10.0, 10.1, 10.2, 11.0, 11.1, 12.0
Supported Web API: 1.0, 2.0, 3.0, 4.0, 5.0, 6.0
Supported debuggers: 1.0, 2.0, 3.0, 4.0, 5.0, 6.0

2. To Reproduce
Steps to reproduce the behavior:

Go to '...'

Publish an extension to BC 23 with AL language extension for business central 12.1
AL code snippet that demonstrates the issue or a link to a code repository the developers can easily pull down to recreate the issue locally.

Note: Because the developers need to copy and paste the code snippet, including a code snippet as a media file (i.e. .gif) is not sufficient.
3. Expected behavior
A clear and concise description of what you expected to happen.
4. Actual behavior
A clear and concise description of what happened accompanied by images, animations, or a link to a video showing the issue occurring
5. Versions:

AL Language: 12.1
Visual Studio Code:
Business Central: 23
List of Visual Studio Code extensions that you have installed:

Final Checklist
Please remember to do the following:

[ ] Search the issue repository to ensure you are reporting a new issue

[ ] Reproduce the issue after disabling all extensions except the AL Language extension

[ ] Simplify your code around the issue to better isolate the problem

Same issue here.
Switching to the latest Pre-Release version allows me to publish again. However debugging on that version seems to not work correctly, returning either an "Error: An internal error has occurred" or opening Business Central but not catching on breakpoints, so hitting issues either way.

Same issue here.
Switching to the latest Pre-Release version allows me to publish again. However debugging on that version seems to not work correctly, returning either an "Error: An internal error has occurred" or opening Business Central but not catching on breakpoints, so hitting issues either way.

I have switched to previous version of AL extension in vs code, but my Sandbox is updated to latest one BC23 so not working either....

Anybody has any workaround? I need to debug a BC23 session

Exact same symptoms here, though I am trying to start a new AL project.
Release version (v12.1.883011) fails on Download Symbols with error from first post above.
Both the prelease (v13.0.887907) and prior version (13.0.878831) are able to Download Symbols but fail when trying to debug with "Error: An internal error has occurred" as reported in second post above.

Same issue if try to publish with debugging, but publish withouth debugging works fine
Problem also occurs when you select "Start debugging without publishing."
BC Online
"runtime": "12.1",
"platform": "<IP_ADDRESS>",
"application": "<IP_ADDRESS>",

Did anyone get workaround yet ?

The originally filed issue with publish is fixed and new VSIX build released, but the issue with debugger is not. Everything currently points to a service infrastructure issue, high priority investigations ongoing, we understand the impact of debugger not connecting.
Current mitigations are

Using snapshot debugger in prod or sandbox environments for customer data and apps installed. See https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-snapshot-debugging
Using regular debugger in containers, if possible (no customer data, and might not include AppSource apps)

Hey... we had the debug issue yesterday on BC23 (debugger stops on wrong line), and we noticed that it was happening with the object that was using namespaces. If we had 7 lines of namespaces at the top of the object, the debugger was stopping 7 lines above the correct line. So take is as a hint, as maybe it has something with this issue ;)

@swomkbb The debugger stooping on wrong lines seems to be another issue, and it has been reported here: #7561
However, according to additional feedback on Twitter, it happens also on objects without namespaces 🤷

What I have found out is that it is somehow weirdly connected with accounts. I am not able to run debugger, my colleague was able to.  As soon as she used my account on her PC she is not able to debug anymore, even if she uses her account on her PC or even on completely different PC.

hat I have found out is that it is somehow weirdly connected with accounts. I am not able to run debugger, my colleague was able to.  As soon as she used my account on her PC she is not able to debug anymore, even if she uses her account on her PC or even on completely different PC.

This is an interesting behavior we have not seen. Did you debug the same environment before and after using your account?

@SBalslev yes we did, we run debug (works), clear credential cache, run debug (not working). Everything completely the same. Interesting is, that other colleague still can run the debugger on v23. And from the posts above it also looks like, that only some people have issues with not being to run debugger at all?

Would it be possible for you to share the environment details where it works for some users and doesn't for others - pm me or send an email to sbalslev @ microsoft.com

I solved the problem temporarily by installing the previous version of AL.

@Zoltero

I solved the problem temporarily by installing the previous version of AL.

what exactly do you mean with 'previous version of AL' the VSC extension? business central 22? the platform and application settings in app.json?
please give more details as i would like to have a temporary fix too ASAP

@justlucdewit
I mean the previous version of AL Language extension for MS 365 BC in VSC. I installed the version 12.1.883011

@Zoltero
I see, thank your for your quick response. The issue I have with that solution is that 12.1.883011 seems to not be compatible with BC23 servers, and we are using a BC23 SAAS environment
the error that im getting when i use 12.1.883011 and try to publish is.
Error: This AL extension version for Visual Studio Code cannot be used with the specified server.
Please update the AL extension from the Visual Studio Code marketplace.

Additional information:
Server details
- Runtime: 12.1
- Web API: 6.0
- Debugger: 6.0

AL extension details
- Supported runtimes: 1.0, 2.0, 2.1, 2.2, 2.3, 2.4, 3.0, 3.1, 3.2, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 6.0, 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 7.0, 7.1, 7.2, 8.0, 8.1, 9.0, 9.1, 9.2, 10.0, 10.1, 10.2, 11.0, 11.1, 12.0
- Supported Web API: 1.0, 2.0, 3.0, 4.0, 5.0, 6.0
- Supported debuggers: 1.0, 2.0, 3.0, 4.0, 5.0, 6.0

@justlucdewit
Have you tried to switch to the pre-release version? Maybe it will help?

@Zoltero Can you just quickly check what your BC version is?
I suspect you are publish to a BC22 environment, but that means your solution of using a 12.. version of the VSC extension would not work for people who work in BC23

@justlucdewit
I am developing for B23 with runtime 12.0. I am developing on a local container. We are making the main solution in pipeline in DevOps where I pushes my adjustments.

@Zoltero ohhh, i think the issue that im having here is the runtime version. Im developing on a BC23 SAAS environment with runtime 12.1, which isnt supported by anything except 13.0.878831 and 13.0.887907
both of which have this issue unfortunately

@NKarolak When we can expect the solution for this?, we have a deadline to acheive

Im curious about this too,
Not being able to attach a debugger to SAAS environment is such a big critical issue, yet after a week there is still no solution or temporary fix (that works for us) in sight.

@harshilpatel984 I am not Microsoft, I am just as depending on the fix as you are ;-)

Not sure if this is any help at all, but I noticed that if it's the first time an extension is being published from vscode to a tenant, than vscode manages to successfully publish it and attach the debugger (F5).
When trying to publish and debug a previously published app, vscode manages to publish the app but the debugger wont attach and I get the internal error in the debug console

@y0m0 I noticed the exact same thing as you, however I also noticed that it seems to reset everytime I restart my machine.
The first time after a restart, I seem to be able to attach a debugger, but then a second time it gives me the error. Even restarting VSC doesn't help and I need to restart my entire system for it to reset.
But unfortunately eventho the debugger seems to attach, it also seems to completely ignore all of my breakpoints

The issue has been resolved and is being deployed in the current hotfix train. Because of the safe deployment processes it will take a bit to roll out.
We will be resuming upgrades as the changes are applied and the region is ready.
We're already now getting ready to open for upgrades in some countries and more will come soon.

Is there a release date ?
(In my case DE) Because the preview version of the sandbox has been removed today and now there is no way left to debug! Which is almost equal to no way left to develop...

Same question here, can we get some date for release of this fix ?

The change is being rolled out and has already been applied in a lot of regions - it's scheduled for the remaining regions tonight so if everything goes as expected then you should have it by tomorrow.

I don't mean to be too impatient, but still, even if I create a US sandbox only version available is 23.0.12034.12676.
What "tomorrow" ? Which timezone ? In CET it is tomorrow... and I am sitting at work, still no debugger and I am supposed to startup a company.
Do you have a version number for the fix ? And something I can tell my boss - about when I can continue working...

Okay - the debugger is working (Region DE). Version is the same.
Problem solved - I think

For me debuger on OnPrem with BaseApp version 23.0.12034.12841 still fires wrong line in DAL objects, in my new objects with no namspaces debuger works fine, any recommendations? I tried Repair-NavApp for all published apps, restart services, restart PC but debuger in AL extension v12.1.887908 for VS Code just doesnt work correctly

For me debuger on OnPrem (W1) with BaseApp version 23.0.12034.12841 still fires wrong line in DAL objects, in my new objects with no namspaces debuger works fine, any recommendations? I tried Repair-NavApp for all published apps, restart services, restart PC but debuger in AL extension v12.1.887908 for VS Code just doesnt work correctly

It's the same for me, the debugger does not work on DAL objects.

The SAAS issue should be fixed. The line handling bug on references (DAL) still present onprem issue will be fixed with the release of 23.1.
See issue #7566

Good evening, try following these steps:
https://www.linkatualizado.com.br/bc-202410251950


php-fpm binary is php-fpm5 so added symlink

Kept getting
php-fpm has not installed.
Looks like php-fpm5 installs as /usr/bin/php-fpm5 rather than /usr/bin/php-fpm

@timothyclarke Thanks.


[Insight] Unused use statement should be avoided - in src/Core/System.php, line 5

in src/Core/System.php, line 5

The class Core\Log is declared but never used. You should remove the use statement.

<?php

namespace Core {
    use \Exception as Exception;
    use \Core\Log;
    use \Core\Util;

    trait System {
        public static function appReady($url) {
            if (!empty(DEBUG)) {

Posted from SensioLabsInsight

ok


I want to know which properties of the retrieved entity are excluded from the index.

Is your feature request related to a problem? Please describe.
I want to know which properties of the retrieved entity are excluded from the index.
Describe the solution you'd like
Allow the value of exclude_from_indexes, defined in Protocol buffer, to be retrieved through the library.
Describe alternatives you've considered
None.
Additional context
None.

https://github.com/googleapis/nodejs-datastore/compare/main...mish-tv:main
I believe that adding a new EXCLUDE_FROM_INDEXES_SYMBOL and adding a value to the entity object would add feature with less scope of influence.

Related request: https://github.com/googleapis/nodejs-datastore/issues/1111

When you say the retrieved entity then are you referring to when datastore.get is used or when datastore.runQuery is used?

I can confirm that entity.properties at https://github.com/googleapis/nodejs-datastore/blob/ba8ea831e317794abd6a5d5a5d61b96c6c794855/src/request.ts#L309 includes an excludeFromIndexes field so I think this can be included here. We just need to parse it properly in this function.


Plugin: Dialer / Call action

 Issue by sethladd
Friday Aug 21, 2015 at 14:52 GMT
Originally opened as https://github.com/flutter/engine/issues/735

Thanks!

Closing; this is now supported by passing a tel:<phone no> URL to the url_launcher plugin:
https://pub.dartlang.org/packages/url_launcher


Support for macaroon root key rotation

Implements #286. Based off #313.
Subtasks from issue:

[x] Update the RootKeyStorage implementation to generate a new root key and ID every time RootKey() is called.
[x] Update genMacaroons() in lnd.go to add a TimeBeforeCaveat with a sane default timeout and possibly a command-line option in config.go to modify that timeout if desired.
[x] Update the code in lndMain() in lnd.go that checks for macaroon file existence to also check for macaroon validity/expiration.

@jimpo , thanks for the review. Both of the error messages you mentioned belong to #313, which was approved by @aakselrod and is waiting to be merged in, so since this branch is based off that one, I think it would be better to wait for it to be merged and add changes you suggested afterwards.

Rebased on master.

Hey @aakselrod, any changes suggested?

This has been untouched for more than 2 years now. Not sure what to do with it.
In my opinion, adding an expiration date to each macaroon just creates another hassle for users of the API. I think what we really want is the ability to revoke a specific macaroon in conjunction with the bakery.
I'm in favor of closing this PR, together with the feature request (#286).
@Roasbeef, @wpaulino what do you think?

Better to support adding timeouts through the bakery?

We've discussed this internally and decided that we don't want to include this feature in lnd as is.
The following reasons were stated:

gRPC and REST users would run into an error every week with the default settings
lnd needs to be restarted for new macaroons to be created
the new bakemacaroon command allows users to set a timeout to a newly baked macaroon.
more fine-grained control over root keys should be implemented (see #3715).


FreeBSD xattr support

Since #3559, reva compiles perfectly fine on FreeBSD, but runs into problems with the xattr on FreeBSD:
Failed to set all xattrs: xattr.Set   user.ocis.blobsize: invalid argument
This MR adds support for FreeBSD's xattr namespaces. On Linux, every namespace is accessible, but in FreeBSD (and in FreeBSD jails) this is not the case: the user part of the namespace is the only namespace writable, and is the implied namespace.
Setting a namespace manually, i.e. user.ocis will have the system refuse to use said namespace. Omitting the user. part of the namespace on FreeBSD solves this bug. The complete namespace will still be user.ocis, as FreeBSD prepends this part automatically.
Many thanks to @BlackNovaTech for help with the debugging.

@joramkruijer Thanks for the PR!
@butonic FYI

@butonic Thanks, it sure was an interesting thing to solve! I've added the changelog entry you proposed, I think it covers the fix perfectly.


Update requirements.txt for the optimum script

Numpy needs to stay under 2.0 (that was out recently)

Hi @tarekziade! 👋 Can you confirm this change is still necessary with the latest (main) set of requirements? https://github.com/huggingface/transformers.js/blob/main/scripts/requirements.txt


Integration with actix-web

@abonander Is it possible for you to give an example for integrating with actix-web. I enjoyed using this with Rocket. I am having a tough time integrating this with actix tho.

@senthilkumarv actix-web is Futures-based, so you actually want https://github.com/abonander/multipart-async.


Reexport factory::FixedPosition

Thanks for pointing this out. I already noticed this issue but I'm currently working on improving factories in general for the 0.2 release so that they work better with containers like adw::TabView.
I hope you don't mind me closing this PR but as I said I'm already working on a mini re-work of factories and this will be fixed in the process as well :)


Flake8: Fix E201, E202 and E231

Fix violations that probably haven't been detected in the original PR but are in place

Hi @grendel513 / @devGregA / @blakeaowens. I would like to ask for a review.


Added changelog

Hopefully this will help everyone keep track of changes...

Thanks JF, I've been thinking about versioning and release process a bit, and as much as I'm not satisfied with what is there now, there are so many actual images that get generated that it would create quite a lot of noise in the release tab...
That said to add tags would make a lot of sense!
Would you agree tags should be added directly on master at release time by the azure pipeline job?
Would you be OK to create an issue for this? We can then discuss the details there.


Question on Getting Runtime Variance for BN

At executor.py we see https://github.com/SymbioticLab/FedScale/blob/fe2eb88a339e5215f4735c61beaeaa0096132c15/core/executor.py#L224
while the comment right above it is
https://github.com/SymbioticLab/FedScale/blob/fe2eb88a339e5215f4735c61beaeaa0096132c15/core/executor.py#L223
So it seems indispensable to have Line 224, but I am not sure how it works. I have tried to remove Line 224, and the training slows down a lot. What on earth is going on with Line 224? How is it related to Batch Normalization?

I worked out the answer myself. As update_model_handler() in executor.py only updates the trainable model weights, we still need the above-mentioned line to keep some untrainable parameters up-to-date, including those used for local batch normalization. We can actually add the debugging code snippet like
logging.info(f"{self.model.bn1.running_var}")

before and after the execution of Line 224 to see what happens.