MediaQueryList.prototype.addListener & removeListener are marked as deprecated

TypeScript Version: master

Search Terms:
MediaQueryList addListener
addListener
MediaQueryList
Code
const listener = window.matchMedia("(max-width: 1000px)");
const handler = () => {};
listener.addListener(handler);
listener.removeListener(handler);

Expected behavior:
addListener and removeListener are "valid" signatures to invoke
Actual behavior:
addListener and removeListener are deprecated
Playground Link:
https://www.typescriptlang.org/play/#code/MYewdgzgLgBANgS2gUzMgTjAvDA7gsAExFwDoBbAQymAAsBZZQhSgCgCJWqAPAWn0JRaALhgBGAAxSADtwCU7OQG4AUKEixalInAzYYrOdgB8MAN4BfVYhRp0pSoUIAZJFFQZWWnRmUqb7nak6MjkIABuyK62nt6EuujKQA
Related Issues:
None
Notes:
This document describes the MediaQueryList interface: https://drafts.csswg.org/cssom-view/#dom-mediaquerylist-addlistener
It doesn't list addListener and removeListener as deprecated, does not give an indication that they will be deprecated in the future, it also does not say that you should use addEventListener and removeEventListener instead.
It did say that addListener and removeListener are direct aliases.
Source:
https://github.com/microsoft/TypeScript/blob/master/lib/lib.dom.d.ts#L10018
Why would I bring this up:
Because Safari and Internet Explorer do not support addEventListener and removeEventListener, but they do support addListener and removeListener.
Because addListener and removeListener are deprecated it means that people are more likely to use the alternatives without looking at the issues with doing so.
A lot of examples with the usage of MediaQueryList show addListener and removeListener usage, even the documentation on MDN: https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList#Examples

I agree, this change created a bit of trouble here: https://github.com/ReactTraining/react-media/pull/135#issuecomment-523520677
Potentially, breaking compatibility of the popular React library.
Luckily, I decided to go with my custom solution and not using this library, and later doing cross-browser testing I've found out that Safari doesn't support addEventListener for MediaQueryList. Even 13.1 (TP).

BTW, the best way to see the browser support for these particular methods is to go to MDN:MediaQueryList#Browser_compatibility and check out MediaQueryList inheriting from EventTarget section of the table. Thanks to https://github.com/mdn/browser-compat-data/pull/3674 for making this contribution.

I have to say, due to the label with deprecated, I triggered an incident in our production.
IT IS TOTALLY MISLEADING!
It is still using and available in every green browser. It is NOT deprecated.

@chaoyangnz

A deprecated API is one that you are no longer recommended to use, due to changes in the API. While deprecated classes, methods, and fields are still implemented, they may be removed in future implementations, so you should not use them in new code, and if possible rewrite old code not to use them.

How is deprecation misleading? It's available, it probably works, but you shouldn't rely on that to continue to be the case going forward. You're advised to use a replacement where possible, deprecation does not mean no longer available.

By the way, Safari technology preview version has support for this new API.

@polarathene

How is deprecation misleading? It's available, it probably works, but you shouldn't rely on that to continue to be the case going forward. You're advised to use a replacement where possible, deprecation does not mean no longer available.

If something is deprecated, it means that it should not be used.  You're correct when saying that "deprecation does not mean no longer available", but it's misleading to say it should not be used right now. This is especially true when it HAS to be used on a major browser like Safari. Instead, this should be a warning of future deprecation until the the method is widely supported on major browsers.
Example
In VSCode, this is a pretty strong visual indication that I should change the method immediately. I would not expect changing to the recommended method to completely break my app on all iOS devices, which it does.

it's misleading to say it should not be used right now.

I haven't said that? I advised to use the newer API where possible and to not rely on a deprecated API. Deprecations can exist for quite some time before they're dropped, they're given as a heads-up to adopt the newer API before the deprecated one ends up no longer supported.
In this case, deprecations within the browser can take quite a while to be completely replaced, and may still stick around for some form of compatibility. Not only that, we're developing for multiple clients, each with multiple versions, so that deprecation can be true / valid in some clients, and others that are late to adopting the deprecation (by providing a new API you can use instead) obviously add friction to that.
The latest Safari for macOS apparently supports the newer API now, so it's only a matter of time until iOS catches up with that and this issue itself will lose relevance debating it. That said I acknowledge / agree that there doesn't appear to be any official "deprecation", just encouragement to use the newer API, the older one will apparently remain, perhaps with some minor perf drawback that isn't likely to affect anyone in practice.

I handle this with a conditional in a PR:
const mql = window.matchMedia(v.media)
if (mql.addEventListener) {
  mql.addEventListener(`change`, this.handleVariantChange)
} else {
// Deprecated 'MediaQueryList' API, <Safari 14, IE, <Edge 16
  mql.addListener(this.handleVariantChange)
}

My "deprecated" comment for MediaQueryListListener(note, modern browsers alias this for now) is not quite correct, MDN encourages using the newer standard event mechanism, the older non-standard API is kept by browsers for backward compatibility. A newer version of Safari that's to be released this year will also support the newer API. MDN browser compatibility

If you rather just use addListener() there's probably nothing to be concerned about, I don't use TypeScript, so I've never even seen that UX issue in your screenshot. I can see how that'd be problematic and you do raise a valid case.
TypeScript handling it that way is probably with the intent to direct developers to the newer API, but the dev places too much trust in TypeScript without looking into the why and just assumes it's a 1:1 replacement without needing to worry about browser wide support? How does it handle features that don't usually have widespread support available? Does it protect you from that too, or is the developer meant to be aware of such themselves?

AFAIK, there's no such thing as "soft deprecation" in TypeScript / JSDoc. Something is either deprecated or not.
If it stays deprecated - there's a risk that devs will follow this suggestion blindly.
If we make it not deprecated - there's a risk that devs will keep using the old API and then will encounter some issue. I don't think that it will be removed soon, because it's not even deprecated yet. So, the risk is quite tolerable. Another downside form the dev standpoint is that it'll be harder to decide which API to use, and this deprecation helps dev to make choice in favor of the new API.
That being said, I think that some comment should be added to this JSDoc, explaining that this method is not actually deprecated and is still the only option is some browsers.
This comment can be added by keeping the method deprecated, in this case, curious dev will go to the definition and see this comment.
If we add this comment and remove deprecation - curious dev that explores available methods, trying to understand which one to use, will also see this comment and make the right decision. This case is less likely, IMO.
Considering that usage of deprecated methods may trigger some unnecessary static code analysis warnings, it's probably worth replacing deprecation notice with an explanation comment.
On the other hand, keeping it deprecated (with the comment) will promote new API adoption, which is probably a good thing (and will also push other browsers to add new API support).
So, it's a quite hard choice. If I had to choose right now, I probably would leave it deprecated, because the new API is about to get support in all major browsers.

because the new API is about to get support in all major browsers.

Any idea when it arrives for Safari on iOS? That doesn't seem to be in sync with macOS Safari releases?

@polarathene

it's misleading to say it should not be used right now.

I haven't said that?

My original meaning was that TypeScript, not you, is essentially telling developers that the old API should not be used (as shown in my screenshot).

If you rather just use addListener() there's probably nothing to be concerned about, I don't use TypeScript, so I've never even seen that UX issue in your screenshot. I can see how that'd be problematic and you do raise a valid case.

I'm not sure what brought you to this issue if you don't use TypeScript. This issue, and also my comment, is specifically about TypeScript's handling of this particular deprecation.

TypeScript handling it that way is probably with the intent to direct developers to the newer API, but the dev places too much trust in TypeScript without looking into the why and just assumes it's a 1:1 replacement without needing to worry about browser wide support?

In short, trusting TypeScript or any statically typed language for that matter, is kind of the whole point. It's so we can catch these types of errors before ever running the code. This entire issue could have been prevented if the definition was addEventListener? which would indicated that the method was possibly undefined. If that were the case the need for your solution would have been immediately apparent.
With that being said, I think this is the first time TypeScript actually caused me to produce a bug over the past two years. Otherwise, It's saved me from more bugs than I can count. You should give it a try when you have a chance.

@Maxim-Mazurok
I briefly alluded to a third solution above.

Leave the deprecation warning
Make addEventListener and removeEventListener optional properties

This would both encourage use of the new API while sufficiently warn users that the new methods may not be implemented yet in a typed manner.

Leave the deprecation warning
Make addEventListener and removeEventListener optional properties

This is a good solution which handles both cases pretty good.


Data validation errors in MMM due to pandas index

Hi All,
Just found a very small issue trying to run a sample on the latest release 0.2.0
If I pass a pandas df that has been truncated from the original length, the ValidateDateColumn class throws an error telling me I have duplicate date columns.
My test script starts with a larger data sample. I have filtered the data to within a date range. This leaves the original pandas index value.  ie... original df has 200 rows, model data now has 100 rows, but the index starts at 99
I printed a sample in that moment of validation and see that the series has the original length of the DataFrame and an NAT for all empty index values.
Issue was easily solved by resetting the index of the Dataframe before starting the .fit() process. This is an outlier example as I would assume most would be loading only the data they intend to sample on.

could you either update here a way to reproduce it, or the error you've been shown? Would it be possible for you to do the data cleaning before passing the dataset into the fit function?

Hi,
Just wanted to say that I ran into the exact same issue. If the index starts with anything else than 1 it told me that I have dublicate date columns.  But very easy fix with reseting the index (or using .loc in the first place to avoid the issue)

Writing to say I had the same issue. Fixed by resetting the index.

Can someone provide a reproducible example?

Here is a reproduced example using the example MMM notebook:
import pandas as pd

# Define the data
data = {
    'date_week': ['2018-04-02', '2018-04-09', '2018-04-16', '2018-04-23', '2018-04-30'],
    'y': [3.984662, 3.762872, 4.466967, 3.864219, 4.441625],
    'x1': [0.318580, 0.112388, 0.292400, 0.071399, 0.386745],
    'x2': [0.0, 0.0, 0.812466, 0.0, 0.2164220],
}
df = pd.DataFrame(data)

df['date_week'] = pd.to_datetime(df['date_week'])

# Add 2 to the index to artificially cause the issue
df.index += 2

X = data.drop("y", axis=1)
y = data["y"]

mmm = DelayedSaturatedMMM(
    date_column="date_week",
    channel_columns=['x1', 'x2'],
    adstock_max_lag=8,
    yearly_seasonality=2,
)

mmm.fit(X=X, y=y, target_accept=0.95, chains=4, random_seed=rng)

Reproduces the error
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
[/Users/sagenos/code/dema/mmm_test/PYMC](https://file+.vscode-resource.vscode-cdn.net/Users/sagenos/code/dema/mmm_test/PYMC) Marketing Official Notebook.ipynb Cell 37 line 1
----> [1](vscode-notebook-cell:/Users/sagenos/code/dema/mmm_test/PYMC%20Marketing%20Official%20Notebook.ipynb#X45sZmlsZQ%3D%3D?line=0) mmm.fit(X=X, y=y, target_accept=0.95, chains=4, random_seed=rng)

File [~/.pyenv/versions/3.11.2/lib/python3.11/site-packages/pymc_marketing/model_builder.py:463](https://file+.vscode-resource.vscode-cdn.net/Users/sagenos/code/dema/mmm_test/~/.pyenv/versions/3.11.2/lib/python3.11/site-packages/pymc_marketing/model_builder.py:463), in ModelBuilder.fit(self, X, y, progressbar, predictor_names, random_seed, **kwargs)
    461     y = np.zeros(X.shape[0])
    462 y_df = pd.DataFrame({self.output_var: y})
--> 463 self._generate_and_preprocess_model_data(X, y_df.values.flatten())
    464 if self.X is None or self.y is None:
    465     raise ValueError("X and y must be set before calling build_model!")

File [~/.pyenv/versions/3.11.2/lib/python3.11/site-packages/pymc_marketing/mmm/delayed_saturated_mmm.py:127](https://file+.vscode-resource.vscode-cdn.net/Users/sagenos/code/dema/mmm_test/~/.pyenv/versions/3.11.2/lib/python3.11/site-packages/pymc_marketing/mmm/delayed_saturated_mmm.py:127), in BaseDelayedSaturatedMMM._generate_and_preprocess_model_data(self, X, y)
    125 self.model_coords = coords
    126 if self.validate_data:
--> 127     self.validate("X", X_data)
    128     self.validate("y", y)
    129 self.preprocessed_data: Dict[str, Union[pd.DataFrame, pd.Series]] = {
    130     "X": self.preprocess("X", X_data),  # type: ignore
    131     "y": self.preprocess("y", y),  # type: ignore
    132 }

File [~/.pyenv/versions/3.11.2/lib/python3.11/site-packages/pymc_marketing/mmm/base.py:141](https://file+.vscode-resource.vscode-cdn.net/Users/sagenos/code/dema/mmm_test/~/.pyenv/versions/3.11.2/lib/python3.11/site-packages/pymc_marketing/mmm/base.py:141), in BaseMMM.validate(self, target, data)
    138     validation_methods = self.validation_methods[1]
    140 for method in validation_methods:
...
     42     raise ValueError(f"date_col {self.date_column} not in data")
     43 if not data[self.date_column].is_unique:
---> 44     raise ValueError(f"date_col {self.date_column} has repeated values")

ValueError: date_col date_week has repeated values

Have also confirmed that resetting the index solves the issue

Strange thing is though, that executing the code separatly does not seem to cause this:
X["date_week"].is_unique  # true

Found the reason for why this happens!
If the dataframe does not have a reset index, we still add fourier components seemingly based on the dataframe index.
This means if we artifically shifted the index, say by 2, then this is what the dataframe looks like when passed to the validation:
data.index += 2

...

# We then inspect the dataframe passed to `validate_date_col()`

data.head(2)
"""
   date_week        x1   x2  sin_order_1  cos_order_1  sin_order_2  cos_order_2
2 2018-04-02  0.318580  0.0     0.968251    -0.249981    -0.484089   -0.875019
3 2018-04-09  0.112388  0.0     0.931210    -0.364483    -0.678820    -0.734304
"""

data.tail(2)
"""
     date_week  x1  x2  sin_order_1  cos_order_1  sin_order_2  cos_order_2
0       NaT NaN NaN     0.999930    -0.011826    -0.023651    -0.999720
1       NaT NaN NaN     0.991269    -0.131859    -0.261414    -0.965227
"""

@ricardoV94 Now there's a PR up solving this issue

Strangely I am now getting this error even when I reset my index and ensure it is continuous from 0-n and matches for X and y. Any idea why?

Strangely I am now getting this error even when I reset my index and ensure it is continuous from 0-n and matches for X and y. Any idea why?

Solved - had accidentally included my date column in the channel_columns as well as specified it as the date_column here:
mmm = DelayedSaturatedMMM(     model_config = my_model_config,     sampler_config = sampler_config,     date_column='date',     channel_columns=paid_media_spends,     control_columns=context_vars,     adstock_max_lag=4,       yearly_seasonality=None, )

Ran the reproducible on latest main branch with success.
Will close issue.
Feel free to open if needed


How to open Twitter login app instead of the website?

Hi,
I see this plugin require user login with username and password.
Is this possible to open twitter app if they have installed it, and all they need to do is clicking Authorize button  instead of typing the username/password, for me it looks more secure  and more UX.
Thank you!

That login method cannot be supported by this plugin.
TwitterKit is required to implement that login method.
However, the development of TwitterKit is finished.
Sorry.


Redevelop BUOYPARS (8)

This subroutine is actually skipped when it's wave glider mode:
if(.not.lwg)   CALL BUOYPARS(P0,T0,num_surv)  !! skip if WG approach


Fix volume mount typo in README

I think this was a typo because the other examples use angle brackets to depict strings to replace by the user.

Thanks @styfle!


explain  new ReplaySubject(1);

This is a great example but can someone point me to a link that explains how these lines work
Thanks, much appreciated.
task-store.ts

tasks: ReplaySubject<List<any>> = new ReplaySubject(1);

subscribe(next: (list: List<any>) => void): any {
  return this.tasks.subscribe(next);
}

The ReplaySubject is used to stream the list of tasks to the TaskList component. The component uses the angular2 async pipe to automatically subscribe to the ReplaySubject, and renders the list when the ReplaySubject emits a new/updated list of tasks.
<task-item [model]="task" *ngFor="#task of tasks | async | filterTasks:filter"></task-item>

The subscribe() function is no longer used and has been removed https://github.com/r-park/todo-angular2-firebase/commit/1225761bed201392e5e8c35ff1667de4ad80adf6
subscribe(next: (list: List<any>) => void): any {
  return this.tasks.subscribe(next);
}

Thanks.  Much appreciated.


install the microos-selinux pattern by default

This PR looks outdated. @jsrain , should it be closed?

Closing it. We can open a new one if needed.


Show Cate's core Python dependencies

Renamed "About" tab in Preferences Dialog into "System". There we now also display the versions of Cate's core Python package dependencies:

The default api paths are not correct in config.ts. Should be users not user:
const MANAG_API_PATH = '/users/{username}/webapis';
const CLOSE_API_PATH = '/users/{username}/webapis';

This was the previous PR.

@dzelge fixed it.
@AliceBalfanz merging without your ok, need to move on


trakt unwatched episodes

its gonna show like:
Serie name  - Episodes left - Name Next Episode
TheWalking dead - 1 - nameEpisode

http://prntscr.com/hemjic

Okay a few issues with the pull request:
I would prefer to keep the code and strings in English so everybody can understand. I added a translation option to the master branch so you can change the strings there (I already did this once, not sure why it wasn't pushed).
The readme isn't really explaining the user where to find the id_lista.
The changed whitespace makes diffing really hard because it looks like all lines changed even though it only changed the indentation.
Stuff like shorten or different data in the table is a good idea but maybe should be user configurable.


MultiscaleImage handling

The user can either select a scale or the multi-scale images to be rendered are rasterized before
@timtreis, 2023-10-16: "Please also provide the first (pre-datashader) version of this notebook: https://github.com/scverse/spatialdata-notebooks/issues/59 "

Codecov Report

Merging #164 (4858eca) into main (88f6928) will increase coverage by 0.00%.
The diff coverage is 81.48%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #164   +/-   ##
=======================================
  Coverage   74.88%   74.88%
=======================================
  Files          11       11
  Lines        1298     1338   +40
=======================================
+ Hits          972     1002   +30
- Misses        326      336   +10

Files
Coverage Δ

src/spatialdata_plot/pl/render.py
86.39% <100.00%> (-1.41%)
:arrow_down:

src/spatialdata_plot/pl/utils.py
62.53% <96.00%> (+1.38%)
:arrow_up:

src/spatialdata_plot/pl/basic.py
83.08% <67.85%> (-2.56%)
:arrow_down:

Just a quick comment, I have been using this new branch, works super smooth! Great work!


temp data delete option

The temp data can occupy a lot of space.
a optional "keepData" would be nice to delete the data on the fly if wanted (analyze_positions needs them though!)

keepdata implemented in grada_analyze() and grada_analyze_positions()


Update Xeric's Glade teleport location icon on World Map

Fixed #8899

When zoomed in all the way this is overlapping the rare trees icon some:

maybe it should be moved over a little?

Moved slightly to the right to prevent overlap.

Thanks


No back button on windows XP

In the last version of the wizard, there appeared a new issue - "Back" button is not shown any more. It works when you press on the window corner, but no button seen. It has something to do with what we've done to enable right-to-left layout.
Originally posted: 2013-05-13T00:16:55

Updated in 1.2.6 to correct alpha and XP rendering problems on both LTR and RTL languages.
Originally posted: 2013-05-20T13:39:04

Originally posted: 2013-05-20T13:39:13


Change app selection in Dev

Change app selection in Dev to multi stage selection.

I think this goal has been achieved. So folding into #169.


Using AAD Groups to manage action groups (like RBAC)

Hello, according to the best practices RBAC roles should be assigned to AAD groups instead of having direct user assignments.
This article states that

When you use this type of notification, you can send email to the members of a subscription's role. Email is only sent to Azure Active Directory (Azure AD) user members of the role. Email isn't sent to Azure AD groups or service principals.

Could you clarify if that means that users that gain their RBAC roles (e.g. owner of a subscription) via a group assignment won't receive emails? Or is that comment related to other group + email features (DLs, mail enabled groups, M365 groups)?
It would be rather unfortunate having to completely replicate all user assignments within all the action groups instead of relying on the AAD groups. Action groups and AAD groups are often managed by different teams and having to regularly redeploy all action groups (or synchronize them) seems like quite cumbersome and a consistency nightmare.
Thank you for looking into this.
Simon

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

ID: 6b4942cb-cb22-7ef0-d78c-c5967a879d2d
Version Independent ID: 6eb84072-fa26-7434-5376-9c5a901cedff
Content: Manage action groups in the Azure portal - Azure Monitor
Content Source: articles/azure-monitor/alerts/action-groups.md
Service: azure-monitor
Sub-service: alerts
GitHub Login: @dkamstra
Microsoft Alias: jagummersall

@sopelt
Thanks for your feedback! We will investigate and update as appropriate.

@sopelt, thank you for the question. The "Email Azure Resource Manager role" option currently supports only users. Please note the later section of this doc as below:
When you set up the Azure Resource Manager role:

Assign an entity of type "User" to the role.
Make the assignment at the subscription level.
Make sure an email address is configured for the user in their Azure AD profile.

I would request you to please post an idea using the link below, to enable it for AD Groups as well. Azure Monitor Feedback

Thank you @AnuragSingh-MSFT for the clarification. It is quite the unfortunate limitation and I hope it will be resolved at some point.
I found the following relevant feedback items for people who face this issue and want to upvote:

Assign a specific Azure AD group to be alerted on App Insights alerts
Remove Action Group limitations for ARM role Email


Nested randomization breaks the steps panel

Describe the bug
An order with double nested latinSquare with sample causes a ton of issue for the steps panel.
To resolve, we probably need to refactor some of the logic in the steps panel component.

Closed via #256


New AC codes

Added LG Inverter V, Electrolux EACM-10 DR/N3 and General Climate ACs

Do all three models need an exclusive "on" command?

Checked with the remote - yes, they do.
Steps to reproduce :

Turn off AC
Cover remote and make it think the AC is on
Uncover. Try to change temperature.
Expected result : AC will turn on and apply the temp changes.
Result: AC do not react to the remote.

The conclusion: AC needs to be explicitly turned on.


dart2js --minify fails with 'nsm_dispatcher_test.dart'

Starting from sdk commit 40611dd6111d5cecbd01bec2cf3bb9e2e5fb1e17 and until now (at commit a850b4c977a5b177abe17864006657111d835840), the test nsm_dispatcher_test.dart fails as follows (dart2js from commits a850b4.. and 406111d.. work the same as 1.21.0-dev.1.0 in this respect).
..$ dart2js --version
Dart-to-JavaScript compiler (dart2js) version: 1.21.0-dev.1.0
..$ dart2js --minify tests/kernel/unsorted/nsm_dispatcher_test.dart
tests/kernel/unsorted/nsm_dispatcher_test.dart:8:3:
Hint: Overriding 'noSuchMethod' causes the compiler to generate more code and prevents the compiler from doing some optimizations.
Consider removing this 'noSuchMethod' implementation.
  noSuchMethod(Invocation invocation) {
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
..$ d8 out.js
Warning: 'a5' is used reflectively but not in MirrorsUsed. This will break minified code.
|Symbol("a5")|
/usr/local/google/home/eernst/bin/dart-sdk/lib/_internal/js_runtime/lib/preambles/d8.js:263: Expect.isTrue(false) fails.
          throw e;
          ^
Expect.isTrue(false) fails.
    at dart.c (out.js:395:3)
    at dart.ay (out.js:847:24)
    at dart.k (out.js:846:3)
    at dart.a9 (out.js:851:3)
    at action (/usr/local/google/home/eernst/bin/dart-sdk/lib/_internal/js_runtime/lib/preambles/d8.js:275:31)
    at eventLoop (/usr/local/google/home/eernst/bin/dart-sdk/lib/_internal/js_runtime/lib/preambles/d8.js:258:9)
    at self.dartMainRunner (/usr/local/google/home/eernst/bin/dart-sdk/lib/_internal/js_runtime/lib/preambles/d8.js:276:5)
    at out.js:1017:55
    at init.currentScript (out.js:1013:55)
    at out.js:1016:84
..$ dart2js tests/kernel/unsorted/nsm_dispatcher_test.dart
tests/kernel/unsorted/nsm_dispatcher_test.dart:8:3:
Hint: Overriding 'noSuchMethod' causes the compiler to generate more code and prevents the compiler from doing some optimizations.
Consider removing this 'noSuchMethod' implementation.
  noSuchMethod(Invocation invocation) {
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
..$ d8 out.js
Warning: 'fun' is used reflectively but not in MirrorsUsed. This will break minified code.
|Symbol("fun")|
Warning: 'fun' is used reflectively but not in MirrorsUsed. This will break minified code.
|Symbol("fun")|1|
Warning: 'fun' is used reflectively but not in MirrorsUsed. This will break minified code.
|Symbol("fun")|1|2|
Warning: 'fun' is used reflectively but not in MirrorsUsed. This will break minified code.
|Symbol("fun")|1|Symbol("b")/2|
Warning: 'fun' is used reflectively but not in MirrorsUsed. This will break minified code.
|Symbol("fun")|1|Symbol("a")/1|Symbol("b")/2|
Warning: 'fun' is used reflectively but not in MirrorsUsed. This will break minified code.
|Symbol("fun")|1|Symbol("a")/1|Symbol("b")/2|

Presumably, this test should be marked in the status file to never run with dart2js, to run with dart2js but fail with --minify, or the test should be modified to work correctly with --minify.

This test is skipped on dart2js configuration for now.


Checkbox won't trigger changed tracker

Checking or Unchecking a checkbox will not set the form to changed state. (e.g. the Saved button doesn't turn green into the Save draft button)

In fact I noticed the opposite; checkbox / radio options WOULD trigger change detection, but it wouldn't correctly un-set the dirty state when the checkbox value was restored.
Fixed with https://github.com/silverstripe/silverstripe-framework/pull/6239


feat(full-stack signals): make operations thenable

This pull request introduces a feature to make operations "thenable", which means it implements the ability for operations to return promise-like objects that can be chained. Those objects are in the result properties to avoid the return type themselves to be treated as promises by lint checkers.
Closes #2712

Also ListSignal's operations need another follow-up PR to enable the thenables, right?


[haskell-updates] haskellPackages: Mark unbroken

summoner{,tui}
morley
lorentz
morte

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Everything looks good here except that morte doesn't appear to compile:
$ git rev-parse HEAD # commit from this PR
195cd3297f2d1afbb89cca6cefc8e73cb3acf6a4
$ nix-build -A haskellPackages.morte --arg config '{allowBroken=true;}'
these derivations will be built:
  /nix/store/kay0q9wh6zfxlkpqydz8r9fyma3ak807-morte-1.7.2.drv
building '/nix/store/kay0q9wh6zfxlkpqydz8r9fyma3ak807-morte-1.7.2.drv'...
setupCompilerEnvironmentPhase
Build with /nix/store/w30rhw13ji6vkv0zksms5h7897cxvl90-ghc-8.8.4.
unpacking sources
unpacking source archive /nix/store/48qw8rlx8hj1agkq8xcw2gd6virs289j-morte-1.7.2.tar.gz
source root is morte-1.7.2
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file morte-1.7.2/test/src/example9.mt
patching sources
compileBuildDriverPhase
setupCompileFlags: -package-db=/build/setup-package.conf.d -j8 +RTS -A64M -RTS -threaded -rtsopts
[1 of 1] Compiling Main             ( Setup.hs, /build/Main.o )
Linking Setup ...
configuring
configureFlags: --verbose --prefix=/nix/store/ymsxdp1lpaymgzys238qq96mkczcig7b-morte-1.7.2 --libdir=$prefix/lib/$compiler --libsubdir=$abi/$libname --datadir=/nix/store/gqccm851xl308p10llnc9zdnswjmzclq-morte-1.7.2-data/share/ghc-8.8.4 --docdir=/nix/store/2ny24f47y6q3fr4p12yfdygx4pdn8rj1-morte-1.7.2-doc/share/doc/morte-1.7.2 --with-gcc=gcc --package-db=/build/package.conf.d --ghc-options=-j8 +RTS -A64M -RTS --disable-split-objs --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --ghc-option=-split-sections --extra-lib-dirs=/nix/store/pk73wc0x32y2bmbiqiddb084w398ab6y-ncurses-6.2/lib --extra-lib-dirs=/nix/store/s0mblhs5vmjza9dmipn74rwqflxy1fw7-libffi-3.3/lib --extra-lib-dirs=/nix/store/fphpbj8jpyibz0l2xspidg6s7zm7xyb5-gmp-6.2.0/lib
Using Parsec parser
Configuring morte-1.7.2...
CallStack (from HasCallStack):
  die', called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:1022:20 in Cabal-<IP_ADDRESS>:Distribution.Simple.Configure
  configureFinalizedPackage, called at libraries/Cabal/Cabal/Distribution/Simple/Configure.hs:475:12 in Cabal-<IP_ADDRESS>:Distribution.Simple.Configure
  configure, called at libraries/Cabal/Cabal/Distribution/Simple.hs:625:20 in Cabal-<IP_ADDRESS>:Distribution.Simple
  confHook, called at libraries/Cabal/Cabal/Distribution/Simple/UserHooks.hs:65:5 in Cabal-<IP_ADDRESS>:Distribution.Simple.UserHooks
  configureAction, called at libraries/Cabal/Cabal/Distribution/Simple.hs:180:19 in Cabal-<IP_ADDRESS>:Distribution.Simple
  defaultMainHelper, called at libraries/Cabal/Cabal/Distribution/Simple.hs:116:27 in Cabal-<IP_ADDRESS>:Distribution.Simple
  defaultMain, called at Setup.hs:2:8 in main:Main
Setup: Encountered missing or private dependencies:
microlens-mtl >=<IP_ADDRESS> && <0.2, optparse-applicative <0.15

builder for '/nix/store/kay0q9wh6zfxlkpqydz8r9fyma3ak807-morte-1.7.2.drv' failed with exit code 1
error: build of '/nix/store/kay0q9wh6zfxlkpqydz8r9fyma3ak807-morte-1.7.2.drv' failed

Yep.
Sorry.
Somehow got in.
Removed morte from this update.

Looks good, thanks for fixing this up!


Add must-gather image for secrets store

This adds a must-gather image to fetch relevant secrets store resources.
Tested with:
oc adm must-gather --image=quay.io/jdobson/secrets-store-csi-mustgather

/cc @openshift/storage @jsafrane @ropatil010

Tried with oc adm must-gather  --image=quay.io/jdobson/secrets-store-csi-mustgather and includes
1. cluster-scoped-resources/operator.openshift.io/clustercsidrivers/secrets-store.csi.k8s.io.yaml 2. cluster-scoped-resources/storage.k8s.io/csidrivers/secrets-store.csi.k8s.io.yaml 3. namespaces/openshift-cluster-csi-drivers/pods/csi-secrets-store-provider-azure-xxxx    namespaces/openshift-cluster-csi-drivers/pods/secrets-store-csi-driver-node-xxxx    namespaces/openshift-cluster-csi-drivers/pods/secrets-store-csi-driver-operator-xxxx
Working as per expectations. Hi @dobsonj Can you PTAL on the above shared results. Thanks in adv.!

/lgtm

There is no user-visible change yet, after this PR merges we need https://github.com/openshift/release/pull/42118 to build the must-gather image and then ART onboarding for the new image.
/label docs-approved
/label px-approved
/label qe-approved


Upgrade aiohttp to 3.9.0, drop Python 3.7 from matrix

Update aiohttp due to a security issue in it.
Drop Python 3.7 from installation test matrix due to aiohttp 3.9 not being available there anymore (Python 3.7 is End Of Life anyway), ref: https://endoflife.date/python

Pull request template
Please fill this pull request template to describe your pull request.
If it introduces API breaks please describe it in detail.
Check list
Testing

[x] tests run against live device.

Changelog

[x] CHANGELOG.md updated.

Tagging

[ ] Remember to tag a new release, if need be.

LGTM


plugin failed to build

 hyprpm update --no-shallow --verbose
[v] version returned: Hyprland, built from branch  at commit 4520b30d498daca8079365bdb909a8dea38e8d55  (version: bump to 0.44.1).
Date: Wed Oct 9 12:54:39 2024
Tag: v0.44.1, commits: 5309
built against aquamarine 0.4.2

flags: (if any)

[v] parsed commit 4520b30d498daca8079365bdb909a8dea38e8d55 at branch  on Wed Oct 9 12:54:39 2024, commits 5309

✔ Headers up to date.

 → checking for updates for hyprland-plugins
 → Cloning https://github.com/hyprwm/hyprland-plugins
✔ repository hyprland-plugins is up-to-date.
 → checking for updates for hyprgrass
 → Cloning https://github.com/horriblename/hyprgrass
✔ repository hyprgrass is up-to-date.
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  6 / 6  Done!
✔ Ensuring plugin load state
✔ Plugin load state ensured

 echo $?
0

 hyprpm list
 → Repository hyprland-plugins:
  │ Plugin borders-plus-plus
  └─ enabled: false
  │ Plugin csgo-vulkan-fix
  └─ enabled: false
  │ Plugin hyprbars
  └─ enabled: false
  │ Plugin hyprexpo
  └─ enabled: false
  │ Plugin hyprtrails
  └─ enabled: false
  │ Plugin hyprwinwrap
  └─ enabled: false
 → Repository hyprgrass:
  │ Plugin hyprgrass
  └─ enabled: Plugin failed to build

hi, I don't see this plugin in your logs, but rather hyprgrass. Feel free to re-open if I'm wrong

sorry, created issue in wrong repo.


Cleanup test/

Tighten module imports across test sources (no import *)
Allow Atom to rewrite tsconfig.json
memberAccessTests.ts -> memberAccessRuleTests.ts
test/helper.ts -> test/utils.ts; import it as TestUtils
test/references.ts -> test/assert.ts
Remove test/chaiAssert.d.ts
Add test/typings/tsd.d.ts
Remove lib/.gitkeep
update .gitignore and .npmignore to better match our repo structure now that we don't concatenate to one file during TS compilation

Looks good! Only major things to change is the "Allow Atom to rewrite tsconfig.json" part


[LIVY-448] Assembly format is duplicated in pom.xml and assembly.xml

What changes were proposed in this pull request?
The assembly format for Livy is specified twice:
1 in assembly/pom.xml:
              <formats>
                <format>${assembly.format}</format>
              </formats>

2 in assembly/assembly.xml
              <formats>
                <format>zip</format>
              </formats>

But only one is enough. Also in assembly/assembly.xml, the format is hard coded as zip, but is should be based
How was this patch tested?
All the unit tests and ITs pass as usual. Moreover, I tested that  targz profile builds a tar.gz archive and the default profile builds a zip archive.
For example,
this builds the zip archive:
mvn -am -pl assembly package

And this builds the tar.gz artifact:
mvn -Ptargz -am -pl assembly package

Task-url: https://issues.apache.org/jira/browse/LIVY-448

You mean that -Ptargz is not worked, am I right?

Please remove or follow the the github PR template in the PR description.

You mean that -Ptargz is not worked, am I right?

No. The -Ptargz profile works fine. But these lines in assembly/assembly.xml are useless:
<formats>
    <format>zip</format>
</formats>

because they are overwritten by the ${assembly.format} property in assembly/pom.xml.

Closing and reopening the PR because one build profile failed with a timeout.

Codecov Report

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

@@             Coverage Diff              @@
##             master      #83      +/-   ##
============================================
+ Coverage     70.56%   71.54%   +0.98%
- Complexity      788      794       +6
============================================
  Files            97       97
  Lines          5391     5391
  Branches        794      794
============================================
+ Hits           3804     3857      +53
+ Misses         1062     1015      -47
+ Partials        525      519       -6

Impacted Files
Coverage Δ
Complexity Δ

...in/java/org/apache/livy/rsc/driver/JobWrapper.java
80.64% <0%> (ø)
8% <0%> (+1%)
:arrow_up:

...ava/org/apache/livy/client/http/JobHandleImpl.java
75.22% <0%> (+0.91%)
13% <0%> (ø)
:arrow_down:

...in/java/org/apache/livy/rsc/rpc/RpcDispatcher.java
64% <0%> (+1%)
19% <0%> (ø)
:arrow_down:

...ain/scala/org/apache/livy/utils/SparkYarnApp.scala
79.71% <0%> (+1.44%)
33% <0%> (ø)
:arrow_down:

...c/main/java/org/apache/livy/LivyClientBuilder.java
83.33% <0%> (+1.66%)
17% <0%> (ø)
:arrow_down:

...ain/java/org/apache/livy/client/http/HttpConf.java
76.92% <0%> (+1.92%)
5% <0%> (ø)
:arrow_down:

...java/org/apache/livy/client/common/ClientConf.java
99.06% <0%> (+2.8%)
44% <0%> (ø)
:arrow_down:

...cala/org/apache/livy/scalaapi/ScalaJobHandle.scala
55.88% <0%> (+2.94%)
0% <0%> (ø)
:arrow_down:

...main/java/org/apache/livy/rsc/ContextLauncher.java
84.31% <0%> (+2.94%)
18% <0%> (ø)
:arrow_down:

...n/java/org/apache/livy/client/http/HttpClient.java
82.81% <0%> (+3.12%)
15% <0%> (ø)
:arrow_down:

... and 5 more

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 ec8dffd...938ffc2. Read the comment docs.


Connecting message flows to non-events

When connecting a message to a non-intermediate event it would be nice if it converted the event to a message receive event instead of just preventing the connection and forcing the user to first transform the event using the context pad.

This is basically the same as https://github.com/camunda/camunda-modeler/issues/914.

This should be implemented as behavior in https://github.com/bpmn-io/bpmn-js


Running the bridge with Autoware, makes it crash within 10-15seconds

Description
As you can see in this video here, as the bridge launches alongside Autoware after about 15seconds, it would just crash.
I've tried multiple times on different computers always same outcome of ros-foxglove-bridge crashing.
https://github.com/foxglove/ros-foxglove-bridge/assets/36904941/10fe7d9b-272e-4f58-9aae-84e9f9819282

Version: 0.7.0
Platform: Ubuntu 22.04 Jammy // ROS2 humble

Steps To Reproduce

Install autoware -- https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/source-installation/
run the planning simulator -- https://autowarefoundation.github.io/autoware-documentation/main/tutorials/ad-hoc-simulation/planning-simulation/
run the ros-foxglove-bridge alongside it.
Expected Behavior
The bridge doesn't crash and keeps running

What middleware are you using? cyclone_dds? In that case the crash is probably due to https://github.com/ros2/rmw_cyclonedds/issues/268
Your node graph consists of many nodes and fetching parameters from all of these node spawns many threads. I'd recommend you to disable the parameters capability if you do not require parameters to be inspectible in Studio.

That seems to actually have done the trick ! i'll keep testing for a while, but seems like so far it's not crashing. Cheers!

OK, good to hear. I'm going to close this issue then. Feel free to reopen if you still have problems.


T3 occupancy99.9%

change module occupancy usage in triplet arrays.
efficiency plot comparisons are here
http://uaf-10.t2.ucsd.edu/~yonsi/SDL_GPU_plots/t3_999/eff_comparison_plots__6e72a9f_explicit_cache_726ef8c_explicit_cache_PU200/

(place holder)timing results will be here soon

timing result after change


Update scala-library to 2.12.14

Updates org.scala-lang:scala-library from 2.12.10 to 2.12.14.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.12.10).
You might want to review and update them manually.
Dockerfile.build

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala-library" } ]

labels: library-update, semver-patch, old-version-remains

Superseded by #224.


verify acts weird in workspace

I fail to use cargo msvc verify on a cargo workspace. This actually splits up into multiple issues.
Common setup: A workspace with crates a and b. a does not depend on b, it's not important if b depends on a. a has rust-version = "1.56", b has rust-version = "1.58". b does not build with 1.56.
Issue 1: No workspace support. Ideally I'd just run verify in the workspace directory and it would iterate over the crates. That is not supported. verify expects a package section in the virtual manifest.
Issue 2: verify acts weird. When I run verify in directory a it runs rustup run 1.56.1 cargo check --all. As --all is a deprecated alias for --workspace, this tries to build the whole workspace with Rust 1.56.1 which fails for crate b. That is completely unrelated to the verification of crate a, though. I suspect a mistake in the default check command. Could it be that --all should rather be --all-targets (nowadays)?
Issue 3: I cannot set a check command for verify. From how I read the documentation and the outcome of failed tries it seems like msrv accepts either a subcommand like verify or a check command provided after --, so I cannot work around my problem with something like cargo msrv verify -- cargo check --all-targets (Found argument 'cargo' which wasn't expected, or isn't valid in this context).

Issue 2: verify acts weird. When I run verify in directory a it runs rustup run 1.56.1 cargo check --all. As --all is a deprecated alias for --workspace, this tries to build the whole workspace with Rust 1.56.1 which fails for crate b. That is completely unrelated to the verification of crate a, though. I suspect a mistake in the default check command. Could it be that --all should rather be --all-targets (nowadays)?

In order to determine the MSRV for a workspace with a root package, it should run with --all (or --workspace), as otherwise only the root crate is checked. I chose --all, over --workspace simply because it supported by newer and older toolchains (even though it's indeed deprecated in favour of the newer --workspace flag).

Issue 3: I cannot set a check command for verify. From how I read the documentation and the outcome of failed tries it seems like msrv accepts either a subcommand like verify or a check command provided after --, so I cannot work around my problem with something like cargo msrv verify -- cargo check --all-targets (Found argument 'cargo' which wasn't expected, or isn't valid in this context).

You can either:

navigate to your crate directory and run a command like:

cargo-msrv-issue-293 on  main [!?] via 🦀 v1.58.1
❯ cd a

cargo-msrv-issue-293/a on  main [!?] is 📦 v0.1.0 via 🦀 v1.58.1
❯ cargo msrv -- cargo check --all-targets
Fetching index
Determining the Minimum Supported Rust Version (MSRV) for toolchain x86_64-pc-windows-msvc
Using check command cargo check --all-targets
Check for toolchain '1.57.0-x86_64-pc-windows-msvc' succeeded
Check for toolchain '1.56.1-x86_64-pc-windows-msvc' succeeded
   Finished The MSRV is: 1.56.1   █████████████████████████████████████████████████████████████████████████████ 00:00:01

or run from the root crate with --path ./a:

cargo-msrv-issue-293/a on  main [!?] is 📦 v0.1.0 via 🦀 v1.58.1
❯ cd ..

cargo-msrv-issue-293 on  main [!?] via 🦀 v1.58.1
❯ cargo msrv --path ./a -- cargo check --all-targets
Fetching index
Determining the Minimum Supported Rust Version (MSRV) for toolchain x86_64-pc-windows-msvc
Using check command cargo check --all-targets
Check for toolchain '1.57.0-x86_64-pc-windows-msvc' succeeded
Check for toolchain '1.56.1-x86_64-pc-windows-msvc' succeeded
   Finished The MSRV is: 1.56.1   █████████████████████████████████████████████████████████████████████████████ 00:00:01

If that doesn't work for you it's a bug :).

Thanks for the report by the way 😄!

You're welcome. :slightly_smiling_face:

Issue 2: verify acts weird. When I run verify in directory a it runs rustup run 1.56.1 cargo check --all. As --all is a deprecated alias for --workspace, this tries to build the whole workspace with Rust 1.56.1 which fails for crate b. That is completely unrelated to the verification of crate a, though. I suspect a mistake in the default check command. Could it be that --all should rather be --all-targets (nowadays)?

In order to determine the MSRV for a workspace with a root package, it should run with --all (or --workspace), as otherwise only the root crate is checked. I chose --all, over --workspace simply because it supported by newer and older toolchains (even though it's indeed deprecated in favour of the newer --workspace flag).

Ok, with the root package setup in mind, I see where you're coming from. I'm not quite sure what the --all is there for, though. If a package in the workspace is a dependency of the root package (or more general: of the checked package), it will affect cargo check on it anyway. If it's not, it should not affect the MSRV of the root / checked package. With --all in place, you will find the "greatest common MSRV" of all packages in the workspace, no matter which package you are running the check for and how they are related. That does make sense for a root package if all other packages are dependencies of it but you can find the same version without --all then and it does not make sense for any other package.

Issue 3: I cannot set a check command for verify. From how I read the documentation and the outcome of failed tries it seems like msrv accepts either a subcommand like verify or a check command provided after --, so I cannot work around my problem with something like cargo msrv verify -- cargo check --all-targets (Found argument 'cargo' which wasn't expected, or isn't valid in this context).

You can either:

navigate to your crate directory and run a command like:

❯ cargo msrv -- cargo check --all-targets

or run from the root crate with --path ./a:

❯ cargo msrv --path ./a -- cargo check --all-targets

Those commands are fine but providing a check command is only possible for the main msrv command, not its verify subcommand. verify has its benefits, e.g. in a CI where msrv itself does not seem like a good fit.
Wrapping up what I'm trying to achieve:

For the common setup I described I want my CI to verify that a builds with its specified MSRV 1.56 and b builds with it's specified MSRV 1.58. cargo-msrv seems like it should be a good fit for that job.
Ideally it would be done by a simple cargo msrv verify on the workspace but virtual manifests are not addressed.
I'd thus solve it with cargo msrv --path a verify && cargo msrv --path b verify but due to the --all in the default check command it will fail for a as the perfectly fine 1.56 is lower than the "greatest common MSRV" 1.58.
I would work around that by providing a check command that does not have --all but providing a custom check command to the verify subcommand is not possible.

Ok, with the root package setup in mind, I see where you're coming from. I'm not quite sure what the --all is there for, though. If a package in the workspace is a dependency of the root package (or more general: of the checked package), it will affect cargo check on it anyway. If it's not, it should not affect the MSRV of the root / checked package. With --all in place, you will find the "greatest common MSRV" of all packages in the workspace, no matter which package you are running the check for and how they are related. That does make sense for a root package if all other packages are dependencies of it but you can find the same version without --all then and it does not make sense for any other package.

Thanks for your explanation! The difference is subtle, but matters, and I must admit I agree with your reasoning.

Those commands are fine but providing a check command is only possible for the main msrv command, not its verify subcommand. verify has its benefits, e.g. in a CI where msrv itself does not seem like a good fit.

Oof, I thought I did run verify; I think I wasn't awake any more 😜. That's a bug, thanks!

Issue 3: I cannot set a check command for verify. From how I read the documentation and the outcome of failed tries it seems like msrv accepts either a subcommand like verify or a check command provided after --, so I cannot work around my problem with something like cargo msrv verify -- cargo check --all-targets (Found argument 'cargo' which wasn't expected, or isn't valid in this context).

This part should be fixed as part of #296 (PR #299). Released as cargo-msrv v0.14.2.


qualify for Mesos v0.24.0, adapt as needed

There is a pending pull request for resolution of this issue.

https://github.com/emccode/mesos-module-dvdi/pull/29


Cross-compile configuration for reMarkable 2 tablet

Motivation for this change
Following in the footsteps of @siraben's work in https://github.com/NixOS/nixpkgs/pull/102503, add toolchain support for the reMarkable 2 tablet:

lib.systems.examples.remarkable2
lib.systems.platforms.zero-sugar

Where the platform differs from zero-gravitas is the target machine-specific options, which support the i.MX 7Dual in the reMarkable 2. In particular, imx7d gains the extra features of the armv7ve arch and an upgrade to the VFPv4 FPU. Otherwise, this is a copy-paste of the reMarkable 1 configuration.
This has been tested by installing Nix on the tablet and using nix-copy-closure to install cross-compiled packages. Packages tested so far:

hello
nix

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@tadfisher Nice! I don't have an rM 2 to test but looks good to me.

This has been tested by installing Nix on the tablet and using nix-copy-closure to install cross-compiled packages.

What was your procedure for installing Nix on the tablet? Are you able to cross-compile Nix itself?

What was your procedure for installing Nix on the tablet? Are you able to cross-compile Nix itself? — @siraben

I followed your instructions in https://discourse.nixos.org/t/done-remarkable1-cross-compile-toolchain-for-nix/9961/18 and installed the prebuilt Nix from https://github.com/DavHau/nix-on-armv7l.
I'm building Nix now, we'll see what happens.

Cross-compiled Nix appears to work:
reMarkable: ~/ /nix/store/xmk3w74wsq285sjjlzxwbwfyzbxa9vd4-nix-2.3.9-armv7l-unknown-linux-gnueabihf/bin/nix eval 'nixpkgs.hostPlatform.system'
"armv7l-linux"

@tadfisher Are you able to install it nix-env -i and use it? Try lauching nix-shell on the device and so on.

@Ericson2314 This is non-blocking, feel free to merge.

Are you able to install it nix-env -i and use it? Try lauching nix-shell on the device and so on. — @siraben

Yes, I ran nix-env -u /nix/store/<hash>-nix-2.3.9 and it replaced the prebuilt nix installation in my user profile. It continues to work fine.

Thanks!

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/done-remarkable1-cross-compile-toolchain-for-nix/9961/19


Unbreak the importl10n command by updating the links to point to hg.mozilla.org instead of mxr

Currently importl10n fails, since mxr.mozilla.org has been down for a while. Based on discussions in #developers, it isn't clear to me if/when it'll be available again.
Furthermore, I'm not sure why we're even getting the l10n files through a code search tool, rather than just using the official Mozilla repository directly.
Also, to demonstrate that this works, I've included a commit with the latest l10n changes.
/cc @timvandermeij

Thank you!


Add git tag trigger to container build wf

/hold

/unhold
/test-ubuntu-integration-main
/test-centos-integration-main

/test-ubuntu-integration-main

LGTM as well.

/cc @dtantsur @elfosardo @kashifest

/approve

/cc @lentzi90

I've removed mariadb build trigger from Quay, this will be the image trigger from now on.


Can't run example code

Hi @gmlewis
Thanks for your great job on moonbit and spin, it is the only source code for running moonbit on Fermyon.
I run the example code step by step with the guide, there are some errors when I run 'spin up --build', is there something I missed? Can you please take a look at this? thank you.
Operation system: Windows 10,
Moonbit version:
moon 0.1.20241219 (e628c26 2024-12-19) ~\.moon\bin\moon.exe
moonc v0.1.20241223+62b9a1a85 ~\.moon\bin\moonc.exe
moonrun 0.1.20241219 (e628c26 2024-12-19) ~\.moon\bin\moonrun.exe
Spin version: spin 3.1.1 (aa919ce 2024-12-20)
wasm-tools version: wasm-tools 1.222.0 (892d4b6ef 2024-12-18)

error messages:
spin up --build
Building component hello with `moon build --target wasm && wasm-tools component embed ../../wit ../../target/wasm/release/build/examples/hello-world/hello-world.wasm -o hello-world.wasm --encoding utf16 -w http-trigger && wasm-tools component new hello-world.wasm -o hello-world.wasm`
Warning: [1027]
     ╭─[C:\moon\spin-moonbit-sdk\interface\imports\redis\top.mbt:234:26]
     │
 234 │   let ignoreList<EMAIL_ADDRESS>= []
     │                          ────┬───
     │                              ╰───── Warning: The syntax `Trait` for trait object type is deprecated. Use `&Trait` instead.
─────╯
Warning: [1027]
     ╭─[C:\moon\spin-moonbit-sdk\interface\imports\redis\top.mbt:276:26]
     │
 276 │   let ignoreList<EMAIL_ADDRESS>= []
     │                          ────┬───
     │                              ╰───── Warning: The syntax `Trait` for trait object type is deprecated. Use `&Trait` instead.
─────╯
Warning: [1027]
     ╭─[C:\moon\spin-moonbit-sdk\interface\imports\redis\top.mbt:369:26]
     │
 369 │   let ignoreList<EMAIL_ADDRESS>= []
     │                          ────┬───
     │                              ╰───── Warning: The syntax `Trait` for trait object type is deprecated. Use `&Trait` instead.
─────╯
Warning: [1027]
     ╭─[C:\moon\spin-moonbit-sdk\interface\imports\redis\top.mbt:419:26]
 [-----                                   ] 0/38 done, 0/5 running
 │
 419 │   let ignoreList<EMAIL_ADDRESS>= []
     │                          ────┬───
     │                              ╰───── Warning: The syntax `Trait` for trait object type is deprecated. Use `&Trait` instead.
─────╯
Warning: [1027]
     ╭─[C:\moon\spin-moonbit-sdk\interface\imports\llm\top.mbt:118:26]
     │
 118 │   let ignoreList<EMAIL_ADDRESS>= []
     │                          ────┬───
     │                              ╰───── Warning: The syntax `Trait` for trait object type is deprecated. Use `&Trait` instead.
─────╯
Warning: [1035]
     ╭─[C:\moon\spin-moonbit-sdk\interface\imports\wasi\http\types\top.mbt:784:25]
     │
 784 │ pub fn IncomingRequest::method(self : IncomingRequest) -> Method {
     │                         ───┬──
     │                            ╰──── Warning: The word `method` is reserved for possible future use. Please consider using another name.
─────╯
Warning: [1035]
     ╭─[C:\moon\spin-moonbit-sdk\interface\imports\wasi\http\types\top.mbt:928:25]
     │
 928 │ pub fn OutgoingRequest::method(self : OutgoingRequest) -> Method {
     │                         ───┬──
     │                            ╰──── Warning: The word `method` is reserved for possible future use. Please consider using another name.
─────╯
Warning: [1035]
     ╭─[C:\moon\spin-moonbit-sdk\interface\imports\wasi\http\types\top.mbt:955:3]
     │
 955 │   method : Method
     │   ───┬──
     │      ╰──── Warning: The word `method` is reserved for possible future use. Please consider using another name.
─────╯
Warning: [1035]
     ╭─[C:\moon\spin-moonbit-sdk\interface\imports\wasi\http\types\top.mbt:959:47]
     │
 959 │   let (lowered, lowered27, lowered28) = match method {
     │                                               ───┬──
     │                                                  ╰──── Warning: The word `method` is reserved for possible future use. Please consider using another
name.
Finished. moon: no work to do
error: failed to resolve directory while parsing WIT for path [../../wit]

Caused by:
    0: failed to parse dependency directory: ../../wit\deps
    1: failed to parse package: ../../wit\deps\spin
    2: the `float32` type has been renamed to `f32` and is no longer accepted, but the `WIT_REQUIRE_F32_F64=0` environment variable can be used to temporarily disable this error
    3: type `float32` does not exist
            --> ../../wit\deps\spin\llm.wit:13:19
             |
          13 |          repeat-penalty: float32,
             |                   ^------
Error: Build command for component hello failed with status Exited(1)

Ah, it looks like it can't find the "../../wit" directory on your system.
It looks like you need to modify your spin.toml file to point to a copy of this repo for the line that starts with command =.
For example, I use this "spin-moonbit-sdk" in a production app and one part of it looks like this:
[component.lulu-print-api-download.build]
command = "moon build --target wasm && wasm-tools component embed /Users/glenn/src/github.com/gmlewis/spin-moonbit-sdk/wit target/wasm/release/build/spin-moonbit-lulu-print-api-download.wasm -o main.wasm --encoding utf16 -w http-trigger && wasm-tools component new main.wasm -o main.wasm"
watch = ["**/*.mbt"]

Notice that I give it an absolute path to a copy of the wit directory of this repo.
Can you please try that and report back if that solves the problem you are seeing?

It just dawned on me that the moment you run moon update, that the MoonBit tooling will make a copy of this repo under the directory ".mooncakes", like so:
$ find . -name wit
./.mooncakes/gmlewis/spin-moonbit-sdk/wit

So instead of making another copy of this repo, you should be able to use the absolute path to this wit directory and it should build without any errors.

@gmlewis
Thanks for your quick reply. I tried it as your advice, change the command to absolute path, but there is still the same errors:
my command in spin.toml:
[component.hello.build]
command = "moon build --target wasm && wasm-tools component embed C:/moon/spin-moonbit-sdk/wit ../../target/wasm/release/build/examples/hello-world/hello-world.wasm -o hello-world.wasm --encoding utf16 -w http-trigger && wasm-tools component new hello-world.wasm -o hello-world.wasm"
watch = ["**/*.mbt"]

There is a "wit" folder in the spin-moonbit-sdk repo, but there is no "wit" folder  in .mooncakes after running moon update. Maybe the wit code is outdated? float32 has rename to f32, but it is still float32 in wit\deps\spin\llm.wit:13:19
Caused by:
    0: failed to parse dependency directory: C:/job/tmgm/5research/moon/spin-moonbit-sdk/wit\deps
    1: failed to parse package: C:/job/tmgm/5research/moon/spin-moonbit-sdk/wit\deps\spin
    2: the `float32` type has been renamed to `f32` and is no longer accepted, but the `WIT_REQUIRE_F32_F64=0` environment variable can be used to temporarily disable this error
    3: type `float32` does not exist
            --> C:/job/tmgm/5research/moon/spin-moonbit-sdk/wit\deps\spin\llm.wit:13:19

What does your moon.mod.json file say?

I just cloned this repo, changed nothing.
moon.mod.json:
{
  "name": "gmlewis/spin-moonbit-sdk",
  "version": "0.47.0",
  "deps": {
    "gmlewis/base64": "0.13.0",
    "gmlewis/md5": "0.17.0",
    "gmlewis/sha256": "0.15.0"
  },
  "readme": "README.md",
  "repository": "https://github.com/gmlewis/spin-moonbit-sdk",
  "license": "Apache-2.0",
  "keywords": [
    "spin",
    "moonbit",
    "sdk"
  ],
  "description": "Experimental Spin SDK for the MoonBit programming language."
}

OK, so you are saying that the examples themselves within this repo are not working on your Windows box?
They appear to be working on my Mac.
I believe they worked on my Linux box, but I'll try again.
I'll also try them out running Windows in a VirtualBox on my Linux box and report back.

Ah!  I found the problem on my Linux box!  wasm-tools is no longer happy with float32 or float64.
I'm working on a fix and should push a new version shortly.

@rts-gordon - can you please try out my fix in #3 and see if that solves the problem for you?

@gmlewis
yes, it is works, thanks for your great job.
Do you apply moonbit and spin on your PRODUCTION environment?  Can you please describe the benefits of using it?

Do you apply moonbit and spin on your PRODUCTION environment? Can you please describe the benefits of using it?

Yes, I do. Here are the benefits in my opinion:

Blinding fast compilation
Excellent tooling and integration with IDE
Tiny generated wasm files
No borrow checker
No manual memory management due to built-in reference counter
Most fun I've had programming since learning Go in 2010


502 Bad Gateway warning

Hi,
2 days ago I was using premPS webservice, however now when I tried to acces I am getting a warning like "502 Bad Gateway/nginx", how can I solve this?
thanks

I'm getting the same issue, checked on isitdownrightnow.com and it seems like the server is down. Not anything we can do except wait and hope they fix it.


fixer complains of no break on switch when exception is thrown

Bug report

Code snippet that reproduces the problem

PHP 7.4.11 (cli) (built: Oct 13 2020 09:55:37) ( NTS )
PHP CS Fixer 2.17.0-DEV
// Simplified example

switch () {
    case X:
        throw new \Exception('some msg');
   case Z:
        ......
}

developer@54c4b59f08e2:/var/htdocs$ vendor/bin/php-cs-fixer fix -vvv
Loaded config default from "/var/htdocs/.php_cs.dist".
Runtime: PHP 7.4.11
...............................................................F............................................................
Legend: ?-unknown, I-invalid file syntax (file ignored), S-skipped (cached or empty file), .-no changes, F-fixed, E-error
   1) src/Util/ClassSourceManipulator.php (no_break_comment)

Fixed all files in 6.548 seconds, 18.000 MB memory used

While fixer is correct there is not a break statement, shouldn't this be ignored as we do with return statements in a case?

Thanks for reporting!
Suggested fix https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/5248


[DEVOPS-389] codebuild: Use single EFS mount

Due to a bug in AWS, it is currently not possible to mount multiple EFSs
into a codebuild instance. As a workaround we consolidate these into a
single EFS, until this has been resolved in upstream.
Upstream bug tracked at:

https://github.com/aws/efs-utils/issues/114
https://repost.aws/questions/QUXUoUoVAPQoGIYfuPpB-s7A/codebuild-adding-multiple-efs-suddenly-failes

Is there a CI/CD run to prove this works as espected?

Is there a CI/CD run to prove this works as espected?

Depends on the PR in bitbucket to provision the single EFS.

Is there a CI/CD run to prove this works as espected?

Depends on the PR in bitbucket to provision the single EFS.

Then we should do a combined run to test this.

Is there a CI/CD run to prove this works as espected?

yes there is. see the automatically triggered CI run in this PR.


[Bug] Query return type hint not being validated against

Describe the bug
If the called return type of a query is different than actual return type of query, does not seem to be failing on decode.

Nevermind, looks ok


New plugin: Resizable Chat

https://github.com/runelite/plugin-hub/assets/4104309/6d12400f-f2a5-4745-985d-b9ddf9f09915
https://github.com/runelite/plugin-hub/assets/4104309/6b6163cc-43af-4269-a9cb-e986702e46e1

Why is this not on runelite plugging hub?

Plugins need reviewed and merged before they become available.

It's an amazing plugin; however, I'm having an issue where I can't stretch chat height. Rather than moving size, it moves the whole box while leaving the username and own text box at the bottom.

This is not an issue report, this is a repo for plugin authors to submit their changes for review.
You can find the support link by searching for the plugin in the Plugin Hub panel and clicking the ? Button on the plugin, or by right-clicking the plugin in the plugin panel and clicking the Support menu option.

Thank you, Felanbird; I'm pretty new to GitHub.


error: element.code is not a function

Hi,
I'm using this directive, and can get the editor to show up just fine.  Unfortunately, I'm getting this error in angular, and ngModel is not updating.  Any ideas why?  As a note, I am using ui-router, and I wonder if that may be causing issues.
TypeError: element.code is not a function
    at ngModel.$render (angular-summernote.ng.js:90)
    at Object.ngModelWatch (angular.js:25423)
    at Object.watchExpression (<anonymous>:754:29)
    at Scope.$digest (angular.js:15818)
    at Scope.$delegate.__proto__.$digest (<anonymous>:844:31)
    at Scope.$apply (angular.js:16097)
    at Scope.$delegate.__proto__.$apply (<anonymous>:855:30)
    at bootstrapApply (angular.js:1660)
    at Object.invoke (angular.js:4478)
    at doBootstrap (angular.js:1658)

Additional info:
Occurs on line 90 of the file in question.  I did $().summernote which returned a function, so I know summernote is initialized.  I also saw that element is a jquery object in the debugger.
More:
I tried manually initializing summernote and then running .code() this too is undefined.  Looks like it's not an issue with this library.

I quit using the compressed version of summernote, and that fixed it.  I'm using meteor, and I think that may have been the issue.

As a note to future users who may encounter this problem, I also ran into it using summernote v0.7.0 with angular-summernote v0.3.2. This is resolved by downgrading summernote to v0.6.16.

@jkerrwilson Thank you for reporting. I wrote about this in README.md but it seems not clear. I will write more details.


[RFC] Support for C++17 execution policy parameter

C++17 introduces execution policies and overloads of many algorithms that accept an execution policy parameter. Exposing these in Cython gives users yet another way to easily leverage parallelism, and also to do things like fully transparently target GPUs.
This PR is an RFC for adding these to Cython. As a starting point, I have Cython definitions for execution policies and the relevant overloads of the sort algorithm. Before pursuing this further, I'd love to hear if this would be a welcome addition to Cython and if the approach taken looks good. If you would prefer a GitHub issue for discussion, please let me know and I'm happy to open one :-)
Note: the use of forwarding references in the C++ definition of sort makes writing the Cython defintions for them slightly non-trivial -- perhaps there is a better way to do this than the way I am doing right now.

Any thoughts on moving this forward? @scoder

I'd say it needs some testing. I wouldn't bother detecting whether the execution policies are actually used (because that'll be hard) but it should at least compile and run and sort something.
There doesn't look to be a tag for cpp17 in the test-suite, but I imagine you can base a new one off the cpp11 tag. I'd probably create a new test-file alongside https://github.com/cython/cython/blob/master/tests/run/cpp_stl_algo_modifying_sequence_ops.pyx (cpp_std_algo_modifying_sequence_ops_cpp17) for this batch of tests.

Writing small wrapper functions around templates that are hard to wrap seems like the way to go, these ones look fairly sensible and cython_std seems to be accepted as the namespace to use so the basic approach looks fine provided that they work.

Thanks @da-woods -- one concern I had was that the use of forwarding references make writing the definitions a bit tedious. Doing so for all the algorithms would effectively increase the LOC in algorithms.pxd by 3-4x. Do you have any thoughts on how difficult it would be to support some kind of Cython syntax for forwarding references, e.g.,:
cdef void sort[ExecutionPolicy&&, Iter](ExecutionPolicy policy, Iter first, Iter second)

(Just as I was writing this out, I saw your second comment)

@shwina I don't think having many lines of code is a problem here (except that you have to write them...). I'd guess the difficulty of supporting && references would be "medium" - it involves a few small changes in a number of places (at least the parser and in pyrextypes). I don't think anyone's made any attempt to do it but I don't see why it'd be especially hard.

Thanks! Being able to declare functions with forwarding references would also be useful more generally. I'll give it a try (in a separate PR).

@da-woods
First, re: testing, we can test using the seq execution policy for all algorithms, which should be supported by all compilers/hardware targets. This ensures the overloads work, at least. Would you want to see tests for all the algorithms or just one?
Second: I proposed using forwarding references in the move declaration here. Shall I include that in this PR?

@da-woods
First, re: testing, we can test using the seq execution policy for all algorithms, which should be supported by all compilers/hardware targets. This ensures the overloads work, at least. Would you want to see tests for all the algorithms or just one?

Just testing sequential execution sounds sensible. That's basically testing that you produce runnable C++ code. I'm not sure you could meaningfully test which algorithm has run. I'd think tests of a few of the algorithms would be sufficient. There looks to be quite a few.

Second: I proposed using forwarding references in the move declaration here. Shall I include that in this PR?

I'd probably put move in its own PR.

Thanks!

Added a cpp17 tag
Added tests for a handful of algorithms called with the seq execution policy - please let me know if you'd like to see something else tested

Informally: this works great for our use case which is using the par execution policy for parallelized algorithms.

The logs have
=== Got: ===
144:13: ambiguous overloaded method
329:17: Unable to deduce type parameters for void (Iter, Iter) except + nogil given (iterator, <error>)
329:32: Call with wrong number of arguments (expected 3, got 2)

This looks like the failure is happening in Cython, not C++ (thus what cppreference says isn't hugely relevant yet). At least one of the types is being deduced as Cython's inbuilt error type, which suggests something has failed a little earlier.

There's does seem to be a third option, which may offer the least friction to end-users.
The problem right now is that there are these two overloads of transform:
    OutputIt transform[ExecutionPolicy, InputIt, OutputIt, UnaryOp](
        ExecutionPolicy&& policy, InputIt first1, InputIt last1, OutputIt d_first, UnaryOp unary_op) except +

    OutputIt transform[InputIt1, InputIt2, OutputIt, BinaryOp](
        InputIt1 first1, InputIt1 last1, InputIt2 first2, OutputIt d_first, BinaryOp binary_op) except +

These are essentially the same from Cython's perspective. C++ however will use SFINAE to disambiguate at runtime.
So, we could technically have just the one declaration:
    # This overload is ambiguos with the next one. We just let C++ disambiguate from the arguments
    # OutputIt transform[ExecutionPolicy, InputIt, OutputIt, UnaryOp](
    #     ExecutionPolicy&& policy, InputIt first1, InputIt last1, OutputIt d_first, UnaryOp unary_op) except +

    OutputIt transform[InputIt1, InputIt2, OutputIt, BinaryOp](
        InputIt1 first1, InputIt1 last1, InputIt2 first2, OutputIt d_first, BinaryOp binary_op) except +

Thoughts?

Thoughts?

My feeling is it won't work (but I'm happy to be proved wrong).
One has a function with arguments (T1, T2, T2, T3, T4) and the other has arguments (T1, T1, T2, T3, T4). I think Cython will at the next step on because it can't make the arguments match.

It does work. I believe that right now Cython raises because it sees the actual arguments with types (T1, T1, T1, T1, T2) and it can't choose between the two overloads with declared types (T1, T2, T2, T3, T4) or (T1, T1, T2, T3, T4). I'll push my changes in a bit -- dealing with an orthogonal issue at the moment.

@da-woods
I just pushed my changes along with the changes in https://github.com/cython/cython/pull/3875 since I ran into that bug here.

Not commenting on your proposed fix yet (because I haven't really looked at it) but given that transform (and possibly min_element, although I'm not sure why) look to have been causing specific problems it might be worth making sure that they're in the test-cases for this.

So the tests all pass for me locally but that's because I'm testing with gcc 9.3 (Ubuntu 20.04).
Apparently the earliest gcc version to support the <execution> header is gcc 9.2.
I'm not sure how to proceed here. I could add a new test tag that requires a minimum compiler version for example, but I don't know how intrusive/welcome this would be.

Thanks @scoder for the fixes and apologies I couldn't get around to it earlier.

Thanks for your contribution, @shwina


Add Pizza Discussion

User Stories:

As a user, I want to be able to see comments on a pizza

As a user, I want to be able to reply to a comment

latest push adds this functionality


[Question] I can't decompress your DAT files. Any encryptions here?

As the title, I can't find any encryption layers it your source code.
Your compress / decompress functions don't do any encryptions.
If they're not supposed not to share, just tell me. It's OK.

there's no encryption applied, data is simply compressed, see here: https://github.com/kambala-decapitator/MedianXLOfflineTools/blob/main/utils/CompressFiles/main.cpp#L24
you don't even need to look at the dat files as their source is in the repo: https://github.com/kambala-decapitator/MedianXLOfflineTools/tree/main/utils/txt_parser/generated


Enhancement: Include new table type "VIRTUAL TABLE"

Include new table type "VIRTUAL TABLE". This way, by default, virtual tables will not be shown in a get tables call. Also, if an extension is not loaded, the call will not error out.
 If there are virtual tables, and an extension is not loaded, some metadata calls can error out. If we implement this enhancement, by default, virtual tables will not be reported in the metadata calls.

i just looked into this, i think it would be a good idea to have support for that. Do you want to submit a PR with associated unit tests? Seems like you figured out most of the complexities.

If there are virtual tables, and an extension is not loaded, some metadata calls can error out.

could you expand on that ?


Some time qrcode not generate . How to solve ?

Description
[Description of the bug, When Issue Happens]
Environment

Wppconnect-server version(s): [e.g. 2.0.27, 2.2.1]
Browser: [e.g. Chrome 87, Chromium 85]
OS: [e.g. OSX 10.13.4, Windows 10]
Node version: [e.g. Node 8, Node 14]
WhatsApp version: [e.g. 2.2126.14]
MultiDevice (BETA): yes/no
config.json: [Your src/config.json file content]

Steps to Reproduce

[First Step]
[Second Step]
[and so on...]

Log Output
If relevant, paste all of your Log Output

Your Code
If relevant, paste all of your challenge code in here

Additional context / Screenshot
Add any other context about the problem here. If applicable, add screenshots to help explain.

When I try to close the session, I get:
error: 2022-08-24T23:16:23.661Z req.client.close is not a function - TypeError: req.client.close is not a function
    at closeSession (/var/local/apps/wppconnect-server/src/controller/sessionController.js:161:24)
    at Layer.handle [as handle_request] (/var/local/apps/wppconnect-server/node_modules/express/lib/router/layer.js:95:5)
    at next (/var/local/apps/wppconnect-server/node_modules/express/lib/router/route.js:144:13)
    at /var/local/apps/wppconnect-server/src/middleware/auth.js:57:9

I have the same problem.
Eu estou com o mesmo problema, ao executar o servidor para testes localmente no Windows 10.

Can you post here the step by step you are doing to connect?


Continuous Integration

We need some continuous integration over here.
Travis-CI is the go to for github.

Added in 2c5c78670ce4e8e4b5a55524fd8fdf4afa0fcad0.

Setup for this fork.
Will get merged into PSL formal.
We will have to make sure to change the badge url to PSL's build.


adding opinionated postProcessing flag to certain linters

closes #280
This adds an optional postProcess flag to linters. When set to true it will run opinionated post processing steps with the goal of simplifying output to make identifying errors easier.

What's the expected output?  I ran both:
osmlint crossinghighways --zoom=12 philippines.mbtiles --postprocess=True > crossinghighways.json
osmlint crossinghighways --zoom=12 philippines.mbtiles > crossinghighways.json

But I get the same output of points and linestrings FC.

@maning updated to include cli support. the cli flag is --postProcess=true
for your crossinghighways test case the output of:
osmlint crossinghighways --zoom=12 philippines.mbtiles --postProcess=true > crossinghighways.json
should be equivalent to:
osmlint crossinghighways --zoom=12 philippines.mbtiles > test1.json
osmlinth -t test1.json --type Point > test2.json
osmlinth -g test2.json > test3.json
resulting in crossinghighways.json being equivalent to test3.json
Heres a little script for testing json equivalence
jq --argfile a a.json --argfile b b.json -n 'def post_recurse(f): def r: (f | select(. != null) | r), .; r; def post_recurse: post_recurse(.[]?); ($a | (post_recurse | arrays) |= sort) as $a | ($b | (post_recurse | arrays) |= sort) as $b | $a == $b'

@Ramshackle-Jamathon -p works!  I ran all linters in this PR on a small subset, most are doing the postprocess except for two that still has both the OSM feature and error location.

unconnecteshighways
crossingwaterwayshighways


Accessor to get current Cells

In AQGridView, i quite heavily used cellForItemAtIndex: and visibleCells.
Mainly to add some custom fancy animation, and also to change cells on the fly, w/o needing the grid to reload every one if them. How hard would it be to add those methods? As a minimum solution, i would also be ok just just get the CGRect of a cellIndex.

I would suggest using the reloadCellAtIndex method if the cell has to be changed.
If it is just to add custom stuff on the current cell, then yes we can add a cellForItemAtIndex method, should be pretty straight forward (getting the cell at a specific index just like the deleteCellAtIndex: method and just returning it instead of deleting it).
I can add it but only later tonight.

To get the origin of a cell, you can already go through the layout strategy (gridView.layoutStrategy originForItemAtIndex:)

I'm looking into it right now. Trying to re-do the open-animation in iBooks, this i do need the full rect of a imageView within the cell (as they can have different sizes).

What about if we open up itemSubViewForPosition? A better name maybe really would be cellForItemAtIndex, but it's the function i'd need.

Yeah I'm ok with having a cellForItemAtIndex function. As I mentioned, the implementation of this method should be pretty straight fwd.

Merged


How is Figure 3 visualized in the paper? Can you provide the relevant code

How is Figure 3 visualized in the paper? Can you provide the relevant code

How is Figure 3 visualized in the paper? Can you provide the relevant code

Hello, Figure 3 in the paper is created using Python and the Matplotlib library. The data was first processed and then visualized using contour plots. You are welcome to design the specific visualization method/code that suits your data.

How is Figure 3 visualized in the paper? Can you provide the relevant code

Hello, Figure 3 in the paper is created using Python and the Matplotlib library. The data was first processed and then visualized using contour plots. You are welcome to design the specific visualization method/code that suits your data.

could you please provide some pseudo-code as a reference

How is Figure 3 visualized in the paper? Can you provide the relevant code

Hello, Figure 3 in the paper is created using Python and the Matplotlib library. The data was first processed and then visualized using contour plots. You are welcome to design the specific visualization method/code that suits your data.

could you please provide some pseudo-code as a reference

Hello, a simple pseudocode has been sent to your email.


Adding other languages for highlighting code syntax

Adding other languages for highlighting code syntax
Description

Related Issue
https://jira.corp.adobe.com/browse/DEVSITE-663

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Hi @louisachu,
Any chance we can add PHP to the list?

Reference

Yes, I'll add Php.  Anything else you liked?  https://prismjs.com/#supported-languages. here are the list that it can support.

Thank you @louisachu! I think YAML and JSON would also be good and apply to a lot of doc sites.


Image compositing very slow

Hey there :-),
I'm trying to render a lot of images, each containing about ~256 images itself, using sharp's composite.
I'm collecting all the input images and their top-/ left-coordinates using into an array, and passing that into sharp.composite afterwards.
The problem is that sharp seems to be very slow when compositing. Again, it's about ~256 input images into a 256x256px png (every base image is 16x16)px.
I tried some different image libraries.
Using Jimp I got about 8 images/ second, Mapbox got me about 50 images/ second, but sharp only gives me 1 to 2 images/ second. I'm using the same base code to collect the images for every different image library.
I was wondering, is sharp's strength only in resizing images or am I doing something wrong? Is there something I can configure to improve performance?
Otherwise, sharp is more than perfect and does everything I want, so I would want to reduce the list of dependencies and just stick to sharp...
I hope you have an amazing week,
clarkx86 :)

Hi, what you describe here sounds more like stitching images without overlap rather than compositing so the proposed feature of #1580 might better provide what you're looking for.

Hello, the x/y offset feature was added to composite in 8.7, and implemented in the simplest way you can imagine. It's been rewritten for 8.8 (due in a few weeks) and should be quicker now.
I made a simple benchmark in Python:
#!/usr/bin/python3

import sys
import random
import pyvips

bg = pyvips.Image.new_from_file(sys.argv[1])
fg = [pyvips.Image.new_from_file(filename) for filename in sys.argv[2:]]
xes = [random.randint(0, bg.width - 16) for i in range(len(fg))]
yes = [random.randint(0, bg.height - 16) for i in range(len(fg))]

for i in range(100):
    bg.composite(fg, "over", x=xes, y=yes).copy_memory()

That's compositing args 2+ on top of arg1 100 times. I can run it like this:
$ vips crop ~/pics/wtc.jpg base.jpg 0 0 256 256
$ vips crop ~/pics/PNG_transparency_demonstration_1.png x.png 150 150 16 16
$ for i in {0..256}; do cp x.png $i.png; done
$ time ../composite-many.py base.jpg *.png
real	0m9.067s
user	0m15.710s
sys	0m0.407s

So about 11 per second. With 8.7, I see:
$ time ../composite-many.py base.jpg *.png
real	0m17.563s
user	0m42.677s
sys	0m0.768s

About 6 per second.
You'll see a larger speedup with larger images -- 256x256 is too small for the libvips threading system to be very effective.

I remembered one more possibility: composite uses g++ vector arithmetic to generate SIMD code. If your gcc is too old of if your CPU does not support 4xfloat SIMD, it may not work and it'll fall back to a slower vanilla C path.
Check for this in configure output:
checking for gcc with working vector support... yes
checking for C++ vector shuffle... yes
checking for C++ vector arithmetic... yes
checking for C++ signed constants in vector templates... yes

And @lovell is correct of course, arrayjoin will be much faster if you are simply making a grid of small images.


Add a Gitter chat badge to README.md

TomBebbington/reminisce now has a Chat Room on Gitter
@TomBebbington has just created a chat room. You can visit it here: https://gitter.im/TomBebbington/reminisce.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

I did it myself, there's no need oh magical bot


message now has thread_ts

message now has thread_ts so that it can reply in channel with a thread_ts, like is instructed in the api docs
(Describe the goal of this PR. Mention any related Issue numbers)
Makes the python module follow the api documentation and allows in channel response with thread timestamp #842
Category (place an x in each of the [ ])

[X] slack_bolt.App and/or its core components
[ ] slack_bolt.async_app.AsyncApp and/or its core components
[ ] Adapters in slack_bolt.adapter
[ ] Document pages under /docs
[ ] Others

Requirements (place an x in each [ ])
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

[X] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[X] I've read and agree to the Code of Conduct.
[X] I've run ./scripts/install_all_and_run_tests.sh after making the changes.

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

Hi @athlindemark, thank you very much for taking the time to send this PR! As I mentioned at https://github.com/slackapi/bolt-python/issues/842#issuecomment-1457997755, this PR needs more changes. If you're okay with this, I can come up with a complete one tomorrow.

In favor of https://github.com/slackapi/bolt-python/pull/844, let me close this PR. Thanks again for taking the time to make this!


Add user-defined labels option to ingress

Description
Similar to #390 allow to add labels to Ingress in charts/opensearch
Issues Resolved
Labels could be used in kube-prometheus-stack monitoring.coreos.com/v1 Probe objects as a selector.
Check List

[x] Commits are signed per the DCO using --signoff

For any changes to files within Helm chart directories:

[x] Helm chart version bumped
[x] Helm chart CHANGELOG.md updated to reflect change

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Thanks LGTM, final two things left is please update the chart README section adding ingress. ingressLabels and the changelog [Unreleased] section, here is the sample merged PR https://github.com/opensearch-project/helm-charts/pull/506/files.

I will take care of this suggestions from my above comment, we can merge this PR.

Hey @wigust in order to fast-track I have pushed a commit updated the chart version and fix the conflicts.
Adding @TheAlgo


Missing end of line character in the last code block

The code block in the second step of the last section of this document is missing an EOL character that causes the code execution to fail.
'''
$p2sCertData = [System.Convert]::ToBase64String($p2sCertToUpload.RawData) Add-AzureRmVpnClientRootCertificate -VpnClientRootCertificateName $p2sCertFullName -VirtualNetworkGatewayname $azureVpn.Name -ResourceGroupName $resgrp.ResourceGroupName -PublicCertData $p2sCertData
'''
Should be
'''
$p2sCertData = [System.Convert]::ToBase64String($p2sCertToUpload.RawData)
Add-AzureRmVpnClientRootCertificate -VpnClientRootCertificateName $p2sCertFullName -VirtualNetworkGatewayname $azureVpn.Name -ResourceGroupName $resgrp.ResourceGroupName -PublicCertData $p2sCertDat
'''
instead.

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

ID: 23d4f079-654e-2053-4654-115a55e9379f
Version Independent ID: 2c032f28-ebd6-513e-4324-622ac80e85d6
Content: Configure ExpressRoute and Site-to-Site VPN connections that can coexist: Resource Manager: Azure
Content Source: articles/expressroute/expressroute-howto-coexist-resource-manager.md
Service: expressroute
GitHub Login: @charwen
Microsoft Alias: charwen,cherylmc

@jojenreed Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

This one was fixed some time ago. It should have been closed earlier. Sorry! #please-close


Screen Lineups don't match exported lineups

Please forgive if this has already been addressed.  When I use RandomFantasyPointsStrategy or ProgressiveFantasyPointsStrategy, the lineups on the screen don't match the exported .csv lineups.

can you share what your code looks like?  I usually run a lot of lineups and I just ASSUME my lineups match the exported ones, maybe im wrong in that assumption.


chore: update logging to use structured fields consistently

PR was ignored, then mostly implemented by someone else.


[Bug-9137][Server] fix timezone init

Purpose of the pull request
this pr close #9137
Brief change log
use jvm param -Duser.timezone instead of init default timezone when init server.
Verify this pull request

Manually verified the change by testing locally.

Codecov Report

Merging #9219 (8c6dcbf) into dev (aea0025) will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                dev    #9219      +/-   ##
============================================
+ Coverage     40.20%   40.21%   +0.01%
  Complexity     4375     4375
============================================
  Files           817      817
  Lines         32686    32682       -4
  Branches       3642     3642
============================================
+ Hits          13140    13143       +3
+ Misses        18316    18310       -6
+ Partials       1230     1229       -1

Impacted Files
Coverage Δ

...che/dolphinscheduler/api/ApiApplicationServer.java
33.33% <ø> (-26.67%)
:arrow_down:

...e/dolphinscheduler/server/master/MasterServer.java
0.00% <ø> (ø)

...e/dolphinscheduler/server/worker/WorkerServer.java
0.00% <ø> (ø)

...org/apache/dolphinscheduler/alert/AlertServer.java
59.45% <100.00%> (+3.04%)
:arrow_up:

...pache/dolphinscheduler/common/utils/JSONUtils.java
69.14% <100.00%> (+0.33%)
:arrow_up:

...g/apache/dolphinscheduler/spi/utils/JSONUtils.java
17.64% <100.00%> (+1.22%)
:arrow_up:

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
:arrow_down:

...e/dolphinscheduler/remote/NettyRemotingClient.java
53.52% <0.00%> (+2.81%)
: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 aea0025...8c6dcbf. Read the comment docs.


RangeError   report_bug.dart in _ReportFormState.markdownLink  Ongoing Level: Fatal RangeError (end): Invalid value: Only valid value is 0: -1

https://blt-ow.sentry.io/share/issue/1066c3406d6a4862a3503f92398d880b/

@DonnieBLT close this issue its resolved.


Make the changeset number clickable

This linking is not intuitive:

It would be best if the number was the clickable part.
So instead of saying:
View Changes on OSM
Your changeset #: 72203264
please say something like:
View Changes on OSM:
Your changeset #: 72203264

I just made them both clickable.


Implement derivative free optimisation

Extend the currently available optimisers to include DFO-LS, a derivative free optimisation using the least squares approach.
Details about the algorithm can be found at https://numericalalgorithmsgroup.github.io/dfols/.
There should be no breaking changes as this is a feature enhancement.

Part of the xarray branch. Not needed any more


Current neuron part is deprecated in GO and suggest to consider using CL term neuron.
Shall we make corresponding updates in OBI?

Discussed on Mar 30th, 2020 OBI call.  Replace "(cell and (has part some neuron part))" by CL:neuron.


convert wit to plugin system

Sibling PR: https://github.com/sifive/wit-scala-plugin/pull/1
Todo before releasing:

[x] inform users that they now need to install sifive/wit-scala-plugin

Future todo:

[ ] add tests to sifive/wit-scala-plugin
[ ] document plugin system

While the tests fail on Travis, they pass on my laptop. Not sure why

The scala plugin needs a two-line change to be compatible with a WIP small refactor I'm making for #124

This has been rebased onto #135

TODO:

[ ] delete jar