Adapt async API

Modify txt2img to async API
Modify img2img to async API
Optimized UI

Pls fix the conflicts and resubmit.

OK~
I have resolved the conflicts, please continue to merge.


Add support for high level synthesis plugins to return a DAGCircuit

Summary
This PR addresses #11681 by adding a use_dag flag to the high level synthesis plugins run method (and synthesis functions) to internally use and return a DAGCircuit instead of a QuantumCircuit. The flag is set to True when the plugins are called inside the HighLevelSynthesis pass to avoid back and forth conversions between circuit and dag.
This PR makes sure that the interface can handle DAGCircuit plugin outputs and implements the full end-to-end DAGCircuit pipeline for most of the synthesis functions/plugins (see table below). The only function that I didn't think made much sense to re-implement with DAGCircuit was synth_clifford_layers, because it works by constructing independent circuits that are then treated as instruction blocks, and I think that QuantumCircuit is better suited for this particular workflow. So I just convert the circuit to dag during the function return.
Other small changes that I included in this PR are:

minor docstring/typing fixes
setting QuantumCircuit.append(.., copy=False) where possible inside the synthesis functions (should be faster)
I created an independent test file for clifford synthesis functions, which used to be tested in test/python/quantum_info/operators/symplectic/test_clifford.py. I migrated those tests to a new test/python/synthesis/test_clifford_sythesis.py file.
I had to resolve some cyclic import conflicts to be able to import DAGCircuit in the synthesis functions, I did this by making all qiskit.synthesis imports in qiskit.circuit only imported at runtime. I think that this is a coherent move and should reduce the risk of cyclic imports in the future, but I am a bit weary of creating further issues so let me know if you see anything suspicious in this change.

Details and comments
Because I found the structure of the plugins a bit convoluted at first, I have compiled a table where I have been keeping track of the modified plugins, related synthesis functions, whether they are able to use the dag end-to-end and where one can find the function tests (which have been modified to test use_dag):

plugin
function(s)
end-to-end dag?
independent function test?

DefaultSynthesisClifford
synth_clifford_full
yes
[new!] test/python/synthesis/test_clifford_sythesis.py

AGSynthesisClifford
synth_clifford_ag
yes
[new!] test/python/synthesis/test_clifford_sythesis.py

BMSynthesisClifford
synth_clifford_bm
yes
[new!] test/python/synthesis/test_clifford_sythesis.py

GreedySynthesisClifford
synth_clifford_greedy
yes
[new!] test/python/synthesis/test_clifford_sythesis.py

LayerSynthesisClifford
synth_clifford_layers
no
test/python/synthesis/test_clifford_decompose_layers.py

LayerLnnSynthesisClifford
synth_clifford_depth_lnn
no
test/python/synthesis/test_clifford_decompose_layers.py

DefaultSynthesisLinearFunction
pmh linear function
-
-

KMSSynthesisLinearFunction
synth_cnot_depth_line_kms
yes
test/python/synthesis/test_linear_synthesis.py

PMHSynthesisLinearFunction
synth _cnot_count_full_pmh
yes
test/python/synthesis/test_linear_synthesis.py

KMSSynthesisPermutation
synth_permutation_depth_lnn_kms
yes
test/python/synthesis/test_permutation_synthesis.py

BasicSynthesisPermutation
synth_permutation_basic
yes
test/python/synthesis/test_permutation_synthesis.py

ACGSynthesisPermutation
synth_permutation_acg
yes
test/python/synthesis/test_permutation_synthesis.py

TokenSwapperSynthesisPermutation
no
yes
no (but test for plugin in test/python/transpiler/test_high_level_synthesis.py)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

77 of 96 (80.21%)  changed or added relevant lines in 17 files are covered.
13 unchanged lines in 4 files lost coverage.
Overall coverage increased (+0.004%) to 89.261%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/circuit/library/pauli_evolution.py
3
4
75.0%

qiskit/synthesis/clifford/clifford_decompose_ag.py
5
6
83.33%

qiskit/synthesis/clifford/clifford_decompose_greedy.py
5
6
83.33%

qiskit/synthesis/clifford/clifford_decompose_layers.py
5
6
83.33%

qiskit/synthesis/linear/linear_depth_lnn.py
4
5
80.0%

qiskit/synthesis/linear_phase/cnot_phase_synth.py
4
5
80.0%

qiskit/synthesis/permutation/permutation_full.py
7
8
87.5%

qiskit/synthesis/permutation/permutation_lnn.py
4
5
80.0%

qiskit/synthesis/clifford/clifford_decompose_full.py
4
6
66.67%

qiskit/transpiler/passes/synthesis/high_level_synthesis.py
18
27
66.67%

Files with Coverage Reduction
New Missed Lines
%

qiskit/circuit/library/generalized_gates/unitary.py
1
91.25%

qiskit/transpiler/passes/synthesis/high_level_synthesis.py
1
87.45%

crates/qasm2/src/lex.rs
5
92.62%

crates/qasm2/src/parse.rs
6
97.61%

Totals

Change from base Build<PHONE_NUMBER>:
0.004%

Covered Lines:
60344

Relevant Lines:
67604

💛  - Coveralls

Given the ongoing efforts to port different HLS components to Rust, and how outdated this PR is, I am in favor of closing it and opening a new one when we have a clearer picture of what should be done in this regard. It might be more practical than bumping it infinitely to the next release milestone. What do you think @alexanderivrii


Investigate performance of TimeseriesView time windowing operations

EG https://www.figurl.org/f?v=http://localhost:3000&d=7086880aeb347d2b2a1f71e2638f7560b67e678e&channel=flatiron1&label=Jaq_03_12_visualization_data2
Zoom and pan operations, particularly when driven by the top controls, seem a bit sluggish.

Link is broken and issue is pretty vague. I'm going to close for now.


Browser version erro

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to browser version
See error An unhandled error has occurred

On PC, with chrome.

Hi, I cannot reproduce this.
Can you try clearing your site data, and see if this resolves your issue?

Site Settings

Delete Data

F5
???
Profit (?)


material.angular.io have a bug when showing source code

Bug, feature request, or proposal:
Bug (on the doc site)
What is the expected behavior?
Clicking on the button to show code should show the code. Not toggle the theme :
(before I click on the button to show the code)

(after clicking on the button)

What are the steps to reproduce?
Go to https://material.angular.io/components/input/overview
Search for the example of prefixes/suffixes
Click on the button to show the code

I've only seen this (weird) behavior on this example and the others seems fine.

The same for the example about input errors (on the same page).

It's fixed.


Renaming package name

Hi, I found your package django-authlib has a conflict with https://github.com/lepture/authlib
Your package is registered as django-authlib (I do want this package name too) on PyPI, but the module name is authlib, which has conflict with my package. Would you consider rename it to django_authlib?
BTW, consider using authlib to power your library, it has a simple built-in Django support: https://docs.authlib.org/en/latest/client/frameworks.html#module-authlib.django.client

Hi,

It's not clear to me why I would use your authlib instead of https://github.com/requests/requests-oauthlib the OAuth client? Also, django-authlib is used in commercial projects as well, and AGPL is out of the question for those. I release almost everything as open source anyway, but haven't used GPL-type licenses for probably more than 10 years now.
It's true that the project cannot be installed alongside your authlib into the same virtualenv. However, I don't see how this is a problem since I can't envision a scenario where someone would want to use both authlib and django-authlib in the same project
"I want this too" is not a good enough reason for giving up the package name on PyPI. It is an actively maintained library of authentication utilities for Django, therefore django-authlib. Since your library supports more frameworks, not only Django, let me suggest you use python-authlib (similar to django-social-auth which was renamed to python-social-auth later -- https://github.com/python-social-auth) or even your current plain authlib package name, nothing wrong with that. Of course things would possibly be different if maintenance stopped or something.

Thanks.

I'm revisiting this, because your package seems to be maintained much more actively; I'll probably rename the Python module to django_authlib as suggested. I don't like the django_ prefix too much but it's a minor concern, really.


chore: bdd-spring-1587479583 to 0.0.1

chore: Promote bdd-spring-1587479583 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


feat(slugrunner): make slugrunner configurable via env variables

https://github.com/deis/charts/pull/164

Fixes #135

Current coverage is 83.03%

Merging #515 into master will increase coverage by +0.02% as of c0ad3f1

@@            master    #515   diff @@
======================================
  Files           32      32
  Stmts         1914    1916     +2
  Branches       270     270
  Methods          0       0
======================================
+ Hit           1589    1591     +2
  Partial         61      61
  Missed         264     264

Review entire Coverage Diff as of c0ad3f1

Powered by Codecov. Updated on successful CI builds.


Refactor get walletclass

These are some changes from https://github.com/lnbits/lnbits/pull/1702 which probably deserve its own pr.
I moved the get_wallet_class and set_wallet_class functions into the wallets module for two reasons:

probably fits better logically
fixed some issue with circular imports in https://github.com/lnbits/lnbits/pull/1702

I left a get_wallet_class wrapper for now in settings because lndhub and bleskomat reliy on it being there, maybe update that in the future.
https://github.com/search?q=org%3Alnbits NOT repo%3Alnbits%2Flnbits NOT repo%3Alnbits%2Flnbits-legend-1 get_wallet_class&type=code
set_wallet_class isnt used in any vetted extension:
https://github.com/search?q=org%3Alnbits+NOT+repo%3Alnbits%2Flnbits+NOT+repo%3Alnbits%2Flnbits-legend-1+set_wallet_class&type=code
I also added a type hint which caused some type errors to show up around its usage (some inconsistent function signatures and small errors)

I've also started fixing get_wallet_class() here: #1775

can you build on this?


UI - CIS Scan - RKE template - Allow override does not work for Scheduled CIS Scan enabled and retention fields

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

Navigate to Global --> RKE Templates --> Add template
Enable "Allow User override" for CIS schedule params.
Create cluster
Select rke template created in Step 2.
Only Scheduled CIS Scan Profile and Scheduled CIS Scan Interval (cron) are user editabled

Expected Result:
Scheduled CIS Scan Enabled and. Scheduled CIS Scan Report Retention should also be user editable
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master-head - commit id: 546b039e4 ui tag: latest2
Installation option (single install/HA): single

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): rke do
Kubernetes version (use kubectl version):

1.17.4

Verified on latest master-head - commit id: UI tag: latest2
Steps:

Navigate to Global --> RKE Templates --> Add template
Enable "Allow User override" for CIS schedule params.
Create cluster - rke do
Select rke template created in Step 2.
All schedule CIS scan fields are editable. - Scheduled CIS Scan Profile, Scheduled CIS Scan Interval (cron), Scheduled CIS Scan Report Retention and Scheduled CIS Scan Enabled are user editable


Modify facilities endpoints with random static data

[ ] Modify facilities endpoint stubs with random static data

Created static data for endpoint "GET /facilities." The return data is compliant to the API Design we agreed on. Working on endpoint "GET /facilities/{id}."

added static data for facilities endpoints: "GET /facilities/" and "GET /facilities/{id}."
these endpoints return link headers and total-count in the response header.
includes pagination
orderBy sort facID, orisCode, state, and name
filter by state
unit tests


Can't debug meteor with a custom setttings file

I'm having an issue with hitting breakpoints (i.e. able to do meteor run --inspect and the node inspector process runs, but it is not linking to my source code break points).
Meteor version: <IP_ADDRESS>
Node version: v8.9.3
NPM version: 5.5.1
File Structure: standard suggested meteor project with /imports as the main folder; Package.json file is at the root of the project. Settings file is outside in a separate folder (I run it with --settings ../pathToSettings/settingsFile.json)
My full launch.json looks like this:
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "Meteor: Chrome",
            "url": "http://localhost:3000",
            "webRoot": "${workspaceRoot}"
        },
        {
            "type": "node",
            "request": "launch",
            "name": "Meteor: Node",
            "runtimeExecutable": "npm",
            "runtimeArgs": ["run", "debug"],
            "port": 9229,
            "timeout": 30000
        }
    ],
    "compounds": [
        {
            "name": "Meteor: All",
            "configurations": ["Meteor: Node", "Meteor: Chrome"]
        }
    ]
}

Aside from the dependencies block w/ meteor packages, below is all i have in my package.json (names edited for simplicity - the settings file is definitely being read as I use it from the terminal. It is required to start the app properly.)
NOTE: I think the package.json file in Meteor is also used for Prod deployment. How would I specify the settings file path in the launch.json rather than here, so that it doesn't interfere with my Prod deployment?

  "name": "appName",
  "private": true,
  "scripts": {
    "start": "meteor run --settings ../pathtosettings/settingsfile.json",
    "debug": "meteor run --inspect --settings ../pathtosettings/settingsfile.json"
  },

Any ideas how to start debugging?

@auchenberg
Is this a separate issue from sourcemapping now - is there no actual way to run it with the --settings flag?

I just pulled the standard meteor react example project, added the usage of custom settings and can validate that breakpoints in both the server and client-side code can be hit, as expected.
Please https://github.com/auchenberg/meteor-simple-todos-react-custom-settings, and feel free to re-open this issue if you can't get it working on your machine. If you can, I suspect you have a problem in your specific project.

I noticed in that project, you had the following, without a folder path
  "scripts": {
    "start": "meteor run --settings settings.json",
    "debug": "meteor run --inspect --settings  settings.json"
  }

Do you know how to specify the folder path properly, so that it runs from within VSCode? That was the issue I was having - it wouldn't find the settings file. Both relative paths like ../ with commandline syntax and absolute paths starting with D:/ failed for me.
I need to keep  my settings files in a separate repo, to track changes to them (many versions, lots of settings)
Thanks for any insight you can offer

I don't, and this isn't a VS Code problem but related to NPM and how you run NPM scripts with relative paths. See https://github.com/npm/npm/issues/13789
Alternative you can launch meteor from your terminal and attach the Node debugger from VS Code.

The issue is not with the settings file - that was more of a blocker, I've tried having a local settings file inside my project without a relative path.
I've also tried running it with meteor run --inspect --settings settings.json and it does start (and then I press the green arrow). However breakpoints are never hit.
Perhaps there might be something deeper with meteor, given the number of issues referencing temporary/permanent sourcemapping issues.
Leaving this closed right now because I don't have any ideas/time on how to debug further.

@arlohosk I think you need to isolate the problem here. Try downloading https://github.com/auchenberg/meteor-simple-todos-react-custom-settings and see if it works on your computer. If it does, then we can conclude VS works with Meteor, and you probably should do a comparison between the project and yours to see what the difference is. Probably a dependency difference somewhere.
If the todo-project doesn't work on your machine, then I'd be happy to re-open this issue, and debug this further.


Disabled with ZipImportError

How can the issue be reproduced
Install MarkdownTOC
What was expected

Menu items visible
Plugin updating file on save
No console errors

What actually occurred
Menu item visible (Tools > MarkdownTOC) but Insert TOC and Update TOC commands greyed out.
Console Error:
reloading plugin MarkdownTOC.__init__
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 125, in reload_plugin
    m = importlib.import_module(modulename)
  File "./python3.3/importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1532, in _find_and_load_unlocked
zipimport.ZipImportError: bad local file header in /Users/arthurboyer/Library/Application Support/Sublime Text 3/Installed Packages/MarkdownTOC.sublime-package

What was the version of the involved component
Sublime Text version 3.2.1, Build 3207
MarkdownTOC v3.0.4
Additional Notes
I have Python 2.7.15 and Python 3.7.2 installed on my mac.
I read about a similar issue that involved a system wide installation of setuptools. Upgrading my setuptools versions with pip did not resolve this issue.

I tried to uninstall and re-install. And my log is here and with no-preblem.
reloading plugin MarkdownTOC.__init__
Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 125, in reload_plugin
    m = importlib.import_module(modulename)
  File "./python3.3/importlib/__init__.py", line 90, in import_module
  File "<frozen importlib._bootstrap>", line 1584, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1565, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1529, in _find_and_load_unlocked
ImportError: No module named 'MarkdownTOC.__init__'
reloading settings Packages/User/Package Control.sublime-settings
reloading settings Packages/User/Preferences.sublime-settings
reloading settings Packages/User/Preferences.sublime-settings

I'm not sure what's going wrong. 🤕
Would you mind to show me /Users/arthurboyer/Library/Application Support/Sublime Text 3/Installed Packages/MarkdownTOC.sublime-package  for in reference?

For reasons I don't properly understand the issue is now resolved.
The steps I used were:

Remove the plugin using package control
Restart machine
Open Sublime Text
Open Console
Install MarkdownTOC using package control

My guess is that a file was locked for some reason.
Thanks for your help


Archer A5 (AC1200 serie) - Login failed. Generic error code: 71234

Describe the bug
While trying to configure the integration with my router i got "Login failed. Generic error code: 71234".
The router is an Archer A5 (AC1200 serie).
Does someone had the same issue ?
Logs
Logger: custom_components.tplink_router.config_flow
Source: custom_components/tplink_router/config_flow.py:48
integration: tplink_router (documentation, issues)
First occurred: 9:29:02 AM (4 occurrences)
Last logged: 9:49:22 AM
TplinkRouter Integration Exception - TplinkRouter - MR - Login failed. Generic error code: 71234
Additional Information

Router Hardware Version: Archer A5 v6 00000001
Router Firmware Version: 0.9.1 0.4 v0001.0 Build 211108 Rel.34725n(4555)
Home Assistant Version: 2024.4.4
TP-Link Router Integration Component Version: v1.13.2

Hi. Your router is not supported by this integration. Would be great if you could add support for your router by creating PR with new class that extends https://github.com/AlexandrErohin/TP-Link-Archer-C6U/blob/main/tplinkrouterc6u/client.py#L19

Hi. Thank you very much for the help! Unfortunately, my knowledge of python is very limited. I followed the instructions in TP-Link-Archer-C6U /CONTRIBUTING.md and opened this issue https://github.com/AlexandrErohin/TP-Link-Archer-C6U/issues/25


Transfer all things to Github Issues and Projects

Remaining FoC Thinking Tasks

lineage chart with licklighter, elnglebart, ted nelson, alan kay, BV, chris granger, jonthan edwards, etc, etc
video conference only conference with day of 1:1 meetings
language with primitives for differentiating and integrating, also parallels with mapping function on list as a raise in abstraction
schedule podcacsts https://github.com/stevekrouse/futureofcoding.org/issues/18
ask Alex adelman for intro Kevin Ryan
Alex adelman's idea emailing squarespace and Weebly CTO and head up their r and d
case for learned index data structures from David nolan
check out reframe clojurescript as redux
email Jonathan Edwards for just 1 meeting not mentorship
schedule future of programming meeting
Connell Elliot talks about hiding information via abstraction so that it's not leaking. this is scary because you need instrumentation in order to debug. What if interpretive mode you break the extraction for debugging but when compiled you close it somehow
figure out what the classic database view-update problem has to do with the front-end view update problem and how it relates to this paper https://icfp18.sigplan.org/event/icfp-2018-papers-incremental-relational-lenses
from Omar - flash was successful at getting kids making complex things, great learning curve
idea from Kyle: run conference or meetups like 1:1 meetings. could match via swiping or profiles
project: what do I have about the elm/redux architecture and what does cyclejs seem to promise but then can't deliver on?
specifying asyc ordering at a restaurant. when you put in the order. how grouped. when brought out
why does building a simple typechecker seem so easy? union types seem quite simple. parameterized types also seem simple. numbers seem simple from a S S Z perspective. I'm sure there's a way to represent decimals too. Ok, it's beginning to get a bit complex... Especially because the user shouldn't get errors in the S S Z format......
apply to https://2018.splashcon.org/track/live-2018-papers
write essay about gravity and timer scratch, as well as glide and one other I'm forgetting about. Sean McCormick live programming experience vs how I do in Woof halls
might there be some sort of trade off between beautiful denotational design and less abstraction. in other words: I don't want to have to solve fundamental research problems to get my code to compile. sometimes too abstract code is undecidable but we just need an approximation. ditto for too rigid types. ex gravity sim as a constraint solver vs an iterative thing in 5 lines
do something with the notes with murukesh https://docs.google.com/document/d/12gsgrG-S-7E0osjWIECjeWjAQgHWEq0Zsuxcjru7PTU/edit#
why do we have SQL and also nested data on the front end? can we unify by normalizing front end? is that like Eve? Datomic?
what do I want to read and why? what questions do I have? what are my known unknowns vs unknown unknowns? what would I want to write about? what would I do if I couldn’t read? which books do I know I need to read now? how long do I think will it take? how much $$ will I need? maybe wire it to a separate account? or think about earning that much, or talking to parents about it, or talking to Eli about it, or business venture with Jonathan...? or getting a part time job...?
Roblox Users made $30 million in 2017! For creating games
think about COLLABORATIVE SOFTWARE IDE, two or 5 player (minecraft but more powerful ideas)
just read for 5 years to pickle myself isn't very inspiring. success in that is very simple. the goal can be to produce writing that gets a certain number of view or another metric. let's think about producing a certain level of thought or engagement with my thoughts. at least think through that. not just means focused
problem with pickling in Joseph Campbell sense is hard to communicate. need to write plan or post about self directed PhD so I can explain what I’m doing
“education from first principles.” positive philosophy Dewey education and experience. (also http://www.gettingsmart.com/2016/04/rethinking-education-from-first-principles/)
don't forget prioritizing github issues / is this a good places for thoughts? not version controlled, not on main webite
maybe start with one old prototype video and put it out there and see what response it gets - how many hours would that take? maybe start with a gif on twitter? maybe turn woofjs homepage into gif?
think more about stefan lesser notes at the bottom
TOOD re-read jaime brandon notes (both of them)
Alan Kay’s mission may be my own: consciously design our tools. or consciously design tools to allow which allow others to design their own tools
translating something to another language is normal. translating something to another audience could be too. programming. managers. etc. chicken soup for the teenage soul. also just like how you have the same html that can be totally different with css, I wonder if you could mark where you use analogies so that they could be replaced for the relevant audience. a better metaphor may be internationalizationing a product
am I done when there’s a next step after scratch or woofjs that hudson and Asher can make stuff with? is that bubble? what of logichub? what of a precise language for law? one way to describe programming: the art of the precise. we want to empower people to express themselves precisely. is that the aim or is it less lofty than that, simply allow kids to make what they want?
publish my reviews of people’s prototypes like Samuel loncar?
making frp easier by having sequential semantics and we abstract to frp - like how joyJS can go from derivative iterative to continuous. logo and Nicky cases language and derivative thinking from inside vs implicit matjmstcal thinking from outside. two sides of same coin?
turns proejcts into gifs and tweet it like woofjs demo
derek sivers how to start a movement
every six months experiment with a non technical person and see how “far” you can go
talk to free code camp guy about article ideas


Rewrite the frontend

/* If this file gets over 200 lines of code long (not counting docs / comments), start using a framework

This was the first line I wrote when I started writing the existing frontend, and of course that line is still there.
This PR cleans up and rewrites the entire frontend, to 'start using a framework'. There's no functional change to the UI itself, so it should be treated as a pure upgrade / refactor.
Demo
Main page
https://github.com/jupyterhub/binderhub/assets/30430/4c629efb-2210-4f43-aeb3-3b3a0a4d65b8
Loading page
https://github.com/jupyterhub/binderhub/assets/30430/da6eefbe-8044-42aa-8562-03f7a79520ed
Functional Status
The following functional pieces need to be completed:

[x] Landing page link generator
[x] Loading page
[x] Actually launching servers correctly
[x] Progress bars for launching
[x] Stream logs
[x] Favicon switching to indicate progress
[x] About page
[x] Extra scripts at the bottom (for google analytics / similar)
[x] nbviewer in loading page
[x] Help text in the main page
[x] Banner on top
[x] Donation button on top
[x] Badge generator for markdown + rst
[x] view raw logs
[x] social cards
[x] error page
[x] fix copy button icon
[x] Faithfully replicate layout
[x] Fix markdown and rST icons

Technology changes

[x] Upgrades to Bootstrap 5, latest version. Nicely matches JupyterHub upgrade in version 5.
[x] Use react
[x] Use JSDoc type annotations rather than typescript. It feels to me this gives me a good balance between the positives of optional type checking without the extra community investment needed for full typescript. This PR does switch the compiler we use from babel to tsc, but type checking is not enforced. We may choose to do so later, but not now.
[x] Use react-router for URL parsing. This makes the BinderHub UI a SPA, which may be split into its own package separately in the future if so desired.
[x] Move the _config endpoint to a refactored /api/repoproviders. This is with an eye on allowing us to implement #844 eventually, as well as being able to implement the correct frontend bits in other users of the binderhub API (like https://github.com/yuvipanda/jupyterhub-fancy-profiles)
[x] Deprecate direct google analytics functionality, where we embedded GA code into our source. Instead, extra_footer_scripts can continue to be used - that's what we use for matomo.

Functionality changes

[x] Progress bar is now also shown in the loading page.
[x] Learning from experience with nbgitpuller, the link generator now prefers outputting only urlpath - both when the user enters a file to open or a URL to open. This prevents the issue we had when we tried to change the default app that was going to open from classic notebook to lab, and broke a lot of people's stuff. By only outputting urlpath, URLs will always have this information encoded in them. The older filepath and labpath are still accepted as input, because Cool URIs don't break
[x] Slightly better validation for the link generator, but most of this should be instead implemented as part of #844

Maintenance changes
One primary goal here is to make the frontend safer to change, so it's less fragile and brittle.

[x] Add some frontend tests. This should be much easier now thanks to all the componentization.
[ ] Provide thorough jsdoc inline documentation for everything
[x] Refactor whatever is in binderhub-client package to make sure it only contains api-client related functionality - all UI stuff should be in a separate package.
[ ] Unify the current 'split' between the repo's root js/ and the binderhub/static/js sources of JS files. Pick up best practices from other Jupyterish projects for what to do here.

Timeline
My hope is to slowly but consistently work on this, and get it fully complete before end of June. I have also asked for some frontend review help from @batpad (either directly or via someone else), as he has significant experience in this kinda frontend work (even though he is less experienced in the JupyterHub community itself).
Fixes https://github.com/jupyterhub/binderhub/issues/774

I've added functionality for the top banner here, and poked around to make sure that the existing banner can display well. It needs to be redone to use bootstrap 5 utility classes, but here it is:

                Thanks to OVH, GESIS Notebooks and Curvenote for supporting us! 🎉

                mybinder.org has updated the base image to Ubuntu 22.04! See the upgrade guide for details.

                    🤍 Donate to mybinder.org!

This works well!

Have asked @oliverroick to do a review here since his React eyes are much, much sharper than mine.

Getting closer and closer!

We've finally got some dedicated time from @oliverroick so hopefully with that we can push this one to completion

Will need to be rebased on https://github.com/jupyterhub/binderhub/pull/1891 but otherwise pretty close!

I've merged #1891 here, and the failing tests are all actually genuine failures! \o/

Looking at the build token and seeing how that is generated:
        build_token = jwt.encode(
            {
                "exp": int(time.time()) + self.settings["build_token_expires_seconds"],
                "aud": provider_spec,
                "origin": self.token_origin(),
            },
            key=self.settings["build_token_secret"],
            algorithm="HS256",
        )

It contains:

Host
Provider spec

While host is still available in the backend, as the PR is written, provider_spec is not available in the backend code. There are two paths to fixing this:

Remove provider_spec from the jwt. This means the token will now be valid for all providers in the origin
Change the handler so we do know what provider_spec is in the backend, and don't change the build token generator algorithm.

Reading the original PR that introduced it (https://github.com/jupyterhub/binderhub/pull/1309), my understanding is that this means that launching from the home page will be rate limited by IP, but launching from a link will not be rate limited by IP. I don't think I fully understand the considerations here, and will poke and ask for help!

I don't recall super well, but the main thing was to limit cross-site launches, e.g. from thebe or API requests, but not from regular browser visits. I think you're right that the scheme may not be properly affecting home page builds, which I think isn't right, but also home page builds are a tiny fraction of launches in the current setup.
I think perhaps we may be able to get to a better, simpler result today using sec-fetch headers. The federation makes this complicated, but perhaps still manageable.

Oh, I forgot to comment on the removal of jinja template support. I think most of the changes are AOK by me, but GESIS currently relies on this, but only to add some outer material. As I understand it, that should still work today. So instead of removing all documentation/support of templates, maybe we can update it to clarify that you can still re-skin page.html to some degree, but not reach into the 'App' itself, which I don't think anybody actually wants to do, and probalby doesn't really work today, anyway. WDYT? Or do you want to write new docs for how to accomplish these same goals in The New Way, e.g. with extra_header, extra_footer, extra_css (or theme_ etc.)?

Looks like we've kinda uncovered a rats nest of 'when do we expect repo to be encoded'? For example, with zenodo, we don't expect it to be encoded - localhost:8000/services/binder/v2/zenodo/10.5281/zenodo.3242074/ is a valid URI, but 10.5281/zenodo.3242074/ is the repo, even though it looks like repo/ref.

The only times repo is actually uriEncoded is:

When using gl provider (due to explicit check)
When using git provider (as repo is a full http URL, and it matches the :// check)
When using ckan provider (same :// check)

Everything else is unencoded, including when / are present (as it is for DOIs).

The existing route is  (r"/v2/([^/]+)/(.+)", ParameterizedMainHandler),. Basically I think we lucked out that repoproviders that aren't listed in https://github.com/jupyterhub/binderhub/pull/1856#issuecomment-2529602076 happen to have / in the repo part because DOIs have / in them! I don't think that was intentional.

CC @rgaiacs https://github.com/jupyterhub/binderhub/pull/1856#issuecomment-2527354774

I think in most cases we don't want to double-encode the spec unless we really have to (i.e. the spec is invalid as a URL path, as in git, or there is ambiguity as in gitlab), and in most cases we don't have to, because the spec is already defined by the repoprovider as a URL fragment. But you're right, we can only do that for repoproviders where the spec is a valid URL path fragment, either guaranteeing a certain number of / (github) or not needing to at all (DOI). For frontend purposes, it should be an explicit property of the provider whether the input to the resource / repo / etc. needs encoding or not.

The existing route is (r"/v2/([^/]+)/(.+)", ParameterizedMainHandler),. Basically I think we lucked out that repoproviders that aren't listed in https://github.com/jupyterhub/binderhub/pull/1856#issuecomment-2529602076 happen to have / in the repo part because DOIs have / in them! I don't think that was intentional.

I don't think so. The first group (([^/]+)) matches the repoprovider name (figshare or dataverse or gh), while the (.+) matches the full spec to pass to the provider, which may have zero or more slashes.

For frontend purposes, it should be an explicit property of the provider whether the input to the resource / repo / etc. needs encoding or not.

Yep, this is now my implementation plan!

yay! all tests pass!

All this work is awesome! @arnim and I are planning to dedicated January 2025 to mybinder.org. We hope to make a huge progress and have things in a better state.

@rgaiacs yay!
if we merge this as is, would that be ok with you? Or would we need to add some more customization features before we do that so we don't break your installs?

@yuvipanda can we delay this to be merged on Tuesday? I'm finishing my day and I will not be able to provide support until Tuesday. Thanks for the understanding.

@rgaiacs oh yeah, no problem at all!

if we merge this as is, would that be ok with you?

@yuvipanda this should be OK. But I prefer if this could be merged on Tuesday for me to be ready to act if things stop on GESIS side.

Or would we need to add some more customization features before we do that so we don't break your installs?

@arnim and I need to do a frontend update on our installation because of GESIS change of corporate design. We are planning to do this in January and we will catch up with this changes.

@rgaiacs ah excellent.
This still needs more review, so won't be merged before tuesday i think!

The new interface is a lot narrower than the existing one, and the form background is lighter which I find makes it difficult to distinguish the input fields from the text labels, especially since the input fields have placeholder text that looks very similar to the label text. Do you think you could change the styling to make the input fields more obvious?

@manics the color contrast changes are the result of upgrading bootstrap. I do agree with you though, it could be better. I'll see what I can do.

@manics this is how it looks now. what do you think?
While the form controls didn't flag in the WCAG Contrast Checker some other things did. I'll poke at those.


Refactor bundle to allow override specific methods in subclass

With just few changes I am able to subclass Bundle in a way, that will allow to run it on Google App Engine. My AppEngineBundle for flask is here: https://gist.github.com/1307521 . Usage:

You have to use AppEngineBundle instead of Bundle in your Flask app.py.
You have to use manage.py assets rebuild/watch.
Timestamps are stored in _webassets.py file in project root, because with dev_appserver there is no ability to write into files.

If you are interested to have AppEngineBundle in extensions I could create a separate pull request.

The factoring seems sound. make_url being a bundle method is probably the right thing.
I would like to support AppEngine by default though, and preferably without having the user deal with a separate class.
Can you tell me what the restrictions of App Engine are that currently cause trouble? Only that you cannot write to files?
Because it's not quite clear to me what your subclass is trying to achieve.
When App Engine does not allow you to write files, then presumably the auto rebuild feature makes no sense either way, so App Engine users would just have to disable it (except in development, might it be useful to support in anyway by patching dev_appserver? I remember reading something about this).
Possibly I should give AppEngine a try myself to better understand the issues at play here.

The main restriction is that you can not create/write to files. Another restriction is that some built-in modules are disabled on GAE. So in order to use webassets with AppEngineBundle I have to:

Disable auto-rebuild with ASSETS_UPDATER = False;
Slightly rewrite _update_needed() so it does not throw exception when it can not verify that files are built.
I have to store somewhere modification time. I am able to create/write files from flask-script. So I create _webassets.py in project root and store there modification time.
make_url() just reads modification time from _webassets.py and builds url.
So files are rebuilt from flask-script using commands: manage.py assets rebuild/watch

might it be useful to support in anyway by patching dev_appserver?
I tried this, but code that achieves this is even bigger than my AppEngineBundle class. Also it breaks dev_appserver which is not good thing.

Ok, so I had a look at Google App Engine. Here's my plan to support it better:

I changed the webassets core so that when environment.updater is False, the output file isn't even looked at; it simply expects you to do your build manually. I explained the logic behind this change in detail in the commit message, but it makes sense and is easily the most straightforward solution here. This takes care of part of you're refactoring (you no longer need to overwrite _update_needed).

At this point, with "env.updater" and "env.expire" disabled, everything seems to work on App Engine. Albeit without support for url expiry.

I applied the other part of you're refactoring, moving make_url a Bundle method (but with an underscore, _make_url). So you may still use your subclassing approach.

In the |version" branch, which hopefully I'll complete at some point, there will be a builtin solution that makes this subclassing moot. The branch needs to solve a similar problem: if the output filename is variable (i.e. "%(version)s.css"), then this version cannot be simply read either, so a cache of some sorts that will be deployed with the app needs to be used. This same functionality would work  for App Engine as well.

If there is any trouble building locallz, then http://stackoverflow.com/questions/7300674/appengine-restore-original-builtin-open-file-function can be used.

Thanks, updated gist to work with webassets 0.7.


Fix MaryTTS compatibility layer

MaryTTS receives requests at the /process endpoint with URL-encoded parameters either in the URL itself as a GET request, or as a payload with a POST request. Currently, GET requests are processed correctly, but POST requests will be read out as the full URL-encoded string (see #8). This change fixes the processing of the POST request payload to extract the text properly.

Thank you!


SpEyeGaze - Performance Implications (ram usage)?

Recording disabled - ~27MB steady state

Recording enabled - Balabolka running, text recording only - ~30MB steady state

Recording enabled - balabolka running, text and screenshots recording - up to 2.8GB

It looks like GC is taking care of this, so these are temporary allocations and not leaks.  Give it a shot with the memory profiler of VS if you want to know more, I started using this recently and it's not bad.
We can add a manual GC.Collect() to manage this a little more agressively.  Generally this is considered to be an anti-pattern, as it drives up CPU usage in order to save on RAM which the GC has determined is plentiful, so it increases overall system inefficiency.
That said, I too hate seeing graphs like this and suspect that doing a little manual GC.Collect cleaning is a good thing, and even the discussions on it (from long ago) had the caveat that in some situations (mostly after the teardown of a huge tree of small objects) GC.Collect can be warranted.

Yeah, no disagreement that the GC is doing it't job based on the sawtooth pattern. More concerned that it was all too happy to gobble up 2+GB of ram before doing so. Since Eye Gaze machines are usually not the best spec'd I figured I would call it out. Overall if the performance is fine on the end user system then this is a non-issue. On my dev box I was seeing slow performance, but that may be related to other resource hogs (such as Teams and Defender)


Random interruptions of playback

Hello,
I have random playback interruptions after 5-30 minutes. This is what my log says. How can i troubleshoot further?

Mar 20 22:57:50 raspberrypi librespot[913]: [2022-03-20T21:57:50Z DEBUG librespot_playback::player] drop PlayerInternal[0]
Mar 20 22:57:50 raspberrypi librespot[913]: [2022-03-20T21:57:50Z DEBUG librespot_playback::player] PlayerInternal thread finished.
Mar 20 22:57:50 raspberrypi librespot[913]: [2022-03-20T21:57:50Z DEBUG librespot_core::session] drop Session[0]
Mar 20 22:57:50 raspberrypi librespot[913]: [2022-03-20T21:57:50Z DEBUG librespot_core::audio_key] drop AudioKeyManager
Mar 20 22:57:50 raspberrypi librespot[913]: [2022-03-20T21:57:50Z DEBUG librespot_core::channel] drop ChannelManager
Mar 20 22:57:50 raspberrypi librespot[913]: [2022-03-20T21:57:50Z DEBUG librespot_core::mercury] drop MercuryManager
Mar 20 22:57:50 raspberrypi librespot[913]: [2022-03-20T21:57:50Z WARN  librespot] Spirc shut down unexpectedly

There have been a lot of Mercury-related errors in the Spotify infrastructure lately. Please search around the repository for related reports and solutions.
If you feel that it is unrelated to those infrastructure problems, feel free to open with a complete log and description of hardware and internet setup.

Sorry, but i have searched around and i cant find (for the life of me) any related issues or suitable solutions. Also, i dont know what exactly Mercury is, or what it is responsible for. Can you give me a hint and/or a link to a related issue? Many thanks!


KeyBoard and mouse can not use in the same time

I used Ctrl Pressing with mouse drag. It just liked Ctrl not pressing.
I appreciate your help. Thanks a lot.

It would be helpful if we had a code sample. Did your code look something like this?
Mouse.Position = new Point(10, 10);
Keyboard.Press(VirtualKeyShort.CONTROL);
Mouse.Down(MouseButton.Left);
Mouse.MoveBy(100, 100);
Mouse.Up(MouseButton.Left);
Keyboard.Release(VirtualKeyShort.CONTROL);

It like below. It seemed Control key not be pressed. Thanks.
Mouse.Down(MouseButton.Left);
Keyboard.Pressing(FlaUI.Core.WindowsAPI.VirtualKeyShort.CONTROL);
Mouse.Drag(MouseButton.Left, p, 0, -50);
Keyboard.Release(FlaUI.Core.WindowsAPI.VirtualKeyShort.CONTROL);

So for one, Keyboard.Pressing returns IDisposable (it releases the specified key when the object is disposed), so either use Keyboard.Press instead, or release the key by disposing the IDisposable. But that's not the issue you're having.
If I understand correctly, you just want to press Control and then drag something? I'm not sure what the purpose of the first line (the Mouse.Down) is. If I had to guess then the reason the Control isn't registering is because the mouse button is already being held down when the key is pressed. Try the mouse drag like this (without the Mouse.Down first):
Keyboard.Press(FlaUI.Core.WindowsAPI.VirtualKeyShort.CONTROL);
Mouse.Drag(MouseButton.Left, p, 0, -50);
Keyboard.Release(FlaUI.Core.WindowsAPI.VirtualKeyShort.CONTROL);

Of course I don't have the context, so if the first Mouse.Down was meant to interact with some UI element before the drag, then you should make sure you release the mouse button (using Mouse.LeftClick instead of Mouse.Down) before you press Control and drag.

I tried Keyboard.Press that also made no sense.
And i also tried without Mouse.Down, still like Control key not be pressed.
Thanks anyway.

Are you sure it is not working?
I just tried
Keyboard.Press(FlaUI.Core.WindowsAPI.VirtualKeyShort.SHIFT);
Mouse.Drag(MouseButton.Left, Mouse.Position, 50, 0);
Keyboard.Release(FlaUI.Core.WindowsAPI.VirtualKeyShort.SHIFT);

which actually selects 50 pixels of text to the right of the current mouse position.

As all tests succeeded, I will close this. Feel free to re-open if you still have issues with it.


Flutter build app failed due to flutter_html_to_pdf:verifyReleaseResources

I'm using flutter 3.24.0 and this issue is happening when building apk.
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':flutter_html_to_pdf:verifyReleaseResources'.

A failure occurred while executing com.android.build.gradle.tasks.VerifyLibraryResourcesTask$Action
Android resource linking failed
ERROR:/Users/ashutoshpareek/Downloads/quantelainc/tc_showcase_workspace/tc_showcase/tc_showcase_mob_ui/build/flutter_html_to_pdf/intermediates/merged_res/release/values/values.xml:194: AAPT: error: resource android:attr/lStar not found.

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

@quantela-ashutosh It is specific to Flutter 3.24 simply downgrade to Flutter 3.22.3 it will work fine.


Gather information about hosted mode klusterlet

Signed-off-by: zhujian<EMAIL_ADDRESS>Related Issue: https://github.com/stolostron/backlog/issues/25468
Description of Changes:

Gather information about hosted mode klusterlet
A cluster may be both hub and spoke, such as local-cluster or hosting cluster
Fix lints

What resource is being added:  | N/A
registration/work agents logs in Hosted mode
Is this a Hub or Managed cluster change?:
Hub Cluster | Managed Cluster | N/A
Notes:

/cc @qiujian16 @elgnay

@gurnben please help take a review, thanks.


VSCode: Remove close button from Enhanced Context Settings popup

#2628 will use × in the enhanced context settings popup for removing a repository, so we need to remove the close button. This removes the close button. Now, the popup is closed by:

Clicking outside the popup.
Pressing Escape.

In addition, this takes care that keyboard focus goes to the enable/disable checkbox when the popup opens, and returns to the enhanced context button when the popup closes.
Test plan
pnpm test:e2e -- context-settings.test.ts

Manual test:

Sign in and start a chat.
Open the enhanced context popup.
Press Space a few times, this should toggle the checkbox.
Press Escape, this should close the popup.
Press Space again, this should re-open the popup.
Click somewhere else on the chat. This should close the popup.

😍


SplitPayment improvements

Fixes #1415 Misc SplitPayment improvements

Hey there @cardmaniac992, thanks for contributing to OpenZeppelin! The new contract looks good, but we need to also remove the old one, and change the tests so that they test the updated contract. Could you take care of that?

Sorry this is my first time contributing to open source. I hope it's fine now :)

Thank you very much for your contribution @cardmaniac992!
I pushed some commits to your branch since we're planning to release 2.0 tomorrow and need to get this fix in now, sorry about that!

Thanks for spotting that @elopio :) It hasn't been done yet due to https://github.com/OpenZeppelin/openzeppelin-solidity/issues/1436, so we'll merge as-is.


DrawNode: setLineWitdh() is no longer working

Steps to Reproduce:
cpp-tests->31:Node:Draw>GitHub Issue #11942 (axmol #137)"
Wrong:  Latest build:

Works: Thats a older version

Not recommand use setLineWith because the render backend opengl & metal have diferrent behavior:

GLES2: support glLineWidth
GLES3: only support glLineWidth (0~1)
Metal: not support lineWidth

I hit this as well and found a workaround by taking the drawSolidCircle code and calling drawPolygon instead ofdrawSolidPoly and passing thickness along:
 static void drawCircle(DrawNode &node, const Vec2 &center, float radius, float angle, int segments,
                         float scaleX, float scaleY, const Color4F &color, float thickness) {
    const float coef = 2.0f * (float)M_PI / static_cast<float>(segments);

    Vec2 *vertices = new (std::nothrow) Vec2[segments];
    if (vertices == nullptr)
      return;

    for (unsigned int i = 0; i < segments; i++) {
      float rads = static_cast<float>(i) * coef;
      float j = radius * cosf(rads + angle) * scaleX + center.x;
      float k = radius * sinf(rads + angle) * scaleY + center.y;

      vertices[i].x = j;
      vertices[i].y = k;
    }
    node.drawPolygon(vertices, segments, Color4F(), thickness, color);

    CC_SAFE_DELETE_ARRAY(vertices);
  }

Might be of help to someone, or could perhaps become a new helper if it seems useful enough.


Fixed bug where AsciiInterpreter drops first character

There was a strange bug which dropped the initial character in the String.
The arraycopy function dropped first byte.
This fix seems to work with all my testing. Not sure if it is a hack solution.

Not going to work this way. Bug still exists.


feat: Allow to remove a product not found from the carousel

Hi everyone,
This PR allows showing the close button on all cards.
This button is now a dedicated Widget to prevent duplicated code.

Will fix #4125

Can you instrument it so that we can get a signal of how many people don't care about contribution

Can you instrument it so that we can get a signal of how many people don't care about contribution

Is-it OK with:
tag: 'ignore product',
category: AnalyticsCategory.couldNotFindProduct,
(The category is already used)

Codecov Report

Merging #4126 (d5bbb8d) into develop (abab934) will decrease coverage by 0.01%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##           develop    #4126      +/-   ##
===========================================
- Coverage    10.88%   10.87%   -0.01%
===========================================
  Files          273      273
  Lines        13568    13578      +10
===========================================
  Hits          1477     1477
- Misses       12091    12101      +10

Impacted Files
Coverage Δ

...pp/lib/cards/product_cards/product_title_card.dart
0.00% <0.00%> (ø)

.../cards/product_cards/smooth_product_base_card.dart
0.00% <0.00%> (ø)

...s/product_cards/smooth_product_card_not_found.dart
0.00% <0.00%> (ø)

...mooth_app/lib/widgets/smooth_product_carousel.dart
2.45% <0.00%> (-0.02%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Removed typo

Removed an extra gt

@maliksahil : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Verified the typo fix; looks good. Thanks @maliksahil


[Enhancement] Auth - Check if GitHub App is correctly installed with the used scope

If scope of commands are org, repo or authenticated users, check that the PowerShell for GitHub GitHub App is installed for that scope.

What the app needs can be decided by the org that wants to use the module. The custom authclientid can be custom, so I would rather not check the permissions on it.


Make device address configurable

The i2c address can be changed by pulling the AD0 pin up (Section 6.4,
Page 15 of datasheet revision 3.2).
This can be necessary to do if there is an address conflict with
another chip.
These changes add functions new_with_addr and new_with_addr_and_sens to deal with this case.
Example:
let mut mpu = Mpu6050::new_with_addr(i2c, 0x69);

Thanks for letting me know, I'll have a look! Sry misclicked and had to revert. Now available in #42

@juliangaal
Thanks for merging :slightly_smiling_face:

I think this (...) should be self.slave_addr, If I'm not mistaken. Didn't see that before when I merged

I thought so too at first, but when testing I always got 0x68. Looking at the register map documentation, that's expected:
The contents of WHO_AM_I are the upper 6 bits of the MPU-60X0’s 7-bit I2C address.
The least significant bit of the MPU-60X0’s I2C address is determined by the value of the AD0 pin.
The value of the AD0 pin is not reflected in this register.


Usability improvement - new Template Group test type.

Avoiding the repetitive definition of the same test with the only difference being the name will be a good improvement to Horreum. The advantage of this new type is to avoid loads of boiler plate test definitions set-up.

Yes that's what I am looking for. Thanks.


#35 Add equality operator to the Simhash class to compare by value

Fix PEP-8 import order in unittests

I'll update the tests to skip subTest. Apparently this is not supported in Python 2.7 :)

Thanks!


Number of days readable format

LWC Component:
Hospital on Case

The tree fields made read only for Hospitalization table on Case in this PR
Number of Days
Standard Daily Rate
Total Cost Standard
CC: @crystalz2022  @NataliaNikishina


Prevent suggestions showing if they're identical to the current string

I.e. prevent 'k' from showing as a suggestion if the user types in 'k'

Whatever is typed in is always shown as one of the suggestions (this is Google style)
Individual letters are actually entires in the dictionary, so they will be displayed as suggestions. The dictionary is based on popularity (Google searches) so apparently people do like to search for individual letters!


No footer in FAQ section

There is no footer section in FAQ section. I want to work on this so please assign me this @aditya-bhaumik

@saadgibawa sure go ahead

Make sure to join the discord server for further communication
Don't forget to star the repository
Complete the task in next 2 days and kindly mention your issue # in your pr

Note: the level of issue may change based on code quality of the PR.

There is no footer section FAQ section I would like to work on this issue pls assign me this. @aditya-bhaumik

this issue has been solved, so we are closing this issue.


Fixes: DEPRECATION: Ember.String.pluralize() is deprecated

@gandalfar can you check if #207 fixed this?

It looks like it did, thanks!


[BUG] Fake checkpoint_required reponse

Hi,
I'm using the last version of the package, currently, I'm getting a fake checkpoint_required response, the reason I'm calling it fake is, that if I retry to call API again, The success response will be returned (randomly).
here is an example of a situation, you can see the first request raised checkpoint_required but the second is True.
P.S: Not matter which API has been called, all of them raise this issue randomly. seems Instagram changing its pattern or API call structures.

The first call raised the checkpoint_required error, the second call called immediately after the first one, returning True (exact same account)
Thanks in advance.
>>> c_new = Client(proxy="********")

>>> c_new.login(username='username1', password='passw1')
Status 429: Too many requests
Ignore 429: Continue login
Traceback (most recent call last):
  File "/Users/aliali/ownCloud/Project/python/accountsservice/venv/lib/python3.8/site-packages/instagrapi/mixins/private.py", line 298, in _send_private_request
    response.raise_for_status()
  File "/Users/aliali/ownCloud/Project/python/accountsservice/venv/lib/python3.8/site-packages/requests/models.py", line 943, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://i.instagram.com/api/v1/feed/timeline/
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File<EMAIL_ADDRESS>line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
  File "/Users/aliali/ownCloud/Project/python/accountsservice/venv/lib/python3.8/site-packages/instagrapi/mixins/auth.py", line 418, in login
    self.login_flow()
  File "/Users/aliali/ownCloud/Project/python/accountsservice/venv/lib/python3.8/site-packages/instagrapi/mixins/auth.py", line 168, in login_flow
    check_flow.append(self.get_timeline_feed(["cold_start_fetch"]))
  File "/Users/aliali/ownCloud/Project/python/accountsservice/venv/lib/python3.8/site-packages/instagrapi/mixins/auth.py", line 215, in get_timeline_feed
    return self.private_request(
  File "/Users/aliali/ownCloud/Project/python/accountsservice/venv/lib/python3.8/site-packages/instagrapi/mixins/private.py", line 445, in private_request
    raise e
  File "/Users/aliali/ownCloud/Project/python/accountsservice/venv/lib/python3.8/site-packages/instagrapi/mixins/private.py", line 432, in private_request
    self._send_private_request(endpoint, **kwargs)
  File "/Users/aliali/ownCloud/Project/python/accountsservice/venv/lib/python3.8/site-packages/instagrapi/mixins/private.py", line 354, in _send_private_request
    raise UnknownError(**last_json)
instagrapi.exceptions.UnknownError: checkpoint_required
>>> c_new.login(username='username1', password='passw1')
Status 429: Too many requests
Ignore 429: Continue login
True

@ali-zahedi submit your PR with improvements


Pass blend constant value by reference

The related conversation is here: https://github.com/MaikKlein/ash/pull/191
Also updates ash version
PR checklist:

[x] make succeeds (on *nix)
[x] make reftests succeeds
[x] tested examples with the following backends: GL, Vulkan, Metal, DX12, DX11
[ ] rustfmt run on changed code

cc @kvark


Use package.json's homepage field instead of baseUrl

Problem description:
Currently, netlify-shortener uses its own custom baseUrl field in the package.json. I believe it'd be nice to use an existing convention and avoid creating a new one. I feel like the package.json's homepage fits perfectly for this use case.
(For example, it's what create-react-app uses for generating the app's URL)
Suggested solution:

Add a deprecation message when the user has a baseUrl, encouraging to use homepage instead.
Add support for both homepage and baseUrl, the latter having the priority since it has been the documented way so far.
Release a minor version.
Remove the deprecation message and support for baseUrl.
Release a major version.

What do you think? 😄 I'm happy to submit a PR if it sounds good.

I'd rather just support both and not document the baseUrl. This is such a simple project that it would be a shame to require people to give it any attention if they don't want to.

Totally agree 👍 I just submitted #35

:tada: This issue has been resolved in version 2.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Scanning for UWP interpreters and moving CPython UWP targets import

Moving CPython.targets import into PTVS UWP targets file in lieu of the pyproj
Scanning for UWP interpreters and versions based on installed SDKs

Do these extension packages require you to restart VS after installing them?

Actually, it doesn't matter, since the provider has to retrigger discovery itself anyway and we currently don't here.


Spelling: flash message uses incorrect tense

After signing up for a presentation, this flash message is shown. It should, however, use sent instead of send. Even better would be We successfully received your request ... since the user sends something.

Closed in #249


How we can use custom train model for predictions

Let us assume we have build model on our own custom labeled data.
we can save model as pickle file , while testing we can load that particular pickle file and do predictions. Is this functionality available with the current implementation.if yes, please share me the sample notebook or code for it.
thanks
chandra

@OKUA1
let us assume we have done this:
from skllm.datasets import get_classification_dataset

# demo sentiment analysis dataset
# labels: positive, negative, neutral
X, y = all_list,list(data.completion.values)

clf = ZeroShotGPTClassifier(openai_model = "gpt-3.5-turbo")
clf.fit(X, y)```
until here we have done training the model right ?

we can save model file as pickle file:
clf.save(model.pickle).

for testing the model:
we can load the model and we can testing something like this

clf = pickle.load(model.pickle)
clf.predit("some text") #itshould give classification

@ChandraReddy97 please follow a general pickle guide like the one below. While we have never tested the pickling/unpickling process with skllm, it should still work. Let me know if you run into any problems.
https://practicaldatascience.co.uk/machine-learning/how-to-save-and-load-machine-learning-models-using-pickle

I am closing the issue as it must have been resolved. Please let me know if it was not the case.

Pickle` works well.
Importing Pickle
Import SKLLMConfig from skllm.config.
import os

pickle.dump(clf, open("data/zero_shot_gpt.pkl", "wb"))

SKLLMConfig.set_openai_key(os.getenv("OPENAI_API_KEY"))
clf_loaded = pickle.load(open("data/zero_shot_gpt.pkl", "rb"))

clf_loaded.predict([[
    "The successor to the saga will have new hardware and a lower price point," according to a person familiar with the plans,
    "The newly created ETF could attract up to $36 billion in inflows from other crypto products such as the Grayscale Bitcoin Trust (GBTC), a report said.",
    "Bitcoin's RSI divergence signals a correction, 10x Research said."
    ])


Verilog compilation options in the toolchain wrapper

support synthesis options for the yosys in the toolchain wrapper scripts.
1> If multiple folders needs to be added
2> mutliple verilog files with selected extension.
3> Add file which has list of all verilog files.
and other options can be added from : http://www.clifford.at/yosys/cmd_read_verilog.html
Since you will be looking at toolchain wrappers, can you also add support for k6n10 in the wrappers till Place and Route.

This PR adds support for those options: https://github.com/QuickLogic-Corp/symbiflow-arch-defs/pull/318


Search for a streamfield block can inadvertently create one

Issue Summary
If you search for a streamfield block, clicking the 'esc' key to exit the search will create the first block that it found.
Steps to Reproduce

In Bakerydemo, create a Standard page.
In the page body click the '+' to select a block.
In the 'Search options...' input, type one character ('a' for instance).
Press the escape key to exit.  The popup will close and a block will be created for the first filtered block.

It seems like there should be some sort of distinction between hitting 'esc' and 'return'.

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: yes

Technical details

Python version: 3.11.1
Django version: 4.1.5
Wagtail version: 4.2rc1

Thx for the reporting @jstamp. Unfortunately, I cannot reproduce this with your provided steps. In my case, ESC always closes the picker and no block gets added.
I've used Firefox 109 and Chrome 109 on linux, the other technical details (python, django, wagtail) are exactly the same in my case.

Ah.  OK, I see now.  It only happens when I have the Vimium plugin enabled.  Sorry, totally forgot to disable plugins while trying to figure out what's going on.
The new ComboBox.tsx highlights the first filtered item "to speed up selection" and then hitting esc for some reason causes Vimium to activate it.
Anyway, it works as expected with the plugin disabled.  Sorry about the noise.


Where is the KPRCServer or install(Krpc) in Linux X64 version 0.4.0?

Describe the bug
I was going to use kRPC in Kotlin Native, but I couldn't start my experiment based on the tutorial because some classes didn't exist.
To Reproduce
Steps to reproduce the behavior:

Kotlin version
2.0.21
Gradle version
8.10
OS (Or at least KMP platform)
target: linux X64, Ubuntu 22.04 and in the docker container, dev: Windows 11 23H2.
Minimal reproducer in code

Why is there no kotlinx.rpc.krpc.server package? There is only package kotlinx.rpc.krpc.server.internal, which is not correct.

plugins {
    kotlin("multiplatform")
    kotlin("plugin.serialization")
    id("org.jetbrains.kotlinx.rpc.plugin")
}

kotlin {
    linuxX64("native").apply {
        binaries {
            executable {
                entryPoint = "top.lolosia.rpc.main"
            }
        }
    }

    sourceSets {
        nativeMain.dependencies {
            implementation(project(":rpc-common"))
            implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-server:0.4.0")
            implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-ktor-server:0.4.0")
            implementation("org.jetbrains.kotlinx:kotlinx-rpc-krpc-serialization-json:0.4.0")
            implementation("io.ktor:ktor-server-core:3.0.2")
            implementation("io.ktor:ktor-server-cio:3.0.2")
        }
    }
}

Error description
No ktor-server implementation for linux X64 was found
And so on

Expected behavior
According to the Readme.md, import these classes correctly and continue my attempt.
Additional context
I'm going to place a binary executable containing the kRPC server in any docker container so that I can access it from the outside. But I ran into a problem. I couldn't find these classes in klib, so I couldn't keep trying the Readme.md.

@Mr3zee Excuse me, I haven't received your reply. Did I raise the issues by mistake? Should I go to Jetbrains YouTrack to raise this issue?

Hey @lolosiax !
Thank you for the question and sorry for the delayed response. The kmp support for server will arrive in 0.5.0

Thank you for your efforts. May I ask how long it will take to release this version? Is a SNAPSHOT version available?


Trailing comma in tuple removed

Hi,
I am generating routes for warp, with function return types that look like this:
warp::filters::BoxedFilter<(impl Reply,)>

You can see the same in a warp example.
prettyplease removes the trailing comma inside the tuple and the code does not compile.
Is this inside or outside the 95% that you wish to cover?

Should be fixed in 0.1.1.

I tested this in my case and it works. Thank you.


improve/multiline-double-esc

BackSpace also works in Preview Mode.
change the Hint from [ESC]: preview to [ESC](Preview). It looks like markdown, and many uses [xx] to wrap a key.

@kingwingfly Thanks mate!


zone.js should be listed as a peerDependency of auto-instrumentations-web

What version of OpenTelemetry are you using?
0.33.2
What version of Node are you using?
18.18.2
What did you do?
I set up a reproduction repro here https://github.com/dbasilio/opentelemetry-peer-dep-repro to show that if you use strict peers in yarn, you cannot install auto-instrumentations-web. It also includes possible solutions to the problem.
What did you expect to see?
You do not get any install errors when using yarn with strict peers
What did you see instead?
Yarn prints an error and won't let your builds proceed

I'm also putting up a PR to fix this, but wanted to be able to link it to an issue :)


Cannot download dataset or model weights

Hi,
Running the script to download the dataset and model results in the following:
--2023-11-17 16:27:08--  https://share.phys.ethz.ch/~gsg/Predator/weights.zip
Resolving share.phys.ethz.ch (share.phys.ethz.ch)... <IP_ADDRESS>
Connecting to share.phys.ethz.ch (share.phys.ethz.ch)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2023-11-17 16:27:12 ERROR 403: Forbidden.
unzip:  cannot find or open data.zip, data.zip.zip or data.zip.ZIP.
unzip:  cannot find or open weights.zip, weights.zip.zip or weights.zip.ZIP.
rm: cannot remove 'data.zip': No such file or directory
rm: cannot remove 'weights.zip': No such file or directory
It seems that there is an issue with your servers again. Is it possible to get the training data and model weights another way or fix the link?
Thanks in advance, and for some really great work!

Server link works again...thank you!

Hi @shahyaan Could you share the data and weights? The provided links do not work.


Caddy does not support http+https on standard ports if certs are supplied

1. What version of Caddy are you using (caddy -version)?
0.10.7
2. What are you trying to do?
Serve http on port 80 and https on port 443 by specifying only a hostname, but supplying certificates.  (In my actual use case, there are multiple hostnames and paths, so duplicating them with both http:// and https:// prefixes is a PITA, and for compatibility reasons all certs are generated externally to Caddy.)
3. What is your entire Caddyfile?
test4.pjeby.com {
    tls /certs/test4.pjeby.com/fullchain.pem /certs/test4.pjeby.com/privkey.pem
    proxy / http://fpm_server_1 {
        transparent
    }
}

4.  Please paste any relevant HTTP request(s) here.
6. What did you expect to see?
Caddy should listen for http and https requests on port 80 and 443
7. What did you see instead (give full error messages and/or log)?
Caddy listens on port 2015 for https only. (Or, if -port 80 is supplied on the command line, Caddy listens on port 80 and TLS is disabled instead.)
8. How can someone who is starting from scratch reproduce the bug as minimally as possible?
Use a plain server name and supply certs manually.

Just do https://test4.pjeby.com as your label, and it'll work as expected.

When you provide your own certificates, Caddy doesn't change the ports for you (because automatic HTTPS is disabled) -- so all you'll have to do is https://test4.pjeby.com or test4.pjeby.com:443 and it will serve on the ports you designate. I know you want to use just a "plain" hostname in this cause but that's simply not how Caddy works.

To me this seems inconsistent. I would support this as a feature request unless there are substantial technical issues

What's inconsistent? Caddy's default port is 2015. Automatic HTTPS changes the port to 443 for you (because it's automatic HTTPS).

Why not use correct default ports (http = 80 & https = 443) for all situations (automatic https / manual https) ? and let's user, if he want use custom port to specify it.

I've ran into this before with self signed certs - IMO, if TLS is on at all, it should use port 443, unless otherwise specified. It's confusing that it would just use 2015 even when TLS is on, it's a pretty error-prone and non-obvious behaviour, I think. Using port 443 by default if not specified is a more obvious default if TLS is on.
Obviously though, changing this would be a BC break, so I definitely see reasons not to do it as well.

I'm not sure that users see the automatic redirect from HTTP to HTTPS as part of the automatic HTTPS, more just that Caddy wants to make a site secure by default (which involves redirecting traffic from a HTTP site to a HTTPS one if it exists).
If a user is providing their own certs (which many may do if they are looking for certs signed by an CA alternative to LetsEncrypt) it seems to me that it would make sense to serve that site and that cert on :443 by default.
This would not be top priority, but unless there is a difficult technical reason my view would be that this should be a feature request and reopened.
@0xbaadf00d The default of :2015 for sites that do not use TLS is well established in Caddy and there so that Caddy Just Works (often port :80 and :443 are in use).   This isn't in the discussion.

We won't be using 80 or 443 as default ports because they're privileged. For spinning up Caddy for quick test or dev sites, that's annoying. (Also, people don't usually want ports 80 or 443 actually open and responding on their home network.) If it can't bind to 80 or 443, then erroring out is a hassle, and changing to a higher port automatically sometimes is confusing.
I appreciate the feedback here but I'm not convinced this is a better idea either on technical grounds or usability ones. If we start splicing out the automatic HTTPS behavior into bits here and pieces there, depending on configuration, how Caddy works is going to get confusing really fast.

If Caddy wants to serve http on 2015 -- and only 2015 -- that'd be fine...  except that if you specify http://, then it goes to :80...  so you can't get things to be consistent without explicitly supplying ports everywhere. Conversely, if you set -port 80, TLS is disabled, instead of having http served on 80 and https on 443.
From where I'm standing, Caddy configuration is already failing at orthogonality because it is special-casing all over the place, and if you fall outside the boundaries of those special cases, you just get weird results instead of clear explanations or things just working orthogonally.  That you have to have automatic TLS in order to get dual http/https behavior is just weird -- there is no reason for a user to expect this requirement, and Caddy doesn't even issue a warning for it.
nginx, to name one example, doesn't require you to duplicate a server block or even the server name in order to serve the same site for both http and https.  (It applies any https config to the https listener, and ignores it for the http.)  Since nginx doesn't do automatic certs, clearly the feature is possible without it.
(Notice, by the way, that I'm not saying anything about redirecting http to https.  I'm talking about serving the site under both -- which is what I was originally trying to do here.)
All that being said, I personally consider the issue moot.  At this point I've given up on Caddy for at least this use case (an ingress controller mapping multiple subpaths under multiple domains to specific docker containers), as in practice the configuration language has other issues besides this and the case-sensitivity one.  (The more I've played around with it, the more issues I find, like inconsistencies between how paths are handled in the body of a server config vs. the key.)
And as I've skimmed through the issues and codebase looking for answers, I mostly keep finding indications that Caddy's design consists of patching and repatching special cases (e.g. moving things up and down the middleware stack) until certain scenarios Just Work...  which pretty much makes it something I can't trust for this type of infrastructure, because who knows what will happen if I change some parameter down the road and I suddenly fall outside the Just Working scenarios?
(And yeah, I get that it was originally supposed to be a single-user developer thing, but the configuration language at first blush looked like a readable and highly-usable alternative to traefik and nginx's configuration languages.)

@pjeby

If Caddy wants to serve http on 2015 -- and only 2015 -- that'd be fine... except that if you specify http://, then it goes to :80... so you can't get things to be consistent without explicitly supplying ports everywhere. Conversely, if you set -port 80, TLS is disabled, instead of having http served on 80 and https on 443.

The -port flag changes the default port - in other words, the port to use if one is not specified. I don't see what's so hard about specifying a different port if you want a different port.

From where I'm standing, Caddy configuration is already failing at orthogonality because it is special-casing all over the place, and if you fall outside the boundaries of those special cases, you just get weird results instead of clear explanations or things just working orthogonally.

There is not that much "special casing" -- the requirements for automatic HTTPS are clearly outlined in the docs. It's either on, or it's not. What do you mean by "weird results"?

That you have to have automatic TLS in order to get dual http/https behavior is just weird

This is not true either. If you specify your own certificates, you can certainly have both HTTP and HTTPS. Caddy can't read your mind to know what you want to do.

there is no reason for a user to expect this requirement, and Caddy doesn't even issue a warning for it.

A warning for what? It prints the list of sites it's serving, what are you looking for exactly?

nginx, to name one example, doesn't require you to duplicate a server block or even the server name in order to serve the same site for both http and https. (It applies any https config to the https listener, and ignores it for the http.) Since nginx doesn't do automatic certs, clearly the feature is possible without it.

Remember, Caddy's goal is to NOT serve on HTTP as often as possible. Caddy is designed to serve HTTPS by default. Caddy is recommend by experts for easy, secure website setups. Nginx doesn't have this as a goal. If you want HTTP by default and not HTTPS, then use another web server.

(Notice, by the way, that I'm not saying anything about redirecting http to https. I'm talking about serving the site under both -- which is what I was originally trying to do here.)

http://example.com, https://example.com
tls cert.pem key.pem
...

That's all it takes. HTTP and HTTPS with your own cert. Easy. And Caddy does print a warning for the site served over HTTP in this case.

All that being said, I personally consider the issue moot. At this point I've given up on Caddy for at least this use case (an ingress controller mapping multiple subpaths under multiple domains to specific docker containers), as in practice the configuration language has other issues besides this and the case-sensitivity one. (The more I've played around with it, the more issues I find, like inconsistencies between how paths are handled in the body of a server config vs. the key.)

We'll get the bugs fixed -- you're welcome to help contribute. Can you elaborate on the other things you'd like to see changed? That would be more helpful than "this doesn't work the way I want".

By "weird" I simply mean, not orthogonal.  On the surface, Caddy's configuration language appears to be orthogonal throughout: stuff inside a server block appears not to affect stuff outside, and vice versa...  except for when it does.
If you're not clear on what I mean by orthogonal, I mean that changing something in one place should not require you to change something somewhere else, when the things are not obviously related or dependent.
So for example, if someone is using Caddy-generated certs to start with, and then later adds a tls directive to specify certs, it is not obvious that changing the labels of the previously-working configuration is required to keep the site behavior the same.  Simply adding the tls directive forces other things to change, or else your site becomes unreachable on the ports that it was reachable on ten minutes ago.  A busy sysadmin should not be expected to magically know that "foo.bar.com" is no longer a valid address just because they added a tls line.
So, if that's the behavior Caddy is going to have, I would expect at minimum these non-orthogonal bits to be documented for any part of the syntax where there is non-local influence.
For example, the Site Addresses section on this page should explain what happens when automatic HTTPS is not enabled, rather than only giving examples for when it is, and the tls directive page should have a prominent warning explaining that many Caddy features work differently or do not work at all if you use your own certificates -- and list which ones those are.
In addition, each directive should indicate where it falls in the middleware stack: it should not be necessary to reference the code in order to know what directives take precedence over what.
These kinds of documentation, IMO, are the minimum needed to avoid the kind of hassles I spent hours on, to do what seemed to me like pretty basic things to do with a webserver.
If you want to say, "well, it's not really meant to be a general-purpose webserver," sure, but then you also seem to be saying it should work fine for everyone...  so I'm not really sure what position you're actually taking.
In any case, I've now told you what documentation changes would've helped me avoid wasting time and giving up on Caddy before I could even really get started with it, as well as what behavior changes (e.g. making user-supplied and Caddy-obtained certs have no effect on how addresses map to ports) would make those documentation changes unnecessary.

FWIW I totally agree about the non-orthogonality. I ran into the same issues and find it really annoying that because I only changed a server from having a LE cert to using self_signed, it stopped working, because I didn't specify the port in the label.

I don't think I'm a fan of the term orthogonal in this context; I don't really understand how its meaning maps to what you're using it for, but that could be my own lack of exposure to its use in this manner elsewhere. But you've explained it well enough, which I appreciate.
First, if it's not unwelcome, a short opinion:
The headlining feature of Caddy, as I see it, is Automatic HTTPS. There's a large amount of hand-holding involved in this feature, such as setting your HTTP redirection behaviour for you so you don't need to worry about it. It's the product differentiator, and a primary design concern.
If a user doesn't want to use Automatic HTTPS, a lot of that hand-holding must go away, and the user needs to tell Caddy explicitly how they want to handle things. It's an almost-complete, take-it-or-leave-it full TLS configuration. This makes sense to me, as long as the concept of Automatic HTTPS and its effects are well understood.
Now, outside of that opinion, there's a few things addressed that I'm in full agreement with:
Documentation of features that affect, or are affected by, the Automatic HTTPS feature explicitly outlining the extent of those effects in either mode of operation. :+1:
Having the ordering of directives to be exposed somewhere prominent in the documentation. It's not infrequent that I have to check it, so I like this idea. :+1:
Maybe even changing tls directive behaviour. I'm not sure about that, though - having manually supplied certificates not break Automatic HTTPS while other changes do break it is even more of an edge case.
The Caddy website documentation is also available here on Github. Outside of bringing the documentation shortcomings to the attention of the contributors, I have no doubt that any additional input on what the documentation should look like, in the form of a PR or an issue, will be welcomed as well.

@pjeby I think your suggestions for improving the docs are excellent. I'll get right on that this weekend.
@Whitestrake

Maybe even changing tls directive behaviour. I'm not sure about that, though - having manually supplied certificates not break Automatic HTTPS while other changes do break it is even more of an edge case.

I think you're right. I'll update the docs, rather than the behavior.

@mholt: note that you could also make the behavior orthogonal by always requiring explicit addresses, and deprecating the implicit interpretation of scheme-free addresses.  This has the advantage of also making the documentation simpler, since you would only need to remove a feature rather than add new documentation for the exception cases.  :smile:
@Whitestrake: the word "orthogonal" literally means "at right angles to each other", but the metaphorical meaning used in IT and compsci is that things are on independent dimensions or axes.  That is, if two axes or dimensions are at right angles, then moving something along one dimension does not move it on the other dimensions: changing the X position doesn't change the Y position and vice versa.
Thus, language or application features are said to be orthogonal when they can be adjusted independently, without needing to think deeply about how things on "other dimensions" might be affected.
(The idea is closely related to separation of concerns, at least in the sense that a lack of orthogonality is often a symptom or "code smell" indicating an insufficient separation of concerns in the underlying architecture.  In the case at hand, it points to the lack of separation between the concerns of address label interpretation, and automated certificate handling.)

@pjeby

note that you could also make the behavior orthogonal by always requiring explicit addresses, and deprecating the implicit interpretation of scheme-free addresses. This has the advantage of also making the documentation simpler, since you would only need to remove a feature rather than add new documentation for the exception cases

You're suggesting I remove Caddy's flagship feature in the name of orthogonality. If we change the behavior so that ports or schemes always have to be explicitly defined, then HTTPS no longer "just works" -- you'd have to turn it on (as ACME requires ports 80 and 443 to function).

Well, if the feature's that important, why does it stop working when you provide your own certs?  I mean, fixing that also makes it orthogonal and avoids documentation changes.  And it is what I suggested first.  :wink:

Well, if the feature's that important, why does it stop working when you provide your own certs?

Because that literally is the opposite of the feature, you can't do both. I'm not going to introduce hybrid "sorta-auto-HTTPS" modes: it's either fully automatic or you do things the classic, manual way.

And that's the heart of the disagreement, right there: to me, "the feature" is that specifying an address without a scheme gets you both http and https on the standard ports, with http redirecting to https.  Apparently you have something else in mind for the definition of "this feature",  but I literally don't know what feature that is.
If "the feature" is automatic Let's Encrypt, then that strikes me as saying the feature is a drill, when what I want is a hole.  How the certificate is obtained is not the (end user) feature, it's merely a means to the end of serving http and https on standard ports.
Not having to supply a certificate is merely an added bonus on top of that feature, in my view.
But I guess we'll have to agree to disagree, because we clearly disagree.  :smile:

but I literally don't know what feature that is.

"The feature" I'm referring to is automatic HTTPS.

Not having to supply a certificate is merely an added bonus on top of that feature, in my view.

Not having to supply a certificate is a necessary part of the feature, as it doesn't make sense without that part of it.
Hope that clears things up.


Support NodeBB 0.6.x

"nodebb-theme-vanilla": "~0.0.91" is outdated in package.json. Can you update / adpat this theme with lastest NobeBB version ?

I'll see if I can afford some time on this in the next weeks.
This project describes my first contact with bootstrap (learning by doing) and therefor the code-quality has much disadvantages...
Maybe I'll re-create a similar theme instead.
But first I have to find some spare time :clock11:

added support for now.


Make it so you can run github actions if repo is private?

I don't know yet if this is necessary. But it is a problem we've encountered so its worth thinking about whether we should enable GHA to run even if its a private repo. This would still necessitate that github secrets be set at the very least.

This is working as of now with the work I was doing on OTTR_Quizzes. So I'm going to close this for now.


etesync-dav: 0.20.0 -> 0.30.6

Motivation for this change
etesync-dav was stuck on 0.20.0 due to higher versions depending on python bindings to etebase. This pull request updates etesync-dev and includes the nix expression for etebase.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[X] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 105519 run on x86_64-linux 1

4 packages built:

etesync-dav
python37Packages.etebase
python38Packages.etebase
python39Packages.etebase

Okay I made another push, which should have fixed any remaining issues.

Result of nixpkgs-review pr 105519 run on x86_64-linux 1

4 packages built:

etesync-dav
python37Packages.etebase
python38Packages.etebase
python39Packages.etebase

patch to compile etebase on darwin:
diff --git a/pkgs/development/python-modules/etebase/default.nix b/pkgs/development/python-modules/etebase/default.nix
index c487aa98eb17..366c447ed942 100644
--- a/pkgs/development/python-modules/etebase/default.nix
+++ b/pkgs/development/python-modules/etebase/default.nix
@@ -1,4 +1,4 @@
-{ lib
+{ stdenv
 , wheel
 , rustPlatform
 , pipInstallHook
@@ -10,6 +10,7 @@
 , perl
 , rustfmt
 , fetchFromGitHub
+, Security
 }:

 rustPlatform.buildRustPackage rec {
@@ -34,6 +35,8 @@ rustPlatform.buildRustPackage rec {
     wheel
   ];

+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
+
   propagatedBuildInputs = [
     python
     msgpack
@@ -49,7 +52,7 @@ rustPlatform.buildRustPackage rec {
     pipInstallPhase
   '';

-  meta = with lib; {
+  meta = with stdenv.lib; {
     homepage = "https://www.etebase.com/";
     description = "A Python client library for Etebase";
     license = licenses.bsd3;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 10328cb08e8c..5010c7dcc8be 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1951,7 +1951,9 @@ in {

   etelemetry = callPackage ../development/python-modules/etelemetry { };

-  etebase = callPackage ../development/python-modules/etebase { };
+  etebase = callPackage ../development/python-modules/etebase {
+    inherit (pkgs.darwin.apple_sdk.frameworks) Security;
+  };

   etesync = callPackage ../development/python-modules/etesync { };

Result of nixpkgs-review pr 105519 run on x86_64-darwin 1

1 package failed to build:

etesync-dav

3 packages built:

python37Packages.etebase
python38Packages.etebase
python39Packages.etebase

Result of nixpkgs-review pr 105519 run on x86_64-linux 1

4 packages built:

etesync-dav
python37Packages.etebase
python38Packages.etebase
python39Packages.etebase


Where can I find a c++ example of using operon?

Hi!
It seems that the only example here is empty_example.cpp. I am wondering whether there is an example that can run at this moment? Really appreciate the help and also thank you for open sourcing this library!
Best,
-Break

Ok I think I found this: https://github.com/heal-research/operon/blob/master/test/source/performance/evaluation.cpp
Is this the best example I can find? Thanks!

Hi, here is an example of a cli app running the NSGA2 algorithm:
https://github.com/heal-research/operon/blob/cpp20/cli/source/operon_nsgp.cpp
This demonstrates how to initialize all the required genetic operators and configure them.
If you need anything else don't hesitate to ask.

Ah I see. Thanks a lot! I'll switch to cpp20 branch then. Really appreciate the prompt response!

Hello @foolnotion ,
Just found the branch cpp20 is removed?
And the main branch still keeps the example/ empty.
Best

Hi, the master branch was renamed to cpp17 and the cpp20 branch was renamed to main. Some examples will be added but in the meanwhile you can have a look at our cli programs:

https://github.com/heal-research/operon/blob/main/cli/source/operon_gp.cpp
https://github.com/heal-research/operon/blob/main/cli/source/operon_nsgp.cpp


Terminal side panel can no longer be moved to the left, next to explorer

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: Latest
OS Version: Windows 11

Steps to Reproduce:

Open VS CODE
Try move your side panel to the left. It doesn't work. It only lets you move to the bottom, or right

Fix this asap pls.

/duplicate of #141349

@gjsjohnmurray
This is not the same issue.  The issue you reference is to place the side-bar next to the side-panel on the right.  I don't want to do that at all.
I would like my side-bar on the left, my terminal next to my side-bar on display1 and my editor to the right of those on display 2.  I can no longer do that.  Please open this issue back up.  Why did you remove that capability anyway.  I've been working that way for years now - what did removing it solve.  This is crazy - I about had a heart attack when I updated my vscode and everything came up all mixed up.  Who does this?

With respect, what you are unhappy about is one manifestation of the 1.64 change being handled in the issue I referenced.
A short term workaround for you is to downgrade. See https://github.com/microsoft/vscode/issues/141349#issuecomment-1029944661


Please add this to docs

Crucially important information for some people to know:
let sheetToClone = workbook.getWorkSheet("ID TO CLONE")
let copySheet = workbook.addWorkSheet("Sheet")

copySheet.model = sheetToClone.model
copySheet.name = "THE REAL ID/NAME YOU WANT FOR THIS SHEET"

//DO STUFF HERE

return workbook.xlsx.writeFile("your_file")

Originally posted by @msedek in https://github.com/exceljs/exceljs/issues/591#issuecomment-431368259

@atljoseph could You open PR?

Cloning worksheet data with styling model


TraceUtilityNetwork using toolkit component

Description
TraceUtilityNetwork samples now take advantage of the utility network trace tool from toolkit, shortening our sample code drastically.
Type of change

Other enhancement

Platforms tested on

[ ] WPF .NET 6
[ ] WPF Framework
[ ] WinUI
[ ] MAUI WinUI
[ ] MAUI Android
[ ] MAUI iOS
[ ] MAUI MacCatalyst

Checklist

[ ] Self-review of changes
[ ] All changes work as expected on all affected platforms
[ ] There are no warnings related to changes
[ ] Code is commented and follows .NET conventions and standards
[ ] Codemaid and XAML styler extensions have been run on every changed file
[ ] No unrelated changes have been made to any other code or project files
[ ] Screenshots are correct size and display in description tab (800 x 600 on Windows, 600 height mobile screenshots for MAUI)

We will not be moving forward with this. The concern was for users who do not want to use the toolkit. The toolkit repo has their own sample app to demo the trace UN tool. Instead of replacing the existing sample, we will link the toolkit component in the readme additional information section.


CD to /data before running tool, so that discord-registration.yaml is found

See #205 #212
The tools do need to be run from /data so they can find the discord-registration.yaml.

Thanks again for the quick fix!