Tower of Hanoi

🚀 Feature
Tower of Hanoi is a mathematical puzzle where we have three rods and n disks.
The objective of the puzzle is to move the entire stack to another rod, obeying the following simple rules:

Only one disk can be moved at a time.
Each move consists of taking the upper disk from one of the stacks and placing it on top of another stack i.e. a disk can only be moved if it is the uppermost disk on a stack.
No disk may be placed on top of a smaller disk.

Have you read the Contributing Guidelines on Pull Requests?
Yes
Motivation
This is very famous question and whosoever practice CP knows about this question .
Pitch
I want to add the solution of this question using C++ language in your miscellaneous section in problems.
And I am GSSoC'21 participant so I want to contribute under it.

@anshmishra010
The problem is already there in the repository, do take up a different issue or do it in a different language.
Also before putting up a new issue do search the previous issues from the option above.

okay !


Compilation failed due to incorrect method name

../../../.pub-cache/hosted/pub.dev/vsc_quill_delta_to_html-1.0.3/lib/src/quill_delta_to_html_converter.dart:264:22: Error: The method 'mapIndexed' isn't defined for the class 'List<DeltaInsertOp>'.
 - 'List' is from 'dart:core'.
 - 'DeltaInsertOp' is from 'package:vsc_quill_delta_to_html/src/delta_insert_op.dart' ('../../../.pub-cache/hosted/pub.dev/vsc_quill_delta_to_html-1.0.3/lib/src/delta_insert_op.dart').
Try correcting the name to the name of an existing method, or defining a method named 'mapIndexed'.
    final html = ops.mapIndexed((i, op) {
                     ^^^^^^^^^^

The example app builds and runs for me.
mapIndexed() is an extension method on List from the collection package, which vsc_quill_delta_to_html depends on. I'm wondering if maybe you've overridden the version? Can you include your pubspec.yaml?

This appears only when i trying to test the converter, but throw that error. I'm using the default version from the pub.dev
Here are my dependencies:
version: 1.0.0+1

environment:
  sdk: '>=3.0.0 <4.0.0'

dependencies:
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2
  random_name_generator: ^1.2.0
  flutter_colorpicker: ^1.0.3
  permission_handler: ^11.0.0
  flutter_slidable: ^3.0.0
  device_info_plus: ^9.0.3
  number_to_string: ^0.0.3
  appflowy_editor: ^2.0.0
  timeline_tile: ^2.0.0
  flutter_quill: ^8.6.0
  path_provider: ^2.0.15
  open_file: ^3.3.2
  motion_toast: ^2.7.8
  filesaverz: ^3.1.0
  icons_plus: ^4.0.0
  pdf_render: ^1.4.0
  numerus: ^2.1.2
  get_it: ^7.6.4
  path: ^1.8.3
  intl: ^0.18.1
  http: ^1.1.0
  uuid: ^4.2.1
  flutter_riverpod: ^2.3.7
  hooks_riverpod: ^2.4.6
  flutter_hooks: ^0.20.3
  flutter_bloc: ^8.1.3
  bloc: ^8.1.2
  objectbox: 2.3.1
  objectbox_flutter_libs: 2.3.1

  vsc_quill_delta_to_html: ^1.0.3

  docx_template: ^0.4.0
  html2md: ^1.3.1
  pdf: ^3.10.6
  shared_preferences: ^2.1.1
  dio: ^5.3.2
  mocktail: ^1.0.0
  keyboard_height_plugin: ^0.0.4

dev_dependencies:
  flutter_test:
    sdk: flutter
  build_runner: ^2.4.6
  objectbox_generator: 2.3.1
  bloc_test: ^9.1.5
  flutter_lints: ^3.0.1

@CatHood0 Thank you. The portion of pubspec you supplied looks good. Do you have a dependency_overrides section in your pubspec? If so, can you please attach it as well?
What platform are you building for?
Please run flutter doctor and attach the output here.
Also, try to clone this repo and build and run the example app. Let me know what that does.

I working on Ubuntu at the current version
I clean the project, and run again and throw the same exception:
Launching lib/main.dart on Infinix X6816C in debug mode...
../../../.pub-cache/hosted/pub.dev/vsc_quill_delta_to_html-1.0.3/lib/src/quill_delta_to_html_converter.dart:264:22: Error: The method 'mapIndexed' isn't defined for the class 'List<DeltaInsertOp>'.
 - 'List' is from 'dart:core'.
 - 'DeltaInsertOp' is from 'package:vsc_quill_delta_to_html/src/delta_insert_op.dart' ('../../../.pub-cache/hosted/pub.dev/vsc_quill_delta_to_html-1.0.3/lib/src/delta_insert_op.dart').
Try correcting the name to the name of an existing method, or defining a method named 'mapIndexed'.
    final html = ops.mapIndexed((i, op) {
                     ^^^^^^^^^^

Doctor output:
[✓] Flutter (Channel stable, 3.16.0, on Ubuntu 23.04 6.2.0-35-generic, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[✗] 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
[✓] Android Studio (version 2022.3)
[✓] IntelliJ IDEA Community Edition (version 2022.3)
[✓] VS Code (version unknown)
✗ Unable to determine VS Code version.
[✓] Connected device (2 available)
[✓] Network resources

I working on Ubuntu at the current version

What I meant, is what Flutter platform are you building for: android, ios, web, linux, windows, macos, etc?
Did you try to  clone this repo and build and run the example app. Let me know what that does.

I building just for android, and i tried your suggestion, and works for me. I don't know why this happens when I try to use it in my pubspec.yaml

Hmmm. Since the example builds, I'm just going to throw this out there... have you tried flutter clean?

Yeah, i clean it, but, i will try something (this error could be by my vscode)


Update svgo to v2.4.0

@TrySound: it seems I messed this up. Could you please have a look and suggest the best way moving forward?
PS. if you need push rights let me know.


[Build] Add option to alter default location of module cache in Linux

This is meant to support parallel CI runs on the same Linux bot, so that
they don't share the module cache and reduce (hopefully) the likelihood
of issues related to invalid signatures.
When the option is enabled, the environment variable XDG_CACHE_HOME
is explicitly set in build-script and should be inherited by all the
child processes.
Currently we don't check the operating system before setting the
variable (since it should be a noop for other OSes).
Addresses rdar://73887745

@swift-ci please python lint

@swift-ci please smoke test

Sure -- I was planning to do that as a separate step (to both catch unanticipated fallout and have a bit of control over the "rollout" of this flag)


Error using password on git push

In this section:
git add .
git commit -m'Initial commit'
git push
The first time git asks you for the user password but git has stopped accepting passwords on the command line. You have to set up a personal access token.

@stevecrossan if you clone your repo with SSH, you won't need to use personal access tokens.

@stevecrossan if you clone your repo with SSH, you won't need to use personal access tokens.

Instead of a fresh clone @stevecrossan you can just remove the default remote by default origin and add a new one
You can see the current remote config by:
git remote -v

I can't see the harm in removing it and adding the following.
git remote remove origin
git remote add origin git@github.com:fastai/nbdev.git

You will need to set up the ssh keys. Try the github ssh key docs.
If that doesn't make sense to you a few years ago I found the gitlab docs  a bit more friendly so they are worth a read.


Code's no longer uploading to GitHub with consistency

After multiple time the codes are uploaded and the amount of codes being uploaded just keeps on decreasing as the amount of code submitted increases. This may be a server overload or something, kindly fix this.

hmm, that's weird. how can I reproduce the bug?
You should ideally spend 2-3 seconds before u close leetcode or switch to another window. It might happen due to ur internet connection. Also, if ur submitting the same problem again w/o any changes, leethub will not push that commit. To push updated code, you NEED to reload leetcode and resubmit (and wait for couple of seconds, of course).
lmk if ur still having any issues.


Design: Create design for Form and Inputs components

Issue summary
There is currently no design for the Form and Inputs component and in order for the project to have a uniform styleguide, a design has to be created for each of the components.
Proposed fix
Create a design for the Form and Input components using the colors of the project which is already given in the README.
Tasks

[ ] Text fields
[ ] Dropdowns
[ ] Radio buttons
[ ] Checkboxes
[ ] Date pickers
[ ] Range

Before working on the issue, dm me or @AdityaSingh-02 and @purnima143 to be added to the Figma file and please, strictly follow the styleguide.
PR Rules

Create the PR against the dev branch not the master branch
Link the issue your PR is for by saying Fixes #PRNumber
Add a description of what your PR is about
Add screenshots or video of the working implementation of your PR

Can I work on this issue

Hey @Amanshenoy008
Are you good at design and using Figma? It's a design issue

yea, sure I can design using figma

Awesome
Join the Pluto UI discord channel through gssoc by selecting pluto UI from the list of projects in #self-role
Then send a message to the group and tag me @Lovelyfin00
I'll then add you to the figma file


Can't receive connections from my hosts

Hi,
i can't receive connections from my hosts. Everything seem fine with the setup, firewall and ports.

i also have the same issue, i have the startup process enabled, but when i restarted my pc the connection disappeared and wont come back online

Are you sure that you port forwarded correctly?

Use https://canyouseeme.org/ to make sure port is seen/open and not blocked by ISP.

Are you sure that you port forwarded correctly?

Yes

Use https://canyouseeme.org/ to make sure port is seen/open and not blocked by your ISP.

There is already a screen showing it.

Sorry missed that.

Also you did a test loop back and all is good?

Yes

Are you able to test client on a different computer? Also you can confirm client is running? Did Windows defender or other AV delete the file? Did you put the client file and or location of, in your AV's exclusion list?

Yes the client is running on the second laptop and excluded from av and i still don't see it on my main computer.

What if you temporarily turn off both firewalls to test and see if it connects then?

Yeah i already tried that and it still doesn't work ...

i have the same problem the <IP_ADDRESS> loobback works and <IP_ADDRESS> (my lan ip) works but when i put in my portmap.io or public ip it doesent connect ive lookaed at my firewall and my clients firewall and its not blocking anything the port is not block and is being listend to.   pls help ask for screenshots if u need them ive been tring to fix it for 3 days

i have the same problem the <IP_ADDRESS> loobback works and <IP_ADDRESS> (my lan ip) works but when i put in my portmap.io or public ip it doesent connect ive lookaed at my firewall and my clients firewall and its not blocking anything the port is not block and is being listend to.   pls help ask for screenshots if u need them ive been tring to fix it for 3 days

There's a video on YouTube to help with "portmap" and you can't use your public ip as a loopback it won't work. I do believe portmap address expires after a period of time if not used, is your portmap settings new/within a week or so? This issues has been resolved numerous time you can do a search in issues to find a solution.

sorry i got it figured out im useing open VPN now with some random ip cus portamap sux

so i tested it and it doesent work on outside connections

and when o do <IP_ADDRESS> it works so its just not showing up on the list of pple

No ip is blocking connections involving alleged "rat" traffic. Also no ip and tons of other dns just log your information.

Just checked and portmap.io is working just fine. The thing with portmap.io is you have to make a new mapping rule cause the free account auto deletes it after a period of time.

Use https://canyouseeme.org/ to make sure port is seen/open and not blocked by your ISP.

if blocked then?

Use https://canyouseeme.org/ to make sure port is seen/open and not blocked by your ISP.

if blocked then?

Open your ports

Use https://canyouseeme.org/ to make sure port is seen/open and not blocked by your ISP.

if blocked then?

Open your ports

how tf


Add cookie-attribution based authentication

Outline described here:
https://steemit.com/utopian-io/@mattockfs/suggestion-add-cookie-attribution-based-authentication-to-steem-keychain
Basic idea: standardize on a div format and a custom_json for cookie-attribution based authentication, and implement in Steem Keychain.

This looks to me like something that can already be done on the client side using existing Keychain features.


c_src/relval.c: 1st release

imported relval.c from GitLab.

Hello, comrade! Grate thanks for your contribution!


How to integrate commander into nvchad pre-configuration ?

Hi @mercibac, I am both familiar with NvChad. This is something I think you should refer to NvChad's documentation on how to integrate a new plugin.


smembers returns elements in non-deterministic order

I'm using Repositories from spring-data-redis, and I noticed that some of my tests against data repositories is unstable, sometimes they all passes, sometimes one of them fails. I found that CrudRepository.findAll() returns entities in order which is different from run to run. The problem is caused by unpredictable results ordering from call to smembers. I know that redis's set store do not guarantee ordering, but it must be at least deterministic, i.e. no changes in data -> no changes in order.
The order is changed in lettuce code, where the results are transformed to the byte[] and then they are stored in HashSet<byte[]>. Since byte[] does not care about hashCode, this brings to random position in hashset. The code where this behavior can be observed during debugging: io.lettuce.core.output.ValueSetOutput.
Possible solution: Probably byte[] must be replaced to ByteBuffer, because ByteBuffer has overridden method hashCode (i.e. it will stay the same until there's no changes in the data)

Good catch and thanks a lot for the bug report. The problem is indeed that ValueSetOutput uses a HashSet and not LinkedHashSet. LinkedHashSet has a predictable iteration order as it retains insertion order on unique elements.

That's fixed now for all maintained branches (4.x, 4.4.x, 5.0.x, 5.x/master).


Infinite tight loop in Runner when brokers are down

Describe the bug
It seems if the kafka broker pool becomes depleted, there is an infinite tight loop that causes the nodejs process to hang.
Basically, https://github.com/tulios/kafkajs/blob/a733eaa2f215c8d763da4a595c50f65fcd050566/src/consumer/runner.js#L98 seems to return immediately when the brokerPool's https://github.com/tulios/kafkajs/blob/a733eaa2f215c8d763da4a595c50f65fcd050566/src/cluster/brokerPool.js#L240 returns an empty array. It is unclear how this broker list becomes empty, as kafkajs has not produced any logs. The only thing we know is that the network may have been interrupted briefly.
The callstack where the fetchers will return immediately and cause the infinite loop.
createFetchers (/registration/node_modules/kafkajs/src/consumer/fetchManager.js:35)
start (/registration/node_modules/kafkajs/src/consumer/fetchManager.js:67)
scheduleFetchManager (/registration/node_modules/kafkajs/src/consumer/runner.js:98)
processTicksAndRejections (internal/process/task_queues:96)
async function (Unknown Source:1)
processTicksAndRejections (internal/process/task_queues:96)

To Reproduce

Connect to a broker pool of 2 nodes
Run a consumer that subscribes to some topics and logs each topic offset
After the consumer is running in a steady state, reset the network, in our case, we had istio mesh, and we had to cut over to a new version, which essentially interrupts all existing connections for a brief moment.

Expected behavior
kafkajs in no cases should cause the entire nodejs process to hang.
Observed behavior
kafkajs stuck in a tight infinite loop that hangs the entire process.
Environment:

OS: Debian 11 (bullseye)
KafkaJS version: 2.0.2
Kafka version: 2.8.1
NodeJS version: v16.15.0

Additional context
Please let me know if you need additional info.

I just realized my issue may be a duplicate of #1384, feel free to close as a duplicate.


Clean up the scholarship data handler to fix linter and compiler warnings

This pr fixes some compiler warnings in the scholarship data handler.

@googlebot I consent.

So I'm working on an older version of the file; going to close this because it looks like many of these changes may get rewritten.


Changing the super admin password not getting affected

Describe the issue:
In a fresh setup, once we change the admin password through deployment.toml file and start the pack, couldn't able to login with the new password
How to reproduce:

Change admin password through deployment.toml file
Start the pack
Try to login to management console with new password

Expected behavior:
Admin user should be able to logged in with new password.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0, IS 5.9.0]
OS: [e.g., Windows, Linux, Mac]
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

If the admin user is already provisioned. You cannot change the password for the existing admin. That is the expected behavior.

@omindu I have tried with fresh setup, haven't started the server at least one. In that case it should work right?

hmm, that means the admin user gets provisioned when the pack is getting created. Can you check the behavior in an older product ?

I have updated the admin’s password from deployment.toml and checked in JDBC userstore and it worked.
In the embedded LDAP we have ‘admin:admin’ as the default configuration. Therefore the admin user is already there during the first startup and the password cannot be changed for the already available user from deployment.toml file. However we can change the password if we use a different username for the admin in the embedded ldap.


Color choice for safe zones and others

Hi, Wondered if it would be possible to modify the color for safe zones and stuffs, I'm doing Criterions right now and i struggle to see the difference between safe zones and AoEs in the middle of the fight (Somewhat of a little daltonism)
Thx

I think someone was working on making colors selectable (@sourpuh on discord), but I am not sure when its ready.

Fixed (finally!) in v241.


runtime: add a workaround for Windows build

The runtime tests will statically link the runtime and dynamically link
to the standard library.  This fails to build on Windows.  This is a
horrible workaround for the time being.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please smoke test

@swift-ci please test Windows platform

CC: @jckarter

IIRC there's a macro that's defined while building the runtime for the standard library. Could we conditionalize this on that macro so we don't need dllimport in the standard library copy?

@jckarter - I would love to do that.  This seems fundamentally wrong.  However, I don't think that we build the runtime twice, so I'm afraid that Im not following what you are suggesting.

Hm, I thought we did rebuild the runtime object files when building for SwiftRuntimeTests, because there have been other linking problems that we've needed to deal with due to the different requirements of SwiftRuntimeTests vs. everything else, but maybe I'm mistaken.

Going to merge this for now, I'll take a look into that and adjust it if I can.


Fix Windows build and add github action

Fix #227
Add github action

This is so fast! I'm still struggling with Rust ownership, and you've already fixed it, unbelievable! 🙀
BTW, I tried so many ways and couldn't make it work. I'm curious if there's any way to handle it without moving as_bytes to the outer scope?

I whink we can call to_string_lossy in upper scope, then change the parameter type to Cow<'a, str>

Merge first, this piece of code will soon be replaced by Lua. 🤣


Redesign MCQ choosing

Features

Only MCQ option are on the MCQChooser component
MCQ Questions are differentiated based on the presence of a solution (and hints):

Buttons have intent when the question has a solution
Hints are displayed as notifications when options are chosen
For ungraded questions, there is no intent on the buttons and there is no notification displayed.

Pull Request Test Coverage Report for Build 529

2 of 16 (12.5%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.2%) to 25.293%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/workspace/MCQChooser.tsx
2
16
12.5%

Files with Coverage Reduction
New Missed Lines
%

src/components/workspace/MCQChooser.tsx
1
8.51%

Totals

Change from base Build 515:
-0.2%

Covered Lines:
807

Relevant Lines:
2717

💛  - Coveralls


Make Test i7x

Make Test auto-records test me phrases from the user's play.

Sorry, I missed this somehow.


How to add type="button" in container "Next" & "Prev" button

I got it. how to add type="button".

@rahul7yadav how?


fix(reds backend) - in Client() constructor function, if redis is used both as broker_type & backend_type then correctly set the backend property

Would appreciate if you can review this change and accept it.

Merged, thanks! Please add your name to https://github.com/mher/node-celery/blob/master/AUTHORS


Adding overlayview from storyboard

Hi,
I was trying to user your lib to add custom overlay to a camera view with use of storyboards instead of writing the components code.
I made a slight change in your lib to fix this:
in attachToViewController method
changed [vc.view addSubview: self.view] with
[vc.view insertSubview:self.view atIndex:0];
same with self.preview view
Note that still I had to reassign images for image components (uiimageview, uibutton) after attaching camera vc to view controller - still don't know why?
Any clues ?

@howkuen
I do the same thing. I have a cropOverlay which I need to bring to front, whenever I start the camera:
    // Inside my CameraViewController

    @IBOutlet weak var cropOverlay: UIView!

    func startCamera(){
        camera.start()
        view.bringSubviewToFront(cropOverlay)
    }


PowerShellGet 3.0 is finally ambling towards release, the docs around private galleries should be updated to cover the new cmdlets

The page about setting up an Artifacts feed as a private PowerShell Gallery should be updated, since PowerShellGet 3.0 is (very slowly) gearing up for release and is quite different.
At the same time, the documentation should be expanded to cover configuration of upstream sources, including powershellgallery.com itself.

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

ID: 35b3cd51-b365-433b-9149-697582d64e88
Version Independent ID: 1cb1f4a3-5928-223d-592f-f3462fef4e4c
Content: Use Azure Artifacts feeds as a private PowerShell repository - Azure Artifacts
Content Source: docs/artifacts/tutorials/private-powershell-library.md
Service: azure-devops-artifacts
GitHub Login: @ramiMSFT
Microsoft Alias: rabououn

@JohnLudlow -- John, thank you for your clear feedback.  Please consider these resources:

Azure DevOps Services
Azure DevOps on Stack Overflow

@ramiMSFT -- Rami, please look into this issue.

Thanks for your suggestions! A backlog item has been created to look into this.


!(Error >=)

Error must be strictly smaller than 1.
Larger than 1 is impossible and equal to 1 will make bpe = 0 since log(1) = 0.

Please change the PR to go into the 'development' branch. Thanks!

@jvirkki


The 1.0 release

I have been bothering @hgomersall about this for what seems like a year and a half (what can I say, you made the mistake of writing something useful and putting it on the Internet). What should go in this release? I would like to see the 1.0 release happen so that we can get the r2r stuff in main. If you need more patches I can contribute to that effort. The short list so far (and please feel free to add more stuff) is:
(this is a running list)

windows release on pypi
investigate using an enum for backward and forward transforms

Good call on this issue. I guess most people who care are tracking the git version, but that's no excuse for not getting it done.
I'm thinking moving the forward/backward arg to an enum might make sense for 1.0. It would make an easier transition to include extra transforms, but it could easily be unnecessary.
Getting automated builds for windows would be fantastic. Is this possible with appveyor?

I have absolutely no idea. I do not use Windows or know anything about distributed software for it (that issue is not mine, but something I gleaned from #39).

:+1:

Ok, I'll look into appveyor. I'm truly fed up with manually building for windows.

Hey guys! I see a lot of movement over here recently. How is the progress coming towards the 1.0 release? Over at pyqg we are very eager to get the sine / cosine transform stuff going. Let me know if there is anything we can contribute to in terms of the open issues or outstanding problems.

Hi @rabernat, the main outstanding issue is a problem with the appveyor failing some of the builds.
I think the code is fine, but I want to get the windows CI stuff working reliably before release. If you want to have a go at working through the problem, that would be massively appreciated.

Hmmm, building stuff on windows is unfortunately the topic I know the least about in the world. :grimacing: I doubt I would have much to contribute there... Good luck!

Whoop, appveyor is (finally) building properly (check out the appveyor branch).
I'll fold this into master and it should be a small step to making an interim to 1.0 release (a 0.10 release). The plan is to have it all automated so it's a simple case of tagging a release and it all gets deployed automagically.

Great news!
On Fri, Nov 27, 2015 at 11:55 AM, Henry Gomersall<EMAIL_ADDRESS>wrote:

Whoop, appveyor is (finally) building properly (check out the appveyor
branch).
I'll fold this into master and it should be a small step to making an
interim to 1.0 release (a 0.10 release). The plan is to have it all
automated so it's a simple case of tagging a release and it all gets
deployed automagically.
—
Reply to this email directly or view it on GitHub
https://github.com/hgomersall/pyFFTW/issues/66#issuecomment-160174850.

Each successful windows build is now being pushed automatically to bintray:
https://bintray.com/hgomersall/generic/PyFFTW-development-builds/view

@hgomersall any ETA for 1.0 ? It would be nice to have a release soon, so I can update the Debian / Ubuntu packages on time for the next Ubuntu LTS freeze. Cheers.

I've just made an interim 0.10.1 release. This should be most of the major changes for a 1.0 release. I just wanted to get it live without a few niggling (mostly build and test) issues being sorted.

Hey @hgomersall, just wondering how the 1.0 release is looking? We at pyqg are very eager to get the sine / cosine transforms incorporated into our model.
cc: @rcgreene

@rabernat I think I've changed my mind on this. I see no reason to release 1.0 imminently - 0.10 is working nicely and I think it's better to finalise the interface before releasing.. Can we get a sensible implementation for handling the various guises as per something like discussed in #66? We can discuss it more over there.

This is #66.

@rabernat whoops, I mean #39


duplicity description seems broken (faulty escaping?)

https://openbsd.app/?search=duplicity
The list “Other options are:” is formatted with <h1> for some reason:

I am parsing the DESCR contents as markdown to show the search highlights. Unfortunately some stuff uses non-markdown-ish: https://github.com/openbsd/ports/blob/master/sysutils/duplicity/pkg/DESCR#L18
I was planning on looking for other markdown parsers that let me do a bit more configuration - just hasn't been a priority.

Pushed a fix that just uses simple regex instead of full markdown parsing.


Unable to change chapter page via swipe while navigator is busy creating views

Bug Report
What happened?
While navigator creates chapter-views it's not possible to navigate to previous/next page in the previous/next chapter via page swipe.
In order to navigate to previous/next page I can only use the invisible buttons at the edge of the screen while navigator creates the chapters.
Demo 1
Demo 2
Environment

Readium version: 2.4.0

Development environment
macOS: 13.0
platform: x86_64
carthage: 0.38.0
Xcode 14.1
Build version 14B47b
Testing device

iOS version: 16.0.3(20A392)
Model (e.g. iPhone 11 Pro Max): iPhone 11
Is it an emulator? No

@mickael-menu
I have shared the book with you on slack 🙂


Callback function stop working after some time on ESP8266 at least.

Hello,
I have a very simple sketch that sends messages to a MQTT broker and sometimes receive some.
It usually works  for a couple days but eventually stops receiving messages, while the sending continues to work flawless.
Callback messages are really few. Basically is to start my AC at 6.30 AM and shut at 7.00 AM so I expect to receive two or three messages at 6.30 and one at 7.00, on weekdays.
The publish phase instead is every 30 seconds all days.
This is my callback function:
void callback(char* topic, byte* payload, unsigned int length) {
  payload[length] = '\0';
  strTopic = String((char*)topic);
  uint8 need_send=0;
  byte* p = (byte*)malloc(length);

  memcpy(p,payload,length);
   p[length] = '\0';

  if (strTopic == mode_topic) {    // Passo di qui solo se c'e' un qualunque cambio di stato "power"
     need_send=1;                  // Quindi need send.
     ModeSt_Rec = String((char*)p);
     if ( ModeSt_Rec == "off" )      { ac.setPower(false); }  // Tutti i parametri restano come sono. Spengo l'unita'
     if ( ModeSt_Rec == "cool" )     { ac.on(); ac.setMode(kCoolixCool); }
     if ( ModeSt_Rec == "dry" )      { ac.on(); ac.setMode(kCoolixDry);  }
     if ( ModeSt_Rec == "auto" )     { ac.on(); ac.setMode(kCoolixAuto); }
     if ( ModeSt_Rec == "heat" )     { ac.on(); ac.setMode(kCoolixHeat); }
     if ( ModeSt_Rec == "fan_only" ) { ac.on(); ac.setMode(kCoolixFan);  }
     client.publish(modest_topic, ModeSt_Rec.c_str());
  }

  if(strTopic == fan_topic) {
     FanSt_Rec = String((char*)p);
     if ( ModeSt_Rec == "auto" ) {
        ac.setFan(kCoolixFanAuto0);
        FanSt_Rec == "auto" ;
     } else {  // Se in auto il mode allora auto0
        if ( FanSt_Rec == "auto" )   { ac.setFan(kCoolixFanAuto); }
        if ( FanSt_Rec == "high" )   { ac.setFan(kCoolixFanMax); }
        if ( FanSt_Rec == "medium" ) { ac.setFan(kCoolixFanMed); }
        if ( FanSt_Rec == "low" )    { ac.setFan(kCoolixFanMin); }
     }
     if ( ModeSt_Rec != "off" ) { need_send = 1; }
     client.publish(fanst_topic, FanSt_Rec.c_str());
  }

  if(strTopic == ttemp_topic) {
     TempSt_Rec = String((char*)p);
     ac.setTemp(int (TempSt_Rec.toFloat()));
     if ( ModeSt_Rec != "off" ) { need_send = 1; }
  }

  if(strTopic == swing_topic) {
     SwingSt_Rec = String((char*)p);
     if ( ModeSt_Rec != "off" ) { need_send = 1; }
     client.publish(swingst_topic, SwingSt_Rec.c_str());

  }

  if ( need_send == 1 ) {
        if ( ModeSt_Rec == "auto" ) {
           ac.setFan(kCoolixFanAuto0);
           FanSt_Rec == "auto" ;
        } else {
          if ( FanSt_Rec == "auto" )   { ac.setFan(kCoolixFanAuto); }
          if ( FanSt_Rec == "high" )   { ac.setFan(kCoolixFanMax); }
          if ( FanSt_Rec == "medium" ) { ac.setFan(kCoolixFanMed); }
          if ( FanSt_Rec == "low" )    { ac.setFan(kCoolixFanMin); }
       }
       ac.setTemp(int (TempSt_Rec.toFloat()));
       if ( ModeSt_Rec == "off" ) { ac.setPower(false); }
       if ( ModeSt_Rec == "off" ) { digitalWrite(D8, LOW);  } else  { digitalWrite(D8, HIGH ); }
       ac.send();
       need_send=0;
    }
  free(p);

}

and int the main loop()  I have:
void loop() {
  wdt_reset();
  webota.handle();
  if (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print("NotConn");
    connect_WiFi();
  }

  float h = dht.readHumidity();
  float t = dht.readTemperature();

  client.loop();
  delay ( 1000 );
  new_time = millis();

  if ( (new_time - old_time ) >= 30000 ) {   // Send every 30 seconds
     old_time = millis();
     String hs="Hum: "+String((float)h)+" % ";
     String ts="Temp: "+String((float)t)+" C ";

     if (client.publish(temperature_topic, String(t).c_str())) {
       delay(1);
     }
     else {
       client.connect(clientID, mqtt_username, mqtt_password);
       delay(10);
       client.publish(temperature_topic, String(t).c_str());
     }

     if (client.publish(humidity_topic, String(h).c_str())) {
       delay(1);
     }
     else {
          Serial.println("Humidity failed to send. Reconnecting to MQTT Broker and trying again");
          client.connect(clientID, mqtt_username, mqtt_password);
          delay(10);
          client.publish(humidity_topic, String(h).c_str());
     }
  }
}

In the broker logs there aren't disconnection logged, and sane goes for reconnection to wifi.
From the broker I can see that messages are sent ( confirmed either from the logs and from tcpdump )
The sketch simply stop to ( so it seems ) pass in the callback function.
Unfortunally I can't get serial messages as the ESP is far from a PC so I can't debug it this way.
Any idea on what to look ?

I've track down a bit more the problem, and it could be that in some case the broker "feel" like the client is disconnected and close the old connection. At this point the client eventually reconnect but does not subscribe again to topic ( code fault ).
Does the client need to set again also the callback function or it is enough to subscribe to topic again ?

Hi Pigi-102,
I had the same issue. I solved it by re-subscribing every time I send out a message via MQTT. I have created a function that I call just before I try to send data over MQTT:
bool mqttCheck() {
  if (mqttClient.connected()) {                                                                       // Already connected ?
    mqttClient.subscribe("your callback channel here");                               // Re-subscribe to the topic
    return true;
  }
  bool result = mqttClient.connect("your puplish channel here",               // Connect to the MQTT broker with authentication
                            SN_MQTT_USER, SN_MQTT_PASS);
  if (result) mqttClient.subscribe("your callback channel here");                 // If connected subscribe to the CMD topic
  return result;                                                                                // Return the connection state
}

I hope this solves your issue.
Tiepolino

Tiepolino,
that's basically the same thing I ended to.
When in the cycle I see that I'm not connected I do subscribe again.
So far it seems to be working but I'll wait some more days before closing.
Thanks for your suggestion.

I have the same problem: I too have re-subscribed at regular intervals, but it seems like a tricky solution. Do you think it's the library or are they the brokers? (i use HiveMQ)

Then I guess it's the library. I use Mosquitto and have disconnects after
some time 36 hours or so.
Op za 28 mei 2022 14:54 schreef Massimo Rebuglio @.***>:

I have the same problem: I too have re-subscribed at regular intervals,
but it seems like a tricky solution. Do you think it's the library or are
they the brokers? (i use HiveMQ)
—
Reply to this email directly, view it on GitHub
https://github.com/knolleary/pubsubclient/issues/922#issuecomment-1140256059,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQOK6NWBX74A36CYVNLFCHLVMIJRPANCNFSM5NWXRIUQ
.
You are receiving this because you commented.Message ID:
@.***>

Hi Pigi-102, I had the same issue. I solved it by re-subscribing every time I send out a message via MQTT. I have created a function that I call just before I try to send data over MQTT:
bool mqttCheck() {
  if (mqttClient.connected()) {                                                                       // Already connected ?
    mqttClient.subscribe("your callback channel here");                               // Re-subscribe to the topic
    return true;
  }
  bool result = mqttClient.connect("your puplish channel here",               // Connect to the MQTT broker with authentication
                            SN_MQTT_USER, SN_MQTT_PASS);
  if (result) mqttClient.subscribe("your callback channel here");                 // If connected subscribe to the CMD topic
  return result;                                                                                // Return the connection state
}

I hope this solves your issue.
Tiepolino

Does this still work for you ?
I've drill down a bit more the problem and sure is somewht tied to a sychro issue of some kind.
I've tried a simplified sketch and in this sketch I simply send a topic and subscribe to another.
When I power on the ESP while the mosquitto broker is running, everything seems to work.
If the broker is down, when it comes up again the ESP can reconnect to the broker, can publish data on topics, but seems to be unable to subscribe also if I force it.
This week I had a couple of power outage here, due to thunderstorm, and in both case the ESPs were faster than RPI to power-on. The code worked fine, also for the wifi reconnect and so on, but the subscribe didn't worked until I have restarted  them.
This is my new code ( in loop ):
     // PUBLISH to the MQTT Broker (topic = Temperature, defined at the beginning)
     if (client.publish(temperature_topic, String(t).c_str())) {
        Serial.println("Temperature sent!");
        client.subscribe(switch1_topic);
     }
     // Again, client.publish will return a boolean value depending on whether it succeded or not.
     // If the message failed to send, we will try again, as the connection may have broken.
     else {
       Serial.println("Temperature failed to send. Reconnecting to MQTT Broker and trying again");
       client.connect(clientID, mqtt_username, mqtt_password);
       delay(10); // This delay ensures that client.publish doesn't clash with the client.connect call
       client.publish(temperature_topic, String(t).c_str());
       client.subscribe(switch1_topic);
     }

As you can see I publish and just after it I subscribe again but this does not seems to change nothing.
I will try one more suggestion I've read in antoher issue to give a delay between publish and subscribe, just in case the wifi is slow or loose some packet.
What do you think ?

It seems to be a problem in the callback, or at least on how my code is written for the callback.
I did this test: I shutdown the broker, thus simulating the problem and after a while I've restarted again.
After that I took a tcpdump to see what was going on.
The tcpdumpshows clearly that the ESP sends the subscription request, and the broker reply correctly with the state of the topic:

In packet 3 the ESP sends out his publish ( temperature ) and get acked by the broker.
In packet 5 the ESP sends out the subscribe request ( switch1 ) and get acked by the broker.
In packet 9 the broker publish a state change to the ESP for switch1 and get acked by the ESP, but nothing happens ( when is working the ESP should shut down a relay ).
My callback function is this one:
void callback(char* topic, byte* payload, unsigned int length) {
  payload[length] = '\0';
  strTopic = String((char*)topic);
  if(strTopic == switch1_topic)
    {
    switch1 = String((char*)payload);
    if(switch1 == "ON")  { digitalWrite(HeatingPin, HIGH);  } else  { digitalWrite(HeatingPin, LOW);  }
    }
}

Unfortunally I can't, at least at the moment, get a serial connection to confirm but that's what  at the moment seems.
The ESP  DO subscribe but the callback don't get called ( or get called with some wrong parameters.

Hi Pigi-102,
For me this code seems to be working fine. I have no more problems with the
ESP failing to get messages from the broker.
Good analysis you did... That will have to be quite some work.
Hope you manage to solve the issue.
Greetings, Tiepolino
Op do 4 aug. 2022 om 20:01 schreef Pigi-102 @.***>:

Hi Pigi-102, I had the same issue. I solved it by re-subscribing every
time I send out a message via MQTT. I have created a function that I call
just before I try to send data over MQTT:
bool mqttCheck() {
if (mqttClient.connected()) {                                                                       // Already connected ?
mqttClient.subscribe("your callback channel here");                               // Re-subscribe to the topic
return true;
}
bool result = mqttClient.connect("your puplish channel here",               // Connect to the MQTT broker with authentication
SN_MQTT_USER, SN_MQTT_PASS);
if (result) mqttClient.subscribe("your callback channel here");                 // If connected subscribe to the CMD topic
return result;                                                                                // Return the connection state
}
I hope this solves your issue.
Tiepolino
Does this still work for you ?
I've drill down a bit more the problem and sure is somewht tied to a
sychro issue of some kind.
I've tried a simplified sketch and in this sketch I simply send a topic
and subscribe to another.
When I power on the ESP while the mosquitto broker is running, everything
seems to work.
If the broker is down, when it comes up again the ESP can reconnect to the
broker, can publish data on topics, but seems to be unable to subscribe
also if I force it.
This week I had a couple of power outage here, due to thunderstorm, and in
both case the ESPs were faster than RPI to power-on. The code worked fine,
also for the wifi reconnect and so on, but the subscribe didn't worked
until I have restarted them.
This is my new code ( in loop ):
 // PUBLISH to the MQTT Broker (topic = Temperature, defined at the beginning)
 if (client.publish(temperature_topic, String(t).c_str())) {
    Serial.println("Temperature sent!");
    client.subscribe(switch1_topic);
 }
 // Again, client.publish will return a boolean value depending on whether it succeded or not.
 // If the message failed to send, we will try again, as the connection may have broken.
 else {
   Serial.println("Temperature failed to send. Reconnecting to MQTT Broker and trying again");
   client.connect(clientID, mqtt_username, mqtt_password);
   delay(10); // This delay ensures that client.publish doesn't clash with the client.connect call
   client.publish(temperature_topic, String(t).c_str());
   client.subscribe(switch1_topic);
 }

As you can see I publish and just after it I subscribe again but this does
not seems to change nothing.
I will try one more suggestion I've read in antoher issue to give a delay
between publish and subscribe, just in case the wifi is slow or loose some
packet.
What do you think ?
—
Reply to this email directly, view it on GitHub
https://github.com/knolleary/pubsubclient/issues/922#issuecomment-1205594353,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQOK6NU2GIUVABGO6JJGZHDVXQAQPANCNFSM5NWXRIUQ
.
You are receiving this because you commented.Message ID:
@.***>


Todoist integration issue with new UI for task view

OS version: macOS 12.3.1
Browser version: 100.0.4896.127
Extension version: Version 2.0.8

Relevant integration (if any):
todoist.com
🐛 Describe the bug
When navigating through tasks using the up/down arrow buttons a new Track extension icon appears: https://share.getcloudapp.com/OAu6dRWn
Expected behavior
The extension icon shouldn't multiply with each press of the arrow buttons.
Steps to reproduce
Steps to reproduce the behaviour:
You first need to enable the new task view. You can enable it in Todoist Web under Settings / Advanced / Experimental features.

Then, click on a task
Use the arrow keys to navigate through tasks or use the "K" and "J" keyboard shortcuts for previous and next.

Other details or context
A designed from Todoist reached out to let us know, they want to make sure all partner integrations are working fine before this is out of beta

Case reference

No longer reproducable


Show events in web-interface with help of toasts

I think I've managed to find a way how send a complete data (an event and a position) to show in the  web-interface.

Added some comments.

Fixed. Thanks for the tip about JSHint.

Merged. Thanks.


Video deleting on excel and video folder

When we press delete in labeling, it does not delete in excel and video folder.
Unlabeled and frameless leaves a label with only the name and does not delete the line in excel.

I think doing cap.release before deletion is causing this bug. I'm on it.


New theme idea: "ProDark"

Description: Dark theme meant to resemble Office 2019's "Black" theme.

Weird that this wasn't closed yet, but it's available now.


not able to get the Credential for dev portal

How can I obtain my credentials from the dev portal? Despite trying multiple times through the mobile app with a verified number, I am still unable to obtain them.

deve


Ask for preview style feedback

We're getting close to finishing the formatter changes for Ruff's 2024 preview style (see #8678).
A way for us to get feedback is to reach out to maintainers using Ruff's formatter by creating a PR with the formatting changes when running ruff format with --preview.  The goal is not to get the PR merged (we should make this clear in the PR summary), but to review the changes ourselves and ask them if they see any changes they dislike or find questionable.
I recommend waiting for the next release or building Ruff from the source before submitting any PRs.
If anyone is interested in PRing the changes to a repository, please comment on this issue so that we can track the PRs and the feedback.

I won't be doing this anymore because I received feedback that the primary value of Ruff/Black is that they don't need to think about formatting at all and me asking for feedback takes that value proposition for them.
I'll manually review the changes to some larger projects and make the call myself.


Eliminates the possibility of SQL exploit

Eliminates the possibility of SQL exploit when saving context

@ilyaTT thanks for the PR. It looks like your fix is already incorporated by https://github.com/Opus10/django-pghistory/pull/79/files
I'm still working to verify everything, but I will likely close this PR in favor of https://github.com/Opus10/django-pghistory/pull/79/files. Will report back shortly and let you know when fix is deployed

@ilyaTT I'm closing this in favor of #79
I added you in the commit message of #79 with a co-authored-by tag so that you will receive credit on the change as well.
Thanks for your fix. It will be deployed later today. Will report back the version when released

Fixed in 2.6 - https://django-pghistory.readthedocs.io/en/2.6.0/release_notes.html


Tonel migration

Currently, this project cannot be loaded on windows because it contains methods with names too long.
Maybe it could be a good candidate to get a tonel migration since it's not supposed to work on Pharo <= 5?

Example of problematic file:
cargo/repository/CargoPackageManager-Tests.package/CGOPackageDependencyTest.class/instance/testDependencyLiteralReprensentationWithNoConstraintsShouldBeDependencyAssociationWithEmptyConstraintCollection.st`


Feature/increase code coverage

Pull Request Test Coverage Report for Build 155

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.5%) to 76.623%

Totals

Change from base Build 152:
1.5%

Covered Lines:
295

Relevant Lines:
385

💛  - Coveralls


Bad mark-up

The code region is not closed properly.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/best-practices/api-implementation.md
:white_check_mark:Succeeded
View

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.

Thanks!


Create repositories for the identity and role Terraform modules

Create the repositories to publish the Identity and Role modules in GCP and the Role module within AWS.

Modules created. Repositories should be ready to deprecate their local copies.


Improve the factoring of reader tests

IonCursorBinaryTest, IonReaderContinuableCoreBinaryTest, IonReaderContinuableApplicationBinaryTest, and IonReaderContinuableTopLevelBinaryTest should be refactored for improved code reuse and readability by following this template.

Additionally, replace usages of ExpectedException with assertThrows.


keep seaborn.heatmap's cmap as **kwargs

https://github.com/sbslee/fuc/blob/7b0fbfbd1c0f3f42274f75f8875cebe5b74afdb3/fuc/api/pymaf.py#L3270
I wasnt able to customize the plot_waterfall colors since cmap parameter of seaborn.heatmap is hardcoded.
wouldnt hurt to:
cmap = kwargs.get('cmap', colors)
sns.heatmap(df, ax=ax, xticklabels=False,cbar=False, vmin=0, vmax=len(colors), **kwargs)
or any more elegant solution - I am not that good with python.

@kandabarau,
Thank you for opening this issue! Am I correct in understanding that you want to provide your own colors variable? Please note that this method does not currently support such customization, as the definition of colors is not straightforward and might cause confusion for users:
https://github.com/sbslee/fuc/blob/7b0fbfbd1c0f3f42274f75f8875cebe5b74afdb3/fuc/api/pymaf.py#L3268-L3271
Could you share more details about how you would like to customize the colors in this case?

@kandabarau,
Thank you for opening this issue! Am I correct in understanding that you want to provide your own colors variable? Please note that this method does not currently support such customization, as the definition of colors is not straightforward and might cause confusion for users:
https://github.com/sbslee/fuc/blob/7b0fbfbd1c0f3f42274f75f8875cebe5b74afdb3/fuc/api/pymaf.py#L3268-L3271
Could you share more details about how you would like to customize the colors in this case?

hi @sbslee
I already have this working for me:
you hardcoded colors = list(reversed(NONSYN_COLORS + ['k', 'lightgray']))  in your plot_waterfall functions body, I have pulled it as default for the new cmap parameter:
def plot_waterfall(         self, count=10, keep_empty=False, samples=None, ax=None,         cmap=list(reversed(NONSYN_COLORS + ['k', 'lightgray'])), figsize=None, **kwargs     ):
and later call
        sns.heatmap(df, ax=ax, xticklabels=False,             cbar=False, vmin=0, vmax=len(cmap), cmap=cmap, **kwargs)
I named it cmap to prevent same parameter name be passed to kwargs. Can be more delecate or python-ish. I am not good with python.
so I can call plot_waterfall with my own cmap
I did similar to def plot_tmb(         self, samples=None, width=0.8, ax=None, figsize=None, color=NONSYN_COLORS, **kwargs     ):
and to
 def plot_genes(         self, mode='variants', count=10, flip=False, ax=None, figsize=None, colors=NONSYN_COLORS,         **kwargs     ):
and it works fine. seemless if you stick to defaults and flexible if somebody uses their own colors.
what do you think?
Bests,
Sergey

@kandabarau,
Thanks for the detailed explanation!

I already have this working for me

Glad to hear that you got it working for you. I will review your proposal and let you know, but in the meantime I think your approach makes sense and I agree with defining your own custom functions for now.


Trojan:MacOS/ScarletFlash.A

HaCMini.pkg V2.4 seems to be infected by Trojan:MacOS/ScarletFlash.A

What

https://www.virustotal.com/gui/file/eea2bc166bffe7be3f45678336a326af796213d9c15339903c94a2c5f95f852f/detection
I was using windows to download the files needed to then transfer them home to mac and the microsoft antivirus gave me an alarm message, now I checked with virustotal and it seems to be only microsoft to detect trojan.

https://www.virustotal.com/gui/url/e71a72db6874ac364b1db1ff5ffc08f4d4fa147f2285eace7024ed2628581207/details
https://github.com/osy86/HaC-Mini/releases/download/v2.4/HaCMini.pkg have the same sha256 eea2bc166bffe7be3f45678336a326af796213d9c15339903c94a2c5f95f852f

Yeah microsoft is garbage.


Flat mapping of collection with optional

Hi,
Take a look on http://short-coding-notes.blogspot.cz/2014/09/flatten-list-of-optional-values-in-java.html
Is it implemented somehow in streamex?
Best,
Stas

Hello!
You can do this using StreamEx.of(Optional):
collection.stream() // or StreamEx.of(collection) - doesn't matter in this example
    .map(this::someMethodThatReturnsAnOptional)
    .flatMap(StreamEx::of)
    .collect(...)

Or in single flatMap statement:
collection.stream() // or StreamEx.of(collection) - doesn't matter in this example
    .flatMap(val -> StreamEx.of(someMethodThatReturnsAnOptional(val)))
    .collect(...)

Probably adding flatMapToOptional to StreamEx class is possible as it will simplify this even further:
StreamEx.of(collection)
    .flatMapToOptional(this::someMethodThatReturnsAnOptional)

But I doubt it's worthy. What if your method returns OptionalInt, OptionalLong or OptionalDouble? Should we add also .flatMapToOptionalInt and friends? Should we add all these methods to primitive streams (like IntStreamEx)? In total we will have 20 new methods: (EntryStream, StreamEx, IntStreamEx, LongStreamEx, DoubleStreamEx) × (flatMapToOptional, flatMapToOptionalInt, flatMapToOptionalLong, flatMapToOptionalDouble). So I'm hesitating to do this now, taking into account that currently available alternative is not much longer. Currently you can use .flatMapToInt(val -> IntStreamEx.of(methodReturningOptionalInt(val))), so all these 20 methods are covered by not very long alternatives.

Thank you the .map(this::someMethodThatReturnsAnOptional).flatMap(StreamEx::of) is Ok for me with only one "but" - it will wrap/unwrap to StreamEx each element in a collection. It may be a performance issue for big collections (not a my case).

Ok, closing as won't fix for now. If the performance issue would become critical, comment here providing the profiling/benchmarking results.
By the way there's issue #10 which proposes adding the chain() method to make streams easier to extend. Assuming the #10 is implemented you can create your own static method:
public static <T, R> Function<StreamEx<T>, StreamEx<R>> flatMapOptional(
		Function<? super T, Optional<? extends R>> mapper) {
	return stream -> stream.map(mapper).filter(Optional::isPresent).map(Optional::get);
}

And use it like this:
StreamEx.of(collection)
    .chain(flatMapOptional(this::someMethodThatReturnsAnOptional))
    .toList();

This way you don't have an additional overhead for intermediate Stream creation. Probably I should raise the priority of chain() feature. It could be quite useful...

By the way after applying #57 optimization the .flatMap(StreamEx::of) works much faster as it does not actually create JDK stream at all. For empty optional it allocates StreamEx only (using predefined empty spliterator), for non-empty optional it allocates StreamEx and simple spliterator for one element. Sometimes we can skip JDK Stream creation and the StreamEx itself is much more light-weight than Stream.
I tested this benchmark:
@Benchmark
public void flatOptional(Blackhole bh) {
  IntStreamEx.range(10000).mapToObj(Optional::of).map(op -> op.filter(x -> x % 2 == 0))
                  .flatMap(StreamEx::of).forEach(bh::consume);
}

The resulting time (in microseconds) is the following for StreamEx 0.5.3 and upcoming 0.5.4:

test
0.5.3
0.5.4

flatOptional
420,880
240,456


"short" config option for let-else statements?

Refs #4914
When the style team was discussing the formatting rules for let-else, an unsurprisingly key consideration was if/when/how the entire statement could be formatted on one line. As noted in the now-codified rules, there is a "if short enough" element to the required conditions for one-line formatting in the spirit of being consistent with other prescriptions in the current style guide edition.
Specifically https://github.com/rust-lang/rust/blob/master/src/doc/style-guide/src/statements.md#single-line-let-else-statements
With an intentional clause added to note the anticipated need for configurability in rustfmt:

Formatters may allow users to configure the value of the threshold used to determine whether a let-else statement is short.

Therefore the only real question IMO is: do we reuse an existing option, e.g. single_line_if_else_max_width, or do we introduce a new option, e.g. single_line_let_else_max_width), and if the latter then what should the default value be?
My inclination is to do the latter (largely based on past experiences of multi-use config options being insufficiently flexible and causing problems), likely with the same default value as single_line_if_else_max_width though I feel less strongly about this.
What are your thoughts @ytmimi?
cc @rust-lang/style for awareness

I think it would be best to have a dedicated config to control the let-else formatting, so I'm leaning towards adding a single_line_let_else_max_width config option.

Having a separate option makes sense, but I think that option should default to the same value as the existing top-level "short" threshold, so that changing that threshold by default will change all the other thresholds. That way, if someone wants to change all the thresholds they can do that in one place, and if they want to customize the individual thresholds they can set the individual options.

Resolved via #5690

@calebcartwright The head comment on that issue says that it does not implement a "short" config option for let-else, so it seems like there is a contradiction somewhere

Updated prior comment, thanks @digama0


Enhance dump/restore github actions

Description
Previously, the github action to test database-level dump/restore was only
using master database and the assumption was to include more databases
into it. But would be a bit optimistic thinking and require individual developers
to add new github workflows for new T-SQL databases which adds extra
burden on developers.
This commit changes the github action model a bit so that single workflow is able
to test database-level dump/restore for all the T-SQL databases prepared by the
preparation tests.
Task: BABEL-4053
Signed-off-by: Rishabh Tanwar<EMAIL_ADDRESS>Test Scenarios Covered

Use case based -

Boundary conditions -

Arbitrary inputs -

Negative test cases -

Minor version upgrade tests -

Major version upgrade tests -

Performance tests -

Tooling impact -

Client tests -

Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 72.533%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
41085

Relevant Lines:
56643

💛  - Coveralls


Add option to adjust bcrypt hashing cost

The default bcrypt hashing cost can be quite problematic when serving many requests at once. Depending on token expiration times and other security considerations, lowering the cost can be a valid fix. This PR adds the token_hash_cost to all TokenDB configs (redis, GCS, LevelDB). Note that the level db config was a simple string previously, I had to change it to a struct with {path: string, token_hash_cost: int}.
Note that this PR is built on top of #374.

Done!


Enable swagger validation back as issue with it has been fixed upstream

Upstream issue go-swagger/go-swagger#1614 has been fixed

Codecov Report

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

@@           Coverage Diff           @@
##           master    #4673   +/-   ##
=======================================
  Coverage   20.63%   20.63%
=======================================
  Files         166      166
  Lines       32262    32262
=======================================
  Hits         6657     6657
  Misses      24627    24627
  Partials      978      978

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 3ad5399...75397f5. Read the comment docs.


Improvements on shipping validation

Reuse is_valid_shipping_method in API (ready_to_place_order) and storefront 1.0 (clean_shipping_method)
Split clean_shipping_method to clean_shipping_method and clean_shipping_address. They are used in CheckoutLinesAdd/CheckoutLineUpdate/CheckoutLineDelete/CheckoutShippingAddressUpdate/CheckoutShippingMethodUpdate. I feels both address and method should be validated after cart line/shipping method/shipping address are updated.
Fix a bug where address and method should be validated after cart line is updated in CheckoutLinesAdd/CheckoutLineUpdate
Fix a bug where checkout is not returned if method/address is invalid in CheckoutLinesAdd/CheckoutLineUpdate
Fix a bug where shipping method should be deleted only when it's invalid in clean_shipping_method
Fix a bug where is_valid_shipping_method will raise error if cart doesn't have a shipping address
Fix bug where Country should be used instead of string for address's country field in tests.

Pull Request Checklist

[ ] Privileged views and APIs are guarded by proper permission checks.
[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[x] Database queries are optimized and the number of queries is constant.
[x] Database migration files are up to date.
[x] The changes are tested.
[x] The code is documented (docstrings, project documentation).
[x] GraphQL schema and type definitions are up to date.
[x] Changes are mentioned in the changelog.

could you rebase and make build pass? good progress so far!

@auvipy Is this a auto reply? :smile:

@maarcingebala This PR is updated with master branch, please review. Thanks.

Closing in favor of #4367 where we're working on improved behavior of checkout API.


Basic rendering too slow

Simple Phong shaded sphere on a 400x400 canvas is taking between 530ms and 546ms, compared to ~57ms for the c++ version.
So, the C++ version is currently taking a bit more than 1/10th the time to render the same image.
I'm sure I can beat that -- hopefully w/o heroics.

 I was looking at the wrong run.
Actual comparable numbers:
c++:
~57ms@ 400x400
~423ms @1080x1080
Java:
~130ms @400x400
~455ms @ 1080x1080
So the C++ version is about twice as fast for a small image, and about 7% faster on a medium sized image. Still probably worth some optimization, yeah?

OK, I have a probable patch incoming.
Looks like I now have Java down to:
~66ms @ 400x400
~320ms @ 1080x1080
So now the C++ version is about 14% faster on the small image, and Java is about 24% faster on the large image. Nice. I'll have to see later what similar optimizations (especially raw array indexing) might do for the c++ version.

I've saved my initial optimizations to a local branch, and will revisit them once I've implemented all the same functionality that currently exists in the C++ version (i.e., Planes as second object type), or at least the same as the C++ version had when I felt the need to optimize it (i.e., after shadows were implemented).


Tests

@DzyubSpirit branch for tests should not include new functionality, That is why I'll close this PR now, we can add tests for metasync.every after it is merged into master and we have chosen testing framework.

Humanity does not accept this PR but later it every body will see the PURPOSE and PR will be reopened.
WUUHHA-HAHA-HAHA-HAHA


⚠ Bofrost.de has degraded performance

In 41e07d6, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1194 ms

Resolved: Bofrost.de performance has improved in 1b011fc after 29 minutes.


Service for uploading the report PDFs in Hidora, with metdata #74

Old REST API services removed.
New REST API service GET "/extract":

reads parameters from environment (AIRTABLE_API_KEY, AIRTABLE_BASE_ID) of config.ini (api_key, base_id)
reads all PDFs from Airtable, saves PDFs locally in {STORAGE_DIR}/pdf (by default STORAGE_DIR='./data')
extracts text and saves TXT files locally in {STORAGE_DIR}/txt (by default STORAGE_DIR='./data')
creates META files and saves JSON files locally in {STORAGE_DIR}/meta (by default STORAGE_DIR='./data')
META files contain: air_id (airtable id), id (random uuid), filename (original filename)
skips already extracted files - if PDF file with ExtractedID is found locally
filenames: {id}.pdf + {id}.txt + {id}.json

Service is protected with basic auth.
OpenAPI (Swagger UI 3.0) documentation is updated.

Hi @dev-ng ,
Your code looks great! For the demo day it's more than enough and it works as discussed the three specific output types.
I would only make these suggestions, which we should track in other issues:

A proper debug/error logging: Instead of print(), we should use a environment dependent logger instances.
Add a limit for number of records to be extracted by your service:  For testing it would be nice to limit the AirTable records to be processed. If the service triggered, there is no way to exit early.

Cheers, Cahit


Ensure method parameter tooltip/popup never occurs within strings or comments

Fixes #2057
This pull request:

[x] Has a title summarizes what is changing
[x] Includes a news entry file (remember to thank yourself!)
[x] Has unit tests & code coverage is not adversely affected (within reason)
[ ] Works on all actively maintained versions of Python (e.g. Python 2.7 & the latest Python 3 release)
[ ] Works on Windows 10, macOS, and Linux (e.g. considered file system case-sensitivity)

@DonJayamanne so based on the tests that were in place before I began this work, it appears that the signature  was expected within a string. Was that the correct way for the extension to be? Or would the new behaviour (never showing function signatures within comments or strings, ever) be correct?

NOTE: I'm pefectly happy to abandon this work if that is the desired behaviour, I learned a ton about our test framework this week!


Add OS.get_screen_metric()

Combining OS.get_screen_dpi() with OS.get_screen_size() does not return accurate values for the physical screen dimensions.
Children have IOD's of 6 cm, women in the armed forces have IOD's of 6.2 cm, I have an IOD of 6.35 cm and some giants have IOD's around 7 cm. It's all in a narrow enough range that some error can be tolerated. But screen sizes are not in a narrow range. There are $8 Android devices now with 7.6 cm screens, $25 devices with 11.4 cm screens, and your grandma probably has one with a 15.2 cm screen.
To save players from manually typing things in, any game engine worth its salt should be able to return the physical dimensions of the screen. This would help greatly with mobile VR and would integrate well with related PRs.
I will be indisposed for the next month as work has really caught up with me. This thread serves as a log of mine and others' progress towards getting proper screen size detection in Godot. I am linking a 2.1 test case that does what it can with OS.get_screen_dpi() and OS.get_screen_size().

Working on the Android version of get_display_metric() which is supposed to return a Vector2 of the screen width and height in meters. It turns out display metrics must be retrieved in Java because of course Godot is oldschool and uses the JNI rather than pure C++. Having difficulty returning non-primitive data (2 floats at once) from Java to C++ as I have never used the JNI before due to contempt for the very idea of it, and my contempt is not unfounded. Then again it's not my area of speciality so these aren't really valid complaints.

can other platforms also get this? x11, windows, osx, ios?

@volzhs In theory, yes. This is primarily of interest to VR, so relevant more to displays 6" or smaller. The iOS port would be the next thing. X11, Windows, and OSX would be just like implementing any other cross-platform features, using platform-specific APIs and sending the data to the game. Of course, I am starting with the unit of meters which seems to imply larger displays, and there are much larger displays out there. Generally if you want a rough approximation of the screen size you can do something like OS.get_screen_size().x / OS.get_screen_dpi(), but in the case of Android and anything with non-square pixels the measurements are off.

Well, I have fucked with it beyond all rationality, lost track track of what I was doing, tried a new substance and I now have no idea what anything is, but I remember that this is somehow relevant, for whenever I or someone working in my stead arrives at the proper state of mind (and by the way its build is failing):
https://github.com/fluffrabbit/not-godot/search?q=metric

Closing as the issue has not received any update in a long time and does not seem to gather much interest from the community. There might be some use in having better metrics on the device screen though, but it's not a priority for the time being.


Add some more  tags

The plugin should support a few more meta tags.

[x] - Add <meta property="og:locale" /> default en_US
[x] - Add <meta name=“twitter:url”>
[x] - Add <meta name=“twitter:creator”>
[x] - Add <meta name="og:site_name">
[x] - Add <meta name="og:image:width">
[x] - Add <meta name="og:image:height">
[x] - Add options for comments above each card section (Twitter and Open Graph)

I also think maybe giving users an option to mix and match <meta name=""> and <meta property=""> for Twitter or Open graph meta tag generation would be a good option. e.g. if they want to use property for the Twitter card instead of name thats fine too. Although Open graph tags use property attribute and Twitter docs recommend using name, the Twitter parser does fallback to property + content so that convinces me this functionality could be useful. - https://developer.twitter.com/en/docs/twitter-for-websites/cards/guides/getting-started
The Open Graph/Facebook meta tags use <meta name=""> ie the name attribute in the docs where the Twitter Card docs use <meta property=""> ie property attribute.
See this for more context https://stackoverflow.com/questions/22350105/whats-the-difference-between-meta-name-and-meta-property

Closed in 10c7a0a 🎉


"Fragments" -- whole expressions with a few parameters for easier configuration of pre-existing functionality

Fragments would be similar to "Alias Nodes", but registered globally, so don't need to define them in each expression.
The other difference is that they would need to allow "parameters" so they can be called with different values in certain places. This would make providing a handful of "pre-configured" expressions available with just a few variable inputs to make building complex expressions simpler.
For example, this expression might be re-used a lot to fetch a country's flag based on an input code:
{
  $country: "New Zealand",
  operator: "GET",
  children: [
    {
      operator: "stringSubstitution",
      string: "https://restcountries.com/v3.1/name/%1",
      replacements: [
        "$country"
      ]
    },
    [],
    "flag"
  ],
  outputType: "string"
}

The only "variable" is "New Zealand", which we can replace using a local alias "$country"
I think this would actually be quite simple as the resolved alias nodes are already stored in the config object. Only difficulty is we don't want them to be resolved yet as they need the inner value first.

Expression syntax could be something like:
{
 fragment: "getCountry",
 $country: "New Zealand"
}

where getCountry is a registered fragment in options:
options : {
  data: {...},
  functions: {...},
  fragments: {
    getCountry: {
        operator: "GET",
        children: [
          {
            operator: "stringSubstitution",
            string: "https://restcountries.com/v3.1/name/%1",
            replacements: [
              "$country"
            ]
          },
          [],
          "flag"
        ],
        outputType: "string"
      }
  }
}

So have "fragment" nodes in addition to "operator" nodes and leaf nodes.

Additional idea (maybe new issue): add a new method to main Evaluator, getFragments which returns a list of fragments currently stored in options AND a list of the required parameters (will need to do a deep scan of object)

Additional idea (maybe new issue): add a new method to main Evaluator, getFragments which returns a list of fragments currently stored in options AND a list of the required parameters (will need to do a deep scan of object)

Probably best to wait until we build a GUI config app before adding this kind of thing.


Adding ZSP3 Zamosc

@KacperZSP3 First stage of verification passed, official domain for Zespół Szkół Ponadpodstawowych Nr 3 w Zamościu is zsp3zamosc.pl as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@KacperZSP3 Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.


Support for decl tests and unnamed tests

test "add" works, but the other two tests don't.
fn add(a: anytype, b: anytype) @TypeOf(a, b) {
    return a + b;
}

test "add" {
    try std.testing.expectEqual(3, add(1, 2));
}

test add {
    try std.testing.expectEqual(3, add(1, 2));
}

test {
    try std.testing.expectEqual(3, add(1, 2));
}

We can get test add working just by changing this line:
@@ -61,7 +61,7 @@ function M.discover_positions(path)
        local query = [[
                ;;query
                (TestDecl
-                       (STRINGLITERALSINGLE) @test.name
+                       [(IDENTIFIER) (STRINGLITERALSINGLE)] @test.name
                ) @test.definition
        ]]
        log.debug("Running query", query)

I couldn't figure out a way to capture unnamed tests, but that's mainly because I'm unfamiliar with the system, I'm sure its doable.

Hmm, the unnamed one might be a bit of an issue, as it seems like it cannot be filtered (from zig docs):

By convention, non-named tests should only be used to make other tests run. Non-named tests cannot be filtered.

It says that unnamed tests should only be used to run other tests, so maybe they should only run when the whole file is running.
I'll try to look into this

Ok, so skipping unnamed tests is impossible (at least with standard test runner) right now in zig, so they will always run (from zig docs):

[...] Note that non-named tests are run even when using the --test-filter [text] command line parameter.

The problem is of two parts now:

Controlling when unnamed tests run - impossible with default test runner, but this package uses a custom test runner, so maybe something can be done with that.
Discovering and displaying test results correctly with unnamed tests - this might require a custom test position generator on neotest side, since unnamed tests don't have a name/identifier and neotest requires one. With a custom generator hooked in unnamed tests would probably show up as test0 test1, etc., same way they currently appear in zig test command.


fix(#266): nested matrix expressions in workflows

In this pull I've updated workflow parsing logic to handle nested matrix expressions like ${{ matrix.a.b.c }}.
closes #266
History:

fix(#266): dot_values
fix(#266): more test cases

PR-Codex overview
This PR focuses on enhancing the workflow testing capabilities and refining the matrix handling in the workflows.py file. It introduces a new test case for nested workflow expressions and improves the logic for extracting values from matrices.
Detailed summary

Added a new test function test_outputs_workflow_info_with_nested_expression in test_workflows.py.
Implemented a nested workflow structure for testing.
Enhanced matrix value extraction logic in workflows.py with a new function dot_values.
Improved handling of keys in the matrix extraction process.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@h1alexbel OK, I'll try to merge now. You can check the progress of the merge here.

@rultor merge

@h1alexbel Done! FYI, the full log is here (took me 12min).


Error handling and logging improvements

Improve the wording and formatting of various job log messages
Improve listing of configured providers in notificationsource detail view
Avoid erroring out when encountering a Provider that has a null emails_circuit_maintenances custom field value
Handle case where emails_circuit_maintenances comma-separated list contains whitespace

Addressed review comments - thanks! Some additional fixes and enhancements:

Clarified some aspects of README.md
Fixed an issue where we weren't recognizing email addresses containing - characters as valid
Added source_header configuration option to support a case where messages are forwarded from a mailing list and so we need to inspect the X-Original-From header instead of the From header to identify the actual message source.

I agree that the source_header should probably be a provider-specific configuration - I'll look into fixing that as soon as I can find the time.


install via pub.dev ?

hi all, we're very keen to use Ably in our Flutter app. are you able to put this package onto pub.dev ? if not can you give me info on how to install into an existing Flutter app ?

You can add Git repositories to you application
https://dart.dev/tools/pub/dependencies#git-packages
Be aware that this package is still under development.

I'm going to close. Feel free to comment anyway if you need further guidance.

I see your in Austria! Our favourite country. Been to Stubai glacier 4 times so far, love it there.

i tried the following in an empty/new Flutter project:
dependencies:
  flutter:
    sdk: flutter
  ably_flutter_plugin:
    git: https://github.com/ably/ably-flutter.git

however the app would not build. is the above incorrect ?
i might just be a bit too early to the party for Ably on Flutter. is there an eta for making it available via pub.dev ?
Launching lib/main.dart on iPhone 11 in debug mode...
Xcode build done.                                           14.2s
Failed to build iOS app
Error output from Xcode build:
↳
    2020-09-11 21:19:52.763 xcodebuild[16243:8585479] [MT] PluginLoading: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/RealmPlugin.xcplugin' not present in DVTPlugInCompatibilityUUIDs
    2020-09-11 21:19:52.764 xcodebuild[16243:8585479] [MT] PluginLoading: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
    2020-09-11 21:19:52.764 xcodebuild[16243:8585479] [MT] PluginLoading: Required plug-in compatibility UUID C80A9C11-3902-4885-944E-A035869BA910 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/AdjustFontSize.xcplugin' not present in DVTPlugInCompatibilityUUIDs
    ** BUILD FAILED **
Xcode's output:
↳
   .......

@SogoGolf we're hoping to get a first version published before the end of the year, hopefully sooner. Thanks for bearing with us.
In the meantime, I'll give this a quick go myself and see what I get...

I get a different result, but it doesn't build. I see:
% flutter run
Launching lib/main.dart on iPhone 11 Pro Max in debug mode...
Running pod install...                                              1.8s
CocoaPods' output:
↳
      Preparing

    Analyzing dependencies

    Inspecting targets to integrate
      Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)

    Fetching external sources
    -> Fetching podspec for `Flutter` from `Flutter`
    -> Fetching podspec for `ably_flutter_plugin` from `.symlinks/plugins/ably_flutter_plugin/ios`

    Resolving dependencies of `Podfile`
      CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only perfomed in repo update
    [!] CocoaPods could not find compatible versions for pod "ably_flutter_plugin":
      In Podfile:
        ably_flutter_plugin (from `.symlinks/plugins/ably_flutter_plugin/ios`)

    Specs satisfying the `ably_flutter_plugin (from `.symlinks/plugins/ably_flutter_plugin/ios`)` dependency were found, but they required a higher minimum deployment target.

    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:328:in `raise_error_unless_state'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:310:in `block in unwind_for_conflict'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `tap'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `unwind_for_conflict'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:684:in `attempt_to_activate'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:254:in `process_topmost_state'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/resolver.rb:94:in `resolve'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/installer/analyzer.rb:1065:in `block in resolve_dependencies'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/user_interface.rb:64:in `section'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/installer/analyzer.rb:1063:in `resolve_dependencies'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/installer/analyzer.rb:124:in `analyze'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/installer.rb:410:in `analyze'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/installer.rb:235:in `block in resolve_dependencies'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/user_interface.rb:64:in `section'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/installer.rb:234:in `resolve_dependencies'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/installer.rb:156:in `install!'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/command/install.rb:52:in `run'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/lib/cocoapods/command.rb:52:in `run'
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-1.9.3/bin/pod:55:in `<top (required)>'
    /Users/quintin/.asdf/installs/ruby/2.7.0/bin/pod:23:in `load'
    /Users/quintin/.asdf/installs/ruby/2.7.0/bin/pod:23:in `<main>'

Error output from CocoaPods:
↳
    /Users/quintin/.asdf/installs/ruby/2.7.0/lib/ruby/gems/2.7.0/gems/cocoapods-core-1.9.3/lib/cocoapods-core/cdn_source.rb:342: warning: URI.escape is obsolete

    [!] Automatically assigning platform `iOS` with version `8.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.

Error running pod install
Error launching application on iPhone 11 Pro Max.

for information:
% xcodebuild -version
Xcode 11.3.1
Build version 11C505

% pod --version
1.9.3

% flutter --version
Flutter 1.20.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 216dee60c0 (10 days ago) • 2020-09-01 12:24:47 -0700
Engine • revision d1bc06f032
Tools • Dart 2.9.2

I think we'll need to look at this further as it'll likely be something we'll also need to fix for publish via pub.dev.

hey folks - big thanks for the updates and putting the package on pub.dev. we just tested here again (use case being real time leaderboards on mobile) and the latest version (ably_flutter_plugin: ^1.0.0+dev.2) worked like a charm! we're actually using 2 x Ably API's (Azure Cosmosdb real time change feed -> Ably JS (publishes to) -> Ably Flutter
keep up the great work!


skip stratify when splitting graph dataset

Is it possible to customize the graph_nodes_from_csv ? In my case, remove the stratify param.
Many thanks

Yes, it would be easy to add a stratify parameter. I have marked this as Enhancement.  If you'd like to implement this yourself, please submit a pull request and I'll merge it.

that's great. Many thanks in advance!


wasm: optimize proxy_wasm::null_plugin::getProperty and/or usages of it

Above shows pprof on inbound HTTP proxy, filtered on getProperty. 10% of CPU is spent on getProperty, which seems potentially excessive.
It seems like there are some low hanging fruit here, if I understand the code correctly (which is a big if, this is my first time looking at it). getTrafficDirection (0.6%) and getServiceNameFallback (1.34%) are per-listener and per-proxy settings(?), but are looked up on each stream.
populateRequestInfo (5.58%, including the 1.34 from getServiceNameFallback) also seems to have a fair amount of somewhat static values. cluster_name and route_name seem like they are essentially static, and there are a few connection level ones which could possibly be looked up per connection instead of per request.
We may also get benefits from just making getProperty faster, if feasible. It seems to be doing some pretty heavy protobuf stuff. Perhaps we can fetch multiple values at once to amortize the cost? I have no clue how feasible this is

This is a known side effect of using Wasm API, which performs unnecessary copies. Tencent rewrote this filter to native and gain ~15%-20% cpu savings:

When it becomes important, we can revisit whether it is still desired to keep stats filter as a Wasm filter, since it is unlikely we will ever run it as Wasm.

I get there is some overheads of copying, but it seems they are beyond what is required. I am not an expert though. Can we not copy everything in one operation instead of 20+ copies? And can we extract constant values once instead of on every request (may not be required if we do the previous optimization)?

I think we've already avoided copying repeatedly per request and small copies, when it is easy :). Not sure how much we'd want to invest into harder optimization like copy per connection instead of per request (which is very tricky and error prone I think), versus a refactor.

I see that this seems not stemming from copying attributes (which is plausible as the value would be in a few bytes in anyway) - looks like most of the time is spent in findValue and cel-cpp, especially when the path involves with map types in there.
Maybe we could do some caching or treating the "hot" property path specially in Envoy implementation (Context::findValue and Context::getProperty).

@mathetake that is exactly what I was thinking. Can we somehow amortize the cost? Right now we are calling the full findValue stuff ~10 times per request. if we are able to do one request that fetches everything we need I would think that could be substantially more performant?

Not stale
On Thu, Mar 3, 2022 at 9:02 PM Istio Policy Bot @.***>
wrote:

🧭 This issue or pull request has been automatically marked as stale
because it has not had activity from an Istio team member since 2021-12-03.
It will be closed on 2022-03-18 unless an Istio team member takes action.
Please see this wiki page
https://github.com/istio/istio/wiki/Issue-and-Pull-Request-Lifecycle-Manager
for more information. Thank you for your contributions.
Created by the issue and PR lifecycle manager.
—
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/33295#issuecomment-1058830624, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXKZRYWJLMUNBPPNKNTU6GKNJANCNFSM46GUL75A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

This is a known side effect of using Wasm API, which performs unnecessary copies. Tencent rewrote this filter to native and gain ~15%-20% cpu savings:

When it becomes important, we can revisit whether it is still desired to keep stats filter as a Wasm filter, since it is unlikely we will ever run it as Wasm.

hello ,can help to show how to rewrite stats filter to gain cpu use?

what he said reference from https://cloud.tencent.com/developer/article/1685873, but it's not open source.

what he said reference from https://cloud.tencent.com/developer/article/1685873, but it's not open source.

It's a pity, would you consider open source?

what he said reference from https://cloud.tencent.com/developer/article/1685873, but it's not open source.

It's a pity, would you consider open source?

IIRC, Tencent saild there's no plan for open source tstats in that talk.
I have no updated for it, maybe you should ask someone in aeraki-mesh?

I believe (but please verify before working on it...) we would be open to a rewrite of the stats system to not use WASM. We had someone working on it but unfortunately it fell through the cracks

I believe (but please verify before working on it...) we would be open to a rewrite of the stats system to not use WASM. We had someone working on it but unfortunately it fell through the cracks

i would like to have a try

We did not actually attempt to rewrite the stats filter from Wasm. We focused on our vendor-specific stackdriver extension (which did not improve things much because ultimately it runs gRPC callouts). You are welcome to submit a PR to istio/proxy with a rewrite of stats filter into a native extension. There is a variety of low hanging fruit that will easily make it perform better:

remove Wasm copying overhead;
improve stats lifecycle management (expiry);
remove regex tag extraction overhead;
remove protobuf/base64 CPU overhead by using simpler encoding;
remove flatbuffers, they are only needed because Wasm.

Given all the above, it's actually surprising stats performs as well as it does, and you only get 20% improvement. I think it's probably more than that if you dig deeper.
Our stats implementation was a demonstration of Wasm capability, and it's still the best Wasm extension we have. So it took a lot of overhead to make it happen, and the performance was only secondary priority.

BTW, if you have resources, I'm sure Envoy would be interested in taking it upstream as long as it's expressed in istio-neutral way.


Wrong behavior with multiple pages of posts

The reorder_posts action always begins post_order from 0 when it changes the order. If there is more than one page of posts, reordering the second page assigns post_order from 0 onwards to posts on the second page which mixes these posts into the first page.
Also it looks like there is no way to move posts between pages, e.g. if 20 posts are shown per page I don't see how to swap 20th and 21st posts.

Any ideas for how to deal with moving posts between pages? The best I can think of right now is to include post position into the edit form.


Alistairbntl/schur mprans

Adds a Two-Phase PCD preconditioner for MPRANS2D module with some parallel support.

@Giovanni-Cozzuto-1989 , @lmaurel - Would one of you two mind running some of your air-water-vv tests on this branch to see if it breaks anything.  I don't want a repeat of PR #534 if we can avoid it :-)

ToDo

[ ] Add a test with results from paper with @bootland
[ ] Clean up code in NumericalSolution.py, SplitOperators and MeshTools

@lmaurel please proceed on testing this PR.

@alistairbntl - All my tests passed


Add card ID to SetsWithCardsSchema

Is it possible to add the card ID (cards.cs_id) to SetsWithCardsSchema?
This would be useful when querying the set data and populating a local cards DB without having to re-query for each card in the set.

I should be able to add this, maybe behind a query param. Are you looking to do this for the /sets endpoint?
I also have some bulk endpoints available if you are looking for a specific bulk dataset. @rherban

Yes, I was planning on calling https://www.multiversebridge.com/api/v1/sets/mtgjson/LCI and the like and looping over it to import cards without hammering your API.
The bulk endpoint might be a better option though. Where can I get more info on that?

https://cdn.multiversebridge.com/mtgjson_build.json
This endpoint is updated daily with:

cs_id
mtgjson_id
scryfall_id
is_foil
price

I can create a different bulk export if you're looking for additional fields.

Do you have a bulk export of card data?

cs_id
name
edition
is_foil
mtgjson_id
scryfall_id
collector_number
mtgjson_code

I feel like I'm just missing something obvious, but calling /sets/mtgjson/XXX will get me one subset of card info, the bulk export will give another, and calling /cards/cs/12345 will get the full data, but will be taxing for both of us.
I appreciate your responses and willingness to help.

I can get a bulk dump like this built out, hopefully tonight.

@rherban https://cdn.multiversebridge.com/bulk.json
This is the current export. I'll work on getting this export automated nightly.

Thanks that works perfectly!
I still think the original request would be useful long-term, but I'll let you make that call.

Cool, I'll look at that as part of upcoming rebuild. Cheers!


feat: Avoid unnecessary range checks by inspecting instructions for casts

…
Description
Problem*
Resolves
Summary*
This PR removes unnecessary overflow checks in more scenarios than previously. We do this by inspecting whether the inputs are Instruction::Casts which allows us to determine an more restrictive upper bound on the value and reason about how this affects the result.
Additional Context
Documentation*
Check one:

[x] No documentation needed.
[ ] Documentation included in this PR.
[ ] [Exceptional Case] Documentation to be submitted in a separate PR.

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

This PR is intended to remove the overflow checks from these bitshift operations in U256.
https://github.com/AztecProtocol/aztec-packages/blob/da419c1d17370b208102c4e862a3d65d58d44df0/yarn-project/noir-protocol-circuits/src/crates/types/src/utils/uint256.nr#L18-L52


Missing Electron Linux ARM Prebuilt Binaries

Began seeing errors on our Linux ARM builds after upgrading. I'm looking for them in the releases and not seeing them!
https://github.com/WiseLibs/better-sqlite3/releases/tag/v11.3.0
Am I missing something, and/or are these easy to enable?

For which ones are you looking for, there are at least some for NodeJS but non for Electron.

Looking specifically for better-sqlite3-v11.3.0-electron-v128-linux-arm64.tar.gz.

For reference, we upgraded to Electron v32, and because there are no pre-built binaries for linux-arm64 our build began failing because of https://github.com/WiseLibs/better-sqlite3/issues/1225

This should be resolved (and electron 33 is now added to the build matrix). Feel free to comment if there's still an issue.

Hello, I am facing the same problem. There are not pre-built binaries for linux-arm64 for Electron:
prebuild-install http 404 https://github.com/WiseLibs/better-sqlite3/releases/download/v11.5.0/better-sqlite3-v11.5.0-electron-v130-linux-arm64.tar.gz


Mup deploy fails because of cordova

-------------------STDERR-------------------
Error while building for mobile platforms: Error running curl
% Total    % Received % Xferd  Average Speed   Time    Time     Time
Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   164    0   164    0     0    357      0 --:--:-- --:--:-- --:--:--
358
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--
0Warning: Failed to create the file
Warning: /appPath/.meteor/local/cordova-build/local-plugins/com
Warning: .phonegap.plugins.PushPlugin.tgz: No such file or directory
curl: (23) Failed writing body (0 != 840)

/usr/local/lib/node_modules/mup/lib/build.sh: line 42: cd: /tmp/789af717-326b-4a82-a235-d172c58e7865: No such file or directory
tar: bundle: Cannot stat: No such file or directory
tar: Error exit delayed from previous errors.

Does anyone have an idea?
Meteor version <IP_ADDRESS>

The solution was removing mobile platforms.
$meteor remove-platform ios
$meteor remove-platform android