Using @nobles/hashes

@AlexAndrei98 I think this just needs a rebase to verify the integration tests are working.

@AlexAndrei98 I think this just needs a rebase to verify the integration tests are working.

@lenkan I tried to rebase from development 🤞🏽

The commit history is a mess, could you please squash this so we can review it properly?

closing in favor of #174


Copy and Paste duplicates prior shape on top of new instance

When copying and pasting a Protoramp instead of spawning a new instance, both the old set of stairs and new one is brought over. Video below for example.
https://github.com/HLCaptain/proto-shape/assets/70425584/f3d91b78-fe78-42c3-afb1-66eeba18dc14

To add to this my Godot version is V4.2.2.stable.official and I'm using the latest AssetLib release of Protoshape

Thanks for pointing out! Will jump on it as soon as I can.

Hi, can you update to 1.0.6 and give me feedback about the issue? @NebulaAnimations

Apologies for the late response but yes on 1.0.6 seems like copy and paste is working! Thanks for the fix :D


Scrub dat mobile data

What's this PR do?
Adds a script to cleans up mobile data for users ported from the old days database.
How should this be reviewed?
📜
Any background context you want to provide?
nah.
Relevant tickets
Fixes #6409
Checklist

[ ] Tested on staging.

🚢


Fix vs/gateway/dr event handler been registered twice

k8s gateway controller actually contains the crd cache, but it is also added to istio config store. So for vs/gw/dr , there are 2 duplicate handlers registered

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

release-notes_istio
29e8e9f6930f2626c5633e74e0cb32910301e82c
link
/test release-notes_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test release-notes_istio

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-pilot-multicluster-tests_istio
29e8e9f6930f2626c5633e74e0cb32910301e82c
link
/test integ-pilot-multicluster-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-pilot-multicluster-tests_istio


Deprecated: Creation of dynamic property Gridd\Updater::$ver is deprecated in /Updater.php on line 75

Hi,
There is dynamic property deprecation warning for PHP 8.2.x version.
Deprecated: Creation of dynamic property Gridd\Updater::$ver is deprecated in /Updater.php on line 75

Good catch! Thank you for the fix :+1:


Breadcrumb: make ellipsis inaccessible by Accessibility tools when it's hidden

Description

This PR makes ellipsis inaccessible by Accessibility tools when it's hidden.
Motivation and Context

At this moment, we can navigate to ellipsis button using Narrator (CAPSLOCK + Left Arrow key) even when it's hidden. This is undesired behavior and will lead to crash if user invokes ellipsis at that point (Enter or CAPSLOCK + Enter).
This PR will make ellipsis invisible for Accessibility tools when it's hidden.
How Has This Been Tested?

Manually.

/azp run

/azp run

/azp run


Illegal attempt to dereference path source [null.events] of basic type

Hi!
I tried to incorporate this to a project I'm working with but I can't seem to get it to work.
This works just fine (Without your filter)
CriteriaBuilder cb = entityManager.getCriteriaBuilder();

CriteriaQuery<Message> query = cb.createQuery(Message.class);

Root<Message> root = query.from(Message.class);
Join<Message, Event> join = root.join("events", JoinType.INNER);
query = query
	.select(root)
	.where(
		cb.equal(join.get("eventType"), Event.EventType.SENT)
	);
return entityManager.createQuery(query).getResultList();

However, trying to do the same with
selectFrom(messageRepository).innerJoin("events").where(filter).findAll();
and in-data
{   "field": "events.eventType",   "operator": "eq",   "value": "SENT" }
Results in the following error:
exception.GlobalControllerExceptionHandler - global controller exception handler encountered exception: SpecificationException message: Meet problem when parse field path: events.eventType, this path does not exist. Illegal attempt to dereference path source [null.events] of basic type

SpecificationException: Meet problem when parse field path: events.eventType, this path does not exist. Illegal attempt to dereference path source [null.events] of basic type

Caused by: java.lang.IllegalStateException: Illegal attempt to dereference path source [null.events] of basic type

Looks like this is caused by not found ‘events’ in Message
Or Message is not found ?
I will look at it tomorrow

On Aug 29, 2018, at 01:04, Nikez<EMAIL_ADDRESS>wrote:
Hi!
I tried to incorporate this to a project I'm working with but I can't seem to get it to work.
This works just fine (Without your filter)
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery query = cb.createQuery(Message.class);
Root root = query.from(Message.class);
Join<Message, Event> join = root.join("events", JoinType.INNER);
query = query
.select(root)
.where(
cb.equal(join.get("eventType"), Event.EventType.SENT)
);
return entityManager.createQuery(query).getResultList();
However, trying to do the same with
selectFrom(messageRepository).innerJoin("events").where(filter).findAll();
and in-data
{ "field": "events.eventType", "operator": "eq", "value": "SENT" }
Results in the following error:
exception.GlobalControllerExceptionHandler - global controller exception handler encountered exception: SpecificationException message: Meet problem when parse field path: events.eventType, this path does not exist. Illegal attempt to dereference path source [null.events] of basic type
SpecificationException: Meet problem when parse field path: events.eventType, this path does not exist. Illegal attempt to dereference path source [null.events] of basic type
Caused by: java.lang.IllegalStateException: Illegal attempt to dereference path source [null.events] of basic type
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

The thing is that the JPA Criteria above uses the same model and names, but it has no issue.. So I'm not sure! But thanks for taking a look.

You can change code  throw new SpecificationException("Meet problem when
parse field path: " + field + ", this path does not exist. " + e.getMessage(),
e); to print call stack to see the root cause.
I think something wrong when private Path parsePath(Path<? extends
Object> root, String field)
Please make sure your messageRepository is correctly configured
On Wed, Aug 29, 2018 at 1:42 AM Nikez<EMAIL_ADDRESS>wrote:

The thing is that the JPA Criteria above uses the same model and names,
but it has no issue.. So I'm not sure! But thanks for taking a look.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ZhongjunTian/spring-repository-plus/issues/6#issuecomment-416873976,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGxKvtNgzC_foZqbIckfDFanMGbu_Di4ks5uVlPegaJpZM4WRCG5
.

--
Best Regards
Jon (Zhongjun)

It is, as far as I can tell.
Caused by: java.lang.IllegalStateException: Illegal attempt to dereference path source [null.events] of basic type
	at org.hibernate.query.criteria.internal.path.AbstractPathImpl.illegalDereference(AbstractPathImpl.java:82)
	at org.hibernate.query.criteria.internal.path.AbstractPathImpl.get(AbstractPathImpl.java:174)

@RepositoryRestResource(collectionResourceRel = "message", path = "message") public interface MessageRepository extends JpaSpecificationExecutor, JpaRepository<Message, Long> { 	Message findByMessageId(@Param("messageId") String messageId); }

http://sansjavadevelopment.blogspot.com/2011/07/error-javalangillegalargumentexception.html
I found someone else got the same exception

could you add a method
run
{
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery query = cb.createQuery(Message.class);
Root root = query.from(Message.class);
Join<Message, Event> join = root.join("events", JoinType.INNER);
query = query
.select(root)
.where(
cb.equal(join.get("eventType"), Event.EventType.SENT)
);
List list = entityManager.createQuery(query).getResultList();
//the code upon may invoke some other code to register Message in Hibernate? I guess
return selectFrom(messageRepository).innerJoin("events").where(filter).findAll();
}

No success.
INNER join root class Message with table [events]
Parsing child path events.eventType of root class Message
exception.GlobalControllerExceptionHandler - global controller exception handler encountered exception: SpecificationException message: Met problem when parse field path: events.eventType, this path does not exist. [Ljava.lang.StackTraceElement;@5a06217c
SpecificationException: Met problem when parse field path: events.eventType, this path does not exist. [Ljava.lang.StackTraceElement;@5a06217c

Hi, i update this library with OneToOne, ManyToOne, OneToMany, ManyToMany supported and added other functionalities like pagination in the rest filter, ignorecase and more.
Check it here: https://github.com/borja-glez/springify

Great job doing that :)


📝 Draft Project Idea: Smoothed Gas Price Service

What is a Draft Project Idea?
A Draft Project Idea is a concept for a project within the Optimism ecosystem that is generally considered valuable but has not yet been fleshed out into a clearly defined product. Draft Project Ideas may be converted into Ecosystem Project Ideas as they are explored further and more thoroughly specified.

Summary
Transaction fees on L2 are highly variable due to L1 gas price volatility. For instance, before EIP-4844, about 99% of a user's transaction fee on OP Mainnet comes from L1 data costs. Some L2s build a system of fee smoothing natively into the protocol (e.g., Arbitrum).
Although native fee smoothing is an excellent addition to any L2, we could further improve the user experience by creating a consumer product that provides a "smoothed" fee experience. In this system, the product could use some combination of membership fees, gas price derivatives, and identity/reputation (or other things) to allow users to get predictable fees. In essence, the provider of the product is responsible for hedging on behalf of users in exchange for a fee, where users are trading off slightly more expensive transactions for predictability.
Possible Features

Address opts-in to a service that provides a smoothed gas fee option
Address may pay a membership fee, opt-in via token, or some reputation/identity model, etc.
Could be similar to Amazon Prime, Movie Pass, real-world commodity markets
Smoothing provider can trade gas price derivatives to try to be profitable

Impact

Better consumer user experience since gas fees are predictable
Creates a new playground of DeFi innovation around gas price derivatives

Price volatility as it relates to gas predictability should be defined as some standard deviation (e.g. 3) greater than an observed mean gas price. Some provided metrics or targets to measure effectiveness would greatly be appreciated.

Using something like our meta transaction protocol, LLGP, enables users to submit transactions without specifying BASEFEE. We further abstract away the Gas pricing for users by using only gas price and a new parameter called gas slippage.
You can read more about this system here: https://hackmd.io/@manifoldx/llgp-spec
Here is an audit on the mechanism design of LLGP: https://github.com/20squares/manifold-finance/tree/main/manifold-hedger
If OP Sequencer uses our validator slots, we can accept OP token as payment for transaction inclusion. Not sure where the design space is restricted as it relates to sequencer behaviour, etc.

Hi I work with GasHawk.io and am interested in building this for the OP ecosystem, is this project still accepting applications?

Using something like our meta transaction protocol, LLGP, enables users to submit transactions without specifying BASEFEE. We further abstract away the Gas pricing for users by using only gas price and a new parameter called gas slippage.
You can read more about this system here: hackmd.io/@manifoldx/llgp-spec
Here is an audit on the mechanism design of LLGP: 20squares/manifold-finance@main/manifold-hedger
If OP Sequencer uses our validator slots, we can accept OP token as payment for transaction inclusion. Not sure where the design space is restricted as it relates to sequencer behaviour, etc.

This has evolved into what is now eXtensible Gas Auctions - https://xga.com
Users can in hedge their gas costs and guarantee transaction inclusion up to 2 epochs in advanced (deterministic). These are inclusion preconfirmation option contracts in essence.
User experience is vastly improved as the transaction is guaranteed to be included: there is no need to monitor or potentially send a repriced transaction. It also bypasses builders and is protected from MEV activities from 3rd parties.
This is implemented as an OP rollup (the auction), Superchain's can potentially use this to reduce their costs as well. XGA is a part of the Superchain registry.


bug in zinglplotter "ValueError: dx() or dy() exceeds 1"

When I try to execute this "Cut" operation, I get an error:
Traceback (most recent call last):
  File "/Users/jared/clone/fork/meerk40t/Kernel.py", line 1579, in run
    job.process(*job.args)
  File "/Users/jared/clone/fork/meerk40t/Kernel.py", line 231, in process_spool
    self.execute()
  File "/Users/jared/clone/fork/meerk40t/LhystudiosDevice.py", line 229, in execute
    x, y, on = next(self.plot)
  File "/Users/jared/clone/fork/meerk40t/zinglplotter.py", line 661, in groups
    raise ValueError("dx(%d) or dy(%d) exceeds 1" % (dx, dy))
ValueError: dx(-7) or dy(-20) exceeds 1

Here's a reduced SVG file that demonstrates the bug:
https://gist.github.com/jaredly/96d5dff21b8ad45716d561a62c3c6522

Yeah, this also spiked a few extra bugs with the plotting not returning a proper integer.
  File "LhystudiosDevice.py", line 121, in lhymicro_distance
TypeError: list indices must be integers or slices, not float

I fixed that and figured it would work, but I ran into the one you have there too.
It's a flaw in the plotting routine. The core Zingl algorithms are actually originally set to plot in a graphics content and not necessarily as I use them a pixel by pixel routine. I mostly fixed them up, but here I clearly missed a spot the routine checks for a horizontal cut at P4, and a vertical cut at p6 and then swaps the points based on some criteria. The problem here is if it swaps the point it takes the cubic bezier curve backwards which isn't a problem for the original code but is a death knell for how I use it.
             if abs((y0 - 2 * y1 + y2) / t * x) > abs(y):  # /* which first? */
                    x0 = x2
                    x2 = x + x1
                    y0 = y2
                    y2 = y + y1  # /* swap points */
                    # /* now horizontal cut at P4 comes first */

But, rather than storing that and playing it backwards as I did at other swaps, I just let it happen and that's a problem. I updated zinglplotter in the commit I posted. You could just grab that from the 0.6.1 branch and it'll work. I'll make a couple tests to be sure I didn't miss anything else.

nice! Thanks for the quick response!

Thanks for the easily repeatable bug report. Made tracking it down pretty easy. Checked the various other code, and made some better tests in the zinglplotter project. Seems like there's no other whammies out there.

This is corrected in 0.6.1, now live.


Registering a row selection event

I've posted a feature request, your thoughts? @col-panic
https://github.com/xaksis/vue-good-table/issues/242
What is your solution please, i want to use this to emit a position to a map from the table in some GPS software!


⚠ Rechenzentrum Uni has degraded performance

In c654bb6, Rechenzentrum Uni (https://www.rz.uni-osnabrueck.de) experienced degraded performance:

HTTP code: 200
Response time: 2079 ms

Resolved: Rechenzentrum Uni performance has improved in 6eb9f06.


txpower set canceled on K3-lede-2023.04.18-0128?

root@OP_K3_AP:# iwconfig wlan0 txpower 23
Error for wireless request "Set Tx Power" (8B26) :
SET failed on device wlan0 ; Not supported.
root@Phicomm-K3:# iwconfig wlan1 txpower 23
Error for wireless request "Set Tx Power" (8B26) :
SET failed on device wlan1 ; Not supported.
BTW:
这个固件的以太网速度是测试过的K3固件里面最高的。
iperf3 server on K3, test results:
Shortcut-FE 流量分载-开
全锥型 NAT-high perf.
BBR 拥塞控制算法-关
0.00-100.00 sec  9.20 GBytes   790 Mbits/sec
Shortcut-FE 流量分载-开
全锥型 NAT-high perf.
BBR 拥塞控制算法-开
0.00-100.00 sec  8.98 GBytes   771 Mbits/sec
Shortcut-FE 流量分载-关
全锥型 NAT-high perf.
BBR 拥塞控制算法-开
0.00-100.01 sec  9.02 GBytes   775 Mbits/sec

Maybe, sth. was error in "K3-lede-2023.04.18-0128". It is working in other releases.
BBR may not be fast CCA in TCP, But it is good work for "lower quality networks", It may be good at Gaming.
Where are you from?

You can try the newest version, Feb 16, 2024.


Allow fields in a doc to be excluded/included

Sometimes the data passed to ES-Hadoop contains meta-information that is required for the operation but should not be saved to ES (shouldn't be part of the source). A common example would be updating a record based on its id (which requires the field to be present but it shouldn't be saved since it already exists).

Submitted and documented in master.


Implement a human-readable method for storing/changing settings

Python pickling is not a very portable method of storing torbrowser-launcher settings. Having a more portable way of changing the settings may be useful to people who want to distribute operating system packages with different settings (without patching the code or having to pickle a new batch).
Some alternatives ideas spring to mind:

JSON or YAML
Environment variables (similar to how the Tor browser supports skipping launch or changing port information)

I agree, the pickle format is annoying. I vote for json.


Add MathProgBase support #1

The support is added by implementing AbstractSDModel of SemidefiniteModel.jl and using the SDtoConicBridge. We currently need to clone SemidefiniteModel.jl in .travis and appveyor but I plan to register it soon

I prefer to have an optional dependency to SemidefiniteModel.jl as long as it's not included in the official sources.


Fix use of old vsce command

See output here in Action runner: https://github.com/halcyon-tech/vscode-ibmi/actions/runs/4495440484/jobs/7909059124#step:5:5

https://github.com/halcyon-tech/vscode-ibmi/actions/runs/5952960090/job/16146104166#step:5:8


try to enable password for sshpass

Dear Airflow maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[ ] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-495

Description

[ ] Here are some details about my PR, including screenshots of any UI changes:
when user set the password in Admin->Connections, it does not work for the ssh remote server, sshpass not used the password saved before, so when you connect to remote server, you will got the issue, due to not connect to remote server, you can't create tmpfile, make sure your system installed sshpass.

Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[ ] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

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

@@            Coverage Diff             @@
##           master    #2416      +/-   ##
==========================================
+ Coverage   69.25%   69.28%   +0.03%
==========================================
  Files         146      146
  Lines       11230    11230
==========================================
+ Hits         7777     7781       +4
+ Misses       3453     3449       -4

Impacted Files
Coverage Δ

airflow/jobs.py
75.45% <0%> (+0.4%)
: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 d231dce...2f2d5d5. Read the comment docs.


Add tools/lint-all in python 3 mode to travis

pyflakes behaves differently under python 2 and python 3. It is able to catch some python 3 errors which tools/check-py3 cannot. I had made tools/lint-all compatible with python 3 in #833 and it did help find some python 3 errors then. I fixed those as part of #833.
Today (c9bb93b) I again ran tools/lint-all in python 3 and it showed this error:
zerver/lib/bugdown/__init__.py:633:92: invalid syntax
upload_re = re.compile(ur"^(?:https://%s.s3.amazonaws.com|/user_uploads/\d+)/[^/]*/([^/]*)$" % (settings.S3_BUCKET,))
                                                                                ^

This was introduced in 654bd66.
This is invalid syntax in python 3 because of https://www.python.org/dev/peps/pep-0414/#exclusion-of-raw-unicode-literals
I think we should add tools/lint-all in python 3 mode to Travis. It will help prevent such errors in the future. Since our code is not python 3 compatible, we might face some hard-to-fix errors if we are very unlucky. But that won't be a big problem since the erroneous file can be added to the exclude list in such a case.

@ddfisher any idea apparently your solution to the upload_re problem the other day isn't valid Python 3 :(

(Overall I think running lint-all under python 3 sounds like a great improvement)

That exclusion of raw unicode literals in the PEP doesn't make sense to me.  In Python 3, you can write r"foo", which is a raw unicode literal, but you can't write ur"foo".
Anyway, I think we just need to make the typeshed changes we were previously considering.

I will explain the reason in person.

We resolved this a while ago.


fix: handle breaking change in cargo-edit upgrade

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

GitHub release
crate.io packages (1 packages published)

Your semantic-release bot :package::rocket:


Update Dragula to 3.3.0

Is it necessary to have 'dragula' as a dependency of 'react-dragula'? It seems like the client could pass the "dragula" object to "react-dragula" and not have to deal with laggy updates.

Updates are typically released in tandem to all three packages. It's best to do it this way to avoid incompatibilities such as a react-dragula version expecting a certain newer API feature in dragula or API method that has been removed in a later version. Makes it easier for consumers


[Proposal] Non-null assertions at block-scope level

Suggestion
This proposal asks for an implementation of non-null assertions at block-scope level, that may remove the need for unnecessary non-null assertion all over the block-scope (or if you are willing to mess with the runtime JavaScript, would remove the need for unnecessary checks at runtime).
Related to this proposal: #10421
Special case of this one: #23250 (which has been dismissed for the particular use case exposed)
In my particular use case, I have a function receiving an object with optional properties and I know for sure that if one of them exists, all of them exist; therefore if one of them doesn't exist, none of them exist and in that case the function should return straight away, before doing anything.
So I have two possibilities:

Check for the existence of only one of the properties and return if it doesn't exists (like I would do in JavaScript). Then add non-null assertions all over the function to tell TypeScript that the other properties exist too.
Write an unnecessary (and, in my case, long) condition checking for the existence of every property.

I can see also a third possibility that is using an array instead of an interface and check the length, but there would be side effects that are undesired in my case (like having to use integers to access the members, and in doing so, saying goodbye to readability).

🔍 Search Terms

assertion block scope level
✅ Viability Checklist

My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion

Provide TypeScript users with the expressive power to let the compiler know that a variable is non-null within the scope of a block of code.
📃 Motivating Example

// Trivially, if there is only one person in a group of people,
// that person is both the youngest and the oldest in the group.
// One can argue that a person is not a group, but that's not the point.

type Person = number | boolean | string;

interface GroupOfPeople {
  oldest?: Person;
  youngest?: Person;
  tallest?: Person;
  shortest?: Person;
  youGettiest?: true;
}

function doThings(group: GroupOfPeople) {
  const { oldest, youngest, tallest, shortest, youGettiest } = group;

  // Case 1.
  if (!oldest) return;
  youngest!.play();
  tallest!.lookDown();
  shortest!.goUnnoticed();
  youGettiest!;

  // Case 2.
  if (!oldest || !youngest || !tallest || !shortest || !youGettiest) return;

  // Possible solution.
  if(!oldest) return;
  // This won't go in the compiled JavaScript.
  assert youngest, tallest, shortest, youGettiest;
}

💻 Use Cases

Generalizing the example above, the proposed feature would be useful any time a variable is known to be non-null in a certain context.
It would be just an extension of the already existing non-null assertion, which I guess got implement just to avoid unnecessary conditions (that would have shown up in the compiled JavaScript).

This kind of issue can generally be fixed by having a more precise types.

interface Person {
  play(): void;
  lookDown(): void;
  goUnnoticed(): void;
}

type GroupOfPeople = EmptyGroupOfPeople | NonEmptyGroupOfPeople;

interface EmptyGroupOfPeople {
  oldest: undefined;
  youngest: undefined;
  tallest: undefined;
  shortest: undefined;
  youGettiest: undefined;
}

interface NonEmptyGroupOfPeople {
  oldest: Person;
  youngest: Person;
  tallest: Person;
  shortest: Person;
  youGettiest: true;
}

function doThings(group: GroupOfPeople) {
  const { oldest, youngest, tallest, shortest, youGettiest } = group;

  // Case 1.
  if (!oldest) return;
  youngest.play();
  tallest.lookDown();
  shortest.goUnnoticed();
}

@demurgos right one could define the relationships between the properties ahead of time, sorry for not having taken into account even this possibility.
But still, I believe that the particular case in which the relationship between two properties is of existence (being either something or null/undefined) is common enough to be worth the feature.
The more precise typing you shown would also remove the need for non-null assertions in general (the !) and yet they are a commonly used handy feature.

So, assert in this context would mean

compiler, please assume that this is true from now on, even if you can prove it

as opposed to usual meaning of assert being either

throw runtime error if this is false

or

fail compilation if you can't prove this to be true

?
That sounds extremely dangerous. It's going to confuse people and cause errors that typescript is supposed to prevent in the first place.
I'm aware that "assertion" has this other meaning in Typescript environment, but while using this name in documentation is a bit confusing at worst, it isn't a false friend that it would be in code.

Duplicate of https://github.com/microsoft/TypeScript/issues/10421


Please confirm these before moving forward

[X] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[X] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Installer hash mismatch.
Brief description of your issue
Installing PotPlayer gives me hash mismatch error.
Steps to reproduce
winget install daum.potplayer
Actual behavior
Found PotPlayer [Daum.PotPlayer] Version 240618
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://t1.daumcdn.net/potplayer/PotPlayer/Version/240618/PotPlayerSetup64.exe
  ██████████████████████████████  37.2 MB / 37.2 MB
Installer hash does not match.

Expected behavior
Hashes should match for the application to install.
Environment
Windows Package Manager v1.8.1911
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22631.3880
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.23.1911.0

Winget Directories
-----------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Diag…
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\sett…
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
ProxyCommandLineOptions                   Disabled
DefaultProxy                              Disabled

Screenshots and Logs
Algorithm       Hash
---------       ----
SHA256          66D03FC13F4949948890675CF62B839B704B542A34A13A180466F93BE20D5BC6

This is the hash I get when downloading from the URL in the winget info daum.potplayer.

@drshtmstry Thank you for maintaining this application, can you kindly check on this issue.


allowHashBang option is now exposed to bin/acron as '--allow-hash-bang'

Thanks! Merged as 5f623d6


error: Field 'browser' doesn't contain a valid alias configuration

Type of Issue
[X] Bug Report

Description
I want to import bar.service.ts directly, rather than through public_api.ts, because I have more than 10 services in the actual lib, if I add a service I have to modify public_api.ts, this is a little bit of a trouble
but When I import  bar.service.ts directly, I got error :
app.component.ts

...
// it's work
// import { BarService } from '../../dist/my-lib/';

// it's not work
import { BarService } from '../../dist/my-lib/bar/bar.service';

@Component({
  ...
})
export class AppComponent {
  ...
}

ERROR in ./src/app/app.component.ts
Module not found: Error: Can't resolve '../../dist/my-lib/bar/bar.service' in 'D:\TestGit\mydir\ng-packaged\sr
c\app'
resolve '../../dist/my-lib/bar/bar.service' in 'D:\TestGit\mydir\ng-packaged\src\app'
  using description file: D:\TestGit\mydir\ng-packaged\package.json (relative path: ./src/app)
    Field 'browser' doesn't contain a valid alias configuration
  after using description file: D:\TestGit\mydir\ng-packaged\package.json (relative path: ./src/app)
    using description file: D:\TestGit\mydir\ng-packaged\dist\my-lib\package.json (relative path: ./bar/bar.se
rvice)
      no extension
        Field 'browser' doesn't contain a valid alias configuration
        D:\TestGit\mydir\ng-packaged\dist\my-lib\bar\bar.service doesn't exist
      .ts
        Field 'browser' doesn't contain a valid alias configuration
        D:\TestGit\mydir\ng-packaged\dist\my-lib\bar\bar.service.ts doesn't exist
      .js
        Field 'browser' doesn't contain a valid alias configuration
        D:\TestGit\mydir\ng-packaged\dist\my-lib\bar\bar.service.js doesn't exist
      as directory
        D:\TestGit\mydir\ng-packaged\dist\my-lib\bar\bar.service doesn't exist
[D:\TestGit\mydir\ng-packaged\dist\my-lib\bar\bar.service]
[D:\TestGit\mydir\ng-packaged\dist\my-lib\bar\bar.service.ts]
[D:\TestGit\mydir\ng-packaged\dist\my-lib\bar\bar.service.js]
[D:\TestGit\mydir\ng-packaged\dist\my-lib\bar\bar.service]
 @ ./src/app/app.component.ts 14:0-63
 @ ./src/app/app.module.ts
 @ ./src/main.ts
 @ multi webpack-dev-server/client?http://<IP_ADDRESS>:0 ./src/main.ts

How To Reproduce
open my forked repo

Change import path of "@my/lib" inside app.component
Not through "public_api.ts," import "barService" directly

Expected Behaviour
import service directly, not through public_api.ts
Version Information

ng-packagr: v1.5.1
node: v6.11.4
@angular: v5.0.1
rxjs:v5.5.2
zone.js:0.8.18

---
**ng version**
Angular CLI: 1.5.0
Node: 6.11.4
OS: win32 x64
Angular: 5.0.1

@angular/cli: 1.5.0
@angular/tsc-wrapped: 4.4.6
@angular-devkit/build-optimizer: 0.0.32
@angular-devkit/core: 0.0.20
@angular-devkit/schematics: 0.0.35
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.8.0
@schematics/angular: 0.1.2
typescript: 2.4.2
webpack: 3.8.1

please include any version information that might be relevant, e.g. other third-party libraries

Check the alias for your service in the main file in your package.
See my example: https://snag.gy/4XOaC3.jpg

same here, any solution?

@dherges could you please have a look at this?

@macjohnny
I found other solution.
You should export your service in the public_api.ts.
Something like this:
export {class of your module} from 'path to your module of the package';
export {class of your service} from 'path to your service in the module of the package';
In this case your module and service will be public and you can use them in any modules of your project.

@macjohnny
You can see my example of package which used Angular CLI and ng-packagr.
GitHub repository: https://github.com/reflection937/notification-manager
npm package: https://www.npmjs.com/package/notification-manager

@reflection937 your solution worked, thanks a lot!

Good!

@macjohnny happy to help!)

@reflection937 thank you for your help, but I'm curious if there's any way to use modules like the angular-cli project, Or what articles explain how the principle of builder that use of all the service to redo export in the public-api.ts?
// import BarService from the public_api.ts.
// import { BarService } from '../../dist/my-lib/';

// has any way to directly import service
import { BarService } from '../../dist/my-lib/bar/bar.service';

@lichunbin814 yes of course.
You should import module or service like this:
import {BarModeule} from "directory name of your package in the node_modules";
import {BarService} from "directory name of your package in the node_modules";
Before that you should export these service and module in the public-api.ts

@reflection937  thanks a lot  :)

@lichunbin814 happy to help!)

One thing I found out is not to use barrels inside public_api.ts like so:
export * from './services';
export * from './components';
export { Module } from 'pkg.module';

I thought it would be a nice, easy way to keep things organized, but Webpack doesn't like it, at least the version bundled with Ionic 3.


[FEATURE] Allow for non-interactive age setup

This allows to do a gopass age setup entirely non-interactively and documents it in our docs.
Fixes #2619.
This also updates Go to Go 1.23.2, fixes all the related new linter issues and gets rid of min and max functions.
It also fixes the age setup test that didn't pass previously thanks to the non-interactive setup.
Sorry for the extra changes, but I'm running Go 1.23.

@dominikschulz looks like the hardened github action refuses to download the latest Go version??

 StepSecurity Report

Preview of the outbound network calls during this workflow run.
Network Calls

Process
Destination
Status

node
golang.org
❌ Blocked

git
github.com
✅ Allowed

...
...
...

📄 View Full Report
Markdown generated by the Harden-Runner GitHub Action.


kubeflow mnist demo

Which download are you referring to?

It can't fail to download mnist.npz, because it's stored in the repo. I think it would be better to not store this in the repo since it's binary data, but it was already in there.
If boto3 fails to download, the kubeflow pipeline will fail, causing the pachyderm pipeline to fail.
If there is an issue downloading or uploading to s3g, the kubeflow pipeline will fail, causing the pachyderm pipeline to fail.


Bottom margin mistake when hidesBottomBarWhenPushed == YES

My subclass of SLKTextViewController is inside UITabBarController but its hidesBottomBarWhenPushed is YES, which causes a mistake in bottom margin calculation as is shown here.

To fix this I recommend modifying method - (CGFloat)slk_appropriateBottomMargin in SLKTextViewController.m as
- (CGFloat)slk_appropriateBottomMargin
{
    // A bottom margin is required only if the view is extended out of it bounds
    if ((self.edgesForExtendedLayout & UIRectEdgeBottom) > 0) {
        if (self.tabBarController) {
            // Considering hidesBottomBarWhenPushed property
            if (self.hidesBottomBarWhenPushed == NO || self.navigationController.hidesBottomBarWhenPushed == NO) {
                return 0.0;
            } else {
                return CGRectGetHeight(self.tabBarController.tabBar.frame);
            }
        }
    }
    return 0.0;
}

Oooops sorry I find that it has been fixed in Fixes #362. Please update podspec since it's quite important. Thanks.


Portrait photos are rotated 90º counter clockwise in conversations

When I post photos from my Samsung S5, the images are rotated 90 degrees counter clockwise when I shoot them in portrait mode.

The culprit maybe Samsung ROM. There are plenty talk on it such as http://stackoverflow.com/questions/13430895/capture-photo-rotate-90-degree-in-samsung-mobile

Thanks for the lead. You may be right - I've noticed similar behavior in my Google hangouts chat client on the S5. Seems weird that Google has this bug too on such a popular smartphone.


Remove duplicate test case

:pencil2: Same as  "should create proper params for getConversionEvent with attributes and event value"

Coverage decreased (-0.003%) to 98.555% when pulling 5563c503f0bad4b2c694b4dbb509658275631841 on oakbani:patch-1 into 27239d040553ba794b46fc086628203de166686e on optimizely:master.

build

Thanks for submitting this PR @oakbani. We will review it shortly. In the meantime, please make sure to sign our CLA form as outlined in our CONTRIBUTING.MD doc

build


Wanted: Command line option to start testing partway through a suite

If restarting midpoint through a long test sequence it would be nice to have a command line option (lets call it --dryrununtil) that you pass a matching test string to (like --test) that would allow me to

Run a set of tests with our complex command line
Have it fail at a point (something like "<IP_ADDRESS> UDS Reflash Verify")
Ctrl-C out to terminate the run and fix the error then restart the sequence with
robot ...normal complex variable/include/excludes... --dryrununtil "<IP_ADDRESS>*" ./all_tests
The goal of this command is to skip the tests until the one matching --dryrununtil is encountered.. The matching and all subsequent tests are then run.

Having a command line option to start execution from a certain test sounds like a useful feature to me. Would probably work nice also with the --ExitOnFailure option.
I don't think switching execution mode during execution would a good idea, though. It would make it harder to merge results of partially run suites and implementation would also be really hard. Just dropping tests from the executed suite would, in my opinion, work a lot better. As a pretty big bonus, it would also be very easy to implement. Would you @milhead2 be interested to look at that? I can help if needed but probably won't have time to implement this myself for RF 3.2.

I think adding an option like --startfrom or possibly --startfromtest would work pretty well. Could also consider adding --endto (or --endtotest). In combination they would allow running suites in smaller batches either in sequence or in parallel.

I'll take a look at it but it won't be immediate, I've not dipped my toe into the robotframework pool except as a user..  I understand that means that I should get my toes/feet wet (grin), I'll let you know how it goes.

Is this along the lines of what you are thinking?
The way I've drafted the option makes the start inclusive..  My gut feeling is that the end
would be exclusive but my first description below indicates inclusive..   Your thoughts?
    --startfromtest name *  Will skip tests prior to the first occurrence of
                          a test that matches 'name'. The matching test is
                          inclusive and will be executed. (see the --test
                          option for a description of name matching)
    --endwithtest name *  Will skip all tests after the first occurrence of a
                          test that  matches 'name' (see the --test option for
                          a description of name matching)

Yeah, something like that. I also think start should be inclusive and end exclusive. That allows something like
robot --endwithtest Example tests.robot
robot --startfromtest Example tests.robot

without the Example tests being executed twice.
How's the option naming? For me "start from" and "end to" would be logical, but I'm not a native English speaker and don't know would "end with" be grammatically better. Would "start with" and "end with" work?

Technically this should be implemented using pre-run modifiers. Implementation ought to be pretty simple, but we'd obviously need to add some tests as well. The first prototypes could be done simply using the --prerunmodifier option without touching Robot's internals at all.


Add new feature from Docusaurus: Markdown Frontmatter support

Adding new feature from Docusaurus "Markdown Frontmatter support".
After reviewing some functionalities from Docusaurus, I have decided to implement some features to enhance the tool.
Description
Frontmatter allows to store additional metadata in the markdown files. Having both content and additional metadata in Markdown creates a great solution if we need to keep some additional metadata associated with the corresponding markdown file.
Checklist of accepted fields

[x] Add support for title field
[x] Add support for description field
[x] Add support for upload_date field
[x] Add support for author field

Closed issue with this commit.


CORS problem with Koel Remote

sorry for duplicate. i re-opened this as a follow-up of https://github.com/phanan/koel/issues/1151

hi. this commit fixed the visibilty of the service but it throws an error in browser console now. It has to do with MIME type and CORS headers. I am not able to find the issue because it points to the option "nosniff" which i did not set at all.

curl -i https://music.leyghis.de/remote
HTTP/1.1 200 OK
Date: Fri, 27 Dec 2019 12:53:08 GMT
Server: Apache/2.4.29 (Ubuntu)
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
X-Frame-Options: DENY
Host: <IP_ADDRESS>:8000
Cache-Control: no-cache, private
Content-Type: text/html; charset=UTF-8
Vary: Accept-Encoding
Access-Control-Allow-Origin: *
Referrer-Policy: origin-when-cross-origin
Transfer-Encoding: chunked

I already played a lot the header vaules (removed all of them) but no difference

hi, found the issue. The web server error with CORS disappeared but it did not work either. But now i found to enable some settings in Pusher. I enabled "client events"

Now the remote controller works. But only if Koel session created in web browser before. Using the desktop application the remote session is not found :-(

Thanks for looking into this!

Using the desktop application the remote session is not found :-(

That's expected. I've not implemented Pusher for the desktop app yet (nor do I place it too high on my list). So I'm going to go ahead and close this.


Strict search

Strict search should only query direct children of a node, not recurse through the tree.

Closed by https://github.com/hankjordan/soupy/commit/4bf64622c175d84dbcbdd97bd72713b1fe6766fb


[HELP] Get information from Relation

I have projects table.
In projects have user_id from admin_users id
How to get information admin_users in grid
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Encore\Admin\Facades\Admin;

class Projects extends Model
{
    protected $table = 'projects';
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    public function owner()
    {
        return $this->hasOne(Admin::class);
    }

}

return Admin::grid(Projects::class, function (Grid $grid) {

            $grid->id('ID')->sortable();
            $grid->name()->editable();
            $grid->descriptions()->editable();
            $grid->user_id()->owner();
            $grid->filter(function ($filter) {
                $filter->like('name');
            });

            $grid->disableBatchDeletion();
            $grid->created_at();
            $grid->updated_at();
        });`

change $grid->user_id()->owner(); to $grid->owner()->user_id(); then you can find the result

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
**use Encore\Admin\Auth\Database\Administrator;**

class Projects extends Model
{
    protected $table = 'projects';
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    public function owner()
    {
        **return $this->belongsTo(Administrator::class);**
    }

}

$grid->owner()->user_id();
It empty

I got it thanks


Added a plot_cbvs function and added errors to correct function

I had to change the CBV corrector slightly for a tutorial. I changed the following:

Moved how we obtain the CBVs to its own function _get_cbv_data
Added the errors back into the LightCurve that the corrector returns (Although we think it shouldn't do this in future see #46 )
Added a plot_cbvs function. This is useful for the tutorial.

Codecov Report

Merging #49 into master will decrease coverage by 0.87%.
The diff coverage is 46.42%.

@@            Coverage Diff             @@
##           master      #49      +/-   ##
==========================================
- Coverage   94.07%   93.19%   -0.88%
==========================================
  Files          17       17
  Lines        1553     1573      +20
==========================================
+ Hits         1461     1466       +5
- Misses         92      107      +15

Impacted Files
Coverage Δ

lightkurve/correctors.py
79.25% <46.42%> (-6.46%)
:arrow_down:

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 1084a93...23bce5a. Read the comment docs.

Oh, ok, let's merge!


Mixing the consumer language and the number format

Hi,
I hope I'm wrong missing something here but let me explain my problem...
If I'm in the Spanish locale, and I execute the following then I get roughly as below
// es-ES
numbro(1000.234).formatCurrency(); // => 1.000,234 E
But what if I'm in England and I want to display a Spanish amount?
All the nice currency symbol information is available but it's tied to the number format.
// es-GB
numbro(1000.234).formatCurrency(); // => £1,000.234

What I want is, to format a Euro amount in English locale (Euro symbol but separators etc as in English locale):
numbro(1000.234).formatCurrency(); // => E1,000.234
Am I missing a trick here?

I think this is related to #332 , don't you think?

Similar yeah. Sorry, I did look to see if if sort of thing had been mentioned but couldn't find anything obvious. If you want to close this I can comment on the other one. If you want to keep separate (this is a slightly different use case), happy too.


A blob name is too long to fully display on 'Manage Access' dialog

Storage Explorer Version: 1.11.1
Build: 20191120.3
Branch: hotfix/1.11.1
Platform/OS: Windows 10/ Linux Ubuntu 18.04/macOS High Sierra
Architecture: ia32/x64
Regression From: Not a regression
Steps to reproduce:

Expand an ADLS Gen2 account -> Blob Containers.
Open one blob container which contains one blob at least.
Select one blob and rename it with a long name. (Make sure there no space in the new name)
Right click the renamed blob then select 'Manage Access...'.
Check the blob name on the 'Manage Access' dialog.

Expect Experience:
Display the blob's full name.
Actual Experience:
Can't display the full name even resize the dialog.

Won't fix for now. We're happy with how long blob names are handled here for now. If customers give feedback on it we can change.


Homework 4 is completed

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
What did you learn from the changes you have made?
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
How were these changes tested?
A reference to a related issue in your repository (if applicable)
Checklist

[ ] I can confirm that my changes are working as intended

Last commit has been done at 0:45 on May 24. I hope it is still valid


Support database concept to create like dbname.tablename

Hi,
Need support something like Mysql where we can have multiple databases and same table inside it...
i.e., dbName.TableName
{
"tableName": "myDb.myTable",
"tableType": "OFFLINE",
"segmentsConfig": {
"timeColumnName": "outgoingName",
"timeType": "DAYS",
"retentionTimeUnit": "DAYS",
"retentionTimeValue": "365",
"segmentPushType": "APPEND",
"segmentAssignmentStrategy": "BalanceNumSegmentAssignmentStrategy",
"replication": "3"
},
"tenants": {
"broker": "brokerOne",
"server": "serverOne"
},
"tableIndexConfig": {
"loadMode": "HEAP",
"invertedIndexColumns": [
"column1",
"column2"
]
},
"metadata": {
"customConfigs": {
}
}
}
when i tested using above config to create table config, i got below error,
{"code":400,"error":"Table name: 'myDb.myTable_OFFLINE' containing '.' or space is not allowed"}
Please provide support for database concept, where i can create multi database with same/different table names
@xiangfu0
Thanks
Akram Syed

Can someone acknowledge this?

Pinot does not have the database concept, and requires all the table name to be unique. I believe the ask here is to allow . within the table name. Currently _ is allowed as part of the table name, do you think you can replace . with _ as the delimiter?


Webapp:az webapp deployment slot swap should support preserveVnet

Is your feature request related to a problem? Please describe.

When swapping slots in an App Service via az webapp deployment slot swap, you can't specify preserve vnet.
Describe the solution you'd like

az webapp deployment slot swap  -g <rg_name> -n <appsvc_name> --slot staging --target-slot production --preserve-vnet=true

Describe alternatives you've considered

Alternatively, we can directly call the management API, use an existing language SDK, or use the Azure Devops App Service pipeline task, but would rather use azure-cli.
Additional context

Thank you for your suggestion @seushermsft. @yungezz PS does/provides this, can we look into adding it?

webapp will be taken care by service team

we need to revamp our swap commands & we will address this as. a part of that work

@Kotasudhakarreddy / @ThejaChoudary can one of you take this up for the upcoming milestone?

Fix is given and will be released in next CLI update.


api review - personalization

See GH-2140 for master plan.

There is no code changes. So, I will close this ticket.


Add placeholder check for message prompt

When playing with chat command and just found that it doesn't check if provided message prompt and message prompt contain correct placeholder. If it is not, no proper feedback to users and users won't know the prompt isn't actually generated to the model.

Thanks!

Thank you @LLukas22 @philpax !


Error reporting running the docker daemon command in ubuntu of WSL

10.0.17134.48

execute ：dockerd(daemon process);

then prompt “Error starting daemon: Devices cgroup isn't mounted”

Have you tried following the steps outlined in https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawlessly ?

Docker engine 100% support in WSL is not ready yet. But If you want to test some things running docker daemon as a experiment follow the steps from:
https://github.com/Microsoft/WSL/issues/2291#issuecomment-383698720

Have you tried following the steps outlined in https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawlessly ?

This is the only solution that worked for me! Thank you Nick!!!


Background disappears at a certain distance from origin

Tested 40206698a8abbb6798e24cd18dd1e469a2a32067
Bisected to b56f550d207ac5de20391430aba82d0a3f8594f3
I'm not sure yet if this is some difference in Bevy 0.11 or an error I made while upgrading.
To reproduce:

cargo run --example layers
Hold left for approximately 15 seconds.

Users can work around this by adding NoFrustumCulling to their background entities.


fix: Update task duration property to be optional

Closes #245
@henningmu

Could we get a 3.0.1 release for this? 🙏

@rasmuslp 3.0.1 has been published now.


make build.sh more portable by ensuring phar.readonly=0 for every run

This PR ensures that build.sh doesn't get tripped up if a user's php uses phar.readonly = On.
For instance, on my system I'm using homebrew-php which has the following phar php.ini settings:
$ php -i | grep phar
Registered PHP Streams => https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On

Nice!  Thanks @mfdj!


github description has a grammatical error

I'm sorry for raising a whole issue on this, I'd have put it in a chat group but I couldn't find one

Jsmn is a world fastest JSON parser/tokenizer.

isn't grammatically correct
its either

Jsmn is the world's fastest JSON parser/tokenizer.

or

Jsmn is one of the world's fastest JSON parsers/tokenizers.

(this is the description in the github top part)

I do agree with you here and my opinion is to go with your second suggestion for the description. Although, I am not able to edit it myself. Will have to wait for @zserge to do it.

oh the irony


Amount of tabulations not checked after user defined typedef

After a user defined typedef, an unspecified amount of tabulations is allowed.
As long as the line does not reach over 80 characters and declarations are aligned.
Im unsure if this is intentional but it can make for some ugly cases.
Erroneous code
Marked as correct by norminette:
typedef foo <TAB> <TAB> <TAB> t_bar;
typedef bar <TAB> <TAB> <TAB> t_foo;

typedef struct s_foo
{
} <TAB> <TAB> <TAB> t_bar;

typedef struct s_bar
{
} <TAB> <TAB> <TAB> <TAB> <TAB> t_foo;

Marked as incorrect by norminette:
typedef foo <TAB> <TAB> t_bar;
typedef bar <TAB> <TAB> <TAB> t_foo;

Additional infos

OS: OSX 11.1
python --version: 3.9.1
norminette -v: 3.1.1

Hello,
Thank you for pointing that out.
To some extent, we cannot limit the number of allowed tabs in case of declarations with a long type, followed by a short type.
I can't limit the number of tabs on the first variable either, if it is a short type and needs to be aligned to a longer one below.
I'm kinda out of ideas. It is fine to leave it like that, but it might be better to have some kind of limitation.
I'm open to suggestions.

Closing due to staleness. Will stay as is for now.


Month documentation out of date

http://momentjs.com/docs/#/get-set/month/

Before version 2.1.0, if a moment changed months and the new month did not have enough days to keep the current day of month, it would overflow to the next month.

As of version 2.1.0, this was changed to be clamped to the end of the target month.

vs
http://momentjs.com/docs/#/get-set/date/

Note: if you chain multiple actions to construct a date, you should start from a year, then a month, then a day etc. Otherwise you may get unexpected results, like when day=31 and current month has only 30 days (the same applies to native JavaScript Date manipulation), the returned date will be 1st of the following month.

@ir-fuel - do you have a proposed change ?


Support for DOCKER_* environment variables broken when using Promises

By doing:
docker = new Docker({}) or docker = new Docker({Promise: require("bluebird")})
When reaching this line this.modem = new Modem(opts); on line 23 of lib/docker.js, opts is a non null object which prevents defaultOpts() in the docker-modem constructor ever being called. This is now broken for anyone relying on docker-modem to read the DOCKER_* env variables for the connection to the docker host.
Cheers

Pusblished in v2.3.5.
Not the prettiest fix, we will revisit this one :)

👍


Pagination problem?

Is there a problem withe the baseurl for pagination in theme STRIPED? When the page Blog is used as the homepage, the pagination url seems to be wrong: /grav/page:2 instead of /grav

Duplication of: https://github.com/getgrav/grav-theme-striped/issues/5


Issue_recommender - The redirect URL for the identified jobs doesn't work

The information for the web scraped jobs is shown on the job recommender page but the redirect URL doesn't work

Do you think we can leverage the redirect URL received from the Adzuna API for this?

Tested the functionality after merging the change to Feature branch. Looks good! Thanks, @prav29 for resolving the issue.


Fix support of octal and hexadecimal escape sequences + refactoring

Ok this ended up a bit bigger than anticipated :smile:
The fix is actually quite easy: the numbers were converted to u8, so any constant larger than that would raise an error. Instead I moved to u32 which should be enough to represent any Unicode character ever. I replaced rug Integer by u32 directly as a result.
While exploring the code, I noticed that the lexer would keep eating the backslash and then return it. So instead, I replaced this with an early exit if we don't have a backslash, and all sequences no longer have to check for that. Then it is only a matter of returning an option instead of an error if the lookahead char is not the right one for any given method. In theory you could even go further and do a single match self.lookahead_char()? to determine which sequence is the right one, but unfortunately I only just thought of that while writing this :smiley:
I added a few unit tests for normal character, and octal and hexadecimal escape sequences. Ideally we should add a few more for continuation escape sequences, as well as meta and control.

Wow, thank you a lot for this!

Great, thanks! Could you please set the version number in Cargo.toml to 0.8.57?

Great, thanks! Could you please set the version number in Cargo.toml to 0.8.57?

Sure! Also I did what I mentioned, aka moving lookahead tests in a single if/else if sequence. I noticed that "0" was part of the control escape sequence, I think this is essentially dead code as it is already covered by the octal escape sequence, so I removed it. I haven't touched the symbolic_control_char macro, as it is marked "export", but I wonder why is 0 considered a control char?

0 is a control char to demarcate the end of a partial string in one block, and its continuation in another, if there are further characters. https://github.com/mthom/scryer-prolog/issues/267 might change that.

0 is a control char to demarcate the end of a partial string in one block, and its continuation in another, if there are further characters (somewhat like a null terminator). mthom/scryer-prolog#267 might change that.

Ok I don't really understand this :) But anyway, it's a good thing that I didn't touch the macro, so this will continue to work :smiley:

0 is a control char to demarcate the end of a partial string in one block, and its continuation in another, if there are further characters (somewhat like a null terminator). mthom/scryer-prolog#267 might change that.

Ok I don't really understand this :) But anyway, it's a good thing that I didn't touch the macro, so this will continue to work smiley

Going back to this, from the issue you linked I see the octal escape sequence \0\ but no new control escape sequence \0 :relieved: There is no need to parse \0 is there? I was worried that I might have broken parsing \0, but I don't think there's a way to parse a \0 control escape sequence anyway, because such a sequence makes the grammar ambiguous:
Consider the atom 'ch\01\n', it can be parsed as ['c', 'h', '\01\', 'n'] or ['c', 'h', '\0', '1', '\n'].


Reactor: Oops! Imports message had poor html

no address is visible -- it is invisible -- in the rendered error page. looking at the source it is because there is no "a href" around the "http" for the link.
Error in Hello.elm:
Error on line 29, column 29 to 45:
Could not find variable 'Window.dimensions.width'.
Looks like the prefix 'Window.dimensions' is not in scope. Is it spelled correctly?
Is it imported correctly?
You can read about how imports work at the following address:
<here is where it should be, but it doesn't render, because of poor html>

I actually just encountered this as well. The DOM contains:
<http: elm-lang.org="" learn="" syntax.elm#modules="">

</http:>

Minimal example to reproduce is x = Foo. It renders fine in the repl but not in the browser.

So the actual issue is that the text isn't html-escaped before it's inserted.

It sounds like this is specific to elm-reactor so I am going to close it here. Should be migrated to https://github.com/elm-lang/elm-reactor/issues and it may be fixed thanks to @vilterp's ongoing work over there!


Are mobile push notifications supported?

Hi,
I'm trying to create a platform application for sending mobile push notifications, but I get a default message bad. Are mobile push notifications supported?
aws sns --endpoint-url http://localhost:9911 --region foo create-platform-application --name bar --platform baz --attributes '{"qux":"norf"}'
Unable to parse response (syntax error: line 1, column 0), invalid XML received:
b'Hello, Akka'

Thanks,
Tom

I've also tried listing platform applications but I get the same result.
aws sns --endpoint-url http://localhost:9911 list-platform-applications --region foo
Unable to parse response (syntax error: line 1, column 0), invalid XML received:
b'Hello, Akka'

After reading through this repository I can't find any mention of platform applications so I'm closing this issue.
For anyone who stumbles upon this, I ended up using https://github.com/spulec/moto to mock AWS SNS. There were plenty of containers available for this on Docker Hub.


Better documentation

Can we host a better documentation and demo for quick and better understanding of feature. Let me know if you need my help.

Yes it could be great

I'm new to React. I finally have my head wrapped around the Context API. react-waterfall seems to borrow heavily from Redux requiring that I have a master's degree in Redux before I can even attempt to try to use react-waterfall. Documentation is sparse right now, but I like what I've read so far -- but without better docs practical implementation is beyond my understanding.

Don't hesitate to open an issue exposing what you want to achieve and you'll probably find help ;)


Use measureLayout to calculate scrolling

Details

Partially reverts https://github.com/Expensify/App/pull/12954
Use measureLayout to find out where to scroll to

Fixed Issues
$ https://github.com/Expensify/App/issues/13401
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests

Login in New Dot
Go to Settings > Payments
Click "Add payment method" and select "Debit card"
Click "Save" without entering any data
Verify that all inputs have errors
if you are in web or desktop, resize the window enough to have scrolling in the RHN:

Scroll down and click "fix the errors"
Verify that the first input gets focused and you are scrolled until it is fully visible (including the top border)
Input something in the first input "Name on card"
Scroll down and click again "fix the errors"
Verify that the second input gets focused and you are scrolled until it is fully visible (including the top border)
Go back to the Settings > Payments page
Click "Add payment method" and select "Bank account"
Verify that the spinner is in the middle and not in the top

[x] Verify that no errors appear in the JS console

Offline tests
N/A
QA Steps

Login in New Dot
Go to Settings > Payments
Click "Add payment method" and select "Debit card"
Click "Save" without entering any data
Verify that all inputs have errors
if you are in web or desktop, resize the window enough to have scrolling in the RHN:

Scroll down and click "fix the errors"
Verify that the first input gets focused and you are scrolled until it is fully visible (including the top border)
Input something in the first input "Name on card"
Scroll down and click again "fix the errors"
Verify that the second input gets focused and you are scrolled until it is fully visible (including the top border)
Go back to the Settings > Payments page
Click "Add payment method" and select "Bank account"
Verify that the spinner is in the middle and not in the top

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/87341702/206822933-83c9b42f-3e02-4fc7-9b6f-1caa67bf859a.mov

Mobile Web - Chrome
https://user-images.githubusercontent.com/87341702/206822921-a4808d34-e4d1-4123-9da2-5d929dabb12f.mov

Mobile Web - Safari
https://user-images.githubusercontent.com/87341702/206822914-2ce6dfc8-2093-4f1a-a6af-69b9c5609df9.mov

Desktop
https://user-images.githubusercontent.com/87341702/206822908-19eb4d1f-9a65-4636-9574-ca9d000d224f.mov

iOS
https://user-images.githubusercontent.com/87341702/206822900-5f2796bf-99d5-475d-bd8d-bb7ffa694b95.mov

Android
https://user-images.githubusercontent.com/87341702/206822887-a47dc14e-2c3f-49d9-8617-fee2f5cba49d.mov

cc @Gonals

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/83179295/207024036-95ca7a5a-cfde-4387-86f3-6ae5b6fe25d7.mov

Mobile Web - Chrome
https://user-images.githubusercontent.com/83179295/207024070-2c64f699-399c-462c-9cd6-dc3f49a03797.mov

Mobile Web - Safari
https://user-images.githubusercontent.com/83179295/207024096-eea790d6-0c79-4216-934d-e127d51fbc13.mov

Desktop
https://user-images.githubusercontent.com/83179295/207024175-0e02f6ea-2ac5-4c69-be2f-f3fd31953e04.mov

iOS
https://user-images.githubusercontent.com/83179295/207024189-66a68e67-4166-4938-a744-6513997d0091.mov

Android
https://user-images.githubusercontent.com/83179295/207024204-ace40284-d0a8-4274-a7a8-7be5384dcb13.mov

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to production by @chiragsalian in version: 1.2.39-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Bump Lombok version

Fixes https://github.com/PacktPublishing/Building-Big-Data-Pipelines-with-Apache-Beam/issues/23

Thanks!


[26.x][WFLY-16847] Upgrade Eclipse Yasson to 1.0.11/2.0.4

Fixes https://issues.redhat.com/browse/WFLY-16847
Upstream https://github.com/wildfly/wildfly/pull/15953

Please find all links to release notes, git tags, github-diff in the Jira.


I can not find the config.json for genius

If i cd into /usr/local/lib/node_modules/spotify-cli-mac/
it just says: No such file or directory

Nevermind, I found it!
It was here ~/.npm-packages/lib/node_modules/spotify-cli-mac


Crashes after making property optional

Goals
Hi,
we wanted to make a property optional and are experiencing some crashes.
We had a NSDate property non optional for a long time like this:
public dynamic var dateSaved: NSDate = NSDate(timeIntervalSince1970: 0)
and now we made it optional like this:
public dynamic var dateSaved: NSDate?
Usually this should work without any problems, just bump the schemaVersion and add an empty migration block.
Here was the first hurdle we had to add a migration since it was crashing. So we added the following migration.
Code Sample
if oldSchemaVersion < 13 {
  migration.enumerate(Post.className()) { oldObject, newObject in
    if let oldDateSaved = oldObject?["dateSaved"] as? NSDate {
       newObject?["dateSaved"] = oldDateSaved.timeIntervalSince1970 > 0 ? oldDateSaved : nil
    }
  }
}

Everything seemed fine. Migration worked.
Actual Results
Now in the release we have some crashes that we can not reproduce.
It crashes on this line:
if let oldDateSaved = oldObject?["dateSaved"] as? NSDate {
With this error:
Fatal Exception: RLMException
Invalid property name dateSaved for class Post.
Stack Trace
Fatal Exception: RLMException
0  CoreFoundation                 0x180ed2db0 __exceptionPreprocess
1  libobjc.A.dylib                0x180537f80 objc_exception_throw
2  Realm                          0x100d67bc8 RLMValidatedGetProperty (RLMAccessor.mm:864)
3  RealmSwift                     0x100a327fc specialized Object.subscript.getter (Object.swift:186)
4  RealmSwift                     0x100a2fa30 Object.subscript.getter (Object.swift:182)
5  StylightKit2                   0x10111c15c static StylightKit.(runRealmMigrations(Migration, oldSchemaVersion : UInt64) -> ()).(closure #15) (StylightKit+RealmMigrations.swift:172)
6  Realm                          0x100d77458 -[RLMMigration enumerateObjects:block:] (RLMMigration.mm:82)
7  RealmSwift                     0x100a2e754 Migration.enumerate(String, (oldObject : DynamicObject?, newObject : DynamicObject?) -> ()) -> () (Migration.swift:113)
8  StylightKit2                   0x1010e3f00 specialized thunk (StylightKit.swift:42)
9  RealmSwift                     0x100a2f07c thunk (Migration.swift)
10 RealmSwift                     0x100a2f07c thunk (Migration.swift)
11 Realm                          0x100d777d0 -[RLMMigration execute:] (RLMMigration.mm:111)
12 Realm                          0x100debe08 std::__1::__function::__func<+[RLMRealm realmWithConfiguration:error:]::$_0, std::__1::allocator<+[RLMRealm realmWithConfiguration:error:]::$_0>, void (std::__1::shared_ptr<realm::Realm>, std::__1::shared_ptr<realm::Realm>)>::operator()(std::__1::shared_ptr<realm::Realm>&&, std::__1::shared_ptr<realm::Realm>&&) (RLMRealm.mm:313)
13 Realm                          0x100dfaf98 std::__1::__function::__func<realm::Realm::update_schema(std::__1::unique_ptr<realm::Schema, std::__1::default_delete<realm::Schema> >, unsigned long long)::$_0, std::__1::allocator<realm::Realm::update_schema(std::__1::unique_ptr<realm::Schema, std::__1::default_delete<realm::Schema> >, unsigned long long)::$_0>, void (realm::Group*, realm::Schema&)>::operator()(realm::Group*&&, realm::Schema&) (shared_realm.cpp:272)
14 Realm                          0x100d3ee40 std::__1::function<void (realm::Group*, realm::Schema&)>::operator()(realm::Group*, realm::Schema&) const (functional:1817)
15 Realm                          0x100d4ed50 realm::ObjectStore::update_realm_with_schema(realm::Group*, realm::Schema const&, unsigned long long, realm::Schema&, std::__1::function<void (realm::Group*, realm::Schema&)>) (vector:441)
16 Realm                          0x100df9e00 realm::Realm::update_schema(std::__1::unique_ptr<realm::Schema, std::__1::default_delete<realm::Schema> >, unsigned long long) (functional:1766)
17 Realm                          0x100de96a8 +[RLMRealm realmWithConfiguration:error:] (memory:2712)
18 RealmSwift                     0x100a3f910 Realm.__allocating_init() throws -> Realm (Realm.swift)
19 StylightKit2                   0x101121374 static OverviewPost.(get(input : OverviewPost.InputParameters) -> Promise<Output<Int>, Request>).(closure #2).(closure #1) (OverviewPost.swift:84)
20 Alamofire                      0x1013a0974 partial apply for thunk (ResponseSerialization.swift)
21 Alamofire                      0x1013a35f0 specialized Request.(response<A where ...> (queue : OS_dispatch_queue?, responseSerializer : A, completionHandler : (Response<A.SerializedObject, A.ErrorObject>) -> ()) -> Self).(closure #1).(closure #1) (ResponseSerialization.swift)
22 libdispatch.dylib              0x18091d4bc _dispatch_call_block_and_release
23 libdispatch.dylib              0x18091d47c _dispatch_client_callout
24 libdispatch.dylib              0x180922b84 _dispatch_main_queue_callback_4CF
25 CoreFoundation                 0x180e88d50 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
26 CoreFoundation                 0x180e86bb8 __CFRunLoopRun
27 CoreFoundation                 0x180db0c50 CFRunLoopRunSpecific
28 GraphicsServices               0x182698088 GSEventRunModal
29 UIKit                          0x18609a088 UIApplicationMain
30 Stylight                       0x1000f2fd8 main (main.swift:12)
31 libdispatch.dylib              0x18094e8b8 (Missing)

Version of Realm and Tooling
Realm version: v1.0.0
Xcode version: 7.3.1
Dependency manager: carthage

Hey Bernhard, sorry that I didn't got back to you earlier, missed that you filed an issue over here.

Usually this should work without any problems, just bump the schemaVersion and add an empty migration block.
Here was the first hurdle we had to add a migration since it was crashing. So we added the following migration.

That's true. How was it crashing for you? How were you testing the migration?

Coming to the problem you're seeing with the deployed version: Did you added dateSaved as a property and users could be stuck on an older version which don't have that property yet in their schemas? Because in such a case you would get that error on an attempt to access a non-existing property.
So if you still know or can figure out with which version, you introduced that property, then you can just make sure that this migration enumerations only objects of schemas which have this property already.
if (5...13).contains(oldSchemaVersion) {
  migration.enumerate(Post.className()) { oldObject, newObject in
    if let oldDateSaved = oldObject?["dateSaved"] as? NSDate {
       newObject?["dateSaved"] = oldDateSaved.timeIntervalSince1970 > 0 ? oldDateSaved : nil
    }
  }
}

Alternatively you can dynamically check the oldObject.objectSchema to figure out whether that property already exists. This could look then like below:
if oldSchemaVersion < 13 {
  migration.enumerate(Post.className()) { oldObject, newObject in
    guard let _ = oldObject?.objectSchema["dateSaved"] else {
       newObject?["dateSaved"] = nil
       return
    }
    if let oldDateSaved = oldObject?["dateSaved"] as? NSDate {
       newObject?["dateSaved"] = oldDateSaved.timeIntervalSince1970 > 0 ? oldDateSaved : nil
    }
  }
}

We test migration with running the tests of our api communication framwork with the old version on the simulator and then run the tests for new new version.
We of course also test it in the app then with updating the app from the old version to the new version.
dateSaved was added more then 1,5 years ago and we also have a migration when we introduced it (never had problems so far)
Just to be sure we changed our migration to this:
if oldSchemaVersion < 14 {
  migration.enumerate(Post.className()) { oldObject, newObject in
    if oldObject?.objectSchema.properties.filter({ $0.name == "dateSaved" }).count != 0 {
      if let oldDateSaved = oldObject?["dateSaved"] as? NSDate {
        newObject?["dateSaved"] = oldDateSaved.timeIntervalSince1970 > 0 ? oldDateSaved : nil
      }
    }
  }
}

We do not see any crashes right now but it looks like we are stuck in migration somewhere.
Isn't there a way to delete the realm if the migration goes wrong or something like this?

We do not see any crashes right now but it looks like we are stuck in migration somewhere.

Could you elaborate what you mean by the latter part?

Isn't there a way to delete the realm if the migration goes wrong or something like this?

There is deleteRealmIfMigrationNeeded, which you can use e.g. if you only store cached data in the Realm and don't want to care about migrations at all. But it wouldn't run the migration, so it's likely not what you're looking for. As long as you're migrating you shouldn't delete the Realm file as it is open.
Could you reproduce any of the errors you describe locally? If so, you're more than welcome to share more info.

@BObereder hi, just following up on @mrackwitz's last comment. We'd love to help.

Closing since we haven't heard back from @BObereder in a while.


Feature/bun typescript

Added bun instead of node, npm
Did not refactor to typescript

added bun framework


updated badges [ci skip]

Can't merge this, button gray :(

Travis seems to have gotten stuck, but since this is skip ci anyway, I'll merge anyway.


Owner role and data actions

Owner role definition has * in Actions and nothing in DataActions. Does that mean Owner role does not have any data actions permissions? But being owner I can read, delete, add blobs in containers. Wouldn't that be considered data actions?

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

ID: 99581afb-7950-6daa-7227-055d04446b7e
Version Independent ID: f1a5bf89-9e54-aede-3a9a-70788a95927b
Content: Built-in roles for Azure resources
Content Source: articles/role-based-access-control/built-in-roles.md
Service: role-based-access-control
GitHub Login: @rolyon
Microsoft Alias: rolyon

Thank you for your feedback, currently we're looking into this issue and will get back to you as soon as possible,
@maya-cnx

Hey @maya-cnx thanks for your question I would suggest taking a look into this documentation as it actually explains the owner role scenario you're describing exactly.
https://docs.microsoft.com/en-us/azure/role-based-access-control/role-definitions#data-operations-example
Please let us know if you have anymore questions, if not I will be closing this github issue by end of day today. Thanks,

Frank
Assignees
@FrankHu-MSFT FrankHu-MSFT

Labels
Pri1
cxp
product-question
role-based-access-control/svc
triaged
Projects
Milestone
Notifications
Customize
You’re receiving notifications because you’re watching this repository.
3 participants
@maya-cnx
@FrankHu-MSFT
@PRMerger15
Lock conversation
Transfer issue
Terms

While storage blob access does not work with AD login. Owner can still do all data actions with Access key authentication.
https://docs.microsoft.com/en-us/azure/storage/common/storage-access-blobs-queues-portal?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json#permissions-needed-to-access-blob-or-queue-data
That was the confusing part about data actions permission available to an Owner role.

hey @maya-cnx  i'm not sure where the confusion is. Can you please take a look at the table below and let me know if that clears up the confusion?

So I am the user Alice with owner role in subscription. I could login to Azure portal. Go into a storage account created by another user, open the container and download/upload/delete a blob inside it. That was because I had

Authentication Method: Access Key.
This means if I have Microsoft.Storage/storageAccounts/listkeys/action, which I do as Owner, I can perform blob operations. So there is a way for Owners to use this authentication mode in Azure portal and access all blobs?

Yes, but that is a different method of access. I understand that this workaround may make it a moot point as you will still be able to get access to the blobs. I'll look into this further to see if this feature is intended or not.
Thanks!

Any update on this question?

hey @maya-cnx we're still looking into this and will update accordingly, thank you for your patience.


fix golint path.

as title

Codecov Report

Merging #131 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #131   +/-   ##
=======================================
  Coverage   33.54%   33.54%
=======================================
  Files          25       25
  Lines        1407     1407
=======================================
  Hits          472      472
  Misses        862      862
  Partials       73       73

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 6ef79e8...9e6562b. Read the comment docs.


Last Day of the Month in Zonal Statistics

Environment Information

geemap version: 0.8.17
Python version: 3.8.8
Operating System: Windows 10

Description
Hello,
I think it is a simple issue. When I try to obtain zonal statistics for a whole month, the file created does not have the last day of the month. I tried it with two different bands of 'ECMWF/ERA5/DAILY'. For example, when I run the following code:
countries = ee.FeatureCollection("USDOS/LSIB/2017")
era5_2mt = ee.ImageCollection('ECMWF/ERA5/DAILY').filter(ee.Filter.date('1991-01-01','1991-01-31')).select('mean_2m_air_temperature')
out_landstat_stats = os.path.join(out_dir, 'myData.csv')
geemap.zonal_statistics(era5_2mt, countries, out_landstat_stats, statisitcs_type='MEAN', scale = 1000)
the csv file contains all days expect day 31 of January. When I run the same code for April (ee.Filter.date('1991-04-01','1991-04-30')), the csv file contains all days except day 30 of April. If I only filter those specific days that are not contained in the files (for example, ee.Filter.date('1991-01-31')), I can get information regarding the days. In other words, data for those days exists and can be acquired.
Thank you very much for this amazing package. It is extremely useful and easy to use.
Regards,
Berkay

This is not a bug of geemap. It is the problem of your ee.Filter.date(). Keep in mind that the end data is exclusive. You need to use ee.Filter.date('1991-01-01','1991-02-01') if you want to include '1991-01-31'
https://developers.google.com/earth-engine/apidocs/ee-filter-date

Thank you very much, and sorry for the confusion.


Batch send message optimization

At present, rocketmq supports sending messages in batches, but the restriction must be the same topic and sent to the same queue. There may be obstacles to some more advanced usage. For example, when implementing high-precision delayed messages, whether plug-in or built-in delayed message components, when the message needs to be reproduced at the point of arrival, the messages of multiple topics / queues cannot be processed in batch at one time, resulting in low throughput.
Can this restriction be removed? Messages sent in a batch contain data from multiple topics and queues.

At present, rocketmq supports sending messages in batches, but the restriction must be the same topic and sent to the same queue. There may be obstacles to some more advanced usage. For example, when implementing high-precision delayed messages, whether plug-in or built-in delayed message components, when the message needs to be reproduced at the point of arrival, the messages of multiple topics / queues cannot be processed in batch at one time, resulting in low throughput.
Can this restriction be removed? Messages sent in a batch contain data from multiple topics and queues.

Finding topic route info is a challenge in multi topics case. If these topics have not been created on the same broker, it will failed.