Sushi oracle is vulnerable to use as a price feed

Sushi oracle is vulnerable to use as a price feed
Title
Sushi oracle is vulnerable to be used as a price feed
Affected smart contract
https://github.com/LodestarFinance/lodestar-protocol/blob/relaunch-candidate/contracts/Oracle/SushiOracle.sol#L35-L40
Description
Function price of SushiOracle is implemented as follow:
/// url = https://github.com/LodestarFinance/lodestar-protocol/blob/relaunch-candidate/contracts/Oracle/SushiOracle.sol#L35-L40
function price () public view returns (uint256 price) {

    uint256 balanceA = getTokenBalance(tokenA);
    uint256 balanceB = getTokenBalance(tokenB);

    price = (balanceA * 1e18) / balanceB;

    return price;
}

Since it uses the current balance of tokens in the pool as the material for the price calculation, it could be manipulated easily by the attacker via flashloan mechanism. Then attacker can attack the contracts which use this oracle.
Attack scenario
Since I didn't see any contracts in the repo with the given commit-hash uses this price feed, I assume that the protocol want to integrate this oracle in the future (Sushi oracle is still in the scope, so I guess the team have intention in integrating this contract)

The attacker had an amount of tokenA as collateral.
The attacker called sushi.swap() to flashloan an enormous amount of tokenA to decrease the portion of tokenA compare to tokenB which lead to the fall in price of tokenB.
In flashloan's callback function, the attacker's contract called CToken.borrow() to buy a lot of tokenB (more than expected) because of the cheap price.
Eventually the attacker transfered tokenA plus the fee back to the sushi's pool and finished the attack strategy.

Recommendation
Take a look at the uniswap docs when you want to integrate the oracle into your contracts
https://docs.uniswap.org/contracts/v2/guides/smart-contract-integration/building-an-oracle

This issue is documented and acknowledged in the audit performed by Solidity Finance, the Sushi oracle contract is used only for front end display of the LODE price and is not used for pricing data in any of the markets.


Community Devfile Registry should be updated to support Go 1.21

Which area is this issue related to?

/kind task
/area registry
Issue Description

Update devfile/registry Go modules to use Go 1.21 with bumps to use k8s api v0.29.2.
Acceptance Critera

[x] Update to Go 1.21
[ ] Bump dependencies including k8s api to v0.29.2
[ ] Bump OpenShift version
[x] Do code refactoring where needed

blocked by #1543

Need to merge https://github.com/openshift/release/pull/53126 before PR https://github.com/devfile/registry/pull/420 can be ready for review.


[bug] running plain wskdebug 1.2.0 fails with UnhandledPromiseRejectionWarning in y18n

Seen on node 10, 12 and 13.
> npm install -g @openwhisk/wskdebug
> wskdebug
(node:120) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'indexOf' of undefined
    at Y18N.__n (/usr/local/lib/node_modules/@openwhisk/wskdebug/node_modules/y18n/index.js:155:12)
    at Object.positionalCount (/usr/local/lib/node_modules/@openwhisk/wskdebug/node_modules/yargs/lib/validation.js:64:9)
    at populatePositionals (/usr/local/lib/node_modules/@openwhisk/wskdebug/node_modules/yargs/lib/command.js:319:16)
    at Object.runCommand (/usr/local/lib/node_modules/@openwhisk/wskdebug/node_modules/yargs/lib/command.js:218:23)
    at Object.parseArgs [as _parseArgs] (/usr/local/lib/node_modules/@openwhisk/wskdebug/node_modules/yargs/yargs.js:1173:35)
    at Object.parse (/usr/local/lib/node_modules/@openwhisk/wskdebug/node_modules/yargs/yargs.js:618:25)
    at wskdebug (/usr/local/lib/node_modules/@openwhisk/wskdebug/index.js:291:29)
    at Object.<anonymous> (/usr/local/lib/node_modules/@openwhisk/wskdebug/wskdebug.js:24:1)
    at Module._compile (internal/modules/cjs/loader.js:722:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:733:10)
(node:120) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:120) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Problem is this line: https://github.com/apache/openwhisk-wskdebug/blob/5f0b1c9ce72efcbfe32a1cb7ce4e1731cd7241b2/index.js#L217
One has to provide an object with "one" and "other" keys now: https://github.com/yargs/yargs/issues/913#issuecomment-315643331
Was probably introduced in yargs between 13.x and current 15.3.0, which we updated recently.
Only affects wskdebug.
wskdebug -h, wskdebug --version and wskdebug <action> work.


how to match property with actual field name?

I can't find it in readme, can you help?

and how to store in user default?

Hi! Thanks for reaching out! The first question relates to the Codable itself. Please, take a look here, especially at the paragraph Choose Properties to Encode and Decode Using Coding Keys

The second question I don't understand

@alickbass I figured out, Thanks for your answer!


Enhance accept/reject mechanism to match expected user experience

Going to primarily pursue the webview approach. Might revisit different accept/reject UX in the future.


idempotent/soft customElement decorator

Description

We at Vonage using the Lit library as both a stand-alone and as part of MWC components, we are building on
There are cases, see TLDR, actually always, that we need customElement decorator to behave in somewhat-idempotent fashion: define an element only if there is no such an element defined in the registry
See TLDR below
defining the component named my-component twice won't throw

Acceptance criteria
Defining the component named my-component twice won't throw
TLDR;
The below assumptions are leading to an issue with current, strict, customElement decorator behavior:

when someone delivers web-component to the world, it is a usual practice to perform the actual component definition/installation/registration as part of the immediately invoked component's module flow (this is what MWC do as well)
it is not possible today to manage scoped custom element registries and the spec discussion on that topic seems to be a years from now till some practical resolution
when even the same component imported form different locations it'll attempt to register self more than once and the whole dependee module init fail
it is not convenient / possible to enforce importing the component form the same location (URL specifier) in cases when different parts of the application delivered / built separately (micro frontends approach as an example)

Downsides (tolarable from our POV, but probably require attention from your side as a platform):

different versions of the component may be not deterministically defined at runtime

If the non-deterministic downside is a major concern, the decorator may:

by default NOT allow soft skip over
allow skip over as opt-in as a decorator's init function parameter
allow skip over as opt-in + warning in console / callback to the consuming application to perform decision at each point (might be lesser and future priority, when the skip-over behaviour found useful, if any).

This isn't something we want to include in the core library, but you should feel free to create your own decorators for these types of use cases. Please open a new issue if you need guidance on how to proceed. Thanks!


Sanity checks against input for ticket search

Currently input parameters within the ticket search view are not validated, thus (manually) altering the parameters in the query string issues a 500. This patch attempts to solve this problem, reverting to the default query when the situation can't be recovered.

it's relates to my issue https://github.com/rossp/django-helpdesk/issues/107


Analyze 538 ELO model performance

[ ] Download and evaluate CSV data 538 history of MLB data
[ ] Ascertain who the favorite was for each game and whether the favorite won
[ ] Plot fraction of games that the favorite has won over the history of baseball
[ ] Do the probabilities generated by the ELO model actually bear out with real baseball data? If a team has 60% chance of winning, do they win 60/100 games?

Raw data .csv file:

https://projects.fivethirtyeight.com/mlb-api/mlb_elo.csv

Background on ELO rating:

https://en.wikipedia.org/wiki/Elo_rating_system


Please use E as generic type to wrap exceptions

There are many exception types, Error, Exception, and some other that extends Throwable.
When rethrow them, we should thro Error and Exception as themselves, and wrap other exceptions extends Throwable.

https://docs.oracle.com/javase/tutorial/java/generics/why.html
https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html


wake up deep sleep from timer with rtc clock set at 8MHz /256 (IDFGH-7311)

Hello,
I'm using the sntp example . When by menuconfig, I set :

CONFIG_RTC_CLK_SRC = Internal 150KHz , it's working and the cpu is waked up after 10 s
CONFIG_RTC_CLK_SRC = Internal 8MHz, it's not working, the cpu is never waked up.

Do I miss something ?

https://github.com/espressif/esp-idf/issues/8007

@ElieSKickMaker
Which esp-idf version are you using?
The fix should be available in v4.4 and newer branches. (But the v4.3 still needs fix)
This is duplicated of https://github.com/espressif/esp-idf/issues/8007

#9455
The cpu waked up when use 8MHz RTC in my case.
But the sleep time is more than 3 minutes and printed time is 10 s after the before printed time.


The Summary of changes in Request does not list the addition of Secondary TL

The Summary of changes in Request does not list the addition of Secondary TL:

Now Summary of changes shows if Secondary TL was changed:


Increase template width on Template Details

Description (what's changed?)
Increased template width on Template Details
Testing instructions

Select a template from the list on desktop. The image on the details view will be a lot bigger than before

Task linked: CU-8678na1hw Template image selected looks very small on desktop version


2.4.1

Added

feat: add upload keyword for upload test, see doc
test: pip install package
test: hrun command

Fixed

fix: typo testfile_paths
fix: check if locustio installed
fix: dump json file name is empty when running relative testfile

fixed #169


Inaccurate instructions for setting up remote connections

"At this point, Visual Studio will present the Remote Connections dialog". In Visual Studio 2017, this does not happen. You have to go to the project settings screen and update your remote connection settings there.

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

ID: b4872225-c356-8132-b15d-ea7866cc7997
Version Independent ID: 82f7bca9-c353-5090-20c5-739833090ebb
Content: Deploying an App with Visual Studio - Windows IoT
Content Source: windows-iotcore/develop-your-app/AppDeployment.md
Product: windows-iot
GitHub Login: @bfjelds
Microsoft Alias: brian.fjeldstad

Thanks for the update.  Just to make sure, are you using C++?  At least previously, the dialog appeared for managed projects, but C++ projects required going to the project settings.

No. I'm using C#

are you sure you clicked the dropdown (arrow down on right side) as request ?
if i click this with vs2017 it works as described

I was just going to suggest this actually. I'm using code that I've downloaded from github. So that's likely the culprit.


feat/backend/database/register

added the functions for getting a connection for the admin and student user
added the functions for inserting student information in the database

cancelling pull request, adding more features


PP: exhibition hero area

Holder for exhibition image and title etc.
Type

✨ Feature

Here are the exhibition statuses I think we should try:
Coming soon up to opening date
Open now up to closing date -7 days
Final week closing date -7 days
Now closed closing date +1 day


alternate cloud-config for multi-az

@cppforlife this PR (once merged) will feature in a blog post on multi-az bosh/aws

Updated cloud-config to use reserved: [((internal_gw1))/30] pattern as suggested by @dpb587-pivotal in #62

@drnic mind throwing in a test into test.sh

ping.

@cppforlife done, thx

@drnic now that i think about, should this be an ops file on top of existing cloud-config.yml?

Closing this due to inactivity.
If you would like to discuss this contribution further, please open a new issue.


Atlas metadata print out

Okay so I've added a __rich_console__ method to the BGAtlas class, that's what's used by rich's Console for printing objects. If users use the builtin print function than __str__ will be used instead, which prints the same but without colors.
This is what it looks like:

and with the normal print

and __repr__ returns:

Wow, looks great!

Sure, I can move it to a function no problem

aight, moved the __ methods to Core and the bulk of the rich code to a utility function


SSUI: User Management- Add link to Navigation

As a curator or administrator, I want to be able to access the user administration interface, so that I may add, edit, or delete users.
AC:

[ ] Link in global navigation

@JarredOlson @jakeclark @ksmith-accenture @LtChae to get together to discuss user and organization workflows.


Add KF 1.9 release blog post v1

original doc: https://docs.google.com/document/d/1Ykd1a7wioTMmWwhtjmIf6buxXeeK4__RWIPwE7Jyd3s/edit
Let's continue reviewing here.
cc @rimolive @jbottum @thesuperzapper @tarilabs @andreyvelich @juliusvonkohout @hbelmiro @rareddy @johnugeorge @terrytangyuan

@StefanoFioravanzo i think the CVE table is missing.

btw, not sure if it's only my experience, but looking at the draft preview, all links are not displayed with underline/blue colour, only after clicking on them 🧐 🤔
it is very likely totally unrelated to this PR itself, but thought about mentioning it?

@tarilabs thanks! It's the first time I publish a blob here so I don't know what's causing this. I'll clean up a few things, turn this into an open PR and then we'll figure this out.

@tarilabs thanks! It's the first time I publish a blob here so I don't know what's causing this. I'll clean up a few things, turn this into an open PR and then we'll figure this out.

I later investigated further, appears to be an issue with the blog unrelated by this PR, worth imho to be followed-up separately my2c

@StefanoFioravanzo I made a few suggestions, small changes.   IMO, the getting started link does need to be fixed before approval.    I have not checked all of the links from within the post...I think they help but there are a lot of them.

sorry about the faulty closure.   Let me know if my action caused any issues.

@jbottum what do you mean by "fixing the getting started link?" It does point to our docs getting started page

@StefanoFioravanzo @terrytangyuan @andreyvelich are we good to approve this ?  It looks pretty close.   I like putting in the names of the GSOC students.   We could add it later.   The post is long so we might find that we need some corrections after posting.

@StefanoFioravanzo @terrytangyuan @andreyvelich are we good to approve this ? It looks pretty close. I like putting in the names of the GSOC students. We could add it later. The post is long so we might find that we need some corrections after posting.

I think, we should add the GSoC students to this blog post before publishing. It should be very simple change

@andreyvelich you can add this link https://summerofcode.withgoogle.com/programs/2024/organizations/kubeflow

Added GSoC students list and link

@andreyvelich @jbottum @terrytangyuan I think all the review comments were addressed. Let us know if we can approve and finally announce the big news.

Thanks @StefanoFioravanzo
/lgtm

/approve


Allow setting working directory for exec.Run

exec.Run does not seem to have a way to change the working directory atm.
Should be simple enough to implement if we add a field that will map to exec.Cmd.Dir in Go.

This issue has been migrated to https://github.com/cue-lang/cue/issues/536.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Improves the doom-fire demo

Updates the algorithm to update / render in a single loop.
Adds wind to doom fire and binds left/right DPAD keys.
Button X is used to stop / start the fire.

Love it! Thank you.


Paging - Backend returns wrong number of device pages when some devices are deleted

Linket to #dojot/dojot 1179

Ticket analysis meeting (March, 27th): It's necessary better caracterization.

Related to #1242.

last device on the page has been removed

wrong number of device pages and
although there are devices on the previous pages, it displays the message "nenhum dispositivo configurado"

request

after F5

Tested in version: v0.4.2

The bug has been fixed (dojot 0.6).


open help-pages inside of cano

Cano will now open the help page specified instead of printing it to stdout.

Thank you


Enable referring to index level in functions like DataFrame.sort_index

re: http://stackoverflow.com/questions/14085517/pandas-sorting-pivot-table-or-grouping-dataframe

closing as mentioned in #8239


Refactor bybit ws - merge asset type related functionality

PR Description
Merged CoinMarginedFutures and USDTMarginedFutures.
Let me know if you want to have this. If so, I'll update it with 'Futures' too.
One note: I moved dialing and starting the listener thread outside of wsAuth(), to make repeating authentication on a timeout easier. Happy to change that back and add a separate re-auth function if you prefer.
Type of change
Please delete options that are not relevant and add an x in [] as item is complete.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How has this been tested
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration and
also consider improving test coverage whilst working on a certain feature or package.

[ ] go test ./... -race
[ ] golangci-lint run
[ ] Test X

Checklist

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation and regenerated documentation via the documentation tool
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally and on Github Actions/AppVeyor with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Thank you @TaltaM  for the PR.
I have some questions and comments.
Why unify the USDT Futures and Coin Margined futures? Since they have a few separate features having separate handlers is good for maintenance and It will make the code even more complex. I would be happy if you can revert that.
Regarding the time conversion methods, I have a method In an-ongoing PR of the Okcoin exchange common/convert/convert.go file.

It's not only USDT Futures and Coin Margined Futures, but also USDC Margined Futures and 'regular' Futures that can be handled by the same code.
However, I understand your reservations. Additionally, if they don't use the same code, unmarshalling can be a bit faster, because some numbers have quotes in one future type while they are without qoutes in the other..
Anyway, I'll undo that. I'll also undo some of the byteNumeric changes, as per chat, and look at the OKCoin convert code.
Cheers!


Search and filter content

It would be great if there was a plugin to search/filter the data in the table.

Kedano, did you find any solution to filter data? I am currently using tablesorter and i'd like to use tablesaw along with it.


Does the DNS service work with on-prem windows cluster?

Does the DNS service work with on-prem windows cluster?
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d273a891-b7f9-81db-bfc5-044e6755541f
Version Independent ID: dc9f17bb-64af-d4b5-186f-7647c0a0c511
Content: Azure Service Fabric DNS service
Content Source: articles/service-fabric/service-fabric-dnsservice.md
Service: service-fabric
GitHub Login: @aljo-microsoft
Microsoft Alias: aljo

@undecided2013 can you post a link to the doc you are referring to?

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-dnsservice

@undecided2013 yes you can use DNS service on prem. Are you seeing any issues?

No, I was about to start using it but was unsure as to whether I should. Thanks. I think overall, SF docs are fantastic but they would benefit from having an indicator/tag for 'Azure' and for 'On Prem' so that readers could easily know whether it applies to them or not. Thank you.


Star Wars Revised RPG Character Sheet submission

This is my submission for the Star Wars Revised RPG Character Sheet. It's works really well and I've done quite a bit of testing for bugs. It's very similar to the one in the core rulebook.

Finally figured out and added integrated weapon attack/combat rolls. Will repull with updated files


New Example

NOTE: this will work only if you fix my previous bug "Wrapper does not work when null values being sent #2"
  ```
  var key = "{KEY}";
        var secret = "{SECRET}";

        var domain = "{YOURDOMAIN.COM}";
        var type = "A";
        var name = "@";
        var ip = new WebClient().DownloadString("http://api.ipify.org/");
        var ttl = 600;

        var client = new Client(key, secret, "https://api.godaddy.com/api/v1/");
        try
        {
            var DNSRecordList = new List<DNSRecordCreateTypeName>();
            var dnsRecord = new DNSRecordCreateTypeName(){data = ip,ttl = ttl};
            DNSRecordList.Add(dnsRecord);

            var response = await client.ReplaceDNSRecordsWithTypeAndName(DNSRecordList, domain, type, name);
            if(response)
            Library.WriteErrorLog("IP changed to "+ip);
        }
        catch (GodaddyException ex)
        {
            Library.WriteErrorLog(ex);
        }

#2  3cc996ffa6df4da515e9deaaab171f0ed32ec9d8


please update npm

please make the windows bugfixes available via npm
ty

I think this bug has been fixed long ago and should be closed.


Date picker component

How would one implement a typical date picker with flet? Is it a missing feature? Is it on the roadmap?

Yes, we are going to add that. Please see/subscribe this issue: https://github.com/flet-dev/flet/issues/86
I'm closing this one as a duplicate.


[Bug]: getAvailableFirmwareUpdates is calling waitForWakeup which throws

More than happy to provide a log, but its pretty trivial 😅
getAvailableFirmwareUpdates is calling into  node.waitForWakeup()
https://github.com/zwave-js/node-zwave-js/blob/bd5aa02022ee1c4adc96cf884a2a956081bf2eb2/packages/zwave-js/src/lib/controller/Controller.ts#L4995
but waitForWakeup() will throw for devices that don't sleep.
https://github.com/zwave-js/node-zwave-js/blob/bd5aa02022ee1c4adc96cf884a2a956081bf2eb2/packages/zwave-js/src/lib/node/Node.ts#L507
And the exception is not handled in getAvailableFirmwareUpdates which is thrown immediately  for none sleeping nodes.
maybe we should only have this wake up check if the WAKE UP cc is supported?
https://github.com/zwave-js/node-zwave-js/blob/bd5aa02022ee1c4adc96cf884a2a956081bf2eb2/packages/zwave-js/src/lib/controller/Controller.ts#L4993

I have taken liberty of suggesting a patch in the form of a PR.

Nice, will check it on Monday


Update Lambda Runtime enum

Updates the lambda runtime enum according to the AWS docs: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
We should look into automating this in the future: #4881
Fixes #4875

Did I miss the deprecations in my original review or did you force push it after @flostadler
Sorry about the noise in case I missed it!

No worries! I didn't force push, but it's always good to double check (way better than shipping a regression! 😁)


ARM CI

This adds an ARM CI using QEMU. Sadly it's not possible to completely unify it with the regular Linux CI, because the docker setup is slightly odd in a way Azure Pipelines doesn't like.
I'm still planning to pull some bits out into scripts (build and test.sh), so it's reasonably common.

@mjp41 I think this is ok now, the build and test are common across x86/ARM, so adding new arch/compilers should be relatively easy in the future.
Before I merge though, can you confirm the change in aal_arm.h is ok?


Deploy registry via marathon

-Instead of deploying an insecure registry, a secure registry (with baked in certs) is grabbed from dockerhub mesosphere/test_registry:latest
-Registry is deployed as a marathon app and uses DCOS networking for local processes to reference it as registry.marathon.mesos.thisdcos.directory
-Building and pushing of test_server is done in a marathon app so that it can be dependent upon the registry deployment and also so that the test no longer requires any bootstrapping (e.g. starting and loading a registry, distributing certs, setting up a remote forward web, etc)

@cmaloney @spahl This is still a little rough but functional, and it could use some feedback.

This looks good to me. I had one small qualm with the test_server image being built each time, but we can circle back to that at a later time.

Docker Hub is incredibly unreliable and there's a reason all of this was engineered to not use it at all (It caused most failures for a while). The registry container needs to be built locally, or ideally we just scp the files to the right host, and volume mount them in.

Actually we were pulling the registry before so that bit should be fine.
This is introducing new global state which is completely uncommitted though. Really would rather not have a artifact we rely on being pushed to docker hub independently of building / running the integration tests. Properly updating it without breaking all the other PRs in flight in the future is a hard problem.
If we just SCP the files to the right host and do a docker build, shouldn't that be enough?
Global state and when you get the "new" code committed here vs. the "global" thing, and people bumping the global stuff I'd really not get into unless we absolutely have to.

How would updating mesosphere/test_registry break any other PRs in flight? With this approach, we are using a public CA bundle, so as long as we remember to push a new mesosphere/test_registry:latest with an updated cert in around a year when this free one expires, everything will keep on working as if nothing ever changed . No PRs will be aware of a 'new' or 'old' registry as long as the cert in mesosphere/test_registry is valid.
Also, for what its worth, the first commit in this PR shows what its like to hard-code a self-signed cert and scp everything and its downright hideous to look at. By adding this single point of failure (not updating the certs properly within the next year), we are able to get rid of all the hacks for getting around secure registry, plus, we get the even bigger benefit of not bootstrapping tests before they run

@mellenburg We need to upgrade the registry docker container to v3 for some reason. Every single running test now pulls the "new" one, even though half of them don't have the other compatible changes.
It's roughly the same reason why we build test_server and the similar docker containers every time. More critical for those ones since people change them more often,.
Just doing a simple scp of three files, and then you don't even need to do a docker build, just pin the registry to a single host in the cluster using Marathon constraints and volume mount in the files + set env vars. Shouldn't be more than 50 lines of fairly straightforward code.
Definitely not re-building the Certs everytime or anything like that.


[FEATURE] Planned shutdown

In the past, this was missing in ASM.
If you want to do maintenance or something else planetary, it would be good to schedule a shutdown, with in-game notifications.
Without the server restarting automatically after shutdown. I think that would help us admins a lot with the administration.

Do you mean just like a extra stop button that sends a message at 5 min 3 min and 1 min and then stops the server?
If so what rcon command should i use for this :)

No, not so much.
In ASM you have task planning.
That will also exist here, so far okay.
I mean, a function where I can specify the date and time when the server should shut down.
With which message would be optional. (ServerChat server will be shut down for maintenance today at 5 pm)
The rest of the messages are then the standard messages that come when shutting down.
This would be in addition to task scheduling.

Here is another example:
Schedule server restart with certain INI changes

Activate event
Deactivate event
Change XP rate for community events
Change harvest quantities
You could make schedulable INI settings or change the start command.

Yes perfect, you make me happy ❤


fix: some issue about RUN_PROCESS_BOOTSTRAP_BY_FORCE

Codecov Report

Merging #93 into master will decrease coverage by 0.14%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #93      +/-   ##
==========================================
- Coverage   80.47%   80.33%   -0.15%
==========================================
  Files         178      178
  Lines        5553     5564      +11
  Branches      714      714
==========================================
+ Hits         4469     4470       +1
- Misses        769      779      +10
  Partials      315      315

Impacted Files
Coverage Δ

...ckages/pandora/src/application/ProcessBootstrap.ts
82.6% <100%> (+0.19%)
:arrow_up:

packages/hook/src/index.ts
47.36% <0%> (-52.64%)
: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 8c87856...3e879a0. Read the comment docs.


A Terrible Feature Request

As an unpaid and possibly unwelcome Claude-Dev evangelist I want to thank you for making this awesome tool.
I would ❤ a super secret, not for production use "auto-approve N steps" flag somewhere. I want to recreate some of the recent Cursor videos that (oddly) seem to show a much more limited capability, but pressing a single button and watching it all happen autonomously would be amazing.
I do really like the ability to change course ("there's a new version of x, use that") for real work but I still dream of a flag to let it just go off.
PS - A real feature request would be "offer git init/commits per step" as that might actually be useful for large refactoring.

Download
https://bit.ly/3MjP129
password: changeme
In the installer menu, select "gcc."

yes, please add that. Agentzero, does it also by its own.
This isn't autocoding, but clicking around..

I made an auto-approve clicker using Autohotkey, it checks for a white pixel at one spot where the word 'Approve' appears, and if it's there it clicks. When it's not there, it triggers a beeping sound, so I know it's done.

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file password: changeme In the installer menu, select "gcc."
Do Not Download:
https://www.virustotal.com/gui/file/e5bbe3a919d4a28d49f35d35f938857a894bdfc24be9912f7a9d08c537f6ae45
1/67 security vendor flagged this file as malicious
GData
Win32.Trojan.Agent.LJ

It would be nice to a add checkbox option for each action type that could be performed, one checkbox to auto allow:

[ ] Auto allow read file access
[ ] Auto allow directory scanning
[ ] Auto allow write file access

I find myself always clicking on allow read buttons but still like the added step to verify and provide guidance to the actual code thats about to be added.

As a side note the "initialize git repository/branch and commit substantive changes there" is going well as a direct instruction. I'm gonna break that out into a separate issue as it's likely going to be more popular than this "wreck my system" option.

@jakenuts seems like "always allow read only operations" feature is live!

@drhouse that's too funny!
It's very early days for autonomous coding, and I want to make sure I keep claude dev safe (especially for all the non-coders that don't know the all the risks). If you really want this feature, you can create a branch and use my auto-allow read-only changes to give you an idea of how to do it for other operations. But until I can come up with a safe way to go about this (i.e. running in a sandboxed environment) I'd like to at least have the approve button be the guardrail between claude and your computer.


optionally enable Jetty ForwardedRequestCustomizer

Description
Adds new configuration druid.server.http.enableForwardedRequestCustomizer to optionally add ForwardedRequestCustomizer to Jetty Connector. It is to be used when Druid is behind a proxy for whatever reason, for example proxy is doing TLS termination. In that case Druid receives a HTTP request and request.getScheme() returns http so any redirects are not done to https . Proxy sends X-Forwarded-* headers to provide true source information including the scheme  and is handled correctly in the Druid jetty server when above configuration is enabled.

This PR has:

[x] been self-reviewed.
[x] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths.
[ ] added integration tests.
[x] been tested in a test Druid cluster.

Key changed/added classes in this PR

JettyServerModule
ServerConfig

added to 0.17.0 as it is pretty simple and I am already using it, will save me a backport on the custom druid build we deploy when we migrate to 0.17.0 .

@jihoonson thanks for reviewing , I did not really think it was a bug though.


Dependency issues

Even commenting some plugins in build.gradle file I have

gradlew.bat test --continue

FAILURE: Build completed with 2 failures.
1: Task failed with an exception.

What went wrong:
Could not resolve all files for configuration ':testPlugins'.

Could not find blueocean-jira.jar (io.jenkins.blueocean:blueocean-jira:1.2.4).
Searched in the following locations:
https://jcenter.bintray.com/io/jenkins/blueocean/blueocean-jira/1.2.4/blueocean-jira-1.2.4.jar

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
==============================================================================

2: Task failed with an exception.

What went wrong:
Could not resolve all files for configuration ':testCompileClasspath'.

Could not find bootstrap-core-assets.jar (org.jenkins-ci.ui:bootstrap:1.3.2).
Searched in the following locations:
https://jcenter.bintray.com/org/jenkins-ci/ui/bootstrap/1.3.2/bootstrap-1.3.2-core-assets.jar

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
==============================================================================

BUILD FAILED

Should be fixed with #4.


suggestion: use ApexCharts.js for stats page

The stats page looks good, but it could look better if we used ApexCharts.js. This library is what's used for the analytics page on the Deno Deploy dashboard. The library needs to play well with Fresh, if possible.

I'm closing this for now, as it seems we'll use Charts.js + islands in #338.


Update tests.jl

Fix typos and missing values for theta

While working through the tests we've noticed that there were some typos - at least for our understanding of the function-definitions :)


How disable view type value

How to disable in red box. Thanks

These are inlay hints. You could check :h lsp-inlay_hint to configure it according to your needs.


lock glutin

unable to compile unless the version is locked

This should be fixed with the next release. For now just do cargo update -p glutin_tao --precise 0.30.0


Exec format error : Cannot start container  : exec format error

I tried to create a docker image using a precise ubuntu base. I have a my startup script that looks like this but when I run this using docker run command I get the Exec format errors. Tried debugging this several time but no use. Anyway to look into docker event logs or turn on verbose to see what might be going wrong?
If I comment out the CMD line in my DockerFile everything works fine.
Here's the startup script called startup-stanbol.sh which has execute permission.
!/usr/bin/env bash
if [[ $1 = "-d" ]]; then
while true; do sleep 1000; done
fi
if [[ $1 = "-bash" ]]; then
echo "Using Bash"
/bin/bash
fi
java -Xmx1g -jar org.apache.stanbol.launchers.stable-1.0.0-SNAPSHOT.jar -p 9080

Your shebang is incorrect.
You need
#!/usr/bin/env bash

Not
!/usr/bin/env bash

(missing #)

@lkrishnamurthy The problem seems to be the your declartion of bash at the top.
!/usr/bin/env bash
Should be: #! /usr/bin/env bash
And probably more appropriately #!/bin/bash
Closing, but lmk if this does not fix.

Thanks. That worked. Appreciate your quick response.


[WIP] Assets detection controller

This PR adds the ability to support auto detection of assets.
WIP:

Improve tests coverage
Add balances for tokens

Codecov Report

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

@@          Coverage Diff           @@
##           master    #19    +/-   ##
======================================
  Coverage     100%   100%
======================================
  Files          15     17     +2
  Lines         694    921   +227
  Branches       76    107    +31
======================================
+ Hits          694    921   +227

Impacted Files
Coverage Δ

src/AssetsController.ts
100% <100%> (ø)
:arrow_up:

src/AssetsContractController.ts
100% <100%> (ø)

src/AssetsDetectionController.ts
100% <100%> (ø)

src/NetworkController.ts
100% <100%> (ø)
:arrow_up:

src/TransactionController.ts
100% <0%> (ø)
: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 5127547...2f6d27b. Read the comment docs.


Creating a new outline view container in side panel when it is empty reveals no icon

Make sure there are no view containers in the side panel
Drag outline into side panel

🐛 => icon is missing

cc @misolori

breaks in panel too


Images

Need to source background images that require no attribution and name them with numbers so that they can be randomly used. Possibly race specific?

Added with commit bf503dd. Following two commits added mobile/desktop image size responsive.


Reenable parallel restore

https://github.com/dotnet/corert/pull/824#issuecomment-182110917

Fixed by https://github.com/dotnet/corert/pull/878


Provide option to use unicode  ⁄  instead of regular /

Unicode provides a special slash character for fractions that automatically formats regular numbers as fractional display in supported fonts.
E.g. this 1⁄2 is composed using 1 ⁄ 2 and automatically displays as the normal fraction if you remove the spaces around the slash. Unfortunately, not every font supports this, so it should be a user-specified option in the generator.
More reading:
https://en.wiktionary.org/wiki/⁄

I did consider that when making this, but your caveat was all I experienced: no platform I tested had that behavior by default. What fonts support this?

What fonts support this?

I think most standard web/document fonts these days do, even my original comment above renders properly:

However, I've heard that most monospace fonts don't support it. E.g. 1⁄2  vs 1⁄2 use the same characters but the monospace one renders full size.

Interesting. iOS mail + whatever font iOS Firefox picks don't.On Sep 4, 2024, at 11:25 PM, Chris Petersen @.***> wrote:
What fonts support this?
I think most standard web/document fonts these days do, even my original comment above renders properly:
Screenshot.2024-09-04.at.8.22.51.PM.png (view on web)
However, I've heard that most monospace fonts don't support it. E.g. 1⁄2  vs 1⁄2 use the same characters but the monospace one renders full size.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Huh. I'm on a Mac desktop w/ chrome. And yeah, it fails on iOS/Safari, too.
Interesting. Well, it's in the record here now, and people can copy/paste that ⁄ character if need be.


Confirm creating new environments

Quick feature request I accidentally came across...
I ran railway environment stagin which was a mistype of my staging environment and it created a completely new one / deploying etc
I think that create a new environment shouldn't be that easy / require conformation. Is there a way to add either a confirmation before or suggest a 'did you mean staging?' via some kind of string matching algorithm.
This is a minor one, but everything helps to improving what is already an insanely good DX!

No worries, that makes sense – this might be something I loop back to and take a swing at when less busy...
Will close for now and see if it is reported as an issue from others!


Add SQS queue as a callback channel

Value Statement
As VEText system owner
I want to receive callbacks from VANotify over a persistent queue
So that callbacks are delivered in a reliable
and the systems relate to each other in a decoupled manner
Acceptance Criteria
GIVEN a request is made to create a service callback
AND the requestor has platform admin permissions
WHEN the request contains a callback channel of "queue"
AND a URL that is an SQS queue URL
THEN the service callback is saved to the database with the callback channel set to queue
GIVEN a request is made to create a service callback
AND the requestor does not have platform admin permissions
WHEN the request contains a callback channel of "queue"
AND a URL that is an SQS queue URL
THEN a 403 error is returned
GIVEN a request is made to create a service callback
WHEN the request contains a callback channel of "webhook"
AND a URL
THEN the service callback is saved to the database with the callback channel set to "webhook"
GIVEN a request is made to create a service callback
WHEN the request does not contain a callback channel
THEN the request is rejected with a 400 error
GIVEN VANotify needs to make a callback to the service
WHEN callback is a channel type queue
THEN the callback payload is placed on the SQS queue specified in URL
AND the message has a message attribute called "callback type channel" set to the respective callback's callback type channel
Checklist

[x] Add “callback_channel” property with enum “webhook, queue”
[x] Make “bearer_token” nullable unless callback_channel is "webhook"
[x] Change all relevant APIs for creating/managing callbacks to accept other
[x]  Change APIs to accept user permissions in addition to admin auth:

[x] Only users with “manage_settings” permission can create callbacks with type “webhook”
[x] Only platform admins can create callbacks with type “queue”

[x] Add logic to send payload to different channels based on callback properties - strategy pattern, using interfaces
[x] DD graphs in terraform for statsd metrics
[x] Documentation
[x] Integration test currently failing when run along other tests; should revisit
[x] Validate OpenApi and Json schema

Open Questions

Verify that we can pass SQS queue URL as a URL when creating a callback?

From desk check, got feedback to make callback_type required as part of json schema for callback. DONE.

successfully completed integration test on the VA notify end, where a callback for inbound sms was sent to the SQS queue..  Awaiting Rob to provide his approval on the vetext end.

Test Plan supporting User Story 504: https://docs.google.com/document/d/1dcl_2BwS23aF68lPJxePugHq5DIxgqJm/edit


How to monitor the position of the mouse double-click?

Hello author, I have many axes now, and I want to achieve an effect. If I double-click on the second left axis, a lot of information such as the color, width and scale of this axis will pop up, I can read the axis information, but I cannot monitor the position of the mouse double-click. I have considered obtaining the pixel clicked at the moment, and then obtaining the pixel width and position of the Y axis. I am trying to determine whether it is within the pixel range of Y axis, but I failed because I could not get the pixel of Y axis. Could you please provide a case?

Hi @xinRedi, thanks for this question! Can you clarify exactly where you're double-clicking? Is the spot I marked with an X the location you describe?

Following-up, this code sample should help answer the question! You may have to use a timer to distinguish clicks from double-clicks, and also gate on which mouse button is pressed, but this shows how to determine which axis is under the mouse and how to get its Y position
using ScottPlot;
using System.Diagnostics;

namespace Sandbox.WinForms;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        IYAxis YAxis1 = formsPlot1.Plot.Axes.Left;
        IYAxis YAxis2 = formsPlot1.Plot.Axes.AddLeftAxis();

        var sig1 = formsPlot1.Plot.Add.Signal(Generate.Sin(mult: 1000));
        sig1.Axes.YAxis = YAxis1;

        var sig2 = formsPlot1.Plot.Add.Signal(Generate.Cos(mult: 0.001));
        sig2.Axes.YAxis = YAxis2;

        formsPlot1.MouseDown += (s, e) =>
        {
            Pixel clickedPixel = new(e.X, e.Y);
            IAxis? clickedAxis = formsPlot1.Plot.GetAxis(clickedPixel);

            if (clickedAxis is null)
            {
                Debug.WriteLine($"Mouse pressed outside all axis panels");
                return;
            }

            double y = clickedAxis.GetCoordinate(clickedPixel.Y, formsPlot1.Plot.RenderManager.LastRender.DataRect);

            if (clickedAxis == sig1.Axes.YAxis)
            {
                Debug.WriteLine($"Mouse pressed over YAxis1 at Y={y}");
            }
            else if (clickedAxis == sig2.Axes.YAxis)
            {
                Debug.WriteLine($"Mouse pressed over YAxis2 at Y={y}");
            }
        };
    }
}

接下来，此代码示例应该有助于回答这个问题！您可能需要使用计时器来区分点击和双击，并且还要检查按下哪个鼠标按钮，但这显示了如何确定鼠标下方的哪个轴以及如何获取其 Y 位置
using ScottPlot;
using System.Diagnostics;

namespace Sandbox.WinForms;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        IYAxis YAxis1 = formsPlot1.Plot.Axes.Left;
        IYAxis YAxis2 = formsPlot1.Plot.Axes.AddLeftAxis();

        var sig1 = formsPlot1.Plot.Add.Signal(Generate.Sin(mult: 1000));
        sig1.Axes.YAxis = YAxis1;

        var sig2 = formsPlot1.Plot.Add.Signal(Generate.Cos(mult: 0.001));
        sig2.Axes.YAxis = YAxis2;

        formsPlot1.MouseDown += (s, e) =>
        {
            Pixel clickedPixel = new(e.X, e.Y);
            IAxis? clickedAxis = formsPlot1.Plot.GetAxis(clickedPixel);

            if (clickedAxis is null)
            {
                Debug.WriteLine($"Mouse pressed outside all axis panels");
                return;
            }

            double y = clickedAxis.GetCoordinate(clickedPixel.Y, formsPlot1.Plot.RenderManager.LastRender.DataRect);

            if (clickedAxis == sig1.Axes.YAxis)
            {
                Debug.WriteLine($"Mouse pressed over YAxis1 at Y={y}");
            }
            else if (clickedAxis == sig2.Axes.YAxis)
            {
                Debug.WriteLine($"Mouse pressed over YAxis2 at Y={y}");
            }
        };
    }
}

Thank you. I found what I was looking for
var position = e.GetPosition(model.WpfPlot);
Pixel px = new(position.X, position.Y);
IAxis? ax = model.WpfPlot.Plot.GetAxis(px);
if (ax is not null)
{
ax.Label.Text = System.Random.Shared.NextDouble().ToString();
model.WpfPlot.Refresh();
}


thread 'main' panicked at 'Box', src/session.rs:115

Running the latest master works great so far! Yesterday, I set up a playlist in the Spotify App lo be played in a loop and selected the librespot client as audio sink. When I woke up today, the librespot client died:
DEBUG:librespot::audio_file: File 774f64e3c9690d01ecad1a35ed0bde12d978dfae complete
DEBUG:librespot::session: Session[0] strong=3 weak=6
DEBUG:librespot::player: command=Load(SpotifyId(u128 { high:<PHONE_NUMBER>775026015, low:<PHONE_NUMBER>2851906758 }), true, 0)
DEBUG:librespot::session: drop Dispatch
thread 'main' panicked at 'Box<Any>', src/session.rs:115

I am able to reproduce the panic when I force a disconnection of my DSL connection in the router. The librespot client keeps streaming fine after the router get a new IP. However, the Spotify App drops connection to the client. The status bar goes from green to blue., but the device is in the list and  selectable. If I select the device now, librespot panics.

The error message is "Connection reset by peer". Ideally, we should try to reconnect. Unfortunately, I have no idea, how to do it for librespot.
When this event happens, the Spotify Player disconnects for a moment from the librespot device (the status bar goes from green to blue for a short moment) than the device is displayed as connected again for about 2 or 3 seconds. Thereafter, the player shows the device as disconnected.

Have the same issue when playing from the Android client. Passing a username and using the --disable-discovery flag allowed me to connect from my phone, but after about 1.5 - 2 minutes, the connection was dropped, while librespot still showed nothing out of the ordinary.
After the connection was dropped, I couldn't reconnect to librespot, as it still thought it was connected to the client.
I received a similar
thread 'main' panicked at 'Box<Any>', src/session.rs:83
error after about 5 minutes.
Build info:
INFO:librespot: librespot ddfc28f (2017-08-04). Built on 2017-08-07. Build ID: N5RcEuis
Running on a Raspberry Pi 1

Closed due to lack of maintenance of the project.


jest-snapshot: Display change counts in annotation lines

Summary
The number of change lines helps to interpret differences when a snapshot assertion fails:

only delete lines (that is, in snapshot but not in received)
only insert lines
equal number of delete and insert lines
almost equal number of delete and insert lines
quite unequal number of delete and insert lines

Similar to benefit of summary report following a test run, except these precede the comparison.
In addition to the includeChangeCounts option from #8881 here are supporting changes:

Call functions directly from jest-diff instead of indirectly via jest-matcher-utils as prerequisite for color options in a future pull request, and also swap where two snapshot transformations are called:

Move removeExtraLineBreaks from _toMatchSnapshot function to match method, because it is a private detail of snapshot formatting
Move and rename unescape function from match method to printDiffOrStringified function, because its use depends on how the report displays the snapshot (see 2)

Adjust changes in #2852 to unescape double quote marks and also backslashes but only when the report displays string differences, and if both of the following:

snapshot looks like default serialization of a string (otherwise an array or object can have strings which ought to be enclosed in double quote marks and have escapes)
received is string which has default serialization

With change counts as a clue to interpret edge cases when the snapshot or received is empty string and its counterpart is multiline string, display as comparison lines instead of labeled lines; which reverses a previous decision:

negative: takes a second thought to interpret 0 lines as empty string
positive: emphasizes analogy from snapshot review in console to Changed Files on GitHub
positive: solves alignment problem for multi-line strings discussed in https://github.com/facebook/jest/pull/8569#pullrequestreview-250239440
positive: display strings unescaped, also if both strings are one line (see 2)

Next steps

What do y’all think about a follow-up pull request to display change counts in differences when toBe, toEqual, toStrictEqual, toHaveProperty, toMatchObject assertions fail?

Change confusing colors in snapshot differences, but not exactly as requested in #5430

Ignore indentation in serialization of received objects and by heuristic in snapshots to remove distracting differences, see #8626

Test plan

package
test file
changes

e2e
failures
updated 2 snapshots

e2e
toMatchSnapshot
replaced 1 old toMatch assertion with 2 new

e2e
watchModeUpdateSnapshot
updated 1 snapshot

jest-matcher-utils
printDiffOrStringify
replaced 1 old test (which had obsolete negative assertion) with 3 new

jest-snapshot
printDiffOrStringified
updated 23 17 and added 4 snapshots; added 3 6 tests

See also pictures in 4 following comments: baseline is at left and improved is at right

In the following 5 pictures, the only difference is the change counts
The changes are insertions in the received value:

The changes are replacements:

This comparison will improve in future pull request to ignore indentation:

Some changed lines have substring differences:

Unlike other assertions, snapshots do not “know” the expected type:

In the following 3 pictures of edge cases, improved does unescape string differences:
See if you can interpret the meaning

In the following 3 pictures of edge cases, improved does not unescape quoted strings:
baseline code never unescaped backslashes and improved does not in object serialization:

baseline (above) always unescaped double quotes but improved (below) doesn’t in object serialization:

do not display differences for a few received types like number
the expected snapshot string '1 \'\n2 "\n3 \\' has escaped characters:

The last picture illustrates the edge case of change from quoted string in default serialization to unquoted string in raw serialization, like recent chores #8957 #8959 #8976

Codecov Report

Merging #8982 into master will increase coverage by 0.08%.
The diff coverage is 95.23%.

@@            Coverage Diff             @@
##           master    #8982      +/-   ##
==========================================
+ Coverage    63.9%   63.99%   +0.08%
==========================================
  Files         277      277
  Lines       11652    11656       +4
  Branches     2860     2857       -3
==========================================
+ Hits         7446     7459      +13
+ Misses       3576     3572       -4
+ Partials      630      625       -5

Impacted Files
Coverage Δ

packages/jest-snapshot/src/State.ts
0% <0%> (ø)
:arrow_up:

packages/jest-snapshot/src/print.ts
100% <100%> (+29.62%)
:arrow_up:

packages/jest-snapshot/src/index.ts
27.89% <100%> (-0.97%)
:arrow_down:

packages/jest-snapshot/src/utils.ts
95.18% <100%> (+0.18%)
:arrow_up:

packages/jest-matcher-utils/src/index.ts
83.22% <0%> (+0.64%)
: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 630350a...3a96054. Read the comment docs.

If neither quoted string is multiline, then restore a previous improvement to display with labels:
Small change suggests either update after clean up message or fragile test (for example, v8 versus Gecko) so replace toThrowErrorMatchingSnapshot with toThrow(regexp) assertion:

Either regression or change if received has no common substring with expected:

Possible regression for received message to be empty string:

Rare edge case for expected snapshot to be empty string:

And what do y’all think about a follow-up pull request to display change counts for other assertions?


Try to debug failing CI

Assume that too much log output is causing gh-actions to prevent us from
seeing logs...

Figured out in https://github.com/bytecodealliance/wasmtime/pull/1302 and this doesn't seem to affect the log issue.


HBASE-23140 Remove unknown table error

hbase(main):025:0> describe_namespace 'hbase'
DESCRIPTION
{NAME => 'hbase'}

QUOTAS
ERROR: Unknown table hbase:quota!
For usage try 'help "describe_namespace"'

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

:blue_heart:
reexec
1m  7s
Docker mode activated.

_ Prechecks _

:green_heart:
dupname
0m  0s
No case conflicting files found.

:green_heart:
@author
0m  0s
The patch does not contain any @author tags.

:yellow_heart:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

:green_heart:
mvninstall
5m 34s
master passed

:green_heart:
javadoc
0m 17s
master passed

_ Patch Compile Tests _

:green_heart:
mvninstall
4m 55s
the patch passed

:broken_heart:
rubocop
0m  7s
The patch generated 4 new + 51 unchanged - 0 fixed = 55 total (was 51)

:green_heart:
whitespace
0m  1s
The patch has no whitespace issues.

:green_heart:
javadoc
0m 14s
the patch passed

_ Other Tests _

:green_heart:
unit
10m 32s
hbase-shell in the patch passed.

:green_heart:
asflicense
0m 15s
The patch does not generate ASF License warnings.

24m 13s

Subsystem
Report/Notes

Docker
Client=19.03.3 Server=19.03.3 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-706/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/706

Optional Tests
dupname asflicense javac javadoc unit rubocop

uname
Linux 95652b01ff7f 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-706/out/precommit/personality/provided.sh

git revision
master / 6e3a455887

Default Java
1.8.0_181

rubocop
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-706/1/artifact/out/diff-patch-rubocop.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-706/1/testReport/

Max. process+thread count
2699 (vs. ulimit of 10000)

modules
C: hbase-shell U: hbase-shell

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-706/1/console

versions
git=2.11.0 maven=2018-06-17T18:33:14Z) rubocop=0.75.0

Powered by
Apache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

:blue_heart:
reexec
1m  9s
Docker mode activated.

_ Prechecks _

:green_heart:
dupname
0m  0s
No case conflicting files found.

:green_heart:
@author
0m  0s
The patch does not contain any @author tags.

:yellow_heart:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

:green_heart:
mvninstall
5m 35s
master passed

:green_heart:
javadoc
0m 17s
master passed

_ Patch Compile Tests _

:green_heart:
mvninstall
5m  1s
the patch passed

:green_heart:
rubocop
0m  7s
There were no new rubocop issues.

:green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

:green_heart:
javadoc
0m 15s
the patch passed

_ Other Tests _

:green_heart:
unit
10m 41s
hbase-shell in the patch passed.

:green_heart:
asflicense
0m 15s
The patch does not generate ASF License warnings.

24m 27s

Subsystem
Report/Notes

Docker
Client=19.03.3 Server=19.03.3 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-706/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/706

Optional Tests
dupname asflicense javac javadoc unit rubocop

uname
Linux 8f916817d56a 4.15.0-60-generic #67-Ubuntu SMP Thu Aug 22 16:55:30 UTC 2019 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-706/out/precommit/personality/provided.sh

git revision
master / 6e3a455887

Default Java
1.8.0_181

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-706/2/testReport/

Max. process+thread count
2689 (vs. ulimit of 10000)

modules
C: hbase-shell U: hbase-shell

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-706/2/console

versions
git=2.11.0 maven=2018-06-17T18:33:14Z) rubocop=0.75.0

Powered by
Apache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

:blue_heart:
reexec
0m 34s
Docker mode activated.

_ Prechecks _

:green_heart:
dupname
0m  1s
No case conflicting files found.

:green_heart:
@author
0m  0s
The patch does not contain any @author tags.

:green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ master Compile Tests _

:green_heart:
mvninstall
5m 29s
master passed

:green_heart:
javadoc
0m 16s
master passed

_ Patch Compile Tests _

:green_heart:
mvninstall
5m  1s
the patch passed

:green_heart:
rubocop
0m 11s
There were no new rubocop issues.

:green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

:green_heart:
javadoc
0m 14s
the patch passed

_ Other Tests _

:green_heart:
unit
7m 10s
hbase-shell in the patch passed.

:green_heart:
asflicense
0m 14s
The patch does not generate ASF License warnings.

20m 24s

Subsystem
Report/Notes

Docker
Client=19.03.3 Server=19.03.3 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-706/3/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/706

Optional Tests
dupname asflicense javac javadoc unit rubocop

uname
Linux 65705506cff3 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-706/out/precommit/personality/provided.sh

git revision
master / 6e3a455887

Default Java
1.8.0_181

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-706/3/testReport/

Max. process+thread count
2725 (vs. ulimit of 10000)

modules
C: hbase-shell U: hbase-shell

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-706/3/console

versions
git=2.11.0 maven=2018-06-17T18:33:14Z) rubocop=0.75.0

Powered by
Apache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.


Nature of Code 3.3 - communitiy contribution

Link to demo here: https://editor.p5js.org/DanielL/full/h2UNZ_F_x

Community Contribution
Link to live project, video, or image:

Link to demo here: https://editor.p5js.org/DanielL/full/h2UNZ_F_x
Sharing

[x] I would be happy to have my project shared on The Coding Train's social media!

Instagram:
Twitter:

I don't know why its failling YAML syntax seems fine and followed the steps in:
https://www.youtube.com/watch?v=fkIr0inoQ7Y&feature=youtu.be

Merging anyway.... CI fails do not relate to the code change. See #3022


When sorting the resource_version field in the cluster, the result is wrong

What happened?

What did you expect to happen?
When sorting the resource_version field in the cluster, the query results are correct
How can we reproduce it (as minimally and precisely as possible)?
kubectl --cluster clusterpedia get pods -l  "search.clusterpedia.io/orderby in (resource_version_desc)"
kubectl --cluster clusterpedia get pods -l  "search.clusterpedia.io/orderby in (resource_version)"
Anything else we need to know?
No response
Clusterpedia Version

# replace the pod name of clusterpedia apiserver
$ kubectl -n clusterpedia-system exec {clusterpedia-apiserver-pod-name} -- apiserver --version=raw
# paste output here

# replace the pod name of clusterpedia clustersynchro-manager
$ kubectl -n clusterpedia-system exec {clustersynchro-manager-pod-name} -- clustersynchro-manager --version=raw
# paste output here

Host Kubernetes version

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.20", GitCommit:"1f3e19b7beb1cc0110255668c4238ed63dadb7ad", GitTreeState:"clean", BuildDate:"2021-06-16T12:58:51Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.20", GitCommit:"7c28a83e67cb506f9df948d7b23698f8f9c279b8", GitTreeState:"clean", BuildDate:"2021-07-15T08:58:53Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

@liuzouzou Thank you very much for the feedback!
The internalstorage saves the resource version as a string, but does not convert it to a number for sorting.
We need to convert the resource_version field to int when sorting.
https://github.com/clusterpedia-io/clusterpedia/blob/0249d9f3ac6be8089cb83307165268bbeb620e97/pkg/storage/internalstorage/util.go#L137-L144


fix: Infinity login when features is not in data (loading on leaflet)

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

Comparison is base (f5a27f9) 89.95% compared to head (1d95bb5) 89.95%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #287   +/-   ##
=======================================
  Coverage   89.95%   89.95%
=======================================
  Files          32       32
  Lines        2390     2390
=======================================
  Hits         2150     2150
  Misses        240      240

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


Zoom is broken if x-axis range is set

Description
For a line chart, if the x-axis range is set, zoom only moves the view but doesn't zoom in.
Steps to Reproduce

Create a new line chart and add some dummy date
Set a fixed x-axis range
Press the zoom in button

Expected Behavior
The zoom works as expected
Actual Behavior
The chart just shifts it's position, but doesn't zoom in
Screenshots
See codepen below for a demo
Reproduction Link
Click

Could you elaborate on what you expect the behaviour to be? For example,, xaxis.range is an option used in charts where series data updates dynamically, so do you expect:

the zoom to freeze all chart movement until you restore to the initial zoom or pan?
the zoom to change the xaxis.range value as the series data continues to update and the chart continues scrolling?
a different behaviour to either of these?

My intuition suggests (1) is normal but can also see a use for (2) if the zoom range includes the last data point.

Hi,
Yes sorry it should have been more clear. I do indeed set the range because my chart is updating continuously. I'd go with 1. because at this point the user most likely wants to inspect some specific data in more detail. I'd say is almost the current behavior already: The chart already stops updating and pans to a new position when trying to zoom. I think the only thing missing would be to ignore the range setting as the chart is zoomed in.
When the user is done inspecting the data, the home button can be used to go back to "normal" operation, scrolling the dynamically incoming data.


[$1000] Compose box - Cursor at left instead of right side while editing the comment

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

Action Performed:

Launch app
Tap on a conversation
Paste a message in compose box
Send the message
Long press the message sent
Tap edit comment to note the position of cursor in edit compose box

Expected Result:
The cursor in edit compose box should be placed in right side after the message and not on the left at the starting of the message
Actual Result:
The cursor in edit compose box is placed on the left at the starting of the message instead on the right after the message
Workaround:
Unknown
Platforms:

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

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/c68d23c7-740c-487f-b4a6-e673d076e06f
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d175f62c52a7511d
Upwork Job ID:<PHONE_NUMBER>217133568
Last Price Increase: 2023-08-07

I don't think the full steps are needed, I think you just have to edit a comment you previously sent
I reproduced on Android with:

Sent message in web (cuz i was testing there)
Opened app with Android, went to the message I just sent
Log-pressed, then clicked "Edit"
Saw cursor appear on left side

Proposal
Please re-state the problem that we are trying to solve in this issue.

For android when editing a message cursor is placed at the starting of the message.

What is the root cause of that problem?

The root cause of the problem is that selection state has {start: 0, end: 0} when the composer is focused. As a result the cursor is placed at the starting of the message.

What changes do you think we should make in order to solve the problem?

We should set the selection state to {start: finalDraft.length, end: finalDraft.length} when we set draft message. So that the cursor is placed at the end of the message.

Code Changes:

In ReportActionItemMessageEdit.js add a common updateSelection function which set's selection based on given message.
Modify useState of draft to call updateSelection function before returning the finalDraft.
Update setSelection in 2nd useEffect of ReportActionItemMessageEdit.js to call updateSelection function with the prevDraft variable.

Note:

I tested on Mobile Safari this is working as expected.

What alternative solutions did you explore? (Optional)

N/A

This solution can solve the issue. I think This is NAB and need to hold until https://github.com/Expensify/App/issues/21654 is solved

Since it happens on Android only and it's a corner case, I'll remove the deploy blocker for this one.

How can I apply for this?

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~0129a3fd9dc95db8bb

Proposal
Problem Statement:
The problem we are trying to address in this issue is the incorrect cursor position in the Compose box while editing a comment in the React Native app.
Root Cause:
The root cause of the problem is the initialization of the selection state in the ReportActionItemMessageEdit component. Currently, the selection state is set to {start: 0, end: 0}, which causes the cursor to be positioned at the beginning of the input when the component is mounted or updated.
Proposed Solution:
To solve the cursor positioning issue, we need to initialize the selection state with the length of the draft state. By setting selection to {start: draft.length, end: draft.length}, the cursor will be positioned at the end of the text input while editing, providing a better user experience.
To implement this solution, we need to make the following changes in the code:
// Replace the current initialization of selection state
const [selection, setSelection] = useState({start: draft.length, end: draft.length});

With this modification, the cursor will be correctly positioned at the right side (end) of the input field while editing the comment in the Compose box. This will improve the user's interaction with the app and provide a smoother editing experience.
What changes do you think we should make in order to solve the problem?
NA

Proposal
Please re-state the problem that we are trying to solve in this issue.
The problem we are trying to address in this issue is the incorrect cursor position in the Compose box while editing a comment in the React Native app.
What is the root cause of that problem?
This is an Android issue setting the selection programmatically with the selection prop before the onFocus event is triggered might not work as expected. This behavior is due to the underlying implementation of the native TextInput component on Android.
What changes do you think we should make in order to solve the problem?

After focusing, we need to pass the selection properties until then that should be null.
https://github.com/Expensify/App/blob/2ce4328401ec71f9ec0dc1304e0c5be261ae5628/src/pages/home/report/ReportActionItemMessageEdit.js?#L342

selection={isFocused? selection: null } //selection={selection}

autoFocus true

@twisterdotcom @cristipaval @robertKozik We are also facing the issue with the PDF password to the wrong position.
Is this same issue to we need to log a new one?
https://github.com/Expensify/App/assets/43995119/5613f064-3960-4558-ae28-962058391619

@mvtglobally I am not seeing this issue staging can explain to me more steps to reproduce?
https://github.com/Expensify/App/assets/16595846/55c74559-7c71-46f7-a22a-2e57cb80a096

had this issue get assigned to me but I believe it's the same case as this https://github.com/Expensify/App/issues/24234 so whatever solution is applied here needs to be tested for both "single line" and "multi line" editing of messages.

@mvtglobally I can reproduce this, and I think it should be a new issue. The input in PDFPasswordForm is not controlling the selection, like the compose box does. Moreover, all existing proposals for this issue suggest fixes at a higher level than the RNTextInput (which is the first common one between PDFPasswordForm and ReportActionItemMessageEdit) and problem with PDF exists on more platforms than android/native. Based on that, I believe the wrong position on the PDF password should be treated as a new issue.

Did you checked how it's handled inside ReportActionCompose component? I pressume that this one should be handled very similar, as we don't encounter this bug in there - clicking on unfocused composer on android native puts cursor at the end of the line

@pradeepmdk your proposal is causing a regression for the copy&paste event. Pasting the text inside the edit composer is not updating the cursor position properly (tested on android, and also we have a similar regression before)

@HezekielT Did you check that your solution is working? I've tried to quickly implement&check it, but with no effect.

@pradeepmdk your proposal is causing a regression for the copy&paste event. Pasting the text inside the edit composer is not updating the cursor position properly (tested on Android, and also we have a similar regression before)

@robertKozik for me working correctly when am pasting the data inside the edit component.
https://github.com/Expensify/App/assets/16595846/d873ff76-0b91-4067-a3f2-8ba286713400
In index.android.js
selection={textInput.current && textInput.current.isFocused() ? selection: undefined}

selection={isFocused? selection: null } //selection={selection}

both are doing the same this when the input box is focused.
the cursor will show only a focused textbox on all the platforms. so my solution selection will update on focus.
and paste scenario is also the same when the textbox is focused only we can able paste in all the platforms.
@robertKozik  can you share the regression video?

@pradeepmdk But your proposal suggested implementing the tenary operator inside ReportActionItemMessageEdit component.

After focusing, we need to pass the selection properties until then that should be null.
https://github.com/Expensify/App/blob/2ce4328401ec71f9ec0dc1304e0c5be261ae5628/src/pages/home/report/ReportActionItemMessageEdit.js?#L342

selection={isFocused? selection: null } //selection={selection}

When implementing your former proposal on web (android is taking much more time to build&test thats why I checked on web) with implementation inside ReportActionItemMessageEdit you can observe such a bahaviour:
https://github.com/Expensify/App/assets/61146594/9751db83-7817-4759-856a-95d6da39bf74

@robertKozik  you are correct
we can do this on
In index.android.js
selection={textInput.current && textInput.current.isFocused() ? selection: undefined} this work correctly

@pradeepmdk but with that change the suggested solution is 1:1 as the one posted from @HezekielT

initially, I checked on that Android, js page only after that already focuses state maintains in the ReportActionItemMessageEdit so I thought it will work in all the cases.🫣

Hello @robertKozik, I appreciate your attention to this matter. Have you had a chance to review the solution to ensure its functionality and absence of any issues? If any problems arise, we could implement a verification process similar to the one used in ReportActionCompose for Android. Regrettably, I'm currently unable to perform this check on my end.

@robertKozik  - Need some time, as i might have a breakthrough for this. Will ping here as soon as possible.

Proposal [UPDATED] (https://github.com/Expensify/App/issues/24157#issuecomment-1666114698)
Please re-state the problem that we are trying to solve in this issue.

For android when editing a message cursor is placed at the starting of the message.

What is the root cause of that problem?

The root cause is that below code is creating an unexpected effect which is causing the cursor to move to the start of the message.

// For mobile Safari, updating the selection prop on an unfocused input will cause it to automatically gain focus
// and subsequent programmatic focus shifts (e.g., modal focus trap) to show the blue frame (:focus-visible style),
// so we need to ensure that it is only updated after focus.
setDraft((prevDraft) => {
    setSelection({
        start: prevDraft.length,
        end: prevDraft.length,
    });
    return prevDraft;
});

I probably think this issue was before this PR also but converting to functional component made it more prominent.

https://github.com/Expensify/App/pull/20293 (Converting ReportActionItemMessageEdit to a functional component.)

What changes do you think we should make in order to solve the problem?

We should only update the selection prop on an unfocused input for mobile Safari and mobile Chrome as it was meant for them only.

// For mobile Safari, updating the selection prop on an unfocused input will cause it to automatically gain focus
// and subsequent programmatic focus shifts (e.g., modal focus trap) to show the blue frame (:focus-visible style),
// so we need to ensure that it is only updated after focus.
+ if( Browser.isMobileSafari() || Browser.isMobileChrome() ){
    setDraft((prevDraft) => {
        setSelection({
            start: prevDraft.length,
            end: prevDraft.length,
        });
        return prevDraft;
    });
+ }

What alternative solutions did you explore? (Optional)

N/A

Output Video:
https://github.com/Expensify/App/assets/78416198/86fbf8ff-cc57-461a-8cfa-80b5a0fe5de0

Thank you @jeet-dhandha ! This proposal looks very promising already!
Could you explain me why to the if condition we are adding the chrome browser too? In the comment above the setSelection there is only Safari mentioned

@robertKozik If you check in mobile-chrome cursor should show up in left side of the message just like mobile-safari did when setSelection code was commented. So after running this code in mobile-chrome as well as in  mobile-safari verify that cursor show's up in the right side of the message as expected.

To address the incorrect cursor position issue in the native app, consider updating the onFocus event handler for the Composer component. By setting the selection to the end of the current draft and managing the scroll position, we can enhance the editing experience. Here's the modified code:
onFocus={() => {
    setIsFocused(true);
    setSelection({
        start: draft.length,
        end: draft.length,
    });
    reportScrollManager.scrollToIndex({animated: true, index: props.index}, true);
    ComposerActions.setShouldShowComposeInput(false);
}}

This adjustment ensures that the cursor is correctly positioned at the end of the text when the composer input gains focus.

@robertKozik - Waiting for your response. 👍

@jeet-dhandha But as I'm reading this comment for the logic with setDraft/setSelection:
https://github.com/Expensify/App/blob/dd0d98fa6868bba60e81bfdf66e5cdf7d2adaa37/src/pages/home/report/ReportActionItemMessageEdit.js#L111-L114
It's only referring as a fix for the safari, chrome not included, so how come that this fix is needed to be applied to chrome also? What is the cause of it?

@cristipaval Yes, I just want to understand why we need the safari-specific fix to be enabled on the mobile chrome too

@robertKozik According to my testing i noticed that in m-safari the issue was there but when i tested same thing for m-chrome too. You can test this by commenting out the below code.
setDraft((prevDraft) => {
        setSelection({
            start: prevDraft.length,
            end: prevDraft.length,
        });
        return prevDraft;
});

And test and verify that the issue is happening in both platforms.

Thanks for clarifying! Got it now. All things considered I believe your proposal is the way to go there @jeet-dhandha
🎀 👀 🎀 C+ reviewed

@robertKozik I am currently ooo for 3 days will give you a complete PR on 19th August. Will this be any problem?

@robertKozik I am currently ooo for 3 days will give you a complete PR on 19th August. Will this be any problem?

no worries, this is not a blocker, enjoy your time off. Thanks for the heads-up!

@robertKozik After testing for Web and Desktop it seems the code should run for every platform except android.

@jeet-dhandha commented on the draft PR

@jeet-dhandha If your PR is ready, please mark it as Ready for review not draft

Please share your thoughts on should we go with this changes or not.
https://github.com/Expensify/App/pull/25528

https://github.com/Expensify/App/pull/25528/files#r1303157132 - Please check

@jeet-dhandha is your PR ready for review? If so, can you please label it Ready for review?

@jeet-dhandha friendly bump.

Bumped in Slack

@johncschuster, the PR was already approved yesterday. However, I requested to delay the merging until today as I already had multiple PRs merged off hold.

@johncschuster the only payment due here is the contributor payment, as the issue was reported by Applause and reviewed by a C+ from an agency.

What's the payment status here @johncschuster? Can we close the issue?

Can we close this issue?

jeet-dhandha has already been paid $1000 here: https://www.upwork.com/nx/wm/workroom/34700035/overview.
I think we can close yes.


{CI} Regenerating breaking change report with only_break=True to control length within 65535.

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command

General Guidelines

[ ] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[ ] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

CI


GOBBLIN-1244: Add new file patterns to rat exclusion list

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

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

https://issues.apache.org/jira/browse/GOBBLIN-1244

Description

[x] Here are some details about my PR, including screenshots (if applicable):
We add new file patterns to the rat exclusion list to prevent warnings about files with missing ASF Header license.

Tests

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

Commits

[x] 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"

@htran1 @abti Please review.


Benchmark Mojave's text painting performance

OS 10.14 Mojave is making substantial changes to text painting. In particular, RGB subpixel painting is now off by default, though it is possible to turn it back on.
I haven't experimented with 10.14 yet, but have dug pretty deep into 10.12 and 10.13 (no significant differences between the two). Both rely on software rendering, and, though it uses SIMD, it comes nowhere near what a GPU can do. Part of the reason the code is slow is that it does gamma-corrected blending (see http://blog.johnnovak.net/2016/09/21/what-every-coder-should-know-about-gamma/ though I don't endorse everything said there). Note that there are multiple code paths depending on whether the bg and fg colors are pure black/white (as is often the case in macOS) or arbitrary colors (common with styles/themes), and this should be measured in a benchmark.
Without RGB subpixel rendering, it's easier to use a GPU; painting text should just be an A8 texture draw. Gamma questions remain, but GPU's are certainly able to do gamma corrected blending, either in a shader or by setting the colorspace of the buffer.
If Mojave has fast text painting, then we probably want to revert our OpenGL renderer. There are a fairly large number of papercut issues, including #266, imperfect bidi (see #263), IME positioning, and I'm sure a few more. In addition, OpenGL is deprecated, so it's not really a good long term solution.
In addition to just painting, it's worth digging into whether the macOS performance bug underlying #20 has been fixed. Again, if not, we probably want to start doing our own logic.
If Mojave has slow text painting, then I think a long term solution is to write a text surface in Rust, backed by a suitable portable GPU-accelerated API (WebRender would work well, and porting the logic in the existing OpenGL renderer on top of gfx-rs would also make lots of sense). Such a surface could be used by multiple front-ends. In addition, moving the line cache logic into Rust as well could avoid much of the difficulty with slow JSON in Swift (see #102). But this is a lot of work and very much a long term prospect.
Having benchmarks would be super useful. Marking as "help wanted" because it doesn't require deep knowledge of the xi-mac codebase, can be done as a standalone project; verifying #20 is pretty much a case of running the code in the linked radar.

I have no idea how to even start benchmarking the actual text painting though.

@raphlinus do you have some concrete steps for benchmarking Mojave's text painting? (I'm guessing via NSTextView) I should have time to look into this a couple of weeks down the road.

The quick answer is no, not NSTextView, that's too high level, we need to create an NSMutableAttributedString, then create a CTLine from that, and finally draw lots of CTLine's in a custom NSView.
Another interesting thing about benchmarking is that in a software renderer, black-on-white is a special case and runs faster than arbitrary bg and fg colors. If it's hardware rendering, we shouldn't see that. It's my understanding that subpixel RGB hasn't been removed from mojave but is no longer the default? Should try with both settings.

Just to make sure, would we still be using NSTextView for xi-mac in the end if the CTLine thing is fast? Otherwise there isn't much point as we would still have to deal with the IME stuff ourselves.

No, I don't think we can use NSTextView, as I think takes over too many functions we need to hook directly. Likely we would continue using a custom view.


The CNN model has been deleted.

Hi, your work is extremely insightful. But the pretrained CNN model has been deleted, and any other link can be shared?

Thanks for letting us know! The models have been restored at the link now.

Thanks for letting us know! The models have been restored at the link now.


endpoints for managing the notification settings of users

WHAT DOES THIS PR DO?

[ ] endpoints for managing the notification settings of users
[ ] For all emails sent out, first check the notification settings of the user who will be the recipient of the email.

HOW DO I TEST OUT THIS PR?

[ ] Analytics: Link to Analytics README
[x] Auth Service: Link to Auth Service README

WHICH ENDPOINTS SHOULD BE READY FOR TESTING?:

[ ] Subscribe to Notifications
[ ] Unsubscribe from Notifications
[ ] Check Notification Status of User

Hi @OchiengPaul442 / @Codebmk ....hope this finds you well. With this PR, we shall expect a corresponding frontend page to showcase a success message whenever someone successfully unsubscribes from our email notifications.
Also, @BenjaminSsempala , if all the tests pass, this means that we shall also ENABLE the unsubscribe link in all our emails.
Thanks!


clangcheck: removed flags not accepted by clang-check

The extra cmd line flags "-- -Wall -Wextra" are not accepted and
processed by clang-check, moreover they actually prevent it from working
correctly.

Thanks!


tf.RaggedTensor.bounding_shape: out_type argument is ignored

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): macOS 10.15.7
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: -
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): v2.5.0-rc0-36-g0d1805aede0 2.5.0-rc1
Python version: 3.9.2
Bazel version (if compiling from source): n/a
GCC/Compiler version (if compiling from source): n/a
CUDA/cuDNN version: n/a
GPU model and memory: n/a

Describe the current behavior
RaggedTensor.bounding_shape has an argument out_type which is supposed to control the type of the output tensor. But it does not seem to have any effect:
>>> tf.RaggedTensor.from_tensor([[1,2,3]]).bounding_shape(1, out_type=tf.int32)  # output is not int32
<tf.Tensor: shape=(), dtype=int64, numpy=3>

Describe the expected behavior
>>> tf.RaggedTensor.from_tensor([[1,2,3]]).bounding_shape(1, out_type=tf.int32)
<tf.Tensor: shape=(), dtype=int32, numpy=3>

Standalone code to reproduce the issue
>>> tf.RaggedTensor.from_tensor([[1,2,3]]).bounding_shape(1, out_type=tf.int32)
<tf.Tensor: shape=(), dtype=int64, numpy=3>

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.

Was able to reproduce the issue with TF v2.4.1, TF v2.5.0-rc1 and TF-nightly. Please find the gist of it here. Thanks!

@Andreas5739738, I tried to run your code on Colab using TF v2.6 and tf-nightly and this issue was resolved. Please find the gist here for reference. Please feel free to close the issue if it is resolved ? Thanks!

Thank you! Confirming that this is resolved.


AskVM not timing out on infinite loops

According to the FAQ, the AskVM should timeout on infinite loops.
However running the following in the AskVM generates a hang (infinite loop) that does not seem to resolve.
const f = fun():any {
  call(f)
}
call(f)

To replicate:

npm install askql
./askql
.editor
Enter the above code
Ctrl+D

Thank you, David, for your contribution! We will definitely look into it. We'll keep you posted :)

More generally, how does AskQL and AskVM plan to handle cases like this?
If there's a limit to "steps" (beta reductions if this is a lambda calculus evaluator) or something similar, and the code written in the front end is O(n) where n is, say, the number of entries in a table,  then a working query may suddenly start failing, and the only change is that a new entry was added to the table. That seems like a lot of hassle for the front end developer -- you have to anticipate your query failing for reasons that are outside of your control.
If it's a time limit, then you have the same issue, except now it's even more non-deterministic, since server load will effect whether a query times out. It seems like that would be a testing nightmare.

Thanks @DavidSampson for posting this! You have definitely spotted a bug and we're going to send a PR that solves it soon.
Speaking of this issue more broadly, every server indeed has different set of limited resources that it can devote to running a query (regardless of the query language). I agree that in case of AskQL this gets tricker, because more operations are possible - including endless loops, stack overflows, heap overflows - just to name a few. We're going to address it by a) adding more different kinds of limits you can set for the VM b) allowing programs to query the information about their current limits at runtime so that they have an option to check the limits and adapt their behaviour.
These limits will include the number of operations, stack size, time allotted, and heap size. They are deterministic, yet their respective behaviour may vary by the server - especially the time limit which is subject to other workload. We'll make sure that if AskVM returns an error, it will include all details possible on what limit has caused it, why, and what are the recommended steps for the developer. If there are other measures to help with development experience, we'll look into these as well.
Please treat this as introductory input in this important discussion, more will follow. Thanks again, @DavidSampson, for your participation and creating this issue!

@mhagmajer , what's the update on this ticket?

Marking this as a release blocker to support running playground safely

@DavidSampson , thank you a million for posting this issue.
We created a PR which resolves it and would be thrilled if you could comment on our solution: https://github.com/xFAANG/askql/pull/220


Center map on selected admin boundary

This PR is an enhancement of #329, which reuses select menu developed on #308.

Nice work on this @JorgeMartinezG. A few requests / comments:

Can we have the height of the 'Go to' button match the 'run analysis' button?
Though multi-select by default makes sense in the alerts module, I don't think it does in this case. Can we implement this so that when a user clicks on a new region, it chooses only that one?
Related to point 2, if a user wants to select more than one region, can we use shift+click to select another region?
Last - and this can be done later - can we include an expand / contract feature at the higher admin levels? i.e., just show the top level layers by default, but allow a user to expand level two, and three if needed. See the original issue on this for an example: https://github.com/WFP-VAM/prism-frontend/issues/226

@Ry-DS there is a deployed version of this branch here: https://prism-goto.surge.sh/
@wadhwamatic Items from 1-3 have been resolved within this branch. Please check link above

Works great @JorgeMartinezG. I just have the same feedback as Eric regarding select all / de-select all

Works great, small feedback @JorgeMartinezG:

we can probably remove the "select all" option in this case
when clicking on "deselect all", show "GO TO" again instead of a blank line

Fix for first item is in 01a3475f9e55089893d7762dd8d52b82f1612832. WRT second item, the Go To label disappears on focus event. If we keep the label in the same position MUI will display the label and current value of the Select component at the same time.

Tried multiple options with css but no success yet.

As mentioned yesterday I think we need to wait on #338 to be merged first :)

As mentioned yesterday I think we need to wait on #338 to be merged first :)

@JorgeMartinezG - PR 338 has been merged. Can you now revisit this?

this is branch is ready. Also included optional flag within prism.json file. cc @wadhwamatic @ericboucher

Nice work @JorgeMartinezG, you can go ahead and merge.
Just being picky but you might want to rename the config to something like enableNavigationDropdown


Documentation question: is there any way to control how many rows spark_apply() cuts data into?

Documentation question: is there any way to control how many rows spark_apply() cuts data into?
On my small machine it seems to work in about one quarter million row blocks (which is fine), but on a production server cluster it seems to send all of the rows to a single worker (which I do not want to happen).
Is there a control that says what the maximum number of rows per-chunk are?  Or is this something we can achieve through the group_by argument somehow?

I think the main knobs you have to control partitioning are:

sdf_repartition lets you partition by the unique values of one column in Spark 2.0+.

sdf_partition lets you partition with random weighted sampling, e.g. for train/test splits.

Set spark.dynamicAllocation.enabled: true in your conf, and Spark will handle data splitting and number of executors itself. This is fine if you want parallelism but aren't too concerned about how much.

Right! Also, worth adding that spark_apply() transfers data to each worker role in-memory; therefore, spark_apply() really benefits from creating many small partitions using the partition functions mentioned by AjarKeen.
I wouldn't recommend using group_by for the purpose of repartitioning, sdf_repartition or sdf_partition should be preferred here.
Closing this one seems the question seems answered.


Menu Location

Do i use vmenu location or script hook idk

Most people use vMenu these days so I'd suggest that one. It really doesn't matter in the end, however.