elixir: 1.12.0 -> 1.12.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/elixir-lang/elixir/releases.
meta.description for elixir is: "A functional, meta-programming aware language built on top of the Erlang VM"
meta.homepage for elixir is: "https://elixir-lang.org/"
meta.changelog for elixir is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1/bin/elixir passed the binary check.

/nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1/bin/elixirc passed the binary check.

/nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1/bin/iex passed the binary check.

Warning: no invocation of /nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1/bin/mix had a zero exit code or showed the expected version

/nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1/bin/.elixir-wrapped passed the binary check.

/nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1/bin/.elixirc-wrapped passed the binary check.

/nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1/bin/.iex-wrapped passed the binary check.

3 of 7 passed binary check by having a zero exit code.

6 of 7 passed binary check by having the new version present in output.

found 1.12.1 with grep in /nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1

found 1.12.1 in filename of file in /nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1

directory tree listing: https://gist.github.com/6bed5888e029906e71db76620dc79df8

du listing: https://gist.github.com/c025340d708a2da6f0cbb5b25df676bc

Rebuild report (if merged into master) (click to expand)

13 total rebuild path(s)

4 package rebuild(s)

4 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
3 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
elixir
elixir_1_12
elixir_ls
mix2nix

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A elixir https://github.com/r-ryantm/nixpkgs/archive/b2e72b75a8999bb39a7d77b7adb133f3904ed26b.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1
ls -la /nix/store/xym3183jyw2q04y2lqp0g6qj40h784kc-elixir-1.12.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

elixir
elixir_ls
mix2nix

Maintainer pings
cc @ankhers @Br1ght0ne @DianaOlympos @gleber @happysalada @yurrriq for testing.

Result of nixpkgs-review pr 124843 at b2e72b75 run on aarch64-linux 1

2 packages built successfully:

elixir (elixir_1_12)
elixir_ls

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

2 packages built:

elixir (elixir_1_12)
elixir_ls


Crosspost recently recorded Greenpill podcast episodes?

Gotta check with Owocki first

We have the green light (lol) from Owocki to do this. Here's the source of all that's been released so far:
https://pod.link/1609313639
There are currently five published episodes:
Season 3 - Ep. 5 - GreenPill Hypercerts Experiment w/ Sejal + Bitbeckers
✨ Subscribe to the Green Pill Podcast ✨ https://pod.link/1609313639 🟢 Get the GreenPilled Book 🟢 https://greenpill.network/  🟢 NEW!  Greenpill NFTs... more
18 Jan 2024 · 43 minutes
Season 3 - Ep. 4 - Grants Report: Eugene + Mashal
✨ Subscribe to the Green Pill Podcast ✨ https://pod.link/1609313639 🟢 Get the GreenPilled Book 🟢 https://greenpill.network/  🟢 NEW!  Greenpill NFTs... more
16 Jan 2024 · 51 minutes
Season 3 - Ep. 3 - Productizing R&D w/ Juan Benet
✨ Subscribe to the Green Pill Podcast ✨ https://pod.link/1609313639 🟢 Get the GreenPilled Book 🟢 https://greenpill.network/  🟢 NEW!  Greenpill NFTs... more
11 Jan 2024 · 1 hour,
Season 3 - EP. 2 - Ethereum Attestation Service w/ Steve Dakh
✨ Subscribe to the Green Pill Podcast ✨ https://pod.link/1609313639 🟢 Get the GreenPilled Book 🟢 https://greenpill.network/  🟢 NEW!  Greenpill NFTs... more
09 Jan 2024 · 46 minutes
Season 3 - Ep. 1 - Its Impact Season w/Jonas, Carl, Owocki
✨ Subscribe to the Green Pill Podcast ✨ https://pod.link/1609313639 🟢 Get the GreenPilled Book 🟢 https://greenpill.network/  🟢 NEW!  Greenpill NFTs... more
04 Jan 2024 · 53 minutes


Allow Arabic bidirectional text with ligatures

Related issues:

https://github.com/mkovaxx/unifont-rs/issues/1

Summary
Implemented explicit bidi text and Arabic contextual forms support in a modular design (src/bidi/mod.rs and src/scripts/arabic.rs), enhancing the text rendering capabilities. This approach, prioritizing user control and flexibility, sets the stage for easy expansion to additional scripts with minimal overhead.
Highlights

Explicit Processing: Chose explicit over implicit handling for bidirectional and Arabic text to minimize library complexity, placing control in users' hands for tailored text rendering.
Modular Structure: Ensures scalability and maintainability, simplifying future enhancements and additions of script-specific logic.
Impact: Offers precise text rendering control, especially for Arabic and bidi text, without significantly adding to the library's complexity. This decision paves the way for supporting more scripts efficiently and sustainably.

Next Steps

Automatic Script Detection
Testing

@Konosh93 Thanks for taking this on!
I like the holistic approach you took here, with other scripts already in mind!
Could you please think of a way of exposing this functionality that doesn't require the user to know what scripts the text contains?
We can keep specialized treatment limited to Arabic text for now, but it'd be nice to at least have the top-level entry point of this API worked out.


[question] wrapping long lines

I noticed when formatting a file containing:
\usetikzlibrary{calc, graphs, graphs.standard, shapes, arrows, positioning, decorations.pathreplacing, decorations.markings, decorations.pathmorphing, fit, matrix, patterns, shapes.misc, tikzmark}

It gets formatted to:
\usetikzlibrary{calc, graphs, graphs.standard, shapes, arrows,
    positioning, decorations.pathreplacing, decorations.markings,
decorations.pathmorphing, fit, matrix, patterns, shapes.misc, tikzmark}

Wrapped into 3 lines where only the second is indented. Is this the desired output?

This is a duplicate of #32. This is currently the desired behaviour, but if there is interest in adding a flag to change this, I could look into it. Could you clarify what you would prefer here?

Ah, my bad. In this case, and similar to a long \usepackage I would prefer to have each library in a separate line,
\usetikzlibrary{
    calc,
    graphs,
    graphs.standard,
    shapes,
    arrows,
    ...

However in the example provided in #32, I would prefer the last alternative proposed.
\comment{
  This is a comment
  that the user has decided
  to write on different lines.
}

This is just my wishlist, I currently do not know how hard it would be to differentiate the two cases. I guess it would have to be a list of specific commands like usepackage where the behaviour would be like in the first case, and otherwise like the second.

Just read the comments on adding extra line breaks, in that case,
\usetikzlibrary{
  calc,
  graphs,
  graphs.standard,
  shapes,
  arrows,
  ...}

and
\comment{
  This is a comment
  that the user has decided
  to write on different lines.}

@marcfranquesa Could you add a 👍 on this comment so that there can be a tally of how desirable this feature this?


Feat: GitHub action that removes labels and assignees on close

Changes:

Added a GitHub action to be triggered when an issue is closed that removes the assignees and all labels.

Nice, the code looks good, so I hope it will work. :)


Typescript type narrowing issue for TypeGuard

🔎 Search Terms

TypeScript union type narrowing
TypeScript type narrowing issue with typeof
TypeScript typeof with union types
TypeScript typeof typeguard problem
TypeScript typeof type error
TypeScript union callable type narrowing issue
TypeScript switching on typeof union type problem

🕗 Version & Regression Information

This is the behavior in version 5.1.6 and Nightly I tried, and I reviewed the FAQ for entries about typescript type narrowing issue

⏯ Playground Link
https://www.typescriptlang.org/play?ts=5.3.0-dev.20230808#code/C4TwDgpgBAysBOBLAdgcwPLwGIFdkGNhEB7ZKAXigCItjiqoAfKAChYEoKA+agIQEN4VdgCgR+UgGdgUYgCMAVlABcUAEoR+AE1IAbEAB4A3lABmyVXCRpMuAkVJQAvj0onzqjtz6CGTqOJSMqCQ6KZYZJQhEMSmsooAdOZiEsjSUBAAHpCEViioFKzS8KrF+ZzkPEZOYpIA7ojA+AAWLNFhEZxGIlC9UPj8ktBUpniEJMhUyj19APSzfb0AKs2IkhnZ8BCSkhNQa1DIxDIDurr8croQCTO9830AcsdQ-Gf9QY04EMjA67FQ0SgAHI8jZsGMHMggS8tv1XudLtdblB7osluBoECaHQqNDmoNDsQ4W9dqhkPxgDgtpIEiwAEwAZgALABOUSLLI5YCg1AseQKJLIDjsvpyLb8ADWAG5kQMhtQymgpsj7gBBeCoHAAW2+Mn+gJBCHytghE2hByOMkGpPJiIBRLAgn4OuAEHgsjiBsVqCBN0WqKg6MgwK8lR8QnN60tLx2iDJFyu9oBGOB3t99OZAFYRb1ORBcka0HzEuYc1AxZppcitBBTPwcLpgNMaiJ6o0Wm0Mf9+YKurLBsNRvYJsqOdl89zC7ye+ZhXcFgBJGR1YjwCWSZEVyUyxZy4be0d9PMF6zTkvIThzRfL1frzfiquLGt1htNkQ1IA
💻 Code
type StringOrFunction = "Foo" | (() => "Bar")
const obj : Readonly<{ fn: StringOrFunction }> = { fn: () => "Bar" }
const typeOfFn = typeof obj.fn
const expectString = (str: string) => {}
switch(typeOfFn) {
case "function":
expectString(obj.fn())
break;
case "string":
expectString(obj.fn)
break;
default:
}
switch(typeof obj.fn) {
case "function":
expectString(obj.fn())
break;
case "string":
expectString(obj.fn)
break;
default:
}
🙁 Actual behavior
The TypeScript compiler is unable to correctly infer the type of obj.fn within the context of the switch(typeOfFn) statement.
🙂 Expected behavior
The expected behavior is for TypeScript to correctly narrow down the type of obj.fn based on the typeOfFn in this context, thus not leading to any type errors.

This is like the third issue I've seen where the code isn't in a code block.  Is there a problem with the new issue template(s)?

type StringOrFunction = "Foo" | (() => "Bar");
const obj: Readonly<{ fn: StringOrFunction }> = { fn: () => "Bar" };
const typeOfFn = typeof obj.fn;
const expectString = (str: string) => {};
switch (typeOfFn) {
case "function":
expectString(obj.fn());
break;
case "string":
expectString(obj.fn);
break;
default:
// Handle other cases here
}
switch (typeof obj.fn) {
case "function":
expectString(obj.fn());
break;
case "string":
expectString(obj.fn);
break;
default:
// Handle other cases here
}
I apologize for the misunderstanding. Your original code should actually work as expected without requiring any type assertions. The type narrowing based on the typeof check in your switch statements should work correctly for the given scenario.

Can't we store the result of typeof in advance to narrow down the type in switch statements?
`type StringOrFunction = "Foo" | (() => "Bar")
const obj : Readonly<{ fn: StringOrFunction }> = { fn: () => "Bar" }
const typeOfFn = typeof obj.fn
const expectString = (str: string) => {}
switch(typeOfFn) {
case "function":
//     This expression is not callable.
//   Not all constituents of type 'StringOrFunction' are callable.
//     Type '"Foo"' has no call signatures.(2349)
expectString(obj.fn())
break;
case "string":
// Argument of type 'StringOrFunction' is not assignable to parameter of type 'string'.
//   Type '() => "Bar"' is not assignable to type 'string'.(2345)
expectString(obj.fn)
break;
default:
}
switch(typeof obj.fn) {
case "function":
expectString(obj.fn())  // It works
break;
case "string":
expectString(obj.fn)    // It works
break;
default:
}
`

@yagnikvadi2003 Can you not clog the issue with ChatGPT responses


reserved name issue when cloning

aux is a reserved name on Windows. I'm getting errors when cloning.
you're most likely working on a mac but you should rename it to something else. (src/containers/ Aux)

Hi @thorizer. Effectively I'm working on a Mac. So I have updated the component and renamed it to AuxHOC since it's a Higher Order Component.  Should fi the issue on windows.

@Doha26 great. thanks !
You have the same issue on your facebook clone btw.

I just fixed the issue for Facebook clone. let me know if solved and I will close this issue.


Save over the original editable pdf?

As the topic, is that possible to save some inputs to editable pdf?

@shieer Would you were able to do it

very much needed... or otherwise need a method to pass form xml to PDF Doc so that it populates all the values before rendering

Is there any progress on this? @paresh-navadiya @yasirmturk

Saving inputs means be able to save a PDF with AcroForms.
CoreGraphics desn't support AcroForms writing so a proper low level PDF writing functionality is needed.
It may be very difficult to implement on top of CoreGraphics ...

how these guys are handling it?
http://www.pdftron.com/pdfnet/downloads.html
https://pspdfkit.com/

They use a proprietary PDF writer

I'm about 3 days into the iOS/AcroForm/Edit/SaveBackAsAcroForm attempt. :) ILPDFKit is great if client is cool with flat PDF, but unfortunately mine isn't. What direction did you guys go?

same situation here... @back-40
this app https://itunes.apple.com/us/app/mupdf/id482941798?mt=8&ign-mpt=uo%3D4 does it perfectly and they claim to be open source.. but their forms are not overlay

@yasirmturk Thanks I'll take a look at it. Have you used it before?

nops i m still trying to use @ILPDFKit

Still digging on this. Does ILPDFKit have the ability to create a PDF with AcroForms?

no

Careful: muPDF is open source but AGPL - you can't use that in the App Store and it's also viral. It's has commercial licensing options.
At https://pspdfkit.com (our commercial PDF SDK) we've spent a few years with around 15 people to get forms working, including a lot of edge cases, drawing appearance streams, nested fields and of course also JavaScript validations and all related event logic. It's a lot of work and we have a few thousand test cases that run on our CI. To write the data back you need to fully parse the PDF (especially fun if it has a user or owner password defined and is encrypted)
We're only today launched Forms on Android, that project also took a year and we leveraged a lot of code that we share between iOS and Android. Next up: Forms on our Web SDK.
Here's all the documentation you need to write your own parser. Check out Chapter 12.7 "Interactive Forms" of the PDF32000_2008.pdf and to generate the object tree work through Chapter 7 (Page 11 to 108). To generate the appearance streams you need to read most of Chapter 8/9 (Page 110-292; Fonts are hard). If you skip that than there'll be many documents where you fill in the form content but they either don't render at all or render invalid content. (Preview on macOS is especially bad on that)
https://pspdfkit.com/guides/ios/current/features/rendering-pdf/

we don't need it for the app store.. thanks for the info

I ended up writing my own parser from scratch and then recreating the PDF with the form values put in. I maintained the acroforms so it is still editable via PDF viewers. Not an easy job, but I've done similar in the past. A few years back I wrote software that made extremely large PDFs with vector objects and serialized text for digital printing press systems.

great.. can did u made it available?

Sorry, but I've too many hours in it make it free.

I suggest to save values in dictionary with key as formName and populate the PDF back after loading it.
like , I have PDF with TextField , its formName is "firstName" , then i enter some Text in it say "Saurabh" and while click on save button , i get the value from pdf , which i stored in dictionary! Now while loading same form again i will iterate through dictionary keys to get all saved values.
//saving values
NSDictionary *dict = [[NSMutableDictionary alloc]init];
for (ILPDFForm *form in pdf.document.forms)
{
if(form.value.length)
[dict setObject:form.value forKey:form.name];
}
//retrive values
for(NSString *strKey in dict.allKeys)
{
[pdf.document.forms setValue:[dict objectForKey:strKey] forFormWithName:strKey];
}
Also you can save this dictionary to database if there is multiple PDF files to save & populate PDF back as per selection.
However the SDK i am using is Old.Hope it will help.


Added gitter.im badge

Changed the format a little more than #107 because now we have 4 badges

:+1:


feat(rules-filter-promotes): adds field to rule type

Adds type filterPromotes to rule.

can we add docs links to those types?

@Haroenv I don't find elegant have types with links inside of it. Let's discuss it later, and do a pull request adding links everywhere.

this worked ok https://github.com/DefinitelyTyped/DefinitelyTyped/blob/f2db20ef615bd88a605a9b8750ec8ba170e2415a/types/algoliasearch/index.d.ts#L1213


Establish contributing guidelines

Fill out CONTRIBUTING.md with contributing guidelines.
Establish the use-case of each label.
Invite others to contribute to the repository (README).

Testing
jslint (maybe)
label use case

Merge as PR #6


Added Sort and With methods

@pelikhan Worked on both the issues
#599
#594
Please let me know if there are any changes required.
p.s. This is my first time contributing to an organization and I might not have been perfect so any kind of feedback is appreciated :D

@microsoft-github-policy-service agree


Default text color is orange, should be white

VSCode Version: Code - Insiders 1.10.0-insider (87fd1dde6d2d2b0d84c3fe56fabc174e888b0024, 2017-02-07T07:05:01.586Z)
OS Version: Darwin x64 16.4.0
Extensions:

Extension
Author
Version

code-settings-sync
Shan
2.4.3

sort-lines
Tyriar
1.2.0

html-css-class-completion
Zignd
1.0.3

Bookmarks
alefragnani
0.10.2

project-manager
alefragnani
0.13.2

vscode-angular-files
alexiv
1.3.7

vscode-eslint
dbaeumer
1.2.4

tslint
eg2
0.8.1

vscode-great-icons
emmanuelbeziat
1.1.44

auto-rename-tag
formulahendry
0.0.11

Angular2
johnpapa
1.0.2

vscode-icon-theme
jtlowe
1.4.0

theme-karyfoundation-themes
karyfoundation
11.0.0

ftp-sync
lukasz-wronski
0.3.2

HTMLHint
mkaufman
0.3.3

vscode-autoprefixer
mrmlnc
2.0.0

vscode-csscomb
mrmlnc
4.0.0

vscode-postcss-sorting
mrmlnc
2.2.1

vscode-stylefmt
mrmlnc
2.2.2

Theme-1337
ms-vscode
0.1.2

angular2-inline
natewallace
0.0.17

vscode-icons
robertohuertasm
7.2.0

stylelint
shinnn
0.22.0

darcula-extended
smlombardi
3.3.2

slime
smlombardi
1.0.2

theme-espresso
smlombardi
1.0.1

theme-tesla
smlombardi
6.0.0

change-case
wmaurer
1.0.0

Steps to Reproduce:

Create a new file and paste some text in it
The text is orange, when I'd expect it to be white. My theme has the generic foreground color as white.  I am not using that orange anywhere in the theme.

This is probably a theme problem, have you published your theme or do you have a link to it?

https://marketplace.visualstudio.com/items?itemName=smlombardi.slime
If it's a theme problem I'd love to know what it is so I can fix.

This may be a bug as this is the only rule that uses that color:
            <dict>
                <key>name</key>
                <string>CSS @rule keyword control</string>
                <key>scope</key>
                <string>
                    meta.at-rule.return.scss,
                    meta.at-rule.return.scss punctuation.definition,
                    meta.at-rule.else.scss,
                    meta.at-rule.else.scss punctuation.definition,
                    meta.at-rule.if.scss,
                    meta.at-rule.if.scss punctuation.definition,
                </string>
                <key>settings</key>
                <dict>
                    <key>foreground</key>
                    <string>#CC7832</string>
                </dict>
            </dict>

@alexandrudima please investigate :smiley:

I cannot fix this on my end.  I have tried some high-level selectors:
<dict>
                <key>name</key>
                <string>Text</string>
                <key>scope</key>
                <string text, source</string>
                <key>settings</key>
                <dict>
                    <key>foreground</key>
                    <string>#EFEFEF</string>
                </dict>
            </dict>

But there's no way to fix a "plain text" file, and all syntaxes flash orange for a second before the actual syntax colors appear.

The impact of this change may be larger than initially thought https://github.com/gerane/VSCodeThemes/issues/33, breaking the default color in many themes. @alexandrudima consider fixing for recovery build if there's time.

Fixed in Microsoft/vscode-textmate#35 and adopted<EMAIL_ADDRESS>with 24f219194adc8a098a3065dde87f64842ce5ac88


Dictionary accumulate_grad_batches doesn't work with model checkpoint loading

🐛 Bug
If you pass Trainer(accumulate_grad_batches={5: 2}) and reload a model checkpoint using resume_from_checkpoint, checkpoint loading will crash with
Traceback (most recent call last):
  ...
    trainer.fit(system)
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 470, in fit
    results = self.accelerator_backend.train()
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/accelerators/gpu_accelerator.py", line 63, in train
    self.trainer.train_loop.setup_training(model)
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/trainer/training_loop.py", line 175, in setup_training
    self.trainer.checkpoint_connector.restore_weights(model)
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/trainer/connectors/checkpoint_connector.py", line 64, in restore_weights
    self.restore(self.trainer.resume_from_checkpoint, on_gpu=self.trainer.on_gpu)
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/trainer/connectors/checkpoint_connector.py", line 102, in restore
    self.restore_training_state(checkpoint)
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/trainer/connectors/checkpoint_connector.py", line 164, in restore_training_state
    expected_steps = self.trainer.num_training_batches / n_accum
TypeError: unsupported operand type(s) for /: 'int' and 'dict'

Relevant code assumes accumulate_grad_batches is an integer:
https://github.com/PyTorchLightning/pytorch-lightning/blob/d20fd8e5ab1a52747fee2cd53290a679d8b726d0/pytorch_lightning/trainer/connectors/checkpoint_connector.py#L156-L157
Environment
* Packages:
	- numpy:             1.19.4
	- pyTorch_debug:     True
	- pyTorch_version:   1.7.0+cu110
	- pytorch-lightning: 1.1.0
	- tqdm:              4.51.0
* System:
	- OS:                Linux
	- architecture:
		- 64bit
		- ELF
	- processor:
	- python:            3.8.5
	- version:           #1 SMP PREEMPT Tue Dec 22 08:14:42 UTC 2020

Can i fix this issue?

Can i fix this issue?

Hey @marload,
Yes, definitely. Feel free to take this one. Let me assign it to you.
Best regards,
T.C

Hey @marload,
Yes, definitely. Feel free to take this one. Let me assign it to you.
Best regards,
T.C

hey @marload! Any update/ways we can help?

Any there any temporary workarounds for this issue?

Hey, here is code to reproduce. First run python train.py, wait a few epochs (takes a few seconds) and cancel. Then run python train.py --resume_from_ckpt=lightning_logs/<PATH TO CHECKPOINT YOU JUST CREATED>
This gives me the error with pytorch lightning version 1.1.6
Save this file as train.py:
import os
import torch
from torch.utils.data import Dataset
from pytorch_lightning import LightningModule, Trainer
import argparse
class RandomDataset(Dataset):
def init(self, size, length):
self.len = length
self.data = torch.randn(length, size)
def __getitem__(self, index):
    return self.data[index]

def __len__(self):
    return self.len

class BoringModel(LightningModule):
def init(self):
super().init()
self.layer = torch.nn.Linear(32, 2)
def forward(self, x):
    return self.layer(x)

def loss(self, batch, prediction):
    # An arbitrary loss to have a loss that updates the model weights during `Trainer.fit` calls
    return torch.nn.functional.mse_loss(prediction, torch.ones_like(prediction))

def step(self, x):
    x = self.layer(x)
    out = torch.nn.functional.mse_loss(x, torch.ones_like(x))
    return out

def training_step(self, batch, batch_idx):
    output = self.layer(batch)
    loss = self.loss(batch, output)
    return {"loss": loss}

def training_step_end(self, training_step_outputs):
    return training_step_outputs

def training_epoch_end(self, outputs) -> None:
    torch.stack([x["loss"] for x in outputs]).mean()

def validation_step(self, batch, batch_idx):
    output = self.layer(batch)
    loss = self.loss(batch, output)
    return {"x": loss}

def validation_epoch_end(self, outputs) -> None:
    torch.stack([x['x'] for x in outputs]).mean()

def test_step(self, batch, batch_idx):
    output = self.layer(batch)
    loss = self.loss(batch, output)
    return {"y": loss}

def test_epoch_end(self, outputs) -> None:
    torch.stack([x["y"] for x in outputs]).mean()

def configure_optimizers(self):
    optimizer = torch.optim.SGD(self.layer.parameters(), lr=0.1)
    lr_scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=1)
    return [optimizer], [lr_scheduler]

if name == 'main':
parser = argparse.ArgumentParser()
parser.add_argument("--resume_from_ckpt")
args = parser.parse_args()
train_data = torch.utils.data.DataLoader(RandomDataset(32, 64), num_workers=8)
val_data = torch.utils.data.DataLoader(RandomDataset(32, 64), num_workers=8)
model = BoringModel()
trainer = Trainer(
    max_epochs=99999,
    gpus=-1,
    accumulate_grad_batches={2:2},
    distributed_backend="ddp",
    resume_from_checkpoint=args.resume_from_ckpt
)
trainer.fit(model, train_data, val_data)

I think this might solve it? Try to deal with the dictionary case by looking up the current n_accum. Perhaps theres a neater way though. Should I make a PR? Changes to 156 in checkpoint connector:
 # Division deals with global step stepping once per accumulated batch
        # Inequality deals with different global step for odd vs even num_training_batches
        if self.trainer.accumulate_grad_batches is None:
            n_accum = 1
        elif type(self.trainer.accumulate_grad_batches) == int:
            n_accum = self.trainer.accumulate_grad_batches
        if type(self.trainer.accumulate_grad_batches) == dict:
            grad_batch_key = max([k for k in\
                    self.trainer.accumulate_grad_batches.keys()\
                    if k < self.trainer.current_epoch])
            n_accum = self.trainer.accumulate_grad_batches[grad_batch_key]

bug Bug
If you pass Trainer(accumulate_grad_batches={5: 2}) and reload a model checkpoint using resume_from_checkpoint, checkpoint loading will crash with
Traceback (most recent call last):
  ...
    trainer.fit(system)
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 470, in fit
    results = self.accelerator_backend.train()
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/accelerators/gpu_accelerator.py", line 63, in train
    self.trainer.train_loop.setup_training(model)
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/trainer/training_loop.py", line 175, in setup_training
    self.trainer.checkpoint_connector.restore_weights(model)
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/trainer/connectors/checkpoint_connector.py", line 64, in restore_weights
    self.restore(self.trainer.resume_from_checkpoint, on_gpu=self.trainer.on_gpu)
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/trainer/connectors/checkpoint_connector.py", line 102, in restore
    self.restore_training_state(checkpoint)
  File "/home/jo/.venvs/au/lib/python3.8/site-packages/pytorch_lightning/trainer/connectors/checkpoint_connector.py", line 164, in restore_training_state
    expected_steps = self.trainer.num_training_batches / n_accum
TypeError: unsupported operand type(s) for /: 'int' and 'dict'

Relevant code assumes accumulate_grad_batches is an integer:
https://github.com/PyTorchLightning/pytorch-lightning/blob/d20fd8e5ab1a52747fee2cd53290a679d8b726d0/pytorch_lightning/trainer/connectors/checkpoint_connector.py#L156-L157
Environment
* Packages:
	- numpy:             1.19.4
	- pyTorch_debug:     True
	- pyTorch_version:   1.7.0+cu110
	- pytorch-lightning: 1.1.0
	- tqdm:              4.51.0
* System:
	- OS:                Linux
	- architecture:
		- 64bit
		- ELF
	- processor:
	- python:            3.8.5
	- version:           #1 SMP PREEMPT Tue Dec 22 08:14:42 UTC 2020


unable to create server: unable to read channel for chain_hash

Background
lnd crashes on startup with "unable to read channel for chain_hash"
Your environment

version of lnd
Version 0.5.0-beta commit=3b2c807288b1b7f40d609533c1e96a510ac5fa6d
which operating system (uname -a on *Nix)
Ubuntu 17.10
version of btcd, bitcoind, or other backend
bitcoind v<IP_ADDRESS>-g4b4d7eb255
any other relevant environment details

Logs
Sep 15 10:43:14 linux03 lnd[15865]: Attempting automatic RPC configuration to bitcoind
Sep 15 10:43:14 linux03 lnd[15865]: Automatically obtained bitcoind's RPC credentials
Sep 15 10:43:14 linux03 lnd[15865]: 2018-09-15 10:43:14.680 [INF] LTND: Version 0.5.0-beta commit=3b2c807288b1b7f40d609533c1e96a510ac5fa6d
Sep 15 10:43:14 linux03 lnd[15865]: 2018-09-15 10:43:14.681 [INF] LTND: Active chain: Bitcoin (network=mainnet)
Sep 15 10:43:14 linux03 lnd[15865]: 2018-09-15 10:43:14.681 [INF] CHDB: Checking for schema update: latest_version=6, db_version=6
Sep 15 10:43:14 linux03 lnd[15865]: 2018-09-15 10:43:14.789 [INF] LTND: Primary chain is set to: bitcoin
Sep 15 10:43:14 linux03 lnd[15865]: 2018-09-15 10:43:14.811 [INF] LTND: Initializing bitcoind backed fee estimator
Sep 15 10:43:14 linux03 lnd[15865]: 2018-09-15 10:43:14.812 [INF] LNWL: Started listening for bitcoind block notifications via ZMQ on tcp://<IP_ADDRESS>:18501
Sep 15 10:43:14 linux03 lnd[15865]: 2018-09-15 10:43:14.812 [INF] LNWL: Started listening for bitcoind transaction notifications via ZMQ on tcp://<IP_ADDRESS>:18502
Sep 15 10:43:14 linux03 lnd[15865]: 2018-09-15 10:43:14.813 [DBG] LNWL: Using minimum fee rate of 253 sat/kw
Sep 15 10:43:16 linux03 lnd[15865]: 2018-09-15 10:43:16.102 [INF] LNWL: Opened wallet
Sep 15 10:43:17 linux03 lnd[15865]: 2018-09-15 10:43:17.259 [INF] LNWL: The wallet has been unlocked without a time limit
Sep 15 10:43:17 linux03 lnd[15865]: 2018-09-15 10:43:17.260 [INF] LTND: LightningWallet opened
Sep 15 10:43:17 linux03 lnd[15865]: 2018-09-15 10:43:17.302 [INF] HSWC: Restoring in-memory circuit state from disk
Sep 15 10:43:17 linux03 lnd[15865]: 2018-09-15 10:43:17.311 [INF] HSWC: Payment circuits loaded: num_pending=0, num_open=0
Sep 15 10:43:17 linux03 lnd[15865]: 2018-09-15 10:43:17.313 [ERR] SRVR: unable to create server: unable to read channel for chain_hash=6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000, node_key=0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266: unable to read channel data for chan_point=30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1: unable to fetch chan info: no chan info found
Sep 15 10:43:17 linux03 lnd[15865]: 2018-09-15 10:43:17.316 [INF] LTND: Shutdown complete
Sep 15 10:43:17 linux03 lnd[15865]: unable to read channel for chain_hash=6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000, node_key=0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266: unable to read channel data for chan_point=30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1: unable to fetch chan info: no chan info found

Did you update from a previous version recently? Did you delete any of the database files?

It's a clean installation from lnd v0.5-beta-rc1 which worked fine until this suddenly happened (autopilot was running). I upgraded to lnd v0.5-beta-rc2 hoping it would be fixed but no difference in behaviour.

So you made a new node, then updated to rc1? What commit was that new node created on?

Yes, v0.5-beta-rc2 fb95858

@mejje do you have any more logs for this channel that were not included in the snippet above?

Sure here's what I could piece together for this channel, hope it helps!

2018-09-10 18:06:07.907 [INF] ATPL: Triggering attachment directive dispatch, total_funds=0.02119359 BTC
2018-09-10 18:06:08.101 [INF] SRVR: Established connection to: <IP_ADDRESS>:9735
2018-09-10 18:06:08.103 [INF] SRVR: Finalizing connection to 0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266, inbound=false
2018-09-10 18:06:08.201 [INF] FNDG: Initiating fundingRequest(localAmt=0.01271615 BTC, remoteAmt=0 mSAT, capacity=0.01271615 BTC, chainhash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f, peer=0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266, dustLimit=0.00000573 BTC)
2018-09-10 18:06:08.225 [INF] SRVR: Pruning peer 0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266 from persistent connections, number of open channels is now zero
2018-09-10 18:06:08.288 [INF] LNWL: Performing funding tx coin selection using 1571 sat/kw as fee rate
2018-09-10 18:06:08.586 [INF] FNDG: Target commit tx sat/kw for pendingID(c7e8d202d55b427e82d1ef782eb1aba53b2a24722aa1a9f460feb71d6e189743): 1571
2018-09-10 18:06:08.587 [INF] FNDG: Starting funding workflow with <IP_ADDRESS>:9735 for pendingID(c7e8d202d55b427e82d1ef782eb1aba53b2a24722aa1a9f460feb71d6e189743)
2018-09-10 18:06:11.134 [INF] FNDG: Recv'd fundingResponse for pendingID(c7e8d202d55b427e82d1ef782eb1aba53b2a24722aa1a9f460feb71d6e189743)
2018-09-10 18:06:11.137 [INF] FNDG: pendingChan(c7e8d202d55b427e82d1ef782eb1aba53b2a24722aa1a9f460feb71d6e189743): remote party proposes num_confs=3, csv_delay=152
2018-09-10 18:06:11.137 [INF] FNDG: Generated ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1) for pendingID(c7e8d202d55b427e82d1ef782eb1aba53b2a24722aa1a9f460feb71d6e189743)
2018-09-10 18:06:12.751 [INF] FNDG: Broadcasting funding tx for ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1): (*wire.MsgTx)(0xc001374f00)({
...
2018-09-10 18:06:12.757 [INF] LNWL: Inserting unconfirmed transaction 30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282
2018-09-10 18:06:13.018 [INF] CNCT: Creating new ChannelArbitrator for ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1)
2018-09-10 18:06:13.021 [INF] CNCT: ChannelArbitrator(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1): starting state=StateDefault
2018-09-10 18:06:13.115 [INF] NTFN: New spend subscription: utxo=30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1
2018-09-10 18:06:13.277 [INF] FNDG: Finalizing pendingID(c7e8d202d55b427e82d1ef782eb1aba53b2a24722aa1a9f460feb71d6e189743) over ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1), waiting for channel open on-chain
2018-09-10 18:06:13.278 [INF] FNDG: Waiting for funding tx (30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282) to reach 3 confirmations
2018-09-10 18:06:13.279 [INF] CNCT: Close observer for ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1) active
2018-09-10 18:06:13.279 [INF] NTFN: New confirmation subscription: txid=30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282, numconfs=3

... lnd is restarted here ...

2018-09-10 18:14:55.429 [INF] NTFN: New spend subscription: utxo=30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1
2018-09-10 18:14:55.431 [INF] CNCT: ChannelArbitrator(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1): starting state=StateDefault
2018-09-10 18:14:55.431 [INF] CNCT: Close observer for ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1) active
2018-09-10 18:14:57.666 [INF] NTFN: New confirmation subscription: txid=30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282, numconfs=3
2018-09-10 18:14:57.670 [INF] FNDG: Waiting for funding tx (30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282) to reach 3 confirmations
2018-09-10 18:14:57.819 [INF] SRVR: Established connection to: <IP_ADDRESS>:9735
2018-09-10 18:14:57.819 [INF] SRVR: Finalizing connection to 0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266, inbound=false
2018-09-10 18:14:57.916 [INF] PEER: NodeKey(0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266) loading ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1)
2018-09-10 18:14:58.061 [WRN] PEER: Unable to find our forwarding policy for channel 30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1, using default values
2018-09-10 18:14:58.065 [INF] HSWC: ChannelLink(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1) is starting
2018-09-10 18:14:58.211 [INF] HSWC: HTLC manager for ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1) started, bandwidth=1257762000 mSAT
2018-09-10 18:14:58.212 [INF] HSWC: Attempting to re-resynchronize ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1)
2018-09-10 18:14:58.943 [INF] HSWC: Received re-establishment message from remote side for channel(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1)
2018-09-10 18:15:10.155 [INF] LNWL: Marking unconfirmed transaction 30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282 mined in block 540834

... lnd is restarted here ...

2018-09-10 18:16:13.978 [INF] NTFN: New spend subscription: utxo=30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1
2018-09-10 18:16:14.022 [INF] CNCT: ChannelArbitrator(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1): starting state=StateDefault
2018-09-10 18:16:14.023 [INF] CNCT: Close observer for ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1) active
2018-09-10 18:16:15.946 [INF] FNDG: Waiting for funding tx (30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282) to reach 3 confirmations
2018-09-10 18:16:15.950 [INF] NTFN: New confirmation subscription: txid=30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282, numconfs=3
2018-09-10 18:16:16.141 [INF] SRVR: Established connection to: <IP_ADDRESS>:9735
2018-09-10 18:16:16.143 [INF] SRVR: Finalizing connection to 0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266, inbound=false
2018-09-10 18:16:16.230 [INF] PEER: NodeKey(0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266) loading ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1)
2018-09-10 18:16:16.233 [WRN] PEER: Unable to find our forwarding policy for channel 30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1, using default values
2018-09-10 18:16:47.253 [INF] PEER: unable to read message from <IP_ADDRESS>:9735: EOF
2018-09-10 18:16:47.254 [INF] PEER: Disconnecting <IP_ADDRESS>:9735, reason: read handler closed
2018-09-10 18:16:47.455 [INF] DISC: Removing gossipSyncer for peer=0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266
2018-09-10 18:16:49.712 [INF] SRVR: Established connection to: <IP_ADDRESS>:9735
2018-09-10 18:16:49.712 [INF] SRVR: Finalizing connection to 0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266, inbound=false
2018-09-10 18:16:49.794 [INF] PEER: NodeKey(0217890e3aad8d35bc054f43acc00084b25229ecff0ab68debd82883ad65ee8266) loading ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1)
2018-09-10 18:16:49.796 [WRN] PEER: Unable to find our forwarding policy for channel 30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1, using default values
2018-09-10 18:16:49.797 [INF] HSWC: ChannelLink(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1) is stopping
2018-09-10 18:16:49.898 [INF] HSWC: ChannelLink(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1) has exited
2018-09-10 18:16:49.899 [INF] HSWC: ChannelLink(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1) is starting
2018-09-10 18:16:49.899 [INF] HSWC: HTLC manager for ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1) started, bandwidth=1257762000 mSAT
2018-09-10 18:16:49.899 [INF] HSWC: Attempting to re-resynchronize ChannelPoint(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1)
2018-09-10 18:16:49.899 [ERR] PEER: unable to send out active channel update: edge not found
2018-09-10 18:16:51.069 [INF] HSWC: Received re-establishment message from remote side for channel(30ee651dc7d426319ccd2e1bd1b42a1d9e15eec0315dc6bac4a8bb7f5b9fa282:1)
2018-09-10 18:17:21.071 [INF] PEER: unable to read message from <IP_ADDRESS>:9735: EOF
2018-09-10 18:17:21.072 [INF] PEER: Disconnecting <IP_ADDRESS>:9735, reason: read handler closed

@mejje thanks for reporting this! #1963 ensures that this no longer happens in the future. To resolve your issue however, we'll need to apply the following patch to allow the server to start once again:
diff --git a/channeldb/db.go b/channeldb/db.go
index 964e85ab..ae0d8e9d 100644
--- a/channeldb/db.go
+++ b/channeldb/db.go
@@ -345,9 +345,10 @@ func (d *DB) fetchOpenChannels(tx *bolt.Tx,
 		// all the active channels related to this node.
 		nodeChannels, err := d.fetchNodeChannels(chainBucket)
 		if err != nil {
-			return fmt.Errorf("unable to read channel for "+
+			log.Errorf("unable to read channel for "+
 				"chain_hash=%x, node_key=%x: %v",
 				chainHash[:], pub, err)
+			return nil
 		}

 		channels = append(channels, nodeChannels...)

Let me know if you run into any other issues.

Thanks! I had to change this as well to get it running again, let's hope it works anyway ;).
@@ -383,8 +384,9 @@ func (d *DB) fetchNodeChannels(chainBucket *bolt.Bucket) ([]*OpenChannel, error)
                }
                oChannel, err := fetchOpenChannel(chanBucket, &outPoint)
                if err != nil {
-                       return fmt.Errorf("unable to read channel data for "+
+                       log.Errorf("unable to read channel data for "+
                                "chan_point=%v: %v", outPoint, err)
+                       return nil
                }
                oChannel.Db = d


Allow to nest routes with params propogation

/org/:orgId/repo/:repoId
const orgRoute = createRoute<{ orgId: string }>();
const repoRoute = orgRoute.createRoute<{ repoRoute: string }>();

1

User on the path /org/100/repo/200
We call repoRoute({ repoId: 123 })
User redirected to /org/100/repo/123

2

User on the path /org/100/repo/200
We call repoRoute({ repoId: 123, orgId: 5 })
User redirected to /org/5/repo/123

Methods of objects is a big headache for AST awared tools like babel-plugin or eslint-plugin. I suggest making it like the new API of domains in Effect, https://github.com/effector/effector/issues/590, somthring like this:
const orgRoute = createRoute<{ orgId: string }>();
const repoRoute = createRoute<{ repoRoute: string }>({ parent: orgRoute });

Should parent's route params be accessible from child route?
const orgRoute = createRoute<{ orgId: string }>();
const repoRoute = createRoute<{ repoRoute: string }>({ parent: orgRoute });

repoRoute.$params // { orgId, repoRoute } or only { repoRoute } ?


Unable to send transactions using cast sendon Arbitrum One and Arbitrum Testnet

Component
Cast
Have you ensured that all of these are up to date?

[x] Foundry
[X] Foundryup

What version of Foundry are you on?
cast 0.2.0 (dda0189 2022-04-30T00:13:42.850610+00:00)
What command(s) is the bug in?
cast send --chain "arbitrum" --rpc-url "https://arb1.arbitrum.io/rpc" --ledger --hd-path "m'/44'/60'/3'/0/0" --value 0.001ether [Receiver Address]
Operating System
macOS (M1)
Describe the bug
When cast send is used to send an arbitrary transaction e.g. send some ether to someone, it always fail on Arbitrum One and Arbitrum testnet chains. The Error after sent eth_sendRawTransaction request is as follow.
(code: -32000, message: invalid chain id for signer, data: None)

I'm not sure whether transaction encoding format used by Arbitrum is different from other chains.

Does your ledger support Arbitrum One? It seems this error is directly from your ledger

Yes. I tested sending the same transaction to Arbitrum One using ethers.js + Ledger and remix + Metamask stacks, and it was successful. I use Ledger Nano S with Ethereum App for signing.
The error above came from RPC node after eth_sendRawTransaction RPC call was sent.

I have found the issue. It is about v value of ECDSA signature that its value is incorrect when chain ID is large, which has been described by this PR: https://github.com/gakonst/ethers-rs/pull/1198.
I also have proposed a solution in this PR, https://github.com/gakonst/ethers-rs/pull/1204, which is the same solution used by Ledger's JavaScript Library.

ethers was bumped here, https://github.com/foundry-rs/foundry/commit/609a556a409a698ae9b55d9f9bb2e1f2c1676ef3 with the fixes, could you please check if it solves the issue @ntchjb ?

I tested on Arbitrum testnet and Rinkeby and it was successful 🎉 . I am going to close the issue for now, but feel free to re-open it if the issue still persist.
cast send --chain="arbitrum-testnet" --rpc-url="https://rinkeby.arbitrum.io/rpc" --gas=2000000 --ledger --hd-path="m'/44'/60'/3'/0/0" 0x0000000000000000000000000000000000000066 "register(address)" 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac

cast send --chain="rinkeby" --rpc-url="https://rinkeby.infura.io/v3/<api>" --gas=2000000 --ledger --hd-path="m'/44'/60'/3'/0/0" --value=0.001ether vitalik.eth

I think the --chain argument might not be required because you get it from the RPC URL! LGTM Otherwise :)

Ah yes, I used this command before found the cause of this issue just for controlling variables.


Increasing volume from zero - graphical glitch

https://user-images.githubusercontent.com/84040076/126768418-3ddfe516-280e-4d20-8d65-c9a45ee7e8c8.mp4
Describe the bug
The volume level indicator (on both eqMac UI and macOS UI) jitters up and down when increasing from 0% to around 30% on my M1 Mac mini macOS 11.5
Steps to Reproduce

Switch audio output in eqMac
Volume reverts to zero
Try increasing volume incrementally
Volume level indicator jumps up and down

Expected behaviour
Volume level indicator should increase one block at a time
Setup information:

Any output used (Aux speakers, HDMI monitor speakers, Bluetooth Sony headphones)
Aux, HDMI and Bluetooth
macOS 11.5
eqMac Version 1.1.0
eqMac UI Version 1.6.2 (Remote)

I'm experiencing this same bug too - it happens when I've had eqMac open for a while, and I think might be caused by my mac going to sleep and me waking it up again. eqMac often defaults back to my macbook speakers instead of my 2nd monitor, and this jittery volume bug appears.
The only way to fix this that I've found is just quitting eqMac and starting it again.

Thanks for reporting this, should definitely not do that 😄

Same issue here. It also make the trackpad click when that bug occurs and you touch it.
https://user-images.githubusercontent.com/81377914/127754005-89b00bbb-8be9-4bd2-918a-568fd799b2e7.mov

https://user-images.githubusercontent.com/1821040/135142960-4ff1021f-6889-4f49-9bc7-be0a91613485.mov
Mine is doing this. I don't put my mac to sleep. I have USB digital-to-speakers (Vanatoo T1)

I'm doing some cleanup of the issues.
This has probably been fixed long time ago, I encourage people to try v1.7 by download it from the website: https://eqmac.app/
Closing for now, any new issues with eqMac should be submitted through the website.
Thank you!


Previous annotations not shown (neither in Search tab nor in Start Annotating)

I have made some annotations some months ago, that now do correctly appear in the "Annotations" tab, however they don't appear neither in Search tab nor in the List View or on the canvas of the annotorious viewer (when going in Home tab => start annotating => going to the right page)
See screen shots attached:

When I look into folder /_annotations/, I see 990 files in the form of a UUID.json :
> ls *-????-????-????-*.json | wc -l
990

(+ 312 files with the pattern bcl-180-unice-fr-11280-XXXXN-XXXX-N-NNNN-list.json)
Whereas when I go in the "Search" tab, it says: "Showing 720 annotations out of 720 annotations"
=> it seems that 270 annotations are missing from the Graphical User Interface?

Same thing in the "Annotations" tab (image viewer + single annotation): 720 occurrences of "is part of"
(which is strange because, as demonstrated above, some annotations are shown in the "Annotations" tab but not in the "Search" tab, so I would have expected to have different totals for each of these tabs)

Ok, I made a 1-to-1 comparison between what I have in folder /_annotations/ and what is displayed in the "Annotations" tab (image viewer + single annotation) and here is where the difference resides (see screenshot attached):

all the 720 annotations correctly displayed in Annonatate have their UUID below  bd000000-0000-0000-0000-000000000000
all the missing 270 annotations have their UUID above bd000000-0000-0000-0000-000000000000

=> it seems that the Graphical User Interface no longer handles properly all the annotations having a UUID above bd000000-0000-0000-0000-000000000000 (I'm pretty sure this bug wasn't there some weeks ago)

@Pigeo It will be faster if I can see the repository you are using. Anyway you can share that with me? Thanks!

If you know the UUID of an annotation, and you try to get it through its URL, it also doesn't work:
This one works because a2256a… < bd0000…
This one doesn't work because e1529a… > bd0000…
Neither this one, for the same reason

@Pigeo It will be faster if I can see the repository you are using. Anyway you can share that with me? Thanks!

Yes, of course: it's this one

Hello @dnoneill, I'm glad to know we are the number 1 team with the most annotations in Annonatate 😜
Joke aside, I confirm you it's fixed.
Thank you for your responsiveness!

@Pigeo You definitely are. I remember when I wrote the code I thought 1000 entries should be enough, I will cross that bridge if we are lucky enough to have users who get to it and we did :).  Of course. I really appreciate you letting me know about the issues so I don't always have to catch them myself.


Bug: On Gig Add page, the validation for Employment Type is broken

###_MASTER TEMPLATE: Use for bugs, tasks, and future requests. Also, label accordingly, using the labels on the right.
###_Issue Type - is it a bug, a task, or a future request?:
Bug
###_Severity (1-4; 1 - not severe, 4 - very severe):
2
###_Priority (1-4; 1 - lowest priority, 4 - highest priority):
2
###_Synopsis - describe bug/task/future request, in more detail:
On the Gig Add page, if the user doesn't select an Employment Type field, the validation fails and gives a bad error that isn't useful to the user.
###_Expected Behavior - what the behavior is supposed to be, for bug/task/FR:
If a user doesn't select an Employment Type when adding a new Gig, they are presented with clear information on how to fix the Employment Type field.
###_Actual Behavior - what the behavior is instead, for bugs only:
###_Steps to Repro the Issue, for bugs only:
###_Other Notes, for bug/task/future requests:

closed with pull request #152


The Google engine search result not match the frontend source

I watch the source in the frontend
export interface Source {
  id: string;
  name: string;
  url: string;
  isFamilyFriendly: boolean;
  displayUrl: string;
  snippet: string;
  deepLinks: { snippet: string; name: string; url: string }[];
  dateLastCrawled: string;
  cachedPageUrl: string;
  language: string;
  primaryImageOfPage?: {
    thumbnailUrl: string;
    width: number;
    height: number;
    imageId: string;
  };
  isNavigational: boolean;
}

and the google search in the backend, it just filter the result
def search_with_google(query: str, subscription_key: str, cx: str):
    """
    Search with google and return the contexts.
    """
    params = {
        "key": subscription_key,
        "cx": cx,
        "q": query,
        "num": REFERENCE_COUNT,
    }
    response = requests.get(
        GOOGLE_SEARCH_ENDPOINT, params=params, timeout=DEFAULT_SEARCH_ENGINE_TIMEOUT
    )
    if not response.ok:
        logger.error(f"{response.status_code} {response.text}")
        raise HTTPException(response.status_code, "Search engine error.")
    json_content = response.json()
    try:
        contexts = json_content["items"][:REFERENCE_COUNT]
    except KeyError:
        logger.error(f"Error encountered: {json_content}")
        return []
    return contexts

And I made an example request on the postman, the JSON schema is matched?

Look at the google official API docs

And I compare to the bing search API docs

I'm sure this project only works with Bing Search and Serper, and it didn't work on GoogleSearch

Hmm, my last check with google worked, but in any case, it should only involve a bit minor format change (similar to Serper) - we can take a look later. In the meantime feel free to send a pull request - we appreciate that!


fix(cal, calctapp): request[verify]=False and change URL to https

Solves #1118
Scrapers were failing with SSLError

Gianfranco, while Bill is out, would you like me to review your work? You didn't ask for a review on this one, but maybe that's not how you and Bill do it?

@mlissner, sure, your review would speed up things
I had asked Kevin for a couple of reviews; and had sent this one to Bill via chat since he asked for something to review, but I think it would be better if you can do it

Simple enough, thanks.


Issues while receiving large BLOBs

Hi,
My JavaScript code basically send large chunk of 1MB BLOBs extracted from the browser canvas during the first interaction, after connection is successfully opened. While the Websocket server correctly accept & parse the incoming connection, extracting that chunk on the handler via websocket.recv(), takes at least 10 seconds to process on a powerful OVH dedicated machine.
Is there any issue slowing down this operation? or is there any parameter to tune to make thing goes faster on the server side?
Thank you @aaugustin  for this amazing piece of work.

Yes, it does. Documenting this is part of #445.

Did you figure out the slowness? It shouldn't take 10 seconds to load 1MB of data, even without the speedups.

Cool, thanks for the confirmation that websockets isn't at fault :-)


Fixture with OLS configuration used in unit tests + use Path object as expected

Description
Fixture with OLS configuration used in unit tests + use Path object as expected
Type of change

[x] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.17%. Comparing base (c2f2556) to head (79a7e04).
Report is 29 commits behind head on main.

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #933   +/-   ##
=======================================
  Coverage   95.17%   95.17%
=======================================
  Files          54       54
  Lines        2030     2030
=======================================
  Hits         1932     1932
  Misses         98       98

/lgtm

/approve


ENH: Allow ScalarTypes to be used in querybeans

This is the feature request for https://groups.google.com/g/ebean/c/aZ4Nv1_Z6XM
I've made some solution B PRs for it as well.
Original:
Rob Bygrave
Oct 3, 2020, 12:38:48 AM (5 days ago)
to ebean@googlegroups

.eq("phoneNumber.phoneNumber", incomingPhoneNumber.msisdn)

Note that with ScalarTypes (and also with javax.persistence.AttributeConverter ... which internally become ScalarTypes via ScalarTypeWrapper and AttributeConverterAdapter) we can bind these types directly in our query expressions so the above could be written as:
.eq("phoneNumber", incomingPhoneNumber)       // Ebean knows how to "unwrap" the scalar type, we don't need to
So for query beans we would actually be targeting to do:
QMappingDBO(database)
...
.phoneNumber.eq(incomingPhoneNumber)     // where incomingPhoneNumber is of type PhoneNumber which is a ScalarType
.findOne()
Q: So can we do this?  [... it's a bit complex to parse these in the KAPT generation?]
Well we probably have 2 options to achieve this but firstly we have to make a reasonable guess as to what expressions are valid / proper for a ScalarType that Ebean doesn't know about.  We would probably guess that it would be ok to have the same expressions as either:

PBaseCompareable with expressions eq, eqOrNull, notEqual, in, inOrEmpty, notIn + gt, gtOrNull, ge, getOrNull, lt, ltOrNull, le, leOrNull, inRange, inRangeWith, between + synonyms
PBaseString with additional expressions like, startsWith, endsWith, contains, match + case insensitive options

So we would look to create a new PScalar type as either:

PScalar extends PBaseCompareable<R, T> {
PScalar extends PBaseString<R, T> {

... we could either try and detect if the scalar wraps a String or just choose one knowing that some expressions would potentially not be valid for that type - e.g.  startWith() on a type that wraps a number would not be valid.
In the annotation processing we need to generate for the phoneNumber property:
PScalar<QMappingDBO, PhoneNumber> phoneNumber
So the annotation processor needs to either A) detect that PhoneNumber is valid scalarType and hence should generate the property or B) guess that it's a scalarType, generate the property and leave it up to the developer to NOT use it if it is actually invalid (but the property probably should have the transient modifier or @Transient if it wasn't a scalar type so guessing is maybe not as bad as it sounds).
So the B) "guess it's a scalarType and generate it" approach would be pretty simple.  Any type that isn't a know scalarType (String, Long etc) that also isn't transient/@Transient would get a PScalar property type generated into the query bean.
For the A) approach of detecting it's a scalarType ... not sure how tricky that would be.

There is no kotlin generator yet, I will do that when I know if this is something you want to add (and in this way) or if it's something you want to do in a different way.
NB. I cannot find any theoretical way of discovering if something has a ScalarType or not unless a new hard-coded condition that ScalarTypes MUST be in the same project as the @Entities (something that isn't true for some of our projects).

Well done, great work.

There is no kotlin generator yet

Yes, we should add it in the same way.  I'm happy with what you have done.  I myself would have been happy enough not bothering to check for java.lang.Comparable and just made them all effectively PropertyTypeScalarComparable (in the sense that I'd rather just er on the side of freedom/power to developers rather than limit them).
Great stuff.

Thanks!
It's now your code, so change that as much as you like, but don't ask me how long it took to implement a simple instanceof in the APT-api. :)
The code for the kotlin-querybean-generator is done as well, but I failed to add a test case, so only managed to verify it via slightly modifying the example-kotlin project.

how long it took to implement a simple instanceof in the APT-api. :)

Yeah, on one hand it is pretty cool that they provide this mechanism for javac and on the other hand the APT-api is just painful to work with.

Nice work, well done !!

Thanks! You too. That was a quick merge.


set panel header height?

Hi how do you set the panels header view height? it seems to have a max fixed height and cant make the header larger no matter what i specify for the header layout's height value in xml using andrid:layout_height

setPanelHeight or umanoPanelHeight attribute.


GetAttributeValue clarification

This comment is for the reference topic GetAttributeValue method https://docs.microsoft.com/en-us/dotnet/api/microsoft.xrm.sdk.entity.getattributevalue?view=dynamics-general-ce-9 (which does not allow for direct feedback).
The documentation states:
"When an entity instance does not include the attribute specified using the attributeLogicalName parameter this method will return null rather than throw an exception."
This is not correct. The method will return default(T) which is not necessarily null, e.g. entity.GetAttributeValue<DateTime>(“foobar”) will return 1/1/0001 00:00 not null.

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

ID: 11076b94-c45e-97bb-f200-07ab910d5202
Version Independent ID: e90f00a9-4642-b08b-5849-5a0b6be0e18a
Content: Use the Dynamics 365 Organization service (Developer Guide for Dynamics 365 Customer Engagement)
Content Source: ce/developer/use-microsoft-dynamics-365-organization-service.md
Service: crm-online
GitHub Login: @JimDaly
Microsoft Alias: jdaly

@georged Fixed this a while back but forgot to close this issue. Pls see https://docs.microsoft.com/en-us/dotnet/api/microsoft.xrm.sdk.entity.getattributevalue?view=dynamics-general-ce-9


Pool DefaultHttpContext

Resolves https://github.com/aspnet/HttpAbstractions/issues/402 needs PR https://github.com/aspnet/HttpAbstractions/pull/404 done first

Hi @benaadams, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

See https://github.com/aspnet/HttpAbstractions/issues/402#issuecomment-140336990 for details on server run improvements (61.5k rps -> 1.49M rps)

This is a little dangerous. HttpContext is the primary touchpoint for application APIs and is likely to be referenced in non-linear ways like events, background threads, etc.. Consider SignalR which does much of its work on background threads and could easily get into race conditions with this change. Arguably SignalR needs to guard against referencing the HttpContext after the 'end' of the request, but before the worst that could happen was an ObjectDisposedException. Now recycling the HttpContext underneath them could cause pretty terrible side effects like having the wrong user credentials.

Consider SignalR which does much of its work on background threads and could easily get into race conditions with this change.

Will get back to you on this; I think I can add a safety layer that will throw errors at a cost of one small object per request.

Closing this as discussed with @benaadams


API revision - /projects/<#>/tasks/<should be task_number, not task_id>

It doesn't make sense to me to access the project, so that I will have to access the task using its global id rather than the project task id, which is the "task_number" field

This is an unlikely change, due to backward compatibility and consistency (there's no other API that exposes elements via context specific ID, instead of their actual ID-s).
#16 is likely to happen.

@ilijastuden As it is particularly important to be able to use the task_number rather than the task_id, there should be a way of doing that. I don't think it should be up to the developer to build a dictionary for each project.
Use case: my team needs to sync toggl and active-collab through the API. When we open the task window, it shows us the task_number rather than the task_id. I need some information to log to my toggl task, so that it sync's with active-collab task. Hence, the unnecessary dictionary, as we don't have an easy way to see the task_id.

That's an interesting use case. I've added introduction of new API end point that uses per-project ID to our backlog. Not that it can't be implemented as suggested. Altering a widely used API end-point would break all sorts of integrations that are already developed.
PS: Global task # is easily accessible from browser's address bar.


Revise dashboard.html template

Adjust the sections of the dashboard to fill the page vertically.
As much as possible, try to use bootstrap built-in classes. Find documentation here:
[http://getbootstrap.com/css/]

the sections will fill in nicely when we add html to them. once we start filling in the sections, we may need to tweak the css a bit for cases like no classes showing up in a section or very large sections


Remove or hide DocMapperType

Right now the role of DocMapperType is a bit difficult. It's only role is to help serialize. Right now the type is too visible.
We could hide it more, or even remove it and rely on typetag.
https://github.com/dtolnay/typetag

very good point, when discussing about the doc mapper with @evanxg852000 it was indeed a confusing to have the choice between the two. Ideally, it would very nice to remove it, I didn't know typetag!!!!! sounds great.

closing thanks to PR #46


[docs]: Simplify Quickstart

Description
Modifies docs for Core, React and Vue packages so that the quick-start sections have the minimal code necessary to get up and running and also adds examples of how to create and Ethers provider with the connected wallet.

Looks good! Couple notes - and there is a conflict caused by the new react hooks docs 😬

Nice


Vertex label on hover

Add label of a vertex on mouse hover. Different paths to the identity are already saved after all.
Idea from reddit: https://www.reddit.com/r/math/comments/1aimjq8/understanding_groups_and_drawing_pretty_pictures/

Extra bonus: highlight all the paths to the identity (make the edges glow or like with a text marker, or just make them larger, or sparkle or change color as an animation etc)

A great idea! You might click on a vertex to highlight it and it's path to the identity. Then you might click again to make this vertex the new Center.

The vertex label was implemented, and left-clicking makes it the center. We could still highlight the saved paths from the identity


Daily forecast section

In this PR was done:

Fixed the folder structure. Cleared the unused files
Created an API key and implement it in the project
Created the Forecast component
Investigated the API documentation and set up the Daily Forecast feature
Implemented mentioned feature into the Forecast component

@SanjaySinghRajpoot Hey Sanjay - Can you please review this PR and give feedback to @elmar8287 and @dw2761 ?

The changes from this branch were merged with the main branch. In this commit https://github.com/MLH-Fellowship/prep-project-22.JUL.PREP.3/commit/fcd33b46a29c073fd4e7049457d57e1e493b3300

@elmar8287 @dw2761 @SanjaySinghRajpoot great sounds good - could someone make the final commit to this PR to resolve the conflicts?

Changes look good to me, I have already merged the changes for @elmar8287 in https://github.com/MLH-Fellowship/prep-project-22.JUL.PREP.3/commit/fcd33b46a29c073fd4e7049457d57e1e493b3300. Now the changes made by @dw2761 are to be merge from this PR.

@SanjaySinghRajpoot @elmar8287 @dw2761 Hey all! What's the status of this PR? As it's a bit behind, does it just need an update with the more recent PRs?

@SanjaySinghRajpoot @elmar8287 @dw2761 Hey all! What's the status of this PR? As it's a bit behind, does it just need an update with the more recent PRs?

Hi @SanjaySinghRajpoot actually we continue with this issue in next PR https://github.com/MLH-Fellowship/prep-project-22.JUL.PREP.3/pull/20

ok, @elmar8287 so do we need this PR or I can close this for now?

ok, @elmar8287 so do we need this PR, or I can close this for now?

@SanjaySinghRajpoot We have to close it and go on with the new one. Thanks for your collaborations in this PR 👍 💯

ok, closing this PR for now. Thanks everyone!!


I cannot input in Spyder or Jupter Notebook （Anaconda2.7） on Ubuntu Server

Description of your problem
Today I installed Anaconda2 on our lab sever-a Ubuntu Server
But I cannot input in Spyder or Jupter Notebook （Anaconda2.7） on Ubuntu Server
I use Remote-Desktop-Connection to the server
When I type on my keyboard ，Nothing in Spyder Ipython console！
But I can input in another things ，such as the terminal in Ubuntu，the Firefox search engine。
I hope you can help me。I don't want to change my coding IDE to Pycharm。
Please provide any additional information below
You can send me a email<EMAIL_ADDRESS>Thank you!
Versions and main components

Spyder Version:3.1.4
Python Version:2.7
Qt Version:
PyQt Version:
Operating system:UNBUNTU server

Dependencies
Please go to the menu entry Help > Optional Dependencies (or
Help > Dependencies), press the button Copy to clipboard
and paste the contents below:

This seems like a duplicate of issue #3713. Please see that issue for a solution to this problem.

I‘m using ssh to connect the server.(not VNC) Can you help me?


k6 install over ubuntu server url fails

sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt-get update
sudo apt-get install k6
Error: https://dl.k6.io/deb stable InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C780D0BDB1A69C86
Warning: GPG error: https://dl.k6.io/deb stable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C780D0BDB1A69C86
Warning: https://dl.k6.io/deb/dists/stable/InRelease: The key(s) in the keyring /usr/share/keyrings/k6-archive-keyring.gpg are ignored as the file has an unsupported filetype.
Error: The repository 'https://dl.k6.io/deb stable InRelease' is not signed.

Nothing to do with this report


Adding page rules to import

Looking forward to this being merged! @marccampbell any ETA?

@lmakarov i'll take a look at this one this week! 😄


Schema Creation Script Tool

This PR provides a dotnet tool that allows one to generate the schema creation script for each of the SQL dialects we support. Below is an overview of the supported dialects:

mssqlv2 is compatible with the now obsolete SqlStreamStore.MsSql.MsSqlStreamStore
mssqlv3 is compatible with SqlStreamStore.MsSql.MsSqlStreamStoreV3
mysql is compatible with SqlStreamStore.MySql.MySqlStreamStore
postgres is compatible with SqlStreamStore.Postgres.PostgresStreamStore

One thing I'm not happy with in this PR: The way in which the script gets generated is by instantiating the dialect matching IStreamStore implementation and calling its GetSchemaCreationScript() method. The problem is I need to pass a (fake) connection string to get this to work. The alternative would've been to use InternalsVisibleTo("SqlStreamStore.SchemaCreationScriptTool") and talk to the Script classes directly OR to make those script classes public. Neither of those options appealed to me at the time of authoring this, but I'm open to suggestions.
Do we want to generate the creation of the associated database schema as well? Because that does not seem to be part of what the GetSchemaCreationScript() method generates. It is part of the CreateSchemaIfNotExists() methods, though. Please note that database schema support is limited to mssql and postgres at this time.

[x] Added a -cs|--create-schema command line option to cater for this (so it's opt-in).

Please note that commit 6383572ed3402395489535e1f0cb4dbfacaa0cd7 will be reverted since master now contains a fix for the failing MySql tests.

Rebased and merged in https://github.com/SQLStreamStore/SQLStreamStore/commit/c7a1889e9869335baadbb6c88357c89fda59fd56


switch to circle ci

travis ci is very slow :-(

not necessary any more

feel free to switch to puppeteer too

closed because travis ci does the job.


new nuget release - when?

Hi, when do you plan a new NuGet release?
I am particularly interested in #347 & #371.

Hi @tdjastrzebski
While we have no immediate plans to make a release, we have collected some valuable changes to make one.
I'll investigate if we can release a new version in the immediate future and will inform you when we are ready.
Stay tuned.

Hi @MikhailTymchukDX, I could publish ScriptUserControl extension on NuGet but new act needs to go first.

Hi @tdjastrzebski ,
I understand your concern.
If you want to publish a ScriptUserControl package as soon as possible, I propose the following tweak: embed the latest AjaxControlToolkit.dll directly into your package.
When we publish the next release, you can make a new version of a package that has a dependency on the AjaxControlToolkit.

Similar desire, hoping for an official release via NuGet that includes the fix for #331.  Thanks.

Hi @MikhailTymchukDX, I will wait for the new release.

Some news about new package?

@sebaim We have scheduled it for January.


Microphone not picking up any sound on PHASER360 (Lenovo Chromebook 500e 2nd gen)

I'm running arch linux with kernel 6.3.6, using kde

In KDE audio aettings, allow going above 100% and set mic volume to 150%

It works but its really quiet

I have the same device running Kubuntu 23.04, and microphone works just fine. Did you try switching to "Pro Audio" and using the "Audio Pro 99" capture device?

DO NOT use pro audio. Set mic level to 150% and it will work.


Custom font and AMOLED black theme

When using the AMOLED theme and the new custom font, text is very hard to read because the color is almost the same as the background color in detail cards. It's a dark gray on black on the configuration selection screen as well.

I don't know, is it? Most of the text in app is on top of a lighter foreground colour being used for the cards, which does not change between the dark and AMOLED themes. The dark grey on black is intended, to provide a distinction between elements at different elevation levels in accordance with material guidelines.

I meant that the configuration names on the main page (when you open the
app) are dark gray on black. The detail cards are light gray, with dark
gray text. They are barely readable.
On Sat, Nov 3, 2018 at 10:59 PM Harsh Shandilya<EMAIL_ADDRESS>wrote:

I don't know, is it? Most of the text in app is on top of a lighter
foreground colour being used for the cards, which does not change between
the dark and AMOLED themes. The dark grey on black is intended, to provide
a distinction between elements at different elevation levels in accordance
with material guidelines.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MSF-Jarvis/wireguard-kt/issues/81#issuecomment-435644570,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHkBf0ooH-uHEYd1aRm0gVhrwLeViX3Jks5uroJHgaJpZM4YNJfG
.

I meant that the configuration names on the main page (when you open the app) are dark gray on black. The detail cards are light gray, with dark gray text. They are barely readable.
…
On Sat, Nov 3, 2018 at 10:59 PM Harsh Shandilya @.***> wrote: I don't know, is it? Most of the text in app is on top of a lighter foreground colour being used for the cards, which does not change between the dark and AMOLED themes. The dark grey on black is intended, to provide a distinction between elements at different elevation levels in accordance with material guidelines. — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub <#81 (comment)>, or mute the thread <github.com/notifications/unsubscribe-auth/AHkBf0ooH-uHEYd1aRm0gVhrwLeViX3Jks5uroJHgaJpZM4YNJfG> .

I honestly don't see the problem there. I know you're opinionated about the custom font and this is just an attempt to make me revert that but if you feel there's a real problem, make a PR and we'll take it from there.

Closing for inactivity.


adding database files

Thank you for contributing! To help the review process, please provide the following:
Proposal
pushing database file to the repo.
Related
N/A
Checklist

[x] I have read the code of conduct and contributing guide
[x] I have made this pull request to the master branch
[x] I have run all of the automated validation using npm run ship
[x] I have added myself to the "contributors" list in the package.json (or do not want to)

Thank you guys

thanks


Publish VanJS to npm

I agree, it would be nice to use unpkg, say, for a quick hack w/o building a special repo dir.


Local variables

Would be great if it’s possible to use local computer information for Title and other texts. I would like to show the computer name there, but preferably independent from Jamf Pro computer inventory, as like the InfoItems work.
Maybe some of the options for InfoItems could work as a local variable, so you can put it in a string, like;
%ComputerName%
%MacOSVersion%
%ExtensionA%
%ExtensionB%
An item I would like to be added and handled the same way, is the current logged in user (full name, eventually system name). Could do that with an extension, but then I still need the requested feature to use it in the Title. Then I could set “Hello, %UserName%!” as the Title, returning “Hello, John!”.
One more thing, a gimmick to make SupportApp more personal. Maybe do something with parts of the day. Let’s say 0-5 is night, 5-12 is morning, 12-18 is afternoon, 18-24 is evening. A variable like %DayPart% could return “(Good )night, -morning, -afternoon or -evening”, so the string might be “(Good )%DayPart%, %UserName%”, resulting in “Good morning, John!”.
Even wilder would be if you could set variables for this, with configuration keys like DayPartNight, DayPartMorning, DayPartAfternoon and DayPartEvening. Then even “Howdy, John!” and “It’s bedtime, John…” are options.

Local variables are added in v2.5: https://github.com/root3nl/SupportApp#built-in-local-variables. The other suggestions with the day parts is probably a bridge too far but may be scripted locally.


How to reset the tensor in DataContainor?

Hi, dear authors!
Sorry to bothor you.
I modified the def prepare_train_img in mmdet/datasets/coco.py to make mmdet can accept six channels imgs(concat 2 imgs in channel dim, and make their augmentation same).
Here is the code:
    def prepare_train_img(self, idx):
        img_info = self.data_infos[idx]
        ann_info = self.get_ann_info(idx)
        results = dict(img_info=img_info, ann_info=ann_info)
        if self.proposals is not None:
            results['proposals'] = self.proposals[idx]
        self.pre_pipeline(results)

        seed = np.random.randint(1 << 31)

        original_mode = "/" + osp.basename(osp.dirname(results["img_prefix"]))
        original_results = copy.deepcopy(results)

        # self.multi_inputs: 图像的模态列表
        mode = self.multi_inputs[0] # 第一种图像模态
        results["img_prefix"] = results["img_prefix"].replace(original_mode, "/" + mode)
        set_random_seed(seed)
        data1 = self.pipeline(results)
        results = original_results

        mode = self.multi_inputs[1] # 第二种图像模态
        results["img_prefix"] = results["img_prefix"].replace(original_mode, "/" + mode)
        set_random_seed(seed)
        data2 = self.pipeline(results)
        results = original_results

        # 拼接这两种模态的图像
        data1['img'].data = np.concatenate([data1['img'].data, data2['img'].data], axis=0)
        return data1

However, when I was training this “Six Channels Dataset", this Error came out:
Original Traceback:
   ......
  File "/media/gpuservice/DATA/Processing/Ubuntu/core/mmlab/mmdetection/mmdet/datasets/multi_channels.py", line 624, in prepare_train_img
    data1['img'].data = np.concatenate([data1['img'].data, data2['img'].data], axis=0)
AttributeError: can't set attribute

I catched the data1, and find data1['img'] is a tensor in DataContainor. It can be read by A = data1[img].data but can't be set by data1[img].data=tensor(xxx, xxx, ...).
Could you tell me how do I solve it? (I want use the concat(data1['img'].data, data2['img'].data) to instead of data1['img'].data)
Thank you!

I figured that out.
Recreate a DataContainer.


Setup failed with error code 1

So I'm using two tutorials here Microsoft/mssql-server-linux and here tutorial
I'm also trying to run with this command docker run -ti -p 1433:1433 -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=daniel" microsoft/mssql-server-Linux so that I can see what's happening live. At first I was getting errors that I needed 3.25 GB ram allocated when I've got 5.3 currently. Now I'm getting "Configuring Microsoft SQL Server..." followed by "Setup Failed with error code 1"
How can I find out what's going on here? I can't get past the first part of any tutorial which is start the instance.

I removed and re-downloaded the image. Then I didn't get that code anymore... I'm not sure what the problem was.


optimize module has problem in version 18

I encounter the following problem in scipy 18 with several minimizing functions which work fine in scipy 17, best shown by a small example
Minimize the Morse potential ( function f below)  with the exact minimum 0.5
#morse.py
import math
def f(r):
   d=2.5; a=1.5; r0=0.5
   e=math.exp(-a*(r-r0))
   return d*(1-e)**2

import scipy.optimize
minx = scipy.optimize.fmin_cg(f, [1.0])
print(minx, f(minx))

Run with scipy 0.17
$ python --version
Python 3.5.2
$ pip freeze | grep scipy
scipy==0.17.0
$ python morse.py
python morse.py
Optimization terminated successfully.
         Current function value: 0.000000
         Iterations: 3
         Function evaluations: 21
         Gradient evaluations: 7
[ 0.50000005] 1.393924217093446e-14

Upgrade scipy
$ pip install scipy --upgrade
Collecting scipy
  Using cached scipy-0.18.1-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: scipy
  Found existing installation: scipy 0.17.0
    Uninstalling scipy-0.17.0:
      Successfully uninstalled scipy-0.17.0
Successfully installed scipy-0.18.1

Rerun
python morse.py
Warning: Desired error not necessarily achieved due to precision loss.
         Current function value: 0.009194
         Iterations: 1
         Function evaluations: 24
         Gradient evaluations: 4
[ 0.46075045] 0.009193610730901572

Whether it converges for this problem depends very much on the initial
guess, both for Scipy 0.18 and 0.17. It is true that for such problems,
the convergence basins of CG did change, but it is not clear whether
this is a performance regression per se.

Yes, but this should be a trivial optimization problem with starting point at r=1.0 and with the function looking like
https://github.com/vahtras/scipy/blob/gh-pages/morse.png

I don't see any changes to the function between 0.17 (released Jan. 22 2016) and master in the history:
https://github.com/scipy/scipy/commits/v0.18.1/scipy/optimize/optimize.py

There's a change in the initial step size in 0.18.0. However, it fails
to converge for many initial guesses also in 0.17.0, so convergence
basins were only shuffled up but the situation did not change otherwise.
.
I think what happens is the following: CG ends up with a non-descent
direction, and the algorithm terminates (with a message of
non-convergence) rather than trying shorter step lengths. AFAICS, this
behavior is in the original implementation by Travis, so it's been like
this forever.
.
The reason why is AFAICS that the CG is the PR+ variant, and unlike
Fletcher-Reeves, strong Wolfe conditions do not always guarantee descent
direction. To handle this case, the line search can backtrack, so that
the algorithm doesn't need to exit with error. This is discussed in
[Gilbert & Nocedal, "GLOBAL CONVERGENCE PROPERTIES OF
CONJUGATE GRADIENT METHODS FOR OPTIMIZATION", SIAM J. Opt. 2, 21 (1992)].


fix: 修复chart未清除缓存的组件的问题

Checklist

[ ] npm test passes
[ ] tests and/or benchmarks are included
[ ] commit message follows commit guidelines

Description of change

补个单测吧


Add custom kube-scheduler for control plane pods.

How to categorize this PR?

/area control-plane
/area cost
/area scalability
/kind enhancement
/priority normal
What this PR does / why we need it:
This PR introduces a new feature gate SeedKubeScheduler that adds a custom kube-scheduler in the seed clusters.
It weights Nodes with most resource usage higher, resulting in better packing of Nodes:
apiVersion: kubescheduler.config.k8s.io/v1alpha2
kind: KubeSchedulerConfiguration
leaderElection:
  leaderElect: true
  leaseDuration: 15s
  renewDeadline: 10s
  resourceLock: leases
  resourceName: kube-scheduler
  resourceNamespace: gardener-kube-scheduler
  retryPeriod: 2s
profiles:
- schedulerName: gardener-shoot-controlplane-scheduler
  plugins:
    score:
      disabled:
      - name: NodeResourcesLeastAllocated
      - name: NodeResourcesBalancedAllocation
      enabled:
      - name: NodeResourcesMostAllocated

Which issue(s) this PR fixes:
Fixes #2873
Special notes for your reviewer:
The scheduler is with hard-coded configuration for now, but it can be made configurable in another PR.
Release note:

New `SeedKubeScheduler` feature gate is added to gardenlet. When enabled, it deploys a custom `kube-scheduler` in `gardener-kube-scheduler` namespace of Seed clusters with Kubernetes version `1.17` or greater. The scheduler assigns Shoot control plane Pods to Nodes with higher resource utilization, resulting in better bin-packing of control planes.

/assign

/cc @vlerenc

@ialidzhikov I've greatly redesigned the PR - now every supported Kubernetes version on the Seed (1.18 and 1.19 for now) have their scheduler API in that version. This was done because different scheduler versions support and have different APIs:

1.17 has v1alpha1
1.18 has v1alpha1 and v1alpha2
1.19 has v1beta1

@rfranzke I've reworked the PR to use the managed resources. Have another look.

I've updated the PR

I've updated the PR

Added PDB in 87a1ccb

Added PDB in 87a1ccb

@ialidzhikov your review from last month is blocking the merge, can you please either review again or dismiss?

@ialidzhikov your review from last month is blocking the merge, can you please either review again or dismiss?

@ialidzhikov your review from last month is blocking the merge, can you please either review again or dismiss?

I will check later today.

@ialidzhikov your review from last month is blocking the merge, can you please either review again or dismiss?

I will check later today.


v6.1.5

[x] I have followed (at least) the PR section of the contributing guide.

I merged https://github.com/mui/material-ui/pull/44118, I forgot the release PR is up, sorry.


Script Reporting SPN Missing and User not licensed

Is there a problem with the script in regard to the SPN test and user license test?  I rant this in a customer environment that has a new install and the tool is reporting the MFA extension SPN is not in the tenant and the user is not MFA licensed even though they have a P1 license.
please reach out to me if you need additional info, alias:weham

After checking what was the context of current situation, it was evidence that SPN for Azure Multi-Factor Auth Client was not created and it could be fixed by following this documentation:

https://learn.microsoft.com/en-us/entra/identity/authentication/howto-mfa-nps-extension#how-to-fix-the-error-service-principal-was-not-found-while-running-azuremfanpsextnconfigsetupps1-script https://learn.microsoft.com/en-us/entra/identity/authentication/howto-mfa-nps-extension#how-to-fix-the-error-service-principal-was-not-found-while-running-azuremfanpsextnconfigsetupps1-script

Related with user not having a valid license, it should be checked which were the license assigned to user and retrieved by script.

@miguel-s-ferreira thanks for your help! #please-close


More parameters

Openning this PR to test first changes, and take any comments. Currently, don't have access to push an image locally to quay.io/ibm-mongobd-operator...hoping this PR creates an image I can test with
#48
Not ready for merge

/approve cancel


[ims] Define ClusterRequest CRD and create o2ims controller managing its lifecycle

See design details here: https://docs.google.com/presentation/d/1iyE_XLkBJkl_ClYsE_vRnEkm8Ica7YE0/edit#slide=id.p1
In scope:

creation of the API and the initial controller reconciling it. Here is an example CR.

the clusterTempalteRef should point to an existing PackageVariant

apiVerson: o2ims.provisioning.oran.org/v1alpha1
kind: ClusterRequest
metadata:
  name: Cluster1
  namespace: default
spec:
  clusterTemplateRef: O-CloudClusterTemplate1
  siteRef: Site-1

controller should use the clusterTemplateRef field to identify the PackageVariant to deploy
controller should use the siteRef to identify the target site where the cluster should be deployed.

Use the WorkloadCluster CRs, along with the nephio.org/region label
If a cluster already exist in that site, nothing should be done. The details of the cluster will be provided through the status of the CR, handled here https://github.com/nephio-project/nephio/issues/758
if no cluster exists at that site, deploy the PackageVariant

Out of scope:

Status monitoring and reporting

How about we define a provider field in the spec section? That will help identify the O-cloud vendor so the O2IMS operator can directly forward that template to the required vendor.
Otherwise, the O2IMS operator needs to open the template, read it, and find a field that defines which vendor this template is for.
The provider field is just an example, but we can find another alternative. Today, in NFDeployment, there is a provider field that is vendor-specific.


Modify mesh_com scripts for CI(continuous Integration)/CD(Continuous development) automation for developer workflow.

Objective:
Ansible scripts for mesh_com CI/CD dev  automation can be used  to execute the mesh_com server/client role(mesh configuration on boarding and mesh ping validation). Developer can use this framework to UNIT test changes and sanity results should complete the workflow for merge.
Run docker container in Server:
https://github.com/tiiuae/mesh_com-test-automation/tree/master/semaphore
Web browser:
http://localhost:3000/project/1/templates
Note: Post deployment local-host will be changed with IP address.
Task
Task1: Customize install.sh to have non -blocking implementation(should not wait for user input while used in CI/CD workflow and use static default config).
ex:
./install.sh -ci
Task2: Customize configure.sh to have non -blocking implementation(should not wait for user input while used in CI/CD workflow and use static default config).
ex:
./configure.sh -s -ci or ./configure.sh -c -ci
Customize ansible script modification post task1/task2 and add sanity block(mesh ping validation).
https://github.com/tiiuae/mesh_com-test-automation/commit/112ce172eb6a2ab28c22fa0588a88014203a47c4

This is already in place now with  Jenkins based CI-CD.


How to dispose the noa instance?

Hi, do you mean you want to dispose the noa instance, so that it releases all its memory so you can recreate it later? It doesn't have any feature like that currently, though I don't think it would be too hard to make.
On the other hand if you just want to be able to hide/show the game, I think it would be easier to have vue show/hide noa's container element, rather than destroying/recreating it. This would run faster, since destroying/recreating would mean the whole world needs to be regenerated and remeshed, etc.

Yeah,that's what I mean.I want others to use my blockly to build games, so the game code is different every time and needs to be completely rebuilt.
If I want to dispose the noa instance, what shall I do?Looking forward to your reply,have a nice day :).

Hi... so the real answer is that the library should have a dispose method, but it doesn't have one yet and I don't have plans to work on it soon. However I think it would be pretty straightforward if someone else wants to try. Basically it would mean disposing the babylon scene and releasing lots of internal references and removing some event listeners.
One alternate answer is, you may be able to use a single noa instance continuously, but just change the world data. You can do this with the noa.worldName (which is normally for things like changing from the overworld to the nether in minecraft).  When you change noa.worldName to a different value, the engine will unload all its current chunks and issue events requesting voxel data for the new world.
However changing noa.worldName doesn't reset the registry, just the world's voxel data. If you need to start completely fresh and register different voxel types, then you'll need a proper dispose method.


setting  LDAP_NOFILE at runtime seems not having any effect

I am running the openldap container with the following:
--env LDAP_NOFILE=64000

but after container starts,  I am checking the ulimit -n for openldap user, it still shows 1024 (default  value)
[GCP root@ldap-1:ldap]# docker exec -it openldap bash
root@ldap-3:/#
root@ldap-3:/#
root@ldap-3:/# su - openldap
su: warning: cannot change directory to /home/openldap: No such file or directory
$
$
$ ulimit -n
1024

I suspect this is the reason that container is stopped once in several hours by itself.

Checking the running container /proc/${PID}/limits revealed that nofile updated properly


chore(main): release 1.0.0

:robot: I have created a release beep boop
1.0.0 (2024-09-12)
Features

first commit (f289531)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.0.0
:sunflower:


More examples please

This is a great lib!  Would love a handful of examples that demonstrate more of the functionality and how to override it.

for sure, i'll add something about the parameter overriding to the README.md and add some more concrete examples

ok i've added some examples to the ./examples directory. lemme know if there is something specific you'd want to see.

Thanks for the quick response.  Anything on styling non-data elements of the graph?  Specifically around padding the canvas.  Or maybe there's a general styling practice that's applied to everything that I'm not noticing.

the logic around the canvas padding is currently kind of incomplete; there is a Padding property of the Style object but it's not used consistently and i need to clean that up. further, the autofit logic more or less ignores the provided canvas padding. lemme take a pass at trying to figure out why

ok, i've tweaked the chart to not blow away user defaults on chart.Background.Padding; they should more or less be preserved through Render().
the only other object that is drawn with padding is Annotation and even that is kind of on the whims of the style of the outer series.
lmk if this works for you or if you need control over something specific.

Very cool man.  Thank you.
Looks like the background padding pushes the legend entries outside the legend box.  But this issue is completely resolved.   Really appreciate it!

Ack, ok fixed the legend issue.
Creating the examples was actually great for finding bugs; it pushed me to test use cases that I haven't been testing up to now.


Add unpacker support for Borland C++ 1995

retdec: v3.3
OS: Ubuntu 18.04.2 LTS
Python: Python 3.6.8
When attempting to decompile an executable, the decompiler warns:
RUN: /home/tofu/temp/retdec/bin/retdec-unpacker /home/tofu/APP/app.EXE -o /home/tofu/APP/app.EXE-unpacked.tmp --max-memory-half-ram
No matching plugins found for 'Borland C++ 1995'
##### Unpacking by using generic unpacker: nothing to do
And finally:
Running phase: Initialization ( 0.02s )
Running phase: LLVM ( 0.03s )
Running phase: Providers initialization ( 0.03s )
Running phase: Input binary to LLVM IR decoding ( 0.67s )
Error: Decompilation to LLVM IR failed

Hi. Are you sure Borland C++ 1995 is a packer? Seems like a compiler to me. Could you please share with us the app.EXE that you are trying to decompile?

I've followed up with you via email. Thanks.


Update the fmt progress in the same line

Thanks, and i think it would be nice to have the progress updated in the same line.

Is the problem unique to scala-cli, or might it just be a standard behavior of scalafmt that scala-cli has because it launches scalafmt for you?

Thanks for reporting! This is indeed a standard behaviour of scalafmt, this would need to be fixed upstream

@tgodzik Yes, and no, as an end user, we are using scala-cli :), and thanks.

Actually, I realised this works for me, how are you running scalafmt?

Actually, I realised this works for me, how are you running scalafmt? Meaning, what system/terminal?

On window 11 ,run in cmd


Allows invalid coordinates

Context
cc/ @ingalls
Rel: https://github.com/ingalls/hecate-example/pull/2
Currently Hecate allows invalid/improbable geo coordinates like [<PHONE_NUMBER>98893414, -199.38005089759827 ]. I'm not sure if this is necessarily a bug, since it's within the scope of an ambitious imagination that someone might want Hecate to be able to eat strange GeoJSON points.
But it seems pretty extreme, and I'd reckon validating coords would save more headaches around "Oops, I mixed up my lat and long" than it would "Why won't Hecate allow me to plot a point off the edge of the earth?"
A next question would be if this kind of validation should happen "hard", like somewhere around https://github.com/mapbox/Hecate/blob/master/src/feature/mod.rs#L179, or if this job might be abstracted to another kind of configurable schema.

Due to the tile generation math you're absolutely correct that Hecate should avoid ingesting coordinates outside of the normal lat/lng range.
I've implemented a hard rejection of out of range coordinates in #143 as well updating to the latest version of geojson. Since the GeoJSON spec says that coordinates should be wrapped around the meridian, this should be fine to push onto the user.


#11480 Update find/replace target every time the search is initiated

https://user-images.githubusercontent.com/35821147/115051541-9afe7980-9ee5-11eb-9936-1b082654074b.mp4

It is bad to have static singleton which references spreadsheet (and thus all database model objects).
Probably it is better to determine active spreadsheet on every IFindReplaceTarget API request


Update tests for web socket to use real serve instead of a mock

Closing, as this has been largely rewritten by @ericvicenti in this models work.


invoke the application

WHEN I enter the command to invoke the application
THEN my server is started and the Mongoose models are synced to the MongoDB database

done