Fix assertUniqueName throwing exception when using MultiWidget

assertUniqueName was not checking whether all names in a field group were unique. Instead, it was checking whether all elements in the field group had the same name as the first element of that group.
This led to problems when using field groups with multiple elements, f.ex. when using MultiWidget widgets.
Fixes #61

Seems like the tests are busted? Not even the clean/untouched upstream main branch passes the tests for me.

I will try to merge this directly into my branch and run the E2E tests locally.
In 1.0 there is a check to prevent two <django-formset>s interfering with their id="…". In case use auto_id on forms. In the docs I do this all the time, because I have multiple <django-formset>s on each page.
Currently I'm working on #54.

Many thanks for this fix. I integrated it into PR #76

I reverted this fix.
It caused some E2E tests to fail, namely test_radiochoice_field and test_multichoice_field.
Did you run all tests before submitting this PR? Imo, it doesn't seem so.

No I mentioned that:

Seems like the tests are busted? Not even the clean/untouched upstream main branch passes the tests for me.

I figured there must be something wrong with the tests, considering how minor the change is. And to be honest, since the tests take a long LONG time to run I didn't pursuit this further.

Now, looking at test_radiochoice_field the test fails here:
assert placeholder_field.inner_text() == "This field is required."

The test includes a RadioSelect widget, which renders as multiple checkbox inputs all with the same name.
Running the test in headed mode revealed that assertUniqueName throws an error (because all the inputs of the RadioSelect widget have the same name), which breaks the scripts, which stops the "required" text from being attached to the element, which fails the test.
When I rewrote the function according to its name, I didn't think about RadioSelects sharing the same name being something that is totally valid. Absolutely my bad.
But now I am confused why assertUniqueName should exist in the first place; in its original state it didn't assert that the name was unique, and in its modified state it doesn't allow RadioSelects (and maybe other widgets). Also, how will #61 get fixed without any changes?
Can you clarify what assertUniqueName  is supposed to be doing?
 I had to modify conftest (basically removing all the stuff related to the Connector) to get into headed mode for debugging.

Can you clarify what assertUniqueName is supposed to be doing?

In case two fields have the same name, catch this before weird stuff occurs. You're right, this check might be over-engineered. Maybe I'll ditch it.
Anyway checking for unique ids turned out to be really useful. In the docs I often have two or more formsets on the same page.

Good question. I add a breakpoint into one of the functions to be tested. Then I look at the port where the server runs – it unfortunately changes every time. Then I open the browser and point it to that port on localhost and use one of the routed URLs. There I have the same view on HTML and JS as Playwright would have.

Can you clarify what assertUniqueName is supposed to be doing?

I now remember what that function is intended to do. Multiple checkboxes and radios must use the same name if inside a group. This is the reduce the checked value(s) onto one submitted entity.


fold incompatible with TF-gpu 1.10.1

Installing tensorflow-fold in python alongside tensorflow-gpu 1.10.1 results in the following error traceback:
---------------------------------------------------------------------------
NotFoundError                             Traceback (most recent call last)
<ipython-input-2-5f32c6c0a67b> in <module>()
      3 import tensorflow as tf
      4 sess = tf.InteractiveSession()
----> 5 import tensorflow_fold as td

~/.pyenv/versions/3.6.0/lib/python3.6/site-packages/tensorflow_fold/__init__.py in <module>()
     20
     21 # pylint: disable=wildcard-import, unused-import
---> 22 from tensorflow_fold.blocks.block_compiler import *
     23 from tensorflow_fold.blocks.blocks import *
     24 from tensorflow_fold.blocks.layers import *

~/.pyenv/versions/3.6.0/lib/python3.6/site-packages/tensorflow_fold/blocks/block_compiler.py in <module>()
     26 from six.moves import xrange  # pylint: disable=redefined-builtin
     27 import tensorflow as tf
---> 28 from tensorflow_fold.blocks import loom_ops
     29 from tensorflow_fold.blocks import result_types as tdt
     30 from tensorflow_fold.blocks import util

~/.pyenv/versions/3.6.0/lib/python3.6/site-packages/tensorflow_fold/blocks/loom_ops.py in <module>()
     17 from __future__ import print_function
     18 # import google3
---> 19 import tensorflow_fold.blocks.result_types as tdt
     20 from tensorflow_fold.public import loom
     21

~/.pyenv/versions/3.6.0/lib/python3.6/site-packages/tensorflow_fold/blocks/result_types.py in <module>()
     25 from six.moves import zip  # pylint: disable=redefined-builtin
     26 import tensorflow as tf
---> 27 from tensorflow_fold.public import loom
     28
     29

~/.pyenv/versions/3.6.0/lib/python3.6/site-packages/tensorflow_fold/public/loom.py in <module>()
     15
     16 # pylint: disable=wildcard-import, unused-import
---> 17 from tensorflow_fold.loom.loom import *
     18 # pylint: enable=wildcard-import, unused-import

~/.pyenv/versions/3.6.0/lib/python3.6/site-packages/tensorflow_fold/loom/__init__.py in <module>()
     15
     16 # pylint: disable=wildcard-import, unused-import
---> 17 from tensorflow_fold.loom.loom import *
     18 # pylint: enable=wildcard-import, unused-import

~/.pyenv/versions/3.6.0/lib/python3.6/site-packages/tensorflow_fold/loom/loom.py in <module>()
     34 import tensorflow as tf
     35
---> 36 from tensorflow_fold.loom import deserializing_weaver_op
     37 from tensorflow_fold.loom import loom_pb2
     38 from tensorflow_fold.loom import pywrapweaver

~/.pyenv/versions/3.6.0/lib/python3.6/site-packages/tensorflow_fold/loom/deserializing_weaver_op.py in <module>()
     32
     33 _deserializing_weaver = tf.load_op_library(os.path.join(
---> 34     tf.resource_loader.get_data_files_path(), '_deserializing_weaver_op.so'))
     35 deserializing_weaver = _deserializing_weaver.deserializing_weaver
     36

~/.pyenv/versions/3.6.0/lib/python3.6/site-packages/tensorflow/python/framework/load_library.py in load_op_library(library_filename)
     54     RuntimeError: when unable to load the library or get the python wrappers.
     55   """
---> 56   lib_handle = py_tf.TF_LoadLibrary(library_filename)
     57
     58   op_list_str = py_tf.TF_GetOpList(lib_handle)

NotFoundError: /home/bjarne/.pyenv/versions/3.6.0/lib/python3.6/site-packages/tensorflow_fold/loom/_deserializing_weaver_op.so: undefined symbol: _ZTIN10tensorflow8OpKernelE

After a bit of reading on similar errors, it seems the error is due to a compatibility issue. I should note, that all packages have been installed using pip, so there's no compilation error on my part.
I'm running Ubuntu 16.04, Python 3.6.0, CUDA 9.0, and cuDNN 7.2.1.

the same error


Remove forked MDCShortTopAppBarFoundation

Remove forked foundation when https://github.com/material-components/material-components-web/pull/5009 is in an MDC release.

Closed with #422


fix(bundler): detect per-user webview2 installations

I have no idea about wix, so this may be not the right way and i wasn't able to test this yet, sorry.
I removed the win64="no" thing because (at least on 64bit) the per-user key is not in WOW6432Node.
For reference:

https://github.com/MicrosoftEdge/WebView2Announcements/issues/37
https://github.com/MicrosoftEdge/WebView2Feedback/issues/2019#issuecomment-994089021

What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Docs
[ ] New Binding Issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes. Issue #___
[x] No

The PR fulfills these requirements:

[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix: #xxx[,#xxx], where "xxx" is the issue number)
[ ] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Weird, it didn't seem to fail locally 🤔 brb

I think we should use the default value for Win64 instead of no. From the docs:
Instructs the search to look in the 64-bit registry when the value is 'yes'. When the value is 'no', the search looks in the 32-bit registry. The default value is based on the platform set by the -arch switch to candle.exe or the InstallerPlatform property in a .wixproj MSBuild project: For x86 and ARM, the default value is 'no'. For x64, ARM64, and IA64, the default value is 'yes'.

gimme a second, i'll push the same change for the tauri info command

I think we should use the default value for Win64 instead of no. From the docs:

yeah i read the docs on that too, but i didn't get it at all lol, but because the key is actually in WOW6432Node i thought i leave it how it was for the machine-wide key and remove it for the user-wide one (because that one isn't in WOW6432Node.
This probably needs testing 🤔

yeah, had to revert it. It wasn't able to detect machine-wide installations (on 64bit systems) without Win64="no".
The user-wide installation stuff seems to work for wix and tauri info. Although i can't test it on 32-bit, but i didn't find any special info on that so i guess it's the same key.


Usability: Redesign of text/text_

It seems, wiser solution would be to have text to return clean node text, and something like formatted_text to return text with extra newlines, list markers, tables formatting and so on.

Need to think of it a bit more, then change docs and showcases... Not this time.


scss linting produces error "Unable to parse SCSS file: Invalid US-ASCII character "\xe2"

the error "Unable to parse SCSS file: Invalid US-ASCII character "\xe2" at line 1 col 1 is in multiple files no matter what character you put there.
It occurs in multiple files, even though @charset "UTF-8"; have declared  at the first line of my 'master' scss file
OS X: Yosemite (v10.10.4)

Perhaps setting the application environment would do the trick, but not sure how that should be done just yet. See for info http://code.dblock.org/2011/06/09/compass-invalid-us-ascii-character-xe2.html

Wrong repo. Moved to: https://github.com/AtomLinter/linter-scss-lint/issues/55


[docs] Fix select outlined example

https://reactjs.org/docs/react-dom.html#finddomnode should not be used in render. Does't work for first value either. (somehow in the demo it works but when stripping out other fields it doesn't.
Tried:
https://material-ui.com/api/root-ref/ but still needed a re-render so decided to do just this.

We could probably have the components using the context to hide this from the end-users.

@RichardLindhout Thank you!


[BUG] Album empty

I am using the latest version and have already tried to use shared_libraries which I found in a pull request.
photos:
destination: "photos"
remove_obsolete: false
sync_inteval: 500
all_albums: true
shared_libraries: true
I have photos in my album and have shared some of the photos with my family (everyone can see them)
What I have noticed:
I get folders for my created albums (The albums are not shared, but the photos in the albums are from the shared photos). However, these folders are empty.
How can I ensure that the folders are also filled?

Do you have any photos in the album that are not shared?


Add some command line options (for batch execution)

It could be very cool if we could have a command line parameter to pass a list of assets to the program to download them automatically
A set of complementary options could be useful, as  engine version , download or install location...
Another cool stuff sould be to export a (filtered) list of assets in json format
Thanks for your work !

How would you imagine the input format of the asset list would be? Ideal input for me is "bb1785d2edc04e1e8df3c7dd3e4b0ff3,bd0da6c7711b46589618975c5c2b8ac2" but that is not an ideal way to specify it for the user.
I am currently working on "Engine" and "Projects" section so the assets will be able to be added directly to projects and engine. But for now you can modify the Vault location for the different download target in the settings.
Having games in the mix is a side effect of how the Epic API provides the data, I could filter them out, but I like to have the option open to include them at some point in the future.
Export to json is a feature that can be added easily, will try to work it in after the current feature set is in place.

By the way, feel free to hop into discord or matrix to discuss the options

As I'm currently working on improving my productivity tools for Unreal Engine under Linux, I rather say that interacting with the filter and download features of EAM are the most useful, because there is no viable alternative for downloading assets in Linux. That's why your app is SO essential.
In fact, I was also working on a similar tool because I really need this kind of functionalities. It's an adaptation of the UE4Launcher program, with more functionalities and filtering possibilities . It's a Javascript/Electron app, in a very very early stage.
But I'll probably stop its development because your app is nearly what I need.
I'm a developer but I don't know rust yet (even if I'm very interested to learn it , and I'll probably do it later). If I did, I could probably help you to develop EAM, but currently, I'm not ready for that .
And I don't really know how Epic launcher interact with EPIC servers to download assets.
Having an export feature could help Linux users to solve lots of issues with EU on Linux, because the extracted data could be used with bash scripts to automate some boring tasks (like updating and building plugins for instance).
I haven't think about the best format to use, but as Json is a standard, it could facilitate future interactions with others tools.
I think the most important features are:

exporting FILTERED assets (for instance only the plugins, or only result of a search, or both)
get asset name, tags, category , platform, compatible engine versions, update date, URL, short description

I don't know if its possible to have a shell tool to download an asset using its URL (for instance with wget or curl), but it could be a great idea to implement that in EAM
Combining export feature and shell command to download could be sufficient in a first time to fill the lack of a complete version of the Epic Launcher on Linux, or even better if it has this kind of batch possibilities.

I've just discovered your other repos, and it seems you have already created an API for interacting with Epic servers: egs-api.
I'll try to look at it shortly, but if It can be used in a command line, only the export feature could be necessary at start


chore: publish as v0.3.0

We are going to publish the current version as v0.3.0.

I'd prefer not to publish this on Cargo, or consider 0.3 as a stable release. Let's simply create a GitHub Release v0.3.0-pre for this PR.


Disables the upload button on home page

Disables the upload button on home page
Adds upload button to unfiled files

:+1:


"Translate" cryptic error messages

I had a couple of incidences where I stumbled over one of these cryptic error messages. Since it's not a viable information for the user, we should provide a more readable error message.
Is there a 'catalog' of all these messages where we can give them some proper meaning? (also translate them into our supported languages (later).

@juergrinaldi for all the error messages that are like Error. ... the translations are missing.
Errors like this should not get to the console. sometimes it is forgotten to add the translations.
So please just add where you had this and we are able to add the missing translations.


kwctl v1.5.0 reports that it's v1.4.2

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Building kwctl v1.5.0 from source for Homebrew. After building, running kwctl --version reports v1.4.2.
Expected Behavior
kwctl --version reports v1.5.0
Steps To Reproduce
Build kwctl v1.5.0 using cargo install
Run kwctl --version
Version v1.4.2 is returned
Environment
- OS: macOS
- Architecture: arm64

Anything else?
No response

@p-linnane thanks for having reported this issue. I've just tagged kwctl 1.5.1, the binaries are being built as we speak


Lil error.

[main/WARN]: Reference map 'Prehistoric-refmap.json' for mixins.prehistoric.json could not be read. If this is a development environment you can ignore this message

And this:
[Worker-Main-2/WARN]: Unable to load model: 'prehistoric:block/analyzer_active' referenced from: prehistoric:analyzer#facing=north,lit=true: java.io.FileNotFoundException: prehistoric:models/block/analyzer_active.json

And this:
[Worker-Main-2/WARN]: Unable to load model: 'prehistoric:block/analyzer_active' referenced from: prehistoric:analyzer#facing=north,lit=true: java.io.FileNotFoundException: prehistoric:models/block/analyzer_active.json

And this:
[Worker-Main-2/WARN]: Texture prehistoric:block/chest1 with size 10x9 limits mip level from 4 to 0

And this:
[Worker-Main-2/WARN]: Texture prehistoric:block/chest1 with size 10x9 limits mip level from 4 to 0

Yea ignore all those, the first one is because I dont have any mixins, the second one is because I turned off the feature where the analyzer has a lit blockstate, and the 3rd is might be something I have to fix but i'll check. But it should run fine even with the errors

Yea ignore all those, the first one is because I dont have any mixins, the second one is because I turned off the feature where the analyzer has a lit blockstate, and the 3rd is might be something I have to fix but i'll check. But it should run fine even with the errors

the first one is because I dont have any mixins

Then please delete mixins.prehistoric.json and the mention of it from the fabric.mod.json. I'm fighting for cleaner logs.

the first one is because I dont have any mixins

Then please delete mixins.prehistoric.json and the mention of it from the fabric.mod.json. I'm fighting for cleaner logs.

Alright I'll see if I can fix the other two warnings

Alright I'll see if I can fix the other two warnings


s390x architecture drone jobs

s390x jobs are running at cloud.ibm.com on their new VPC Infrastructure, Tokyo region.
Drone doesn't include an IBM autoscaler currently, instances are running as provisioned virtual servers.
The json clang-12 job completes in 8 minutes. The json gcc job takes more than 1 hour.  I've commented out the gcc job for now. You could test/debug in a feature branch or fork.

Merged via 407fbb809bec96d78dd2a5e8e336356dba0445a9


consortium

This concept is currently being used out in the wild but is not found in the schema. It seems sufficiently useful, and no term of same meaning already exists in schema.
Recommendation: add concept to schema

closing this ticket as consortium is equivalent to fundingAgency
https://github.com/nf-osi/nf-metadata-dictionary/blob/b86e50279d0a745f1d2e49a82131c358d8978ee8/modules/Template/PortalDataset.yaml#L68
initiative is also added here: https://github.com/nf-osi/nf-metadata-dictionary/blob/b86e50279d0a745f1d2e49a82131c358d8978ee8/modules/props.yaml#L511


Fix operator priority bug

The condition for marking metrics.MarkRound in the updateRoundStep function is when it has moved on to the next round.
For A || B && C, I think the intended behavior is (A || B) && C. However, the actual behavior is A || (B && C).
a := 1
b := 1
c := 1
if a == 1 || b == 0 && c == 0 {
	fmt.Println("bug!!")
} else {
	fmt.Println("ok")
}

In the code above, I expected ok to be printed, but bug!! was printed.
Even if the intended behavior is A || (B && C), the original code is not readable and needs to be fixed.

PR checklist

[ ] Tests written/updated
[ ] Changelog entry added in .changelog (we use unclog to manage our changelog)
[ ] Updated relevant documentation (docs/ or spec/) and code comments

I believe your analysis is correct, @adizere, and agree with both that adding the () will make the intent more explicit, even though the code is correct.

Hi @dudong2, thanks for your contribution!
I suspect the original code is actually correct. But I'd like to double-check with a colleague that has more technical expertise than me to confirm. @cason any thoughts on this change?
In case my colleague confirms the original code is correct, it might still be worthwhile to explicitly add the ( ) to make it clear what is the intended behavior.
My current understanding
From what I can tell, method updateRoundStep registers metrics concerning rounds and steps, such as how much time a round took, or how long did the local validator spend during a specific step. There's 2 types of cases when this method is called:

when everything goes fine (no failures nor network asynchrony), the method typically gets called in this sequence:

updateRoundStep(round = 0 , step = cstypes.RoundStepNewHeight) <- new block being produced
updateRoundStep(round = 0 , step = cstypes.RoundStepNewRound)
updateRoundStep(round = 0 , step = cstypes.RoundStepPropose)
updateRoundStep(round = 0 , step = cstypes.RoundStepPrevote)
updateRoundStep(round = 0 , step = cstypes.RoundStepPrevoteWait)
updateRoundStep(round = 0 , step = cstypes.RoundStepPrecommit)
updateRoundStep(round = 0 , step = cstypes.RoundStepCommit) <- block finishes
updateRoundStep(round = 0 , step = cstypes.RoundStepNewHeight) <- new block being produced
updateRoundStep(round = 0 , step = cstypes.RoundStepNewRound) ...
... with the same round parameter. This means that the validator is progressing at increasingly higher heights, and always restarting a new height at round = 0.

when a problem (eg proposer failure or network asynchrony causing timeouts) occurs, then this method is usually called in this pattern:

updateRoundStep(round = 0 , step = cstypes.RoundStepNewRound)
...
updateRoundStep(round = 1 , step = cstypes.RoundStepNewRound)
..

The if branch guarded by round != cs.Round is triggered when we are in case 2. And I think the if branch guarded by (round == 0 && step == cstypes.RoundStepNewRound) covers case 1. Curious if I'm missing anything here!

Hi @adizere.
As I understand it, if a round is a change, we call MarkRound to record in the metrics when the round was actually changed. The part you mention is recording when step becomes a change, and this is done by calling MarkStep, so I don't think the original code is the intended behavior. If I'm wrong, please let me know! If the original code is correct, I will modify the parentheses so that the original intent is clearly expressed.

I am closing this PR for now and on a second thought I don't think we should add the parentesis.
Please let us know if you still think we should invert the evaluation order and we can resume the discussion.


Crash report

The Version is 0.15. Crash info as follow:
./mitmdump.run.sh: line 2: 14504 Segmentation fault      mitmdump -p 59873 > network.weixin
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/libmproxy/proxy/server.py", line 120, in handle
    root_layer()
  File "/usr/local/lib/python2.7/site-packages/libmproxy/proxy/modes/http_proxy.py", line 10, in __call__
    layer()
  File "/usr/local/lib/python2.7/site-packages/libmproxy/protocol/tls.py", line 272, in __call__
    layer()
  File "/usr/local/lib/python2.7/site-packages/libmproxy/protocol/http.py", line 130, in __call__
    layer()
  File "/usr/local/lib/python2.7/site-packages/libmproxy/protocol/http.py", line 323, in __call__
    self.handle_regular_mode_connect(request)
  File "/usr/local/lib/python2.7/site-packages/libmproxy/protocol/http.py", line 409, in handle_regular_mode_connect
    layer()
  File "/usr/local/lib/python2.7/site-packages/libmproxy/protocol/tls.py", line 272, in __call__
    layer()
  File "/usr/local/lib/python2.7/site-packages/libmproxy/protocol/http.py", line 130, in __call__
    layer()
  File "/usr/local/lib/python2.7/site-packages/libmproxy/protocol/http.py", line 340, in __call__
    self.get_response_from_server(flow)
  File "/usr/local/lib/python2.7/site-packages/libmproxy/protocol/http.py", line 471, in get_response_from_server
    if flow.response.stream:
AttributeError: 'NoneType' object has no attribute 'response'

Thanks. How can I reproduce that?

Sorry,it was crashed occasionally,I do not know how to reproduce that.

I can reproduce this on shutdown.


Some downloaded subtitles are incomplete (for example they only are for the first 30 min of the movie) then cut off.

C:\Users\Administrator\Desktop>subliminal --addic7ed user pw download -l en -l es -m 35 "d:\Movies1"
C:\Python27\lib\site-packages\subliminal-1.0.1-py2.7.egg\subliminal\cli.py:115:Warning: Click detected the use of the unicode_literals future import.  This is heavily discouraged because it can introduce subtle bugs in your code.  You should instead use explicit u"" literals for your unicode strings.  For more information see http://click.pocoo.org/python3/
C:\Python27\lib\site-packages\subliminal-1.0.1-py2.7.egg\subliminal\cli.py:145: Warning: Click detected the use of the unicode_literals future import.  This is heavily discouraged because it can introduce subtle bugs in your code.  You should instead use explicit u"" literals for your unicode strings.  For more information see http://click.pocoo.org/python3/
C:\Python27\lib\site-packages\subliminal-1.0.1-py2.7.egg\subliminal\cli.py:172: Warning: Click detected the use of the unicode_literals future import.  This is heavily discouraged because it can introduce subtle bugs in your code.  You should instead use explicit u"" literals for your unicode strings.  For more information see http://click.pocoo.org/python3/
Downloading subtitles  [####################################]  100%  hannibal.s03e12.720p.hdtv.x264-2hd.mkvC:\Python27\lib\site-packages\beautifulsoup4-4.4.0-py
2.7.egg\bs4\builder_htmlparser.py:167: RuntimeWarning: Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/
doc/#installing-a-parser for help.
Downloading subtitles  [####################################]  100%

Please include debug logs.

http://pastebin.com/Sj5KhLNy
The log file option on the cli from previous versions was awesome.

You can use the debug switch and redirect stderr to the log file it does
the same thing. This 'needs to be documented in the contributing section.

I updated the contributing section with 168004dc89c53e1ada6ba8ff42b3ebba56d69bbc.
As for your issue, one possible solution would be to compare the movie duration with subtitles duration to determine if the subtitle file is suitable. Currently we trust the provider on that part.


Key X was undefined. Cannot pass undefined in JSON. Use null instead.

I get this error when I delete all the text in the input field.
It seems that when the input field is empty, the property "name" on the object "user" is set to undefined instead of null.
View:
<input type="text" ng-model="user.name">

Controller:
var firebaseio = new Firebase(FIREBASE_URL);
$firebase(firebaseio.child(USER_PATH)).$asObject().$bindTo($scope, "user");

So, how can I set it to null when the input field is cleared?

Hi, maybe it's too late but here is my approach. Simple one though:
// view.html
<input ng-model="user.name" ng-change="change(user,'name')" type="text" placeholder="First Name" required>

// controller.js
// Prevent undefined data
  $scope.change = function (user,nodeName) {
  if(!angular.isDefined(user[nodeName]))
    {
      user[nodeName] = null;
    }
  }

Another simple answer would just be to put a .validate rule on the records and ensure they always have a name. Enforcing data structure will save your code a lot of pain and complexity:
"$record": {
     ".validate":  "newData.hasChild('name')",
     "name":  {
         ".validate":  "newData.isString() && newData.val().length > 0"
    }
}

I'm confused as to why this issue is closed.  Adding ng-change to every form element is not a simple solution if you have an extended form.  And if you have multiple forms on different pages, you'll be rewriting $scope.change on every controller.  Not very DRY there.  @semeano will this issue be fixed in angularfire?  Angularfire provides tremendous ease in with its 3-way binding but I shouldn't have to rewrite every controller to get it to work on a simple input box.

@browndp08 I think this issue has been fixed, because I was trying to reproduce this issue and I couldn't. Instead the field was set with an empty string. Let me know.

@semeano Thanks for looking into it.  I'm still getting the following error anytime I delete the value in my inputs.
Error: Key .... was undefined. Cannot pass undefined in JSON. Use null instead.

Make sure you are using the latest versions of Angular, AngularFire, and Firebase. Also, in order for us to help us, please put together a Plunker or JSFiddle with a repro.

Yeah just created a fiddle and couldn't recreate the error.  Sorry guys I'll have to look deeper into my code to see what's going on.

@browndp08 Yep, I can confirm that. Adding "required" attribute causes that.
Although, if you want to validate the field, I recommend using angular validation instead of the default HTML5 validation.
Here's a nice tutorial: https://scotch.io/tutorials/angularjs-form-validation

Hey,I know this issue is closed, but this may help some people in the future. I was not using require and still got the error message
"Error: Key name was undefined. Cannot pass undefined in JSON. Use null instead."
Thanks for the answers you guys posted, I tried them, but had issues getting those solutions to work in my certain instance. Here is what I did, it was really simple and worked perfectly. FYI, my app was a family tree and I left the "undefined" function off of the fields that would be required for my users.
$scope.submitCard = function() {
      $scope.cards.$add({
        name: $scope.newCardName,
        est: $scope.newCardEst,
        birthplace: $scope.newCardBirthplace,
        bio: optional($scope.newCardBio),
        phone: optional($scope.newCardPhone),
        email: optional($scope.newCardEmail)
      });

      function optional(card) {
        if (card) {
          return card;
        } else {
          return null;
        }
      };

Hope this helps

Great idea, Jorge. For optional values and strings, a simple $scope.variable || null would work as well.

@semeano after applying novalidate to the form element, I'm still getting an error.  You can see the same result on my jsfiddle at https://jsfiddle.net/kkwo9h5n/6/.  Any suggestions on how else I can validate a required field and make firebase work?

@browndp08 you're right. Let me check that.

@semeano Any progress on this? My form is behaving like the jsfiddle that @browndp08 posted.

@drewatk For now the best solution is simply not using the HTML5 "required" directive. Use angular form validation instead: https://scotch.io/tutorials/angularjs-form-validation

@semeano In that link they are using the regular HTML required directive. There is no equivalent angular directive.

@semeano I used the ng-required="true" and it is working the exact same as required HTML5 directive. I still get this error and it causes my whole page's form not to be sent to firebase if there is a single empty field

@drewatk you're right, you'll have to do the validation by hand... I'm going to reopen this issue.

Gents, can someone illuminate what this issue has to do with AngularFire? The interaction between ng-required, HTML5 required attributes, and form validation seems outside the scope of binding Firebase real-time data to Angular services.

Also, @jorgehjr84 gave a good workaround a few comments previously.

I had the exactly same problem. Was working in a project which I first was sending data to mongolab. I had to rewrite it using firebase. This error was showing up if the fields have been empty. They were no required fields, form was set to novalidate.  It was working with empty fields when sending to mongolab. So I think this could be a firebase specific problem? I only set my fields with ng-model. They do not have value in the controller. So probably workaround would be to set all fields first to $scope.field = null in controller? I used the good workaround with the function above and it worked. But well, strange that it is working with mongolab and not with firebase.

Firebase/JSON do not accept undefined values in the data. ng-model also will not set values to undefined; however, if you have not declared a value for a $scope field, it can certainly be undefined.
If you attempt to place an undefined value into an AngularFire sync object/array, it's going to create an error. This is working as intended.
Further "I have the same problem" or +1's to this post will be deleted. Enough discussion.

$scope.todos.$add({
id: timestamp,
name: '$scope.todoName',
status: 'pending'
});
that is not pass todoName Value

This guide: https://github.com/firebase/angularfire/blob/master/docs/quickstart.md
Is more than likely why people are coming here. What it recommends, doesn't work and produces that result.


Progress tracking

[x] Fork and rename repo
[ ] Add current PRs
[x] Update setup.py
[ ] Look into setting up tests on Travis for various Python versions

[ ] Which means I guess I should write some tests

[x] Rewrite README and other docs - not properly formatted on PyPI, include "under new ownership" stuff
[x] Convert to MIT License, which is essentially the same as the current version.
[ ] Upload to PyPI

Do you have Travis setup yet for this repository?

Still getting errors while using api.search
C:\Program Files\Anaconda3\lib\site-packages\nytimesarticle.py in search(self, response_format, key, **kwargs)
C:\Program Files\Anaconda3\lib\site-packages\nytimesarticle.py in _options(self, **kwargs)
C:\Program Files\Anaconda3\lib\site-packages\nytimesarticle.py in _format_fq(d)
C:\Program Files\Anaconda3\lib\site-packages\nytimesarticle.py in (x)
TypeError: Can't convert 'bytes' object to str implicitly
Is guess this repo was made to resovle this problem, I am new to this so I might be doing something wrong.
I was following this tutorial.
Thank You.


fix phpstan level 4 warnings

[ ] Bug fix #…?

[ ] New feature?

[ ] BC breaks?

[ ] Deprecations?

[ ] Tests added?

[ ] Changelog updated?
Please, update CHANGELOG.md by running next command:
$ php bin/changelog

like in previous PRs with the same topic, this changes don't have a CHANGELOG.md line. this was your prefered way to handle this in the past.

cannot regenerate the docs, since https://github.com/deployphp/deployer/issues/2253

remaining phpstan error is fixed in https://github.com/deployphp/deployer/pull/2260

ready to land


Update to Java 21

Follow along the Java 21 requirement update for Trino itself. Currently the codebase does not compile with Java 21. Probably needs more dependency updates as well.

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project gateway-ha: Fatal error compiling: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid' -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project gateway-ha: Fatal error compiling

Might be just need for jvm config update or so

I had the same issue ...and the solution was update lombok dependecy :
   <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.30</version>
        <type>jar</type>
    </dependency>

We removed lombok usage completely, but there are still build/test failures with Java 21.

As of 2024-01-05 I get these test errors.
[ERROR] Errors:
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngine:70 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngine:70 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngine:70 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngine:70 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngineFileChange:128 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngineNoMatch:100 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngineNoMatch:100 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngineNoMatch:100 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngineNoMatch:100 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngineSpecialLabel:84 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngineSpecialLabel:84 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngineSpecialLabel:84 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestRoutingGroupSelector.testByRoutingRulesEngineSpecialLabel:84 » NoClassDefFound Could not initialize class org.mvel2.compiler.ExpressionCompiler
[ERROR]   TestTcpChecks.testTcpRuleCheck:58 » NoClassDefFound java/lang/Compiler

Probably needs more dependency updates ....

This is done now.


[BUG] Response status code does not indicate success

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] My answer given in the checkbox above is a lie.

What problem did you encounter?
fix it pls

[X] My answer given in the checkbox above is a lie.

[!WARNING]
PLEASE READ THE PRELIMINARY INSTRUCTIONS BEFORE POSTING.

Please update to the latest version of Bloxstrap. (2.7.0)


minVersion: VersionTLS13 breaks dashboard in traefik >= 2.1 (2.1.0, 2.1.1, 2.1.2)

These actually two bugs which work together to make traefik dashboard unusable in a TLS1.3 only environment
Summary

First bug is that dashboard_redirect has changed for 2.1 and replies only to http request, while previous versions did not care if the requests were http or https (see appendix  2) .. so basically you cannot run dashboard over https:  anymore in 2.1. Please fix this and make the redirect work for http and https.

Second bug why dashboard doesn't work iswhen you enfore tls1.3 (see appendix 3).  /api does not support http/2  queries.
you get an 404 error if you try do an https://yourtls1.3enforced.site/api/overview
You can confirm that it is an bug with api if you try a telnet on the host without enforced tls.1.3
try:
enter the curl command and type the following THREE lines   3rd emtpy line where you just hit return.

curl telnet://localhost:8080/api/overview
GET /api/overview HTTP/1.1
Host: whatever

--> This will get you a 200 response
Now try the same for  HTTP/2
curl telnet://localhost:8080/api/overview
GET /api/overview HTTP/2

--> you get a 400 Bad Request, because the api doesn't support it.
Conclusion: Took weeks to find out why i could not bring up 2.1 finally i understand that it is tha traefik doesn't support tls 1.3 very well. it would be wise to add a downgrade option (force HTTP/1.0)  because other services might have the same issues. Also i tested this by downgrading to tls1.2 m which makes the api bug go away, but then still the redirect bug 1 remains.
(Appendix 2)
In my own bugfix i  onlychanged http in the regex line to https (which made it work for me)
 middlewares:
    dashboard_redirect:
      redirectRegex:
        regex: "^(http:\\/\\/[^:\\/]+(:\\d+)?)\\/$"  # (**) this cause a http:// only
        replacement: "${1}/dashboard/"
        permanent: true

(Appendix 3)
tls:
    options:
      myTLSOptions:
        minVersion: VersionTLS13
        cipherSuites:
        - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
        - TLS_RSA_WITH_AES_256_GCM_SHA384

Hello,

The bug was already fixed in v2.1.2 (#6078)

To do routing on the API/Dashboard, we strongly recommend to use api@internal.
More explanations here: https://community.containo.us/t/serving-traefiks-internal-dashboard-behind-traefik-itself/3457/7?u=ldez

Not true, plesae reopen.
Teested with traefik:v2.1.2

reloaded container (and there is no v2.1.3 )  this is not working at all

please try it. and try to upgrade the api to v1.3 example
log:
#        level: INFO
        level: DEBUG

global:
    checkNewVersion:    true
    sendAnonymousUsage: false

api:
    insecure:  true
    dashboard: true
    debug:     true

entrypoints:
    http:
        address: ":80"
    https:
        address: ":443"

tls:
    options:
      myTLSOptions:
        minVersion: VersionTLS13
        cipherSuites:
        - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
        - TLS_RSA_WITH_AES_256_GCM_SHA384
    options:
      myTLSOptionsBogusWorkaround:
        minVersion: VersionTLS12
        cipherSuites:
        - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
        - TLS_RSA_WITH_AES_256_GCM_SHA384

certificatesResolvers:
    letsencrypt:
        acme:
            email<EMAIL_ADDRESS>            storage: /etc/traefik/acme.json
            httpChallenge:
                entryPoint: http

providers:
    file:
        filename: "/etc/traefik/traefik.yml"
        watch: true
    docker:
        endpoint: "unix:///var/run/docker.sock"
        exposedByDefault: false

http:
    routers:
        api:
            priority:<PHONE_NUMBER>
            entryPoints:
                - https
            service: api@internal
            rule: PathPrefix(`/api`)
            tls:
                options: "myTLSOptionsBogusWorkaround"

        internet:
            priority:<PHONE_NUMBER>                # The higher the number, the lower the priorirty
            entryPoints:
                - https
            rule: PathPrefix(`/`)
            service: dashboard@internal
            middlewares:
                - dashboard_redirect
                - dashboard_stripprefix
            tls:
                certResolver: letsencrypt
                options: "myTLSOptions"
                domains:
                    - main: "my.web.site"
#        debug:
#            priority:<PHONE_NUMBER>
#            entryPoints:
#            - https
#            service: api@internal
#            rule: PathPrefix(`/debug`)

    middlewares:
        dashboard_redirect:
            redirectRegex:
                regex: "^(https:\\/\\/[^:\\/]+(:\\d+)?)\\/$"
                replacement: "${1}/dashboard/"
                permanent: true
        dashboard_stripprefix:
            stripPrefix:
                prefixes:
                    - "/dashboard/"
                    - "/dashboard"
    services:
        traefik-api:
            loadBalancer:
                servers:
                    - url: "http://localhost:8080"
                      passHostHeader: True

The example work around the bug(s) if you try to turn tls1.3 for api, it breaks for traefik:v2.1.2

Please fix this, as this really blocking deployment of Traefik v2.1

and i tried all the recommendations -it just breaks
v2.0.* work fine!!!

http redirects are an regression: for versions < 6.1   traefik was agnostic of http or https redirects.
6.1.0, 6.1.1, 6.1.2   introduce the requirement for http....

I repeat don't use api.insecure=true for routing: could you use api@internal

this file was for testing to make it easier to find the bug . Thanks for pointing out the api.insecure = true, which I changed to api.insecure = false.
This was the one line fix  I needed, and I find it bogus, that this works now (tested on several machines....)
But I am happy, thanks for being patient because this drove me mad that this didn't work
Will now separate stuff again.

A few notes if in the future someone will read this issue.

cipherSuites are ignored for TLS1.3 https://docs.traefik.io/v2.1/https/tls/#cipher-suites
I recommend to use directory instead of filename for the file provider (see limitations https://docs.traefik.io/v2.1/providers/file/#provider-configuration)

Your testing file can be simplify a lot:
log:
  level: INFO

global:
  checkNewVersion: true
  sendAnonymousUsage: true

api: {}

entrypoints:
  http:
    address: ":80"
  https:
    address: ":443"

certificatesResolvers:
  letsencrypt:
    acme:
      email<EMAIL_ADDRESS>      storage: /etc/traefik/acme.json
      httpChallenge:
        entryPoint: http

providers:
  file:
    directory: /etc/traefik/dyn/
    watch: true
  docker:
    exposedByDefault: false

http:
  routers:
    api:
      rule: Host(`my.web.site`)
      # rule: PathPrefix(`/api`) && PathPrefix(`/dashboard`)
      entryPoints:
        - https
      service: api@internal
      tls:
        certResolver: letsencrypt
        options: "myTLSOptions"
        # domains:
          # - main: "my.web.site"

tls:
  options:
    myTLSOptions:
      minVersion: VersionTLS13


Anchor links under "On This Page" don't work

File: docs/reference/_index.md
Only "Learning Pulumi" jumps to the right section. This relates to https://github.com/pulumi/docs/issues/927.

It could be that your viewport is taller than the distance between the anchor target and the bottom of the page, so the browser is attempting to anchor to the right place, but can't get the anchor to the top of the viewport, there isn't enough room:

Very educational -- thank you, @cnunciato . Is this something we should address for atypical viewports or should I close this issue for now?

I wouldn't -- it's basically expected behavior and not unique to us, so I'd close if you're okay with doing so.


Add versioning guide (doc/versioning.md)

The original doc was approved internally.

FYI @jkolhe

FYI @JamesNK  @JunTaoLuo  @shirhatti

@srini100  this is an external copy of the already-approved internal doc, can you give it a quick pass and approve?

Comments addressed. PTAL.

I missed this when it was added.  @jtattermusch have you seen https://github.com/grpc/grpc-go/blob/master/Documentation/versioning.md, predating this document?  Specifically, I granted three exceptions to semver which you don't mention here:

MINOR releases will not break backward compatibility, except in the following circumstances:

An API was marked as EXPERIMENTAL upon its introduction.
An API was marked as DEPRECATED in the initial MAJOR release.
An API is inherently flawed and cannot provide correct or secure behavior.

You may want to incorporate something similar.

cc @markdroth @ejona86 as FYI

Whoa. I didn't see this here nor internally. It seems @dfawley and I both thought the internal doc was the same as the C# version bump doc and so didn't look at it at all.
I've found at least one important inaccuracy. How is best to provide review comments?


Money resets / strange behaviour

What I did:
HQ: looted boss box +20
Completed Mission 1: +100
Entered HQ again with $120. Looted boss box again -> Money = $20
Entered mission 2: Money = $0

Hmm I think the money in the level is the money gained in level, not total amount of money, money in HQ is total amount of money @themangomago

fixed it


The dimensional storage actuator deletes items

Describe the bug
When the stack size in atuator reaches 128, you can no longer interact with it. After exiting and reloading the world the stack is no longer present.
To Reproduce
Steps to reproduce the behavior:

Put 127 cobblestone into the actuator.
You can take out a stack by clicking on them.
Put 128 (or more) cobblestone  into the actuator.
You can no longer take out the cobblestone.
Exit the world.
Enter the world.
On opening the actuator the cobblestone is no longer present.

Expected behavior
For the actuator to not delete items.
System (please complete the following information):

Occultism Version: 0.2.5
OS: Windows 10
Minecraft Version: 1.15.2
Modpack Link and Version, or list of mods: Occultism, Patchouli, Journey Map, JEI.

Additional context
Add any other context about the problem here.

That obviously should not happen, I'll investigate.

Fixed in 0.2.6.
Will cause items in the actuator to be deleted on upgrade, as the underlying issue was the storage format.


Shrink box after ipv.squarelim()

Hello and thanks so much for ipyvolume! This is great to visualize the LiDAR data that I work with.
The data I work with is very non-square, so I was browsing the issues with respect to how to make the box being not square. In the https://github.com/maartenbreddels/ipyvolume/issues/35#issuecomment-402488895 you say, that it was not possible at the moment. Are there any changes since then?
To illustrate the problem.
I generate the data as follows:
import ipyvolume as ipv
ipv.figure(height=400, width=800)
ipv.scatter(np.array(x), np.array(y), np.array(z), size=0.2, marker="sphere")
ipv.squarelim()
ipv.show()

The output looks like this:

The issue with this is that the data in XY direction spans approx. 60 meters, while in Z direction just 2 or 3. So when the data is padded by ipv.squarelim() the camera moves far away. It is already quite good as it is, but I would prefer to be able to not stick to a square box, which would enable the default view approx. like this (much closer):

UPD:
For now I've kinda solved it by moving the camera:
f = ipv.figure(width=1000)
ipv.scatter(np.array(x), np.array(y), np.array(z), size=0.1, marker="sphere")
ipv.squarelim()
f.camera.up = (0, 0, 1)
f.camera.position = (0, 0, 10)
f.camera.fov = 10
f.camera.lookAt([0,0,0])
ipv.show()

Hi Igor,
thanks for your nice words.
Until this day I have yet to find out what the issue is with the non-squareness. Many people complain about it, but I haven't found the clear description what exactly the issue is. The bounding box is square, that is currently a limitation, but that does not limit you from making a nonsquare xyzlim. For instance:
ipv.xlim(-20, 80)
ipv.ylim(-10, 90)
ipv.zlim(-1, 5)

Would  this solve the issue, or, as you give in the update, you want the data to be kept 'square' (as in equal aspect), but simply zoom in?
cheers,
Maarten

Hey Maarten! Thanks for your reply. Yeah, I've seen that there seems to be some confusion as to the squareness of the box. It is something that is relatively hard to explain. Let me try to give a go at it.
In short, the issue with the solution you propose with the limits is that this is not solving the problem of aspect ratio. I think it's clear at this point that we seem to be having issues with non-square data. For the sake of example, let's consider that I have the data that spans 100 meters in x and y directions but only 5 meters in z directions (just like the limits suggested by you). The issue is that the sides of the bounding box (viewport) are always equal, while the data span is not. That results in stretching the data, making 5 meters in z direction look exactly as long as 100 meters in x and y in our example.
Let me try to illustrate this on my data.

Example gifs
Expected aspect ratio
This is how the data is supposed to look like with the correct aspect ratio enforced by ipv.squarelim():

Data stretched to the box
This is how the data looks when using limits.
ipv.xlim(-20, 80)
ipv.ylim(-10, 90)
ipv.zlim(-1, 5)

You can see that it gets stretched and looks nothing like it should.

Would this solve the issue, or, as you give in the update, you want the data to be kept 'square' (as in equal aspect), but simply zoom in?

So ultimately I would want a non-square box, but it seems that this is not possible, right? The non-square box would ensure my data kept 'square' (equal aspect), while not being very far from the camera looking at it by default and having axis near it.
I hope I could explain the issue at least to some degree... Anyway, at this point my solution of moving the camera seems to do what I want and the only thing I am missing is axis being close to the data, but that is a minor issue. So this issue is definitely not high priority one.

Ok, we're getting closer I think :)
How would this work?
ipv.xlim(-20, 15)
ipv.ylim(-10, -5)
ipv.zlim(-1, 5)

I mean, you can forget about the bounding box, you can consider it eye candy right? Or is there something really important about the bounding box that you need, or the axes?
Also, which may be good to know, you can zoom in the data (not the camera) if you scroll while keeping Cmd (osx) pressed. You can also toggle this option from the toolbar, let me know if you find this feature useful.

Ah, ok! It was not clear to me that the data is not cut by the box! Nice!
Setting small limits shows exactly what I need. I can just disable the drawing of the box to make is look cleaner.
ipv.xlim(-10, 10)
ipv.ylim(-10, 10)
ipv.zlim(-10, 10)

This makes me able to control the camera by the size of the bounding (not really bounding anymore, though :laughing: ) box. This is probably not very intuitive, but is easier than playing with the camera.
Anyway, the main idea here is that I was needing a way to look at my data closeup while ensuring that the data aspect ratio is preserved.

How it looks like now (note the box is fully in view)

It is a really pretty viz btw. Is the data public, or can you share it?
I agree it is a bit weird that the bounding box does not bound :) It's more a bug than a feature, but I kind of like it.
So are all issues solved now?

Actually, not completely. While my original way of solving this is ugly because of all the camera controls this one suffers when plotting to an existing figure with ipv.plot. This messes up with limits and they have to be reset. Is there a way to keep them fixed?
As for the data. It comes from here: http://www.mrt.kit.edu/z/publ/download/velodyneslam/dataset.html
It comes in the form of range images, which I unproject to get point clouds. I will probably make the notebook open when I'm done with what I want to test.

Hmm, so you mean, when doing scatter/plot/quiver you don't want the limits to change?
A hack would be:
ipv.pylab._grow_limits = lambda *ignore: None

Cool! This works. Thanks so much!
So the fully working workaround for not having a rectangular bounding vox for my usecase is to shrink the box to be smaller than data and to stop it from growing when adding new data as follows:
import ipyvolume as ipv
ipv.pylab._grow_limits = lambda *ignore: None
ipv.figure(height=400, width=800)
ipv.scatter(np.array(x), np.array(y), np.array(z), size=0.2, marker="sphere")
ipv.xlim(-10, 10)
ipv.ylim(-10, 10)
ipv.zlim(-10, 10)
ipv.show()

Great, so I'll keep this open until we have an option to not auto grow the bounding box limits.


added new migration

In the meantime, it seems that newer versions of django-cms let makemigrations create a new migration for cmsplugin-simple-markdown. To avoid the unmigrated changes warning in django-cms instances, this PR adds the new migration.
If you like to merge this, please also publish a new release on PyPi. :)

Thanks @exploide
I'll cut a new release soon.


pbkdf2 gives always the same result

pbkdf2 always gives me the same result regardless of the password:
sha256.pbkdf2('b', 'salt', 10, 32).join(',')
"234,39,191,6,86,158,63,177,246,157,96,178,195,13,125,54,91,1,37,107,241,3,140,34,21,102,65,171,57,106,121,67"
sha256.pbkdf2('a', 'salt', 10, 32).join(',')
"234,39,191,6,86,158,63,177,246,157,96,178,195,13,125,54,91,1,37,107,241,3,140,34,21,102,65,171,57,106,121,67"

What am I doing wrong?
￼

You are using strings instead of Uint8Arrays: https://github.com/dchest/fast-sha256-js#usage

thanks


Fix NodePort traffic bypassing ingress NetworkPolicy on Linux

To allow kubelet probe liveness and readiness of local Pods, a local
probe flow with higher priority than ingress flows is configured.
However, previously it identifies the locally generated traffic by
matching source IP, which caused the issue that accessing a Pod via its
NodePort service can bypass ingress NetworkPolicies too as the packet
will be SNATed to local gateway IP.
This patch fixes it by using fwmark to identify the locally generated
traffic in the iptables output chain, so that external traffic forwarded
by iptables/ipvs won't have the mark. Then the local probe flow uses
pkt_mark to identify the eligible traffic. This approach works for Linux
only. For Windows, we can only fix it after using AntreaProxy to serve
NodePort service.
For #280
TODO:

[x] Replace ofnet once it's merged upstream
[x] Add e2e test

@jianjuns @antoninbas I haven't added e2e test, want to check with you if this approach/code look good to you overall first.

Codecov Report

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

@@           Coverage Diff           @@
##             main    #1816   +/-   ##
=======================================
  Coverage        ?   42.80%
=======================================
  Files           ?      112
  Lines           ?    13752
  Branches        ?        0
=======================================
  Hits            ?     5886
  Misses          ?     7367
  Partials        ?      499

Flag
Coverage Δ

unit-tests
42.80% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

I think the flow in this doc need to be updated: https://github.com/vmware-tanzu/antrea/blob/main/docs/design/ovs-pipeline.md#ingressruletable-90, along with the description of the flow potentially

Updated pipeline.md.

I also think it would make sense to document somewhere the behavior for NodePort traffic. I know you said it is common to most CNIs, but that still may come as a surprise to some of our users.

I haven't found a good place to add in existing docs. Where would you recommend?  The content will probably be something like a note that NodePort traffic with ExternalTrafficPolicy set to Cluster will be SNATed and NetworkPolicies are enforced after that. If people wants to limit ingress access to Pods from external while exposing them via a NodePort service, they may use Local ExternalTrafficPolicy to preserve client IPs.

/test-all

I found the e2e test doesn't work on kind clusters, suspecting there is an issue in OVS netdev datapath that pkt_mark doesn't take effect, will figure out the reason before merging this.
If it's the case, do you think it's risky to use this approach as liveness/readiness probe may not work if pods are isolated when deploying antrea with OVS netdev datapath?

But do you have another solution in mind? Not just this one, but also for SNAT policy, which we discussed to pass SNAT IP info to iptables using packet mark.
Just for this one, I think it should be ok, if with netdev datapath we do not fix the NP for NodePort.

We can change to mark traffic not generated from the Node, then at least liveness/readiness probe will not be affected with netdev DP?

Netdev datapath: if Jianjun's proposal is easy to implement (switch from marking traffic originating from the Node to marking masqueraded traffic) then we can go with that. Otherwise, if the issue is indeed in the OVS netdev datapath I suggest we keep the original bypass flow for the netdev datapath only. My reasoning being that some folks have started investigating using the netdev datapath (with DPDK) for the primary network interface. And in that context - and for folks using Kind to test Antrea too - having host probes work is more important that NP enforcement on NodePort traffic. We can just skip the new e2e test on Kind. And we should report the issue to the OVS team after we confirm it.
Documentation: let's just mention the caveat in the OVS pipeline documentation along with your current changes. It's not really a user-facing document but we can start there. If users start asking about this behavior, we will start a new document to explain it.

Thanks for the input @jianjuns @antoninbas.

We can change to mark traffic not generated from the Node, then at least liveness/readiness probe will not be affected with netdev DP?

Do you mean we enforce networkpolicy if it has mark because we mark non local traffic in iptables? Then there is another issue that external traffic will bypass policies with netdev datapath?
I will make netdev datapath work using previous approach and report to OVS community after I confirmed it's indeed the case.

Do you mean we enforce networkpolicy if it has mark because we mark non local traffic in iptables? Then there is another issue that external traffic will bypass policies with netdev datapath?

Yes, that is what I mean. It is at least better than breaking kubelet traffic for netdev DP.

Do you mean we enforce networkpolicy if it has mark because we mark non local traffic in iptables? Then there is another issue that external traffic will bypass policies with netdev datapath?

Yes, that is what I mean. It is at least better than breaking kubelet traffic for netdev DP.

Then it seems the original way of matching source IP is still better as it can enforce networkpolicies for all traffic except NodePort's with netdev datapath.
I only applied the new approach for Linux+kernel datapath scenario in latest patch. PTAL.

/test-all

/test-all

/test-all


Delete my DataBases

Which version and edition of Flyway are you using?
7.1.1
If this is not the latest version, can you reproduce the issue with the latest one as well? (Many bugs are fixed in newer releases and upgrading will often resolve the issue)
Delete my databases!!!
flyway:
enabled: true
clean-disabled: true # ！！！
locations: classpath:flyway/migration-test
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Java API
Which database are you using? (Type & version)
Mysql 8.0.24
Which operating system are you using?
Ubuntu
What did you do? (Please include the content causing the issue, any relevant configuration settings, the SQL statement(s) that failed (if any), and the command you ran)
Exceute DELETE， But I don't Why！！！

What did you see instead?

It's a bit unclear what the issue is - can you provide a reproduction, highlighting what the problematic output is and what you'd expect?
Is the issue the DELETE row in the history table? These were new in V7 - there's more information in this post, but to prevent this you would need to configure locations when running repair too. It's worth noting that this only marks them as deleted in the history table - your database is left unchanged
Closing till further activity


Unable to remove bottom padding

There is too much bottom padding, which is fine by default, but setting the bottom padding to 0 doesn't reduce the bottom padding to the bottom window margin as you'd expect, there's still a fair amount of padding.

(Also Setting bottom padding to -1, doesn't reduce it; setting bottom padding to -2, reduces the padding but the bottom margin gets clipped.)
Environment
Windows build number:  10.0.18363.836
Windows Terminal version (if applicable): 1.0.1401.0

Any other software?

Steps to reproduce
Run any app, such as byobu, that draws a horizontal bar at the bottom of the terminal to gauge the size of the padding. Set bottom padding to 0, "padding": "0, 0, 0, 0"
Expected behavior
The bottom margin should be flush with the bottom of the terminal window
Actual behavior
There's still a fair amount of bottom padding.

This is unfortunately by-design. That space that's there on the bottom of the window isn't big enough for an entire row of text, so we just fill it with blank space. That's generally preferable to a row of characters that's only partially visible. Otherwise, the only solution would be to prevent the window from filling the entire screen while maximized, which I'm sure that no one really wants.
Thanks!

The kitty terminal, for example, has a placement_strategy property that can be used to configure the placement of the terminal area with respect to the window (and therefore where the paddings are placed). When set to center, you get two smaller paddings at the top and the bottom instead of one fat padding at the bottom only, partially mitigating the problem. I guess many would also prefer the bottom strategy that moves the padding to the top, as programs like tmux and vim have status bars at the bottom by default.

Workaround: Set font size and line height. On my resolution (1080p) the font size 12 with 1.5 line height works, or 13 with 1.2 line height. 12pt = 16px. 1080%(16*1.5)=0

Workaround: Set font size (and line height). Example: my resolution is 1080p.
I can set either font size 13 and line height 1.2, or font size 12 and line height 1.5.
12pt = 16px, 1080 % (16 * 1.5) == 0


#67 Fixed syntax errors

What type of PR is this? (check all applicable)

[ ] Refactor
[ ] Optimization

Description
Featured Covered in this PR
-Fixed syntax errors across files after running bash pre-commit
Related Tickets & Documents

Related Issue #67
Closes #67

Screenshots, Recordings
Have attached screenshot after  resolving all the syntax errors and then running the command bash pre-commit.
Tested Feature??

@micedreams @SankethBK Please check this PR and merge it if you don't find any issues. That would help. Thanks

@bibekpanda55 let's avoid making changes inside packages as it could create bugs and makes it difficult to update packages.
We can add this in analysis_options.yaml to ignore linting for packages folder ref
analyzer:
  exclude:
    - packages/**

Sure, @bibekpanda55 , thanks for the contribution. Merging this to a temporary branch as we need some changes in analysis_options.yaml. I'll create new issue for this

I could have added that line analysis_options.yaml file that was not an issue. I thought you were asking to revert back the changes made in all files under packages folder.

yes, we need to revert the changes in the packages folder as well, as commenting code in package might break some functionality. It's fine as we didn't mention this in the issue earlier

Got it. Still have created a PR after changing the analysis_options.yaml file as you said in the fix_linter_errors branch

Thank you, merged it


Draft: Example nextjs site that imports repositories from GitHub to Splitgraph, then exports them to Seafowl, then renders a chart of stargazers

This PR has been filtered into its own repo: https://github.com/splitgraph/demo-github-analytics
The demo is deployed to: https://demo-github-analytics.vercel.app/
(It's still a bit fragile - don't try to import a big repository with lots of issues/commits, since it will trigger a multi-hour ingestion job...)


About the checkpoint problem of CSPNeXt in RetNet

In the CSPNeXt model, I only found tiny and s model checkpoints, but not m, l and x model checkpoints. Please help me take a look

If I use this weight to run my model, the echelon will disappear

Only found the top two checkpoints


thread safety of callbacks and server config instances

In Rust, the trait Sync indicates that an object is thread-safe, e.g. can be called concurrently. When implementing this trait for an object, it extends to all its members. In rustls the ServerConfig and ServerSession implement this trait.
This means when a C client such as mod_tls installs a callback in a config or session, it needs to assume to be invoked concurrently and protect itself via mutex or other measure.
While this works, it seems excessive for callbacks on a particular ServerSession, e.g. a TLS connection, since all state progression of that connection happens in one thread (not the same every time, but only one at a time.).
The questions are

can rustls give some assertion that callbacks installed on a not-shared ServerConfig (e.g. only a single ServerSession  made with it) will not be run concurrently?
ServerConfigs in rustls are intended to be few and shared often, as they are relatively expensive. Is this also true if configs are clone()ed and then only a new parameters adjusted? Or is this a good way forward?
If cloning is considered expensive, the creation of a ServerSession needs to allow for more parameters to be adjustable. As for the background to this:

There is always a set of configured configurations created when the server loads. These are virtual hosts, their certificates, protocol settings, client auth etc. For these, mod_tls creates a ServerConfig each. During the ClientHello processing, the SNI hostname commonly selects on of these configs.
The server then triggers its internal ALPN negotiation and the result of that, the selected protocol, can be very dynamic. The http2 protocol handler might select h2 or abstain. The ACME protocol handler might override and force the acme-tls/1. The client might bring in something totally new and the server might have in installed module that can handle it. In short, mod_tls cannot prepare all possible ServerConfig variations in advance.
On top of that, the ALPN internal negotiation might change other things as well. The ACME tls-alpn-01 challenge will override the installed certificates and replace them with a new, dynamically created one. This cannot be prepared in advance.
For these reasons, the flow in mod_tls is now as follows:
Apache start -> virtual hosts -> ServerConfig per vhost with static certs, protocol version etc.
Client connect -> ClientHello analysis *)
   -> SNI check -> vhost select, ServerConfig base selected
   -> selected ServerConfig cloned
      -> ALPN internally negotiated and configured on clone
      -> certificate overrides set on clone
      -> clone to ServerSession

*) the ClientHello analysis is a bit more complicated but that will be addressed by https://github.com/ctz/rustls/issues/89.
/CC @ctz @djc @jsha

can rustls give some assertion that callbacks installed on a not-shared ServerConfig (e.g. only a single ServerSession made with it) will not be run concurrently?

I'm pretty sure this is the case currently based on the implementation of rustls, and you are proposing that rustls could make that a formal part of the documentation, right? Like "ResolvesServerCert::resolve() will be called at most once for each ServerSession?" That seems like a reasonable thing to ask for, but if ctz/rustls#89 is resolved as proposed (with an Acceptor), that will become unneeded.
Another way to make sure the callback is thread-safe is to ensure that it only ever reads data (e.g. from userdata), and that nothing else modifies that data for the duration of the ServerSession (which is quite short in your intended deployment). Is that a feasible approach in your situation?

ServerConfigs in rustls are intended to be few and shared often, as they are relatively expensive. Is this also true if configs are clone()ed and then only a new parameters adjusted? Or is this a good way forward?

I don't know for sure, but I suspect based on looking at the code that clone()ing should be cheaper than constructing from scratch. The things that seem potentially expensive are setting up a ResolvesServerCert, and ClientCertVerifier and so on.

We will have more callbacks in the future, like for session storage. It is just necessary to document in the C API what the requirements are not only regarding memory use, but also thread safety.

I still find the behavior much easier to reason about if it comes with examples, so it's still useful to couch it in terms of more concrete things you want to do.
I still think you probably want to maintain just one ServerConfig (or only a few), and use something like ResolvesServerCertUsingSni to initialize the session. I think the Acceptor should definitely make that stuff easier -- we can also discuss making changes to ServerConfig's capabilities in order to fit your use cases.

can rustls give some assertion that callbacks installed on a not-shared ServerConfig (e.g. only a single ServerSession made with it) will not be run concurrently?

rustls does not hide ServerConfigs anywhere or keeps a reference to them anywhere. If you constructed a ServerConfig, you hold the only reference to it, and there's nothing rustls can do with it. (This is part of Rust's ownership model.)

ServerConfigs in rustls are intended to be few and shared often, as they are relatively expensive. Is this also true if configs are clone()ed and then only a new parameters adjusted? Or is this a good way forward?

I would aim to have as few configs as reasonably possible. Any indication that you need more than a handful is probably worth an enhancement request on the rustls side. As for the exact costs, I think you should probably benchmark the construction costs (either from scratch or via clone()) and memory usage for yourself and see how relevant it is to your use case. I don't know exactly why Joe advertised them as expensive (by the nature of the language, Rust users are picky about performance, so even a few allocations might be expensive to them, even if they don't matter in the context of httpd).

If cloning is considered expensive, the creation of a ServerSession needs to allow for more parameters to be adjustable.

In my mind you can already implement your own ResolvesServerCert, which allows a ServerConfig quite a bit of flexibility in what certificate chain to select based on the data in the ClientHello (SNI, ALPN and signature scheme). What other input parameters would you need?

I'd be happy to make some statements about threads in rustls documentation. Let me know if that's helpful. Things I have in mind are:

rustls will not start threads by itself.
leading from that, the threads you get called back on are only the threads that are calling into rustls ServerSession/ClientSession methods.

I think those two give you complete predictability about which threads callbacks will happen on?

I think that would be quite helpful.

Thanks for clarifying this.


document updates made by #1962

partially addresses #48

rebased on master to include fixes for broken links and new link checker CI


Align with KEB the way of passing authentication credentials to reconciler to get rid of secret-lookups inside of reconciler library

Description
Currently the reconciler is retrieving authentication credentials for Github access (e.g. when accessing an SAP internal Github) by doing secrete lookups and getting the authentiation data from the secret (See git-lib implementation in reconciler).
This was implemented because we don't want to store senstiive data later on SKR clusters (e.g. when dumping  the configuration of the cluster on the target cluster, see #334 )
This is not a good approach for two reasons:

We are also publishing the reconciler library also as open-source product and we should avoid logic which couples the library to company internal deployment agreements
The configuration stored on the SKR should in general be not public readable and properly encrypted (e.g. via AES). Only the mothership reconciler should be allowed to read it

AC:

Credentials should be passed as regular configuration parameters via the component-configuration from KEB
Remove secret-lookup logic in reconciler API (See git-lib and download logic in workspace-factory)

Reasons
Avoid deployment specific logic in reconciler lib (authentication credential lookups).
Attachments

For the Connectivity Proxy reconciler:

The config should be passed by KEB through Reconciler's external API
There is configuration file available for the whole Kyma Control Plane - it is the proper place to put the config

Also, @tobiscr, is there any sub-reconciler other than Connectivity Proxy that uses K8S underneath?

The reason for this ticket was, that we couple the reconciler to some K8s resources . The reconciler code should acutally not use for internal decisions/purposes any resources from K8s as we are also running it for testing-purposes the reconciler outside of K8s.
It's fine when comp-reconcilers are interacting with a remote K8s cluster, but they should not be use K8s resources to work internally correctly.

My 2 cents. If we move the secret management from Reconciler to KEB, we have the same problem as you, in the Reconciler. I do not see any advantage, only disadvantage - additional fields in the API. There is no any difference between Reconciler and KEB - we have both deployed on k8s.

AS I understand, the secret should be mounted in a deployment definition in a reconciler chart.

biggest difference is that the reconciler has also to work outside of K8s (e.g. KYma CLI). that's why looking up some K8s secrets isn't working for us.

We need to have a confidential token in the Component Reconciler:

the Reconciler is also used outside of the k8s runtime so we cannot use any k8s resources, for example, Secrets. Therefore, current implementation needs to be changed as it, in fact, uses k8s Secretes
the token cannot be built into the Component Reconciler as the ISTIOCTL_PATH is, because it's confidential and cannot be publicly exposed

The things I (as a non-Reconciler and non-KEB developer :D) would consider are:

using the Component Reconciler configuration API in the KEB so it passes the confidential token in the request. The token could be stored in some internal hypothetical management plane config
mounting a k8s Secret to the Component Reconciler as an environment variable if the config is set in some internal hypothetical... It could be set as a normal environment variable so I assume it won't be an issue for the Kyma CLI

@franpog859 I believe that we should mount the secret as an env variable. There are voices that the charts of Connectivity Proxy may be hosted somewhere in public - that would be great since we will be able to drop that secret at all.
In this case, I would recommend going with the simplest solution, as it seems like it will be only temporary.


Add missing authorizations and fix potential missing newline in track status

Work for this issue will begin begin on branch work-liquid-labs/cloudsite/115.


Can't visit generated documentation by external ip

Generated documentation only can be visited on  localhost with 8080 port. It can't be visited by external ip. how to enable it?

The problem is my cloud server's firewall has limited the ports. Now I have solve it.


Uncommitted GC backup & restore

Opened: https://github.com/treeverse/lakeFS/issues/4775

After meeting, decided to create a temporary solution for the beta milestone which provides basic backup and restore capabilities explicitly for uncommitted garbage collection beta - and document the procedure

Adding capability to report deleted also as text. It will simplify the instructions to one-liner using rclone to backup or restore


Convert exporter credentials to envvars, round 2

Continuation of https://github.com/bosh-prometheus/prometheus-boshrelease/pull/357
Apologies I've taken a weeks longer than I expected to finish this.
It turns out there's only a handful more jobs which pass creds via CLI rather than envvars or config files-- and most aren't using creds directly at all. I've swapped those out, with the exception of the mongodb_exporter which doesn't appear to support passing creds via envvar, so ¯_(ツ)_/¯ no worries
Please let me know if there's anything you'd like changed, etc.; I've got nice and relaxing time now while over break 👌thanks again

[ ] bosh_exporter done in first PR
[x] bosh_tsdb_exporter
[ ] collectd_exporter N/A
[ ] consul_exporter N/A
[x] credhub_exporter
[ ] elasticsearch_exporter N/A
[ ] firehose_exporter done in first PR
[ ] graphite_exporter N/A
[ ] haproxy_exporter N/A
[ ] influxdb_exporter N/A
[ ] kube-state-metrics exporter N/A
[ ] memcached exporter N/A
[ ] mongodb_exporter doesn't appear as though the mongodb exporter supports being passed creds via env?
[ ] mysqld_exporter N/A
[ ] nats_exporter N/A
[ ] postgres_exporter N/A
[ ] rabbitmq_exporter N/A
[x] redis_exporter
[x] shield_experort
[ ] stackdriver+exporter N/A
[ ] statsd_exporter N/A
[ ] vault_exporter N/A

Thanks @aegershman!


errorResposnes from operation is never used

Hi,
In the Operation descriptor, there is a "errorResponses" hash that is supposed to be used. While it's read by the operation, it seems to be never used elsewhere in the code. As a consequence, user defined exception are never triggered.
Did I miss something or is the doc outdated? :)
Thanks!

These are meant only for documentation and metadata purposes. Having Guzzle throw an exception would mean that it would require much more metadata on how to convert a response or network error into an exception class. Guzzle would also need some kind of factory to create exceptions. I've intentionally omitted throwing custom exceptions to avoid this complexity.
With that said, you could utilize this metadata by creating a subscriber that listens for errors, checks metadata for errorResponses, and throws the appropriate exception.

On Jan 1, 2015, at 4:50 PM, Michaël Gallego<EMAIL_ADDRESS>wrote:
Hi,
In the Operation descriptor, there is a "errorResponses" hash that is supposed to be used. While it's read by the operation, it seems to be never used elsewhere in the code. As a consequence, user defined exception are never triggered.
Did I miss something or is the doc outdated? :)
Thanks!
—
Reply to this email directly or view it on GitHub.

These are meant only for documentation and metadata purposes. Having Guzzle throw an exception would mean that it would require much more metadata on how to convert a response or network error into an exception class. Guzzle would also need some kind of factory to create exceptions. I've intentionally omitted throwing custom exceptions to avoid this complexity.
With that said, you could utilize this metadata by creating a subscriber that listens for errors, checks metadata for errorResponses, and throws the appropriate exception.

On Jan 1, 2015, at 4:50 PM, Michaël Gallego<EMAIL_ADDRESS>wrote:
Hi,
In the Operation descriptor, there is a "errorResponses" hash that is supposed to be used. While it's read by the operation, it seems to be never used elsewhere in the code. As a consequence, user defined exception are never triggered.
Did I miss something or is the doc outdated? :)
Thanks!
—
Reply to this email directly or view it on GitHub.

I see... What if I write a reusable subscriber? I've checked my various Guzzle 3 integrations and I actually use this all the time, so that would mean duplicate the same code everywhere. While I understand that it does not throw exception by default, at least it should have a default one :).

I see... What if I write a reusable subscriber? I've checked my various Guzzle 3 integrations and I actually use this all the time, so that would mean duplicate the same code everywhere. While I understand that it does not throw exception by default, at least it should have a default one :).

What do you mean by having a default one?

On Jan 1, 2015, at 5:19 PM, Michaël Gallego<EMAIL_ADDRESS>wrote:
I see... What if I write a reusable subscriber? I've checked my various Guzzle 3 integrations and I actually use this all the time, so that would mean duplicate the same code everywhere. While I understand that it does not throw exception by default, at least it should have a default one :).
—
Reply to this email directly or view it on GitHub.

What do you mean by having a default one?

On Jan 1, 2015, at 5:19 PM, Michaël Gallego<EMAIL_ADDRESS>wrote:
I see... What if I write a reusable subscriber? I've checked my various Guzzle 3 integrations and I actually use this all the time, so that would mean duplicate the same code everywhere. While I understand that it does not throw exception by default, at least it should have a default one :).
—
Reply to this email directly or view it on GitHub.

Well, having a default listener that you can attach, and that will reuse the "errorResponses" to create an exception. It won't be registered by default, but at least it removes the need to write this boilerplate code in all libraries.

Well, having a default listener that you can attach, and that will reuse the "errorResponses" to create an exception. It won't be registered by default, but at least it removes the need to write this boilerplate code in all libraries.

Hi,
I tried to do this this morning, unfortunately I didn't found any way to attach a listener to a command error from my client. If I hook to the "error" event, then I cannot have access to the command. Is there any way to do that simply, or am I forced to overload the __call, manually creating the command, attaching a subscriber, and trigger it?

Actually, the problem is that the current operation cannot be retrieved from a command... still trying to work around this =).

Still no luck with this @mtdowling . Is there a simple way to add a listener that will be able to have the response AND the command that was executed (along with the errorResponses array). This is pretty necessary to do the reusable error exception listener.

You have access to the operation information from the client that is pass around as part of each command event. You can retrieve the service description from the client and the specific operation information from the description using the name of the command.
Something like this:
use GuzzleHttp\Command\Event\ProcessEvent;

$command->getEmitter()->on('process', ProcessEvent $e) {
    $name = $e->getCommand()->getName();
    $description = $e->getClient()->getDescription();
    $operation = $description->getOperation($name);
    $errors = $operation->getErrorResponses();
    // do something with the errors.
});


Comparison to RasterIO

This looks like a nice package! Out of curiosity, how does it compare to or complements rasterio? I think a short paragraph in the README or the docs would help newcomers like me to place the package in context.

Nice idea, thanks for this. I'll have to do some digging on rasterio's capabilities - when we started to develop georaster in 2014 rasterio was in a very early state of development and I've not really re-visited it since as I can generally get what I need done with georaster.

Hi Fabien,
Welcome to georaster ! As Andrew mentioned, this repo was the fusion of different tools that Andrew and I both developed on our side at a time when not many high-level libraries existed to handle raster/vector files. Probably some good solutions exist nowadays, but so far I’ve been really used to our custom tools that I only use this.
I hope you’ll find it useful and collaborate on it. We also had a plan to merge georaster and geovector into one repo Geoutils at some point but haven’t really done it. But if you work with shapefile, you should have a look at geovector too: https://github.com/GeoUtils/geoutils/tree/master/geoutils
I once created a small doc that I never put online, I hope to do that at some point, but I can send it to you if you want to be a beta tester.
Amaury
P.S: I “stole” your website design a couple months ago. I still have a lot to learn, but I hope to personalize it a bit more: https://adehecq.github.io/ Thanks for sharing!
On Apr 2, 2019, at 15:00, Fabien Maussion <notifications<EMAIL_ADDRESS>wrote:
This looks like a nice package! Out of curiosity, how does it compare to or complements rasteriohttps://github.com/mapbox/rasterio? I think a short paragraph in the README or the docs would help newcomers like me to place the package in context.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/GeoUtils/georaster/issues/12, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADIjkTuvQEWt5AS02t-OCZTay1mZ2v_5ks5vc1RXgaJpZM4cX-zJ.

when we started to develop georaster in 2014 rasterio was in a very early state of development and I've not really re-visited it since as I can generally get what I need done with georaster.

Yes, this is often how it goes. I have the same feeling with my small salem library. We use rasterio intensively now (and added a backend for xarray recently), and your library seemed very similar so I got curious!

I “stole” your website design a couple months ago.

Nice website! And good that your google scholar icon on the landing page still points to mine :wink:. The design comes from an earlier version of minimal mistakes anyway, it's not mine!

On Apr 5, 2019, at 17:53, Fabien Maussion <notifications<EMAIL_ADDRESS>wrote:
when we started to develop georaster in 2014 rasterio was in a very early state of development and I've not really re-visited it since as I can generally get what I need done with georaster.
Yes, this is often how it goes. I have the same feeling with my small salem library. We use rasterio intensively now (and added a backend for xarrayhttp://xarray.pydata.org/en/stable/generated/xarray.open_rasterio.html recently), and your library seemed very similar so I got curious!
I’ll check your library too then !
I “stole” your website design a couple months ago.
Nice website! And good that your google scholar icon on the landing page still points to mine 😉. The design comes from an earlier version of minimal mistakes anyway, it's not mine!
What do you mean? I tried all the Google scholar links and they all point to mine…
Oh ok it was an earlier version. I didn’t really like the last one.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/GeoUtils/georaster/issues/12#issuecomment-480327540, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADIjkVhgZlH9-1rwOLcupiTR3rjyPjYtks5vd3F-gaJpZM4cX-zJ.

What do you mean?

For me the link below your bio and image (the scholar logo) still points to mine

Strange… Mine point to https://scholar.google.com/citations?user=/4Fk2yxUAAAAJ
What’s your link?
On Apr 7, 2019, at 13:11, Fabien Maussion <notifications<EMAIL_ADDRESS>wrote:
For me the link below your bio and image (the scholar logo) still points to mine

haha it seems this is a general link, neither working for you or for me ;-) - try to open it in a private browser instead and you'll see
(sorry @atedstone for the unrelated noise here ;)

I got it ! There’s an extra slash in the author-bio code that causes it to fail… And of course as long as I'm logged in, it points to my profile (yours when you try it)…
Should be fixed now.
@atedstone, it’s better for you too, as my top paper is still yours! ;-)
On Apr 7, 2019, at 13:17, Fabien Maussion <notifications<EMAIL_ADDRESS>wrote:
haha it seems this is a general link, neither working for you or for me ;-) - try to open it in a private browser instead and you'll see
(sorry @atedstonehttps://github.com/atedstone for the unrelated noise here ;)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/GeoUtils/georaster/issues/12#issuecomment-480580988, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADIjkbTb27gGfFrFamz6l4ZzzqaH8_wVks5vedPXgaJpZM4cX-zJ.

Very short note added to readme indicating that rasterio now exists and is a good choice for most tasks. Noted that this package is now more in state of maintenance than development (focus on supporting existing applications/bugfixes).


enable proxy configuration for offline clusters

https://github.com/kkb0318/irsa-manager/pull/9
see if this is useful for others.
works for me. ymmv

@kedai
LGTM. Thank you for your contribution!


Add Polynomial model

Simple polynomial model with coefficients obtained via regression.

Codecov Report
Attention: Patch coverage is 94.11765% with 2 lines in your changes missing coverage. Please review.

Project coverage is 93.83%. Comparing base (a744e35) to head (4cd5ebf).
Report is 1 commits behind head on main.

Files with missing lines
Patch %
Lines

src/poly.jl
94.11%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #18      +/-   ##
==========================================
+ Coverage   93.80%   93.83%   +0.02%
==========================================
  Files          10       11       +1
  Lines         339      373      +34
==========================================
+ Hits          318      350      +32
- Misses         21       23       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Version bump

@homu r+ fd60b32

@homu: r+ fd60b32

:bulb: This pull request was already approved, no need to approve it again.


Generalize entropy

Make generalize function work for any type of number N.
Expose a function similar to generalize that accepts a profile used to choose a distribution type at runtime.

Not possible until specialization lands in stable.
Some distributions work only with float or impose additional trait bounds.


Adding Lab reports and ML models

Added following features

Lab reports collection and viewing.
Update appointment view.
Added ML model for diabetes.

lgtm!


GET http://simulateur.tdl/calcul/admin not found

Hello! Thank you very for creating this application, it helps me a lot.
I'm just having a little problem.
I can run the program, login, and see the presentation of the demo simulation. But when I click on dashboard, there is nothing.
And in the console, it's written : GET http://simulateur.tdl/calcul/admin not found.
Can you help me please?
Thank you very much

Hello @kiady66, I see that you managed to resolve this. I have the same problem as you and I can't find a solution. Can you tell me how you resolved it?


arch: arc: enlarge the exception handling stack

after recent changes in zephyr's fault handling, e.g. use log
to repace printk, it requires more stack to exception handling, or
the stack overflow can happen and crash the system.
Signed-off-by: Wayne Ren<EMAIL_ADDRESS>

Should it be made a (user) config option, so e.g. on release builds without logging it can be tuned down without changing the code?

Should it be made a (user) config option, so e.g. on release builds without logging it can be tuned down without changing the code?

The exception handling stack is a part of interrupt stack. Its usage of stack is almost fixed. Adding a specifc config option may bring a feeling that a separate exception stack will be alloacted.
When we think it's necessary to have a separate stack for exception handling, we can add such a config option.

You very correctly mentioned to Ruud that this new ARC_EXCEPTION_STACK_SIZE Kconfig option might create a feeling that it's a completely separate stack even though it's just a part of IRQ stack. So I think it worth adding that note in the option's help message.

OK, i will add some help msg in kconfig


[SPARK-41030][BUILD][3.2] Upgrade Apache Ivy to 2.5.1

What changes were proposed in this pull request?
Upgrade Apache Ivy from 2.5.0 to 2.5.1
Release  notes
Why are the changes needed?
CVE-2022-37865 This is a 9.1 CRITICAL
and
CVE-2022-37866
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass GA

@kyle-ai2
I will ping Sean, Hyukjin and dongjoon-hyun when all the tests have been passed.

This is a backport of https://github.com/apache/spark/pull/38539

Thank you, @bjornjorgensen and @HyukjinKwon

Thanks everyone. Will this be released in a new Spark 3.2.4 image?

@kyle-ai2 Yes, this PR is a part of the 3.2 branch now.

BTW, v3.2.4 is expected on April 2023 as EOL release according to the release cadence.

Before v3.2.4,

v3.3.2 will arrive on Feb/March timeframe
v3.4.0 feature freeze will start on January 16th and RC will start on February.

Apache Spark community always recommends to use the latest one. In case of SPARK-41030, v3.3.2 is the fastest release with that.


Rescan, IBD, Startup Progress for Wallet

The wallet must be able to display rescan progress + startup progress, including through the API.
Startup is going to be trickier, because the /wallet route will not be available, and progress is not just a smooth number like # of blocks. But things like 'performing compat upgrades' should be somehow accessible to the UI so the user knows what's taking so long.

won't the compat upgrade only happen once you unlock? You need the encryption password.
Unlocking should be very fast unless you are rescanning, so we could do what some other software does: if unlocking takes more than a few seconds, the UI will add a message below the loading spinner that says "If you are upgrading from a older version, your wallet will be converted to the newest format. This may take a few minutes."