can't copy files from client to server

xrdp version
0.9.21
Detailed xrdp version, build options
xrdp <IP_ADDRESS>
  A Remote Desktop Protocol Server.
  Copyright (C) 2004-2020 Jay Sorg, Neutrino Labs, and all contributors.
  See https://github.com/neutrinolabs/xrdp for more information.

  Configure options:
      --enable-ipv6
      --enable-jpeg
      --enable-fuse
      --enable-rfxcodec
      --enable-opus
      --enable-painter
      --enable-vsock
      --build=x86_64-linux-gnu
      --prefix=/usr
      --includedir=${prefix}/include
      --mandir=${prefix}/share/man
      --infodir=${prefix}/share/info
      --sysconfdir=/etc
      --localstatedir=/var
      --disable-silent-rules
      --libdir=${prefix}/lib/x86_64-linux-gnu
      --libexecdir=${prefix}/lib/x86_64-linux-gnu
      --disable-maintainer-mode
      --disable-dependency-tracking
      --with-socketdir=/run/xrdp/sockdir
      build_alias=x86_64-linux-gnu
      CFLAGS=-g -O2 -ffile-prefix-map=/build/xrdp-QTF2mN/xrdp-<IP_ADDRESS>=. -fstack-protector-strong -Wformat -Werror=format-security
      LDFLAGS=-Wl,-z,relro -Wl,-z,now -Wl,--as-needed
      CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2
      PKG_CONFIG_PATH=/build/xrdp-QTF2mN/xrdp-<IP_ADDRESS>/pkgconfig

  Compiled with OpenSSL 3.0.15 3 Sep 2024

Operating system & version
Debian GNU/Linux 12 (bookworm)
Installation method
dnf / apt / zypper / pkg / etc
Which backend do you use?
xorg
What desktop environment do you use?
mate
Environment xrdp running on
qemu libvirt vm
What's your client?
microsoft offical client, xfreerdp on arch
Area(s) with issue?
Clipboard, File transfer / drive redirection
Steps to reproduce
copy file on the client with ctrl + c, paste it to the server
✔ Expected Behavior
it should copy the file to the machine where xrdp server is running
❌ Actual Behavior
it does nothing
Anything else?
clean install logs don't show interaction

The copy-paste functionality is provided by a component called xrdp-sesman. Assuming you can't copy-past text, the most likely reasons for this failure are:-

xrdp-sesman has failed. Use ps -fU <user> | grep sesman to look for this.
You've reconnected to an xrdp session while the original connection is still active. xrdp doesn't cope well with this. We're aware of it.

xrdp-sesman runs in a user context. The log file is in ~/.local/share/xrdp/xrdp-chansrv.$D.log where $D is the display number for the session (i.e. 10 for a DISPLAY of :10).

Can you copy-paste text?
Is sesman running for the user?
If so have you reconnected to an active session?

@matt335672 You meant xrdp-chansrv rather than xrdp-sesman.

Quite right - it's been a busy week! Thanks for the correction.
@Blourvim - replace xrdp-sesman with xrdp-chansrv in the above description and please accept my apologies for the inevitable confusion.


[BUG]  I can't use bloxtrap. whenever i try to open it a just see a half transperent line in the middle of my screen

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
So, my problem is that i cant use bloxtrap because of a bug, or i dont know. This image shows what I see whenever i try to open bloxtrap to install it

What version of Windows are you using? Open a Command Prompt and run the following command: dotnet --info Then, post a screenshot of what you see.

Which version of Bloxstrap did you download?

Which version of Bloxstrap did you download?

latest

Alright, I'll need to take a look at this.
By the way, maybe consider upgrading your USB drive.

Alright, I'll need to take a look at this. By the way, maybe consider updating Windows.

rahh, i acci

Pretty sure this was fixed in the v2.4.0 update. Also we don't recommend running pre-release Windows 11 lol.

Sorry I just noticed this isn't an issue from 2023.


Designs from PengL792

Details are at https://www.authorea.com/users/778693/articles/913540-edx-phot1x-report-april-2024-course

First upload pull request.


#2656 #2655

42ff357 and b70a310 just changed the commit message to contain the downstream issue IDs.

ok to test

let me look at the failing tests

retest this please

@jamesnetherton "retest this please" does not work anymore?

@jamesnetherton "retest this please" does not work anymore?


Change images to empty list in protocode

Description
Due to coping sec-scanners-config we need to adjust the existing one by changing images to the empty list.
Changes proposed in this pull request:

Change images to empty list in protocode

Related issue(s)

/test pre-warden-integration-test


HOW to open an ipfs link?

The readme mentions
"Handle ipfs://, ipns:// and dweb: links
If you come across a link to any of the protocols above, IPFS Desktop will be able to open them and redirect them to your default browser."
but it is missing, both from here as from ipfs guides (https://docs.ipfs.io/guides), how should one proceed to open an ipfs link that is provided as text. This is a very basic feature and I fear that if I'm having this much trouble, this could scare a lot of users from further digging into ipfs. If I have an ipfs link, say, /ipns/torrent-paradise.ml, how should I proceed to open it using the ipfs-desktop application or the background daemon?
Edit: with the frontend, I'm of course able to visualize the files from a web application, but how can I open the link directly in the browser as a website? I know I could do it through cloudfare or https://ipfs.io/LINK, but these are just centralized proxy services to the actual descentralized network, so it is important to be able to open the links in the browser with some <IP_ADDRESS>/ipfs/obj syntax. This is missing from documentation though.
Edit2: I kept randomly messing with the port numbers until I found the correct one: 8080. So, in the example given, http://<IP_ADDRESS>:8080/ipns/<something> typed into the browser will show the website. Although I figured it out by sheer luck, I still think it is very important to have this info in the readme. 8080 is a common port providing a "localhost" alternative for the 80 http default, but in no way should be taken as a given.

If I have an ipfs link, say, /ipns/torrent-paradise.ml, how should I proceed to open it using the ipfs-desktop application or the background daemon?

You can just prefix any content path with some gateway, eg. https://ipfs.io/ and it should load.
If you install ipfs-companion browser extension it will redirect such requests to local gateway at http://<IP_ADDRESS>:8080

Although I figured it out by sheer luck, I still think it is very important to have this info in the readme. 8080 is a common port providing a "localhost" alternative for the 80 http default, but in no way should be taken as a given.

Agree. Do you want to open a PR that updates README and adds expected info?

When we say "handle ipfs://, ipns:// and dweb: links" it means exactly that: links with those protocols can be handled by IPFS Desktop, i.e., they can be opened by IPFS Desktop.
For example, if you come across to a link that points to 'ipns://ipfs.io', it will be opened by IPFS Desktop. Internally, IPFS Desktop will translate that into a Gateway URL (https://ipfs.io/ipns/ipfs.io in this case) and open your browser.


conda-manual runs of TimeVaryingDCMPlannerUnitTests result in different number of iterations (69 vs 34) depending on the job

Spin off of https://github.com/dic-iit/bipedal-locomotion-framework/issues/241 .

In the latest CI run, now also conda-manual has 69 iterations.
conda-manual run with 34 iterations: https://github.com/traversaro/ipopt-walking-benchmarks/runs/2995990043
conda-manual run with 64 iterations: https://github.com/traversaro/ipopt-walking-benchmarks/runs/2996286104

I drastically simplified the build process to try to reduce any source of non-determinsm even there (use make/conda instead of ninja/mamba), and I still was able to reproduce the problem. The vast majority of builds continue to have 34 iterations, see for example https://github.com/traversaro/ipopt-walking-benchmarks/actions/runs/1003778994, but occasionaly there is a build with 69 iterations (see https://github.com/traversaro/ipopt-walking-benchmarks/runs/2997055046?check_suite_focus=true).
Interesting, even if the test is made run multiple times as part of the same job, the number of iterations is always the same.

Interesting thread:

https://list.coin-or.org/pipermail/ipopt/2014-November/003866.html

Interesting thread (after I searched with a suggestion of @pattacini ):
* https://list.coin-or.org/pipermail/ipopt/2014-November/003866.html

Based on that thread, that identified blas implementation as the major source of non-determinism, in https://github.com/traversaro/ipopt-walking-benchmarks/commit/0785ee01191c1a8caa4ac68fc2d419130d3a4f17 I modified the action to run for all the blas providers in conda-forge.

Testing against all the blas variant was quite successful, leading to this results:

The determinism issue (69 or 34 iterations) is only present when using openblas. It does not seem to be present for blis, netlib or mkl . So probably it is some openblas-specific issue. TL;DR: Non-determinism is probably an openblas issue.
The number of iterations vary a lot across blas implementations. It is 71 for mkl, 69/34 for openblas, 49 for netlib, 47 for blis. I am not sure about this, but I am afraid this is an indication that the default termination condition/threshold of ipopt may not be appropriate/ideal for this problem. TL;DR: If we are interested in optimizing TimeVaryingDCMPlannerUnitTests planning time, it may be worth to try to tune some terminating condition, perhaps plotting the lagrangian error w.r.t. to the iteration time before.
The best news by far is that by selecting netlib (that is indeed the default provider of blas on Debian/Ubuntu) the number of iteration matches the one obtained by the build-apt-coinbrew-superbuild job in the blank.yml. TL;DR: In the comparison in https://github.com/dic-iit/bipedal-locomotion-framework/issues/241, a big difference we were not considering is that we were using a different blas implementatio between conda and apt.

Installing netlib's blas removed the non-determinism, and gave performance similar to the one obtained in apt, see https://github.com/dic-iit/bipedal-locomotion-framework/issues/241#issuecomment-874746481 for more details.


Update and stablize the Clipboard API

Fixes #3991.

The base API for this is shipping in all three major engines, so I don't see how the current API could change.

The base API for this is shipping in all three major engines, so I don't see how the current API could change.

Unfortunately this happens regularly and then we end up stuck with outdated APIs that we can't really fix without a breaking change.
Though I agree that the base API is unlikely to change any further, so what we can do is stabilize parts of it we are more certain then not aren't going to change.
Let me know if you need any help with that!

I've removed (commented out) everything that isn't supported by Chrome, Firefox and Safari currently.


Using the scram client example in an open source project

Hello,
as one of the maintainers of the Strimzi project, we have a component [1] using the Sarama library and I would like to use the SCRAM-SHA support.
I noticed that even other people/projects just used the example that Sarama provides as scram client [2] and I would like to do the same because it works out of box for our use case too.
My concern is what kind of reference you would like to have in our repository if I copy/paste your example code there.
Should I just refer with a comment to your example file?
@dnwe any concerns about it? I would like just to be sure to provide credits to Sarama contributors in the right way. Thanks!
[1] https://github.com/strimzi/strimzi-canary
[2] https://github.com/Shopify/sarama/blob/main/examples/sasl_scram_client/scram_client.go

Hey Paolo. It probably needs someone from Spotify to comment really as they own Sarama as an entity rather than me.
I’m assuming the examples are governed by the MIT license, so the safest/simplest option if you’re taking the sample scram_client.go as-is is probably just to put a full copy of https://raw.githubusercontent.com/Shopify/sarama/main/LICENSE at the top of the file in comments.

@dnwe thanks for the quick answer! Do you know who we can tag here from Spotify for having confirmation that your proposal looks ok to them?

Closing as resolved


cmake:new feature on enhance apps header cmake module

Summary
In the original GNU Make build, we use Make.defs to add the global include path,
and the private include path of the application library is written in the Makefile.
In Nuttx CMake build, we achieve similar global functionality through this patch.

nuttx_export_header for applications global header file export:
the export path is in the build-directory/apps/include/target-name.
all exported header files retain relative paths.

 set(INCDIRS foo/include)
 nuttx_export_header(TARGET libfoo INCLUDE_DIRECTORIES ${INCDIRS})
#
#   foo/include/                          build/apps/include/foo/
#       ├── demo/                                   ├── demo/
#       |   └── demo.h      symbolic link           |   └── demo.h
#       ├── test/           ============>           ├── test/
#       |   └── test.h                              |   └── test.h
#       └── foo.h                                   └── foo.h

nuttx_add_dependencies is the wrapper to achieve import
add the dependency by nuttx wrapping function, and automatically add its exported include path.

 nuttx_add_dependencies(TARGET bar TARGET foo)
# In bar CFLAGS add this automatically
# C_INCLUDES= -I build-directory/apps/include/foo

Impact
Testing
libtomcrypt DEPENDSON libtommath

In CMakeLists.txt of libtommath

  nuttx_add_library(libtommath STATIC)

  nuttx_export_header(TARGET libtommath INCLUDE_DIRECTORIES ${LIBTOMMATH_DIR})

In CMakeLists.txt of libtomcrypt

  nuttx_add_library(libtomcrypt STATIC)

  nuttx_add_dependencies(TARGET libtomcrypt TARGET_DEPS libtommath)

Hi @xuxin930 please include the Summary in the commit log message

Hi @xuxin930 please include the Summary in the commit log message

I think it is not necessary because you already put it in the cmake file itself, but a better suggestion should be create a CMake instruction documentation to help people to use NuttX specific CMake rules

Hi @xuxin930 please include the Summary in the commit log message

I think it is not necessary because you already put it in the cmake file itself, but a better suggestion should be create a CMake instruction documentation to help people to use NuttX specific CMake rules

Hi @acassis , thank you for your suggestion. I also think it is better to provide documentation for developers. I will create a action to track this task.
at present, there are still many applications in cmake build that have not been migrated. and also some features that need to be refined.


"Key already exists" in OnPlayerInit with OnlinePlayers

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/28522547-key-already-exists-in-onplayerinit-with-onlineplayers?utm_campaign=plugin&utm_content=tracker%2F6855523&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F6855523&utm_medium=issues&utm_source=github).

The underlying bug with Rust appears to have been fixed, so this is no longer an issue.


Token contract is easy to misuse because of similar function params

Something I'm noticing when looking at invocations of the token contract, is that it is difficult to remember which arguments are for what intent and purpose.
Take this code plucked from one of the examples:

It's difficult, for me at least, to remember what the third and fourth arguments are, and which direction money is flowing between them.
The token contract is one contract that may benefit from collecting inputs in request objects/values. For example:

One of the advantages of request objects/values in languages like Rust that do not support named arguments on functions is the increase verbosity at call sites.
Unfortunately there's a significant downside of doing this with Soroban contracts. The flat argument list is cheaper both on the Soroban side, and in the Stellar transaction.
Maybe there are other things we could do to achieve the same affect without the same cost.

This is very old, and we've already finalized the token interface, which is simpler than the one we had when this issue was created.


Scripts for 3882 issue

ATF Test Scripts to check #FORDTCN-12989
This PR is ready for internal review.
Summary
Test scripts to check that SDL sends UI.ChangeRegistration(AppHMIType) to HMI during PTU with updated HMI type
ATF version
develop
Changelog

added new test scripts
updated 8_2 test set with new scripts

CLA

[x] I have signed the CLA

@VjKlepikov, All comments are addressed, please review

moved to open


Move 5.2.0 workflows from beta1 to beta2

CI summary

MSVC trunk crashed in Lin Dynlink stress test with Domain #307
MinGW 5.2 timed out in Lin Dynlink stress test with Domain #307
MinGW trunk crashed in Lin Dynlink stress test with Domain #307

Out of 37 workflows 3 failed all with (the same) genuine error(s)

CI summary for merge to main:

MSVC trunk crashed in Lin Dynlink stress test with Domain #307
MinGW 5.2 timed out in Lin Dynlink stress test with Domain #307
MinGW trunk crashed in Lin Dynlink stress test with Domain #307

Out of 37 workflows 3 failed all with (the same) genuine error(s)


Setting Badges

Is it possible to set badges with this solution? I found it is exposed in bottomnavigationviewex but I'm not seing how to access the instance.
Is there a way I pull it out similar to
FindViewById<BottomNavigationViewEx>(Resource.Id.bnve);
https://github.com/NAXAM/bottomnavigationviewex-android-binding/blob/72c6718d47f31ecd5f53cd14d51f094ade89694b/BottomNavExtentionExample/code/BadgeViewActivity.cs

Badges aren't supported by now. It'll be great if you could make a PR for that feature.

@tuyen-vuduc I'll implement in my own project and see how it fits in. Thanks for the response.

@craigathon  No luck so far, it seem that tab badge overrides bottomtabbedpage so that you get a nav bar with badges.... rendered at the top of the screen. I'm just sort of leaving the badge feature for android (as it's more important that the tab bar is at the bottom) and will visit it in my own time.

@craigathon @Axemasta @tuyen-vuduc
I want to implement bottom tab bar with badges for Android and iOS platform, tried several ways but can't find a proper solution.
Can anyone help me with this?

Any workAround?

@vivekshah-zymr You can use Xabre's Tab Badge Library to add badges, it is not compatible with this library however.
My app sacrificed badges on android to have a bottom tabbed page (pre 3.1). You won't get badges with this library, you could try and combine the Xabre library with the new bottom nav that coems natively in Xamarin Forms.

Hey @Axemasta,
First thanks you bring me to the right Librairy 👍
Maybe you already known? But with Xamarin.Forms 3.x you can put the Android Tabbed page at the Bottom and it's official!
I found this  https://montemagno.com/xamarin-forms-official-bottom-navigation-bottom-tabs-on-android/
And the  Xabre's Tab Badge Library , the did a Pre-release 2.1.0-pre.3 to support it

@vivekshah-zymr @Phenek
You guys have probably overcome this issue by now but I thought I'd let you know anyway. I suggested the Xabre Plugin Badge Library and they now have full support for the native bottom tab page. This obviously invalidates this library (sorry guys) but everything this lib does is not available out of the box, thanks for the workaround!
All you need to do now is set the following attributes on your tabbed page:
On<Xamarin.Forms.PlatformConfiguration.Android>().SetToolbarPlacement(ToolbarPlacement.Bottom);
On<Xamarin.Forms.PlatformConfiguration.Android>().SetIsSwipePagingEnabled(false);
On<Xamarin.Forms.PlatformConfiguration.Android>().SetIsSmoothScrollEnabled(false);

You also need to set the LabelVisibilityMode (>= 28) or ShiftMode (>= 27). This is covered in a James Montemagno blog.
Now finally my app does on android what it's done on iOS for a while now! 😁


[SPARK-31973][SQL] Skip partial aggregates if grouping keys have high cardinality

What changes were proposed in this pull request?
In case of HashAggregation, a partial aggregation(update) is done followed by final aggregation(merge)
During partial aggregation we sort and spill to disk every-time       fby, when the fast Map(when enabled) and  UnsafeFixedWidthAggregationMap gets exhausted
When the cardinality of grouping column is close to the total number of records being processed, the sorting of data spilling to disk is not required, since it is kind of no-op and we can directly use rows in Final aggregation.
When the user is aware of nature of data, currently he has no control over disabling this sort, spill operation.
This is similar to following issues in Hive:
https://issues.apache.org/jira/browse/HIVE-223
https://issues.apache.org/jira/browse/HIVE-291
In this PR, the ability to disable sort/spill during partial aggregation is added
Benchmark
spark.executor.memory = 12G
Init code
// init code
case class Data(name: String, value1: String, value2: String, value3: Long, random: Int)
val numRecords = Seq(60000000)
val tblName = "tbl"

Generate data
// init code
case class Data(name: String, value1: String, value2: String, value3: Long, random: Int)
val numRecords = Seq(30000000, 60000000)

val basePath = "s3://qubole-spar/karuppayya/SPAR-4477/benchmark/"
val rand = scala.util.Random
// write
numRecords.foreach {
  recordCount =>
    val dataLocation = s"$basePath/$recordCount"
    val dataDF = spark.range(recordCount).map {
      x =>
        if (x < 10) Data(s"name1", s"value1", s"value1", 10, rand.nextInt(100))
        else Data(s"name$x", s"value$x", s"value$x", 1, rand.nextInt(100))
    }
    // creating data to be processed by on task(aslo gzip-ing to ensure spark doesnt
    // create multiple splits )
    val randomDF = dataDF.orderBy("random")
      randomDF.drop("random").repartition(1)
      .write
      .mode("overwrite")
      .option("compression", "gzip")
      .parquet(dataLocation)
}

query
val query =
  s"""
    |SELECT name, value1, value2, SUM(value3) s
    |FROM $tblName
    |GROUP BY name, value1, value2
    |"""

Benchmark code
  .add(StructField("name", StringType))
  .add(StructField("value1", StringType))
  .add(StructField("value2", StringType))
  .add(StructField("value3", LongType))
val query =
  """
    |SELECT name, value1, value2, SUM(value3) s
    |FROM tbl
    |GROUP BY name, value1, value2
    |"""

case class Metric(recordCount: Long, partialAggregateEnabled: Boolean, timeTaken: Long)
val metrics = Seq(true, false).flatMap {
  enabled =>
    sql(s"set spark.sql.aggregate.partialaggregate.skip.enabled=$enabled").collect
    numRecords.map {
      recordCount =>
        import java.util.concurrent.TimeUnit.NANOSECONDS
        val dataLocation = s"$basePath/$recordCount"
        spark.read
          .option("inferTimestamp", "false")
          .schema(userSpecifiedSchema)
          .json(dataLocation)
          .createOrReplaceTempView("tbl")
        val start = System.nanoTime()
        spark.sql(query).filter("s > 10").collect
        val end = System.nanoTime()
        val diff = end - start
        Metric(recordCount, enabled, NANOSECONDS.toMillis(diff))
    }
}

Results
val df = metrics.toDF
df.createOrReplaceTempView("a")
val df = sql("select * from a order by recordcount desc, partialAggregateEnabled")
df.show()
scala> df.show
+-----------+-----------------------+---------+
|recordCount|partialAggregateEnabled|timeTaken|
+-----------+-----------------------+---------+
|   90000000|                  false|   593844|
|   90000000|                   true|   412958|
|   60000000|                  false|   377054|
|   60000000|                   true|   276363|

Percent improvement:
90000000 → 30.46%, 60000000 → 26.70%
Why are the changes needed?
This improvement can improve the performance of queries
Does this PR introduce any user-facing change?
No
How was this patch tested?
This patch was tested manually

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

Test build #124189 has started for PR 28804 at commit 5f05aa7.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28806/
Test PASSed.

Test build #124189 has finished for PR 28804 at commit 5f05aa7.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124189/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28816/
Test PASSed.

@maropu @cloud-fan Can you please add me to the whitelist to trigger the tests?

Test build #124199 has started for PR 28804 at commit 2b3704b.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28817/
Test PASSed.

Test build #124199 has finished for PR 28804 at commit 2b3704b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124199/
Test FAILed.

add to whitelist

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28826/
Test PASSed.

Test build #124209 has started for PR 28804 at commit 2b3704b.

Test build #124209 has finished for PR 28804 at commit 2b3704b.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124209/
Test FAILed.

Test build #124294 has started for PR 28804 at commit 9a10261.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28913/
Test PASSed.

Test build #124294 has finished for PR 28804 at commit 9a10261.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124294/
Test FAILed.

Test build #124295 has started for PR 28804 at commit 1c0399a.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28914/
Test PASSed.

Test build #124295 has finished for PR 28804 at commit 1c0399a.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124295/
Test FAILed.

Test build #124296 has started for PR 28804 at commit 73de4c8.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28915/
Test PASSed.

Test build #124296 has finished for PR 28804 at commit 73de4c8.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124296/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28917/
Test PASSed.

Test build #124298 has started for PR 28804 at commit 7952aa7.

Test build #124298 has finished for PR 28804 at commit 7952aa7.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124298/
Test FAILed.

Test build #124304 has started for PR 28804 at commit 56c95e2.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28923/
Test PASSed.

Test build #124304 has finished for PR 28804 at commit 56c95e2.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124304/
Test PASSed.

When the cardinality of grouping column is close to the total number of records being processed, the sorting of data spilling to disk is not required, since it is kind of no-op and we can directly use rows in Final aggregation.

I do not look into the code yet, but one question I have; does this optimization get benefits only when codegen enabled? When I read the description above, I thought this was more general one though.

When the cardinality of grouping column is close to the total number of records being processed

Ur, one more question; how do we know that the cardinality is close the #records being processed  when processing aggregates?

Test build #124327 has started for PR 28804 at commit 43237ba.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/28946/
Test PASSed.

Test build #124327 has finished for PR 28804 at commit 43237ba.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124327/
Test FAILed.

I do not look into the code yet, but one question I have; does this optimization get benefits only when codegen enabled? When I read the description above, I thought this was more general one though.

Yes, this is not specific to codegen. I will also make corresponding chnages in doExecute, I can do it in a different
PR and keep this change focused on codegen?

Ur, one more question; how do we know that the cardinality is close the #records being processed when processing aggregates?
@maropu

it is more of a manual step and can be used only if the user knows the nature of data upfront.Like in my benchmark, where we expect the the all but few grouping keys to be different.
A user will be able to find the nature of data by looking at the metrics in Spark UI where the number of output rows from previous stage is same/almost same as the number of output rows from HashAggregate. If the the user expects the new data to have this nature in his subsequent runs(say a partitioned table with new data every hour/day), he can enable the config.

If this can be done at runtime, without any config that would be the ideal solution. This PR is the first step towards it.

Test build #124450 has started for PR 28804 at commit 99c1d22.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29068/
Test PASSed.

Test build #124450 has finished for PR 28804 at commit 99c1d22.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124450/
Test FAILed.

Test build #124468 has started for PR 28804 at commit d2873a3.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29087/
Test PASSed.

Test build #124468 has finished for PR 28804 at commit d2873a3.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124468/
Test FAILed.

Jenkins, retest this please

Test build #124489 has started for PR 28804 at commit d2873a3.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29109/
Test PASSed.

Test build #124489 has finished for PR 28804 at commit d2873a3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124489/
Test FAILed.

Test build #124505 has started for PR 28804 at commit afc2903.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29125/
Test PASSed.

Test build #124505 has finished for PR 28804 at commit afc2903.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124505/
Test PASSed.

@maropu I have fixed the tests with the flag enabled. Please take a look. Should I go ahead change the default value of the config back to false?

it is more of a manual step and can be used only if the user knows the nature of data upfront.Like in my benchmark, where we expect the the all but few grouping keys to be different.
A user will be able to find the nature of data by looking at the metrics in Spark UI where the number of output rows from previous stage is same/almost same as the number of output rows from HashAggregate. If the the user expects the new data to have this nature in his subsequent runs(say a partitioned table with new data every hour/day), he can enable the config.

hm...., if SKIP_PARTIAL_AGGREGATE_ENABLED=true and the cardinality is not the same with the number of rows, a query returns a wrong aggregated answer, right?

it is more of a manual step and can be used only if the user knows the nature of data upfront.Like in my benchmark, where we expect the the all but few grouping keys to be different.
A user will be able to find the nature of data by looking at the metrics in Spark UI where the number of output rows from previous stage is same/almost same as the number of output rows from HashAggregate. If the the user expects the new data to have this nature in his subsequent runs(say a partitioned table with new data every hour/day), he can enable the config.

hm...., if SKIP_PARTIAL_AGGREGATE_ENABLED=true and the cardinality is not the same with the number of rows, a query returns a wrong aggregated answer, right?

No, The Final aggregation will take care giving the right results.
This is like more like setting the Aggregation mode to org.apache.spark.sql.catalyst.expressions.aggregate.Complete

No, The Final aggregation will take care giving the right results.
This is like more like setting the Aggregation mode to org.apache.spark.sql.catalyst.expressions.aggregate.Complete

Ah, I see. We cannot just rewrite a plan from the two-phase aggregate (w/ partial mode) to a single-phase one (w/ complete mode) for the case during optimizing plans?

No, The Final aggregation will take care giving the right results.
This is like more like setting the Aggregation mode to org.apache.spark.sql.catalyst.expressions.aggregate.Complete

Ah, I see. We cannot just rewrite a plan from the two-phase aggregate (w/ partial mode) to a single-phase one (w/ complete mode) for the case during optimizing plans?

That should be possible. I wanted to get rid of the config based approach and come up with a mechanism to identify such cases at runtime for which codegen changes is required.

The current approach looks a bit hacky because you implemented the optimization directly in generated aggregate code. You might be able to use Aggregation in SparkStrategies for the optimization. Could you try?

Test build #124950 has started for PR 28804 at commit 7766401.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29556/
Test PASSed.

Test build #124950 has finished for PR 28804 at commit 7766401.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/124950/
Test FAILed.

Test build #125118 has started for PR 28804 at commit 75125d9.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/29724/
Test PASSed.

Test build #125118 has finished for PR 28804 at commit 75125d9.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/125118/
Test FAILed.

Test build #125393 has started for PR 28804 at commit 3ca81ae.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/30006/
Test PASSed.

Test build #125393 has finished for PR 28804 at commit 3ca81ae.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/125393/
Test FAILed.

Test build #125394 has started for PR 28804 at commit 8850777.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/30007/
Test PASSed.

Test build #125394 has finished for PR 28804 at commit 8850777.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/125394/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/30534/
Test PASSed.

Updated the description with the benchmarks, after the latest changes.

Test build #125924 has started for PR 28804 at commit 26a2fd6.

Test build #125924 has finished for PR 28804 at commit 26a2fd6.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/125924/
Test FAILed.

@cloud-fan @maropu Can you help review these changes?

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31782/
Test PASSed.

Test build #127160 has started for PR 28804 at commit c49f106.

@karuppayya I updated the title a bit because I feel it is ambigous. Feel free to update it again if you have a better title.

Test build #127160 has finished for PR 28804 at commit c49f106.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127160/
Test FAILed.

Test build #127210 has started for PR 28804 at commit c9a415d.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31832/
Test PASSed.

Test build #127210 has finished for PR 28804 at commit c9a415d.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127210/
Test FAILed.

Test build #127214 has started for PR 28804 at commit ceaa4e5.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31835/
Test PASSed.

Test build #127214 has finished for PR 28804 at commit ceaa4e5.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127214/
Test FAILed.

Test build #127216 has started for PR 28804 at commit 2ae5525.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31837/
Test PASSed.

Test build #127216 has finished for PR 28804 at commit 2ae5525.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127216/
Test FAILed.

Test build #127218 has started for PR 28804 at commit 0a186f0.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31839/
Test PASSed.

Test build #127218 has finished for PR 28804 at commit 0a186f0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127218/
Test PASSed.

Can we have a short description of the approach in the PR description? Seems like we are making hash aggregate adaptive to do pass-through if it can't reduce data size in the first n rows.

Test build #127340 has started for PR 28804 at commit 11572a1.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/31959/
Test PASSed.

Test build #127340 has finished for PR 28804 at commit 11572a1.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/127340/
Test PASSed.

btw, could this optimization be implemented on the adaptive execution framework (AdaptiveSparkPlanExec)? In the initial discussion (https://github.com/apache/spark/pull/28804/files#r447158417), it was pointed out that accurate statistics could not be collected. But, I think we might be able to collect the stats based on the framework. Yea, as we know, we need to look for a light-weight way to compute cardinality on shuffle output. If we find it, I think we can simply drop partial aggregate for high cardinality cases.
Have you already considered this approach? What I'm worried about now is that the current implementation makes the code complicated and it is limited to hash aggregates w/codegen only.

I don't think AQE can help here. This is partial aggregate and usually there won't be a shuffle right before the partial agg.

I don't think AQE can help here. This is partial aggregate and usually there won't be a shuffle right before the partial agg.

Hm, I see. Even so, BasicStatsPlanVisitor cannot propatate somewhat accurate input stats (of shuffle output) into partial aggreates?

@maropu  The stats(specifically number of records from aggregation map after a threshold) that we are looking for is available only at the operator level at runtime.

@maropu The stats(specifically number of records from aggregation map after a threshold) that we are looking for is available only at the operator level at runtime.

I pointed out not the current approach, but the previous one: https://github.com/apache/spark/pull/28804/files#r446720097

AQE doesn't provide column stats, and column stats propagation can be incorrect if we have many operators.
IIUC the current approach is: sample the first 100000 rows, if they can't reduce data by half (which means one key has 2 values by average), then we skip the partial aggregate.
This sounds reasonable, but it's hard to tell how to pick the config values. @karuppayya do you have any experience of using it in practice?

@cloud-fan
We observed this behaviour(partial aggregation not helping) in one of our customers.
Initially, I had disabled the partial aggregation completely by making the Aggregate mode to org.apache.spark.sql.catalyst.expressions.aggregate.Complete
But later found the Hive's optimization for handling this scenario.
I have used the Hive's heuristic(with default for minRows of 100000 to be sampled) in this PR.

Test build #129988 has started for PR 28804 at commit 11572a1.

Test build #129988 has finished for PR 28804 at commit 11572a1.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/129988/
Test FAILed.

Test build #132721 has started for PR 28804 at commit 11572a1.

Test build #132721 has finished for PR 28804 at commit 11572a1.

This patch fails Spark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/132721/

Any update for the PR? Thanks.

@karuppayya - we did a similar change internally and rolled out to production already in facebook. We made some change on top of this (e.g. only skip partial aggregate when the map needs spill), and fixed several bugs. Do you mind if we submit a separate PR (list you as co-author) and help move the feature forward? Thanks.

@c21 Please go ahead


The emoji picker menu overlaps the emoji picker button.

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:
1 Write a multi-line message in the edit text input.
2 Click on the emoji picker button to choose an emoji.
3  Notice the emoji picker menu covers the emoji picker button.
Expected Result:
The emoji picker menu shouldn't interfere with the emoji picker button.
Actual Result:
The emoji menu overlaps and covers the emoji picker button.
Workaround:
unknown
Platforms:

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

[ ] MacOS / Chrome / Safari

Version Number: 1.2.56-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/213305286-38688e95-ac78-4a59-8d20-d23822768505.mp4
https://user-images.githubusercontent.com/43996225/213305328-c08b0118-6f8a-4453-ab60-a9c6408d8445.mp4
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1674048640389029
View all open jobs on GitHub

Bug0 Triage Checklist
Note: see this SO for more information.

[ ] The "bug" is actually a bug
[ ] The bug is not a duplicate report of an existing GH.

If it is, close the GH and add any novel details to the original GH instead

[ ] The bug is reproducible, following the reproduction steps.

[ ] If the GH doesn’t have steps to reliably reproduce the bug and you figure it out, then please add them.
[ ] If you’re unable to reproduce the bug, add the Needs reproduction label.
[ ] Comment on the issue outlining the steps you took to try to reproduce the bug, your results and tag the issue reporter and the Applause QA member who created the issue. Ask them to clarify reproduction steps and/or to check the reproduction steps again. Close issue.

[ ] The GH template is filled out as fully as possible

The GH body and title are clear (ie. could an external contributor understand it and work on it?)

[ ] The GH was created by an Expensify employee or a QA tester
[ ] If the bug is an OldDot issue, you should decide whether it is widespread enough to justify fixing or it is better to wait for reunification. If it’s better to wait, close the GH & provide this justification
[ ] If there's a link to Slack, check the discussion to see if we decided not to fix it
[ ] Decide if the GH should be resolved by an External contributor or Internal engineer, add the appropriate label

Reminder for myself to bump the reporting thread so we can get the bug reporter's GH handle.

Proposal
Problem
We add the width of the emojiPopoverAnchor to move the EmojiPicker popover to the very right.
Solution
We should remove the width from this line https://github.com/Expensify/App/blob/0bf7f51cf5070145125f2b3939892ec3f7c0cc34/src/components/EmojiPicker/EmojiPicker.js#L105
this.emojiPopoverAnchor.measureInWindow((x, y) => resolve({horizontal: x, vertical: y}));

I am not sure if this is really a bug. I don't mind emoji picker button blocked by emoji picker menu as it doesn't have any use case when emoji picker menu is opened.
cc: @neil-marcellini @strepanier03

Proposal
The edit emoji button should be at the bottom as we did in the Composer.
+++ b/src/styles/styles.js
@@ -1523,6 +1523,7 @@ const styles = {

     editChatItemEmojiWrapper: {
         marginRight: 3,
+        justifyContent: 'flex-end',
     },

     hoveredButton: {

@Karim-30 Does that fix the issue when you edit the top most comment on the page?

Does that fix the issue when you edit the top most comment on the page?

@priyeshshah11 In this case we should shift the menu to the left when the gap between the button and the top is less than  (menu height + button height).
it will look like this.
https://user-images.githubusercontent.com/108357004/213784539-b468bdd2-989d-47ae-901c-363b782a982d.mov
+++ b/src/components/EmojiPicker/EmojiPicker.js
@@ -4,7 +4,12 @@ import _ from 'underscore';
 import EmojiPickerMenu from './EmojiPickerMenu';
 import CONST from '../../CONST';
 import PopoverWithMeasuredContent from '../PopoverWithMeasuredContent';
+import withWindowDimensions, {windowDimensionsPropTypes} from '../withWindowDimensions';

+const propTypes = {
+
+    ...windowDimensionsPropTypes,
+};
 class EmojiPicker extends React.Component {
     constructor(props) {
         super(props);
@@ -102,7 +107,10 @@ class EmojiPicker extends React.Component {
             if (!this.emojiPopoverAnchor) {
                 return resolve({horizontal: 0, vertical: 0});
             }
-            this.emojiPopoverAnchor.measureInWindow((x, y, width) => resolve({horizontal: x + width, vertical: y}));
+            this.emojiPopoverAnchor.measureInWindow((x, y, width) => {
+                const horizontal = !this.props.isSmallScreenWidth && (y < CONST.EMOJI_PICKER_SIZE.HEIGHT + 32) ? (x + width) - 32 : x + width;
+                resolve({horizontal, vertical: y});
+            });
         });
     }

@@ -172,4 +180,5 @@ class EmojiPicker extends React.Component {
     }
 }

-export default EmojiPicker;
+EmojiPicker.propTypes = propTypes;
+export default withWindowDimensions(EmojiPicker);
diff --git a/src/styles/styles.js b/src/styles/styles.js
index 71fed02015..de71bf2517 100644
--- a/src/styles/styles.js
+++ b/src/styles/styles.js
@@ -1523,6 +1523,7 @@ const styles = {

     editChatItemEmojiWrapper: {
         marginRight: 3,
+        justifyContent: 'flex-end',
     },

     hoveredButton: {

Updated Proposal
We don't need to check isSmallScreenWidth since the picker menu occupies the full width in small-screen devices.
+++ b/src/components/EmojiPicker/EmojiPicker.js
@@ -102,7 +102,10 @@ class EmojiPicker extends React.Component {
             if (!this.emojiPopoverAnchor) {
                 return resolve({horizontal: 0, vertical: 0});
             }
-            this.emojiPopoverAnchor.measureInWindow((x, y, width) => resolve({horizontal: x + width, vertical: y}));
+            this.emojiPopoverAnchor.measureInWindow((x, y, width) => {
+                const horizontal = y < CONST.EMOJI_PICKER_SIZE.HEIGHT + 32 ? (x + width) - 32 : x + width;
+                resolve({horizontal, vertical: y});
+            });
         });
     }

diff --git a/src/styles/styles.js b/src/styles/styles.js
index 71fed02015..de71bf2517 100644
--- a/src/styles/styles.js
+++ b/src/styles/styles.js
@@ -1523,6 +1523,7 @@ const styles = {

     editChatItemEmojiWrapper: {
         marginRight: 3,
+        justifyContent: 'flex-end',
     },

     hoveredButton: {

@sobitneupane - Hmmm, thinking about your comment here, I can see your point.
I also do not mind the emoji picker button being covered because I'm either going to click on an emoji or click outside the emoji picture box to dismiss it, I'm not going to click the emoji picker icon button to dismiss it.
I'm going to bring this up in Slack to get a quick consensus on what we want to do here.

We are going to close this GH and not "fix" this the behavior is not considered a bug.


Fix "Cannot charge a customer that has no active card" error

What: Fix "Cannot charge a customer that has no active card" error
Why: Fixes https://app.asana.com/0/1168997577035609/1199605570263293
How:
Replicate test via integration testing. There's an issue with the stripe_mock library, where this test case wasn't failing. It took me a while to realize what the issue was. For the integration test with cypress, we let the server make requests to the Stripe test API so it tests the behaviour more closely to the live integration.
Media:
replicate failing edge case

Merging

Merging


Fix error in the initial TLS server impl

This PR fixes an oversight introduced in the earlier PR #247 which would cause the server to break out of the listening loop should there be a TLS handshake error.
Motivation
The TLS handshake was performed with the following line in #247
let stream = tls_acceptor.accept(tcp).await?;

The ? operator would return the error and end up breaking the loop.
Solution
The TLS handshake error will be logged instead of returning. The code above is replaced with
let stream = match tls_acceptor.accept(tcp).await {
    Ok(stream) => stream,
    Err(err) => {
        tracing::debug!("[VOLO] TLS handshake error: {:?}", err);
        continue;
    },
};

Is there an agreed approach on how integration tests should be set up for volo? I was thinking of adding integration tests for this kind of things but was not sure whether you guys have any preference on how it should be set up.

PTAL @Millione


Use symfony property access component to get sluggable fields values

This PR replaces the custom property/method access with the symfony/property-access component which is much more powerful. Ex :
public function getSluggableFields()
{
    return ['category.name', 'title'];
}

Coule someone please have a look at it ? Thank you ;)

is it a good idea to tie the model to this component?
Maybe we should build the slug directly in the model,
and let the listener do only the transliteration?

this way no need of  property path, only php.

and encapsulation is preserved

or we keep it like this, but move the property access in the listener (i prefer to « build the slug directly in the model»)

Thank you for your feedback !
Yes both ideas are good :

Create a SluggableMethods::getSluggableString with a BC (fallback on getSluggableFields)
Move the property access to the listener : I think this would cause a BC break as the getSluggableFields, etc. will need to be public.

I think this PR can be closed then. Feel free to answer if you think this should be reopen.


✨ UX: client webui/api to drive automatic deployment

Acceptance criteria

WebUI sitting on the client (could be a container image, or a single-binary as inside the kairos-cli)

Lets pick a flavor, syncining with Kairos releases
Configure the node/deployments
Generates a YAML (assumes there is a Kairos YAML schema validator)
Could even be exposed in public, giving oneliner to perform action locally

Implies there will be a CLI taking yaml specs (built from the UI) and actually do "operations"
Deployes via Netboot and/or offers ways to do that manually with ISO, burning USB sticks (TBD)

Notes

I've started to tackle some of aspects of the third steps. Created https://github.com/spectrocloud-labs/herd to handle the operation execution in a DAG context (as they might depend on multiple steps, as download, verify, etc).
Alpine.js + tailwindCSS wizard: https://gist.github.com/mudler/3c6ee04747083a598b41684166394e17

Supersedes https://github.com/kairos-io/kairos/issues/200

Step #2 was split here: https://github.com/kairos-io/kairos/issues/778


return total items in pageable endpoints

Secure Coding Practices Checklist GitHub Link

https://github.com/RedHatInsights/secure-coding-checklist

Secure Coding Checklist

[x] Input Validation
[x] Output Encoding
[x] Authentication and Password Management
[x] Session Management
[x] Access Control
[x] Cryptographic Practices
[x] Error Handling and Logging
[x] Data Protection
[x] Communication Security
[x] System Configuration
[x] Database Security
[x] File Management
[x] Memory Management
[x] General Coding Practices

Codecov Report

Merging #54 (9449d5d) into master (40fa8f3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #54   +/-   ##
=======================================
  Coverage   52.71%   52.71%
=======================================
  Files          11       11
  Lines         607      607
=======================================
  Hits          320      320
  Misses        267      267
  Partials       20       20

Flag
Coverage Δ

unittests
52.71% <ø> (ø)

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

Continue to review full report at Codecov.

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


[Statement Editor] LS type suggestions are not appearing

Description:
Type suggestions coming from the language server are not appearing when using the VSCode plugin with Ballerina version 2201.3.2.

Verified with other versions like 2201.2.4, 2201.3.1 and type suggestions are coming as expected.
Affected Versions:
Ballerina 2201.3.2 RC2
Plugin v3.3.6.beta.3

This issue is due to a change in completion kind of several type suggestions. Previously type suggestions existed as completion kind of 11. Currently type suggestions are provided in 2 completion kinds (11 & 25). Any reason for updating the completion kind of type suggestions? @IMS94

This issue is due to a change in completion kind of several type suggestions. In previous bal versions type suggestions provided with completion kind of 11. Currently in 2201.3.2, type suggestions are provided in 2 completion kinds (11 & 25). Any reason for updating the completion kind of type suggestions? @IMS94

@kaumini
With https://github.com/ballerina-platform/ballerina-lang/pull/39037/files#diff-35036535c39f6bddb8b83a67608f69540a95981fe35b32f1c2cc64827501d12aR605, we refactored the completion items provided for types.
With this change, we have improved the sorting of completion of type completion items by associating a TypeSymbol for the built-in types such as int, string, etc.  Completion items that have an associated TypeSymbol assigned TypeParamter(25) kind. That's why the kind has changed from 11 to 25.
stream, table, object, map do not have built-in types. So those do not have associated TypeSymbols. So their completion item kind is not changed (11).
Those two kinds are shown as follows.

In summary,
The built-in types like string, int can be used as a type to define a variable. So those are assigned TypeParameter(25) CompletionItemKind.
But stream, table, etc can't be used as types without additional type parameters like the rowtype in the table type.
@IMS94 Should both have the same CompletionItemKind Irrespective of whether it can be used as a type to define a variable.
From the perspective of the statement editor, what is the expected behaviour @kaumini ?

@malinthar why we took this decision was to benefit from the icon in front of the types (<T> icon) as well. Earlier the icon we had in front of such types didn't mean much. But with the new change, types are shown with an identifiable icon. IMO, this is better in UX.


ldpath unit test

create unit tests for each ldpatch language element we support

done. see d97c6b7015aeff4cd0b9e73c9e1e2366cbd99af1 and 3e41903e0c40183a8497ecc446cf11f9a022753a for the latest tests


UHF-8088: Language fallbacks for menu blocks.

UHF-8088
What was done
New module for recreating certain menu trees based on a fallback languages on alternative languages. Also adds correct lang and dir attributes to specific blocks and regions.
Support for internal menus:

Header top, footer top 1 & 2 and footer bottom menus support fallback languages

Fallback menu language is triggered by creating a single <nolink> placeholder element for the language inside the menu
The placeholder element is required to make the menu visible for the preprocess hook. It also makes it easier to create actual translations for these menus if necessary

External menus (other languages menu and main navigation) are fetched in english by the helfi_navigation module if the current language isn't finnish, english or swedish

How to install

Make sure your instance is up and running on correct branch.

git checkout UHF-8088-fallback-languages
make fresh

Install related theme and module branches: composer require drupal/hdbt:dev-UHF-8088-language-fallbacks  drupal/helfi_navigation:dev-UHF-8088-fallback-languages drupal/helfi_platform_config:dev-UHF-8088-fallback-languages drupal/helfi_api_base:dev-UHF-X_defualt_languages
Edit the following menus and add a placeholder <nolink> menu item on the languages you want to test. Test at least one RTL and one LTR language

https://helfi-etusivu.docker.so/fi/admin/structure/menu/manage/header-top-navigation
https://helfi-etusivu.docker.so/fi/admin/structure/menu/manage/footer-top-navigation
https://helfi-etusivu.docker.so/fi/admin/structure/menu/manage/footer-top-navigation-2
https://helfi-etusivu.docker.so/fi/admin/structure/menu/manage/footer-bottom-navigation

For one language, create actual translated links instead of placeholders
Add some English menu items to the other language links menu, since the test environment doesn't have any: https://helfi-etusivu.docker.so/en/admin/structure/menu/manage/header-language-links
Add some English and alt language announcements: https://helfi-etusivu.docker.so/en/node/add/announcement
Run drush locale:check;drush locale:update;drush cr

How to test

[x] Open the language versions you created placeholder links for

The header top and footer regions should show english content
The main navigation and megamenu should show english content (also on mobile)
The mobile / mega navigation open and close texts should be in english ("Menu" and "Close")

[x] The translated menu items should appear on the language you created them on (but the main navigation should still be in english)
[x] English announcement content should appear on alternative languages along with current language announcements
[ ] Content should have the correct dir and lang attributes. If not on the element itself, then on one of its parent elements
[x] If you navigate between different languages (including the standard ones), things should be cached correctly and nothing should break. Finnish and Swedish languages should not show any english menu content

The mobile / mega navigation open and close texts should be translated to finnish and swedish

[ ] Check that code follows our standards

Designers review

[x] This PR does not need designers review

Other PRs

https://github.com/City-of-Helsinki/drupal-helfi-etusivu/pull/351
https://github.com/City-of-Helsinki/drupal-module-helfi-navigation/pull/31
https://github.com/City-of-Helsinki/drupal-helfi-platform-config/pull/504
https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/pull/103

Footer bottom menu has dir and lang attributes but they are no correct when the menu has been translated:

<nolink> type links on header top menu look broken on mobile:

Tämä on siirretty erilliseksi tiketiksi: https://helsinkisolutionoffice.atlassian.net/browse/UHF-8419


think about add table component

think about add table component?

Different than the 4 tables on the example images in README?

ok,thanks!


⚠ St. Lawrence Global Observatory CKAN has degraded performance

In 13f829a, St. Lawrence Global Observatory CKAN (https://catalogue.ogsl.ca/en/) experienced degraded performance:

HTTP code: 200
Response time: 5336 ms

Resolved: St. Lawrence Global Observatory CKAN performance has improved in ca5041b after 11 minutes.


Fix Home Page / Add Markdown Support

Issue Description
When adding Markdown files to Site with anchor links, instead of following the anchor link path, the index page is rendered.
Issue Type

[ ] New Feature
[ ] Enhancement
[ ] Bug
[ ] Other

Expected Behavior
When using a markdown file, you would expect to stay within the same page.

Resolved with v6


Fix for Instanceof failing hasn't been pushed to npm + temporary workaround

Hey, thanks for the work on this great package! And thanks for merging the fix for Instanceof in #5. It would be great if you could publish this fix to NPM, but I wanted to leave this issue here for anyone who needs to use it, and isn't aware you can get around using npm by just referring to this repo as such in your package.json:
"three-orbitcontrols-ts"<EMAIL_ADDRESS>

Probably a more long term solution would be to update readme.md to contain a passage with the instructions above for everyone to see. I will create a PR containing the changes in the near future.

Created #8 which contains the instructions. Thank you @alecmolloy for pointing this out.

please merge the PR for the fix!


pull request for e2e test at 11/12/2016 22:15:09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Hi man! what is the purpose of this repo?

i've been trying to figure it out
thanks!

repository is internet programming languages. You write coding or copy paste a code to Notepad and you run your codes via windows explorer.


How to set about as the homepage? And the HTML syntax seems to be ineffective

May I ask how to set the about page as the homepage like your homepage? My default has always been the posts page.And the HTML syntax seems to be ineffective.

Hi @YuanJ2003! I put an _index.md page in the top-level content directory which includes the content for my home page. Were you able to try that?

Thank you! I modified the code of index.html and It solved the question.
{{ define "main" }}
    {{- with .Site.GetPage "about" -}}
        <div class="pl-sm-4 ml-sm-5">
            {{ .Content }}
        </div>
    {{- end -}}
{{ end }}

Glad you were able to get it fixed. I'm going to close this issue 👍


[v3] Bump minimum php version to 7

Should next major sculpin version be bumped to PHP 7?

Which version of PHP comes with MacOS Sierra?

Not a MacOS user. Couldn't modern php be installed via brew?

Yes, there are several ways to install it. I'm on board with making 7 the minimum, I was just momentarily concerned with appealing to a slightly wider (if dated) user base. We have bigger fish to fry for making Sculpin easy to work with, though.

Would it happen that docker is a thing among that userbase?

Mac users can install PHP7 via brew or source.
Should be possible via:
brew tap homebrew/homebrew-php
brew install php71

+1 Docker. You may need to do something with volumes to export files from a container to the host.


Selected Format Not Indicated

The currently selected format is nowhere indicated as selected. It probably should because on page load you have no idea what you're looking at by default. Why not replace the word "Quality" with the currently chosen format name? This is how YouTube and other popular video players do it.

@GlitterCakes you could do this:
player.qualityselector({ 		...other code... 		onFormatSelected: function (format) { 			document.getElementsByClassName('vjs-brand-quality-link').item(0).innerHTML = format.name; 		} 	});
This will update Quality to the format.name that you defined.

Thank you

I agree, I'm working on a pull request to do this by in the plugin itself and also on video source change to keep the current time.


Toggling fullscreen causes hang

Hi,
I'm using version 1.1.0-beta1 on ubuntu mate 16.04.
Connecting to laptop with the following switches:
xfreerdp
/cert-ignore
/multimon
+fonts
/bpp:32
/sound
-themes
-wallpaper
+decorations
/u:xxxx
/d:xxx
/p:xxx
/v:<IP_ADDRESS>
This correctly loads full screen across both my monitors.
When I press CTRL+ALT+Enter to toggle fullscreen, my window decorations become available, however the FreeRDP process appears to be hung.
Both remote monitors shrink in size and I need to use CTRL+ALT+F1 to get to a tty to kill xfreerdp, I've attached a screenshot to demonstrate the issue.

@PhibreOptix could you try our nightly builds and see if this problem still happens:
https://ci.freerdp.com/job/freerdp-nightly-binaries/

Issue is not occurring with nightly build, functioning as expected.

@PhibreOptix thank you for your feedback.

@PhibreOptix could you try our nightly builds and see if this problem still happens:
https://ci.freerdp.com/job/freerdp-nightly-binaries/

Worked like a charm on Ubuntu 16.04 running Unity.
Just in case anyone struggles like I did to install this "special" build, here's what I did to install
wget -O - http://pub.freerdp.com/repositories/ADD6BF6D97CE5D8D.asc | sudo apt-key add -
sudo sh -c 'echo "deb http://pub.freerdp.com/repositories/deb/$(lsb_release -cs)/ freerdp-nightly main" >> /etc/apt/sources.list.d/freerdp-nightly.list'

sudo apt-get update
sudo apt-get install -y freerdp-nightly

/opt/freerdp-nightly/bin/xfreerdp /u:thabile /v:<IP_ADDRESS>

Here's a referece link which helped me


⚠ Bofrost.de has degraded performance

In 1c6efeb, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1929 ms

Resolved: Bofrost.de performance has improved in 93a0e2c.


Breaks Jest tests

[REQUIRED] Environment

Browser version: no browser
Alchemy SDK version: 2.2.1

[REQUIRED] Describe the problem
Alchemy SDK breaks our Jest tests:
    Details:

    /home/runner/work/..../node_modules/alchemy-sdk/dist/esm/index.js:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){import * as utils from './api/utils';
                                                                                ^^^^^^

    SyntaxError: Cannot use import statement outside a module

How to reproduce:
Use the SDK with Jest.
Relevant code or sample repro:

@elie222 Thanks for filing the bug report! We'll get to debugging this in the coming weeks.

Hi @elie222 , I am looking into this. I would be interested in more information about your setup. A minimal example for me runs successfully.
To attempt to repro, I ran
mkdir repro
cd repro
npm init --yes
npm add alchemy-sdk jest
mkdir tests
echo 'it("imports alchemy-sdk", () => console.log(require("alchemy-sdk")));' > tests/index.test.js
npx jest

Doing so successfully runs the Jest test, importing alchemy-sdk and logging its contents to console.
In particular, I would be interested in how you are starting your Jest tests, if you're using any preprocessors like Babel or TypeScript, and if you have any nondefault settings in your Jest config.

Ours is for a Next.js project with Jest.
Best,
Eliezer
On Thu, Dec 22, 2022 at 1:28 AM, David Philipson < @.*** > wrote:

Hi @ elie222 ( https://github.com/elie222 ) , I am looking into this. I
would be interested in more information about your setup. A minimal
example for me runs successfully.
To attempt to repro, I ran
mkdir repro
cd repro
npm init --yes
npm add alchemy-sdk jest
mkdir tests
echo 'it("imports alchemy-sdk", () =>
console.log(require("alchemy-sdk")));' > tests/index.test.js
npx jest
Doing so successfully runs the Jest test, importing alchemy-sdk and logging
its contents to console.
In particular, I would be interested in how you are starting your Jest
tests, if you're using any preprocessors like Babel or TypeScript, and if
you have any nondefault settings in your Jest config.
—
Reply to this email directly, view it on GitHub (
https://github.com/alchemyplatform/alchemy-sdk-js/issues/197#issuecomment-1362216725
) , or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AAXSQX7E3ECVAUNWGDCQQZLWOOHAFANCNFSM6AAAAAASDWKXBQ
).
You are receiving this because you were mentioned. Message ID: <alchemyplatform/alchemy-sdk-js/issues/197/1362216725
@ github. com>

@elie222 Have you tried some of the steps from the discussion links on this SO post? This seems more like an issue with how next.js and jest are importing the modules, since the Alchemy SDK exports cjs, es, and esm dists in the final build.


Wrong index when assigning "sdr_bass" value

https://github.com/AIcrowd/music-demixing-challenge-starter-kit/blob/7802a7d5de37cddccf842e29603b47b03b2f4e47/evaluator/music_demixing.py#L104
Should be replaced by
scores[music_name]["sdr_bass"] = song_score[0]

Hi @yoyololicon, thanks for pointing it out. 💯


Can we get web.archive.org / wayback machine added to the list of sites that work?

Ripme version:
Java version:
Operating system:

Exact URL you were trying to rip when the problem occurred:
Please include any additional information about how to reproduce the problem:

Expected Behavior
Detail the expected behavior here.
Actual Behavior
Detail the actual (incorrect) behavior here. You can post log snippets or attach log files to your issue report.

Ripme isn't compatible with the wayback machine and its full of images that are free for download.


DNN Admin Logs do not send email notifications as expected

Description of bug
We are not receiving email notifications for admin logs that are configured to send email notifications after a specific occurrence threshold. In an example HTTP Error Code 404 Page Not Found event, we configured the email notification to send after 1 occurrence, in 1 minute. After a few tests on a few different days we have never been able to receive these notification reports.
Steps to reproduce
List the precise steps to reproduce the bug:

Go to the DNN Admin Log
Click on Log Settings Tab
Scroll to "HTTP Error Code 404 Page Not Found" and click the pencil icon
Make sure logging for this report is enabled
Enable email notifications
Set your desired frequency (in this case we used 1 occurrence, 1 minute)
Set the email address the report should be sent to
Save the settings
Visit a true 404 page

Current behavior
When you visit a true 404 page, you should see the Admin Logs updated reporting the occurrence. With email notifications emailed, you will not receive an email of the event.
Expected behavior
When email notifications are enabled you should receive an email when the event fires. In the case described above, if at least one 404 page error is logged within a minute, the email should be sent out.
Screenshots
Screen-shot of settings
Error information
Additional context
Affected version
DNN Version: 09.08.00
Affected browser
This is application level and not related to a browser.

AFAIR this had been reported before, however, I am not sure, whether it has been already fixed in a later version of DNN 9.

@sleupold, that is correct. Issue #4657, showing it as an issue in even newer versions of DNN (9.9.1 in #4657) than what we are running on this example (9.8.0). We can close this issue if it makes sense to just reopen the other. It looks like it was closed automatically due to being stale.

After taking a closer look at #4657, it looks like my issue was with the Scheduler. By default, the Send Log Notifications scheduled task is disabled. Once enabled I was able to start receiving email notifications.

@10PoundGorilla-ChrisBehling
thank you for reporting back your findings :)

Hello @sleupold Can you check this please.
I have same issue. Not able to share admin logs via email.
https://github.com/dnnsoftware/Dnn.Platform/issues/5024

If it helps, possibly related: #4657


Query filter syntax (eg eq, ne, in, nin, lt, lte, gt, gte)

https://www.gatsbyjs.com/docs/query-filters/
This has come up a few times, but Prom's query class was based on MongoDB's query syntax, and that syntax has seemed to become pretty standard over the last decade or so. The same syntax is used in GraphQL also.
I should maybe add some of these sources to the query docs. But right now I just need a place I can put these that I can remember when the subject comes up in discussion, this will be that place for awhile.

https://feathersjs.com/api/databases/querying.html

https://github.com/Jaymon/prom/issues/24


Replace time by std::chrono::steady_clock

Fixes issue #28. Thx to @orrinjelo.

Codecov Report

Merging #29 into master will decrease coverage by 0.02%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #29      +/-   ##
==========================================
- Coverage   89.34%   89.31%   -0.03%
==========================================
  Files           8        8
  Lines         366      365       -1
==========================================
- Hits          327      326       -1
  Misses         39       39

Impacted Files
Coverage Δ

source/NotifierBuilder.cpp
100% <100%> (ø)
:arrow_up:

source/Inotify.cpp
84.12% <100%> (-0.13%)
:arrow_down:

Continue to review full report at Codecov.

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


Update PostgreSQL chart to 12.12.10

Description
The current version (12.2.3) defined in Chart.yaml includes a bug in the Helm chart that's fixed with 12.5.8 and later:

https://github.com/bitnami/charts/pull/17140
https://github.com/bitnami/charts/commit/ffa4eeb0e853fd63fced31d1bd443c6587354f87

This PR upgrade the PostgreSQL helm chart to the latest 12.x version. I've chosen this version rather than the newest (13.2.21) because it keeps the PostgreSQL major version the same (15.x vs 16.x). I'm not familiar enough with OpenFGA to say if PostgreSQL 16 (released 14.09.2023) is already supported.
References

Review Checklist

[ ] I have clicked on "allow edits by maintainers".
[ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[ ] The correct base branch is being used, if not main
[ ] I have added tests to validate that the change in functionality is working as expected

Thanks @baurmatt!


Codabar barcode isn't recognized well

Environment

Xcode version: 11.5
Firebase SDK version: since 6.10.0
Firebase Component:MLVisionBarcodeModel
Component version: since 0.19.0
Installation method: CocoaPods

Problem
Using MLVisionBarcodeModel version 0.18.0, I can scan Codabar barcodes smoothly.
But Using MLVisionBarcodeModel since version 0.19.0, I can't scan well the same Codabar barcode that version 0.18.0 can recognize. Latest version 0.20.0 too.
Since version 0.19.0 take so long time for recognizing the Codabar barcode or never recognize.
This Codabar barcode is I tried to scan actually. It's real size is 1cm x 1.75cm.
Since version 0.19.0 doesn't scan this real thing. However, It can scan this image displayed on PC.

Relevant Code:
FIRVisionImage *visionImage = [[FIRVisionImage alloc] initWithBuffer:sampleBuffer];
FIRVisionImageMetadata *metadata = [[FIRVisionImageMetadata alloc] init];
//...
visionImage.metadata = metadata;
FIRVisionBarcodeDetectorOptions *options = [[FIRVisionBarcodeDetectorOptions alloc] initWithFormats:FIRVisionBarcodeFormatCodaBar];
FIRVisionBarcodeDetector *detector = [self.vision barcodeDetectorWithOptions:options];
[detector detectInImage:visionImage
             completion:^(NSArray<FIRVisionBarcode *> *barcodes, NSError *error) {
    for (FIRVisionBarcode *barcode in barcodes) {
        NSLog(@"scan code %ld, %@", (long)barcode.valueType, barcode.rawValue
    }
}];

The Firebase ML Kit barcode API has been deprecated since all on-device ML Kit features are no longer a part of Firebase. You should move to using the Google standalone ML Kit instead by following the migration guide here.


Importing MD components in a personal project

I am unable to import MaterialComponents.

I a,

I am unable to import MaterialComponents.

I am unable to import MaterialComponents.


Updates to propograte test errors up make chain. [make_propogate_errors_fix]

Update makefiles and travis yaml to catch errors in individual tests.

@v-dobrev - I'm trying to avoid making a developer use 'make -k' to avoid having tests halt after one failure in examples.  MAKEFLAGS was problematic to modify on a per-target basis ( to try and add the -k behavior for just the tests ).
This was one solution - added a EXIT_FAIL var that defines a command to call, after a test fails.  In this case, travis is setting it to 'exit 1;'


should Eq.substr have the elabAsElim attribute?

Consider the following code, encountered while porting mathlib.logic.relation:
variable (rα : α → α → Prop) (rβ : β → β → Prop) (f : α → β)

def Fibration :=
  ∀ ⦃a b⦄, rβ b (f a) → ∃ a', rα a' a ∧ f a' = b

variable {rα rβ}

theorem _root_.Acc.of_fibration (fib : Fibration rα rβ f) {a} (ha : Acc rα a) : Acc rβ (f a) := sorry

theorem _root_.Acc.of_downward_closed (dc : ∀ {a b}, rβ b (f a) → ∃ c, f c = b) (a : α) (ha : Acc (InvImage rβ f) a) :
    Acc rβ (f a) :=
  ha.of_fibration f fun a _ h =>
    let ⟨a', he⟩ := dc h
    ⟨a', @Eq.substr _ (fun x => rβ x (f a)) _ _ he h, he⟩

It would be nice if, for this last theorem, we could instead do
theorem _root_.Acc.of_downward_closed (dc : ∀ {a b}, rβ b (f a) → ∃ c, f c = b) (a : α) (ha : Acc (InvImage rβ f) a) :
    Acc rβ (f a) :=
  ha.of_fibration f fun a _ h =>
    let ⟨a', he⟩ := dc h
    ⟨a', he.substr h, he⟩

That would match the mathlib3 version:
https://github.com/leanprover-community/mathlib/blob/290142416f9b51f6011c41cd5d28936d274309a7/src/logic/relation.lean#L171-L173
I think the reason this works in mathlib3 is that Lean 3's eq.substr has the elab_as_eliminator attribute:
https://github.com/leanprover-community/lean/blob/283f6ed8083ab4dd7c36300f31816c5cb793f2f7/library/init/logic.lean#L66-L68
Should we add to elabAsElim attribute to Lean 4's Eq.substr?
https://github.com/leanprover/lean4/blob/648ecff830ab8ef3ff08dee21f3aa43afd9e88c3/src/Init/Core.lean#L551-L553

Should we add to elabAsElim attribute to Lean 4's Eq.substr?

Sure, we should do it, but it is not enough. We need to unfold InvImage or provide the expected type.
@[elab_as_elim]
theorem Eq.my_substr {α : Sort u} {p : α → Prop} {a b : α} (h₁ : b = a) (h₂ : p a) : p b :=
  h₁ ▸ h₂

theorem _root_.Acc.of_downward_closed (dc : ∀ {a b}, rβ b (f a) → ∃ c, f c = b) (a : α) (ha : Acc (InvImage rβ f) a) :
    Acc rβ (f a) :=
  ha.of_fibration f fun a _ h =>
    let ⟨a', he⟩ := dc h
    ⟨a', by unfold InvImage; refine he.my_substr h, he⟩

theorem _root_.Acc.of_downward_closed' (dc : ∀ {a b}, rβ b (f a) → ∃ c, f c = b) (a : α) (ha : Acc (InvImage rβ f) a) :
    Acc rβ (f a) :=
  ha.of_fibration f fun a _ h =>
    let ⟨a', he⟩ := dc h
    ⟨a', show rβ (f a') (f a) from he.my_substr h, he⟩

theorem _root_.Acc.of_downward_closed'' (dc : ∀ {a b}, rβ b (f a) → ∃ c, f c = b) (a : α) (ha : Acc (InvImage rβ f) a) :
    Acc rβ (f a) :=
  ha.of_fibration f fun a _ h =>
    let ⟨a', he⟩ := dc h
    ⟨a', (he.my_substr h : rβ (f a') (f a)), he⟩

You can also avoid the @ by giving the motive using the new Lean 4 syntax:  ⟨a', Eq.substr (p := λ x => rβ x (f a)) he h, he⟩

@[elab_as_elim]
theorem Eq.my_substr {α : Sort u} {p : α → Prop} {a b : α} (h₁ : b = a) (h₂ : p a) : p b :=
  h₁ ▸ h₂

In Lean 4, that should be @[elabAsElim], I think.

Nope, attributes were camel cased in #1752 so it's @[elab_as_elim] in later nightlies.


Warnings in console

Environment

Tech
Version

@material-ui/pickers
3.0.0

material-ui
4.0.0

React
16.8.6

Browser
any

Peer library
moment

Steps to reproduce

place component in app
open calendar (click on text field)

Expected behavior
no warnings

Actual behavior
warnings in console:
index.js:1437 Warning: Failed prop type: Invalid prop `TextFieldComponent` supplied to `DateTextField`.
...
index.js:1437 Warning: Material-UI: theme.spacing.unit usage has been deprecated.
....
index.js:1437 Warning: Material-UI: the key `action` provided to the classes property is not implemented in ForwardRef(DialogActions).
You can only override one of the following: root,spacing.

Live example
https://codesandbox.io/s/silent-architecture-ni7wv

You must update to @material-ui/core https://codesandbox.io/s/loving-night-ciyfr

@dmtrKovalenko @material-ui/pickers do not support variant prop, so i cannot match date picker with my variant="filled" text fields in a form..

@pavles6 please read documentation carefully. For input variant use inputVariant prop


How to only flush once after rendering text?

I'm not sure how to state the question properly, but hopefully it will make sense.
I have a screen with a lot of text elements that change frequently.  When I change the text, the disp_flush is called twice for each element, once to blank out the old area and then again to draw the new text.
Is there some way I can configure lvgl to only flush after the text area is completely redrawn in the VDB? In the majority of cases the area being drawn is exactly the same, so flushing twice generates quite a bit of redraw overhead.

We use GitHub issues for development related discussions.
Please use the forum to ask questions.


[MM-17268] Subscribe permission for "Channel, Team and System Admins" treats all users as Channel Admins

Summary

Working as intended. The permission that “Channel, …. Admin” means is can the user “manage channel settings”. (See the screencap)
Protective change: trimmed the space around the allowed groups in case admins put a space after a comma.

Needs PM review:

Added some info in the System Console to let admins know this is happening (line 38).

Links

MM-17268

@aaronrothschild I checked with Christopher -- in team edition, System and Team Admins are the only ones considered channel admins, so I changed the string to reflect that. Please revise as you see fit.


Fan Curve Displays Only One Curve

This is probably not an issue but a configuration question. I duplicated your curves displayed in your AlienFan instructions. Configured as depicted, I have only one curve displayed and not the second yellow curve. I duplicated the curves in the GPU Thermistor also. Do I need to create curves for all sensors or just the sensor that I am using? Why do I not see the ye

llow curve? Thank you.

Yellow curves are from OTHER sensor - GPU in my case. Green from selected one.
So if you don't set GPU sensor, you will only see one.
I can share you .reg file with my full configuration, but keep in mind - i have SSD close to GPU, so i need to cool it down too.

I set the GPU curve, you can see this in the photo. I also placed check mark in CPU Thermistor, unchecked GPU on right side in same window, set GPU Thermistor curve and unchecked CPU there. Still only one curve showing.
Yes, please send .reg entry and i will review it. Thank yoou.

fans.zip
Here it is. But be careful:

I can have different SensorID, so some fan curves can not have real sensor (but will be visible anyway)
This .reg have my sensor names, so remove from reg or backup yours.

Okay, I downloaded your .reg file and changed the NAMES to match what I saw in  my registry. I deleted one entry because I did not have that sensor. (Deleted "SensorName-0-7"="CPU Participant (GFX)")
It appears that you only created curves for the two sensors, CPU THERMAL THERMISTOR & GPU INTERNAL THERMISTOR. You checked both CPU &GPU boxes on both.
With the exception of"SensorName-0-2"="SSD Thermistor", all other sensor's check boxes are unchecked.  I am guessing that you left this one checked because of your aforementioned SSD.
Question:

If the highest value of each curve is the one that is honored when the program is running, then why do you need the  second curve on the above "0-2" sensor?

2.Why can I not check only the CPU check box on CPU THERMAL THERMISTOR
and only the GPU check box on the GPU INTERNAL THERMISTOR?

Why do the curves change when I select CPU and then GPU in the right window?

A note, both curves appear on each graph respectively using your .reg file. This was not the case on mine. I include my original .reg, as a text file and your .reg file with the changed names for your reference. Thank you.
My Sensors.txt
Your file with My Changed names.txt

Because my SSD near GPU and fried by it. So i need to cool it down, if hot, or it starts throttle.
Because you have ONE, JOINED, cooling system. So spin up GPU fan for CPU-only and CPU fan for GPU-only helps to cool it down.
Because curves in window represent active FAN, selected into right list. For ALL sensors, which control it.

Your control have 1 sensor for CPU fan, and 2 for GPU. So it's OK, one curve if CPU fan selected, 2 if GPU fan.

Understood. Kindly CLOSE this topic if you wish, thank you.

Sounds good sir. May I offer that the curves that are yellow have the corresponding sensor label displayed as a possible solution? Thank you

Labels is not so easy to implement good way.
I plan to change UI the other way - checkboxes will be not on fan, but on sensors. So you will see selected sensors after select fan.

Check latest release.

Hello sir,  I have the latest release. It is a much clearer interface and easier to work with it. It is easy to see all the individual sensors that are in effect for our curves. Thank you!

Thanks. As i said, initially this was fan-driven, later i made it sensor-driven but don't change UI.
Anyway, thanks for your questions, this help to clarify.

Sir, YOU Are The Man! Peace.