Wrap default HTML5 backend

Hi,
I just got an idea I wanted to discuss here: As I see in the source code this DND backend uses mousedown/up/move to also work in desktop machines, but this has some edge cases. I ask myself, if it would be possible to wrap the original HTML5 backend (like some kind of higher order backend) that handles the touch case but also passes the native DND events to HTML5 backend, so that one can have both at a time.
Did someone already try this? Or does this not work with the react-dnd backend interface?

It's certainly possible, the complexity is in event propagation differences between touch events & mouse events, along w/ native interpretation of tap, long tap (bring up context menu) and such. DnD are targeted APIs by browsers so it's easier to assume the intention of the action

What about conditionally loading different backends for different devices. e.g we can check whether device is touch and if it is we can load touch backend and so on. Also doc says that mouse events support is buggy, does anyone know what this exactly means? is it dangerous to use it for production, which is supposed to work on both desktop and touch devices?

Hi,
I just used: ('ontouchstart' in document.documentElement) ? TouchBackend : HTML5Backend and worked but I need to test in more devices

@shotaK the mouse support is buggy in certain edge cases. For ex:
When you "long" touch an anchor tag in touch device, it'll bring up the context menu to bookmark, etc... Now since mouse listens on mousedown, it'll conflict w/ this behavior since you'd have to long touch it to drag it somewhere. If you don't use anchor tag to drag, it should be fine.
In general, long touch depending on which element it is has different behavior. Mouse propagation also works differently as well, so that's definitely an issue.

https://github.com/longlho thanks for the explanation.
I also started loading it conditionally and so far it works great.
import Modernizr from 'browsernizr';

export default DragDropContext(Modernizr.touchevents ? TouchBackend({ enableMouseEvents: true }) : HTML5Backend)(SelectedTilesList);

Unfortunately, this article still seems to be relevant.
Something like Modernizr.touchevents works most of the time, at least. Unfortunately, hybrid devices are kind of screwed, as mouse-based dragging will no longer function.

I don't want to use HTML5 backend because there is no way to disable dragging ghost transparence. Is it possible to create a topic where we can discuss all mouse-related bugs and workarounds when enableMouseEvents was set to true?

You can disable it. You can hide native drag preview alltogether and build a custom drag preview.

Am 21.02.2017 um 09:15 schrieb koutsenko<EMAIL_ADDRESS>I don't want to use HTML5 backend because there is no way to disable dragging ghost transparence. Is it possible to create a topic where we can discuss all mouse-related bugs and workarounds when enableMouseEvents was set to true?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@choffmeister , yes, but that custom preview will have opacity ~0.5 and I can't override that specs-related behaviour...

No.  And then u create a new DOM node which u control with javascript do float next to the mouse cursor.

@koutsenko See https://react-dnd.github.io/react-dnd/docs-drag-layer.html for more information

@choffmeister thanks, okay, what if I use hybrid touch device (laptop with touchscreen). What backend i should use when page loads - react-dnd-html5-backend for mouse\touchpad or react-dnd-touch-backend for touchscreen? They can't work together, and making choice will disable one input type. Seems that second backend can handle both input types. But... there is a notice about mouse-related bugs.

I'm thinking about third-party libs like that , of course, I'll replace findDOMNode by refs, but it's hacky solution also - I must inject into lifecycles of all applications components which take an participance in drag-n-drop operations

It's a bit late, but it seems this guy is doing a good job related to this issue
https://github.com/LouisBrunner/react-dnd-multi-backend


.Net: Bug: Support for Multiple LLMs at Runtime - Does Not Work as Documented

Describe the bug
I want to dynamically use different LLMs at runtime with various connectors, including AzureOpenAI. For example, it should be possible to start a conversation with GPT-3.5 and switch to GPT-4 at specific points. However, the provided code sample in your repository does not work as expected:
https://github.com/microsoft/semantic-kernel/blob/main/dotnet/samples/Concepts/ChatCompletion/Connectors_WithMultipleLLMs.cs
Specifically, I am having issues with setting the ModelID and ServiceId. Additionally, ServiceId is marked as deprecated, adding further confusion.
Currently, the last registered connector is always used, regardless of the specified ModelID or ServiceId.
This is a critical issue for me, as using expensive models like GPT-4 unnecessarily increases costs and energy consumption due to the faulty implementation.
I analyzed the communication using Burp Suite and noticed that the backend always calls the last registered connector, regardless of the ModelID configuration.

To Reproduce

Start a project using the Connectors_WithMultipleLLMs.cs sample from your repository.
Register multiple connectors, including AzureOpenAI with different models (e.g., GPT-3.5 and GPT-4).
Attempt to switch between models during a conversation by setting ModelID or ServiceId.
Observe that the last registered connector is always used, regardless of the configuration.

Expected behavior
I expect the desired connector to be dynamically selected at runtime based on the ModelID. Specifying a ModelID should ensure that the appropriate LLM connector is invoked without overlapping or defaulting to the last registered connector.

Screenshots
(Not applicable)

Platform

OS: Windows 11
IDE: Visual Studio 2022
Language: C#
Source: Latest main branch of the repository

Additional context
I used Burp Suite for analysis and observed that the backend always invokes the last registered connector, ignoring the ModelID. This makes it difficult to selectively use models like GPT-4 for specific scenarios, leading to unnecessary costs and inefficiencies.

@GregorBiswanger Thanks for your feedback.
Initially I did thought similar to you, where I could reuse the same service and override the modelId thru the settings. but this is not the actual behavior of our APIs. According to the design, each service is associated to one model only (early configuration), so, when you provide the modelId in the settings it will pick the service that was added to the kernel for that model.
To have the behavior you expect, (having gpt3.5 and gpt-4) you need to register two OpenAI services for each, and the modelId setting will find the service for your configured model.

Additionally, ServiceId is marked as deprecated

ServiceID is not deprecated is currently experimental and is on track to be promoted. The experimental attribute sometimes is wrongly understood by the IDE as a Obsolete attribute.


Question edit

Adds drag and drop editing functionality to the Question Form.

Make sure you have checked off the following before you issue your Pull Request:

NA Added unit tests for new functionality
[x] Passed all unit tests using rails test with 90%+ coverage
[x] Added cucumber tests for any new functionality
[x] Passed all cucumber tests using bundle exec cucumber
[x] Passed overcommit hooks, including running all code through Rubocop
NA If any database changes were made, run rake generate_erd to update the README.md

Rebased and merged


HBASE-25345 [Flakey Tests] branch-2 TestReadReplicas#testVerifySecond…

…aryAbilityToReadWithOnFiles
Check TEST_SKIP_REPORTING_TRANSITION and if true, skip trying to talk to
update master on state transition -- i.e. reportFileArchivalForQuotas --
as we allow for reportRegionStateTransition (For tests only)

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 38s
Docker mode activated.

_ Prechecks _

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

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

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

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
3m 43s
branch-2 passed

+1 :green_heart:
checkstyle
1m  8s
branch-2 passed

+1 :green_heart:
spotbugs
1m 58s
branch-2 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 17s
the patch passed

+1 :green_heart:
checkstyle
1m  7s
the patch passed

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

+1 :green_heart:
hadoopcheck
11m 41s
Patch does not cause any errors with Hadoop 3.1.2 3.2.1.

+1 :green_heart:
spotbugs
2m  7s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 16s
The patch does not generate ASF License warnings.

33m 15s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2727/1/artifact/yetus-general-check/output/Dockerfile

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

Optional Tests
dupname asflicense spotbugs hadoopcheck hbaseanti checkstyle

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

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 01337e4104

Max. process+thread count
94 (vs. ulimit of 12500)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2727/1/console

versions
git=2.17.1 maven=3.6.3 spotbugs=3.1.12

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 34s
Docker mode activated.

-0 :warning:
yetus
0m  7s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
3m 47s
branch-2 passed

+1 :green_heart:
compile
0m 56s
branch-2 passed

+1 :green_heart:
shadedjars
6m  2s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 37s
branch-2 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 18s
the patch passed

+1 :green_heart:
compile
0m 59s
the patch passed

+1 :green_heart:
javac
0m 59s
the patch passed

+1 :green_heart:
shadedjars
5m 57s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 37s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
140m 11s
hbase-server in the patch passed.

165m 17s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2727/1/artifact/yetus-jdk8-hadoop2-check/output/Dockerfile

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

Optional Tests
javac javadoc unit shadedjars compile

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

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 01337e4104

Default Java
AdoptOpenJDK-1.8.0_232-b09

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2727/1/testReport/

Max. process+thread count
3939 (vs. ulimit of 12500)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2727/1/console

versions
git=2.17.1 maven=3.6.3

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

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 21s
Docker mode activated.

-0 :warning:
yetus
0m  6s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ branch-2 Compile Tests _

+1 :green_heart:
mvninstall
4m 52s
branch-2 passed

+1 :green_heart:
compile
1m 11s
branch-2 passed

+1 :green_heart:
shadedjars
7m 24s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 43s
branch-2 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
4m 30s
the patch passed

+1 :green_heart:
compile
1m 11s
the patch passed

+1 :green_heart:
javac
1m 11s
the patch passed

+1 :green_heart:
shadedjars
7m 21s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 41s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
196m 55s
hbase-server in the patch passed.

228m  7s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2727/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

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

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux d2aa53a646ae 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-2 / 01337e4104

Default Java
AdoptOpenJDK-11.0.6+10

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2727/1/testReport/

Max. process+thread count
2753 (vs. ulimit of 12500)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-2727/1/console

versions
git=2.17.1 maven=3.6.3

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

This message was automatically generated.


cmd/cue: error resolving "net/url": unrecognized import path "net/url"

What version of CUE are you using (cue version)?

$ cue version

https://github.com/cue-lang/cue/commit/b15fcb039af15018e423f4700a4de576f7e4607b
Does this issue reproduce with the latest stable release?
Yes.
What did you do?
❯ go run cuelang.org/go/cmd/cue get go github.com/VictoriaMetrics/operator/api/victoriametrics/v1beta1

What did you expect to see?
Valid CUE types generated from Go.
What did you see instead?
error resolving "net/url": unrecognized import path "net/url"

I guess this is actually https://github.com/cue-lang/cue/issues/648


Develop mechanism for recognizing duplicate layers

There can be a variety of OGC and Esri URL forms that point to the same data on the same server.
There is often an OGC and an Esri version of the same data on the same server.
Cascading can also result in this situation.
In addition there are many copies of a given dataset (census for example) which are served from different servers but provide the exact same service to the end user.
The challenge is to use a combination of machine learning on endpoints and metadata combined with analysis of tiles returned from services, and perhaps combined with feature service requests, to develop a "likelihood of being the same" measure.
This information, combined with uptime and usage statistics could make it possible to provide recommendations to users when a the server behind a layer they are using disappears.  Proper handling of duplicates will also improve search.

We do not need this for 0.3.5 milestone, correct?

yes, not needed for initial worldmap rollout

Moving to 0.4


Back-End Developers - Week - 4

📝 Weekly Report For TNB Team
Basic Details
🏟 Name of the TNB Team: Back-End Developers
📅 Report Date: 03-12-2021
📜 Team Work Report
✅ Accomplishments this week

Lot's of progress on the updated beta architecture https://github.com/thenewboston-developers/thenewboston-node
@Barajas123 getting onboarded to start helping out with the website

🚩 Goals for next week

Continue work on backend beta architecture
Get @Barajas123 up and running and contributing to the Website-API and/or Website
Continued work on the Website-API

🔭 Long term goals

Fully tested, bug free node for digital currency network
Fully tested, bug free website and website API

❗❓ Concerns
None
👨💻👩💻 Team Members Contribution Details
dmugtasimov: 757d598308bf1e2943bd1a9fc34ae7b8951ca864d64228b59e62614b27ddefc4

Lot's of progress on our beta node https://github.com/thenewboston-developers/thenewboston-node

Barajas123: b44503e03ae9cc7831724a3a45ac85e943381dd6172b744316cf6c8a16ccbd5b

Started getting onboarded for the website. Mostly just conversations over Slack DM with myself and @angle943

ThaDeveloper: 3f9b32ffde20179abd0df8a201e1d2ec8e407f62c93bc9e76c110c0d26ad1593

Continued work on the Website API https://github.com/thenewboston-developers/Website-API

🖹 Any Additional Notes (Optional)
None

Notes:
Need to add @ThaDeveloper and @Barajas123 to Teams.csv


Create dependabot.yml

Added dependabot with weekly updates for Github Actions, Maven and Docker

New line at the end is added, Thanks @MikaelEdwartz

Looks like we have a recurring problem with missing newline at the last line in some textfiles.
This is how a line is defined in POSIX standard:
A sequence of zero or more non-  characters plus a terminating  character.
Something for .editorconfig #28 to fix so all developers have this enabled.
Can also be set in IntelliJ directly.

Well noticed @MikaelEdwartz! Amazing dependabot @jLereback 💗


can_use Not Matching Requirements

Currently, spells that summon minions don't have
def can_use(self, player, game):
return super().can_use(player, game) and len(game.current_player.minions) < 7
You don't need enemy minions to use AoE Starfall, you don't need any friendly minions to use Savage Roar, and apparently don't need any minions on board to use Equality.
I am bringing this up because I based Dark Wispers off of Starfall since it has an untargeted and a targeted option, but I keep running into an "AttributeError: 'NoneType' object has no attribute 'change_attack'" when I try to use the buff from Dark Wispers.
Edit: Apparently, I also broke every spare part?

I believe that you can cast Feral Spirit, etc even if you don't have space on the board for them; they just won't have any effect.  As discussed, you can play equality etc on an empty board as well.  In terms of Dark Wispers, I don't know what the issue might be.

I tried with both Mirror Image and the Panther option of Power of the Wild and neither one could be cast with a full board.

Before I close the issue (Cabal still remains),
with the new setup for Choice cards, does the main card need a can_use that is an "or" of the subcards' requirements or is just having the requirements on the subcards sufficient?

I think that for most of the one of cards, the requirements are already taken care of. I think for any  subcards which have different requirements, at least one can always go.  For battlecries, it doesn't matter if they can go or not, since you can always play a minion.

But that's the thing.  Afaik you cannot play Cabal if there is a target for its battlecry but no space for the extra minion, there is an extra requirement put in to cover that case specifically.  I do not own the card to test this but I trust Fireplace's source files and posts like this http://www.reddit.com/r/hearthstone/comments/2q9e4x/can_someone_explain_to_me_why_i_cant_play_the/  You are right that most "Choose One" cards will always have a valid option assuming the main card has a targeting function.  The main exception I can think of is if all minions on the board are untargetable by spells (Faerie Dragon/Spectral Knight/Wee Spellstopper) and your side is full of minions, meaning you can use neither subcard of Dark Wispers.


Send message on event

I currently developing a bot that monitor a websocket and forward messages received to a channel. Your library looks great to does this task and will allow to add more feature but the issue I get with is I don't find how to send a message without being into the context of a command most of the method to do that are a not exported. I would like to know if you have any idea how I can achieve this into a plugin?

Hello @ricksancho, thanks for the interest in this project.
Right now this is not supported, I'll think about the best way to implement that in the near future.
I thought about tricking the bot to execute your plugin using the MessageReceived method, something like:

Write a plugin that responds to a certain command, ex: !forward_msg
Write your websocket handler
Call botInstance.MessageReceived("#channel", "!forward_msg your message", &bot.User{Nick: "Sender Nickname"})

But that would not work, as the bot instance is private in the protocol implementation.

Thanks @fabioxgn, call on MessageReceived with some kind of echo plugin was my first idea, but I come to same conclusion, that would not work due to private instance. I was lacking of idea too on how to patch this nicely and just finish by creating a new bot for this task only (just fwd the websocket message to channel with an irc lib).
If I have spare time I will try to come up with a solution.

I'm actually interested in this as well - if I understand things correctly this would also enable cross-network chatter, ie, have a Telegram bot notify me on certain events / commands from IRC. I suppose you could run several networks in one bot using goroutines and have a channel or mutex for cross-talk, but I'm not exactly sure. I'm pretty new to Go, so there could be a better / more elegant way to handle it.
Either way, in both cases it's a matter of "injecting events in a running stream", right? If not, I'll open a separate issue.

@doenietzomoeilijk yes, somehow it would, but right now each protocol runs on a different bot instance, to to cross chat I think that the easiest way is to make some events public on the bot and then write some kind of router which will receive all the messages from all instances and forward them to the other instances.
It is not impossible to do but will require some work.

@fabioxgn The way I was thinking of - and I'm in no way sure that it's possible, or the best way - was using several goroutines in one bot instance, like so:
func main() {
	go slack.Run("my-slack-token")
	go telegram.Run("my-telegram-token")
	go irc.Run(myIrcConfig)
}

Would that work, or does that create more problems than it solves? Adding a channel argument to the respective Run methods would allow you to use one channel across all networks, I think, similar to this example.
Just thinking out loud, and as I said, I'm new to Go so I could very well be missing some obvious things. :)

@doenietzomoeilijk that will work, it is exactly like that that I run my own bot in production, as you can see here:
https://github.com/fabioxgn/go-bot-heroku/blob/master/main.go#L35
You just can't run the last one in a goroutine or the program will exist, either you wait something or run one of them in the main loop as I do.

@fabioxgn Ah, good to know I wasn't completely off, then. So would creating a channel before starting all the bots, and then providing that as an extra argument to all of them work? Can you "use" a channel from a "regular" routine, in your case the Slack one?

@doenietzomoeilijk yes, it will work, btw that's the way channels are ment to be used, see: https://gobyexample.com/channels

@fabioxgn Excellent, so then all we need is a mechanism for one bot runner to send data to another bot runner, either directed (an IRC bot that explicitely targets the Slack bot running in the same instance) or as a general queue (an IRC bot that stuffs something into a "cross-instance" channel, for the other channels to maybe act upon). However, that requires each bot to know what type it is, and to make that known to plugins so they can act on certain actions on certain network types, but not on others. Alternatively, you'd have to be able to hook up certain plugins to certain bot only, so for example my IRC bot gets catgifs and chucknorris, and my Slack bot gets chucknorris and godoc. Either option has pros and cons, what's your thoughts?

@doenietzomoeilijk The most complicated part is which channel to send the messages to, I think that the implementation will have to solve this either fixing a channel on startup on dispatching a message to the other protocol and the receiver will have to know in which channel to post to.

@fabioxgn Channel as in chat channel or as in go communication channel?

@doenietzomoeilijk chat channel.

OK, gotcha. And yes, you need to know which bot+channel you need to send to. I'm currently somewhat running into this with the quotes-script - I want to keep all the quotes in one database, but keep all the channels apart. That'd be a tad easier if, at command time, I had at least the network type (irc|slack|telegram), and possibly even more info (if I have two IRC bots running I still want to be able to tell apart the two connections).
How open are you to adding more info to the Cmd struct? (And on that note, what's struct incomingMessage for? I don't see it used anywhere?)

@doenietzomoeilijk maybe the correct way to handle this is instead of running multiple bot instances, allow one instance to run several protocols, this will require some major refactorings in the end I think it's the correct way to do.
I run mutiple instances of the bot as it was the easiest thing to do, but when you start adding complexity I think that it's better to do it correctly now than regret it later.
About the incomingMessage I think it is some leftover from a previous version, it is not used.

I'll see what I can come up with in terms of ideas. For now my bot theoretically is limited to IRC anyway, so I want to focus on getting that done; refactorings and multi-network can come after that.

I'm closing this issue as I think there's nothing to be done for now.


Upgrade Administrate to 1.0.0beta

This upgrades Administrate to the 1.0 beta version. I removed the customized layout where we were bringing in Flowbite and Tailwind since it was messing up some of the default Administrate styling. I used a regular select drop-down for the Redacted filter on the Imports page.

@FerPerales this is ready for review.

 I couldn't see what customized styling we had in here that was actually being used anymore.

 I couldn't see what customized styling we had in here that was actually being used anymore.

No. I mean the flowbite UI looks good, but if using it is causing issues with having administrate updated, I'd rather us getting rid of it

Closing in favor of #804. I removed Tailwind and fixed some issues with Flowbite and it seems to be working okay.


Check for title/slug field on config load.

This PR fixes #690 by verifying that folder-type collections have a valid title ("slug"-able) field at CMS load time, instead of when the user tries to save an entry. It also explains how to fix the error.

Deploy preview for netlify-cms-www ready!
Built with commit 8b9afccc32b8a711e0ee1b7f9862d9d4d1cd7bad
https://deploy-preview-1203--netlify-cms-www.netlify.com

Deploy preview for cms-demo ready!
Built with commit 8b9afccc32b8a711e0ee1b7f9862d9d4d1cd7bad
https://deploy-preview-1203--cms-demo.netlify.com

Sweet! Is the WIP label still accurate?

@erquhart I haven't tested it much yet. Also, is this, in your opinion, too big of a change to the backend, or is it good to merge?

It's mostly a refactor, just porting the identifier logic out to a selector, which makes sense, and improving the error message. I haven't given it a thorough review, but it seems merge ready to me.

This is going to need some more work before merge.

@erquhart I think I've fixed all the issues, but it probably deserves a pretty thorough review before merge -- the logic gets changed up quite a bit, it's not just a copy/paste.

Ready for review reminder 😆

Alright I've got it queued.

@tech4him1 mind reviewing this with my commit added on?

Will do.

@erquhart We'll throw every time here, instead of just when the {{slug}} placeholder is used. For example, we had people using only the date to save the file, without a title at all. Even though it is intended to always check, like this PR is doing, do you think it is a breaking change and we should merge into 2.0 instead?

Yeah that makes sense - let's not backport this one if we can get away with it.


Nested slim template not yielding content

Per instructions:
config.rb:
activate :blog do |blog|
  blog.layout = 'article_layout'
end

article_layout.slim:
- wrap_layout :layout do
  article
    == yield

layout.slim:
doctype html
  html
    head
    body
      == yield

expect:

       ....

get:

Does = wrap_layout :layout do work?

I can confirm it does not work.  I am running into the same issue

@tdreyno Any update on this?

I'm doing some issue-gardening 🌿🌷🌾 and came across this issue.
Sorry that this has lingered for quite a while! I'd suggest either closing this issue or submitting a PR with an implementation or at least a failing test.

+1 this is annoying

@sandstrom @tdreyno I don't think another issue needs to be submitted, this is a consistent problem that is still outlined to be able to be one in the documentation.
We have given examples of configurations and how they still don't work.
I have since abandoned Middleman because of the lack of support for such a issue that can't and won't be addressed.

@ethikz I'm sorry that you feel that way.
Middleman, like many other open source projects, is built by the community. There is no company behind it, paying for development.
So, the only guaranteed way of getting a problem solved is to solve it yourself.
In case you cannot (it happens to me quite often, that I know too little to solve an issue), the second-best option is usually to be positive and helpful. For example, by producing a failing test or a boiled-down reproduction of the issue.
It may feel good to complain, but it won't magically solve the issue.

I just left a message regards the blog - which is a core reason of using middleman. this has had no love in months from anyone - there are outstanding pull requests.
So the community is helping but the core developers are not responding or adding the pull requests.
The community can only go so far, but requires communication or a roadmap of what to assist with.
@sandstrom Appreciate your Issue Gardening - maybe do this on the Blog module too please !

@sandstrom I'm not complaining other than simply the fact that whoever built this has built such an ability to allow it to do this.  While it does not work as explained, there is an expectation of better documentation or some sort of idea on how to get it working.
Now onto the comment @iwarner, I see 12 pull requests currently, sure some are failing but there has been no activity in months as stated by previous poster.
I'm not going to keep reiterating things said but going through threads and just saying Issue Gardening is not helpful either.
There is clearly someone in the community who built this who should be able to chime in and help which isn't happening.  Maybe the original developer didn't and someone contributed it but again there is no help in this matter.
Some of us, mainly myself aren't intelligent enough to figure this out since I'm not a ruby developer so even if I could figure it out would be fruitless due to the outstanding pull requests.

I haven't used middleman-blog in years, so, it really falls on the users and companies invested in that specific plugin to continue the support. There have been multiple calls for assistance on the Twitter, and some have pitched in to help. But, basically, blog is a plugin and will always have less focus than the core (unless someone very invested in it were to step up).
Sorry that this has caused frustration.

@tdreyno Thanks for the reply
I think you should look at this page then - https://directory.middlemanapp.com/#/extensions/all and amend the plugins that are now not officially supported then !
When I look at this I would instantly feel that it comes under the supervision of the core team.
I also feel that you should take some responsibility in maintaining a developer subscription to these core modules, at least make a comment in good time on them. about the lack of progress.
Unfortunately I am still not a Ruby developer and a lot of this passes me by, but I love your product and have now used if for several years, I will try and drum some support up.
Can you please make a comment on the ReadMe of the blog, or make me an admin so we can start the process of recruiting some experienced community members to help maintain this code plugin.

I agree with @tdreyno and also agree a lot with @iwarner
It is very disconcerting that on the core of middleman is a list of supported extensions with no activity.  I think it should be the job of the core team to reach out to these developers of these plugins and get updates about their status.
It is this sort of thing that makes it useful only for a handful of things like a static site, which it does great and I love it for it, so to use it for that I will but if blogging is needed I will need to suggest something else.


Chrusher/backfiller/events

Moved the backfiller over to be gevent based to backfill from multiple nodes at once.

Yeah, having the two lengths of backfills should be overkill most of the time. I can think of a couple places where it could be an issue. At the end of a long run (DBfH usually lasts ~160 hours) if you are backfilling the entire run, it is a decent number of hours to backfill (over 300 assuming two versions of the stream). Depending on how long it takes for a single hour to be done this could start to be a long amount of time. Based on my testing with two nodes on the same LAN, a backfill without fetching any segments takes about 100 ms which would be fine (a full backfill would be ~30 s) but if each hour takes significantly longer the total time would also start to become unmanageable. Real life testing of the system across widely separated nodes will provide us with how long it can take to backfill.
The other issue comes if you spin up a completely new node at the end of the week. The first backfill will take a long time to copy all the hours. However, since the backfiller ignores the most recent 60 s to prevent competing with the downloader, some of the most recent segments will get missed the first time around and will potentially not get backfilled for a while. Again, real life testing will reveal how long it takes to backfill a full hour worth of segments.
An easy fix to both issues to limit the backfills to the last N hours while retaining the ability to manually backfill older segments as needed.

I've tried to address your comments and suggestions in the pushed changes.
I've simplified the behaviour backfiller considerably to only have one backfiller mode. I've added some options to main() to make up for this though. First, the backfiller can be run only once via run_once. Second, the option start allows you to limit the backfills to either the last N hours if start is a number or to hours since a time if start is a datetime.
I've added error handling code to the workers. If a backfill fails, the worker will retry while geometrically backing off.
I've rewritten get_nodes() to allow the list of nodes to set when main() is called (via the option static_nodes), fetched from a file (node_file) or from a database (node_database). These are not exclusive and the first two work (the database one is just a stub for now). I've already found reading the nodes from a file to be quite useful for testing.
The backfiller now handles multiple channels via multiple managers (via code copied from the downloader).


overzZzealous: Non-lazy Semantics of || and && in Plutus Core

Hi there,
While developping tools with Hachi, we noticed something that we believe is a bug in the compiler from Plutus to Plutus Core.
Best,
Nicolas
EDIT: It seems to not be considered a bug. Since we believe it will still come up regularly in issues here and there, we decided to give this peculiarity the sweet name of “overzZzealous”. See also our blog post on the topic.
Area

[x] Plutus Foundation
[ ] Plutus Application Framework
[ ] Marlowe
[ ] Other

Summary
The compiler from Plutus to Plutus Core seems to compile || and && as non-lazy, that is where the right-hand side is evaluated regardless of what the left-hand side evaluates to.
Steps to reproduce
In general:

Take any Plutus code that runs on-chain.
Introduce side-effects on the right of a || or &&. (eg. if True || error () then do_something else True)
Observe that the side-effect is triggered.

More guided, within the Plutus Application Backend (PAB) example:

Clone the input-output-hk/plutus-starter project.
Follow the README to setup the project and to play the game with the PAB. Check that everything works: you get a validation error if you guess wrong, and the transation is validated if you guess right.
Update validateGuess in ./examples/src/Plutus/Contracts/Game.hs to introduce an error () side-effect on the right of an ||. We suggest to use: validateGuess hs cs _ = if True || error () then isGoodGuess hs cs else True.
Play the game again and observe that you get a validation error whether you guess right or wrong.

Check our fork of the Plutus Platform starter project for a more guided version, including Shell scripts to play and modify the code in your place.
Expected behavior
We would expect || and && to be lazy and to only evaluate their second argument only if the first one evaluates to False and True respectively. This expectation is based on the fact that it is the case in a lot of languages and therefore we believe programmers will expect this as well. Moreover, it seems to be the case both in Haskell and in off-chain Plutus.
System info
Tested on several machines, all with latest Plutus.

1:

OS: NixOS 21.05, up-to-date as of Friday, October 15th, 2021.
GHC: 8.10.4

2:

OS: MacOS 11.6
GHC: 8.10.4

Attachments
See our blog post on the topic: overzZzealous: the Peculiar Semantics of || and && in Plutus Core.

Is there a reason why that is?

Booleans aren't a special type either. Booleans and their functions are compiled just like any other datatypes and functions, there's no special handling.

We had some time to revisit the issue today and did a quick check on this cheapCheck || expensiveChecks example at plutus-use-cases:
https://github.com/HachiSecurity/plutus-use-cases/pull/1/files
This innocent-looking code might require over 1.5 times more resources than an unnatural-looking if-then-else.
-- || is surprisingly way more expensive!
isUpdateValid = (not isCurrentValueSigned) ||
    (fromMaybe False $ validateGameStatusChanges <$>
    (osmGameStatus <$> extractSigendMessage (ovSignedMessage oracleData)) <*>
    (osmGameStatus <$> extractSigendMessage outputSignedMessage))

-- if-then-else is way cheaper!
isUpdateValid = if not isCurrentValueSigned then True else
    (fromMaybe False $ validateGameStatusChanges <$>
    (osmGameStatus <$> extractSigendMessage (ovSignedMessage oracleData)) <*>
    (osmGameStatus <$> extractSigendMessage outputSignedMessage))

We calculate the required budget using writeScriptsTo as documented in the official how-to.
writeScriptsTo
  (ScriptsConfig "." (Scripts UnappliedValidators))
  "updateOracleTrace"
  Spec.Oracle.updateOracleTrace
  def

The difference is rather significant:
-- With `||`:
( Sum {getSum = 9539}
, ExBudget {exBudgetCPU = ExCPU<PHONE_NUMBER>, exBudgetMemory = ExMemory 3152700}
)

-- With `if-then-else`:
( Sum {getSum = 3531}
, ExBudget {exBudgetCPU = ExCPU 698345767, exBudgetMemory = ExMemory 2069978}
)

When the quick check is satisfied, the strict || still evaluates the heavy-weight right-hand side that yields a much larger script and requires over 1.5 times more resources than a short-circuit solution in if-then-else. The behaviour might be extremely costly and wasteful had a frequently updated oracle feed falls into this case.
The worst part is that we had no clues about this behaviour until we diligently built a PLC concolic execution engine. Otherwise, we would write such wasteful code ourselves, given how natural that code looks like. hlint itself suggests the change!
src/Contracts/Oracle/OnChain.hs:(136,21)-(139,69): Warning: Redundant if
Found:
  if not isCurrentValueSigned then
      True
  else
      (fromMaybe False
         $ validateGameStatusChanges
             <$>
               (osmGameStatus
                  <$> extractSigendMessage (ovSignedMessage oracleData))
             <*> (osmGameStatus <$> extractSigendMessage outputSignedMessage))
Perhaps:
  not isCurrentValueSigned
    ||
      (fromMaybe False
         $ validateGameStatusChanges
             <$>
               (osmGameStatus
                  <$> extractSigendMessage (ovSignedMessage oracleData))
             <*> (osmGameStatus <$> extractSigendMessage outputSignedMessage))

We'd love to help document and communicate the behaviour to end developers. We'll add another example with dangerous side-effects, search for deployed scripts with the expensive/side-effect patterns, and implement a fix if the team decided on any.

Plutus Core is a strict language, for better or worse at this point. Yes we need to communicate that better, I agree. Possibly we just need an explainer piece in the documentation.

We've already been writing a blog post documenting this topic in more depth. If it's welcomed I can port the content rewritten in formal documentation style to a PR somewhere appropriate.
I've talked to a few developers and they're probably going to rewrite all || and && with if-then-else or case-of like Edmund did.
Code like quoted below would become very hard to read, but most products desire cheaper transaction fees, even faster off-chain validations (few users would run their own node, and project nodes are already accompanied with a currently-still-slow chain index and all the extra infrastructure required) at the moment. Alternatively, developers can compile with an ad-hoc fork that has an extra commit that compiles || and && lazily. We will not convince people which is the way, just let the developers decide based on their needs.
https://github.com/input-output-hk/plutus-apps/blob/c3676cfe11bcd8512d7353ee337de8e84c7f2278/plutus-use-cases/src/Plutus/Contracts/Swap.hs#L133-L163
    ...
    iP1 :: TxInInfo -> Bool
    iP1 TxInInfo{txInInfoResolved=TxOut{txOutValue}} = ...

    iP2 :: TxInInfo -> Bool
    iP2 TxInInfo{txInInfoResolved=TxOut{txOutValue}} = ...

    inConditions = (iP1 t1 && iP2 t2) || (iP1 t2 && iP2 t1)

    ol1 :: TxOut -> Bool
    ol1 o@TxOut{txOutValue} = ...

    ol2 :: TxOut -> Bool
    ol2 o@TxOut{txOutValue} = ...

    outConditions = (ol1 o1 && ol2 o2) || (ol1 o2 && ol2 o1)

in inConditions && outConditions

In conclusion, most developers I've talked to agree that this is very nice to have, but not critical at the moment. They would love us to reduce script sizes more, for instance. Let's document it nicely and move on for now I guess.

I've defined possible solution to clumsy if-then-else expansion with TH.
We can use TH to transform and and or expressions to boring long versions that implement short circuit.
Here is PR #4191

@anton-k Awesome! That is definitely useful in several use cases :+1:.

I may be a outlier here, but I don't think it makes any sense to compile GHC Core as though it were for a strict language. It would make much more sense to me to treat it as exactly the language it is, and to expect user-written code to be as strict as it should be. Doing this efficiently does mean changing some datatypes. For example, a builtin list read from the blockchain should be encoded as an entirely strict list. Eventually, it will make sense to use unlifted datatypes (9.2.1 doesn't handle those right for worker/wrapper; the fix might get backported for 9.2.2). But the current approach is much too wild. Perfectly reasonable core2core transformations can produce wildly different performance in Plutus, and there are all sorts of horrible hacks to try to avoid that.

@treeowl I don't think you're an outlier. I think it's pretty arguable that the approach we take isn't the best one. One alternative would be what you expect: get users to write strict Haskell if they want strict Plutus Core. But this also leaves people lots of scope for footguns in terms of making things less trict than they meant to. And, as you point out, doing it in a systematic and principled fashion would really need UnliftedDatatypes, which is some way away from being usable in practice, I fear. Maybe we could get away with making things generally non-strict, but I'm pretty wary.

@michaelpj, yes, there would be footguns, but I think a lot fewer than there are now. This is just too wild to be able to program. Have you been able to take a look at some of my recent questions in #4206? I could use a bit of help.

Hachi team had a detailed writeup on this issue at https://blog.hachi.one/post/overzzzealous-peculiar-semantics-or-and-plutus-core. Hopefully, this raises more awareness in the Cardano community, helping developers to avoid the problem and write more efficient validator scripts.

Hachi team had a detailed writeup on this issue at https://blog.hachi.one/post/overzzzealous-peculiar-semantics-or-and-plutus-core.
Hopefully, this raises awareness in the Cardano community, helping developers to avoid the issue and write more efficient validator scripts.

this definitely raised awareness and there were some unexpected behaviors with our && operator inside a validator. We'll report back with more information once we apply the knowledge shared in the article if it was really a problem of Plutus Core or was it on our side.

Since it is not an issue but the correct semantics, I suppose we can close this issue?

I'm annoyed by the problem and want to keep the issue open until we come to the conclusion that we don't care.

Fixed by https://github.com/cardano-foundation/CIPs/pull/469

The above CIP in fact also fixes the issue with expensive1 || expensive2 being suboptimal.

You can just have a RULE for it @effectfully


Branch 120724543

Can one of the admins verify this patch?

@tensorflow-jenkins test this please

Regarding the quantization related errors, please make another push from internal. There is a recent CL (120733385) that fixes it.
We'll also have to look into the remaining errors.


allow multiple files_tool_type for OpenAI Assistants API

Deep-chat 2.0 added support for v2 Assistants API. It also changed how uploaded files are handled. https://github.com/OvidijusParsiunas/deep-chat/issues/190#issuecomment-2138206061 Now there is a files_tool_type parameter that determines which tool operates on file uploads. So instead of letting OpenAI decide which tool to use, all uploaded files are handled by the tool set by the parameter. This means ALL uploaded files can only be handled by one tool. We want it to be based on the file and what the user asks. For example, uploaded images should be passed to the gpt-4o for vision. Other files such as excel and csv the user might want visualized via code_interpreter. PDFs and .docx files they may want summarized via file_search.
Would this be possible to refactor to reenable this functionality, the way it was before deep-chat 2.0? If so, I could start to work on a PR.

Hey @bruffridge.
The files_tool_type property allows you to pass a function which you can use to determine which tool you want to use for the uploaded files.
I believe this is why you closed the PR, but want to make sure.
Thanks!


Where is the installer?

Trying to install this GUI, but in the install folder, there is no installer?
Alternatively, where do I put the folder if it can be done manually?
Thanks!

Were you looking for the releases page?

Solved. Thanks. However, could not say that about Flexasio. No sound input achieved.
Kind regards
Carl Henrik
From: Etienne Dechamps<EMAIL_ADDRESS>Reply to: flipswitchingmonkey/FlexASIO_GUI<EMAIL_ADDRESS>Date: Tuesday, 2 March 2021 at 13:13
To: flipswitchingmonkey/FlexASIO_GUI<EMAIL_ADDRESS>Cc: chjan<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [flipswitchingmonkey/FlexASIO_GUI] Where is the installer? (#12)
Were you looking for the releases page?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

If you're having an issue with FlexASIO you might want to open an issue against FlexASIO, not FlexASIO GUI.

indeed.
From: Etienne Dechamps<EMAIL_ADDRESS>Reply to: flipswitchingmonkey/FlexASIO_GUI<EMAIL_ADDRESS>Date: Tuesday, 2 March 2021 at 19:43
To: flipswitchingmonkey/FlexASIO_GUI<EMAIL_ADDRESS>Cc: chjan<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [flipswitchingmonkey/FlexASIO_GUI] Where is the installer? (#12)
If you're having an issue with FlexASIO you might want to open an issue against FlexASIO, not FlexASIO GUI.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


acorn binary chokes on hashbangs

Whenever acorn's binary sees a hashbang, it throws an error.
I don't know if that is intended or not, but it is really inconvenient when checking binary scripts for syntax errors.

Hello,
Why do you remove #! in the comment ?
It is impossible to find the hashbang in comments because:
#! /usr/bin/env node

and
// /usr/bin/env node

are giving the same result in comments : /usr/bin/env node
How do you know if a hashbang has been added to comments ?
Thanks in advance for your help.


Adding question in 1d Array

I want to add the question of the Rotate Array in the database of One Dimensional array. Link to the question https://leetcode.com/problems/rotate-array/

This problem is already present, please check the code base.

This problem is already present, please check the code base.


Exclude an activemq5 openwire test that purely tests on client side

The tests are all test client side behavior, not relevant to broker functionalities.

I'll close that PR. There may be other such tests and I'd like to put them together.

You could have rebased your branch instead of closing / open a new one.

It's strange that after I did a forced push, the PR can't be reopened (the button is greyed out).


Added log feature

What issue are you solving? (Give #issuenumber)
#32 (Add a logging feature)
How do you solve it? (please write this so a human can understand it - bulletpoints are okay)
Made the following changes.
ProgressGUI class:
--added logname attribute to the class
--added a button with the text "Make log entry" to button_layout which calls the function log_entry
--added function log_entry which opens a window with text box to allow the user to make a log entry. Window has three buttons: "save" to save to the log by calling the update_log_file function, "clear" to clear text in the text box, and "close" to close the window
UsernameGUI class:
--added a function update_log_file which appends a log entry to a given log file, placing a timestamp above the entry
--edited the main() function so that it automatically creates an empty log file for new users. This file has the name "[username]_log.txt"
If there is something specific in your solution, that you would like the reviewer to give feedback on, tell us here:
I changed the main routine so that a new user now automatically has an empty log file created for them. I thought this was the easiest way, but I am open to other suggestions.
A user can update the log as many times as he/she wishes. Again, I am open to other suggestions.
If this is your first pull request to the prog-o-meter project, we would really appreciate it if you would fill out this Google form.
This lets us know more about our contributors, and what we can do to make it easier and nicer to contribute to the prog-o-meter project.
Please submit your answer here and put an 'x' in the box below.

[ X] It is my first pull request to prog-o-meter, and I have answered the survey

Hey, thanks for your contribution, it's gonna be a really nice addition to the program. Check out my review above. Just a few suggestions about the code as it is right now. I have not been able to actually test it, so I'll do another review when I will be able to test the code :)

hey @sdkwok can I get you to maybe take a screenshot of the bar in the bottom where you solved your line issue? It will be useful for me to have in the future, and it might be able to help with one of the current PR's. You can either just add it here, or email it to<EMAIL_ADDRESS>

Here it is. I am using Atom, the relevant icon is at the very bottom, at the right side: "LF". If I click on that, I can adjust the carriage return characters to be either Unix ("LF") or Windows ("CRLF").

THANKS!


communities: document REST API POST

Needed this to communicate with colleagues.

I'd suggest we perhaps just merge as-is, and update end of the month once v9 goes out

I will make the changes I can now, and then I'd be happy to update at end of month if more changes needed then.


Change AdminDashboard UI and fix updating member expiration date

Shows membership expiration date in dropdown menu when editing user's membership expiration as admin.

New AdminDashboard landing page UI and modified navbar links

Also put writeToSQS in a new folder called tools


added mock data json and WIP Server

I had added styles for login and sign up page. I have started the schema with mongoose. Requires npm Install for new npm packages


Sprite bounds are always square

When attempting to detect collisions using sprite bounds (e.g. Sprite.contains(x, y) and Sprite.overlaps(Sprite2)), the bounds behave as if they are square, even when the height is correctly configured.
You can observe this by downloading the test project: hover above or below the sprite, and it will turn gray. The second sprite also turns red when it overlaps the first. This happens despite the sprite bounds' width and height being explicitly set, and the image itself having dimensions of 64x16.
brokenBounds.zip

Well spotted!  Fix pushed.


Custom file

I was wondering what the rationale is for not loading the custom file if present. The Readme goes as far as claiming that “If you choose to follow this pattern [writing the config by hand], you will not need to load the custom.el file ever”. AFAICS this is not true, because some packages use custom-set-variables to store persistent information. This includes, to mention only built-ins:

Variables marked as safe to execute
Org agenda files
List of manually installed packages (as opposed to dependencies) with package.el
Suppressed warnings (warning-suppress-types).

I'm particularly curious about safe-local-variable-values. So one is just not able to permanently mark a dir-local variable as safe with this config?

I read through most of the custom.el (and associated cus-*.el files) to track through how customizations are working. It is possible I missed something, but what I understand from that research is what is stated in the README.org for this project.
One thing I was curious about was disabled commands, for example narrow-to-region. I created a simple .emacs file in a virtual machine with only 1 line: (customize-set-variable 'custom-file (expand-file-name "custom.el" (getenv "HOME"))). Then I restarted emacs, selected a region and typed C-x n n which called up the disabled command warning. I pressed y to enable the command and save it for later so I don't get asked about it again. The result was (push 'narrow-to-region 'disabled nil) inserted in the .emacs file, not the custom.el file. Since the initialization file is always loaded, disabled commands, when enabled and persisted, will continue to be enabled without having to load custom.el.
warning-suppress-types and safe-local-variable-values are both defcustom values which can be set using customize-set-variable in your configuration. org-agenda-files is a defcustom variable that can be set using customize-set-variable as well, still without needing to actually load the custom-file.
However, if those are set through the Customization UI, those values are definitely set in the custom-set-variables form and persisted to the custom-file which, if not loaded in your config, would not be set when you start a new Emacs session.
In the end, it really depends on how you set these variables as to whether they are persisted in the custom-file and whether you need to load that file in your config.
I am happy to do further research on this, would you be able to provide use-cases for the list you provide in this issue with detailed examples (ideally the steps you take to set each) of how you are setting those values? If I missed something about how customization works, I definitely want to figure that out and update the README.org so it is accurate.

The result was (push 'narrow-to-region 'disabled nil) inserted in the .emacs file, not the custom.el file.

I guess you mean put, not push. The disabled command feature is governed by symbol properties, so it's a bit of an exception. Let's not discuss those.

warning-suppress-types and safe-local-variable-values are both defcustom values which can be set using customize-set-variable in your configuration. org-agenda-files is a defcustom variable that can be set using customize-set-variable as well, still without needing to actually load the custom-file.

That's right. Let's take org-agenda-files as an example. You can setq it to some value in your init file and commit that under your version controlled configuration. Same agenda files “forever” and on every machine you use. That's alright.
But other workflows are possible. Maybe you don't want to sync agenda files across all your computers. Or maybe instead of a few big agenda files that never change, one may use smaller files (say one per project) that change all the time or depend on the machine. So you don't want to version control that list. Instead, you will use M-x org-agenda-file-to-front and M-x org-remove-file to manage the list of agenda files. If you do that and don't load the custom file, your changes will not persist.

I am happy to do further research on this, would you be able to provide use-cases for the list you provide in this issue with detailed examples (ideally the steps you take to set each) of how you are setting those values?

I think the best example are dir-local variables. You know what I mean, right? Just create a dir-locals.el in some directory and add some variable that is not ”safe as a file-local variable”. For instance  comment-fill-column or the executable name of some interpreter or other program. You will be asked if you want to apply the variable and whether to mark it as safe:
Do you want to apply it?  You can type
y  -- to apply the local variables list.
n  -- to ignore the local variables list.
!  -- to apply the local variables list, and permanently mark these
      values (*) as safe (in the future, they will be set automatically.)
i  -- to ignore the local variables list, and permanently mark these
      values (*) as ignored

If you don't load the custom file, the ! will just not work.  If I move the a new machine, I'll just accept again the values as I get asked.
So, in short: I think it's not a good practice to not load the custom file when it exists. Some packages and built-in features use it to persist data.

I guess you mean put, not push. The disabled command feature is governed by symbol properties, so it's a bit of an exception. Let's not discuss those.

d'oh! Yes, I meant push

But other workflows are possible. Maybe you don't want to sync agenda files across all your computers. Or maybe instead of  a few big agenda files that never change, one may use smaller files (say one per project) that change all the time or depend on the machine. So you don't want to version control that list. Instead, you will use M-x org-agenda-file-to-front and M-x org-remove-file to manage the list of agenda files. If you do that and don't load the custom file, your changes will not persist.

Interesting, not a workflow I was aware of. I appreciate the description, might even have to try that out. It still seems like you might put "common" directory (ala ~/org) on the org-agenda-files list regardless of what system you happen to be on since all org files in that directory would be added as agenda files... but poping agenda files forward and then later removing them would still be an issue if it is writing to the customization system and eventually persisted to the custom-set-variables form.

I think the best example are dir-local variables. You know what I mean, right? Just create a dir-locals.el in some directory and add some variable that is not ”safe as a file-local variable”. For instance comment-fill-column or the executable name of some interpreter or other program.

Yep, I use dir-local values from time to time, but I just answer 'Y' because I want to be prompted each time so that I look and remember what I had setup. I don't use ! to remember my decision that these are safe from now on, so I never see this in my custom-set-variables form.

So, in short: I think it's not a good practice to not load the custom file when it exists. Some packages and built-in features use it to persist data.

I appreciate your opinion, and the information you have provided here. Naturally I can't predict how any one will use Emacs in their day-to-day activities, and there is no intention to do so anyway. And, of note, Rational Emacs does not keep you from loading the custom-file in your own configuration.
So, not loading it by default is based on a) it duplicates work already done thus wasting time during startup, b) because of (a) you generally don't need to load it, c) its a little risky to load it if duplicate variables exist with different values (last one wins), and d) anyone who needed it could load it when they chose.
We could load the custom-file in the after-init-hook which would at least load it last, but we should also store the values set during the init process so the most current values are in the custom-set-variables before it is loaded from the custom-file. This will, of course, slow down startup times but it may not be noticeable. I'll look into it. Or, if you have a PR... ;-)

Ok, simplicity itself... I'll provide a PR for this in the morning. Took me 5 minutes to code and less time to test. Easy-peasy.

@astoff I have submitted a PR, I'd appreciate your feedback.

All right, the Readme explanation looks good to me, the code too. (I guess I'd simply load the custom file at the end of init.el, not in the after-init hook. but I presume you have a reason for doing it the that way). Thanks!


Any plan to merge PutTextUnicode into shimat's upstream repo?

Seems hard, because it's already too complexed.

Hi @sdcb
currently the native implementation of PutTextUnicode in OpenCvSharpSlim is written by me.
frankly speaking, It's been several years since I finished it. but it only works on windows platform.
on the contrary, OpenCv can work on many platform.
that's why I didn't make this feature into @shimat's upstream repo.
what's your opinion on this?

just curious, Windows only, so is it Direct2D or FreeType?


[Bug]: How can we download the OpenSearch min artifacts for windows

Describe the bug
Note; this the windows platform specific security demo script https://github.com/opensearch-project/security/pull/2161
We are trying to setup builds and validation of OpenSearch for the Security Plugin, ./gradlew.bat build functions on a windows machine, but need the minimum artifact, just like how they are obtained for linux with
opensearch_version=`./gradlew properties -q | grep "opensearch_version:" | awk '{print $2}' | sed 's/-SNAPSHOT//g'`
wget https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/$opensearch_version/latest/linux/x64/tar/builds/opensearch/dist/opensearch-min-$opensearch_version-linux-x64.tar.gz

I assume there would be a pattern that would look something like the following.  Is there a url we can use to get these artifacts?
[1] Possible windows artifact pattern https://.ci.opensearch.org/ci/dbc/distribution-build-opensearch/$opensearch_version/latest/_windows/x64/zip/_builds/opensearch/dist/opensearch-min-$opensearch_version-windows-x64.zip
Notes
I Inspected a recent 3.0.0 build, https://build.ci.opensearch.org/job/distribution-build-opensearch/6226/flowGraphTable/  Do not see a step where artifacts are uploaded.

@peterzhuamazon has added the links to the -min artifacts here

Thanks @bbarani it looks like we can get https://artifacts.opensearch.org/snapshots/core/opensearch/2.4.0-SNAPSHOT/opensearch-min-2.4.0-SNAPSHOT-windows-x64-latest.zip can keep us unblocked.
I notice this is different than the previous urls we were using prefixed with https://build.ci.opensearch.org/job/distribution-build-opensearch/, should we broadly us one over the other?

FYI @scrawfor99 ^

@peternied unblocked, link available now.
Thanks.

I notice this is different than the previous urls we were using prefixed with https://build.ci.opensearch.org/job/distribution-build-opensearch/, should we broadly us one over the other?

Can we please keep this open until we have an answer to this question?

Agreed, I'll reopen.

Hi @peternied, the snapshots are accessible via artifacts.opensearch.org. However for other components like plugin zips, etc https://build.ci.opensearch.org/job/ was used.
More details in README https://github.com/opensearch-project/opensearch-build/blob/main/README.md#min-snapshots

Thanks @gaiksaya, glad to see this is documented!  According to the documentation there are two different ways to get artifacts, Latest Distribution Url vs Min Snapshots.  Are these functionality the same, or are there considerations teams should have to use one vs the other?

The latest distribution url  is more towards distribution artifacts like tarballs, zips, manifest where as the Min Snapshots only focuses on min artifact will always be latest as it gets overridden in each run. I hope this helps.

Cool, so it seems like for our build processes we should use the latest distribution url.  It looks like the windows build isn't being published to that bucket.  Can we use this issue to track that we need to update the build process to mirror the linux builds that are being published

Cool, so it seems like for our build processes we should use the latest distribution url. It looks like the windows build isn't being published to that bucket. Can we use this issue to track that we need to update the build process to mirror the linux builds that are being published

It is already published as part of the bundle build.
The artifacts path is more of a old method before ci being introduced.

Does that mean there is a modification to the following URL that will get the latest windows build? https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/6234/windows/x64/zip/builds/opensearch/dist/opensearch-min-3.0.0-windows-x64.zip
Could you help me figure out what that url is?

@peternied it should follow the below format but it looks like we don't have successful full distribution build for 3.0 yet but the below URL works for 2.3.1 at this point in time. @peterzhuamazon can you please confirm?
https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/2.3.1/latest/windows/x64/zip/dist/opensearch/opensearch-2.3.1-windows-x64.zip

@scrawfor99 Checkout the most recent comment [1] to see how we can get the current windows build url
[1] https://github.com/opensearch-project/opensearch-build/issues/2754#issuecomment-1286244248

Issue seems resolved for me, thanks for all the help tracking this down


feature: server migrate to different mountpoint storage

这个 PR 实现什么功能/修复什么问题:
feature: server migrate to different mountpoint storage
支持迁移到挂载点不一样的storage
是否需要 backport 到之前的 release 分支:
release/2.10.0

/cc @swordqiu @Zexi
/area region host

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@f28cecd). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             master   #2162   +/-   ##
========================================
  Coverage          ?    7.1%
========================================
  Files             ?     451
  Lines             ?   70787
  Branches          ?       0
========================================
  Hits              ?    5029
  Misses            ?   65346
  Partials          ?     412

Flag
Coverage Δ

#aFlag
7.1% <ø> (?)

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 f28cecd...fc70411. Read the comment docs.

/lgtm

/approve


ACC does not include HTTPS (443) port in the prepared declaration

Environment

ACC Version: latest (1.19.2)
AS3 Version: 3.33.0
BIG-IP Version: <IP_ADDRESS> & BIG-IP NEXT

Summary
When a Virtual Server is configured with both:

default HTTPS (443) port
and HTTP profile
there is no virtualPort key in the output produced by ACC.

This declaration can be successfully deployed by AS3 on both BIG-IP and BIG-IP NEXT but it is not working on BIG-IP NEXT due to the lack of virtualPort option specified:
RST cause: [27d50f7:2487] No local listener
Additional info:

if the same service is configured without an HTTP profile and with port 443, the key "virtualPort" is present in the declaration produced by ACC
if the same service is configured with an HTTP profile but with a different port (e.g. 444), the key "virtualPort" is also present in the declaration produced by ACC

Steps To Reproduce
Steps to reproduce the behavior:

Convert the following config (IP:port is specified in config - <IP_ADDRESS>:443):

ltm virtual /Common/vs_https {
    creation-time 2022-04-14:02:26:10
    destination /Common/<IP_ADDRESS>:443
    ip-protocol tcp
    last-modified-time 2022-04-14:02:40:51
    mask <IP_ADDRESS>
    pool /Common/web_pool
    profiles {
        /Common/clientssl {
            context clientside
        }
        /Common/http { }
        /Common/tcp { }
    }
    source <IP_ADDRESS>/0
    translate-address enabled
    translate-port enabled
}

Declaration without "virtualPort" key is produced:

[root@centos8 master]# docker run --rm -v "$PWD":/app/data f5devcentral/f5-automation-config-converter:latest --ucs /app/data/as3_virtualport_http_profile.ucs --debug | grep vs_https -A20
            "vs_https": {
                "layer4": "tcp",
                "pool": "web_pool",
                "translateServerAddress": true,
                "translateServerPort": true,
                "class": "Service_HTTPS",
                "serverTLS": {
                    "bigip": "/Common/clientssl"
                },
                "profileHTTP": {
                    "bigip": "/Common/http"
                },
                "profileTCP": {
                    "bigip": "/Common/tcp"
                },
                "redirect80": false,
                "virtualAddresses": [
                    "<IP_ADDRESS>"
                ],
                "snat": "none"
            }
[root@centos8 master]#

However, If port 444 is configured instead of 443, "virtualPort" key is included in ACC output:

[root@centos8 master]# docker run --rm -v "$PWD":/app/data f5devcentral/f5-automation-config-converter:latest --ucs /app/data/as3_virtualport_http_profile_444.ucs --debug | grep vs_https -A21
            "vs_https": {
                "layer4": "tcp",
                "pool": "web_pool",
                "translateServerAddress": true,
                "translateServerPort": true,
                "class": "Service_HTTPS",
                "serverTLS": {
                    "bigip": "/Common/clientssl"
                },
                "profileHTTP": {
                    "bigip": "/Common/http"
                },
                "profileTCP": {
                    "bigip": "/Common/tcp"
                },
                "redirect80": false,
                "virtualAddresses": [
                    "<IP_ADDRESS>"
                ],
                "virtualPort": 444,
                "snat": "none"
            }
[root@centos8 master]#

Deploy AS3 declaration with vs_https service on BIG-IP NEXT and try to connect from the client (there is RST cause: [27d50f7:2487] No local listener)
NOTE: if we explicitly add virtualPort: 443 to the declaration, the vs_https on BIG-IP NEXT can be accessed.

Expected Behavior
I think the expected behavior should be to copy a port of a service if it is present in the original config (even if it is the default one)
Actual Behavior
If Virtual Server is configured with an HTTP profile &  default HTTPS (443) port - the virtualPort key is not included in AS3 declaration produced by ACC

AS3 schema for BIG-IP includes the defaults for virtualPort in Service_HTTPS class: https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/refguide/schema-reference.html#service-https

Unless specified otherwise, ACC will use the AS3 schema to remove default values from the results to reduce the amount of noise. This behavior can be overridden using the --extended flag.

With --extended port is available in AS3 declaration
{     "class": "ADC",     "schemaVersion": "3.36.0",     "id": "urn:uuid:e06fc34a-231e-47f1-b779-245ebf46b0c2",     "label": "Converted Declaration",     "remark": "Generated by Automation Config Converter",     "Common": {         "class": "Tenant",         "Shared": {             "class": "Application",             "template": "shared",             "vs_https": {                 "layer4": "tcp",                 "pool": "web_pool",                 "translateServerAddress": true,                 "translateServerPort": true,                 "class": "Service_HTTPS",                 "serverTLS": {                     "bigip": "/Common/clientssl"                 },                 "profileHTTP": {                     "bigip": "/Common/http"                 },                 "profileTCP": {                     "bigip": "/Common/tcp"                 },                 "redirect80": false,                 "virtualAddresses": [                     "<IP_ADDRESS>"                 ],                 "virtualPort": 443,                 "snat": "none"             }         }     } }
I think it can be closed


Resize webview will lead to crash in v0.30.3

When I open a page that includes a webview, and resize it, it will crash.
To reproduce this:

create a browser window
add a webview in it:

<html>
    <head>
        <title>Fireball-x Editor</title>
    </head>

    <body>
        <webview id="view" src="webview/index.html"
            nodeintegration
            disablewebsecurity
            autosize="on"
        ></webview>
    </body>
</html>

Keep resizing the window  by mouse

It will crash afterward.
I test this on Mac OSX with Electron v0.30.3. It is ok when I switch to v0.30.2

I can confirm this with my app. My app's functionality relies heavily on webview and resizing the app crashes it using Electron 0.30.3.

Comfirm this with my app also.

Confirm with my app also.
It only occurs when 'src' attribute for the webview tag is set.
Case 1: No 'src' attribute set (doesn't crash)
<webview id="wv"></webview>

Case 2: 'src' attribute set (crashes)
<webview id="wv" src="http://www.github.com"></webview>

Case 3: 'src' attribute set via Javascript (crashes)
<webview id="wv"></webview>

document.getElementById("wv").src = "http://www.google.com";

Thank you @zcbenz, 0.30.4 fixes this issue!!!


[WIP] Add rudimentary downsampling for m3coordinator

@xichen2020 @nikunjgit no feedback before I start productionizing this?

Did a pass with a focus on the aggregator related logic and some of the query logic, @nikunjgit can probably do a more thorough review on the query part.

Deprecating in favor of new downsampling PR https://github.com/m3db/m3db/pull/796, now that the multi-cluster support has landed.


Pagination localization causing Array to String error

Laravel Version: 9.8.*
PHP Version: 8.0.0
Database Driver & Version:

Description:
There are some localization issue inside laravel/framework/src/Illuminate/Pagination/resources/views/tailwind.blade.php, for example in line 38, there is this __('results') that will throw Array to string conversion error because I have file named results.php in lang folder. Honestly, I am not sure which repository (laravel/framework or laravel/laravel) I should report this and this is my first time reporting bug.
Steps To Reproduce:

create lang/results.php with any localization content
create a controller to paginate some model
display pagination in the view file, for example $users->links(). The error page will highlight exactly that code.

Hi @eirworks. You reported this to the right repo. Unfortunately, having files names the same as translation keys is not supported right now. Please see https://laravel.com/docs/9.x/localization#using-translation-strings-as-keys


chore: fix period advancing + synchronous vs asynchronous processing …

Purpose

There was a bug for networks with delegation_delay set to 0:
advancePeriod() must be called after chain size is increased(updatePbftChain) as well as finalize_ function on final chain is called, otherwise consesnus might get stuck due to infinite waiting inside updateDposState_(), which is waiting for block to be finalized...
This should not affect devnet though
How does the solution address the problem

Changes made

prnet cleaned-up successfully


Edit Backup Policy dialog box takes in invalid default chars (****)

While updating backup policy, password fields take **** as the default value.

Checkboxes have been added for primary and secondary credentials in file share storage for backup policy while creating and updating the backup policy for the user to specify if the credentials are empty. Otherwise providing the credentials will be required on creating or updating backup policy


Borrowed<PyType>::name is not consistent

With  #[cfg(not(any(Py_LIMITED_API, PyPy)))], Borrowed<'a, '_, PyType>::name implementation delegates to tp_name.
However, tp_name is not consistent.
For pure Python types Borrowed<'a, '_, PyType>::name returns different result if compiled with or without abi3 feature.
Solution
Make Borrowed<'a, '_, PyType>::name follow __name__ behavior, and expose Borrowed<'a, '_, PyType>::module.
I will open a PR.

The issue is that it's hard (if not impossible) to emulate tp_name, because it's not consistent across types: for list, it's "list", for datetime.date, it's "datetime.date", for asyncio.CancelledError, it's "CancelledError", etc.
With abi3 enabled, so without access to tp_name, I can't find a simple rule to determine how it behaves. That's the point of PEP 737.
That's why I think we cannot expose tp_name like that, as consistency with abi3 is way more important to me.
Do you have another solution?

Do you have another solution?

Isn't using what you implemented as full_name for name basically a solution which fixes the inconsistencies between the builds? Why not just use that for name?

Isn't using what you implemented as full_name for name basically a solution which fixes the inconsistencies between the builds? Why not just use that for name?

That's an argument in favor of my proposal, with an efficient PyType::name implementation, and a less efficient PyType::full_name.
Anyway, I can modify my PR if you judge that it is worth it.

This got resolved in #4196


Support at-simd macro

@mergifyio rebase

Codecov Report

Merging #5 into master will increase coverage by 0.34%.
The diff coverage is 96.29%.

@@            Coverage Diff             @@
##           master       #5      +/-   ##
==========================================
+ Coverage   93.15%   93.49%   +0.34%
==========================================
  Files           3        3
  Lines         146      169      +23
==========================================
+ Hits          136      158      +22
- Misses         10       11       +1

Flag
Coverage Δ

#unittests
93.49% <96.29%> (+0.34%)
:arrow_up:

Impacted Files
Coverage Δ

src/macro.jl
92.94% <96.29%> (+0.46%)
:arrow_up:

Continue to review full report at Codecov.

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


Fixed StandaloneApp run issues

Resolved the same issue as described in #59

Sorry, closed due to redundant commits in it


fix: typo in link to useSortBy API docs

:tada: This PR is included in version 7.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Prettify duration message at end of execution

resolves #5253

Description

Added a new function in utils called humanise_execution_time that returns a string in the format: X hours Y minutes and Z seconds
Format execution, as a string, with hours/minutes/seconds (1 hours 6 minutes and 51 seconds)
Add execution_time (float, representing seconds) as a dataclass attribute that gets passed into HookFinished, and included in its structured (JSON) output, even if it isn't templated into the human-freindly message
Final output after a dbt run looks like Finished running 1 table model, 1 view model in 0 hours 0 minutes and 0.36 seconds (0.36s).

Checklist

[X] I have read the contributing guide and understand what's expected of me
[X] I have signed the CLA
[X] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[X] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[x] I have run changie new to create a changelog entry

And test/unit/test_events.py needs to be updated.

@jared-rimmer  looks like there might be some issue with the tests

I believe that the functional test is failing because the order of the tests isn't guaranteed. You can either add a "seed" command to the new test, or combine it with the existing one (which already has run seed).
Otherwise looks good!

@jared-rimmer I went ahead and added the seed step to you test, hope you don't mind it.

Not at all @ChenyuLInx thanks for all your help!


sd-v1-4-full-ema.ckpt

sd-v1-4-full-ema.ckpt could not be found in the provided link

I find it.
The link is as follows:
https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/tree/main


Add crop command

Add crop to --script
Crop is not the same as resize,
i.e. it selects a sub canvas within the image canvas and crops to that sub canvas

Thanks for noticing!
Planned for 0.9.0
Possible syntax options:

crop xa ya xb yb with

xa: top left corner x-coordinate
ya: top left corner y-coordinate
xb: bottom right corner x-coordinate
ya: bottom right corner y-coordinate

crop xa ya w h with

xa: bottom left corner x-coordinate
ya: bottom left corner y-coordinate
w: width of the subimage view
h: height of the subimage view

or variations on the options above.
Probably (1) makes the most sense as its analogical to cropping in most image editors like Paint.

Implemented in #83.


Re-enable ptex for OpenSubdiv builds

Looks like the dev branch of OpenSubdiv has a ptex fix, we can use that until
3.1 releases.
Also disable examples, tutorials and regression in the build. I originally enabled
these because they function to expose linking issues, but they slow compile times
and bloat the output directory.

Updated the readme with some new findings


Availability Support (Birth and LWT Messages)

This adds availability support to the garage doors.
This is useful for tracking the status of the Pi device, especially inside Home Assistant where the availability topic can be used to show if your device is offline or not. In Home Assistant at least, your device will visually appear as offline/disabled making it easier to tell when your Pi dropped offline, intentionally or not.
See the Home Assistant cover documentation for more info on availability
EDIT: Just wanted to also say thank you @Jerrkawz for creating this. It is totally cool and shockingly simple.

@hellcat707hp I don't think this repo is being actively maintained. I exchanged some messages with the author after waiting a month on a pull request and he let me know he has moved an no longer uses it.  I use it and am maintaining a fork here. I have already added availability topic support and a few other things.  I am open to pull requests.

@bg1000 That's what it looked like upon doing some digging, I wanted this to be available for those who might stumble upon this project, but it looks like you've got it covered! I really like your fork and I will be using that myself. Thanks for letting me know!
I will close this pull request and recommend all who come across this to see @bg1000's fork here. I would consider this basically a v2 of this project.

Thanks @hellcat707hp. If you have any problems feel free to open an issue or hit me up on the home assistant community forum or discord.  My username is the same in all three places


chore(npm registry default): set default npm registry to https://registry.npmjs.org/ instead of cachito; also set path to cafile (RHIDP-4410)

What does this PR do?
chore(npm registry default): set default npm registry to https://registry.npmjs.org/ instead of cachito; also set path to cafile  (RHIDP-4410)
Signed-off-by: Nick Boldt<EMAIL_ADDRESS>Screenshot/screencast of this PR
N/A
What issues does this PR fix or reference?
N/A (or see commit message above for issue number)
How to test this PR?
N/A
PR Checklist
As the author of this Pull Request I made sure that:

[x] Code produced is complete
[ ] Code builds without errors
[ ] Tests are covering the bugfix
[ ] Relevant user documentation updated
[ ] Relevant contributing documentation updated

Reviewers
Reviewers, please comment how you tested the PR when approving it.

/test e2e-tests

/retest

/cherry-pick release-1.3


DA-Compression soundness tests

what is missing here? still draft?

@lispc This PR itself is ready-for-review. The PR that has not been finished is this: https://github.com/scroll-tech/zkevm-circuits/pull/1305
I think we can get this PR merged and then work on FSE table soundness tests.


Sample MVP with Clean Architecture and Dagger2?

I was finish about working on an example  Clean Dagger2. MVP + Clean Architecuture + Dagger2, which combines mvp-clean to mvp-dagger2, and I wonder if there was an existing example?

Hey funyoung,
Are you asking if we already have mvp-clean-dagger? We don't, although it's a highly requested sample!
Do you want us to review it and put it under "external samples" for now?
Looks like you based it on the dagger sample and then incorporated the interactors and the rest of the Clean stuff. Did you merge it with the existing Clean branch or did you implement your own version?

Hello JoseAlcerreca,
I am so exciting to hear that mvp-clean-dagger is a highly requested sample.
I think my code is ready for your review and I'd like to know if it was able to be put under "external samples".
You are right, I based it on the dagger sample, and manually move the interactors and the some others code from the Clean stuff, and then I change all the code of dependency injected with Dagger2.
What should I do next for you to review it and put it under "external samples" then?

Hey funyoung, can you create a PR in your repo so we can review and add comments?

Hi JoseAlcerreca, I created a PR and signed CLA.

Hi @funyoung, I'm really keen on looking at the design of your code as I have done something similar as well. Is your branch official now in external samples ?

@mspmax I thought the code is ready, but the PR was reject as old one.

Closing as obsolete in the context of the current architecture guide.


Cant use console in manipulating data

Hello, I tried to use this awesome package, but it seems command line does not work,
Running
vendor/bin/flatbase insert users name=Ian address=phil --path="storage/db"
vendor/bin/flatbase: /e/projects/offline-report/vendor/flatbase/flatbase/flatbase: /usr/bin/php: bad interpreter: No such file or directory
Any idea how to fix this?

Which version of flatbase are you using? And could you confirm where your php executable is on your system (or provide the output of whereis php)

Hi adamnicholson, I am using the 0.4.1 version, I forgot to mention I am using gitbash, but this work perfectly if I use windows cmd
vendor\bin\flatbase insert users name="donald" surname="trump" position="army"


fix: RU to iso codes

This PR moves the RU scraper to use ISO codes. It also aggregates all data to the country level, which was not done previously.
@hyperknot: We are missing population data for Sevastopol, other than that it looks good!

Google Translate was my friend! Manually went through each one of them, I double-checked the mapping!

Wow, this is rad! Thanks for putting in the effort to do this one!

I've added missing populations.


Refactor unwrapping optionals in Specifier

The Optionals map function does exactly the same but it looks much cleaner.
./Utilities/bootstrap --build-tests test passes
Executed 69 tests, with 0 failures (0 unexpected) in 19.261 (19.266) seconds

Very nice 👍🏻


Update endpoint-dlp-getting-started.md

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

@chrfox Please merge this PR. Thanks


Native symengine serialization for QPY generation

use native symengine serializer and deserializer which is implemented in C++.
see https://github.com/symengine/symengine.py/issues/409

Summary
In QPY version 5 and below, symengine expression is serialized through sympy string parsing mechanism. The conversion from symengine to sympy, and parsing of expression is significant overhead, especially when a program contains multiple ParameterExpressions, or symbolic pulses containing complicated waveform equations.
Details and comments
Benchmark shows significant performance improvement. Here I chose an example of schedule with Drag pulse, which contains the most complicated envelope equation in current pulse library. In experimental programs, this pulse instance repeatedly appears, since DRAG is the most popular implementation of single qubit gates. In addition, here the pulse parameters are also parameter expression, i.e. symengine expression.
from qiskit import pulse, circuit

duration = circuit.Parameter("duration")
amp = circuit.Parameter("amp")
beta = circuit.Parameter("beta")
with pulse.build() as sched:
    pulse.play(pulse.Drag(duration, amp, duration/4, beta), pulse.DriveChannel(0))

# ---- benchmark ----

with BytesIO() as file:
    qpy.dump(sched, file)
    bout = file.getvalue()

with BytesIO(bout) as file:
    sched_load = qpy.load(file)[0]

# ---- benchmark ----

assert sched == sched_load

In QPY Version 5

As expected, _dumps_symbolic_expr consumes most of the execution time.
In this PR branch (Version 6)

Now the regex search introduced in https://github.com/Qiskit/qiskit-terra/commit/5a6ec946995ba09329e96248655096fdbb239d7e becomes a significant overhead (this pattern should be precompiled, but this is outside the scope of this PR).
Magnifying the expression generation part

You can see _write_symbolic_pulse becomes significantly faster (x290 performance gain, if I remove zlib compression this becomes more faster).
Note
This is on hold until https://github.com/symengine/symengine.py/issues/409#issuecomment-1165320526 is closed. Currently symengine deserializer doesn't support complex double expressions, which is quite important to write pulse amplitude in the phasor representation.
amp = circuit.Parameter("amp")
angle = circuit.Parameter("angle")

phasor_amp = amp * np.exp(1j * angle)

Will be available in symengine 0.10.0

Thanks Jake. That's good point. Indeed this breaks portability of QPY. Probably we need some mechanism (or port corresponding logic from symengine) to generate binarized expression. IIRC this is tied to C++ part of symengine and porting the logic to Qiskit would be tough. I'll close this PR if there is no objection.

Closed this PR for now because this PR breaks QPY portability in return for the performance. We can revive this if symengine 0.10 is released and be promoted to required in Qiskit.


Unable to build AWS C++ SDK for Amazon Trino connector

Describe the bug
I cannot able to build the Amazon Trino connector though I followed the developer guide line.
The given (existing inside the script) aws-sdk-cpp branch is git clone --recurse-submodules -b "1.11.80" "https://github.com/aws/aws-sdk-cpp.git".
I was wondering if you could help me.
Expected Behavior
It should build successfully.
Current Behavior
-- Add s3-crt:s3 to C2J_SPECIAL_NAME_LIST
-- Considering core
-- Considering sts
-- Considering trino-query
-- Considering trino-write
CMake Error at cmake/sdks.cmake:165 (message):
trino-query is required for build, but
generated/src/aws-cpp-sdk-trino-query directory is missing!
Call Stack (most recent call first):
CMakeLists.txt:245 (include)
-- Configuring incomplete, errors occurred!
the same error for trino-write too.
Reproduction Steps
The arguments I passed:
cmake $SRC_DIR     -A $WIN_ARCH
-D CMAKE_INSTALL_PREFIX=$INSTALL_DIR     -D CMAKE_BUILD_TYPE=$CONFIGURATION
-D BUILD_ONLY="core;sts;trino-query;trino-write"     -D ENABLE_UNITY_BUILD="ON"
-D CUSTOM_MEMORY_MANAGEMENT="OFF"     -D ENABLE_RTTI="OFF"
-D ENABLE_TESTING="OFF" `
-D CPP_STANDARD="17"
Possible Solution
No response
Additional Information/Context
No response
Trino ODBC Driver Log
No response
Trino ODBC Driver version
nvm
Host Operating System and version
Windows 10 x64

Describe the bug
I cannot able to build the Amazon Trino connector though I followed the developer guide line.
The given (existing inside the script) aws-sdk-cpp branch is git clone --recurse-submodules -b "1.11.80" "https://github.com/aws/aws-sdk-cpp.git".
I was wondering if you could help me.
Expected Behavior
It should build successfully.
Current Behavior
-- Add s3-crt:s3 to C2J_SPECIAL_NAME_LIST -- Considering core -- Considering sts -- Considering trino-query -- Considering trino-write CMake Error at cmake/sdks.cmake:165 (message): trino-query is required for build, but generated/src/aws-cpp-sdk-trino-query directory is missing! Call Stack (most recent call first): CMakeLists.txt:245 (include)
-- Configuring incomplete, errors occurred!
the same error for trino-write too.
Reproduction Steps
The arguments I passed:
cmake $SRC_DIR -A $WIN_ARCH -D CMAKE_INSTALL_PREFIX=$INSTALL_DIR -D CMAKE_BUILD_TYPE=$CONFIGURATION -D BUILD_ONLY="core;sts;trino-query;trino-write" -D ENABLE_UNITY_BUILD="ON" -D CUSTOM_MEMORY_MANAGEMENT="OFF" -D ENABLE_RTTI="OFF" -D ENABLE_TESTING="OFF" ` -D CPP_STANDARD="17"
Possible Solution
No response
Additional Information/Context
No response
Trino ODBC Driver Log
No response
Trino ODBC Driver version
nvm
Host Operating System and version
Windows 10 x64

I faced the same issue. Could anyone have any idea?


ISSUE: UPS not updating all found packages.

Describe the bug
Logs indicate that two emails were found with UPS information, but counters only set to 1. Also, tracking number is not being found. The regex is correct as when I test it online it matches my tracking, but it doesn't seem to be able to scrape it out of the email.
Environment (please complete the following information):

OS: HassOS
Type of device: VM
Home Assistant version: 2021.1.2
Hassio/Docker/Core? Hassio
Component version: 0.3.0b30

Logs
2021-01-15 09:34:35 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Search for<EMAIL_ADDRESS>with subject (UPS Update: Package Scheduled for Delivery Today) results: b'' count: 0
2021-01-15 09:34:35 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Attempting to find mail from<EMAIL_ADDRESS>with subject (UPS Update: Follow Your Delivery on a Live Map)
2021-01-15 09:34:35 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] DEBUG imap_search: (FROM<EMAIL_ADDRESS>SUBJECT "UPS Update: Follow Your Delivery on a Live Map" SINCE "15-Jan-2021")
2021-01-15 09:34:35 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Searching for (Tracking Number) in (11) emails
2021-01-15 09:34:35 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Found (Tracking Number) in email 1 times.
2021-01-15 09:34:36 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Found (Tracking Number) in email 1 times.
2021-01-15 09:34:36 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Search for (Tracking Number) count results: 1
2021-01-15 09:34:36 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Search for<EMAIL_ADDRESS>with subject (UPS Update: Follow Your Delivery on a Live Map) results: b'23904 23905' count: 1
2021-01-15 09:34:36 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Searching for tracking numbers...
2021-01-15 09:34:36 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] No tracking numbers found
2021-01-15 09:34:36 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Sensor: ups_delivering Count: 1
2021-01-15 09:34:36 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Sensor: ups_packages Count: 1

Screenshots
If applicable, add screenshots to help explain your problem.

2021-01-15 09:34:36 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Search for<EMAIL_ADDRESS>with subject (UPS Update: Follow Your Delivery on a Live Map) results: b'23904 23905' count: 1 <-- this should be returning 2
I'll have a look

2021-01-15 09:34:36 DEBUG (SyncWorker_9) [custom_components.mail_and_packages.helpers] Search for<EMAIL_ADDRESS>with subject (UPS Update: Follow Your Delivery on a Live Map) results: b'23904 23905' count: 1 <-- this should be returning 2
I'll have a look

b31 should fix this.

b31 should fix this.

Thanks!

Thanks!

Waiting for tests to finish, should be released soon.

Waiting for tests to finish, should be released soon.

Let me know how it works out for you.

Let me know how it works out for you.

Fixed I think. Logs show count two found and tracking for both. I don’t have two packages in a single day coming soon but can re open if I see again.

Fixed I think. Logs show count two found and tracking for both. I don’t have two packages in a single day coming soon but can re open if I see again.


Error in analyte decoder when tokens is None

Hi all,
This line here: https://github.com/wfondrie/depthcharge/blob/main/depthcharge/transformers/analytes.py#L375
causes trouble on my side when tokens is None. Probably because the token encoder expects integer tensors but in that line, the tensor is initialized by default as float.
An easy fix is probably something like this:
tokens = torch.zeros(batch, 0, dtype=torch.int64)
Best,
Daniela

This seem like a good fix to me. Can you put in a PR?