Allows cancelled subscription to be swapped at next cycle.

When swapping a cancelled subscription to a different plan immediately using $subscription->swap('new_plan) this is supported, however when using $subscription->swapNextCycle('new_plan') it results in a TypeError:

TypeError: Laravel\Cashier\Subscription::scheduleNewOrderItemAt(): Argument #1 ($process_at) must be of type Carbon\Carbon, null given, called in /Projects/sources/laravel-cashier-mollie/src/Subscription.php on line 248

This pull request adds support for swapping cancelled subscriptions at the next cycle.

Hi @bobab12,
Interesting one.I think it's better to throw a LogicException here if the subscription is cancelled and a swap is attempted.

Also because it's really business specific how these cases should be handled.
Personally I'd do something like this:
if($subscription->cancelled()) {
    $subscription->resume(); // will throw an exception if impossible
    $subscription->swapNextCycle($nextPlan);
}

Sorry about the confusion. If you can make the changes mentioned in the review, I'll merge it! 🙏


GENERIC_CHART_AXES affects the Jinja template

The GENERIC_CHART_AXES=TRUE will impact the control panel in the frontend, so the time_range will not be included in the request body as a result.
The time_range not in request body will affect the API(/api/v1/chart/data) parsing of to_dttm and from_dttm.
I'm uncertain whether this logic adjustment should be handled by the frontend or the backend.
How to reproduce the bug

The Dataset use virtual table with jinja template.

SELECT *
FROM main.channels
where true
{% if from_dttm is not none %}
  and created >= '{{from_dttm}}'
{% endif %}
{% if to_dttm is not none %}
  and created < '{{to_dttm}}'
{% endif %}

Go to Explore and create a Chart.

The Jinja template where from_dttm becomes None, and to_dttm becomes today. Even my temporal filter is set to 2020-01-01 <= x < 2021-01-01.

Expected results
SELECT * FROM main.channels where true   and created >= '2020-01-01T00:00:00'   and created < '2021-01-01T00:00:00'
Actual results
SELECT * FROM main.channels where true   and created < '2023-09-14T00:00:00'
Screenshots

Environment
(please complete the following information):

browser type and version:
superset version: superset version
python version: python --version
node.js version: node -v
any feature flags active:

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
In the Explore, the fetch chart is using the /api/v1/chart/data.
The request body are different between feature flag TRUE or FALSE.
When GENERIC_CHART_AXES=TRUE:
  "queries": [
    {
      "filters": [
        {
          "col": "created",
          "op": "TEMPORAL_RANGE",
          "val": "2020-01-01 : 2021-01-01"
        }
      ],
      "extras": {
        "time_grain_sqla": "P1D",
        "having": "",
        "where": ""
      },
      "applied_time_extras": {},
      "columns": [
        "created",
        "channel_id",
        "creator"
      ],
      "orderby": [],
      "annotation_layers": [],
      "row_limit": 1000,
      "series_limit": 0,
      "order_desc": true,
      "url_params": {
        "datasource_id": "11",
        "datasource_type": "table"
      },
      "custom_params": {},
      "custom_form_data": {},
      "post_processing": []
    }
  ]

When GENERIC_CHART_AXES=FALSE:
  "queries": [
    {
      "time_range": "2020-01-01 : 2021-01-01",
      "granularity": "created",
      "filters": [],
      "extras": {
        "time_grain_sqla": "P1D",
        "having": "",
        "where": ""
      },
      "applied_time_extras": {},
      "columns": [
        "created",
        "channel_id",
        "creator"
      ],
      "orderby": [],
      "annotation_layers": [],
      "row_limit": 1000,
      "series_limit": 0,
      "order_desc": true,
      "url_params": {
        "datasource_id": "11",
        "datasource_type": "table"
      },
      "custom_params": {},
      "custom_form_data": {},
      "post_processing": []
    }
  ]

I was looking at the code, and I suspect that the Today date for the {{ to_dttm }}  macro comes from here:
_since = parse_human_datetime(since) if since else None
_until = (
    parse_human_datetime(until)
    if until
    else parse_human_datetime(_relative_end)
)

Note that _since is set to None if undefined, however _until would be set to parse_human_datetime(_relative_end) and _relative_end is set to "today" here.
I changed this to _until = parse_human_datetime(until) if until else None and confirmed the issue is fixed, but I suspect that it defaults to "today" for a reason. @zhaoyongjie would you happen to know if we need to keep the "today" as the default value here? Sorry for the direct tag, but I noticed you actually created this file so you might have more context.


Only dispatch change event if new date is selected. Fixes #24 and partial fix for #23.

Stops potential RTE in client code when clicking on empty date cell and stops change event being dispatched if the same date is clicked on twice.

The change event should never have been dispatched from here.
Fixed in 2072541


[docs] rnpm link out of date

Before opening a PR, I wanted to check to make sure.
React-native now includes react-native link to link components without the need of rnpm?

Yeah, you're right. We can change rnpm link to react-native link. PR is welcomed 👍


Primitive cache design

Why the cache is designed for primitive, not pd?

My guess is, probably some pd's are pretty lightweight and easy to create. However, I noticed that the conv pd creation time is non-neglegible to some extend.
If I comment out the calls to dnnl_primitive_execute and compare the preparation time before entering primitive::execute, I found the preparation was dominated by the conv pd creation:

I feel like caching the primitive desc also makes sense, as the primitive and pd are 1:1 in most cases, except that we need to create a dummy pd to query some info.

(minor) Can we get the primitive cache key?

If we could get the keys for primitives, we will have the opportunity to cache the input/output buffers in the framework to eliminate allocations, or we won't be able to hold these buffers as we have no key to fetch them out.
This FR is not that important but there might still be a potential performance issue if we completely rely on the DNNL primitive cache without caching any buffer.

Hi @pinzhenx,
Thanks for the questions!

Why the cache is designed for primitive, not pd?

There are few reasons for that:

As you said, the expectation is that primitive descriptor should be lightweight and would actually be the one that is used as a key (to some extent) to fetch the corresponding primitive.
Caching pd doesn't interplay well with the idea of the primitive descriptor iterator.

I found the preparation was dominated by the conv pd creation:

I agree that we don't optimize pd-creation much, so I am not surprised that commenting out the execution the pd-creation appeared in VTune report in the upper positions :) But I wonder if this creation indeed affect any real world examples you know.

(minor) Can we get the primitive cache key?

Good question. Currently we have internal comparison operator for pd that allows using it as a key in primitive cache. In theory we could expose this comparison operator and on the FWK side you will use this pd as a key. However, I think you want the key to be something more serializeable. like std::string or something. Not how expensive it would be though (given that pd contains a lot of information). Your ideas are welcome.

In general, I want to note that we are still exploring the ways to implement the primitive cache. In particular we consider caching not the primitive itself, but rather only JITted kernels. This will allow better memory reusage + we won't cache some simple implementations that don't use jit (hence have zero cost of creation). This will also allow reuse cache between engines (not very relevant to CPU though). However, there are downsides as well: non obvious life-time that the library needs to control somehow, more expensive implementation, slightly bigger overhead on creating primitive (as less things are cached).
@densamoilov is working on all that, but he is currently out for a few weeks. But anyways, we will be glad to discuss the thoughts and ideas with you :)


Work Package wp-fu.csv

Results of Phase 1
wp-fu-results.csv.csv
Time:
Paper 1 - 25min
Paper 2 - 20.31min
Paper 3 - 8 min
Paper 4- 11 min
Paper 5- 15 min
Paper 6 - 9 min
Paper 7 - 15 min

I would like to work on this please!

Results of Phase 1
wp-fu-results.csv
Time Taken for each paper

18 mins
15 mins
12 mins
14 mins
17 mins
12 mins
15 mins

Results of Phase 1
wp-fu-results.csv

wp-fu-results.csv


show list of crypto

I think it will be a good idea to add recyclerview inside a fragment to show multiple currencies, in this case we will cover multiple android topics, we can also cache them with room

don't think again @abdalla19977

That is a showcase to implementing popular library and Google suggested architecture. I don't think to add a new feature, please just open an issue to improve the current implementation.


Sorry to bother!!! however, after lots of searching did not uncover.
What is lowercase c dash space (c-space)?
C-space is control+space, however, I cannot find out what the lowercase c means.

Lowercase c also means control, so c-space is control + space.

Thank you. I think that part of my confusion is that control-space does not
work. It simply beeps at me. Everything else works as expected. Any hints
how to debug?
Regards,
Chuck Boecking
512.850.6068 (office and cell)
<EMAIL_ADDRESS>ChuckBoecking.com
chuck.boecking (skype)
@ChuckBoecking
http://www.linkedin.com/pub/chuck-boecking/10/970/17b
On Thu, Sep 6, 2018 at 10:29 PM, Fred Bunt<EMAIL_ADDRESS>wrote:

Lowercase c also means control, so c-space is control + space.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/amix/vimrc/issues/459#issuecomment-419311214, or mute
the thread
https://github.com/notifications/unsubscribe-auth/APSFFvQkj9ZHpy2h9UZvRIFanrmL3n8nks5uYegCgaJpZM4WX2eE
.


Scheduler gets stuck in 'Running' state if there's an error in the build process

A more detailed description will be added...

Can you provide more details?


time:parse fails for given date string in type "yyyy-MM-dd'T'HH:mm:ss.SSSZ"

Description:
Tried to parse the date string 2020-04-09T06:00:14.584Z using time:parse and it returned the following error.
error {ballerina/time}TimeError message=parse date "2020-04-09T06:00:14.584Z" for the format "yyyy-MM-dd'T'HH:mm:ss.SSSZ" failed:Text '2020-04-09T06:00:14.584Z' could not be parsed at index 23

Code:
var parsedTime = time:parse("2020-04-09T06:00:14.584Z", "yyyy-MM-dd'T'HH:mm:ss.SSSZ");
io:println(parsedTime);

Affected Versions:
Ballerina 1.2.0
Related Issues:
#17830
Suggested Labels:

Area/StandardLibs
Component/Time
Type/Bug

The pattern that has been used here to parse the time string "2020-04-09T06:00:14.584Z" is incorrect. Java's parse method uses the ISO_ZONED_DATE_TIME formatter. A sample pattern that matches this formatter is "yyyy-MM-dd'T'HH:mm:ss.SSSXXX" (please refer https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html for more info about X's and Z's).
Alternatively, you can use the below code to parse this particular time string.
var parsedTime = time:parse("2020-04-09T06:00:14.584Z", time:ISO_ZONED_DATE_TIME);

The pattern that has been used here to parse the time string "2020-04-09T06:00:14.584Z" is incorrect. Java's parse method uses the ISO_ZONED_DATE_TIME formatter. A sample pattern that matches this formatter is "yyyy-MM-dd'T'HH:mm:ss.SSSXXX" (please refer https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html for more info about X's and Z's).
Alternatively, you can use the below code to parse this particular time string.
var parsedTime = time:parse("2020-04-09T06:00:14.584Z", time:ISO_ZONED_DATE_TIME);


Replace make_float4 with Float4::expr, etc.

Summary of Changes:
This pull request changes all use of make_xxxxN(...) with XxxxN::expr(...).
Why?
The primary reason for this is that the make_float4 type functions are rather deceptive - the direct reading would imply that it'd make a Float4, but it actually makes a Float4Expr. Additionally, it was rather inconvenient to discover how to create Float4Exprs out of normal values, as the Float4Expr::new didn't support taking Into<F32> types. Replacing these functions with Float4::expr functions fixes this issue, as well as decreases number of imports necessary (if not using a glob luisa::* import) and namespace pollution, and also cleans up the code, as the make_xxxxN functions had to be special-coded.
Concerns:

There is still a Float4Expr::new( function remaining. I kept this as a way of building Float4Exprs without having a possibility for side effects due to the Into type might be useful occasionally, but removing it might be helpful.
This is a breaking change, and will require refactoring of the renderer dependent on this.

I'd like to know if there's a way people want me to submit pull requests, and also what types of pull requests people are interested in accepting (eg. breaking changes)? I'm going to be using this for my application, so I'll probably have more things along these lines.

Thank you for your interest in our project. Yes I agree with your point. The current design was to keep the DSL similar to its C++ counterpart. However, as your pointed out, it may not be optimal for Rust.
Do you think it would be also good idea to replace XXXExpr::new to XXX::expr for custom types?

Feel free to open whatever pull request you want, even if it includes breaking changes. We welcome new ideas!

Thank you for your interest in our project. Yes I agree with your point. The current design was to keep the DSL similar to its C++ counterpart. However, as your pointed out, it may not be optimal for Rust. Do you think it would be also good idea to replace XXXExpr::new to XXX::expr for custom types?

@shiinamiyuki Hmm, I'm unsure. Part of the issue is that people wouldn't necessarily want to create a large struct with a really large series of news, and with the automatic generation, it'd make changing ordering in the struct a breaking change. Perhaps it might like make sense to add like a XXXExprData type, and then you can do
XXXExpr::from_components(XXXExprData {
    a: 10,
    b: Float2::expr(1.0, 5.0),
});

Although this is rather verbose.
It also might make sense to replace impl Into<Expr<T>> with a special type impl IntoExpr<T>, which specifically takes either T or Expr or Var, and use that everywhere, as I feel rather... iffy about using the normal Into since it can be extended randomly and generally is hard to keep track of (not to mind rust-analyzer gets confused).
Anyways, I think I'll try a couple of different ways of doing this.

Also, would anybody be opposed to splitting up the lang/mod.rs file into different places for PrimExpr, etc? It's somewhat inconvenient for me to dig in there sometimes, but some people seem to like large files?

Although this is rather verbose. Edit: Because of the Expr<__> syntax, I'd consider making the Float2Expr, etc notations all private, as that'd make it easier to keep track of imports. Although then for consistency we'd want to make F32 private; would that provide issues?

Correct me if I'm wrong, I don't think it is possible to make XXXExpr private since they are ultimately exposed through Value::Expr, forcing it to have the same visibility as the value type.

XXXExpr::from_components(XXXExprData {
    a: 10,
    b: Float2::expr(1.0, 5.0),
});

There is a struct_ macro that does, albeit it uses struct_!(XXX { ... }) syntax rather than struct_!(XXXExpr { ... }). It also breaks rust-analyzer but this might be fixable. I admit the library is less polished when it comes to the consistency of whether using XXX or XXXExpr.

Also, would anybody be opposed to splitting up the lang/mod.rs file into different places for PrimExpr, etc? It's somewhat inconvenient for me to dig in there sometimes, but some people seem to like large files?

Feel free to do so.

@shiinamiyuki
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=b8c9ede544802d6f39e1827cf87c5318 this seems to work
mod bar {
    mod foo {
        pub struct A;
    }
    pub type B = foo::A;
    pub fn get_b() -> B {
        foo::A
    }
}

fn main() {
    let x = bar::get_b();
}

compiles, but adding let y = bar::foo::A breaks it.
And hmm, I'll check the struct_! thing.
Also rust-analyzer generally just doesn't work within macros for displaying the type inference things at all; that's pretty much unfixable on this end.
By the way, is there any place where you use (or intend to use) a VarProxy that isn't just { node: NodeRef, _marker: PhantomData }? Because then we could just replace all of them with a struct Var { node: NodeRef ...} (although there might be some fiddling necessary - you'd have to generate a trait XXXAccessors for the .x() style methods).

Alternatively, if we're willing to make a mess of things and use nightly, it'd be possible to use arbitrary_self_types with Deref<Target = T> for Expr<T>, and directly allow doing impl XXX { fn x(self: Expr<XXX>) -> Expr<u32> { ... }

mod bar {
    mod foo {
        pub struct A;
    }
    pub type B = foo::A;
    pub fn get_b() -> B {
        foo::A
    }
}

fn main() {
    let x = bar::get_b();
}

compiles, but adding let y = bar::foo::A breaks it.

Thank you! This looks great! One question remains: how to handle method defined on XXXExpr
#[derive(Value, Clone, Copy)]
#[repr(C)]
pub struct Onb {
    tangent: Float3,
    binormal: Float3,
    normal: Float3,
}

impl OnbExpr {
    fn to_world(&self, v: Expr<Float3>) -> Expr<Float3> {
        self.tangent() * v.x() + self.binormal() * v.y() + self.normal() * v.z()
    }
}

impl Expr<Onb> direct is an error. I can see one way is to define a new trait:
trait ToWorld {
    fn to_world(&self, v: Expr<Float3>) -> Expr<Float3>;
}
impl ToWorld for Expr<Onb> {
    fn to_world(&self, v: Expr<Float3>) -> Expr<Float3> {
        self.tangent() * v.x() + self.binormal() * v.y() + self.normal() * v.z()
    }
}

while I can use proc-macro to make it less verbose. It requires a new trait to be generated for each impl block.

Also rust-analyzer generally just doesn't work within macros for displaying the type inference things at all; that's pretty much unfixable on this end.

It works to some extent. Sorry, I should make a correction that I originally meant it breaks rustfmt.

By the way, is there any place where you use (or intend to use) a VarProxy that isn't just { node: NodeRef, _marker: PhantomData }? Because then we could just replace all of them with a struct Var { node: NodeRef ...} (although there might be some fiddling necessary - you'd have to generate a trait XXXAccessors for the .x() style methods).

Maybe? The main reason behind current design is to enable impl TraitInAnotherCrate for XXXVar and similarly for XXXExpr.

Maybe? The main reason behind current design is to enable impl TraitInAnotherCrate for XXXVar and similarly for XXXExpr.

Ah yeah, being able to add impls would be kind of important. Although I don't think that adding external trait impls might be the most important. Whatever, the current version seems to work well enough. Also, for the impl Expr<Onb> thing, you could just put the impl blocks in the impl priv::Expr<Onb>, or even have an alias type OnbExpr = priv::Expr> and then impl OnbExpr.

@shiinamiyuki closing because it's incorporated into #10.


minor: Add ARROW to CREATE EXTERNAL TABLE docs and add example of COMPRESSION TYPE

Which issue does this PR close?
Related to https://github.com/apache/arrow-datafusion/pull/7477
Rationale for this change
Suggested by @jackwener  on https://github.com/apache/arrow-datafusion/pull/7477/files#r1316669263
What changes are included in this PR?
Update docs
Are these changes tested?

Are there any user-facing changes?

We may also want to add ARROW here:
https://github.com/apache/arrow-datafusion/blob/dfd685187dba7a44f47ff2a36dc09651f7fd2a1f/datafusion/sql/src/parser.rs#L757-L763

We may also want to add ARROW here:

Filed https://github.com/apache/arrow-datafusion/pull/7498


Visible.html Manual test's projection type is wrong

Description
Visible.html Manual test's projection type is wrong.
should change imageType option value from "equirectangular" to "vertial_cubestrip".

Fixed


Vulnerability roundup 102: clamav-0.102.4: 2 advisories [7.8]

search, files

[ ] CVE-2021-1386 CVSSv3=7.8 (nixos-20.09)
[ ] CVE-2021-1405 CVSSv3=7.5 (nixos-20.09)

Scanned versions: nixos-20.09: 76ed24ceab9.
Cc @fpletz
Cc @globin
Cc @phreedom
Cc @qknight
Cc @robberer

NixOS 20.09 is EOL, so this issue isn't actionable anymore.


⚠ Bofrost.lu has degraded performance

In 11ce680, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1097 ms

Resolved: Bofrost.lu performance has improved in 75c4e15.


Deployment (and other Workloads) Views should include latest Events without any additional click

Internal reference: SURE-3162
Reported in 2.6.x
Within the UI for 2.5.x, it was possible to see the latest events on the views for Deployments and other Workloads without additional clicking. With 2.6.x, it is now required to click on the Conditions tab. A user would like to restore part of the 2.5.x behaviour so that it's as easy as use as it was in the past.

This can be done with the 'Recent Events' tab


update plugin_parser

[x] add a tool
[ ] add a tool via docker hub/registry image rather than git repo (optional url?)
[x] list tools
[ ] list a group of tools
[ ] define a group of tools
[ ] remove a tool or group of tools
[ ] update a tool or group of tools
[x] versioning of tools
[ ] enable a tool or group of tools
[ ] disable a tool or group of tools
[ ] build a tool or group of tools

major outstanding items still are: groups and adding a tool that isn't a git repo


Errors appeared in the Event Viewer WS2016

Hi everyone,
Today two errors appeared in the event viewer. Can someone please help me?

err_win_acme_2.txt
err_win_acme_1.txt

The client is unable to connect to the Let's Encrypt endpoint (https://acme-v02.api.letsencrypt.org/directory) from your server. Possibly because of your TLS configuration or network level issues (firewall, proxy, ...).


enhancement

delete invalid combos? :)

(make it optional pls)

(make it optional if youre gonna do it pls)

It just saves the invalid combos as error.txt in the result folder


fix(discovery): define units for scene and configuration values

And for scene values, use the correct template because the value is a JSON object that also includes the units, but nests the actual value one level deeper.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

0 of 22 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 21.062%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/lib/Gateway.ts
0
22
0.0%

Totals

Change from base Build<PHONE_NUMBER>0:
-0.02%

Covered Lines:
3924

Relevant Lines:
19808

💛  - Coveralls


docs: update contributing.md file

Update Release documentation - see #284

Nice!

Great to see this merged! 👍
Where does this leave this PR @piotr-oles? https://github.com/Realytics/fork-ts-checker-webpack-plugin/pull/287
It was opened before the one above... Not sure what the best way forward is?

:tada: This PR is included in version 1.3.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


MaxWidth inconsistent

When i set a MaxWidth on the rect from https://learn.microsoft.com/en-us/windows/win32/winmsg/wm-getminmaxinfo WM GETMINMAXINFO window message. It works like expected, you cannot resize the Window more than the MaxWdith:
var manager = WindowManager.Get(this);
manager.MinWidth = 1200;
manager.MaxWidth = 1600;

for example.
If you now click the maximize window button it only maximizes until the maxwidth is reached what is good. But when you now close and reopen the app it does get fullscreen.

@paulober I'm assuming you're using window location persistence?


Font and background - same color

I am using the LCARS Kronos theme and when a new device is discovered in Home Assistant, the button, which normally says "configure", is just a black box:

Thanks for the helpful screenshots!

This should be fixed in 2.0

Sorry, not fixed yet 2.1, but I have implemented and validated a fix that will ship in 2.2.


index.html: Display post summaries below date

This adds a little bit of information to the post title by displaying its description or summary, if available.

Can that be a theme settings? The original hyde theme doesn't have summaries so that would be a deviation from it that should be gated.

Theme settings: Would be fine with me. I can also simply create a derived theme and just leave Hyde alone in its current form.


PowerShell Code Error on https://docs.microsoft.com/en-us/microsoft-365/enterprise/configure-user-account-properties-with-microsoft-365-powershell?view=o365-worldwide

[Enter feedback here]
I am having problems with this code: Get-AzureADUser | Set-AzureADUser -UsageLocation "FR"
The code doesn't work as-is for 2 reasons.
1.) "FR" gets input exactly as "FR", which violates the max characters. The max is 3. "FR" is 4. It should not have quotes. I have verified and tested this myself today, because it wreaked havoc on our system. We were getting this error:
Unable to update this object in Azure Active Directory, because the attribute [UsageLocation], in the local Directory exceeds the maximum allowed length. If you want to update, reduce the length in the local directory services, and then try again.
Tracking Id: 2a98435c-5b23-439e-a029-2707215fb39a
ExtraErrorDetails:
[{"Key":"ObjectId","Value":["b7964afb-1e8d-4f38-899a-0028d175554a"]},{"Key":"InvalidAttributeName","Value":["UsageLocation"]},{"Key":"MaxLength","Value":["3"]},{"Key":"MinLength","Value":["1"]}]
2.) Just running Get-AzureADUser | Set-AzureADUser -UsageLocation does not work. I tried a couple of times and the values never updated online. I had to change the code to Get-AzureADUser -All $true | Set-AzureADUser -UsageLocation US to get them to update.
Maybe modify the code to have a filter for user objects only.

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

ID: 93f4cab0-7352-388a-7a49-fbd82845d558
Version Independent ID: 0b53e3c6-41f1-444d-4603-355e7bd4d862
Content: Configure Microsoft 365 user account properties with PowerShell - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/configure-user-account-properties-with-microsoft-365-powershell.md
Service: o365-administration
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

@Phyktion Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/9241
Once the author approves, the changes will be live.
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @Phyktion Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


feat(oauth): implement intercom

Description
Adds the oauth implementation for intercom.
Intercom is similar to notion (no refresh)
Risk

Deploy Plan

LGTM, can you please add to deploy plan the need to add the environment variables 🙏

Just to be clear, this is not the migration, deploying this PR does not require any new variables

\o/


Update geology data

It has been identified that the geol_clip shapefile has topological gaps.
Since this is quite an important benchmark example for the team, adding here the topologically correct shapefile.
Changed names to "no_gaps" explicitly to avoid confusion with previous versions.
Also don't seem to have writing permission on this repo, so making the PR from my personal account.

@lachlangrose are you able to give me access to this repo, please? I don't seem to be able to merge this PR. Thank you!


App manager refactoring

This is WIP status.
It allows developpment of apps using a class instead of functions.
The goal is to ease the development of apps for newcomers.
Advantages of a class based app development:

no need for global variables
less boilerplate code
easier to centralize code common to all apps
easier to refactor down the road

##What to review
The file apps/app_manager.py (formerly manager.py) has been heavily modified to be able to support both the old system (init_app and callback functions) and the new system (class-based).
A new file apps/zero_app.py has been created to host the mother class of all apps using the new system.
The app apps/stopwatch/ presents a simple app using the class based system.
Discussion points

The class ZeroApp should be moved somewhere else. Where ?
The class app_manager.py could still use some refactoring (see various #todo comments in the file), how far should we go ?
The ordering system is unclear. A better architecture documentation would help. Any suggestions ?

todo
documentation, do not merge yet ;)

Documentation built successfully, just a couple of unrelated warnings for me =)

The ZeroApp can be wherever it doesn't obstruct anything, IMO =) As long as it's easy to import and its file doesn't interfere with command-line autocomplete, I'm sure we'll be fine.

Speaking about ordering - it's not something that app developers can make use of, instead, it's more of "how you can tweak your individual ZPUI install". It could probably use a documentation page, but I also think it could use a rework before it's properly documented, so that you can actually specify ordering of a certain menu somewhere and not have it conflict when a git pull is done and one commit contains an updated ordering. From there, it's not even that far from the "how to properly allow the user to dynamically configure a ZPUI install" issue, which is a big problem on its own and I should probably file an issue about that =)


Add Stacktrace info to ShouldHaveCause

Check List:

Fixes #1355
Unit tests : YES (no new)
Javadoc with a code example (on API only) : NO, no API changes involved
PR meets the contributing guidelines

Following the contributing guidelines will make it easier for us to review and accept your PR.

Thanks @MBoegers, I will review your PR this week.

@MBoegers would you have time to update the PR?

Superseded by #2872.


New agreed public holiday in Russia

Dear workalendar team,
We were notified, that recently, the Russian government agreed on the occupational calendar for 2021, which brings additional logic to some of the holidays.
Year 2021
Is it possible to adjust the holidays for Russia since 2021 accordingly?
The current result:
from workalendar.europe import Russia
Russia().holidays(2021)
[(datetime.date(2021, 1, 1), 'New year'),
 (datetime.date(2021, 1, 2), 'Day After New Year'),
 (datetime.date(2021, 1, 7), 'Christmas'),
 (datetime.date(2021, 2, 23), 'Defendence of the Fatherland'),
 (datetime.date(2021, 3, 8), "International Women's Day"),
 (datetime.date(2021, 5, 1), 'Labour Day'),
 (datetime.date(2021, 5, 9), 'Victory Day'),
 (datetime.date(2021, 6, 12), 'National Day'),
 (datetime.date(2021, 11, 4), 'Day of Unity')]

The expected result:
Note: Saturday 2020-02-20 becomes a working day
from workalendar.europe import Russia
Russia().holidays(2021)
[(datetime.date(2021, 1, 1, "New Year"),
(datetime.date(2021, 1, 2, "Day After New Year"),
(datetime.date(2021, 1, 3, "Another Day After New Year"),
(datetime.date(2021, 1, 4, "Third Day after New Year"),
(datetime.date(2021, 1, 5, "Fourth Day after New Year"),
(datetime.date(2021, 1, 6, "Fifth Day after New Year"),
(datetime.date(2021, 1, 7, "Christmas"),
(datetime.date(2021, 1, 8, "Day After Christmas"),
#(datetime.date(2021, 2,20, "working day, Saturday"),
(datetime.date(2021, 2, 22, "Day Before Defendence of the Fatherland"),
(datetime.date(2021, 2, 23, "Defendence of the Fatherland"),
(datetime.date(2021, 3, 8, "International Women's Day"),
(datetime.date(2021, 5, 1, "International Workers' Day"),
(datetime.date(2021, 5, 3, "Compensation holiday because International Workers' Day was Saturday"),
(datetime.date(2021, 5, 9, "Victory Day"),
(datetime.date(2021, 5, 10, "Compensation holiday because Victory Day was Sunday"),
(datetime.date(2021, 6, 12, "National Day"),
(datetime.date(2021, 6, 14, "Compensation holiday because National Day was Saturday"),
(datetime.date(2021, 11, 4, "Day of Unity"),
(datetime.date(2021, 11, 5, "Day After Day of Unity"), #just because it is a bridge Friday
(datetime.date(2021, 12, 31, "31st December")]

Past years
Could you also fix the past years (e.g. the year 2020 having some missing holidays)? Even though this is past information, it is relevant for the machine learning models during the fitting time.
Related sources
http://www.consultant.ru/law/ref/calendar/proizvodstvennye/2021/
https://www.timeanddate.com/calendar/custom.html?year=2021&country=20&cols=3&hol=1&df=1

Hello!

Could you also fix the past years (e.g. the year 2020 having some missing holidays)?

That's perfectly doable, yes. But to make things a bit clearer: what was the starting point of these changes in the Russia calendar? was it only for 2020 and 2021+, or did it start earlier?

One more question: are all those "new" days public holidays (i.e. days when employees don't work at all?)

@brunobord Explained by my Russian colleague, there is the following process in place for several (decades) years
Every Autumn (not sure about the exact date), the government agrees on the next year's non-working days around public holidays and thus define the calendar for the upcoming year (here still classified as official holidays)
Regarding when people are working, that can indeed become tricky - for example, there were some COVID-19 days (see April) in 2020, but some people had an exception and could work - yet the pragmatic approach I would consider is to keep all of them as non-working in case, there is a need to do so (personal opinion).

Started to work on the Russia calendar. I've splitted the various issues into several smaller chunks, but my main goal is to try to reach the smartest precision I can get to. I'm not sure it's going to be perfect, but I'll try my best ;o)

There's an issue I've discovered with Russia including Dec 25th as a holiday while it shouldn't.
Related to #530 ; need to fix this.

I (allegedly) think I've fixed the 2020 holiday mistakes... Switching to 2021, I hope I'll be able to release a new version on time for the New Year's Day!

version 14.1.0 ships 2021 Russia calendar, hopefully.
I've tried to mix from various sources to make it as complete as possible.

https://pypi.org/project/workalendar/14.1.0/
https://github.com/peopledoc/workalendar/releases/tag/14.1.0

Happy upgrading!

Hi @brunobord Many thanks for the implementation!
Looking at the output of the following code - it misses the holidays from elif year==2021 part. Could you have a look on that?
# conda install -c conda-forge workalendar=14.0
from workalendar.europe import Russia
cal = Russia()
cal.holidays(2021)

[(datetime.date(2021, 1, 1), 'New year'),
 (datetime.date(2021, 1, 2), 'Day After New Year'),
 (datetime.date(2021, 1, 3), 'Third Day after New Year'),
 (datetime.date(2021, 1, 4), 'Fourth Day after New Year'),
 (datetime.date(2021, 1, 5), 'Fifth Day after New Year'),
 (datetime.date(2021, 1, 6), 'Sixth Day after New Year'),
 (datetime.date(2021, 1, 7), 'Christmas'),
 (datetime.date(2021, 1, 8), 'Eighth Day after New Year'),
 (datetime.date(2021, 2, 23), 'Defendence of the Fatherland'),
 (datetime.date(2021, 3, 8), "International Women's Day"),
 (datetime.date(2021, 5, 1), 'Labour Day'),
 (datetime.date(2021, 5, 3), 'Labour Day shift'),
 (datetime.date(2021, 5, 9), 'Victory Day'),
 (datetime.date(2021, 5, 10), 'Victory Day shift'),
 (datetime.date(2021, 6, 12), 'National Day'),
 (datetime.date(2021, 6, 14), 'National Day shift'),
 (datetime.date(2021, 11, 4), 'Day of Unity')]

https://github.com/peopledoc/workalendar/blob/692122479e47238600fc241106e84980fe41d478/workalendar/europe/russia.py#L70-L75

conda install -c conda-forge workalendar=14.0

I see you are using the 14.0 release, but the 2021 fixes are in the 14.1.0 instead. Could you please retry with this one and confirm this issue is fixed?

@brunobord Ah sorry, you're right - it works, my bad. Thanks for pointing it out.


Resources.CheckExistenceByIdAsync() issue

I noticed 'Bad request' errors while calling Resources.CheckExistenceByIdAsync(resourceId, apiVersion).
Digging through the actual request using Postman I see it does a HEAD request to https://management.azure.com//subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{resourceName}?api-version=2018-07-01 and that returns after >40 seconds with '503 - service unavailable'.

Please provide more information on the SDK that you are using and the version of the SDK that gives you this error.

@rajbos
SDK just report the error we get from server. From the scenarios of you, it look more like a temperate server throttling than SDK issue.
Does the error happen repeatedly even after several hours/days?
If so, could you share the whole responds which include request ID and time, they are very important for investigation. (hide any credential)

I am using version 1.18.0 of the Microsoft.Azure.Management.Fluent NuGet package.

During testing today, I get a 404 result for a resource ID that doesn't exist and a 400 Bad Request for a valid resource id!
Response for the latter:
HTTP/1.1 400 Bad Request
Cache-Control: no-cache
Pragma: no-cache
Content-Length: 712
Content-Type: application/json; charset=utf-8
Expires: -1
x-ms-failure-cause: gateway
x-ms-request-id: a39e399d-0385-48bb-b48d-9f1b61adebcf
x-ms-correlation-request-id: a39e399d-0385-48bb-b48d-9f1b61adebcf
x-ms-routing-request-id: CANADACENTRAL:20190211T095734Z:a39e399d-0385-48bb-b48d-9f1b61adebcf
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
Date: Mon, 11 Feb 2019 09:57:33 GMT

@shahabhijeet
The code for this API is not in storage SDK, but in resource SDK, would you please ask the resource SDK owner for help?
https://github.com/Azure/azure-sdk-for-net/blob/40248f466aa063bd90f16dae10d06b9b7317e2d0/src/SDKs/Resource/Management.ResourceManager/Generated/ResourcesOperationsExtensions.cs

Any updates on this issue? I am also facing this. For me a resource that does not exist is properly resolving as false, but for resources that are in place I consistently get 400 Bad Request as well. :(

hi @xccc-msft could you pls help to have a look? thanks

hi @xccc-msft could you pls help to have a look? thanks

This is the same issue as Azure/azure-sdk-for-java#8860 reported.
It's a known issue found in Azure/azure-rest-api-specs#2856.
Pending discussion post by Azure/azure-rest-api-specs#8092.
It's a service issue rather than SDK issue. Add Service Attention so ARM team would help look into it.

This is the same issue as Azure/azure-sdk-for-java#8860 reported.
It's a known issue found in Azure/azure-rest-api-specs#2856.
Pending discussion post by Azure/azure-rest-api-specs#8092.
It's a service issue rather than SDK issue. Add Service Attention so ARM team would help look into it.

Hi. I still face the same issue. Any update on this?
Thanks.

@DeepakMohanSingh
Many service does not support this HEAD http method. Hence it fails. It would require fix from service.

@ifeoluwaokunoren for the question about supporting HEAD.

Most Resource Providers (RPs) do not support the HEAD response when it is sent to ARM. As of the date this comment was published, only 4 RPs support this operation, which means it's not suitable to viably assess whether a resource exists.
At a 1:1 comparison of something that effectively works across all Resource Providers, you're better off using the GET /resource operation where a successful response (200) confirms a resource exists.
If you're looking to do this at scale, across your multiple subscriptions, management groups, or tenant - you should use Azure Resource Graph.
You may also use the GET /resources operation to retrieve all the resource in your subscription.

@ifeoluwaokunoren

Hi @snaheth,
I don't think the fact that out of a hundred or two RPs only 4 support HEAD is a good argument not to support it. More practically speaking - make them to support it.
Also your words directly contradict the public documentation at https://docs.microsoft.com/en-us/rest/api/resources/resources/check-existence
However, it's not you. It's the documentation that must be fixed asap.


Unable to create new user signature using https://signature.centralus.cts.speech.microsoft.com/api/v1/Signature/GenerateVoiceSignatureFromByteArray

tesfile.zip
Good day,  i have one issue with a  https://signature.centralus.cts.speech.microsoft.com/api/v1/Signature/GenerateVoiceSignatureFromByteArray service. While working on prototype app for the Roobo device i decided to implement possibility to enroll user directly from the device(record and audio and send it to the service) but for some reason every time i am getting bad request with description "Not enough words". I've tried to record different files with lengths up to 5 min and result is the same.  But when i send these exact files to the Speach-to-Text service I've receive a proper transcription, so looks like file specification is correct.  If someone can help or share some findings it would be really great!   Thanks in advance!

Thanks for feedback, we will take a look.

Is your audio captured from the Roobo device? The audio volume is too low for signature generation.
To control the signature service, we recommended to use the close talk audio. You can use PC microphone to capture the audio.
If it still doesn't work, Let us know.

@sarahlume  Yeah, seem like this was the case, i imported my Audio file to Audacity and amplify it volume, after this file was processed correctly.  Now i just need to figure out how to either increase volume in the roobo device or amplify file from Java code :)  Thank You very much for fast feedback!


[Bug]: Tiles on the right/bottom do not get pushed when expanded

Before you make the issue, confirm that

[X] You are running the master build from GitHub actions
[X] You have read the FAQ and the usage instructions
[X] You have searched pull requests and issues and have found none similar to your issue
[X] This problem comes from a failure in the tiling system and not a missing feature

Describe the bug
When tiles on the right/bottom of layouts should be expanded, they are not.
To reproduce
Add a normal window, and then add one that should expand. The normal window is not shrunk.
Expected behavior
The large window should expand and the normal window should shrink.
Relevant log output
N/A

Screenshots and videos
No response
Additional context
https://bugs.kde.org/show_bug.cgi?id=475977

May try to get around this by another pass on the rebuild layout function that would find optimial sizing ratios and apply them to all tiles. Doubt this will be fixed upstream :neutral_face:


lang:go use lcp-find-defintion if lcp package installed

Hi, since Language Server Protocol for Go namely gopls is quite mature (despite the fact it is under active development) and I also found it faster than guru or godef, I would suggest using lcp-find-definition as a definition tool on set-lookup-handlers when lsp package is provided.

The lookup module already uses lsp-find-{definitions,references} as its lookup handlers when lsp-mode is enabled. As well as lsp-describe-thing-at-point.
Perhaps you haven't enabled the +lsp flag for the :lang go module?

@hlissner Ok, I found that I disabled the lsp-ui package for personal reasons (mostly because it is quite verbose for me), and just use lsp-mode for completion and, so far, for goto definition property (by overriding guru's one). I noticed this setup pretty functional.

As of 2f268e8, the module now falls back to lsp-find-{definition,references} when lsp-ui-mode isn't present/enabled, so I'll consider this issue resolved. Let me know if that isn't the case and I will reopen this. Thanks for bringing it to my attention!

@hlissner hi, looks like the behavior is not changed. What I've done:
Setup
doom.d/init.el has lsp and go modules
doom.d/package.el has (package! lsp-ui :disable t)
Flow to reproduce

cd ~/.emacs.d
git pull (develop branch)
doom upgrade && doom re
open some go file
press gd on os.Exit() to fire up goto definition of os stdlib package and Exit() function

Expected behavior
lsp-find-definition run by starting the lsp server
Actual
guru run

@idanko Are there any warnings/errors in *Messages*? (See SPC h e). For instance, did the LSP server successfully start?

@hlissner aren't, the Messages buffer hasn't any lsp messages, even if manually turn on lsp mode, the behavior doesn't change.

I cannot reproduce this. I've tried both M-x lsp-ui-mode to disable it on the fly, and disabling the package  with (package! lsp-ui :disable t). In both cases, +lookup/definition correctly falls back to lsp-find-definition.
Did you remember to run doom refresh after disabling the package?

Oh, wait, I see the problem.

doom.d/package.el has (package! lsp-ui :disable t)

This should be .doom.d/packages.el, plural.

@hlissner  yy apologies, it's plural, just a typo

@hlissner I've fixed the issue on my local machine. Please, check it out if I did well

@hlissner my apologies, it's plural, just a typo. After setting (go +lsp) on init.el I found that the lsp server has started but lookup run via go-guru. So lsp is prioritized over guru. Please take a look

fixed


Enhanced the necessity, map and the advanatages and disadvantages section with soil quality prediction

Pull Request
Title
Enhance Necessity, Map, and Advantages/Disadvantages Section for Soil Quality Prediction
Description
This pull request introduces enhancements to the necessity, map, and advantages/disadvantages sections concerning soil quality prediction. The changes aim to provide a clearer understanding of the importance of soil quality prediction, visualize the relevant data on a map, and present a balanced view of its benefits and drawbacks.
Related Issues
Fixes #337
Changes Made

Improved the Necessity Section to better articulate the importance of soil quality prediction for sustainable agriculture.
Integrated a Map feature that visualizes soil testing center locations, enhancing user engagement and accessibility to relevant data.
Developed the Advantages and Disadvantages Section, providing users with a clear understanding of the pros and cons associated with soil quality prediction.

Checklist

[x] I have tested the changes locally
[ ] Documentation has been updated (if necessary)
[x] Changes are backward-compatible

Screenshots (if applicable)

Additional Notes
These enhancements will help users better appreciate the significance of soil quality prediction and make informed decisions based on a comprehensive overview of its advantages and disadvantages.

Remove that heading...not needed

okay

Add for this page also

Advantages disadvantages section..for this also same design

removed the headline

You will achieve uniformity...after doing this

okay I'll do that in upcoming issues

Done ✅


Updates invalid ranking rules test

I submitted this PR in meilisearch/milli to address #2407. In case the PR is merged, the error_set_invalid_ranking_rules() test will fail because the error message changed. Hence I am submitting this PR to change the test :)

I approve this in principle, although we'll need a new version of milli before we can merge this


librsvg: 2.54.0 -> 2.54.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for librsvg is: "A small library to render SVG images to Cairo surfaces"
meta.homepage for librsvg is: "https://wiki.gnome.org/Projects/LibRsvg"
meta.changelog for librsvg is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 2.54.1 with grep in /nix/store/77mnnd1naxjgj1d3pry6cb5zjnfm6i0k-librsvg-2.54.1
found 2.54.1 in filename of file in /nix/store/77mnnd1naxjgj1d3pry6cb5zjnfm6i0k-librsvg-2.54.1

Rebuild report (if merged into master) (click to expand)

3897 total rebuild path(s)

3246 package rebuild(s)

3241 x86_64-linux rebuild(s)
656 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
ChowKick
CuboCore.coretoppings
MIDIVisualizer
Sylk
abiword
adapta-gtk-theme
adoptopenjdk-icedtea-web
aerc
aether
afew
agda
agdaPackages.agda
agdaPackages.agda-categories
agdaPackages.agda-prelude
agdaPackages.agdarsec
agdaPackages.cubical
agdaPackages.functional-linear-algebra
agdaPackages.standard-library
agenda
agi
ahoviewer
ajour
akira-unstable
alarm-clock-applet
alfaview
alfis
alfred
almanah
alot
alpine-make-vm-image
altair
alttpr-opentracker
amarok
amarok-kf5
amber-theme
anki-bin
anytype
apostrophe
appeditor
appimage-run
appimage-run-tests
apple-music-electron
apvlv
aqemu
arandr
aravis
arc-icon-theme
arc-theme
arcan.all-wrapped
arcan.arcan

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/77mnnd1naxjgj1d3pry6cb5zjnfm6i0k-librsvg-2.54.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A librsvg https://github.com/r-ryantm/nixpkgs/archive/457b976468cf3cc0024b0a4fdaa0a31dfa73b6ef.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/77mnnd1naxjgj1d3pry6cb5zjnfm6i0k-librsvg-2.54.1
ls -la /nix/store/77mnnd1naxjgj1d3pry6cb5zjnfm6i0k-librsvg-2.54.1/bin

Pre-merge build results
NixPkgs review skipped

Maintainer pings
cc @bobby285271 @hedning @jtojnar @dasj19 @maxeaubrey for testing.

The installedTests failure is not related to this update (is the installedTests still expected to work)? :thinking:

This also improves cross-compilation support since it was failing due to the mandatory tools.
Some minor tweaks may be needed to get that fully working again, will submit a patch after this goes in.
(for anyone already interested, it'd be looking something like this: https://github.com/mindavi/nixpkgs/commit/fd9d997d0dd6cc3cf5f6ce8f7abdd2a4248e3e81)


My achievements are not appearing in my GitHub profile

My achievements are not appearing in my GitHub profile, weeks ago they were there, but since a few days ago, they disappeared out of nowhere.
Weeks ago I created a discussion about this: Discussion, and @CodeMaster7000 recommended me to open an issue here.

Hi @SmashedFrenzy16 and @CodeMaster7000
I am aware that it may take a few days, and that there may be no solution because it is a GitHub problem, if there is no solution here, I will contact GitHub Support.
Best for you!

@CesarCanoff
Thanks for creating the issue and therefore making me aware of this bug!
However as I'm not affiliated with GitHub, I'm afraid you have to contact GitHub Support to hopefully fix this… 🤞
Please report back if/when they fix it and if they say anything more about the reason :)

Greetings,
The problem of all achievements disappearing has been solved here:
https://support.github.com/ticket/personal/0/2111013
I appreciate everyone's time and effort to help.
With kind regards,
Cesar


class super init causes error use_cli

`
class CompoundNetDatasetGenerator(FlowSpec):
def __init__(self ):
    self.db_name      = "spectra_db_prod"
    self.n_comppounds = 10

    super(CompoundNetDatasetGenerator, self).__init__()

@step
def start(self):
    #self.samples    = self.get_samples()
    self.sampleids = [1,2,3,4] #[str(id) for _,id in self.samples]

    self.next(self.get_spectra, foreach='sampleids')

@step
def get_spectra(self):
    #self.result = self.input
    #print("Retrieve spectra:", self.result)

    self.next(self.join)

@step
def join(self, inputs):
    self.next(self.end)

@step
def end(self):
    pass`

2019-12-23 22:52:12.569 [1577141526437425/join/6 (pid 17256)] <flow CompoundNetDatasetGenerator step join> failed:
2019-12-23 22:52:12.570 [1577141526437425/join/6 (pid 17256)] Internal error
2019-12-23 22:52:12.570 [1577141526437425/join/6 (pid 17256)] Traceback (most recent call last):
2019-12-23 22:52:12.866 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/metaflow/cli.py", line 853, in main
2019-12-23 22:52:12.867 [1577141526437425/join/6 (pid 17256)] start(auto_envvar_prefix='METAFLOW', obj=state)
2019-12-23 22:52:12.867 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/click/core.py", line 764, in __call__
2019-12-23 22:52:12.867 [1577141526437425/join/6 (pid 17256)] return self.main(args, kwargs)
2019-12-23 22:52:12.867 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/click/core.py", line 717, in main
2019-12-23 22:52:12.867 [1577141526437425/join/6 (pid 17256)] rv = self.invoke(ctx)
2019-12-23 22:52:12.867 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/click/core.py", line 1137, in invoke
2019-12-23 22:52:12.867 [1577141526437425/join/6 (pid 17256)] return _process_result(sub_ctx.command.invoke(sub_ctx))
2019-12-23 22:52:12.867 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/click/core.py", line 956, in invoke
2019-12-23 22:52:12.867 [1577141526437425/join/6 (pid 17256)] return ctx.invoke(self.callback, ctx.params)
2019-12-23 22:52:12.867 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/click/core.py", line 555, in invoke
2019-12-23 22:52:12.867 [1577141526437425/join/6 (pid 17256)] return callback(args, kwargs)
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/click/decorators.py", line 27, in new_func
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] return f(get_current_context().obj, args, kwargs)
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/metaflow/cli.py", line 430, in step
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] max_user_code_retries)
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/metaflow/task.py", line 367, in run_step
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] input_obj = Inputs(self._clone_flow(inp) for inp in inputs)
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/metaflow/datastore/datastore.py", line 34, in __init__
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] self.flows = list(flows)
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/metaflow/task.py", line 367, in <genexpr>
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] input_obj = Inputs(self._clone_flow(inp) for inp in inputs)
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] File "/usr/local/lib/python3.6/dist-packages/metaflow/task.py", line 198, in _clone_flow
2019-12-23 22:52:12.868 [1577141526437425/join/6 (pid 17256)] x = self.flow.__class__(use_cli=False)
2019-12-23 22:52:12.869 [1577141526437425/join/6 (pid 17256)] TypeError: __init__() got an unexpected keyword argument 'use_cli'
2019-12-23 22:52:12.869 [1577141526437425/join/6 (pid 17256)]
2019-12-23 22:52:12.870 [1577141526437425/join/6 (pid 17256)] Task failed.

Instead of declaring the ‘init’ method, you should use Parameters to declare the values for db_name and n_compounds.

Excellent suggestion. So does one do all the init stuff in the start step?
Sent via Superhuman<EMAIL_ADDRESS>)
On Mon, Dec 23, 2019 at 3:02 PM, Savin <<EMAIL_ADDRESS>> wrote:

Instead of declaring the ‘ init ’ method, you should use Parameters (
https://docs.metaflow.org/metaflow/basics#how-to-define-parameters-for-flows
) to declare the values for db_name and n_compounds.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub (
https://github.com/Netflix/metaflow/issues/73?email_source=notifications&email_token=AATP5ZDE7KN3LSSTVZGEPGTQ2E7Q3A5CNFSM4J6YX6V2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHSCXHI#issuecomment-568601501
) , or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AATP5ZBU2RCOQWOF4HVV5ALQ2E7Q3ANCNFSM4J6YX6VQ
).

Depends on what you want to initialize. You can declare all your parameters as top level variables and construct other Python objects out of them in any of the steps.


Is it possible to set loki labels here?

Question
Hi,
I am wondering if it is possible to set the loki labels here using this library?
Use Github Discussions.

@matt-hensley
I've used this library  with the following code to ship logs.
services
  .AddOpenTelemetry()
   .WithLogging(o =>
            {
                o.AddConsoleExporter();
                o.AddOtlpExporter((options, rules) =>
                {

                    rules.ExportProcessorType = OpenTelemetry.ExportProcessorType.Batch;
                    var endpoint = configuration["GRAFANA_CLOUD_OTLP_ENDPOINT"];
                    var instanceId = configuration["GRAFANA_CLOUD_INSTANCE_ID"];
                    var apiToken = configuration["GRAFANA_CLOUD_API_TOKEN"];
                    options.Endpoint = new Uri(endpoint + "/v1/logs");
                    options.Protocol = OpenTelemetry.Exporter.OtlpExportProtocol.HttpProtobuf;
                    options.Headers = $"Authorization=Basic {EncodeToBase64(instanceId!, apiToken!)}";
                });
            });

I can see that the logs are being sent successfully to grafana open telemetry endpoint.
https://otlp-gateway-prod-au-southeast-0.grafana.net/otlp/v1/logs
Response code is 204.
How can I find the logs in my grafana cloud instance?
I don't see how labels are set?
Should be exploring them in Loki?
Do I need a certain version of the grafana cloud stack running for this to work?

I was able to figure this issue out.
Loki will only promote certain resource attributes to loki labels.
These include:
        // Loki promotes these resource attributes to Loki labels and persists others as Loki message metadata: cloud.availability_zone, cloud.region, container.name, deployment.environment, k8s.cluster.name, k8s.container.name, k8s.cronjob.name, k8s.daemonset.name, k8s.deployment.name, k8s.job.name, k8s.namespace.name, k8s.pod.name, k8s.replicaset.name k8s.statefulset.name, service.instance.id, service.name, service.namespace.
``
This means you cannot do anything in this library to control loki labels.
I used this code
```c#
services
  .AddOpenTelemetry()
   .WithLogging(o =>
            {
                o.AddOtlpExporter((options, rules) =>
                {
                    var resourceBuilder = ResourceBuilder.CreateEmpty();
                    resourceBuilder.AddAttributes(new Dictionary<string, object>
                    {
                        // this will be a loki label since due to the mapping done by grafana's open telemetry endpoint.
                        ["service.name"] = "my-service",
                        // this won't be a loki label
                        ["env"] = "prod",
                    });
                    rules.ExportProcessorType = OpenTelemetry.ExportProcessorType.Batch;
                    var endpoint = configuration["GRAFANA_CLOUD_OTLP_ENDPOINT"];
                    var instanceId = configuration["GRAFANA_CLOUD_INSTANCE_ID"];
                    var apiToken = configuration["GRAFANA_CLOUD_API_TOKEN"];
                    options.Endpoint = new Uri(endpoint + "/v1/logs");
                    options.Protocol = OpenTelemetry.Exporter.OtlpExportProtocol.HttpProtobuf;
                    options.Headers = $"Authorization=Basic {EncodeToBase64(instanceId!, apiToken!)}";
                });
            });

Thank you for posting a solution! I've been OOO, apologies for the delayed response.


Suggestion: Option to shorten video using FFMPEG

After running this program, I have separately been running an FFMPEG command which removes duplicate frames. This brings a 10 minute Sentry video down to about 2 minutes typically.
There are a couple ffmpeg commands that can remove duplicate frames.  What I like about the one I use is that it doesn't cut the video to the action, it takes out the intermediate frames.  This means I can watch the timestamp go through the full time of the video, but when there is no motion on screen, the timestamp runs very quick; when there is motion, the time runs at normal speed.
The ffmpeg command I use is:
ffmpeg -i "fileIN.mp4" -vf mpdecimate,setpts=N/FRAME_RATE/TB "fileIN-shortened.mp4"

I'm thinking this would add a tesla_dashcam argument of --shorten.  I'm not an ffmpeg expert, but I think this could be run concurrently with the concatenation (this would be the fastest if possible), or after the concatenation is complete.
Thanks for all the work you put into this!

Just tried that mpdecimate on a few of my clips and the result is fantastic. I would really like to see this added as well.
Just one issue I am seeing is that the clip is still reported as 10min long. Not sure if this is a bug or working as intended. So for example if it’s reduced to a 30sec clip. The progress bar and if you try to skip will only work on the first 5% of progress. The other 95% contains no data and will just end playback if you try to skip into it. From my perspective, the expected result would be a clip reported as a normal 30sec one, or 10min where you skip into the correct real life time and only playback time is sped up and slowed down.

@PiscisSwimeatus My clips report the new length.  My clips also don't have 95% without any data.  Can you provide more information on how you ran it?

I used the same command as above on some already merged clips.
For example
ffmpeg -i "2019-09-19T09-15-53_2019-09-19T09-26-08.mp4" -vf mpdecimate,setpts=N/FRAME_RATE/TB "2019-09-19T09-15-53_2019-09-19T09-26-08-shortened.mp4"
The original video is 9:51 long
The shortened video is 1:15 long
However both mediainfo, VLC and other players I tried reports the shortened video as still 9:51 long.

Which results in the progress stopping here in the players I tried:

My previous statement about 95% without data, just means trying anything after the 1:15 marks ends the video/no data.
I’ve uploaded the file here if you want to have a look:
https://ufile.io/2nk461em

Release 0.1.14 is out now including this enhancement. Issue that was mentioned here with chapters is resolved in this.


FileChooser tries to create folder twice when pressing enter multiple times

Reproducing the error:

Open file chooser.
Click new directory button.
Choose a name.
Quickly press enter key multiple times.
Directory will be created and an error dialog with "Directory with that name already exists" message will be displayed.

This is definitely not a severe bug, but I don't think that's the expected behavior either.

Should be working now.


ФФД 1.0.5

Hello @elatonsev! Thanks for submitting the PR.

In the file tests.py, following are the PEP8 issues :

Line 97:14: E225 missing whitespace around operator


Add Format option to Crop node

This PR adds an extra option to the Crop node to specify a Format to crop to.
It also adds a checkbox that allows the previous DisplayWindow to be centered in the new Format.
I have a couple of questions on this:

I have renamed the enum in C++ to add Area to the end of each name, as just Format was clashing. I haven't added this to the Python bindings, as the Python enum values are referenced using GafferImage.Crop.AreaSource.Format, while the C++ enum values are referenced directly.
There is an option for a user to select Format and then select Custom from the Format menu. Can I suggest a UI option to control whether Custom is available in the Format drop-down list.

Other than that, all feedback welcome.

I think it'd be nicer to keep the c++ and python enum values in sync. Where was Format clashing? In the cpp? If so, I think you could get around that by differentiating with explicit namespaces (e.g. GafferImage::Format and Crop::Format). Or was the header complaining?
In general, I find it annoying that c++ enums aren't namespaced by enum name... but I guess c++11 fixes that for us if we can ever get there across the board...

There you go - that should do it.
It was previous complaining about a Format that needed to be changed to GafferImage::Format.

Hi Hugh, thanks for this one.
I have a few fairly minor comments, but I'd like to discuss and possibly address them before merging :

I think the format settings should appear below the area settings - area mode is still the default so the area plug should be presented first. Can we update the order of plugs in the node, in the header, in the UI, and in the presets menu please, so that format comes below area? The affect/reset options can still come below the format, since they're about something that happens after the area is chosen.
Can we just call the plugs "format" and "centerFormat"? I find the "area" prefix doesn't really clarify anything for me - if anything it confuses me by associating it with the "area" plug.
I find the center mode confusing, particularly in its interaction with the resetOrigin setting. When cropping to a format, I would expect the output format to always correspond to the format I chose, but with resetOrigin off, I end up with a weird negative origin. Would it make more sense to present centering as "centers the input image within the output format"? That would mean the output format would be unaffected by centering, and resetOrigin would then only come into play when the area has a non-zero origin (as it does for the other modes).

Will address tomorrow (currently stuck in bed with a trapped nerve in my
shoulder...)
Comments/counter questions below:
On 23 Nov 2015, at 22:26, John Haddon<EMAIL_ADDRESS>wrote:
Hi Hugh, thanks for this one.
I have a few fairly minor comments, but I'd like to discuss and possibly
address them before merging :

I think the format settings should appear below the area settings -
area mode is still the default so the area plug should be presented first.
Can we update the order of plugs in the node, in the header, in the UI, and
in the presets menu please, so that format comes below area? The
affect/reset options can still come below the format, since they're about
something that happens after the area is chosen.

That was my initial thought, but I've always felt that "Custom" should go
at the bottom of any list. I also made the plugs below in the same order as
the options in the list.
Can I propose a naming change (that will break backwards compatibility)
Change "Area From" to "Crop From"
Change "Custom" to "Area", and move to top of list.
Move "Format" to second in list.
The other issue, which could be controlled with grouping, was that having
the "Format Center" checkbox right next to "Affect Data Window" looked like
it belonged with the checkboxes below rather than the drop-down list above.

Can we just call the plugs "format" and "centerFormat"? I find the
"area" prefix doesn't really clarify anything for me - if anything it
confuses me by associating it with the "area" plug.

I was considering the result of all of that section to be the "area", so
the "area" plug should really have been called "Area Custom". If we rename
"Area From" as above, then yes, I think this makes sense.

I find the center mode confusing, particularly in its interaction with
the resetOrigin setting. When cropping to a format, I would expect the
output format to always correspond to the format I chose, but with
resetOrigin off, I end up with a weird negative origin. Would it make more
sense to present centering as "centers the input image within the
output format"? That would mean the output format would be unaffected
by centering, and resetOrigin would then only come into play when the area
has a non-zero origin (as it does for the other modes).

Yup, that makes perfect sense. I'll have to remind myself of the inner
workings. Do you think that having "Center" be available for any crop type
rather than just format makes sense?
Thinking a bit further, is there any point to allowing cantering when we
aren't affecting the display window? I'm not sure there is. I'm thinking
that it's only applicable when the display window is being changed.
—
Reply to this email directly or view it on GitHub
https://github.com/ImageEngine/gaffer/pull/1570#issuecomment-159087596.

Hi Hugh, hope the shoulder's on the mend. Sorry for the delay in replying to this one - I actually composed a reply yesterday but it appears not to have made it through the ether.

I've always felt that "Custom" should go at the bottom of any list. I also made the plugs below in the same order as the options in the list. Can I propose a naming change (that will break backwards compatibility) Change "Area From" to "Crop From" Change "Custom" to "Area", and move to top of list. Move "Format" to second in list.

I like the "Custom" -> "Area" name change, I've felt for a while now that the name didn't fit. With that change in place and with the order you suggested I'd be happy enough I think - no need to rename "areaSource" to my mind.

The other issue, which could be controlled with grouping, was that having the "Format Center" checkbox right next to "Affect Data Window" looked like it belonged with the checkboxes below rather than the drop-down list above.

I'd suggest we just add a simple divider between the "area source" and "affects" plugs then. You can do that with a "divider", True metadata entry.

Can we just call the plugs "format" and "centerFormat"? I find the "area" prefix doesn't really clarify anything for me - if anything it confuses me by associating it with the "area" plug. I was considering the result of all of that section to be the "area", so the "area" plug should really have been called "Area Custom". If we rename "Area From" as above, then yes, I think this makes sense.

I think this makes sense even without renaming "Area From". It's a pretty small node, so it's not like we need to namespace every single plug with some prefix to clarify its purpose. I think a sensible ordering, activators, and a discreet divider should make everything pretty clear.

I find the center mode confusing, particularly in its interaction with the resetOrigin setting. Would it make more sense to present centering as "centers the input image within the output format"?
Yup, that makes perfect sense.

Great.

I'll have to remind myself of the inner workings. Do you think that having "Center" be available for any crop type rather than just format makes sense?

It doesn't feel like it would be useful to me. The other area sources (area, display window, data window) are already tied intrinsically to the image itself, so I don't see a shift being useful there. I suggest we keep it simple and have it only as an option for the format mode.

Thinking a bit further, is there any point to allowing cantering when we aren't affecting the display window? I'm not sure there is. I'm thinking that it's only applicable when the display window is being changed.

That sounds right to me. Additionally I find it hard to imagine using the "Format" source without applying it to the display window, so I think that's another argument for centering only applying to the Format mode.
This brings up an awkward problem I hadn't considered till now though. What if the new format has a different pixel aspect to the input format? I suspect we'd then want to resample to avoid squashing, which maybe brings us full circle back to this being a mode in Resize rather than Crop?

I think I've addressed all of your comments there...
With regards to your last question, I think that this node should very specifically never do any sampling. I would be okay with it keeping the current functionality, and setting the pixel aspect ratio in the output format. Any squashing of pixels should be done in Resize, but I wouldn't suggest a "None" mode in Resize that does affect the pixels for this reason.

Odd - the failed test is coming from something completely different. I can't re-launch the build, though. My own Travis build succeeded.

It looks like this is all good to me. Would be good to know if you guys want any changes to it.

I've reordered the enum values. Let me know if you'd like a compatibility for Custom -> Area and I can add that too.

Might as well since its so simple

Cool stuff. I'll drop that in first thing tomorrow then.

Added compatibility code

Thanks Hugh. I've fixed up the activator for the formatCenter plug and merged manually - let me know if my fix doesn't leave things as you'd intended…
Cheers…
John

Oops - yes - that looks right. I was mid-way through getting that working at one point, and appear to have forgotten about it.
I take it what I was trying with two activators doesn't work. And a typo would be why my other activator wasn't doing its job.

I take it what I was trying with two activators doesn't work. And a typo would be why my other activator wasn't doing its job.

Yep - exactly. You can only have one metadata value for each key, so your second declaration was overwriting the first. It's definitely valid to overwrite a pre-existing metadata value, but it might be nice to have registerNode() check that you're not doing that from the exact same call, since that would most likely indicate a mistake.


Include hook's object name when profiling

What does this PR do?
When profiling, we should distinguish between a LM hook vs callback hook vs TTP hook.
Part of #8506
Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

@awaelchli mention what in changelog? I do have an entry in the changelog

I meant an entry under "changed" that the profiler now indexes and displays the names of the hooks with a new pattern (base class).(class).(hook name)

@awaelchli sure, I already have an entry under changed, but I can edit it

I'm really stumped on this test failure https://dev.azure.com/PytorchLightning/pytorch-lightning/_build/results?buildId=47638&view=logs&j=3afc50db-e620-5b81-6016-870a6976ad29&t=d9f671c5-a304-5675-5394-961fd7f98b9b
Could anyone who has worked with profilers before try taking a look? cc @kaushikb11 @carmocca @rohitgr7

@carmocca ready for your review! All tests passing

Ready to be merged!


Tickets/sitcom 1131

This is a Pull Request to review both the Tech. Note and the associated notebook.
Tech Note has been read by Doug Neil.

Thank you very much for the review. We added a comment about the peak at 42 Hz appearing in some of the plots when fans run at 100% speed. It is difficult to be sure of what we are seeing here but as you say it looks pretty natural to see this peak.

My final recommendation after running the notebook locally would be to try to have the x-labels with the time stamps with a consistent label formant. The plot produced right before the section "PSD Analysis" section has a good format.
Another option, maybe for the future, would be to define a reference time and convert the x-axis into seconds. This is easier to work with and, sometimes, easier to read. Of course, this means that we need to print this reference time somewhere. But you are already doing that in the titles.


Add getter for ColumnDynamic count

Thanks for your contribution @GsLogiMaker! Looks good.
Apologize for the delay in approval. Will merge soon.


bump packages

Codecov Report

Merging #146 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #146   +/-   ##
=======================================
  Coverage   72.52%   72.52%
=======================================
  Files          18       18
  Lines         928      928
=======================================
  Hits          673      673
  Misses        255      255

Impacted Files
Coverage Δ

bowtie/control.py
68.09% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


feature: Easy way to keep LazyVim up to date

Did you check the docs?

[X] I have read all the LazyVim docs

Is your feature request related to a problem? Please describe.
I'm keen to try LazyVim but I don't see an easy way to keep LazyVim up to date. The installation process asks to clone the repo and then delete the .git folder. That means whatever updates LazyVim repo get, end user would have a hard time getting them.
Describe the solution you'd like
I like how NvChad have a command NvChadUpdate that allows user to update without losing their customization. Their customization is put in a separate untracked folder.
Describe alternatives you've considered
The alternative is to keep a git diff of whatever customization I've done and fix it everytime I pull from the LazyVim repo.
Additional context
No response

I'm not sure if my way is the right way. But I run the following command periodically to update it.
nvim --headless "+Lazy! update" +qa

The installation instructions install LazyVim/starter.
That's just the bare minimal config for lazy.nvim that installs LazyVim.
LazyVim itself is the same as a regular plugin, so there is no need for a special update command. You update LAzyVim like you update any other plugin using :Lazy, the plugin mamager.

After installing Lazy on another machine I've noticed I was missing out on some new features e.g. the dedicated command mode bar. When I tried to update the version on my machine through Lazy I still wasn't able to get the new features. What happened? Is an update feature actually required?

What do you mean the dedicated command mode bar? An update feature is not required, because LazyVim gets updated through the Lazy UI, same as other plugins. I don't get what you're saying. I'm on latest LazyVim release by updating the plugin via Lazy UI and have all the features except those that are in HEAD and will be available on next stable release. Of course, you can also follow HEAD if you like so you immediate access to the merged commits without having to wait for the next release.

@folke and @dpetka2001 While the Lazy ui can update LazyVim, what about the dependencies? Will those be updated? for example snacks.nvim, Lazy will show it needs updates, so I individually update LazyVim plugin, does that update snacks as needed?
I suspect you suggest using "U" to update all plugins. However, that could update plugins you don't want updated. Now I have to track which are optional or my own and which are plugins LazyVim depends on. It would be much better to have an update that updates the main and dependencies. However, I may not be understanding what is meant above.

LazyVim is just a plugin on its own. snacks.nvim is not a dependency of LazyVim. It will get updated on its own when there are updates. If you don't want to just U update all plugins, I suggest you lock specific plugins to certain versions/commit hashes, so that they don't get updated. If a plugin has an update and it's not locked, then lazy.nvim will update the plugin. Or go through the list of updates in lazy.nvim UI and just press u (lower case U) in the specific plugins that you want to update without touching the rest.
I don't understand what you're trying to achieve though. I have everything up to date with no problems whatsoever. I don't know why you would want to not update a plugin, unless there's some kind of breaking change that is not fixed immediately. Even then you can just revert the plugin via lazy.nvim UI to a previous commit hash and lock the plugin to the last working commit hash until the breaking change gets fixed.


IMapController.setCenter() gravely inaccurate (not 100% reproducible)

Issue Type
[x] Question
Environment:
org.osmdroid:osmdroid-android:6.1.10
Description:
IMapController.setCenter() inaccurate by a large amount. Sometimes, by swapping setZoom() and setCenter(), it'll center on the correct location, sometimes it won't.
Steps to reproduce:
Follow the guide (https://github.com/osmdroid/osmdroid/wiki/How-to-use-the-osmdroid-library-(Java))
Use the following code in MainActivity:
package com.example.osmdroidtest;

public class MainActivity extends AppCompatActivity {
    private MapView map;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Context ctx = getApplicationContext();
        Configuration.getInstance().load(ctx, PreferenceManager.getDefaultSharedPreferences(ctx));

        setContentView(R.layout.activity_main);

        map = (MapView) findViewById(R.id.map);
        map.setTileSource(TileSourceFactory.MAPNIK);

        Handler hdlr = new Handler(Looper.myLooper());
        hdlr.postDelayed(new Runnable() {
            @Override
            public void run() {
                map.getController().setCenter(new GeoPoint(35.551503, 139.788436));
                map.getController().setZoom(15.0);
            }
        }, 10000);
    }
}

Note that to prevent operations on the map before 100% initialization, setCenter() and setZoom() is delayed by 10 seconds.
Expected result:
Map should center on GeoPoint(35.551503, 139.788436), which is in Tokyo Haneda airport.
Actual result:
Maps centers over 100km to the northwest of Tokyo.
More details
Once it shows this faulty behaviour, after arranging setCenter() after setZoom() it'll most likely work correctly.
However, once it works correctly, swapping the two statements back doesn't make it behave faulty again, and we can use whatever order between setCenter() and setZoom().
But maybe after some time it'll suddenly revert to the faulty behaviour, and we have to use setCenter() after setZoom() again.

@waltersamson You should set the zoom level first, then the center.
Once the zoom is correct, the geo point can be correctly projected into the map.
If you set the center first and then set the zoom to a much bigger value, you'll lose precision because setting the center computed a projected pixel that will be potentially wrongly extrapolated into a bigger map with a bigger zoom. We don't keep the geo point value, we just say "at this time, we set the center of the map for the current zoom level".
But if you set the center first and then set the zoom to a much lower value, there won't be any precision problem.

Thanks for the detailed info! I'll experiement more with the settings.


Is it possible for the on_click lambda function to fire even when the notification has timed out

I am trying to create a REST api, such that a request can trigger a toast and clicking the toast copies the content of the request to the clipboard. Something like:
from win11toast import toast_async
from flask import Flask, request

app = Flask(__name__)

@app.route("/toast", methods=['POST'])
async def get_data():
    content = request.form["content"]
    await toast_async(content, "click to copy", on_click=lambda _:pyclip.copy(content))
    return 'OK'

It works fine when the notification first show up but doesn't work when it times out and gets stored in the notification center. Is it possible not to mark the dismissed_future as done when the dismissed reason is TIMED_OUT?
I am not familiar enough with asyncio, so I just made the following modifications to line 355 in win11toast.py:
dismissed_token = notification.add_dismissed(
    lambda _, event_args: None if ToastDismissedEventArgs._from(event_args).reason == 2 else loop.call_soon_threadsafe(
    dismissed_future.set_result, on_dismissed(result_wrapper(ToastDismissedEventArgs._from(event_args).reason)))
)

It seems to be working, but I am not sure.

Thank you for your comment. You can solve it by generating a python file.
https://user-images.githubusercontent.com/12811398/224033287-8eae0221-a33e-4475-96ae-52bdaf9ac7cf.mp4
import tempfile
from flask import Flask, request
from win11toast import notify

app = Flask(__name__)

@app.route('/toast', methods=['POST'])
def hello_world():
    content = request.form['content']
    fp = tempfile.NamedTemporaryFile(suffix='.pyw', delete=False)
    fp.write(f'import pyclip;pyclip.copy("{content}")'.encode())
    notify(content, 'click to copy', on_click=fp.name)
    return 'OK'

@GitHub30, i was facing the same issue and tried this solution but not worked for me, can you please help me
i have tried the above same code .

@GitHub30  is there any way to do this same without using tempfile?


Client stops receiving and sending messages if idle for a while

If you log in the chat and stops sending messages, after a while the client will stop receiving and sending messages.

This is a inner problem of how TCP protocol works. To achieve a better UX I need made a exchange system for ping/pong to maintain the channel open as long the session of the users remains online.

This is a inner problem of how TCP protocol works. To achieve a better UX I need made a exchange system for ping/pong to maintain the channel open as long the session of the users remains online.

Do it.

Any eta?

Probably I will just archive this project.
Em qui, 9 de dez de 2021 07:02, Mateus Felipe C. C. Pinto <
@.***> escreveu:

Any eta?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ryukinix/lisp-chat/issues/17#issuecomment-989694775,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB2J57WVFIMOIRYOOJYOFRLUQB5DFANCNFSM4FLF2IKA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


[Docs] Cleanup docs on contributing

Addresses #282
@seankimkdy, any other changes you think we should make?

@smcclure20 thanks for getting the ball rolling on this. Let me make some further cuts and I'll push it to this branch.

@seankimkdy Any progress on this?

@smcclure20 I added some changes. Let me know what you think.
I also think we need another reviewer to approve since we both edited the PR, so if @divega or @praveingk could review that'd be great.


There is no keda.k8s.io/ v1Alpha1 resource object

unable to recognize "deploy-consumer.yaml": no matches for kind "ScaledObject" in version "keda.k8s.io/v1alpha1"
unable to recognize "deploy-consumer.yaml": no matches for kind "TriggerAuthentication" in version "keda.k8s.io/v1alpha1"

I am facing similar issue, getting an error as below
Verify that any required CRDs have been created: no matches for kind "ScaledObject" in version "keda.k8s.io/v1alpha1
while I have relevant CRDs available. Not sure if something is missing in deploy-consumer.yaml?

Make sure you are using keda < 2.0.0, because apiVersion within deploy/deploy-consumer.yaml is using v1alpha1 while keda 2.0.0 objects are using v1beta1.
Below script worked for me
# Add helm repo
helm repo add kedacore https://kedacore.github.io/charts

# Update helm repo
helm repo update

# Install keda helm chart
helm install keda kedacore/keda --version 1.5.0 --namespace keda


Ethereum module to deploy contracts with the deployment pipeline

It would be great to be able to add smart contracts to the deployment pipeline, simplifying the deployment process during testing for projects like the SimpleStorage wrapper.

I think we can create an ethereum folder inside of cli/src/lib/defaults/deploy-modules and implement the logic of contract deployment there. Then we would be able to just add the deployContracts step in the deploy manifest. Just thinking out loud here :-D


Rookie Usage Question: Fail to import Tensorpack Class in example code with PyCharm

I'm trying to learn the Mask-RCNN implementation  example in tensorpack，which I think is the best opensource tensorflow based implementation so far.
I'm using PyCharm-pro-2016.3.2 as my IDE to read the example code.
Latest  tensorpack installed using:
sudo -H  pip3 install -U git+https://github.com/ppwwyyxx/tensorpack.git.
After that, I clone the tensorpack repo  then open tensorpack/examples/FasterRCNN folder with PyCharm. However, when I open any file contains tensorpack class importing code( e.g. models.py/train.py...) ,those default tensorpack class importing code fails, I've found a way to work but it seems not the right thing to do. Here is the screenshot(please read comments in the read box) :

Besides ,when I use jupyter-notebook to run the same code, it turned out to be works just fine, which confused me more.

I know this is more like a IDE usage question or a basic python project importing question rather than a package using question .However, I failed finding an answer elsewhere and thought anyone here maybe encountered the same problem.
Any help appreciated. Thanks ahead~

This was probably fixed in #656, btw.


Added the SimpleMediator class with utility classes needed for the SimpleMediator

Purpose
This is the mediator of the mi connector which will remain same for all the ballerina-mi connectors.
Goals
For POC.
Approach
With this PR we introduce the mediator for ballerina-mi connectors that takes parameter introduced by the ballerina program.
Parameters taken from the SimpleMessageContext are converted into the ballerina-types using OMElementConverter and the Parameters receive from the ballerina program will be converted to the OM type using BXmlConverter. Constant file used to store the constants that is needed for this process.
User stories

Summary of user stories addressed by this change>

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Documentation

Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact

Training

Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable

Certification

Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to<EMAIL_ADDRESS>and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.

Marketing

Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable

Automation tests

Unit tests

Code coverage information

Integration tests

Details about the test cases and coverage

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes
Ran FindSecurityBugs plugin and verified report? No
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Migrations (if applicable)

Describe migration steps and platforms on which migration has been tested

Test environment

List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested

Learning

Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.

 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.samithkavishke seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

We can close this because this has already been addressed.


Signing support for GGUF models

Description
Based on the summary of GGUF model architecture available on huggingface, it seems like a plausible feature candidate to enable signing of GGUF models.

/label Epic need-triage

I think the current serialization formats should work with this. Maybe we can add some sample models to the repo for testing, when the API work is fully done.


Add more retries and exception handling to libcloudforensics

There are some calls that use retries, but we should make sure that all cloud calls are doing this.  We also have more granular exception handling for some calls, but not all of them, so we should make sure they are applied consistently.

Retries have been added upstream.


[New Extension] Apple Mail

Description
Builds on top of https://github.com/raycast/extensions/pull/4080, props to @yug2005 for building the foundation. This PR fixes issues found in the original one and improves performance and UX.

Go through any mailbox for any account
See important mail quickly
See recent unread messages
Read messages in Raycast or open them in mail app
Reply, reply all, forward or redirect messages
Compose a new message
For new messages, you can specify the following fields:

Choose the account from which to send the message
Choose the to, cc, and bcc recipients
Specify the subject and the content of the message
Select attachments for the message

Quickly share selected items in the finder through a new message
Mark messages as read or unread
Move messages to junk or trash
Delete messages from the trash
Tell mail to check for new mail for all accounts

Screencast

Commands:

See all mail accounts:

See mail in all mailboxes:

Read messages in Raycast:

Compose a new message:

Add attachments:

Checklist

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

Thank you so much for your hard work! Hope we can see this extension in the store soon 🚀

@ikupenov can we able to read an entire thread? If not it would be great to be able to add that. Example: I select an email in inbox then I run a command where it reads the entire thread in Raycast UI

You mean something like that?

@ikupenov yeah

Pleasure! You could import it manually and give it a spin in the meantime, testers are greatly appreciated 😄.
How would I do that?

@ikupenov yeah

You probably figured it out by now, but yeah, it's possible to read an entire thread.

are you launching with that?

@zisra You can clone my fork https://github.com/ikupenov/raycast-extensions/tree/ext/mail then cd into /extensions/mail and run npm i && npm build. Then through Raycast, lookup Import Extension and select the mail extension folder.

I'll try to see if I can figure out what it is today @ikupenov

It seems that the production build breaks one of the dependencies (Turndown's dependency to be exact - Domino - https://github.com/fgnass/domino/issues/146) due to the minifier. Turndown is currently used to transform the HTML into MD. It's possible to release this extension with just pain text mode until either of the following happens:

Domino patches their code (probably unlikely in the near future as there's been an open issue since 2019)
Bundler's minifying step is toned down (unlikely)
Another good HTML to MD library comes through (not optimistic)
Ability to use HTML instead of MD in Raycast (rooting for this one as it makes the perfect sense for this type of extensions)

I have some objects with date either being Invalid Date or null
11:48:47.823 {
  id: '25221',
  account: 'xxx',
  accountAddress: 'xxx',
  subject: 'Re: [raycast/extensions] [ Quantumcast ] - New command "Open Cloudflow Whitepaper" (PR #6972)',
  date: Invalid Date,
  read: true,
  numAttachments: 0,
  senderName: 'raycastbot',
  senderAddress<EMAIL_ADDRESS>}

11:48:47.819 {
  id: '25030',
  account: 'xxx',
  accountAddress: 'xxx',
  subject: 'Re: [raycast/extensions] Update typefully extension (PR #6577)',
  date: null,
  read: true,
  numAttachments: 0,
  senderName: 'raycastbot',
  senderAddress<EMAIL_ADDRESS>}

Maybe that gives a little clue since it should always be a Date object

Hey guys, sorry I haven't been able to work on raycast for a while but @ikupenov thanks for taking over the work! I tested out the extension briefly and it works great! Looking forward to seeing this go up in the store.

Awesome, thanks for chirping in and all your hard work on this too 🔥

Incredibly work!