Exception: Received resultset tuples, but no field structure for them

I'm reporting it as jdbc related bug because in server logs all seems fine. I have a unit/integration test that drops schema before each run and from time to time (about 20%) I get this exception, always at the same query. In the same test. I've got many tests and it only happens in this particular test. Every test uses different schema and different tables, what makes this one special is it contains table which is partitioned.
Below logs from client(crate-jdbc:2.2.0) and from server(2.1.5).
Part of client logs:
2017-08-31 01:03:15.992 DEBUG[ScalaTest-run                                ] [s.ConnectionPool$                            ] - Registered connection pool : ConnectionPool(url:jdbc:crate://<IP_ADDRESS>:5432/?strict=false, user:) using factory : commons-dbcp2
2017-08-31 01:03:17.356 DEBUG[ScalaTest-run                                ] [s.StatementExecutor$$anon$1                  ] - [SQL Execution] select TABLE_NAME from information_schema.tables where table_schema='betelgeuseakkapersistencejournalcratetest'; (17 ms)
2017-08-31 01:03:17.933 DEBUG[ScalaTest-run                                ] [s.StatementExecutor$$anon$1                  ] - [SQL Execution] drop table betelgeuseakkapersistencejournalcratetest.schema_version; (53 ms)
2017-08-31 01:03:17.959 DEBUG[ScalaTest-run                                ] [s.StatementExecutor$$anon$1                  ] - [SQL Execution] drop table betelgeuseakkapersistencejournalcratetest.crate_async_write_journal_entity; (20 ms)
2017-08-31 01:03:18.003 ERROR[ScalaTest-run                                ] [s.StatementExecutor$$anon$1                  ] - [SQL Execution Failed] select TABLE_NAME from information_schema.tables where table_schema='locks' and table_name='locks' (Reason: Received resultset tuples, but no field structure for them)
Exception encountered when invoking run on a nested suite - Received resultset tuples, but no field structure for them
java.lang.IllegalStateException: Received resultset tuples, but no field structure for them
	at io.crate.shade.org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2089)
	at io.crate.shade.org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:291)
	at io.crate.shade.org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:433)
	at io.crate.shade.org.postgresql.jdbc.PgStatement.execute(PgStatement.java:359)
	at io.crate.shade.org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:169)
	at io.crate.shade.org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:117)
	at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:83)
	at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:83)
	at scalikejdbc.DBConnectionAttributesWiredPreparedStatement.executeQuery(DBConnectionAttributesWiredPreparedStatement.scala:63)
	at scalikejdbc.StatementExecutor.$anonfun$executeQuery$1(StatementExecutor.scala:337)

Crate logs (there is timezone related 2h diff, but its from the same period of time):
[2017-08-30T23:01:26,501][INFO ][o.e.c.m.MetaDataCreateIndexService] [Sassolungo di Cibiana] [betelgeuseakkapersistencejournalcratetest.schema_version] creating index, cause [api], templates [crate_defaults], shards [4]/[0], mappings [default]
[2017-08-30T23:01:26,610][INFO ][o.e.c.r.a.AllocationService] [Sassolungo di Cibiana] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[betelgeuseakkapersistencejournalcratetest.schema_version][0]] ...]).
[2017-08-30T23:03:16,240][INFO ][i.c.p.p.SslReqHandler    ] PSQL SSL support is disabled.
[2017-08-30T23:03:17,884][INFO ][o.e.c.m.MetaDataDeleteIndexService] [Sassolungo di Cibiana] [betelgeuseakkapersistencejournalcratetest.schema_version/B4TOBp7qTjSjAK3BJRtd2Q] deleting index

Thanks for the report.
Would it be possible to

enable trace logging in Crate for io.crate.protocols.postgres
and debug logging in Crate for io.crate.action.sql ?

Given that you've already a test-case for this - is it possible for you to extract a minimal reproduction setup from that? The logging output might be enough - but in case this is easy to extract it would help a lot.

I woke up this morning, and unless im 'sleep coding' I havent changed my code since yesterday, database was not restarted and it stopped happening:/
My project is in initial state and is a bit messy - needs a lot of manual setup so it would be waste of your time to set it up, but I've extracted the whole sequence of sqls involved, don't think it will help but maybe later when someone encounters it,this may give some clues.  It was sth like:
-- ref:A
CREATE TABLE "betelgeuseakkapersistencejournalcratetest"."schema_version" (
    "installed_rank" INT NOT NULL,
    "version" string,
    "description" string NOT NULL,
    "type" string NOT NULL,
    "script" string NOT NULL,
    "checksum" INTEGER,
    "installed_by" string NOT NULL,
    "installed_on" AS CURRENT_TIMESTAMP,
    "execution_time" INTEGER NOT NULL,
    "success" BOOLEAN NOT NULL,
    primary key (installed_rank)
)
create table betelgeuseakkapersistencejournalcratetest.crate_async_write_journal_entity (
  tag string  not null,
  id string  not null,
  seq long  not null,
  serialized string not null index off,
  event object,
  json string index off,
  created timestamp generated always as  CURRENT_TIMESTAMP,
  month timestamp GENERATED ALWAYS AS date_trunc('month', CURRENT_TIMESTAMP)
  ,primary key (tag,id,seq,month) --THIS MIGHT HAVE BEEN COMMENTED
) clustered by (tag) into 30 shards PARTITIONED BY (month);
INSERT INTO betelgeuseakkapersistencejournalcratetest.schema_version (
                installed_rank,
                version,
                description,
                type,
                script,
                checksum,
                installed_by,
                execution_time,
                success)
        values (
                1,
                '0.1',
                'crate journal',
                'SQL',
                'V0_1__crate_journal.sql',
                -1112554513,
                'default_user',
                63000,
                'true'
        );
insert into betelgeuseakkapersistencejournalcratetest.crate_async_write_journal_entity(tag,id,seq,serialized)values('aa','a',1,'sadsadad');
insert into betelgeuseakkapersistencejournalcratetest.crate_async_write_journal_entity(tag,id,seq,serialized)values('aa1','a1',1,'sadsadad');
insert into betelgeuseakkapersistencejournalcratetest.crate_async_write_journal_entity(tag,id,seq,serialized)values('aa2','a2',1,'sadsadad');
insert into betelgeuseakkapersistencejournalcratetest.crate_async_write_journal_entity(tag,id,seq,serialized)values('aa3','a3',1,'sadsadad');
-- ref:B
select TABLE_NAME from information_schema.tables where table_schema='betelgeuseakkapersistencejournalcratetest'
drop table betelgeuseakkapersistencejournalcratetest.crate_async_write_journal_entity;
drop table betelgeuseakkapersistencejournalcratetest.schema_version;
select TABLE_NAME from information_schema.tables where table_schema='locks' and table_name='locks';

what test did whas sequence ref:B -> ref:A, first time it ran OK, second time failed at last sql of B, so the above sequence should reproduce it, but it does not today.
For now I'd close the issue, I'll back to you if/when it happens again this time with debugging logs hopefully.


Ascribing a tuple function limits it to one item

Similarly affects globals like unpack.
local function f()
	return 1, 2
end

print(f() :: any) -- 1

The following should print 1, 2 but only prints 1 when the ascription is applied.
This also happens with illegal ascryptions (i.e. :: string).

This is by design.

May I ask why? I was under the impression that :: was a type-specific operator that wouldn't affect runtime (excluding optimizations) because it was designed to upcast and downcast types (i.e. number? to number). Why make it do something like this in the first place?
Another question is why isn't this behavior documented anywhere on the luau site? I spent an hour trying to figure out why a function of mine was returning nils thinking it was a logic error.

Maybe it's worth (if possible) to introduce a type-aware lint here mentioning that ascribing a type to a call returning multiple values will reduce it to only the first? And to surround with parens to silence.
I would argue it would also be nice to have a lint for print(foo(), 5), but that may flag more lint warnings than acceptable. And also probably out of scope for this issue


Provide a better naming scheme for output files.

The end user needs to know the pipeline structure in order to figure out what the final output object is.
Quote from #377 :

the final output file name is not particularly self explanatory.

Closing because with #476, the user can set the output file names themselves.


Status of the Project

Hi Community
Is there anyone can update the status of this project ? we would like to evaluate this project and adopt it in our solution,  what's the story behind of the current situation ?
appreciate your help

OpenSOC has effectively been migrated to Apache project Metron. https://metron.apache.org/

Yes indeed. OpenSOC was a great foundation and Metron is a fantastic evolution.


Release build of ponyc seg faults when building helloworld

I installed the Ubuntu 15.10 pre-built binary of LLVM 3.8 from the LLVM website.
I built ponyc from source with a clean build directory, both debug and release versions.
ponyc: 0.2.1-703-ge7d4c55
I then compiled "examples/helloworld" with the release build of ponyc.
I got:
`Reachability
Selector painting
Data prototypes
Data types
Function prototypes
Descriptors
Functions
Stack dump:
0.      Running pass 'SROA' on function '@Env__create'
Segmentation fault (core dumped)
`
It's not always the same. Each time that I compile it I get a new message:
0.     Running pass 'SROA' on function '@Stdin__read_again'
0.      Running pass 'SROA' on function '@None_create'
The debug build of ponyc seems to work OK.

@sparseinference What prebuilt binaries would those be? Can you provide a link to where you got them and a the name of whatever links you used on that page? Thanks.

@SeanTAllen  they are here: http://llvm.org/releases/download.html#3.8.0

@sparseinference can you try out the directions that are in the README for installing via package manager and see if you get the same issue?

@SeanTAllen  - I would like to, but the LLVM APT repositories are completely messed up. The instructions for installing there are wrong and were last updated in January - even though 3.8 was released in March.
The latest APT packages that I can install from there are version 3.6.
It looks like the LLVM group has stopped maintaining the APT packages.
I saw something interesting yesterday: Apple is using version 3.9 in the development of the next version of Swift. I haven't tried that yet. Apparently Apple knows how to maintain and build LLVM (including the often missing LLDB debugger).

I guess this is a case where Debian is out in front of Ubuntu as they have spring APT repos.

The LLVM apt repos are indeed awkward, but not as messed up as you might think. The instructions make it seem like you should use the -3.8 apt repo to install llvm-3.8. But, in fact, you need to use the unversioned repos to do that.
So, for Wily, you need to use:
deb http://llvm.org/apt/wily/ llvm-toolchain-wily main
deb-src http://llvm.org/apt/wily/ llvm-toolchain-wily main

and then
sudo apt-get install llvm-3.8

Thanks @sylvanc  - I see that they updated the repositories for "wily" today!  I will install and retest.

@sparseinference if that works, please issue a PR against install instructions in the ponyc README and the install instructions in the tutorial?

I installed LLVM-3.8 from the llvm apt repository for "Wily". The actual version installed was 3.8.1.
I built ponyc (release and debug) and tested all the examples, on two different machines.
I could not reproduce the problem.

@sparseinference awesome. Can you PR the README for ponyc and the install instructions on the Pony tutorial?

@SeanTAllen - yes, I'll do that this weekend.

Thank you @sparseinference


Disable ProhibitUnusedVariable

Now, the policy ProhibitUnusedVariable have many false-positives of autocmd and map family.
So, we should disable temporary ProhibitUnusedVariable (until #104 are fixed).

Coverage remained the same when pulling 3a12061b60ab57c5a7248b8cec58c5a1e4412e74 on disable-unused-declaration into 8b02083115ed913bba9d70272c6bd606fa9d6eed on master.


program gives RTS error when I build it locally using nix-build or nix-shell + cabal build

From a fresh checkout and nix-build, I get the following error when I try to run the binary:
[jim@palatinate:~/hobby/seven-guis-vty]$ result/bin/seven-guis-vty-counter
seven-guis-vty-counter: user error (RTS doesn't support multiple OS threads (use ghc -threaded when linking))

I get the same error when using nix-shell and cabal build to build the binary.

Thanks Jimmy. Fixed in 91ebb274119c324902ef7b0f49a378f9730d19b7


PowerToys Run Calculating result copy failed

Microsoft PowerToys version
0.62.1
Running as admin

[X] Yes

Area(s) with issue?
PowerToys Run
Steps to reproduce
Open PowerToys Run, input math expressions, then press "enter" or click "copy the numbers to the clipboard"

``
✔ Expected Behavior
Successfully copy the number to the clipboard.
❌ Actual Behavior
Show a prompt, says "Copy failed", and the PowerToys Run's window will not response until click the "OK"  ( "确定" in screenshot ) button.

Other Software
No response

/bugreport

I just uploaded the report ZIP file.
I encountered this problem on Sept. 27, around 11 p.m.
(I just tried to reproduce this problem but found that the problem no longer exists.)

Hi there!We need a bit more information to really debug this issue. Can you add a "Report Bug" zip file here?  Then drag the zipfile from your desktop onto the GitHub comment box in this issue. Thanks!

i am receiving the same issue on unit conversion using power toys run.!
#21874


add object-merge method, docs, tests

Ref: #126

FYI, if you use reduce for a loop that sets a side-effect; to trick the type checker you'll still need to return something from the reducer. Here, I just use null as the fake accumulator value.


Revert "feat: add support for Nextcloud Cookbook"

Reverts coreruleset/nextcloud-rule-exclusions-plugin#91
Tests just failed for some reason.
I'm not sure if this is related to the changes I've made

/home/runner/work/_temp/0ad6bed8-3da3-4f0d-b043-7732a426a933.sh: line 7: docker-compose: command not found

Wrong one


Kammi Duplication

Kammi can be duplicated forever between players.
Steps:

One player uses a kammi so that the house spawns
Other player doesn't have a house spawn, instead the kammi doesn't activate and can be picked up

This also works for summon sadekivi.


System email address gets reset after restart

Hello!
We have a Jenkins deployment running on Openshift and whenever the pod gets restarted, the System Admin e-mail address gets reset to the default nobody.
I identified /opt/openshift/configuration/jenkins.model.JenkinsLocationConfiguration.xml.tpl file as the template that is used on every startup. It is used to generate the location configuration file but only the Jenkins URL is substituted so the adminAddress field gets reset. I couldn't find a way to persist the email address after restarts. Could this be a bug or is there another way to keep the email address after restarts?

This is still an issue for us. Is there a chance this will be fixed?

@gaborfinta do you have the possibility to use the casc plugin to configure that?
The default casc config is in /var/lib/jenkins/proxy.yaml

We do not use that plugin.
Since the configuration file is a template file, it would be the best to substitute all values in it. For example, the email address would get its value from a "JENKINS_EMAIL" environment variable.


remove C++ from default build

https://github.com/twosigma/beakerx/issues/5420

on mac, this is trivial for most devs since they should already have xcode.
on linux, installing clang is easy.
the plugin doesn't work on windows, we should not build and install it.

3 is a code change, 1 and 2 are documentation for dev dependencies.

In my own personal opinion, you should remove as much as possible from default distribution and add additional kernels as plugins. Basically I need only groovy and python, and I am probably not alone.
Clang has a distribution for windows, but configuring toolchains could be a headache. Specifically if one does not use it and does not need it.

Isn't this what was suggested here? https://github.com/twosigma/beakerx/issues/5135

No, it is not. You can make any kind of build from the one repo, just using different gradle tasks or tasks with different parameters. You do not need separate repositories for that.
I am talking about release distribution whenever it happens. It was a bit annoying in the old beaker to have all this kernel buttons if I need only two or three. It is a minor problem, but distribution size is a problem. For example, you need jdk instead of jvm to allow java kernel. Does anybody use it? Or Node. Why do I need it if I never use it? Etc.

agreed the kernels should be independent packages.

Just tried to reinstall everything. Works without additional problems with standard clang distribution on Windows. Still, I think that it should be removed from minimal distribution.

cutting C++ from 0.1


[Android 12] awayAnimationDuration issue

Hello,
First of all, thanks a lot for this awesome package ! 🙏🏻
Since I've upgraded my device for Android 12, I've been having rendering issues. The awayAnimationDuration property doesn't seem to work anymore.
Code
CircularParticle(
  awayRadius: 90,
  numberOfParticles: 60,
  speedOfParticles: 0.2,
  height: MediaQuery.of(context).size.height / 3,
  width: MediaQuery.of(context).size.width,
  onTapAnimation: true,
  particleColor: Colors.white.withAlpha(40),
  awayAnimationDuration: Duration(milliseconds: 1000),
  maxParticleSize: 8,
  isRandSize: true,
  isRandomColor: false,
  awayAnimationCurve: Curves.easeInOutBack,
  enableHover: true,
  hoverColor: Colors.white,
  hoverRadius: 30,
  connectDots: true,
)

Video
https://user-images.githubusercontent.com/48014443/141338425-a460578d-7f86-40ad-88ed-7b14bc392a8b.mp4
Config
Device: Pixel 4A (5G)
OS: Android 12
Flutter version: 2.2.1
particles_flutter: ^0.1.4

Hello again,
It seems the problem came from Android 12. I've updated my OS yesterday and the problem doesn't appear anymore. 🙏🏻
I hope it will help others!


Array.find has strange behaviour/updates

Hi everyone, I hope you are doing well.
I found a strange behaviour when I use Array.find method, I'm not sure what's happening.
Here is a demo : https://stackblitz.com/edit/react-starter-typescript-bjbywy?file=App.tsx,store.ts
If you click on the button "Select", it will select an estimation and print its id above.
Then click delete :

If you use the following code, the selected id above takes the next one in the estimation array :estimationSelected: () =>
   appState$.estimations.find(
    (e) => e.id.peek() === appState$.estimationIdSelected.get()
   ),

If you use this code, the id is removed and works as expected :

  estimationSelected: () =>
    {
      let index = appState$.estimations.findIndex(
        (e) => e.id.peek() === appState$.estimationIdSelected.get()
      );
      return appState$.estimations[index];
    }

The only thing happening with estimationIdSelected is estimationIdSelected.set('') in the deleteEstimation method.
Why the code behaves like if I was doing estimationIdSelected.set(// next item in the array) ?
Any idea why this is happening guys ?
Thanks and hope it can helps !

Thanks @mkhennoussi, I used your example to write a failing test and will try to fix it.
Basically what's happening is that it first creates a direct link to the array at index 0. Then when you delete the element at index 0 it's still referencing the observable at index 0.
Of course this should be fixed but for now I think in your example it would be much better to use an object keyed by id. Like:
 interface AppState {
    estimations: Record<string, Estimation>;
    estimationIdSelected: string;
    estimationSelected: Estimation;
}

Then you wouldn't need to find by id, because that's easy in a record. And the observable linking would behave correctly because you'd have an observable pointed to an id instead of an index in an array.

Ok thanks @jmeistrich , it makes perfectly sense to me !

This should be fixed in alpha.27. Thanks for the report! I'll close the issue but please reopen it if it's still not working right.


[QUESTION] deps.dev API Usage?

Hi maintainers,
Our project - HUSTSeclab/criticality score takes advantages of deps.dev API to get dependency count rathre than bigquery, which fixes the issue #493 in ossf/criticality_score. To be specific, we directly use the repository name as package name, filter out critical files as signal (e.g., setup.py in pypi) to get the ecosystem, and finally use both as parameters to invoke deps.dev API and get dependency count. However, this might introduce false alarm since the repo name does not mean its package name.
Any idea? It seems we still miss a relationship between github URL and package name.

There is GetProjectPackageVersions that returns the mappings between a project and package versions. Is this helpful?


Site down

https://kubernetes.io/ is down
(looks like TLS issue)

Note: accessing site from some geographical locations is ok, and from other locations shows:
with curl/wget:
Connection reset by peer
in firefox:

Secure Connection Failed
The connection to kubernetes.io was interrupted while the page was loading.

Was trying with tor browser

I get the same issue in Asia. My partner in the US cannot access also.

If someone really needs to access the site now you can use tor browser, and try with different tor circuits:

It'd be great to have details of locations (IP address ranges, perhaps?) from where the site can't be reached.
/triage needs-information

the site was down on Saturday at 11 a.m (UTC) and it was down in about 3 hours. This issue can be closed now.


Refactor some disconnect error handling

This addresses three issues.

res.end(reject) was used to resolve a Promise that the ServerResponse is closed.  As far as I could tell, the res.end callback was not fired.  I don't think we need to really wait for it to do so; there is no reason to block the KafkaSSE disconnect() call on this, as it should end eventually asynchronously if we don't.

The KafkaConsumer was blocking on the sse.end (or res.end) Promise.  If this Promise didn't resolve, the KafkaConsumer wouldn't be closed.  Instead, use Promise.all to disconnect the KafkaConsumer and the SSE ServerResponse in parallel.

KafkaSSE disconnect() was being called multiple times for every ClientRequest and ServerResponse end event.  Now it should only be called in response to the first one that fires.

Something went really wrong with this PR. I think travis reverted to an old commit.  Abandoning and submitting a new PR.


push_to_pulp: only publish if pulp_sync not configured

Coverage increased (+0.04%) to 88.249% when pulling 8eac124dc4aea276cf1557bbcc0d7af7c2f4cf2c on pulp_publish into 42c5cb05f32e97b8dbaaa5b48e4795fe2233526f on master.

Coverage increased (+0.04%) to 88.252% when pulling f8597b9265e21f42e7185a0fcd0f66863cb7c70d on pulp_publish into 42c5cb05f32e97b8dbaaa5b48e4795fe2233526f on master.

Log message added for when publishing is deferred.


Fix status command to accommodate teams changes

Cleans up the teams concepts in various commands.
Closes https://github.com/netlify/product/issues/190

WIP do not merge.


getCommandExecutor() is deleted after redisson 3.15.1

this project can not support the latest redisson, check that redission deletes the function getCommandExecutor()  after ver 3.15.1

@Tiger0oo0 Thanks, will check it out ASAP

@Tiger0oo0 Hi, can you share a link to what you're referring?

@danitseitlin hi, seems i made a mistake.


Trying to add image to a button

Describe the bug
I'm trying to draw a image on a button with .image or .set_image attributes but they neither works, with .image i have TypeError:
TypeError: 'pygame.Surface' object is not callable
To Reproduce
Steps to reproduce the behaviour:

Create a button
Draw a button on a screen
Set a Image

Platform and software (please complete the following information):

OS: Windows 10
Pygame GUI version Newest One
Pygame version Newest One

Additional context
Code:
self.draw = pygame_gui.elements.UIButton(pygame.Rect((self.x, self.y), (150, 40)), self.text, self.manager,
None, self.text_tip)
self.draw.set_image(screen,'LVLUP.bmp')
or:
self.draw = pygame_gui.elements.UIButton(pygame.Rect((self.x, self.y), (150, 40)), self.text, self.manager,
None, self.text_tip)
self.draw.image(screen,'LVLUP.bmp')

OK, that's not the right way to add an image to a button.
There are two approaches:

For a static image (i.e. one the button has on it all the time in the button state) use the theming file to add an image, you can add an individual image to a specific button with an object_id theming block or you can add the same image to a group of buttons with class_ids, or all buttons with the 'button' element ID. There is some documentation on the image syntax for buttons here:

https://pygame-gui.readthedocs.io/en/latest/theme_reference/theme_button.html#images

For dynamic images - say you want to add something to a button after some event in your game, but it's not always there. This is more tricky because lots of things can cause the button's image to be redrawn, but there are a few sub steps to try:

load your image into a surface - generally you want to do this only once as loading data is slow, that's why the static images are setup how they are. You do this with something like loaded_image_surface = pygame.image.load('file_path_here.bmp').
Buttons have multiple states. When you hover over a button, click it, or disable it switches to a different image surface. To make your dynamic image stick around you ideally want to paste it onto whichever states you want it to be on.  All these surfaces can be found at button.drawable_shape.states['state_id_here'].surface with the normal state id being 'normal'.
Once you have the state surface or surfaces you want, you'll need to blit your loaded dynamic image onto it so you don't lose the original surface data. e.g. button.drawable_shape.states['normal'].surface.blit(loaded_image_surface, (0,0))
If you've added your image to the currently active button state you'll also want to let the button know by setting button.drawable_shape.active_state.has_fresh_surface = True

I think that should work for most cases, but if you redraw the button for any reason you'll have to reset the dynamic image on it and it takes a few frames to load all the button states into memory so you might want have to handle that.
Likely the easier approach is to stick to static images for most scenarios and just switch the button out to an identical one with the image on it if you want to add an image to it dynamically.
Currently there is no extra support for more than one image on a button, aligning images on a button or any sort of animated series of images on a button. It's possible they might be added in the future but are not planned for the immediate future.

Got this error
UserWarning: Unable to load resource with path: C:\Users\Akush\Desktop\PythonProjects\untitled\ClickerGameProject
warnings.warn(str(loading_error))

here is my theme.json:
{
"button":
{
"images":
{
"normal_image": {
"path":"C:\Users\Akush\Desktop\PythonProjects\untitled\ClickerGameProject",
"resource":"LVLUP.bmp"
}
}
}
}

Usually we use relative paths from the working directory, so if LVLUP.bmp is in the same directory as your script then you just need:
{
    "button":
    {
        "images":
        {
             "normal_image": {
                 "path": "LVLUP.bmp"
             }
        }
    }
}

How to specifical image postion on a UIButton, if image rect is smaller than button's.
To implement a vivid button with an icon a head the text.

Right now there is no way to set the position in the theming data, images are just always centred. It's something I would like to change eventually, along with support for multiple images on elements.
The easiest approach right now, assuming the button is statically sized, would just be to pad the image itself with transparent pixels so it appears where you want in the final button.

I am using icon for uidropdown in this way, and have to care for all states like expaned/closed/selected/normal...


Quick Accent cleaner activation

Description of the new feature / enhancement
I would like Quick Accent to function more like the macOS version - rather than needing to hold the key and then press a modifier, have it able to over-ride the auto-repeat option on a key (I rarely want to type 20 e's but often want to put an umlaut on a letter)
currently managing the auto-repeat/activation means that I end up pressing and holding "e" and the press space, but the first "e" has already appeared, when I select the accented character I end up with eë and have to remove the first e (the macOS also allows mouse navigation, as once present stays active until 'esc' or a different letter is typed)
Scenario when this would be used?
cleaner entry of accented characters
Supporting information
No response

/dup #20958


Revert "update to onnx 1.8.1"

Reverts onnx/onnx-mlir#579

Jenkins Linux s390x Build #586 [push] Revert update to onnx 1.... started at 17:37

Jenkins Linux amd64 Build #588 [push] Revert update to onnx 1.... started at 16:37

Jenkins Linux s390x Build #586 [push] Revert update to onnx 1.... passed after 52 min

Jenkins Linux amd64 Build #588 [push] Revert update to onnx 1.... passed after 55 min


[feature] configuration reference

Here is the Kong configuration reference. I tried to be as inspired as possible for the intro text but well, it wasn't that efficient...
Also I am not sure about the side menu in docs.html.
@Nijikokun Please review, rephrase, reword :)
@thefosk I still don't know what nginx_plus_status really does. Could you please update the PR or explain here.
Depends on Mashape/kong#162 being merged.

Can we fix #48 in this PR?

Alright, on reviewing it, and yes @montanaflynn this will fix #48
For the time being @thibaultCha nginx_plus_status does this if you were wondering: http://getkong.org/plugins/nginx-plus-monitoring/

Yeah I know it's for the plugin, but I don't get why it's needed exactly.

No this is correct. Kong.yml is not

My apologies, I was going by kong.yml since there was no example


Spellcheck in Linux

The only language available is US English but I my self is and have Swedish as default language. On my Mac there is a choices for witch language I can use. And I know that I have Swedish dictionary installed.

Hi @artfors. I'm really sorry for the confusion here, unfortunately Ghost 1.0 is currently using the custom spellcheck built into SimpleMDE, which only supports US English at the present moment. We're aware this is not ideal, but the process of fixing this is not going to be quick.
There's an issue here to track the need to hide the confusing dictionary setting in Ghost Desktop: https://github.com/TryGhost/Ghost-Desktop/issues/307
We're also working on upgrading Ghost's editor so that it will support the browser/OS spellcheck again and you can also see two related upstream issues for SimplemDE here and here.
At the present moment, there's no way for Ghost-Desktop to support spellcheck in other languages, unless one of these upstream issues is fixed. As this is not a problem with Ghost-Desktop (other than the setting, which is tracked in a different issue) I'm going to close this.


AST: Assign interface types to ParamDecls

First, ensure all synthesized ParamDecls have both a contextual type and
an interface type.
For ParamDecls written in source, add a new recordParamType() method to
GenericTypeResolver. This calls setType() or setInterfaceType() as
appropriate.
The ParamDecl::createUnboundSelf() method is now only used in the parser,
and no longer sets the type of the self parameter to the unbound generic
type. This was wrong anyway, since the type was always being overwritten.
This allows us to remove DeclContext::getSelfTypeOfContext().
Also, ensure that FuncDecl::getBodyResultTypeLoc() always has an interface
type for synthesized declarations, eliminating a mapTypeOutOfContext()
call when computing the function interface type in configureInterfaceType().
Finally, clean up the logic for resolving the DynamicSelfType. We now
get the interface or contextual type of 'Self' via the resolver, instead
of always getting the contextual type and patching it up inside
configureInterfaceType().

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test


Can't install PromiseKit using CocoaPods

After trying to integrate pod "PromiseKit", "~> 6.8" in my project I got the error below every time, by only commenting out this pod I could get CocoaPods to work with all my other pods. To ensure it was PromiseKit I made a new fresh project with only this pod & got the same error. Integrating with Carthage works fine but I really want to use it in CocoaPods. Below is my error Stack. Can you tell me what it's wrong?
Analyzing dependencies
――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
Command
/usr/local/bin/pod install

Report

What did you do?

What did you expect to happen?

What happened instead?

Stack
   CocoaPods : 1.9.1
        Ruby : ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]
    RubyGems : 3.0.3
        Host : Mac OS X 10.15.3 (19D76)
       Xcode : 11.3.1 (11C504)
         Git : git version 2.21.1 (Apple Git-122.3)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
Repositories : master - git - https://github.com/CocoaPods/Specs.git @ 0ac3e04f3d9f371b4338d90905046e3034e94505

               trunk - CDN - https://cdn.cocoapods.org/

Plugins
cocoapods-deintegrate : 1.0.4
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.0
cocoapods-stats       : 1.1.0
cocoapods-trunk       : 1.4.1
cocoapods-try         : 1.1.0

Podfile
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'deleteME' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!
  pod "PromiseKit", "~> 6.8"
  # Pods for deleteME

  target 'deleteMETests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'deleteMEUITests' do
    # Pods for testing
  end

end

Error
JSON::ParserError - 416: unexpected token at '{
      "name": "UIImageP'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/json/common.rb:156:in `parse'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/json/common.rb:156:in `parse'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/specification/json.rb:61:in `from_json'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/specification.rb:742:in `from_string'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/specification.rb:716:in `from_file'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/source.rb:186:in `specification'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/specification/set.rb:58:in `block in specification_name'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/specification/set.rb:56:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/specification/set.rb:56:in `specification_name'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/cdn_source.rb:216:in `search'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/source/aggregate.rb:83:in `block in search'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/source/aggregate.rb:83:in `select'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.9.1/lib/cocoapods-core/source/aggregate.rb:83:in `search'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/resolver.rb:416:in `create_set_from_sources'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/resolver.rb:385:in `find_cached_set'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/resolver.rb:360:in `specifications_for_dependency'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/resolver.rb:165:in `search_for'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/resolver.rb:274:in `block in sort_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/resolver.rb:267:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/resolver.rb:267:in `sort_by'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/resolver.rb:267:in `sort_dependencies'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/delegates/specification_provider.rb:53:in `block in sort_dependencies'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/delegates/specification_provider.rb:70:in `with_no_such_dependency_error_handling'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/delegates/specification_provider.rb:52:in `sort_dependencies'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:288:in `initial_state'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:210:in `start_resolution'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:168:in `resolve'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/resolver.rb:94:in `resolve'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer.rb:1065:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer.rb:1063:in `resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/installer/analyzer.rb:124:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/installer.rb:410:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/installer.rb:235:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/installer.rb:234:in `resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/installer.rb:156:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.9.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
[!] Oh no, an error occurred.
Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=416%3A+unexpected+token+at+'{
++++++"name"%3A+"UIImageP'&type=Issues
If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new
Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md
Don't forget to anonymize any private data!
Looking for related issues on cocoapods/cocoapods...
Found no similar issues. To create a new issue, please visit:
https://github.com/cocoapods/cocoapods/issues/new
[!] Automatically assigning platform iOS with version 13.2 on target deleteME because no platform was specified. Please specify a platform for this target in your Podfile. See https://guides.cocoapods.org/syntax/podfile.html#platform.

Report to CocoaPods.


Error handling

A fetch() promise will reject with a TypeError when a network error is encountered or CORS is misconfigured on the server-side, other situations are not. is this library the same?

Yes!
const http = xior.create({});

http.get('https://github.com').catch((e) => {
  console.log( e instanceof TypeError, e);
  throw e;
});

ok, thanks


fix: ci actions with docker

Signed-off-by: Gaius<EMAIL_ADDRESS>
Description

Fix ci actions with docker.

Related Issue

Motivation and Context

Screenshots (if appropriate)
Types of changes

[x] 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 change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

Codecov Report

Merging #1613 (ecf58eb) into main (5fd369b) will increase coverage by 41.72%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           main    #1613       +/-   ##
=========================================
+ Coverage      0   41.72%   +41.72%
=========================================
  Files         0      125      +125
  Lines         0    11476    +11476
=========================================
+ Hits          0     4788     +4788
- Misses        0     6179     +6179
- Partials      0      509      +509

Flag
Coverage Δ

unittests
41.72% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.


Ap use for Nautical means

We use this ap to track a phone on a ship at Sea.  Is it possible to have a number of new options:

Ability to select speed in Knots as well as KMH and MPH (I have been informed that the default is knots if you do not select MPH or KMH)

Ability to see Lat and Long in Degrees Minutes and seconds (At moment it is displayed in Decimal Degrees (DD) maybe have an option to display in Degrees Decimal Minutes (DDM), and Degrees Minutes and Seconds (DMS)

Ability to display distance in Nautical Miles as well as Miles and Kilometers.

Thank you.
Ian

Server-side issues should be here:
https://github.com/tananaev/traccar

Sorry - moved!


Question about Passwordless Plugin's Functionality!!!

I am trying to understand if I might be misunderstanding how the passwordless plugin works or if it’s behaving as expected.
When I make a POST request to /api/passwordless/send-link, it successfully sends an email with a link. However, the URL provided in the email is not accessible via a browser.I can still GET operations, JWT token gen via CLI, and I can see a new user inside USER  to the Collection Types with their TOKEN as a separate type tooo.. and related details.
What I initially expected was that, when I click invite new user in the Administration panel (GUI), it generates a URL that I could share with the user. When the user accesses this URL via a browser, they would be presented with a registration portal where they can complete their account setup. I thought the plugin would automatically send this link to the user via email.
Can someone clarify the exact use case of the plugin and confirm if it works this way or differently?

Hi! Thank you for the question!
The passwordless plugin gives ability to implement passwordless login for your site, not for admin panel of strapi.
In URL you can find token which you should provide for the following call:
GET /api/passwordless/login?loginToken={tokenFromEmail}

After the call you will receive JWT token

Heyy andrey thank you for the responce, My question was ur JWT , reqs all are working fine in the cli but i cant find a place where that user can access the portal , yes on cli he can use the token from mail and get JWTs and its being shown on Content Manager , But where will the user access the portal ?? The email link on browsers gives this responce
{
  "data": null,
  "error": {
    "status": 404,
    "name": "NotFoundError",
    "message": "Not Found",
    "details": {

    }
  }
}

Even though on CLI i can use that token to create JWTs...


Questions for a conference talk

Hello, I'm giving a conference talk on Saturday, I'm spending a few slides on Modin. I have little practical experience, I've dabbled in recent months and my current benchmarks are confusing. I've read "Towards Scalable Dataframe Systems" (2020), "Scaling Interactive Data Science Transparently with Modin" (2018) and your site.
I've also queried colleagues and of the few that have used Modin their advice has been quite mixed (some had speed-ups, some had slow-downs, some had crashes). I'd like to tell a sensible story so I have a couple of questions, if you have any input it'd be very much appreciated (an apologies for the short timeframe).
Am I right thinking that if I use the current version of Modin + Ray, if I take a DataFrame (in RAM with say 100_000_000 rows) and instantiate a Modin Pandas DataFrame, then a Ray copy will be built? Using my ipython_memory_profiler to track RAM usage this seems to be the case.
import os
os.environ["MODIN_ENGINE"] = "ray"  # Modin will use Ray
import modin.pandas as pd_md # setup modin to use Ray
import pandas as pd
import numpy as np

NBR = 100_000_000 # total RAM usage circa 200MB
df = pd.DataFrame({'a': np.random.uniform(0, 100, NBR), 'b': np.random.uniform(0, 100, NBR)})
df['c'] = df['a'] < 50
# costs 1.6GB, total RAM usage circa 1.8GB

df_md = pd_md.DataFrame(df)
# costs a further 2.6GB, total RAM usage circa 4.4GB

Does the above meet your expectation? I'm on an Intel 64 bit laptop, 32GB RAM, 4 i7 cores. Why would the Modin df cost 1.5x the RAM of the Pandas df?
With the above dataframe and some simple benchmarks I'm seeing Modin under-perform Pandas. These benchmarks are performed using %timeit in a Notebook, on multiple restarts of the kernel, without running out of RAM. I note for Modin in htop lots of "high red cpu" which indicates high kernel API calling, which might related to high memory traffic (but I've not diagnosed beyond that).
df['a'] + df['b'], Pandas circa 240ms, Modin circa 14s
df['a'].median(), Pandas 2.9s, Modin 5s (Modin has wide variance on this, %timeit can report 3s-7s as its result!)
df['a'].isna(), Pandas 100ms, Modin 80ms (Modin consistently a bit faster)
df['a'].max(), Pandas 600ms, Modin 400ms (Modin consistently a bit faster)
df['a'].mean(), Pandas 611ms, Modin 4.5s
df.groupby('c').mean(), Pandas 2.4s, Modin 12s

The above benchmarks are just microbenchmarks on 100M rows of 3 columns of randomly generated data, they're certainly not clever but they weren't giving me the results I was expecting.
Can you give some guidance as to whether I'm seeing results you wouldn't expect? Perhaps 100M rows is too few and you'd suggest more?

Hi @ianozsvald thanks for the question!
A couple of notes on the Modin architecture at a high level then I can answer more specifics:

Modin is a column store, and can support billions+ of columns. What this means in practice is that more columns=more parallelism. When a particular operation is done on a single column, there is a limit to the parallelism possible based on this architecture.
Not everything is optimized yet, but we are working on them. Joins (df['a'] + df['b']), mean, median will all be improved with better optimization in the near future. They go through similar codepaths (except for joins of course). The same is true for the groupby.mean`. There are certainly lots of improvements in the works that I am excited about. Unfortunately engineering time has been the biggest bottleneck for these improvements, not limitations in the architecture.
Modin is optimized for ingesting data from file sources, the performance going from an in-memory numpy array or DataFrame can sometimes be worse.
Modin relies on Ray (in this case) for both execution and storage, so Ray's bottlenecks are our own. Modin stresses Ray harder than any other application, which may be why crashes were observed. I too have observed some crashes and report them to the Ray team.

Does the above meet your expectation? I'm on an Intel 64 bit laptop, 32GB RAM, 4 i7 cores. Why would the Modin df cost 1.5x the RAM of the Pandas df?

Ray is making a copy of the data into its object store, and then freeing the memory from the task. What you are seeing is probably those Python workers in the process of freeing all the memory. In general, memory is something we're working to optimize, and soon (by July) we will be decoupling the execution from the storage so we can optimize this better.

The above benchmarks are just microbenchmarks on 100M rows of 3 columns of randomly generated data, they're certainly not clever but they weren't giving me the results I was expecting.

A couple of observations:

All operations were done on a single Series. We have limited optimizations in place for single Series optimizations, most of the time users are not bottlenecked by these operations. We focused on optimizing the expensive parts of DataFrame computation: e.g. read_csv or expensive apply functions or functions on larger DataFrames. The center of our library is around making users more productive and we focused on the pain points.
I can reproduce your numbers specifically, but if I rewrite it slightly to be centered around the DataFrame, Modin is often faster (4-core i7 on MacOS as well):

# Wrote data to file to ingest with `read_csv`
df = pd.read_csv("100mx3.csv") # Pandas 35.4s, Modin 12.1s
df + df # Pandas 2s, Modin 3.55s
df.count() # Pandas 1.05s, Modin 57ms
df.isna() # Pandas 163ms, Modin 14.7ms
df.groupby("c").mean() # Pandas 4.2s, Modin 8.9s
df.groupby("c").count() # Pandas 3.65s, Modin 1.73s
pd.concat([df] * 5) # Pandas 8.38s, Modin 2.13s

count and mean or median (with or without groupby) will have similar communication patterns when we can optimize mean/median. Since Modin is such a new library, it will be possible to find places where we haven't had a chance to optimize yet, Series especially.
Sometimes it helps to consider the aggregate time in seconds as well, in the example I showed, Modin saved the user 26 seconds overall even though 2 operations in that list were slower. Users often think in real time where benchmarks often are worried about some factor (n times faster/slower, etc.). Since I have made (primarily interactive) users the focus of this library, I aim to lower the aggregate time, not be too concerned with shaving milliseconds off for better performance plots. Does 10x really matter to users if they only save 90 milliseconds? I argue no, users will not even notice this speedup.
Thanks for the question, let me know if I can help at all. If you would like some slides from previous presentations, always happy to provide. Email<EMAIL_ADDRESS>and I will send any slides.

Can you give an example of where using many columns would yield a good
speedup that regular Pandas users would recognise?
General Pandas use (in my experience) is for long dataframes with column
based operations (which Dask might parallelize by row groups) and billions
of columns (even 1000s) is less common, from what I've seen.
How do operations like groupby or apply run faster with many columns?
Maybe you're referring to running these operations row-wise (axis=1) rather
than down a column?
Here's my root question for my talk - if I'm to suggest "if you're using
Pandas to do X and X is too slow, investigate Modin first before Dask or
Vaex", what would X look like?
I'm guessing single machine, data smaller than RAM, lots of RAM (your
recent paper had 100s GBs), and possibly "lots of columns" (but I'd love to
have a concrete example)?
Many thanks if an answer is possible, Ian
On Thu, 23 Apr 2020, 18:17 Devin Petersohn<EMAIL_ADDRESS>wrote:

Hi @ianozsvald https://github.com/ianozsvald thanks for the question!
A couple of notes on the Modin architecture at a high level then I can
answer more specifics:

Modin is a column store, and can support billions+ of columns. What
this means in practice is that more columns=more parallelism. When a
particular operation is done on a single column, there is a limit to the
parallelism possible based on this architecture.
Not everything is optimized yet, but we are working on them. Joins (df['a']

df['b']), mean, median will all be improved with better optimization in
the near future. They go through similar codepaths (except for joins of
course). The same is true for the groupby.mean`. There are certainly
lots of improvements in the works that I am excited about. Unfortunately
engineering time has been the biggest bottleneck for these improvements,
not limitations in the architecture.

Modin is optimized for ingesting data from file sources, the
performance going from an in-memory numpy array or DataFrame can sometimes
be worse.
Modin relies on Ray (in this case) for both execution and storage,
so Ray's bottlenecks are our own. Modin stresses Ray harder than any other
application, which may be why crashes were observed. I too have observed
some crashes and report them to the Ray team.

Does the above meet your expectation? I'm on an Intel 64 bit laptop, 32GB
RAM, 4 i7 cores. Why would the Modin df cost 1.5x the RAM of the Pandas df?
Ray is making a copy of the data into its object store, and then freeing
the memory from the task. What you are seeing is probably those Python
workers in the process of freeing all the memory. In general, memory is
something we're working to optimize, and soon (by July) we will be
decoupling the execution from the storage so we can optimize this better.
The above benchmarks are just microbenchmarks on 100M rows of 3 columns of
randomly generated data, they're certainly not clever but they weren't
giving me the results I was expecting.
A couple of observations:

All operations were done on a single Series. We have limited
optimizations in place for single Series optimizations, most of the time
users are not bottlenecked by these operations. We focused on optimizing
the expensive parts of DataFrame computation: e.g. read_csv or
expensive apply functions or functions on larger DataFrames. The
center of our library is around making users more productive and we focused
on the pain points.
I can reproduce your numbers specifically, but if I rewrite it
slightly to be centered around the DataFrame, Modin is often faster (4-core
i7 on MacOS as well):

Wrote data to file to ingest with read_csv
df = pd.read_csv("100mx3.csv") # Pandas 35.4s, Modin 12.1s
df + df # Pandas 2s, Modin 3.55s
df.count() # Pandas 1.05s, Modin 57ms
df.isna() # Pandas 163ms, Modin 14.7ms
df.groupby("c").mean() # Pandas 4.2s, Modin 8.9s
df.groupby("c").count() # Pandas 3.65s, Modin 1.73s
pd.concat([df] * 5) # Pandas 8.38s, Modin 2.13s
count and mean or median (with or without groupby) will have similar
communication patterns when we can optimize mean/median. Since Modin is
such a new library, it will be possible to find places where we haven't had
a chance to optimize yet, Series especially.
Sometimes it helps to consider the aggregate time in seconds as well, in
the example I showed, Modin saved the user 26 seconds overall even though 2
operations in that list were slower. Users often think in real time where
benchmarks often are worried about some factor (n times faster/slower,
etc.). Since I have made (primarily interactive) users the focus of this
library, I aim to lower the aggregate time, not be too concerned with
shaving milliseconds off for better performance plots. Does 10x really
matter to users if they only save 90 milliseconds? I argue no, users will
not even notice this speedup.
Thanks for the question, let me know if I can help at all. If you would
like some slides from previous presentations, always happy to provide.
Email<EMAIL_ADDRESS>and I will send any slides.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/modin-project/modin/issues/1390#issuecomment-618528027,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACCWOQQGPCVAWOJEPW6243ROBZZDANCNFSM4MO64RBQ
.

Looking at the "Towards Scalable Dataframe Systems" paper I'm confused in "4.3 Preliminary Case Study". This section talks of "up to 1.6 billions rows" but doesn't mention how many columns are involved (but you state above that it is the columns that are parallelised, less so for the rows). Do you know how many columns you had?
In this section the "map" gives a reasonable speed-up (and presumably is using more than 1 column?).
The "groupby(n)" example gives a better speed-up but the text states "group by the non-null passenger_count column and count the number of rows in each group" - so surely that's just using 1 column for the groupby?  How come it is so much faster than "map" (and I'm assuming you've got many columns for map, maybe I'm wrong?).
The "groupby(1)" result is not as great as "groupby(n)" but it sounds like it is checking all items on a row, so I'd have expected that to be faster (but that'll depend on the number of columns you have). Maybe it does more work due to more columns but has only an aggregation to perform (I see the note in the paper about 1 or many groups and shuffling)?
Apologies for the possibly naieve questions, maybe I've missed some detail in the paper?

Also - thanks for providing and supporting the project! My questions are simply due to inquisitiveness (and by working alongside with Dask I'm about to raise some questions over there too). Cheers!

Thanks for the link and the additional notes, most useful.

For completeness - my slides are here, the first event (Remote Pizza Python) is where I had a few slides on Modin: https://ianozsvald.com/2020/04/27/flying-pandas-and-making-pandas-fly-virtual-talks-this-weekend-on-faster-data-processing-with-pandas-modin-dask-and-vaex/
Thanks again for your help, I told attendees to come read this bug report if they wanted more insight into when they might use Modin.

Thanks @ianozsvald for the update, I am very happy to hear that your talk went well.


Issue ingesting blocks with block_height as -1

After following installation instructions when starting zcashd with -reindex I get the following error:
INFO[2019-04-23T19:11:05-07:00] Listening to 0mq on <IP_ADDRESS>:28332           app=zmqclient
INFO[2019-04-23T19:11:38-07:00] new block                                     app=zmqclient block_hash=382c4a332661c7ed0671f32a34d724619f086c61873bce7c99859dd9920aa605block_height=0 block_version=4 error="<nil>" sapling=false seqnum=0 tx_count=1
INFO[2019-04-23T19:11:38-07:00] new block                                     app=zmqclient block_hash=238d665a062b9007836a7d8f968ba2f3847af5f542733389a952cf9b86795502block_height=-1 block_version=4 error="<nil>" sapling=false seqnum=1 tx_count=1
ERROR[2019-04-23T19:11:38-07:00] new block                                     app=zmqclient block_hash=181ac2d6dc0ae73a82d7db472ac2879a7c24d8b12e5f73efc33a55549ea4f100 block_height=-1 block_version=4 error="storing compact block -1: UNIQUE constraint failed: blocks.block_height" sapling=false seqnum=2 tx_count=1
ERROR[2019-04-23T19:11:46-07:00] error on msg recv                             app=zmqclient error="interrupted system call"

In addition, viewing the sqlite database for the blocks table I see the following for block_height 0 and the compact encoding field:
 8,J3&aq*4$ala;|ْ

Running go 1.12.2 and zcashd v2.0.4 on Ubuntu 19.0.4.

This was a missing dependency. Ensured everything from https://github.com/zcash-hackworks/lightwalletd-z-cash/blob/master/Dockerfiles/lightwalletd/Dockerfile was installed and this cured it.

Actually, the above fix was coincidental and the underlying issue remains.
I have found that for blocks 1-16 this line always returns -1 https://github.com/zcash-hackworks/lightwalletd/blob/master/parser/block.go#L71 so if you ingest a couple of blocks 1-16 then you'll get the UNIQUE constraint failed error.
If you don't ingest any blocks 1-16 then everything works as it should.

The bug is caused by the fact that the parser doesn't account for how integers 1 through 16 are encoded in a CScript using their opcodes instead of a byte representation:
https://github.com/zcash/zcash/blob/8a95ba235d146d58c9a6883673fc5da4b9139d03/src/script/script.h#L365-L368

Thanks for the explanation!
Before this is fixed if anyone is having the same issue simply starting zcashd with -rescan before starting lightwalletd is a really simple workaround as then you'll simply miss those problematic first blocks.

@garethtdavies I'm not sold on my PR being fully robust or even a valid fix, but FWIW #37 appears to resolve this issue too on my local environment


Update homebrew formula

Current homebrew formula installs 0.9.1. Is updating this recipe to use the new version the responsibility of someone on your team?
Also, I wonder why it doesn't auto-include new releases despite using an appcast feed (appcast 'https://github.com/TheNewNormal/kube-solo-osx/releases.atom'). Probably I don't know how appcast works.

sorry it is not me who does homebrew formula or nether anybody from our team. must be some other person does it time by time. so i'm closing this one


Checklist: Remove Experiment

Context
This experiment has been set to default true for a release cycle now. Time to remove it.
Summary
Removes the feature flag for the checklist companion.
Relevant Technical Choices
n/a
To-do
n/a
User-facing changes
none
Testing Instructions
Checklist companion is now visible all the time, no more feature flag.
QA

[ ] This is a non-user-facing change and requires no QA

This PR can be tested by following these steps:

UAT

[x] UAT should use the same steps as above.

This PR can be tested by following these steps:

Reviews
Does this PR have a security-related impact?

Does this PR change what data or activity we track or use?

Does this PR have a legal-related impact?

Checklist

[x] This PR addresses an existing issue and I have linked this PR to it in ZenHub
[x] I have tested this code to the best of my abilities
[x] I have verified accessibility to the best of my abilities (docs)
[x] I have verified i18n and l10n (translation, right-to-left layout) to the best of my abilities
[x] This PR contains automated tests (unit, integration, and/or e2e) to verify the code works as intended (docs)
[x] I have added documentation where necessary
[x] I have added a matching Type: XYZ label to the PR

Fixes #7979

Karma test appears to be failing


v0.5.1 manual

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

@ngam @AdrianSosic @conda-forge/core hey folks, auto-generated PR was sitting around for a while, review and merge welcome for this manual one. Thanks!


multipul replica of hdfs-namenode supported?

kubectl get sts -n byconity
byconity-hdfs-namenode   1/1     11m

current replica of hdfs-namenode is 1,  does it support to scale?

I think we need a namenode proxy to support multiple namenode

Hi @wordhardqi , could you help to answer the question

https://github.com/ByConity/byconity.github.io/pull/169


Problem in installation

I run (as root) the following "bundle exec foreman start", and I get this.
07:50:43 web.1  | started with pid 9878
07:50:43 jobs.1 | started with pid 9880
07:50:49 jobs.1 | Warning: You're using Rubygems 1.8.23 with Spring. Upgrade to at least Rubygems 2.1.0 and run gem pristine --all for better startup performance.
07:50:49 web.1  | Warning: You're using Rubygems 1.8.23 with Spring. Upgrade to at least Rubygems 2.1.0 and run gem pristine --all for better startup performance.
07:51:53 jobs.1 | ## Set TWITTER_OAUTH_KEY and TWITTER_OAUTH_SECRET in your environment to use Twitter Agents.
07:51:53 jobs.1 | Twitter stream stopped ...
07:52:02 web.1  | [2015-07-21 07:52:02] INFO  WEBrick 1.3.1
07:52:02 web.1  | [2015-07-21 07:52:02] INFO  ruby 1.9.3 (2013-11-22) [x86_64-linux]
07:52:02 web.1  | [2015-07-21 07:52:02] INFO  WEBrick::HTTPServer#start: pid=9882 port=3000
07:52:53 jobs.1 | Queuing event propagation
07:52:53 jobs.1 | Queuing schedule for every_1m
07:53:13 jobs.1 | exited with code 0
07:53:13 system | sending SIGTERM to all processes
07:53:13 web.1  | terminated by SIGTERM
I do not press ctrl+c or anything else. It just close on it's own. DOMAIN on .env it's an IP on one of my interfaces. the port it's 3001 but it seems to be ignored.
Any hints? Tnx

Hi @Scinawa,
rubygems 1.8.23 looks quite old, which ruby version are you running? We only test huginn on ruby 2+, you can use rbenv or rvm to install a current ruby version.
If you just want to try out huginn the docker image is a great option.

Closing since we haven't heard back.  Hope it's working for you!


rustup-init.exe tries iOS install on Windows?!

I don't know why exactly it fails – CI is a harsh mistress – but at least the error messages are plenty confusing.
See any of the failing builds at https://ci.appveyor.com/project/llogiq/bytecount

I have the same problem when updating or installing nightly (don't occurs with stable).
It seems the manifest references the component "rust-analysis", but don't have any url for download it.

This is an upstream problem which should be fixed with the next nightly - rust-lang/rust#40106

Thank you!


[$1000] Pressing space bar while details page is opened, scrolls up the reports

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:

Click on an avatar in a money request
After the details page has opened, press space bar

Expected Result
Nothing should happen
Actual Result
Chats are scrolled up
Workaround:
unknown
Platforms:

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

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

Version Number: 1.2.78-0
Reproducible in staging?: y
Reproducible in production?: y
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:
https://user-images.githubusercontent.com/43996225/222602809-9e824b5e-3df6-4689-b11f-6c869a0ec559.mov
https://user-images.githubusercontent.com/43996225/222603060-e7762a4b-cc57-4aca-9567-6bb1ac209f2f.mp4
Expensify/Expensify Issue URL:
Issue reported by: @esh-g
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1677578613083529
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~017ddd7486addffc52
Upwork Job ID:<PHONE_NUMBER>098249728
Last Price Increase: 2023-08-08
Automatic offers:

fedirjh | Reviewer | 26060321
esh-g | Reporter | 26060323

Triggered auto assignment to @stephanieelliott (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@stephanieelliott Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

Yeah this is weird behavior. Made a small tweak to the issue description (changed report to request money), looks all set to go to a contributor for a fix!

Job added to Upwork: https://www.upwork.com/jobs/~017ddd7486addffc52

Current assignee @stephanieelliott is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @rushatgabhane (External)

Triggered auto assignment to @joelbettner (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

Proposal
Please re-state the problem that we are trying to solve in this issue.
After the details page has opened, press space bar will scroll the chats up.
What is the root cause of that problem?
This happens because the current StackView implementation that we have does not have focus traps. When we press space or up/down arrows, the keyboard event will be triggered on the body element and cause the chat to scroll up. (Chat scrolling up is normal behavior, just that it should not happen when a modal is opened on top)
What changes do you think we should make in order to solve the problem?

We need to add focus trap to the pages in the right sidebar, we can use this package https://github.com/focus-trap/focus-trap-react, and add the <FocusTrap> element in here https://github.com/Expensify/App/blob/f1769bc380c25d28e1c0bc75d449f2a1740f864b/src/pages/DetailsPage.js#L101
What alternative solutions did you explore? (Optional)
We can add the focus trap in the react-navigation itself, or wrap all our StackView with the focus trap instead of adding it in individual pages.

Looks like something related to react-navigation may have been mentioned in this issue discussion.
As a reminder, please make sure that all proposals are not workarounds and that any and all attempt to fix the issue holistically have been made before proceeding with a solution. Proposals to change our DeprecatedCustomActions.js files should not be accepted.
Feel free to drop a note in #expensify-open-source with any questions.

Proposal
Please re-state the problem that we are trying to solve in this issue.
When the details page is open, pressing on space bar will cause scroll down/up (based on the initial position).
What is the root cause of that problem?
As we can see, the chats section has a stack of components, with the details modal being the most recent one. Any scroll event triggered by the user (in this case, by pressing the space key) will be applied to the body element since the details page does not have a body element of its own. This means that the scroll event will automatically be applied to the parent component, which is a normal and expected behavior.
What changes do you think we should make in order to solve the problem?
As the problem is caused by normal behavior, I suggest simply disabling scrolling using the space key when the details page is open. Adding more complexity, packages, or changing the stack view behavior is not the best solution. Therefore, we need to add an event listener on the details page that listens for a "keydown" event with a code of 32 (space) in the componentDidMount(), and prevent the default action on the body, we should also add a little function to handle the event.
componentDidMount() {
       ...
       document.addEventListener("keydown", this._handleKeyDownEvent);
}

What alternative solutions did you explore? (Optional)
We also considered an alternative solution of disabling scrolling using the space key on all pages in the app by adding the listener on the app component. This ensures that the issue will not occur again.

📣 @you1996! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:

Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.

Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>

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

Is it expected that I am able to see this happening without having to open the details page, @rushatgabhane?

Yes, when the text field is not focussed.

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

✅ Contributor details stored successfully. Thank you for contributing to Expensify!

Not only pressing Space Bar scrolls up the reports, pressing Arrow Up scrolls down the page & pressing Arrow Down scrolls up the page while details page is opened or when the text field is not focused.

Hey @rushatgabhane can you please review these proposals? https://github.com/Expensify/App/issues/15631#issuecomment-1457663588 and https://github.com/Expensify/App/issues/15631#issuecomment-1459070158

It may be a good call to hold this for navigation reboot.

@joelbettner, @rushatgabhane, @stephanieelliott Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

Thanks for calling that our @s77rt! Chatted with @joelbettner and we are going to hold this one on the navigation reboot. Adding this to the tracking issue and putting on [HOLD].

@stephanieelliott Let's keep the issue open

Oops, yeah didn't man to close it 🙃, thanks @s77rt! I agree, let's keep it open!

Any word on the status with this bug? Still waiting on the navigation reboot?

Still waiting on the nav reboot! Latest status there:

Implementation still going strong. C+ has helped a lot with testing and identifying some bugs, we are now focusing on getting the first PR which addresses 3 issues merged in the navigation-refactor branch and move onto the other issues.

Popping in here for another status check on this.

Confirmed, I was also able to reproduce.
@stephanieelliott given that it has been a few months, how do we feel about opening this up to be worked on now, or should we still wait?

https://github.com/Expensify/App/pull/19263 was deployed to staging a few hours ago. Once it hits prod we will take this off hold.

The nav refractor has hit production, so reopening this one now.
We had some proposals from when this was originally opened in March, @rushatgabhane can you please review? https://github.com/Expensify/App/issues/15631#issuecomment-1457663588 and https://github.com/Expensify/App/issues/15631#issuecomment-1459070158

We had some proposals from when this was originally opened in March, @rushatgabhane can you please review? https://github.com/Expensify/App/issues/15631#issuecomment-1457663588 and https://github.com/Expensify/App/issues/15631#issuecomment-1459070158

Bump @rushatgabhane, can you please review the proposals?

Reapplying the Bug label to get another BZ member on this while I am OOO til July 30. Thanks @kevinksullivan,  I'll grab this back from you when I return!

@tienifr any word on this?

I'm going to be OOO for a good portion of next week and the week after that. Feel free to re-assign a different engineer if need be.

Bumping this in slack
https://expensify.slack.com/archives/C049HHMV9SM/p1687908425385029?thread_ts=1677578613.083529&cid=C049HHMV9SM

@rushatgabhane I think this issue was present even before the navigation refactor (Mar 3)

Let's take this to slack ^

I'm going to unassign myself while this is being hashed out in Slack. Feel free to re-assign me afterwards if needed.

Discussing in slack

@kevinksullivan could you please attach the link, i can't seem to find it

Hey, I'm from SWM.
I investigated this issue for a moment.

The FocusTrap solution sounds great and it'll probably solve another bug that I found during the investigation:
Bug: It is possible to select the message input bar and send a message in the background, while the details page is opened. I attach a video below.

Sending messages in the background
https://github.com/Expensify/App/assets/104823336/a991a7ea-171d-4c8e-91ee-c0798b1226bd

So we should confirm that the focus trap solves this issue as well.

If you need any assistance with the implementation or anything, I am ready to help.

@rushatgabhane can you take a look at @tienifr 's previous comment?

Proposal
Please re-state the problem that we are trying to solve in this issue.
When the RHP is open, the user can access and do things in the background.
From my observations, the user can in the background:

press the space to scroll the report page (described in this issue),
navigate using tab/shift+tab:
send a message in the background,
change reports,
attach files to the report,
probably a lot of different things...

What is the root cause of that problem?
Users can shift their focus outside the modal, allowing them to interact with elements in the background instead of solely within the intended modal.
What changes do you think we should make to solve the problem?
We should prevent users from focusing outside the modal. One option to do this is to use the focus-trap-react library.
We could add the FocusTrap to the ScreenWrapper with i.g. the shouldEnableFocusTrap option. We should probably also specify fallbackFocus when there are no focusable items in the modal.
<FocusTrap
    active={this.props.shouldEnableFocusTrap}
    focusTrapOptions={{
        fallbackFocus: () => this.fallbackRef.current,
    }}
>

We could also set shouldEnableFocusTrap to true as default, and disable the focus trap when needed (i.g. in the BaseSidebarScreen).
This would prevent any undesired interaction with the background and would ensure that all actions remain concentrated within the intended area. Moreover, implementing this solution would improve the accessibility of our application.

A quick PoC video
https://github.com/Expensify/App/assets/104823336/bda22588-467c-468f-a44b-99778d8f5e61

What alternative solutions did you explore? (Optional)

But the question still remains, can we implement focus trapping in react navigation? Or it's a flaw in our code?

I believe that doing that in our codebase might be a better solution. The issue here is that we have an RHP displayed as a modal. If the StackView would be full-screen, the issue probably wouldn't occur. In the react-navigation in the StackView we can't focus on the background views, the browser doesn't allow us to do that.

Bump @rushatgabhane

Proposal
*Please re-state the problem that we are trying to solve in this issue.
Scroll-up when pressing Space bar.
*What is the root cause of that problem?
If the Scroll view get the event of space bar triggered, the scroll view scrolls up the view.
*What changes do you think we should make in order to solve the problem?
We should remove the focus from the scroll view when you are pressing space bar.
*What alternative solutions did you explore? (Optional)
We can focus another component when pressing the space bar or set options to the scroll view.

Reassigning C+

Reassigning

@fedirjh will you be able to take this on?

Heads-up: So far no one identified the correct root cause and proposed right solution. This is neither related to navigation nor RHP modals.
This is easily reproducible on Report screen itself:
https://github.com/Expensify/App/assets/108292595/4ca204ce-c1e6-45c7-a9b4-53ae188f7854

I don't believe we should apply the focus trap to all modals.

You are right. We need to use it only in the RHP because it doesn't use the BaseModal component.
All other modals which use BaseModal already use ReactNativeModal component which uses the ModalFocusTrap from the react-native-web library.
We could try to reuse this code instead of adding a new library.

cc @tienifr Could you please update the root cause analysis to address this comment #15631 (comment) ?

I think that I identified the root cause correctly in my proposal:

Users can focus outside the RHP, allowing them to interact with elements in the background instead of solely within the intended modal.

I updated my proposal.

^ Still working through proposals

make RHP use the Modal component (which might be problematic) which takes care of the focus trap.

Nope, this doesn’t look like a valid solution to me. This will require another Navigation refactor.

This was just an alternative :) I should have marked it more explicitly.

We could reuse this code instead of adding a new library.

@kosmydel can you please elaborate on this point, how can we reuse the same code ?

I had an idea that it may be possible to use the same ModalFocusTrap as react-native-web uses. But after having a look, apparently it is not exported from the module. So it may be impossible without changes to that library. If it is preferred solution I can investigate it more.
This is how ModalFocusTrap is used in Modal in this library (GitHub link):
  <ModalFocusTrap active={isActive}>
    <ModalContent {...rest} >
      {children}
    </ModalContent>
  </ModalFocusTrap>

The code from the react-native-web is still much lighter than the react-focus-trap. But it is missing many props/methods which may be useful in the future.

To sum up, adding the focus-trap might be the less problematic solution.

@stephanieelliott FYI I am going OOO for a week, but you are on BZ so I won't add anyone else to keep this moving. Thanks!

Hey @fedirjh any thoughts on the additional context provided in this comment?

Bump on the above @fedirjh

Hey @fedirjh, I think you forgot to assign me to the issue. I am starting to work on the PR.

PR is up, awaiting C+ review

PR has been updated and reviewed, this one is moving along in the PR!

Hey @roryabraham, this one is waiting on your PR review!

Circled back to review the PR, but I heard through the grapevine that we are doing a feature freeze starting like now-ish to focus on shipping the features we need in time for some upcoming conferences.
I think that this bug and the associated solution of has a high risk-to-value ratio so should be put on HOLD according to the feature freeze (which should be publicly announced very soon).

The feature freeze has now been announced. I agree, let's put this on hold. Based on the post, ETA to resume is ~11th September.

The original PR (#24316) was reverted due to a few bugs, the new PR for this issue is https://github.com/Expensify/App/pull/27670
Still on hold — now held on #27938

Taking off hold, the blocking PR was merged! PR for this issue is https://github.com/Expensify/App/pull/27670, currently under review.

Still actively being reviewed

Still actively being reviewed

Some failing tests on the PR, @roryabraham looking for your input on the PR: https://github.com/Expensify/App/pull/27670

This PR was reverted - not ready for payment yet

Cross-posting update from reverted PR https://github.com/Expensify/App/pull/27670

we're reverting this PR since it caused the following blockers:
https://github.com/Expensify/App/issues/31687
https://github.com/Expensify/App/issues/31725
https://github.com/Expensify/App/issues/31734
Could you please work on the PR and a fix for the issues above?

@kosmydel is planning to work on this next week

Hey,
I've had a look at this issue. I've fixed two of three regressions (here is a draft of the new PR). The third one is reproducible on main, and being worked on by @kowczarz.

However, I've found out that we don't care about the tab functionality at all. We can try to go with the easier path, that uses focus trap only on the problematic screens from the original issue (that is e.g. ProfilePage). In that way, we would affect a few screens, instead of the whole app.
What do you think about this path? This would save us from another possible regression, as adding a focus trap is risky, especially since it affects almost every screen in the App (and it is almost impossible for us to test every screen). The downside is, that the focus trap would not be working in any other place.

So we can either:

Add a focus trap to every screen, risking another regression.
Safer option: add a trap to selected screens, but the tab navigation will still be broken in most of the screens.

cc @fedirjh, @luacmartins, @roryabraham

I think we should go with 1 and handle focus trap across the whole app, we already ran a regression test and found a few so I think as long as we fix those we should be ok.

I think we should go with 1 and handle focus trap across the whole app, we already ran a regression test and found a few so I think as long as we fix those we should be ok.

Sure! I've prepared a PR with fixes. One regression wasn't from my PR and will be fixed in this PR.
I will test it and make it ready for a review tomorrow.

Looks like we're currently HOLDing for https://github.com/Expensify/App/pull/32815

Also, I'm going to go ahead and make this lower-priority issue into a weekly

Looks like we're currently HOLDing for #32815
@roryabraham linked PR fixes regression which wasn't coming from my changes (but it was linked to my PR anyway), so I think we don't need to hold.

https://github.com/Expensify/App/pull/32815 was merged, so I think we can proceed here either way. Conflicts have been resolved in https://github.com/Expensify/App/pull/32800, currently waiting on @fedirjh's review!

PR is being actively reviewed!

PR is reviewed, but we're going to do the QA before merging.

Kicked off QA here

QA testing was completed (notes), no issues 🎉

PR is under review

@kosmydel reports this was unknowingly fixed by #ideal-nav. I wasn't able to reproduce this anymore. I think we should close it out?

Ha, well would you look at that!

Love it when that happens! Ok, given that we had 3 PRs reviewed (2 of which were merged),  I think payment is due here however the regression penalty would apply. Some quick math:
Original job price $1000

50% regression penalty PR 1 (#24316) = $500
50% regression penalty PR 2 (#27670) = $250

That would make the payout summary:

Contributor: @kosmydel N/A, expert contributor
Contributor+: @fedirjh $250 via Upwork (offer extended, please accept)

Upwork job is here: https://www.upwork.com/jobs/~0112187286e2fd23a2

All paid!

@kosmydel reports this was unknowingly fixed by #ideal-nav. I wasn't able to reproduce this anymore. I think we should close it out?

Hey, good to know that the issue doesn't occur anymore.
However, I want to confirm, if we don't want to introduce the FocusTrap anyway. It did not only meant to solve this issue, but also improved the accessibility and tab navigation on the web/desktop.
cc @luacmartins, @roryabraham

It did not only meant to solve this issue, but also improved the accessibility and tab navigation on the web/desktop.

@kosmydel can you be more specific about what accessibility problem it solved?

@kosmydel can you be more specific about what accessibility problem it solves?

Tab navigation is used together with e.g. VoiceOver on macOS to help people with visual disabilities.
Currently, if the e.g. RHP modals don't support focus trap, tab navigation is almost impossible (or at least cumbersome). We are "tabbing" outside the modal, which is probably not what a user expects after pressing the button that opens it. The navigation order is not correct.
Here is more info about navigation order.


manjaro kde?

i believe i would like to use this but i do not seem to be able to get it to run in any capacity

i believe i would like to use this but i do not seem to be able to get it to run in any capacity

Could you please elaborate? What kind of errors do you get? I originally developed this on Manjaro KDE specifically but I had restructured the code while not having access to my Manjaro machine so it should definitelly run on it.


PTT ID Setting Does Not Save Across Reboots

To reproduce:

Power on radio
Switch to MR/Channel Mode
Open menu, navigate to PTT ID
Set to Apollo Quindar
Exit menu
Transmit to hear PTT ID
Power off radio
Power on radio
Transmit to hear no PTT ID

If I had to guess, g_request_save_channel = 1 is not actually saving the PTT ID channel settings in the APP_time_slice_500ms() method?
I appreciate all of your work on this project!! (And sorry to add to your workload)

PTT ID is a per channel setting (and per VFO), so if you set it while on a channel, you have to save the channel to get it to remember. That's how all the per channels are. I was auto saving the channel for some per channel settings, but got told to stop doing it and revert it back.

It's the same with L/M/H TX power and various other settings, they are only remembered is you save the save after setting them.

 Thanks mate!

lol, the thought of being famous would finish me in an instant, I've always valued complete anonymity above most all things in life ;)

Well one of eleven rockstars then, that's close enough to anonymity right? :joy:


fix: increase service_name limit from 15 to 20 chars

Apparently MDNS never worked for service names longer than 15 chars, e.g. androidtvremote2. Not sure why the 15 char limit was there in the first place, increased it to 50. Opened an issue here: https://github.com/agnat/node_mdns/issues/264 but the repo looks quite inactive, so I don't expect a fix/response.

Reason for the 15 char limit: https://github.com/agnat/node_mdns/issues/264#issuecomment-1957108777


Passing externals, scripts, and localUrl in config

Current coverage is 100% (diff: 100%)

Merging #54 into master will not change coverage

@@           master   #54   diff @@
===================================
  Files          21    21
  Lines         478   475     -3
  Methods        56    55     -1
  Messages        0     0
  Branches       54    54
===================================
- Hits          478   475     -3
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update e1b289b...f80d8b6


Dependency on ExpoModulesCore makes it unusable in Bare RN project

Thanks for build a great lib, but looks like it explicitly uses ExpoModulesCore which is not available in bare RN project.

Other mentions of this issue https://github.com/nandorojo/zeego/issues/77

Has anyone fixed that? Is the error still present in my project?

I'm also facing this issue.

I think if you use the @next version, this limitation is gone.
Notice the example app on master doesn't use Expo. I was able to spin it up in a RN CLI project for a recent PR as well.

I can confirm that using the @next version (v5) happens to fix this issue.

I can confirm that using the @next version (v5) happens to fix this issue.


Introduce Request Id for binary port communication

Heads-up: There are several functional changes in this single PR just because each breaking change to the sidecar requires some coordinated merging effort between node and sidecar. Hence, it's more convenient to deliver such changes in one go.
This PR introduces:

the concept of "request id" to the binary port. This is used to dodge an edge case where it may happen that a response which has not been consumed is incorrectly served as a request to the next request. The corresponding PR in casper-sidecar is here.
Binary request header version - this will prevent binary port from trying to parse binary message headers of incompatible types
Promote binary port error code from u8 to u16, because we already have nearly 60 error codes
Additional unit tests verifying whether the binary message codec can properly handle large quantities of messages.
Additional tests to see if protocol version check is respected

Fixes: https://github.com/casper-network/casper-sidecar/issues/312

do-not-merge since the merge must be coordinated with the sidecar PR merge. Also, this should go in after the next RC is cut.

bors r+

bors r+

bors r+

bors r+


perf tool option is not working in the 2.4.0 release

Environment: CDP 7.1.7 kerberos and SSL enabled
hive-sre installed as non-root user, copied DB JDBC driver to $HOME/.hive-sre/aux_libs. sre and u3 worked. But, perf did not.

hive-sre perf tool did not accept --hadoop-classpath option
Without this option, I was getting "Driver not found" error

The attempt to copy the Hive JDBC driver to $HOME/.hive-sre/aux_libs did not work.

Fixed classpath loading.  Removed --hadoop-classpath option which was displacing the jdbc jars.