Update README.md

Added Louis Rossmann to Videos section

Is it still on topic to add Rossmann's channel to this list? From his latest 24 videos only 3 are board repairs and 5 are talks on products and right to repair, the rest are about economics or various politics.
Perhaps it may be better to link the playlist of board repairs.


[ExpansionPanel] Improve a11y

Supercedes #14616. There's nothing gained by using context here.
It's less code that was required to cover niche use cases. We already have a similar requirement for ListItemSecondaryAction (needs to be last child). It also reflects the hierarchy that will be observable in the DOM.
Changes:

moves summary detection/validation into propTypes
use ExpansionPanelSummary to control the a11y story (setting id and aria-controls)

Not a fan of automatically generating/computing ids. Since the children are expected to match [summary, ...contet] we can't simply grab the id from the second child to use as aria-controls. Might be a little bit akward to set the id in the content wrapper to aria-controls of the summary. Open to other suggestions.
Breaking change
ExpansionPanelSummary must be the first child in ExpansionPanel
<ExpansionPanel>
-  <ExpansionPanelDetails />
-  <ExpansionPanelSummary />
+  <ExpansionPanelSummary />
+  <ExpansionPanelDetails />
</ExpansionPanel>

Should we add a documentation section about the accessibility.


Add tests

Add a simple test to verify that model parameters are updated by an optimization step. This test would detect if some parameters were declared in the pytorch module and not used during optimization.

nah, it's fine


Merge Deflate blocks

Deflate blocks of the same type can be sometimes merged, which can save space.

[x] Merge type 0 blocks post optimisation
[x] Merge type 1 blocks post optimisation
[ ] Merge type 2 blocks with identical headers post optimisation (partially implemented, blocks are merged but the headers are recoded)

Further optimisations could come from merging blocks at different points during optimisation, converting block types and merging, and tracking combinations of blocks and merged blocks to find the smallest combinations.

Hi. I wondered if you're still developing this tool?
Huffmix chokes on 0- type blocks...

Hi. I wondered if you're still developing this tool? Huffmix chokes on 0- type blocks...

Hi @ace-dent, sorry for the lack of progress! I've been a bit busy recently, I still plan on working on this more in the future but it might take a while. Huffmix having that issue was one of the main reasons I was interested in developing my own tools, I hope to add a "Huffmix equivalent" mode at some point. I'll also probably re-write this in C.

Thanks for the update @NeRdTheNed ... It will be such a useful tool to replace Huffmix (and ZipMix). Porting to C for native binaries would be neat too. Cheers!


fix: multiple job values in pods view

Pull Request
Required Fields
:mag_right: What kind of change is it?

fix

:dart: What has been changed and why do we need it?

Added the ability to filter using the job label to fix some queries in k8s-views-pods.json for users that have multiple values in the job label.

Optional Fields
:heavy_check_mark: Which issue(s) this PR fixes?

fixes #75

i change the variable to this:
{
        "current": {
          "selected": false,
          "text": "kube-state-metrics",
          "value": "kube-state-metrics"
        },
        "datasource": {
          "type": "prometheus",
          "uid": "${datasource}"
        },
        "definition": "label_values(kube_pod_info,job)",
        "hide": 0,
        "includeAll": false,
        "multi": true,
        "name": "job",
        "options": [],
        "query": {
          "qryType": 1,
          "query": "label_values(kube_pod_info,job)",
          "refId": "PrometheusVariableQueryEditor-VariableQuery"
        },
        "refresh": 1,
        "regex": "",
        "skipUrlSync": false,
        "sort": 1,
        "type": "query"
      }

and it works fine. Values comes from metrics set by kube-state-metrics

Done, thanks!

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Adjust OpenSSL defaults and mitigate CVE-2021-3499:

High Level Overview of Change
OpenSSL 1.1.1k was recently released and included a fix for CVE-2021-3499 which allows a malicious client to crash a server using earlier versions of OpenSSL by initiating a renegotiation while in TLS 1.2 mode. For details, see the OpenSSL security advisory published at https://www.openssl.org/news/secadv/20210325.txt.
While it is always recommended to build and link against the most recent version of OpenSSL, this commit goes above and beyond to mitigate this issue and, potentially, other issues, by disabling renegotiation support entirely. Furthermore, is now requires the use of TLS 1.2 or later, by disabling legacy TLS 1.0 and TLS 1.1 support. Lastly, this commit also changes the default list of ciphers that the server offers, limiting it only to ciphers that are part of TLS 1.2.
Before / After
TLS 1.0 and 1.1 connections were supported; attempts use them will now fail. Generally, both were already avoided by any relatively modern TLS implementation and are, at this point, effectively deprecated.
Test Plan
Ensure that server-server connectivity continues to work and that clients are able to connect to WSS ports.

LGTM.


HADOOP-18813. Fix typo: form -> from

Description of PR
There is a typo in a log message that NodeManager prints:

Retrieved credentials form RM for {}: {}

How was this patch tested?
This is an update only for a log message.
For code changes:

[ ] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

Maybe we should create the JIRA under YARN.

@tomscut
Right.. I missed it. Should I create a new issue under YARN, or is there a way that I can migrate this HADOOP-18813 issue to another project?

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 53s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

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

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
49m 16s

trunk passed

+1 :green_heart:
compile
1m 31s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
compile
1m 26s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
checkstyle
0m 40s

trunk passed

+1 :green_heart:
mvnsite
0m 45s

trunk passed

+1 :green_heart:
javadoc
0m 48s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
0m 40s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
1m 30s

trunk passed

+1 :green_heart:
shadedclient
8m 18s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 35s

the patch passed

+1 :green_heart:
compile
1m 22s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javac
1m 22s

the patch passed

+1 :green_heart:
compile
1m 17s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
javac
1m 17s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 27s

the patch passed

+1 :green_heart:
mvnsite
0m 35s

the patch passed

+1 :green_heart:
javadoc
0m 34s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
0m 32s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
1m 27s

the patch passed

+1 :green_heart:
shadedclient
38m 44s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
24m 24s

hadoop-yarn-server-nodemanager in the patch passed.

+1 :green_heart:
asflicense
0m 36s

The patch does not generate ASF License warnings.

139m  2s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5861/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5861

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux daf8bd0af813 4.15.0-212-generic #223-Ubuntu SMP Tue May 23 13:09:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / fceaf9eac53fcd90db1403f7964f1a9a5204f9af

Default Java
Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5861/1/testReport/

Max. process+thread count
623 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5861/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

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

This message was automatically generated.

@tomscut Right.. I missed it. Should I create a new issue under YARN, or is there a way that I can migrate this HADOOP-18813 issue to another project?

Please create a new JIRA, and close this PR and related JIRA.


fix: prevent from creating client if location is undefined

Currently, createTRPCWebSocketClient relies on location for some properties. This isn't an issue in the example, where it is called from a function on a button press only after the component is mounted. However, if you initialize it on the top-level, it runs before the component is mounted when location is not defined and throws an error.
This PR simply adds a guard that returns if location is undefined.

Thanks!


Links in "coreprofiler/view" ignored base path

Generated links in view coreprofiler/view ignored request base path.
Example:
public class Startup
{
...

 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
 {
    app.UsePathBase("/subpath");
    app.UseCoreProfiler(true);
    app.UseSwagger();
   app.UseMvc();
 }
}

Thanks harrison for reporting this issue. Fixed in this commit:
https://github.com/teddymacn/CoreProfiler/commit/88560fc78e1d4d7c267bd5607ffcbc53429bd529
This fix will be included in next release.

Released v1.1.3 with the fix. Please verify!

Its fixed.


The Sign Up Page

Issue Description
The sign up section is with in the index.html file if it was in another page it would be nice.
Screenshots or Examples (if applicable)

The Sign Up page in waste management looks like this

Proposed Solution (optional)
By creating another login and sign up page the website looks very clean.
We can also add additional options like continue with google .
Can you assign the issue to me. @GarimaSingh0109
Checklist

[X] I have checked the existing issues.
[X] The changes don't break the code.
[X] Please attach the screenshots and video of the development work once it is done.

Additional Comments (optional)
No response

@Lekkhasri i have assigned u the issue.

@khushi-joshi-05  Can you assign the labels please


Try-Convert not found.

"Try-Convert not found." - but this NuGet package is on my machine (try-convert.0.7.222801.nupkg)

@jamesbell43 Are you seeing while running upgrade-assistant? Could you please provide the upgrade-assistant.clef?

The Microsoft page for upgrade-assistant https://dotnet.microsoft.com/en-us/platform/upgrade-assistant/tutorial/install-upgrade-assistant did not specify the need to first install try-convert like this: dotnet tool install -g try-convert
After installing try-convert, I was able to proceed. Thank you!

@jamesbell43 Curious what version of upgrade-assistant you are using? We had removed the need to have try-convert installed prior to using UA a few versions back hence the question.

version 0.2.212405

version 0.2.212405

Ah that is a really old version, if you upgraded to latest you will see that try-convert is built-in and is not expected to be on the machine for UA to run.


Random rotation ensemble

@vigsterkr Yes I am planning to migrate all computation methods in SGVector and SGMatrix to linalg. I will also move all the linear algebra methods defined in machine learning classes to linalg.

@Saurabh7 FYI i just rebased the original feature/linalg_refactor so you'll have to update your branch as well

Thanks @karlnapf , I will push some changes in coming days.

@Saurabh7 i suppose this is down in the drain as hasn't been touched for 4 months now...


sim: add assertions on hostfs copy of structures

Summary
sim: add assertions on hostfs copy of structures
Impact
Testing

for some reasons it doesn't find config.h in case of cmake.
where is the cmake equivalent of https://github.com/apache/nuttx/blob/e1a1f7b5f4fc90f0d4708a9caab9e3bc00b5b7a9/arch/sim/src/Makefile#L412-L414 ?

@yamt please include a git log message explaining more about it.

@yamt please include a git log message explaining more about it.

what kind of extra info do you want to see?

@yamt please include a git log message explaining more about it.

what kind of extra info do you want to see?

Just why you decided to include the assertions. Was it failing silently, etc.

@yamt please include a git log message explaining more about it.

what kind of extra info do you want to see?

Just why you decided to include the assertions. Was it failing silently, etc.

done

@yamt please sqaush your patch into one.

@yamt please sqaush your patch into one.

done


Picovoice Issue:

Make sure you have read the documentation, and have put forth a reasonable effort to find an existing answer.
Expected behavior
Picovoice to continue running
Actual behavior
Picovoice crashed with error message.
Traceback (most recent call last):
  File "/home/kierank/.local/lib/python3.9/site-packages/picovoice/picovoice.py", line 249, in process
    self._inference_callback(inference)
  File "/home/kierank/Documents/Projects/python/porqupine/python-t2s.py", line 115, in _inference_callback
    actionhandeler(inference.intent, value)
UnboundLocalError: local variable 'value' referenced before assignment

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kierank/Documents/Projects/python/porqupine/python-t2s.py", line 240, in <module>
    main()
  File "/home/kierank/Documents/Projects/python/porqupine/python-t2s.py", line 224, in main
    PicovoiceDemo(
  File "/home/kierank/Documents/Projects/python/porqupine/python-t2s.py", line 141, in run
    self._picovoice.process(pcm)
  File "/home/kierank/.local/lib/python3.9/site-packages/picovoice/picovoice.py", line 250, in process
    except pvporcupine.RhinoError as e:
AttributeError: module 'pvporcupine' has no attribute 'RhinoError'

Steps to reproduce the behavior
Run python demo for a while then try to talk to it.

AttributeError: module 'pvporcupine' has no attribute 'RhinoError' is a bug and it should be fixed now with this commit
Now the reason you get the exception is unclear please update and run again and report back so I can help.

Thank you!


authorization with devise gem

This feature adds basic authorization to the app with the Devise gem.
Authentication is needed for this app so that admins (ie. DPLA staff) can log in to perform CRUD actions in the database.  After our initial launch in October, non-logged-in users will be able to view sets, sources, and guides; but until launch, only admins should have the ability to access any part of the application.  So for now, I added before_action :authenticate_admin! to the ApplicationController.  When we launch in October, this will need to change.
I kept most of the default Devise settings, expressed in the database migration, config/initializers/devise.rb and config/locales/devise.en.yml.  One exception is that I added the DPLA email address in line 13 of config/initializers/devise.rb.
The setting for the Admin model are very simple.  I am double-checking with Franky, but I think we only need one admin account that DPLA staff members can share, and its easy to make a new account from the command line.  So there is log-in and log-out capability from the app interfaces, but there is NOT ability to make a new account or reset a password.  We can always add these things in later if we decide we need them.
I made some spec settings changes to work with Devise: see spec/support/devise.rb and spec/support/controller_macros.rb and the new factory, spec/factories/admins.rb.  Although there appears to be a lot of changes to the existing specs, it's really just nesting all of the existing tests within a context block that logs in the admin.
I was also getting some errors with the rspec that I fixed by adding .rspec and spec/rails_helper.rb.  These files are auto-generated with you do rails generate rspec:install, which up to now I had neglected to do.

With the introduction of rails_helper there's some overlap with spec_helper that we might want to clean up. Mainly:

We probably want to be requiring rails_helper rather than spec_helper in MVC tests; and
remove Rails (and Factory Girl) specific setup from spec_helper https://github.com/dpla/primary-source-sets/blob/feature/authorization/spec/spec_helper.rb

I confirmed with FA that we only need one admin account that can be shared by all DPLA staff.

I recall, from adding Devise to Krikri months ago, that adding roles is a significant extra step, that we deferred to later with that project.  I'm generally very much against having one account of any kind shared among a group of users, especially an admin account.  Could the installation be set up so that individual users have their own accounts, with the responsibility that goes along with it of managing and not sharing their individual passwords?  As long as we're temporarily using before_action :authenticate_admin! it will still let them in.  This isn't so much a code suggestion as a deployment and support suggestion. :-)

Hi, @AudreyAltman:  Can you describe the changes made to the tests?  Were you just adding the 'admin logged in' contexts?

Thinking again about my comment about authentication and considering the time it would take to add create-an-account and change-password functionality.  That's a good point.  I think that maybe, though, considering that only two or a small handful people are going to be adding content to begin with, their accounts could be created manually and then barebones password-reset and add-user pages could be created in the next few weeks.

@markbreedlove re:tests I was just adding the 'admin logged in' contexts to the existing tests, but per @no-reply's suggestion, I am also in the process of adding some tests for non-logged-in users.

@markbreedlove re: create-an-account and change-password functionality - I am total agreement with you that password-reset and add-user pages should be added as time allows.  I would normally be in favor of adding them at the offset, but considering our tight timeline, I think it is okay to wait.

I made edits based on comments from @no-reply and @markbreedlove: https://github.com/dpla/primary-source-sets/commit/04a9eee78157aa9a65b95b94f6e7bb6869ded4d3

I realized that devise was in the Gemfile twice(!) so I deleted one of the two statements.
I changed the settings in the yml files according to @markbreedlove's suggestions.
I attempted to move Rails specific setup from spec_helper to rails_helper and deleted redundancies - however I am not really clear on which setups are Rails-specific, so I would love some feedback about that.
I required rails_helper instead of spec_helper in all MVC tests.
I added a new shared_example in rspec to test that non-admin users get redirected to the admin login page when they try to access admin-only routes: https://github.com/dpla/primary-source-sets/blob/04a9eee78157aa9a65b95b94f6e7bb6869ded4d3/spec/support/shared_examples/admin_only_route.rb

This looks ready to me.
I'll look into the merge conflict, it's probably just line ordering in the Gemfile.

Fixed and (force) pushed. I'm ready to merge this, when it passes.

@no-reply I noticed that the devise gem managed to sneak back into the Gemfile twice, so I fixed it.  I will :squash:.

:+1:

Looks good to merge.


[V2] Updated readme RecentlyVisitedSites

What's in this Pull Request?
Updated readme as requested by @eoverfield in #339

Thanks! looks great!


Yet another one that can't connect but with the latest versions. Checked everything I could think of.

I installed it just few days ago from source so I should be with the latest version.
OpenBazaar Server is v0.1 and is hosted on ubuntu 14.04 vps.
The OpenBazaar-client say just can't connect. No error message. Hey I can't even find logs in the dir with proper reason? It runs from Debian
server firewall is disabled
checked with host provider that they do NOT block any ports
ssl is off
im starting ob-server with "python openbazaard.py start -da <IP_ADDRESS>" to eliminate my local PC changing IP as potential reason
double checked username and pass from ob.cfg are matching and # removed
double checked ob-server is actually running on the server (with "top" command)

Since I don't know what else to check I'm posting this hoping someone will help me.
I know many people had this problem with previous version but I'm with the last one.

Which Server Configuration are you trying to connect to? If you're setting a custom password in ob.cfg, make sure you're not using the 'default' server configuration, since it might not have the correct creds stored. Your best bet is to create a new configuration, filling in the details (including creds) to match your server.

Of course I created new.
I had to enter the IP of the server (it's separate) and username and password that I set in the ob.cfg
i left the default ports though

What else I could check as a potential reason?

I'm not really sure. If you run a basic web server on your server, are you able to connect to it?
python -m SimpleHTTPServer 8000

Then from a browser on your client machine, try accessing <your-server-ip>:8000. If you connect successfully, it should return a directory listing.

Nope, OB is the only thing I have there.
All I know is  I can ssh just fine.
How come OB doesn't even give the reason for not connecting?
Is there a way to access my store from outside to see if it's even visible? Is there a way to get the guid without being able to connect to it with the client?

On the server machine can you see if the ports are listening?
netstat -an

See if the 18467 and 18466 and other OB ports are even listening.

here it is
udp        0      0 <IP_ADDRESS>:18467           <IP_ADDRESS>:*
tcp        0      0 <IP_ADDRESS>:18466           <IP_ADDRESS>:*               LISTEN

If you do his what do you get?
telnet localhost 18467

ob-server and ob-client are on different computers
i ssh@ip to it since i'm on linux on both ends
ssh works just fine
it's only the ob-client that keeps haning on "connecting...." forever without saying anything

I'm saying make sure those ports are even listening on your ssh machine.

well looks like they are:
udp 0 0 <IP_ADDRESS>:18467 <IP_ADDRESS>:*
tcp 0 0 <IP_ADDRESS>:18466 <IP_ADDRESS>:* LISTEN

well looks like they are:
udp 0 0 <IP_ADDRESS>:18467 <IP_ADDRESS>:*
tcp 0 0 <IP_ADDRESS>:18466 <IP_ADDRESS>:* LISTEN

A little more info
If the server at the VPS is stopped, it denies the connection right away and says can't connect
if it's started it hangs on "connecting.." forever
so it's seeing the server somehow.....

well I'll be trying on new server then since seems like nobody has ideas what else to check :)

Ok i just changed the host and all worked right away
and the previous host was confident there are no blocked ports
go figure lol


upgrade: Skip re-checking of new bots on upgrade.

This was added in c770bdaa3a66db6ca6197df33a08ef78847538f4, and we
have not added any realm-internal bots since
c770bdaa3a66db6ca6197df33a08ef78847538f4.
Speed up the critical period during upgrades by skipping this step.

Merged, thanks @alexmv!


NavigationBar and Footer added in Signup Page

🛠 Fixes Issue
Closes #41
👨💻 Changes proposed
Added Navigation Bar and Footer in Signup Page.

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📷 Screenshots

hey @KaizenGirl1111
This PR doesn't have any cnflicts.
Can you please review this so that I can remove upcoming conflicts?


Create PrintPrimeNumbersBetweenTwoNumbers.ts

Closes #1306
What's being changed:
Added TS file to print prime numbers between 2 numbers

True, will check and commit new changes
On Mon, Oct 3, 2022 at 9:45 PM rwlc @.***> wrote:

Doesn't this just print out odd numbers between a range, instead of prime
numbers?
—
Reply to this email directly, view it on GitHub
https://github.com/codinasion/program/pull/1308#issuecomment-1265702290,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYAWZHEUTU6YI7LVCKUUWHDWBMBDRANCNFSM6AAAAAAQ3XOYCM
.
You are receiving this because you were mentioned.Message ID:
@.***>


Add tropical cyclone diags

Add tropical cyclone diags. Resolves #61.

Note: #132 should be incorporated into this.

@forsyth2; a few initial comments

I'm not a big fan of the name [postprocess_tc], could we just simply make it [tc]?
Could we make the task smart and automatically detect the input grid? Chrysalis is down right now, so I cannot check if it is somewhere in the netCDF metadata.

@chengzhuzhang

is there a parameter for grid type that user can specify?

Yes, there is a grid parameter, so we could use that to specify ne30np4 vs ne30pg2.
@golaz

could we just simply make it [tc]?

I feel like it should be a little bit more descriptive, maybe something like [generate_tc_files]?

Could we make the task smart and automatically detect the input grid?

Possibly. I can look into that when Chrysalis is back up.

@chengzhuzhang Would this work?
In the configuration file:
grid = "ne30pg2"
input_files = "eam.h2"

In zppy/postprocess_tc.py:
            if c["grid"]:
                m = re.match("ne(\d\d)(.*)", c["grid"])
                if m:
                    c["res"] = m.group(1)
                    if "pg2" ==	m.group(2):
                        c["pg2"] = "true"
                    else:
                        c["pg2"] = "false"
                else:
                    raise Exception("grid={} is not valid.".format(c["grid"]))
            else:
                raise Exception("No value was given for `grid`.")
            if c["input_files"]:
                c["atm_name"] = c["input_files"].split(".")[0]
            else:
                raise Exception("No value was given for `input_files`.")

In zppy/templates/postprocess_tc.bash:
res={{ res }}
pg2={{ pg2 }}
atm_name={{ atm_name }}

@golaz

Could we make the task smart and automatically detect the input grid?

I don't think so; I only get one result looking for ne30 in the eam.h2 files:
ncdump -h v2.LR.historical_0201.eam.h2.2014-12-17-00000.nc | grep ne30
		:topography_file = "/lcrc/group/e3sm/data/inputdata/atm/cam/topo/USGS-gtopo30_ne30np4pg2_16xdel2.c20200108.nc" ;

Hey @forsyth2, to auto detect grid, i think you found the right info:
		:topography_file = "/lcrc/group/e3sm/data/inputdata/atm/cam/topo/USGS-gtopo30_ne30np4pg2_16xdel2.c20200108.nc" ;,
where ne30np4pg2 is a longer version of ne30gp2, this topography_file attribute should exist in meta data of every history files and is valid to be used to detect grid type.
(more topography_files available here: https://web.lcrc.anl.gov/public/e3sm/inputdata/atm/cam/topo/
Once the grids are auto detected, there is no need for user-input for an additional grids parameter. And the rest of the changes look fine to me..

to auto detect grid, i think you found the right info:

@chengzhuzhang What's the best way to extract this info? I can get it by having Python look for topography_file in the output of ncdump -h, but that isn't a particularly clean solution. I tried ncdump -v topography_file but topography_file isn't a variable.

I'm not a big fan of the name [postprocess_tc], could we just simply make it [tc]?

@golaz: [tc] would be fine, but I'm concerned it's too similar to [ts] for time-series. I'd also like a little more description of what's going on -- e.g. [generate_tc_files]

Hey Ryan, I got the following tip from @czender to filter attributes using nco command. Try this:
ncks --trd -M -m inputfile.nc | grep -E -i "^global attribute [0-9]+: topography_file" | cut -f 11- -d ' ' | sort
(more details can be found around the use of function ncattget here http://nco.sourceforge.net/nco.html)

@chengzhuzhang Thanks, the following works:
$ ncks --trd -M -m v2.LR.historical_0201.eam.h2.2014-12-17-00000.nc | grep -E -i "^global attribute [0-9]+: topography_file" | cut -f 11- -d ' ' | sort
/lcrc/group/e3sm/data/inputdata/atm/cam/topo/USGS-gtopo30_ne30np4pg2_16xdel2.c20200108.nc

However, I'm still unclear how to extract the resolution/grid. Looking at the list of topography files (https://web.lcrc.anl.gov/public/e3sm/inputdata/atm/cam/topo/), not all of them have a grid of the form ne#np#pg#. It looks like the resolution is always the part after the first underscore though? That could work.

It looks like the resolution is always the part after the first underscore though? That could work.

This this also my understanding.


Team creation fails after several months - Unauthorized (get client id step)

It has been working for several weeks but has now suddenly stopped on the step "get client id" with the following error : Unauthorized.
{
"status": 401,
"message": "Operation failed because client does not have permission to perform the operation on the key vault. Please check your permissions in the key vault access policies https://docs.microsoft.com/en-us/azure/key-vault/general/assign-access-policy-portal.\r\nclientRequestId: 75738da4-9fb4-4959-a4d9-cb2293479274",
"error": {
"message": "Operation failed because client does not have permission to perform the operation on the key vault. Please check your permissions in the key vault access policies https://docs.microsoft.com/en-us/azure/key-vault/general/assign-access-policy-portal."
},
"source": "keyvault-ne.azconn-ne.p.azurewebsites.net"
}

We ran into the same exact error within that same action (Get Client ID) in the ProcessTeamRequest Logic App.
It was related to the secret for our key vault expiring after a year.  We followed the instructions provided in the link below for refreshing the secret.
https://github.com/OfficeDev/microsoft-teams-apps-requestateam/wiki/Refreshing-Expired-Secrets
That resolved the issue for us.

Closed due to inactivity - reopen if required


Clean up source files

Cleans up the source by removing unnecessary whitespaces, newlines and executable bits. Here are the commit messages with more details:
cleanup: remove trailing whitespace and newlines
Modern editors generally remove these automatically, and hence it is necessary to clean up all files. Otherwise future source change commits will contain a lot of noise with with whitespace changes, or the developer has to patch-add the source files, separating whitespace changes from meaningful changes. As both are sub-optimal, the best option is to fix all the whitespace at once.
The following commands were used to clean up the whitespace:
find . -type f -not -path './.git/*' -exec sed --in-place -e :a -e '/^\n*$/{$d;N;};/\n$/ba' {} \;
find . -type f -not -path './.git/*' -exec sed --in-place 's/[[:space:]]\+$//' {} \;

cleanup: remove executable bits
The removal was done with the following command:
find . -type f -not -path './.git/*' -not -path './grasptest/*' -not -path './make_environment*' -perm /uog+x -exec chmod a-x {} \;

The executable flags from the make_* scripts in the root directory were not removed, even though they are not useful either.

Great @mortenpi, I've been thinking about do the same. I'll test the code sometime this week! If it runs through fine I'll merge it.
@cffischer @mrgodef @gaigalas @tspejo @bieronjacek Note this additional example of a Pull Request in github-style code development. I'll merge it within a few days, but more will come soon if you don't have time to check it out.

Ok, so 11 days have passed. The code compiles fine on my laptop with

Mac OS 10.14.3
gfortran 8.3.0
OpemMPI 4.0.0

Haven't had time to actually do any serious test runs, but I can't see how this would destroy anything. If it does we'll just revert, no problems.
(Note that @SachaSchiffmann runtime issue #10 for rci persists...)
I'll go ahead and merge.

OK


Fixed version in tests to reflect the recent version change PRs

Main branch build is failing.
Fixing the failing tests to reflect the version changes from recent PRs. Those PRs did not run the dotnetworker build & tests.

/check-enforcer override

/check-enforcer evaluate


Add swipe back gesture / Enum Type

Codecov Report

Merging #88 into master will decrease coverage by 4.92%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master      #88      +/-   ##
==========================================
- Coverage   50.28%   45.36%   -4.93%
==========================================
  Files           3        3
  Lines         175      194      +19
==========================================
  Hits           88       88
- Misses         87      106      +19

Impacted Files
Coverage Δ

lib/src/router.dart
6.75% <0%> (-0.6%)
:arrow_down:

lib/src/common.dart
20% <0%> (-24.45%)
:arrow_down:

lib/src/tree.dart
79% <0%> (-1.62%)
: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 d3b3470...94851d6. Read the comment docs.

This is covered in the 1.5.0 release.


Doppler out of memory when scaled

Describe the bug
When scaling to two Doppler instances and deploying an application, the memory consumption increases until either the k8s node crashes or Doppler is killed by the OOMKiller.
To Reproduce
Install kubecf master with cf-operator master.
Run cf push with the example Dora app.
Expected behavior
Doppler should consume reasonable amount of memory.
Environment

CF Version: v8 and v12

@viovanov blocker for 1.0?

Seems like the original solution that was proposed is not going to work out. An issue has been filed upstream though it might take some time to be fixed as the root cause hasn't been identified yet.
Since the problematic part is the log-cache job therefore one potential fix as proposed by @f0rmiga is to leave the log-cache job outside of the doppler instance group and avoid scaling it altogether.

As discussed with @viovanov, we will keep it as is for now.

Upstream's VM deployments don't seem to be suffering from this issue based on discussions.


Notices not being displayed in chat.

Describe the bug
Notices not being displayed in chat after using a command like /mods or vips
To Reproduce

Be on v2.1.1 or v2.1.2
Type /mods or some other notice producing command in chat
See no response

Expected behavior
See the notice in chat.
Screenshots (gif)
https://i.nuuls.com/zkyvS.gif
Chatterino version
2.1.2 (https://github.com/Chatterino/chatterino2/commit/7b43f0a30a2e9ec2e5498213a23c66da8d354df2) and v2.1.1
Additional context
Still works fine on v2.1.0

Fixed in https://github.com/Chatterino/chatterino2/commit/671c9ed6544ca776079b53d4234f80923fed3f66
I will keep this issue open until an official update is out.

reopening until official release :name_badge:

@pajlada  it's happening again with the pubsub on 2.1.3

Closed as I said above


Add UserUpdateStatusCustom for custom statuses

Follow up to https://github.com/Bios-Marcel/cordless/pull/229

Are you planning to add more?

I think this covers all of the custom status stuff exposed by Discord so I don't have anything else to add


std futures note

Description
Addresses https://github.com/rustasync/runtime/issues/13
Motivation and Context
It's become apparent that the difference between futures and futures-preview has confused people. This is an attempt to help fix that somewhat.
Types of changes

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

@iamcharleschege @zhouhansen would this address the concerns in https://github.com/rustasync/runtime/issues/13?

Yes, it does

Alright, merging!


Python stubs loaded from extensions folder even when using an explicit interpreter

Type: Bug

Set an interpreter that isn't default (I'm using one in a venv)
Install custom stubs to that venv (I did pip install micropython-esp8266-stubs
Open a python file using packages installed in that venv that you have stubs for (I am using gc and machine)
Observe that the machine import lints correctly and if you go to definition it will open the .pyi file in that venv location, but if you do the same for the gc package it opens the .pyi file in the default extension location (in my example, it opens the path to the jedi/third_party/typeshed/stdlib file)

I'm happy to be told im wrong, but this seems like an oversight to me. In my program i am getting lint warnings, and not getting function previews/type hints for my correct code, because the implementation of gc from micropython is different to the python standard library gc, but i am developing in a venv for this reason, and i can't seem to find any extension settings that allow me to explicitly tell vs code (or in my case, vscodium) to only use stubs in my venv location (or atleast change the priority order that they are looked for)
Extension version: 2024.0.0
VSCodium version: VSCodium 1.82.2 (a5004432af6600c99fa4f918a3f2f8df44df71e6, 2023-09-14T18:27:11.315Z)
OS version: Linux x64 6.1.0-17-amd64
Modes:

System Info

Item
Value

CPUs
AMD Ryzen 7 1700 Eight-Core Processor (16 x 1421)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
1, 1, 1

Memory (System)
31.27GB (25.97GB free)

Process Argv
--unity-launch

Screen Reader
no

VM
0%

DESKTOP_SESSION
cinnamon

XDG_CURRENT_DESKTOP
X-Cinnamon

XDG_SESSION_DESKTOP
cinnamon

XDG_SESSION_TYPE
x11

I believe if you're using VS codium, you must be using jedi as your language server, not pylance.
"python.languageServer": "jedi"

As Pylance doesn't run in VS Codium. Or at least it shouldn't.
That should mean this is an issue for the Jedi language server.

If Pylance is actually in use, this might be a dupe of https://github.com/microsoft/pylance-release/issues/5031.

Thank you for responding to this issue. This definitely seems to be a misunderstanding on my part then, because for some reason i thought pylance was the one that controls if it uses itself, or jedi, as the lsp, not vscodium.
Thank you for clarifying. I'll move the issue to the jedi project.


How to feed 3D data [79 x 18 x 2] as input tensor to tflite model?

I have I written a custom graph:

it expects an Eigen::Matrix as input
converts the matrix into a tensor
runs a tflite model on the tensor
convert the output tensor to a vector of floats
returns that vector

Here is the graph:
input_stream: "MATRIX:in"
output_stream: "FLOATS:out"

node {
  calculator: "TfLiteConverterCalculator"
  input_stream: "MATRIX:in"
  output_stream: "TENSORS:image_tensor"
  options: {
    [mediapipe.TfLiteConverterCalculatorOptions.ext] {
      zero_center: false
    }
  }
}

node {
  calculator: "TfLiteInferenceCalculator"
  input_stream: "TENSORS:image_tensor"
  output_stream: "TENSORS:tensor_features"
  options: {
    [mediapipe.TfLiteInferenceCalculatorOptions.ext] {
      model_path: "mediapipe/models/my_model.tflite"
    }
  }
}

node {
  calculator: "TfLiteTensorsToFloatsCalculator"
  input_stream: "TENSORS:tensor_features"
  output_stream: "FLOATS:out"
}

The graph compiles and runs, when i feed it with some toy input Eigen::Matrix. Weirdly, it does not even crash when the input matrix has wrong dimensions (but of course the output result is non-sensical).
Anyway, I was trying to feed in the exact data that is expected by my_model.tflite, wich is (according to Netron) a tensor of shape [1 x 79 x 18 x 2]. This corresponds to pose-estimation results for my own pose-estimator (batch_size = 1, num_frames = 79, num_keypoints = 18, num_dimensions = 2 (x and y).
As you might know TfLiteConverterCalculator only accepts IMAGE or MATRIX as inputs. However, MATRIX only stands for 2D Eigen::Matrix data structures, which is not suitable for my case.
How should I feed my data to the mediapipe graph?
Some further infos:

I can perform inference with the my_model.tflite model successfully in an python program, so the model works fine
OS: Ubuntu 18.04
MediaPipe version: 4a20e99 tag: v0.8.10
Solution: Hello World (modified)
Programming Language: C++

Hi @mgarbade ,
We have similar issue regarding input to tflite model , please check this issue.

The referenced thread is very hard to read because of bad formatting and as far as I can see it's not directly related to my question: The two mentioned issue authors both try to feed an image to a tflite model, whereas I'm trying to feed a 3D tensor of float data to the tflite model.

Hi @mgarbade ,
Can you close the issue if the issue has been resolved.


Completing field starting with _ gives double _

struct A {
    _marker: PhantomPinned,
}

fn a() {
    A {
        _<|>
    }
}

will result in
struct A {
    _marker: PhantomPinned,
}

fn a() {
    A {
        __marker
    }
}

Noted, I am going to take a look and also check if it happens in other cases like function parameters.

I cannot reproduce this at all. I tried rust-analyzer version 0.2.344 (2020-10-12 (b7596d2)) and master (unreleased (93de491)). Can anybody reproduce this with their setup?

I can't.

I still got last weeks version. With this weeks version it works fine.


Set up issue

When i run the project(both backend and frontend) i got this issue

Hi Deepak, I run the project on my side and it is working completely fine
You can start by checking if there is any issue in your redux store or client-side\src\reducers\auth.reducers.js
When you first try to run the project it should run, while trying to log in maybe you are getting this error (my guess) For this, you can check if the conditional rendering is working or not in file client-side\src\components\Layout\index.layout.js

I haven't been much into redux, i recently started learning redux, will run the project again and let you know


[improvement] information bar on bottom instead of top

With high size screen it is difficult to access information bar with one hand. Two hands are required.
It could be useful to allow setting its position to bottom of the screen instead or top.

This was already requested in  #5447


Add Category & Subject CV field.

This uses <optgroup> and bootstrap-select instead of the home-built
javascript picker in the current LAE. I hope this is sufficient, because
the HTML is much more standard, and even without bootstrap-select you
get a nice categorized multiple-select box.

Have you tried this with all of the subjects loaded? My concern (if I understand the UI correctly from the screenshot), is that the drop-down might get very long.

I worried about the same thing @jpstroop — the current LAE subject list has 440 terms in 18 groups.  But I loaded them locally, and it works fine.  It would be a long list to scroll through, but you can type a couple of letters from a subject and pick it quite easily.  So I think it's worth doing a demo to see what everybody thinks of it (and making sure to do a local demo, so the experience isn't obscured by the limits of screensharing).

@jpstroop Yeah, that screenshot above is with all the subjects loaded. It relies reasonably heavily on the search aspect, so it depends on how often they actually know what subject they're after.
As for the demo, since it's all JS it should be just fine to demo remotely.

👍  Let's see what they think. I am worries about how well they might or might not know the vocab, but agree this is a much nicer solution if we can get away with it.

One other small note: I had to update my solr_wrapper config to use instance_directory instead of instance_dir — I'll open a separate PR to update solr_wrapper and fix that, though.

Coverage remained the same at 100.0% when pulling 87478b11749e9565a441ab1af4a7f611e7217c1c on ingest_categories into 6927c0108e862e4b94d2ba25d23d641073ab6690 on master.


IDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

System information

OS Platform and Distribution Linux Ubuntu 16.04

TensorFlow installed from pip:

TensorFlow version 1.13:

Python version 3.5:

Installed using created virtualenvironment and then used ubuntu command to install :

GPU model and memory   NVIDIA Corporation GT218 [GeForce 210] (rev a2)

Install NVIDIA driver
apt-get install --no-install-recommends nvidia-410 .
to check this nvidia installation i used
nvidia-smi
command it ended up with above error message
https://www.tensorflow.org/install/gpu followedsame link
Is this issue is because the GPU version is not supported??
If so please to share the GPU compatible version and memory size

@hmchaitra This question is better asked on StackOverflow since it is not a bug or feature request. There is also a larger community that reads questions there.If you think we've misinterpreted a bug, please comment again with a clear explanation, as well as all of the information requested in the issue template. Thanks!


Resources do not inherit relationships

I have found that if a belongs_to relationship is defined on a Parent resource, this relationship will not exist on a Child of the Parent.
Is it something to be fixed?
When defining attributes and relationships on serializers they get correctly inherited by children classes, and this is also the behaviour for Rails models.
For the time being, I will try to put the relationships of the parent in a module and include it on each children (or just use concerns).

Fixed in Graphiti, the 1.0 version of Suite https://graphiti-api.github.io/graphiti/guides/

Cool! I didn't know about that, should I upgrade from jsonapi-suite to Graphiti already? I mean, is it ready?

It's in stable beta and should do an RC soon. I'd recommend it!


[MINOR] Use direct marker for spark when timeline server is disabled

Change Logs
Currently the default marker type for spark is timeline-server based regardless of timeline server is disabled or not. This pr  change the default marker type of spark engine to direct when timeline server is disabled
Impact
Default marker type of spark engine  when timeline server is diabled
Risk level (write none, low medium or high below)
none
Documentation Update
N/A
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

@hudi-bot run azure


i18n: Update zanata configurations and intl scripts

Updates made:

Change https://zanata.phx.ovirt.org to https://zanata.ovirt.org

Use a newer version of the zanata maven plugin to manage pull and
push transactions.  The older version references a version of JAXB
that no longer works on the current 1.8 JDK.

Drop the use of Java 1.8 to run the zanata maven plugin, Java 11
works with the updated plugin.

With recent updates a few scripts did not want to run.  They've
been modified to run as called.  Most of the changes are with how
the base and translated messages are imported.  The use of require()
to access things needed to be changed to import.

Some tests failed

Some tests failed


[Bug]

Description

来自崩坏3的弹窗，启动游戏并在窗口打开后约1秒触发，后游戏自动退出
Reproduction Steps
来自崩坏3的弹窗，启动游戏并在窗口打开后约1秒触发，后游戏自动退出
Expected Behavior
No response
Screenshots
No response
Starward Version
0.9.0
Windows Version
19045.2486
Log
No response
Additional Context
No response

Closed for no title or content.


Look into localtunnel as SauceConnect alternative

localtunnel exposes your localhost to the world for easy testing and sharing! No need to mess with DNS or deploy just to have others test out your changes.

we could potentially look into using this instead of sauce connect, as it would allow a common solution across multiple BaaS providers

Nice idea! We should figure out a way to shape this into something that would power an official use case / demo / example.


BZ-1260881,BZ-1295529 REST Query API: startDate and endDate parameters do not work

https://bugzilla.redhat.com/show_bug.cgi?id=1260881

@mswiderski Could you take a look at this when you get a chance? (6.3.x branch.. )

merged into 6.3.x https://github.com/droolsjbpm/droolsjbpm-integration/commit/09263cca6a9d3c005721b3b0cc588eceddbab999


Does not currently support songs over 1 hour in length

Need the ability to explode the song duration properly if there is an extra : (colon).

Fixed in 7d9dabe.


Some confusion about generative networks

Hello, I have some confusion about the generativeadversarial generative network, I hope I can get your help.
As some papers introduce that GAN can be used to generate images to expand the data set. My question is, if I want to train a GAN to generate the images to enlarge my dataset, do I need to provide a large training dataset for the GAN?

Train GAN with external data means the distribution of generated images belongs to the new dataset. If you just want to generate images for data augmentation, we do not recommend training your model with a new dataset.
You may consider fine-tuning an off-the-shelf generator with your dataset, and this process does not need a great amount of data.

Train GAN with external data means the distribution of generated images belongs to the new dataset. If you just want to generate images for data augmentation, we do not recommend training your model with a new dataset. You may consider fine-tuning an off-the-shelf generator with your dataset, and this process does not need a great amount of data.

Thank you very much for your reply.  Does training a generator from scratch usually require a lot of training data?

This depends on your dataset. You may need at least thousands of images empirically.

This depends on your dataset. You may need at least thousands of images empirically.

Thanks a lot!


ValueObservationQueryable don't update view

Hi, I went both song and it's composer info in view but with  associations won't update when song data change
public struct SongInfo: FetchableRecord, Decodable {
    var song: Song
    var composer: Artist
}
public struct SongInfoRequest: ValueObservationQueryable {
    public static var defaultValue: [SongInfo] { [] }

    public func fetch(_ db: Database) throws -> [SongInfo] {
        let info = try SongInfo.fetchAll(db, Song.including(required: Song.composer).asRequest(of: SongInfo.self))
        print("...\(info)")
        return info
    }
}

// view
struct HomePage: View {
    // SongInfo  won't update although song has change
    @Query(SongsRequest())
    var songs: [SongInfo]
    ...
}

but without associations works
public struct Song: FetchableRecord, Decodable {
    static let composer = belongsTo(Artist.self)
    public var name: String
    public var cover: String
    public var composer: QueryInterfaceRequest<Artist> {
        request(for: Song.composer)
    }
}
public struct SongRequest: ValueObservationQueryable {
    public static var defaultValue: [Song] { [] }

    public func fetch(_ db: Database) throws -> [Song] {
        let info = try Song.fetchAll(db)
        print("...\(info)")
        return info
    }
}

// view
struct HomePage: View {
    //  Song  update when song has change
    @Query(SongsRequest())
    var songs: [Song]
    ...
}

what I miss here?

Hello @y0zong,
Please provide information that could help reproducing the issue. Which versions of GRDBQuery and GRDB are you using? On which platform are you running your app? What is your application doing? Any running sample code, or demo project?

Thanks for the quick reply!
GRDB v6.29.0
GRDBQuery 0.9.0
Xcode 15.4
IOS 17.5
It's a music app for IOS, below are all the key file
database.swift (fetch data with latestSongs)
import Foundation
import GRDB
import OSLog
import SwiftUI
import Alamofire

public class Server {
    static var apiHost = "http://<IP_ADDRESS>:8090";
    static var shared = Api();

    class Api {
        func latestSongs() async throws -> Data {
            try await withCheckedThrowingContinuation { continuation in
                AF.request("\(Server.apiHost)/song/some?name=Jacob").responseData { response in
                    if response.response?.statusCode == 200 {
                        continuation.resume(returning: response.data!)
                    }
                }
            }
        }
    }
}

private struct MiusicDatabaseKey: EnvironmentKey {
    static var defaultValue: MiusicDatabase = MiusicDatabase.shared
}

public struct MiusicDatabase: Sendable {
    private static let logger = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "SQL")

    public let writer: GRDB.DatabaseWriter

    public var reader: GRDB.DatabaseReader { writer }

    private var migrator: DatabaseMigrator {
        var migrator = DatabaseMigrator()
#if DEBUG
        // Speed up development by nuking the database when migrations change
        // See <https://swiftpackageindex.com/groue/grdb.swift/documentation/grdb/migrations#The-eraseDatabaseOnSchemaChange-Option>
        migrator.eraseDatabaseOnSchemaChange = true
#endif

        migrator.registerMigration("Create Tables") { db in
            try db.create(table: "artist") { t in
                t.primaryKey("id", .integer).notNull()
                t.column("name", .text).notNull()
            }

            try db.create(table: "song") { t in
                t.primaryKey("id", .integer).notNull()
                t.column("name", .text).notNull()
                t.column("cover", .text).notNull()
                t.column("type", .text).notNull()
                t.belongsTo("composer", inTable: "artist", indexed: true).notNull()
                t.belongsTo("reference", inTable: "song", indexed: true)
            }
        }
        return migrator
    }

    public init(_ dbWriter: some GRDB.DatabaseWriter) throws {
        self.writer = dbWriter
        try migrator.migrate(dbWriter)
    }

    public static func makeConfiguration(_ base: Configuration = Configuration()) -> Configuration {
        if ProcessInfo.processInfo.environment["SQL_TRACE"] != nil {
            config.prepareDatabase { db in
                db.trace {
                    os_log("%{public}@", log: logger, type: .debug, String(describing: $0))
                }
            }
        }
#if DEBUG
        // Protect sensitive information by enabling verbose debugging in
        // DEBUG builds only.
        // See <https://swiftpackageindex.com/groue/grdb.swift/documentation/grdb/configuration/publicstatementarguments>
        config.publicStatementArguments = true
#endif

        return config
    }
}

extension MiusicDatabase {
    /// The on-disk repository for the application.
    static let shared = makeShared()

    private static func makeShared() -> MiusicDatabase {
        do {
            let fileManager = FileManager.default
            let appSupportURL = try fileManager.url(
                for: .applicationSupportDirectory, in: .userDomainMask,
                appropriateFor: nil, create: true)
            let directoryURL = appSupportURL.appendingPathComponent("Database", isDirectory: true)
            try fileManager.createDirectory(at: directoryURL, withIntermediateDirectories: true)

            let databaseURL = directoryURL.appendingPathComponent("db.sqlite")
            NSLog("Database stored at \(databaseURL.path)")
            let dbPool = try DatabasePool(
                path: databaseURL.path,
                configuration: MiusicDatabase.makeConfiguration())
            let playerRepository = try MiusicDatabase(dbPool)

            return playerRepository
        } catch {
            // Replace this implementation with code to handle the error appropriately.
            // fatalError() causes the application to generate a crash log and terminate.
            fatalError("Unresolved error \(error)")
        }
    }
}

extension EnvironmentValues {
    fileprivate(set) var miusicDatabase: MiusicDatabase {
        get { self[MiusicDatabaseKey.self] }
        set { self[MiusicDatabaseKey.self] = newValue }
    }
}

extension View {
    func miusicDatabase(_ database: MiusicDatabase) -> some View {
        self
            .environment(\.miusicDatabase, database)
            .databaseContext(.readOnly { database.reader })
    }
}

model.swift By the way, the returned server data is already nested with artist. I used a trick to store it to GRDB. what's the elegant way to handle it?
HTTP/1.1 200 OK
content-length: 34506
connection: close
content-type: application/json
pagenation-cursor: 1
pagenation-count: 100
date: Sat, 31 Aug 2024 15:44:03 GMT

[
  {
    "id":<PHONE_NUMBER>97790837,
    "name": "Jack Lincoln",
    "type": "original",
    "cover": "/some/path/file.jpg",
    "status": "normal",
    "released_at": null,
    "updated_at": "2024-08-31T00:06:57.747612+08:00",
    "composer": {
      "id":<PHONE_NUMBER>75976197,
      "name": "Roland 鹏"
    },
    "lyricist": null,
    "singer": null,
    "performer": null,
    "recording": null,
    "publisher": null,
    "reference": null
  }
]

import Combine
import Foundation
import GRDB
import GRDBQuery

// Artist
public struct Artist: Codable, Hashable, Sendable {
    private(set) public var id: Int64
    public var name: String
}

extension Artist: TableRecord, EncodableRecord, MutablePersistableRecord {

}

// Song
public struct SongInfo: FetchableRecord, Decodable {
    var song: Song
    var composer: Artist
}

public struct Song: Codable, Hashable, Sendable, Identifiable {

    static let composer = belongsTo(Artist.self)
    static let reference = belongsTo(Song.self)

    enum CodingKeys: CodingKey {
        case id
        case name
        case cover
        case type
        case composer
        case composerId
    }

    private(set) public var id: Int64?
    public var name: String
    public var cover: String
    public var type: String
    public var composerId: Int64
    private(set) var _composer: Artist?
    public var composer: QueryInterfaceRequest<Artist> {
        request(for: Song.composer)
    }
    public var reference: QueryInterfaceRequest<Song>{
        request(for: Song.reference)
    }

    public func encode(to encoder: any Encoder) throws {
        var container = encoder.container(keyedBy: CodingKeys.self)
        try container.encode(id, forKey: .id)
        try container.encode(name, forKey: .name)
        try container.encode(type, forKey: .type)
        try container.encode(cover, forKey: .cover)
        try container.encode(composerId, forKey: .composerId)
    }

    public init(from decoder: any Decoder) throws {
        let container = try decoder.container(keyedBy: CodingKeys.self)
        self.id = try container.decodeIfPresent(Int64.self, forKey: .id)
        self.name = try container.decode(String.self, forKey: .name)
        self.cover = try container.decode(String.self, forKey: .cover)
        self.type = try container.decode(String.self, forKey: .type)

        self._composer = try container.decode(Artist.self, forKey: .composer)
        self.composerId = self._composer!.id
    }
}

extension Song: TableRecord, EncodableRecord, MutablePersistableRecord, FetchableRecord {
    static let songCollectionToSong = hasMany(SongCollectionToSong.self)
    static let collections = hasMany(SongCollection.self, through: songCollectionToSong, using: SongCollectionToSong.songCollections)
    static let player = belongsTo(Artist.self)
    static let author = belongsTo(Author.self)

    static func fetchFromServer() async {
        do {
            let data = try await Server.shared.latestSongs()
            let songs = try JSONDecoder().decode([Song].self, from: data);
            try await MiusicDatabase.shared.writer.write { db in
                for var song in songs {
                    try song._composer?.upsert(db) // **here is the trick!**
                    song._composer = nil
                    try song.upsert(db)
                }
            }

            print("=====> fetched data")
        } catch {
            print("\(error)")
        }
    }
}

public struct SongsRequest: ValueObservationQueryable {
    public static var defaultValue: [SongInfo] { [] }

    public func fetch(_ db: Database) throws -> [SongInfo] {
        let info = try SongInfo.fetchAll(db, Song.including(required: Song.composer).asRequest(of: SongInfo.self))
        print("...\(info)")
        return info
    }
}

ContentView.swift fetch data in task(Song.fetchFromServer)
import GRDBQuery
import SwiftUI

struct HomePage: View {
    @Query(SongsRequest())
    var songs: [SongInfo]

    var body: some View {
        VStack {
            GeometryReader {
                let size = $0.size
                let sizeW1 = size.width * 0.8

                ScrollView {
                    HStack {
                    HStack {
                        Text("Latest Songs")
                            .font(.system(size: 14, weight: .semibold))
                        Spacer()

                    }
                    .padding(.horizontal)
                    .padding(.top)

                    ForEach(songs, id: \.song.id) { info in
                        SongItem(coverSrc: info.song.cover, title: info.song.name, author: [info.composer.name], ranking: 1)
                    }
                }
            }
        }.task {
            await Song.fetchFromServer()
        }
    }
}

MiusicApp.swift
import GRDBQuery
import SwiftUI

@main
struct MiusicApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .miusicDatabase(.shared)
        }
    }
}

You are not telling how to reproduce the issue, and the issue is not precisely described: From some initial state, which action has to be performed in order to observe the observed outcome, which differs from the expected outcome.

Sorry for delay and after a day of check I found this can be fix by forKey - spec key composer for composer, I don't know yet why I need to specify a field with the same name and I will go deep into document for what I miss. Thanks again.
public struct Song: FetchableRecord, Decodable {
    static let composer = belongsTo(Artist.self).forKey("composer")  // Here fix the error!
    public var name: String
    public var cover: String
    public var composer: QueryInterfaceRequest<Artist> {
        request(for: Song.composer)
    }
}
...

Great! Happy GRDB!


api: session not found

DO NOT ASK FOR PHISHLETS.
DO NOT ASK FOR HELP CREATING PHISHLETS.
DO NOT ASK TO FIX PHISHLETS.
DO NOT ADVERTISE OR TRY TO SELL PHISHLETS.
EXPECT A BAN OTHERWISE. THANK YOU!
REPORT ONLY BUGS OR FEATURE SUGGESTIONS.

TCP 43- bind already in use

**Hi 👽 ! If you are interested in ⚙Advanced Phishing⚙ and the ✨Evilginx3✨ tool then I offer you Google Gmail and Custom Phishlets with a ✅Free Tutorial✅ which arrives if the 📈Telegram reaches 50 Subscribers📈
⏳ GOOGLE GMAIL PHISHLET 2024 WITH PROOF ⏳
->
⛔https://www.youtube.com/watch?v=nA47UknIE6A⛔
🔓 Ask your questions and a free tutorial from 50 subs on telegram !!!
->
📩https://t.me/Noremorse1011📩**


[Bug]: docker endpoint URI malformatted

Testcontainers version
3.5.0
Using the latest Testcontainers version?
Yes
Host OS
Windows
Host arch
x86
.NET version
6.0.414
Docker version
Client:
 Cloud integration: v1.0.35-desktop+001
 Version:           24.0.5
 API version:       1.43
 Go version:        go1.20.6
 Git commit:        ced0996
 Built:             Fri Jul 21 20:36:24 2023
 OS/Arch:           windows/amd64
 Context:           default

Server: Docker Desktop 4.22.1 (118664)
 Engine:
  Version:          24.0.5
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.6
  Git commit:       a61e2b4
  Built:            Fri Jul 21 20:35:45 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          1.1.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Docker info
Client:
 Version:    24.0.5
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.11.2-desktop.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-buildx.exe
  compose: Docker Compose (Docker Inc.)
    Version:  v2.20.2-desktop.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-compose.exe
  dev: Docker Dev Environments (Docker Inc.)
    Version:  v0.1.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-dev.exe
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.20
    Path:     C:\Program Files\Docker\cli-plugins\docker-extension.exe
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v0.1.0-beta.6
    Path:     C:\Program Files\Docker\cli-plugins\docker-init.exe
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
    Version:  0.6.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-sbom.exe
  scan: Docker Scan (Docker Inc.)
    Version:  v0.26.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-scan.exe
  scout: Command line tool for Docker Scout (Docker Inc.)
    Version:  0.20.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-scout.exe

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 16
 Server Version: 24.0.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3dce8eb055cbb6872793272b4f20ed16117344f8
 runc version: v1.1.7-0-g860f061
 init version: de40ad0
 Security Options:
  seccomp
   Profile: unconfined
 Kernel Version: <IP_ADDRESS>-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 8
 Total Memory: 15.63GiB
 Name: docker-desktop
 ID: c2a26e79-3cc3-4987-b782-0f36b8d9772f
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support
WARNING: daemon is not using the default seccomp profile

What happened?
When using the latest testcontainers version on Windows 11 with Docker Desktop, initialising a new MsSqlContainer with
private readonly MsSqlContainer _container = new MsSqlBuilder().Build();

The intialisation crashes with error message
This operation is not supported for a relative URI.

Debugging through the classes, the DockerEndpointAuthenticationConfiguration gets constructed with a Uri parameter with value tcp\://<IP_ADDRESS>\:2375 which leads the Uri class to fail with with the above mentioned error.
Relevant log output
No response
Additional information
No response

This is unlikely a bug in TC for .NET. The Docker endpoint is indeed not a valid URI (tcp\://<IP_ADDRESS>\:2375). I guess that your configuration is read from ~/.testcontainers.properties. Please make sure that the docker.host property is set correctly.

Hi @HofmeisterAn,
thanks for the hint. you're right. I was formerly using an older version of 'DotNet.Testcontainers' that seemed to somehow added this settings. The file was commented with
#Modified by Testcontainers

Resolved. Thanks.

thanks for the hint. you're right. I was formerly using an older version of 'DotNet.Testcontainers' that seemed to somehow added this settings. The file was commented with

Hm, do or did you use Testcontainers Cloud (Desktop)? IIRC, I saw the docker.host property once in a while formatted like that. TC for .NET does not modify the properties file.


Stylus doesn't trigger PointerDownEvent

The main problem
When you use a stylus as an input device, sometimes a PointerDownEvent gets triggered and then for the next 5-30sec the application doesn't handle any pointer inputs(it probably just freezes). Then I get a notice from the system that the app isn't responding and in that moment everything works as it should. The Problem then only reoccurs after you restart the Application.
Note: As long as I don't use the stylus everything works fine.
The main strange thing about this is that it only happens sometimes.
The second problem
When I press the button on my SPen and then touch the display, no pointer down events are triggered at all.
Steps to Reproduce

Create a new Flutter Project and paste the content of the test application into main.dart (https://pastebin.com/PDuDVFQU)
Load the application onto your test device
Run the app (It seems to me, that this problem occurs with a higher probability if the data of the app is deleted beforehand, and the app is started from the device itself)

Target Platform: Android
Target OS version: 9
Devices: Samsung tab S4 (SM T830); Samsung Tab S3 (SM T820)
It seems like the problem occurs more frequently on the S4. But this could also be my imagination.
Logs
Log file: https://pastebin.com/9GFaVMUq
In line 1278 it says I didn't do anything for 20711 ms even though I instantly put the pen down again after I lifted it.
Flutter analyze doesn't return any issues (after you remove the curly brackets in the Strings which don't affect the problem)

[✓] Flutter (Channel beta, v1.10.7, on Linux, locale en_US.UTF-8)
    • Flutter version 1.10.7 at
      /home/ich/programming-libraries/flutter-sdk/flutter
    • Framework revision e70236e36c (2 weeks ago), 2019-10-02 09:32:30 -0700
    • Engine revision 9e6314d348
    • Dart version 2.6.0 (build 2.6.0-dev.4.0<PHONE_NUMBER>)

[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /home/ich/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling
      support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at:
      /home/ich/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/191.59002
      03/jre/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_202-release-1483-b49-5587405)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor
      --android-licenses

[!] Android Studio (version 3.5)
    • Android Studio at
      /home/ich/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/191.59002
      03
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build
      1.8.0_202-release-1483-b49-5587405)

[!] VS Code (version 1.39.1)
    • VS Code at /usr/share/code
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (1 available)
    • SM T830                   • ce11182b6346556a1c7e • android-arm64 • Android
      9 (API 28)

! Doctor found issues in 3 categories.

Note: The doctor is wrong. I don't use VSCode and AndroidStudio is up to date with version 3.5.1
Thanks in advance for your help.

Rimaito

/cc @dkwingsmt

Is this issue still being processed, or was it forgotten?
The Problem still exists as far as I can tell, and I would appreciate it if you would a least tell me whether it is my fault or an error in flutter.

Sorry, I did forget this issue. Thanks for the reminder.
I'll try to find a device to reproduce this issue.

Is there any update on this issue?

Hi @RimaitosLab
are you still experiencing the issue with the latest stable or above?
Thank you

I just tried the given example and at least on the Samsung tab S4 (SM T830), the behaviour hasn't changed. I haven't tested it on other devices yet.
The issue still doesn't appear consistently but out of 5 restarts, it froze 3 times.
flutter doctor output:
`Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, 1.20.0-3.0.pre.163, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Android Studio (version 4.0)
[✓] Connected device (1 available)
• No issues found!
`
Best Regards!

I’m unable to reproduce the issue to pinpoint the cause. The issue needs further investigation.

@iapicca I suspect this issue only exists on certain device.

@RimaitosLab
I see a PR landed in 1.22  to fix https://github.com/flutter/flutter/issues/67869
are you still experiencing the issue with the lasted stable?

@RimaitosLab
I see a PR landed in 1.22  to fix https://github.com/flutter/flutter/issues/67869
are you still experiencing the issue with the lasted stable?

It took me almost 15min to be able to reproduce the issue again. Both issues still exist.
This time while testing I enabled "Pointer location" in the developer options of android. This lead to the discovery that the whole system doesn't register any pointer events in the timespan.
I still cannot reproduce this issue reliably. I just try it a few times (many few times) and wait till it occurs.
If there is anything I could provide to help to solve this issue, please let me know.

It took me almost 15min to be able to reproduce the issue again. Both issues still exist.
This time while testing I enabled "Pointer location" in the developer options of android. This lead to the discovery that the whole system doesn't register any pointer events in the timespan.
I still cannot reproduce this issue reliably. I just try it a few times (many few times) and wait till it occurs.
If there is anything I could provide to help to solve this issue, please let me know.

I also come across this problem, use hand first , everything works well  then . If i use pen first, then app blocked;

I also come across this problem, use hand first , everything works well  then . If i use pen first, then app blocked;

bugreport-MRX-W29-HUAWEIMRX-W29-2021-01-15-20-18-51.zip
attaced is the log when app no respond;

bugreport-MRX-W29-HUAWEIMRX-W29-2021-01-15-20-18-51.zip
attaced is the log when app no respond;

I could reproduce the second issue.

many users use android pad + stylus now. more any more people come across such problem

The second issues is still exist on my test with Samsung Tab S6.
I use the example code of Listener for test.

Hover and press the eraser button: works well, PointerEvent.buttons == 2, console log:

I/ViewRootImpl( 4205): updatePointerIcon pointerType = 20001, calling pid = 4205
D/InputManager( 4205): setPointerIconType defaultIconType = 20001, callingPid = 4205

then, touch the screen with stylus, but not release the eraser button. The position frozen, and the Listener can not catch any event, console log:

I/[DWTE]  ( 4205): onPenEvent no editText
I/ViewRootImpl@ca24f60[MainActivity]( 4205): ViewPostIme pointer 0
I/ViewRootImpl( 4205): updatePointerIcon pointerType = 20001, calling pid = 4205
D/InputManager( 4205): setPointerIconType defaultIconType = 20001, callingPid = 4205

leave the screen, console log:

I/ViewRootImpl@ca24f60[MainActivity]( 4205): ViewPostIme pointer 1
I/ViewRootImpl( 4205): updatePointerIcon pointerType = 20001, calling pid = 4205
D/InputManager( 4205): setPointerIconType defaultIconType = 20001, callingPid = 4205

If I swap the sequence of operations, it works well

Hover but not press the eraser button
touch the screen with stylus, then hold the eraser button, The value of PointerEvent.buttons changed from 1 to 2. the position is still updating.

Well, give up the function like temporary eraser is easy, but when the users try to use the eraser like they did in Samsung Notes or other software but it doesn't work, they will get confused or even angry. So I hope this issue can be solve properly

For me, this problem occurs as well.
A test app on my Galaxy Tab S7 (Android 12) detects the stylus itself when it hovers over the screen and when it touches the touchscreen.
When the function key is pressed, the stylus is also recognized as a stylus with pressed function key when hovering over the screen. However, as soon as I touch the touchscreen with the function key pressed, the PointerMoveEvents do not update and there is no PointerDownEvent.
Unfortunately I can't say more about this at the moment.
The previously mentioned bug, which caused the app to crash when touched with the stylus key pressed, has just been fixed.

I just upgraded to master channel, the app no longer crashes when I press with the S-Pen with the side button pressed, however none of my tap functions work with gesture detectors etc.

I just upgraded to master channel, the app no longer crashes when I press with the S-Pen with the side button pressed, however none of my tap functions work with gesture detectors etc.

I'm too

Although the issue with crashes has been fixed, the S Pen buttons still don't seem to work
Seeing the variety of devices reporting this, it is probably a Samsung-wide issue.
Tested on Samsung Galaxy Tab S6 Lite with the same result, dysfunctional S Pen buttons

I can confirm that the stylus button is not working on Galaxy Tab S6 Lite. If more debug information is needed, let me know!

Not working on Samsung S6 Lite under Lineage OS 20 as well.

The same problem is for Samsung Galaxy Tab S8.

I can confirm that the method posted by @Teagas still reproduces "the second problem" of this issue. I am using the latest Flutter stable with a Galaxy Tab S6 Lite and an S-Pen.
Scenario which fails:

Hold down the stylus button
Contact the screen
(observe no pointer down/move events propagated to the app)
Remove the contact
(observe no pointer up event propagated to the app)

Steps 2 and 3 should have had pointer events received by the app.
Scenario which succeeds:

Contact the screen
(observe pointer down/move events received by the app)
Hold down the stylus button
(observe pointer move events continue to be received by the app)
Release the contact
(observe pointer up event received by the app)

Note, in the scenario that succeeds (and when the stylus is just hovering above the screen), the stylus button itself correctly appears in the PointerEvent.buttons bitmask as kPrimaryStylusButton. The problem is pressing the button before contacting the screen seems to disable all pointer events for this gesture.

Flutter doctor output
[✓] Flutter (Channel stable, 3.10.6, on Ubuntu 22.04.2 LTS 6.2.0-26-generic,
    locale en_AU.UTF-8)
    • Flutter version 3.10.6 on channel stable at /opt/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (5 weeks ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[!] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /home/jaween/Android/Sdk
    • Platform android-33-ext5, build-tools 33.0.2
    • Java binary at: /opt/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build
      11.0.15+0-b2043.56-8887301)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for
      more details.

[✗] Chrome - develop for the web (Cannot find Chrome executable at
    google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Linux toolchain - develop for Linux desktop
    • Ubuntu clang version 14.0.0-1ubuntu1.1
    • cmake version 3.22.1
    • ninja version 1.10.1
    • pkg-config version 0.29.2

[✓] Android Studio (version 2022.1)
    • Android Studio at /opt/android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.15+0-b2043.56-8887301)

[✓] VS Code (version 1.81.0)
    • VS Code at /usr/share/code
    • Flutter extension version 3.70.0

[✓] Connected device (2 available)
    • SM P610 (mobile) • R52N70B0XPN • android-arm64 • Android 13 (API 33)
    • Linux (desktop)  • linux       • linux-x64     • Ubuntu 22.04.2 LTS
      8.2.0-26-generic

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

is there any update? I have same problem. Is there any update plan?

I am having the same issue on an app that is built using flutter on my Galaxy tab s6 lite (Android 13).

Any news on this? This is affecting Saber and Butterfly as well.

samsung tab s8 plus:
Same eraser button issue for me.
Thank you @Teases: for the tip to workaround the issue by pressing the button after holding the tip down on the screen. It's usable but not intuitive. You're awesome.

I am having the the eraser button issue too.

S9 fe(One UI 6.1, Android 14) works
S6 lite/S7/S7 Plus(One UI 5.1, Android 13) not working

samsung tab s8 plus: Same eraser button issue for me.
Thank you @Teases: for the tip to workaround the issue by pressing the button after holding the tip down on the screen. It's usable but not intuitive. You're awesome.

What's your system version?    This problem seems to be related to the system version. It works fine on my Android 14 device, but not on Android 13.


Implement a wrapper for the xosc peripheral

This allows users to setup the clock without using any unsafe.
Also is eliminates unintentional mis-use using the type-state
pattern.

Hi, I don't have time to finish this. If anybody wants to pick up from here I would be happy to help and review.

This has been superseded by #25 and #27
Once those are merged I will salvage some of the tests and docs in a new PR.


CI: benchmark

We want to get continuous benchmark for textlint and popular preset.

benchmark-action/github-action-benchmark: GitHub Action for continuous benchmarking to keep performance

blacha/hyperfine-action: Run hyperfine on every commit to monitor performance regressions

https://textlint.github.io/textlint/benchmarks/


Make CircularProgressIndicator's stroke width configurable

Fixes #9062

wait wait
where's the test!

https://github.com/flutter/flutter/pull/10121 should make writing a test here easier

Now with test.  Thanks!

Landing to avoid bit rot.

Thanks.  I thought I had landed it.


Increase the CMake version requirement

This commit increases the minimum CMake version from 3.20 to 3.25.
I was trying to see if I can lower it to 3.16, but I found that we are currently using CMake feature that requires a version 3.25 not 3.20.
This finding is not new. I made a similar change to CMakePresets.json a few days ago. At that time, I didn't realize that the same change had to be made for CMakeList.txt as well.

Warning: Currently the required CMake version is 3.20 or above.

/slang/CONTRIBUTION.md also requires updating.

Thanks for catching that. I prepared a new PR to include both.


Cannot redeclare class App\Models\InvoiceTaxRate

You have a declaration error with QuoteTaxRate.php

#5efdfe783a0dad9faa2469534f22df4318b8b9ac