Fast Avro Decoder not included in Conda Deployment of pyiceberg

Feature Request / Improvement
when you install pyiceberg via conda you get warnings like:
/home/coder/.conda/envs/coder/lib/python3.10/site-packages/pyiceberg/avro/decoder.py:185: UserWarning: Falling back to pure Python Avro decoder, missing Cython implementation
warnings.warn("Falling back to pure Python Avro decoder, missing Cython implementation")
Which means it is missing the fast avro decoder. It would be great to have this functionality to speed up our queries!

Im not sure how condo deals with Cython extensions
but here's the relevant code
https://github.com/apache/iceberg-python/blob/e4c1748fee220076f04e35ab2f182dd51ca20705/pyiceberg/avro/decoder.py#L185
https://github.com/apache/iceberg-python/blob/e4c1748fee220076f04e35ab2f182dd51ca20705/build-module.py#L44-L52

I experience the same issue with installation via pypi (Windows):
D:\code\...\.venv\Lib\site-packages\pyiceberg\avro\decoder.py:185: UserWarning: Falling back to pure Python Avro decoder, missing Cython implementation
https://github.com/apache/iceberg-python/blob/9b9ed534b2022cb9a687f4ed876fadcc2457b31b/pyiceberg/avro/decoder.py#L177-L187

Adding some context to the Avro decoder build process.
We use Poetry to build the Avro decoder via this script
https://github.com/apache/iceberg-python/blob/b5933756b5b488ec51cd56d5984731b6cc347f2b/pyproject.toml#L583
https://github.com/apache/iceberg-python/blob/b5933756b5b488ec51cd56d5984731b6cc347f2b/build-module.py
you can manually trigger by
poetry build

Depending on the platform, there might be some missing piece that's not allowing the build to succeed.
@JanKrl can you try the above command and paste the output here for debugging?

Adding some context to the Avro decoder build process.
We use Poetry to build the Avro decoder via this script
https://github.com/apache/iceberg-python/blob/b5933756b5b488ec51cd56d5984731b6cc347f2b/pyproject.toml#L583
https://github.com/apache/iceberg-python/blob/b5933756b5b488ec51cd56d5984731b6cc347f2b/build-module.py
you can manually trigger by
poetry build

Depending on the platform, there might be some missing piece that's not allowing the build to succeed.
@JanKrl can you try the above command and paste the output here for debugging?

Deleting python environment (env) solved the problem for me.
So, (un)fortunately I'm not able to reproduce it anymore.

Great to hear. did you clean the env manually or use make clean?

Great to hear. did you clean the env manually or use make clean?

I use venv, so I removed .venv directory and created it again.

I must have missed the "Falling back to pure Python Avro decoder, missing Cython implementation" warning during installation, but I was indeed missing Cython, which was causing a different decoder_fast related error during make test:
~/iceberg-python$ make test
poetry run pytest tests/ -m "(unmarked or parametrize) and not integration"
=========================================================== test session starts ============================================================
platform linux -- Python 3.10.12, pytest-7.4.4, pluggy-1.5.0
rootdir: /mnt/c/Users/.../iceberg-python
configfile: pyproject.toml
plugins: mock-3.14.0, checkdocs-2.10.1, requests-mock-1.12.1, lazy-fixture-0.6.3
collected 3588 items / 2 errors / 865 deselected / 2723 selected

================================================================== ERRORS ==================================================================
_______________________________________________ ERROR collecting tests/avro/test_decoder.py ________________________________________________
ImportError while importing test module '/mnt/c/Users/.../iceberg-python/tests/avro/test_decoder.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/avro/test_decoder.py:29: in <module>
    from pyiceberg.avro.decoder_fast import CythonBinaryDecoder
E   ModuleNotFoundError: No module named 'pyiceberg.avro.decoder_fast'
________________________________________________ ERROR collecting tests/avro/test_reader.py ________________________________________________
ImportError while importing test module '/mnt/c/Users/.../iceberg-python/tests/avro/test_reader.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/avro/test_reader.py:24: in <module>
    from pyiceberg.avro.decoder_fast import CythonBinaryDecoder
E   ModuleNotFoundError: No module named 'pyiceberg.avro.decoder_fast'
========================================================= short test summary info ==========================================================
ERROR tests/avro/test_decoder.py
ERROR tests/avro/test_reader.py
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
==================================================== 865 deselected, 2 errors in 23.91s ====================================================
make: *** [Makefile:42: test] Error 2

I was able to fix the test errors by following the Cython installation instructions documented here and then rebuilding.
~/iceberg-python$ sudo apt-get install build-essential python3-dev
~/iceberg-python$ pip install --user Cython
~/iceberg-python$ poetry build


Allow clients to set ancestor IDs

Background
Certain customers have internal tracking/logging already set up for users, sessions, and views. When we want to join the events that our library generates against the IDs that customers' internal systems generate, we need to be able to set the customers' IDs in the logUserID, sessionID, or viewID fields of MetricsLogger.
This came up in a situation where we are only logging impressions. These impression events need (at minimum) logUserID set in order to join them on the server side. Since we're not logging or generating user IDs, we need to set logUserID on those impressions to some value that the app generates.
In above situation, we won't expect requestID nor insertionID on impression events, and instead join using logUserID.
Proposal
Add the ability to set ancestor IDs in MetricsLogger for logUserID, sessionID, and viewID. Also expose these hooks to react-native-metrics. The client behavior will be as follows.

If you set a custom ancestor ID, then MetricsLogger will use that custom ID going forward.
If you change that custom ID, then we will use that new ID going forward.
If you log an event that overrides that custom ID (say startSessionAndLogUser(userID:)), then we stop using the custom ID you set, and use our own autogenerated ID.
If you never set a custom ID, then the library behaves exactly as before.

Pseudocode
/// Public-facing API for logUserID. You can set it via `logger.logUserID = "foo"`.
public var logUserID: String? {
  get { externalLogUserID ?? logUserIDProducer.currentValue }
  set { externalLogUserID = newValue }
}
/// Internal producer of UUIDs for logUserID.
private let logUserIDProducer: IDProducer
/// Overridden value for logUserID.
private let externalLogUserID: String?

An alternative would be to make this change on the IDProducer class.
final class IDProducer {

  // This becomes readwrite (it was readonly before).
  // Calls to getSessionInfo() for pending ancestor ID goes here.
  var currentValue: String? {
    didSet {
      // If client sets this to a custom value, then include
      // this ID in ancestor IDs going forward.
      valueHasBeenSet = true
    }
  }

  // Calls from MetricsLogger to populate ancestor IDs in
  // logged events go here.
  var currentValueOrPendingValue: String? {
    valueHasBeenSet ? currentValue : initialValue
  }

  // Internal state that allows us to hold on to pending
  // ancestor IDs. We only return ancestor ID if this is true.
  private var valueHasBeenSet: Bool = false

  func nextValue() -> String {
    if !valueHasBeenSet {
      valueHasBeenSet = true
      currentValue = initialValue
      return currentValue
    }
    currentValue = nextValueProducer()
    return currentValue
  }
}

Calls from getSessionInfo() will read idProducer.currentOrPendingValue, which will return pending initial values even if those ancestor values haven't been explicitly set.
Calls from the logging methods on MetricsLogger when populating ancestor IDs will read idProducer.currentValue. This property will return EITHER the autogenerated value OR a custom value IF THE VALUE HAS BEEN SET. Otherwise, if no value is set, this property returns nil and the ancestor ID is omitted on the logged event.
Caveat
This approach precludes the use of custom IDs as pending ancestor IDs. That is, you can't set a custom ID and have it behave as a pending initial ID. This seems like an acceptable tradeoff as the setting of such a custom ID is a signal that the library should use that ID immediately going forward.
Usage
In the code where users sign in and their obfuscated user ID is available, we add the line:
PromotedMetrics.setLogUserID(user.id)

Then in all events logged from that point forward, the userInfo message will contain user.id in the logUserId field.
If a client app does not log any ancestor events with the library (user/session or view), and also does not pass through insertionID to its content, then it must set at least one ancestor ID prior to logging Action or Impression events. Ideally, this would be logUserID.
Sign off
Work begins when sign-off is received from all of the following:

[X] Dan
[X] Jin
[X] YW

@danbosnichill @jinyius Please review at your convenience.
@dtdennis28 Heads up of an upcoming change to the way IDs behave on the iOS library.

just for completeness, we should explicitly call out that request id and insertion id for impression in these highly decoupled logging contexts aren't necessary since those will be usually handled by the platform's server (rpc) context.

just for completeness, we should explicitly call out that request id and insertion id for impression in these highly decoupled logging contexts aren't necessary since those will be usually handled by the platform's server (rpc) context.

Done.

In the case of Hipcamp, we won't expect requestID nor insertionID on impression events, and instead join using logUserID.

As of right now, yea.  Eventually, we'll probably get insertionID too.
I'm not sure I understand the alternative proposal and how nextValue would work (reseting externalValue).  The primary pseudo code looks good.

In the case of Hipcamp, we won't expect requestID nor insertionID on impression events, and instead join using logUserID.

As of right now, yea. Eventually, we'll probably get insertionID too.

Thanks for pointing that out. Since insertionID doesn't behave like the other ancestor IDs, that won't affect this proposal.

I'm not sure I understand the alternative proposal and how nextValue would work (reseting externalValue). The primary pseudo code looks good.

I updated the example and clarified the behavior.
Thanks for your reviews! I'll take this as sign-off for this proposal.

@danbosnichill moving the discussion of luid and uid being set externally here per https://github.com/promotedai/ios-metrics-sdk/issues/126#issuecomment-854891336.
should we allow for setting both uid and luid externally?  iiuc, right now, setting uid externally would generate a uuid local to the ios sdk.

We discussed usage patterns over VC. This issue/PR brings up a larger theoretical question of how to handle these scenarios:

The user wants the Promoted library to handle ancestor ID generation and log ancestor events, vs
The user wants to handle ancestor ID generation and ancestor event logging, and only wants to push those ancestor IDs into the Promoted library.
Any other usage pattern on the spectrum between 1 and 2. The user may want to log events both with Promoted and externally, set ancestor IDs for some events but not others, etc.

These two requirements potentially complicate the library, as these use cases could pull the API in different directions. #128 is an example of a potential mis-use of the API by supporting both use cases.
After discussion, we decided that we will only support the extremes of the spectrum. That is, either the user only does 1 or only does 2. Any mixing and matching will not be supported. Reasons for this:

It can greatly complicate the API.
It's still pretty early to tell which use case will be more common.
Once we support something in the API, it will be more difficult to stop supporting it in the future.

As for the specific question of allowing external setting of userID, I won't include it in the first PR to be linked to this issue, but we can continue the discussion for a subsequent PR.


Adding/standardizing animation

Would love to discuss how we could add/standardize motion/animation on different components.
I put together a deck on the benefits of motion, some examples used in other design systems, and proposal for style, timing, and spacing standards that we can use. Link is in design-systems channel.
My idea is to:

identify core transformations (position, scale, rotation, opacity, etc.) and assign corresponding nomenclature.
Create distinct timing buckets and assign them to components.
Create 3 standard bezier curves: easeInOut(0.50, 0.00, 0.25, 1.00), easeOut(0.00, 0.00, 0.25, 1.00), and easeIn(0.50, 0.00, 1.00, 1.00) to be used based on context by an element.

Lemme know your thoughts !

@sqott check this out: https://github.com/drcmda/react-spring


const TVEventHandler = require('TVEventHandler'); not found

Description
const TVEventHandler = require('TVEventHandler'); not found
In other versions it is found in node_modules/react-native/Libraries/Components/AppleTV/TVEventHandler.js
React Native version:
System:
OS: Linux 5.10 Kali GNU/Linux Rolling 2021.1
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Memory: 6.73 GB / 32 GB
Shell: 5.8 - /usr/bin/zsh
Binaries:
Node: 12.21.0 - /usr/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 7.5.2 - /usr/bin/npm
Watchman: Not Found
SDKs:
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Languages:
Java: 11.0.11-ea - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.1 => 17.0.1
react-native: 0.64.0 => 0.64.0
npmGlobalPackages:
react-native: Not Found
Thanks for you atention.

https://snack.expo.io/FqBgHpUN7

In other versions we use for detect control events as Fire TV

Same issue but on Android TV. It used to be defined within the react-native module and working in react-native 0.61.5, however after upgrading to 0.63.0 it's no longer found.
Using the documentation which states var TVEventHandler = require('TVEventHandler');. Using this throws TVEventHandler could not be found within the project or in these directories when access like this._tvEventHandler = new TVEventHandler();

It looks like this issue was raised when this module got removed because of the 'react-native-tvos' fork of react-native. The developers knew that TVEventHandler would break for Android and my guess is that since react-native-tvos is used for Android and tvOS it was removed as well. Makes sense.
I think the documentation needs to be updated so that 'TVEventHandler' is part of the react-native-tvos but it's currently saying it's part of react-native.
https://github.com/facebook/react-native/pull/29407

I solved it in version 0.63.4 importing it like this import TVEventHandler from 'react-native/Libraries/Components/AppleTV/TVEventHandler';

I solved it in version 0.63.4 importing it like this import TVEventHandler from 'react-native/Libraries/Components/AppleTV/TVEventHandler';

Did that work for your Fire TV as well considering it's Android based?

Yep, it working on android. I saw the solution you tell me on other pages, but it didn't work for me.

Makes me wonder... is the entire TV support for Android TV being removed? Earlier there used to be a TVTouchable.js under Libraries/Components/Touchable which was used for handling the focus/blur/select events for Touchable components for TV.

Those events keep working, I use with TouchableOpacity and manage the focus with states and custom styles.

my SOLUTION:
TVEventHandler will not work with default react-native": "0.64, you will have to change it with "react-native": "npm:react-native-tvos@latest"
To do so, use this command: yarn add react-native@npm:react-native-tvos@latest then clean and rebuild your project. 🎉


rewrite pre-commit, post-commit and options hooks (fixes #1250)

see #1250

Why we can't create symlink for hooks to gitea binary? In this case we
don't need bash, sh and other stuff. And gitea handle hook internally.
15 Мар 2017 г. 9:29 пользователь "Sandro Santilli"<EMAIL_ADDRESS>написал:

@strk requested changes on this pull request.
I see you're feeding a bash script to a user-configurable scriptType,
sounds fragile to me. Can you us a POSIX syntax please ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/go-gitea/gitea/pull/1257#pullrequestreview-26999306,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAdYG9TihPxRzcXJdX42SJmwKrkEb0KBks5rl4UugaJpZM4MdRlY
.

I dunno why are you talking about symlinks, but yes I think we could just invoke the commands, if executables. But please make sure you touch all files containing that bash invocation, I see 3 places.
Also it would be great to have unit tests for this

Am I missing something? The migrations?
$ find . -name '*.go' -print0 | xargs -r0 grep -P '^(?!//).*\bsh\b'
./models/migrations/v22.go:			fmt.Sprintf("#!/usr/bin/env %s\nORI_DIR=`pwd`\nSHELL_FOLDER=$(cd \"$(dirname \"$0\")\";pwd)\ncd \"$ORI_DIR\"\nfor i in `ls \"$SHELL_FOLDER/pre-receive.d\"`; do\n    sh \"$SHELL_FOLDER/pre-receive.d/$i\"\ndone", setting.ScriptType),
./models/migrations/v22.go:			fmt.Sprintf("#!/usr/bin/env %s\nORI_DIR=`pwd`\nSHELL_FOLDER=$(cd \"$(dirname \"$0\")\";pwd)\ncd \"$ORI_DIR\"\nfor i in `ls \"$SHELL_FOLDER/update.d\"`; do\n    sh \"$SHELL_FOLDER/update.d/$i\" $1 $2 $3\ndone", setting.ScriptType),
./models/migrations/v22.go:			fmt.Sprintf("#!/usr/bin/env %s\nORI_DIR=`pwd`\nSHELL_FOLDER=$(cd \"$(dirname \"$0\")\";pwd)\ncd \"$ORI_DIR\"\nfor i in `ls \"$SHELL_FOLDER/post-receive.d\"`; do\n    sh \"$SHELL_FOLDER/post-receive.d/$i\"\ndone", setting.ScriptType),
./models/migrations/v19.go:			fmt.Sprintf("#!/usr/bin/env %s\nORI_DIR=`pwd`\nSHELL_FOLDER=$(cd \"$(dirname \"$0\")\";pwd)\ncd \"$ORI_DIR\"\nfor i in `ls \"$SHELL_FOLDER/pre-receive.d\"`; do\n    sh \"$SHELL_FOLDER/pre-receive.d/$i\"\ndone", setting.ScriptType),
./models/migrations/v19.go:			fmt.Sprintf("#!/usr/bin/env %s\nORI_DIR=`pwd`\nSHELL_FOLDER=$(cd \"$(dirname \"$0\")\";pwd)\ncd \"$ORI_DIR\"\nfor i in `ls \"$SHELL_FOLDER/update.d\"`; do\n    sh \"$SHELL_FOLDER/update.d/$i\" $1 $2 $3\ndone", setting.ScriptType),
./models/migrations/v19.go:			fmt.Sprintf("#!/usr/bin/env %s\nORI_DIR=`pwd`\nSHELL_FOLDER=$(cd \"$(dirname \"$0\")\";pwd)\ncd \"$ORI_DIR\"\nfor i in `ls \"$SHELL_FOLDER/post-receive.d\"`; do\n    sh \"$SHELL_FOLDER/post-receive.d/$i\"\ndone", setting.ScriptType),
./vendor/golang.org/x/text/language/maketables.go:	"ro", "ru", "sh", "si", "sk", "sl", "sq", "sr", "sv", "sw", "ta", "te", "th",
./vendor/golang.org/x/text/language/maketables.go:	lang.updateLater("sh", "hbs")
./vendor/golang.org/x/sys/unix/types_openbsd.go:Input to cgo -godefs.  See also mkerrors.sh and mkall.sh
./vendor/golang.org/x/sys/unix/types_darwin.go:Input to cgo -godefs.  See also mkerrors.sh and mkall.sh
./vendor/golang.org/x/sys/unix/types_netbsd.go:Input to cgo -godefs.  See also mkerrors.sh and mkall.sh
./vendor/golang.org/x/sys/unix/types_freebsd.go:Input to cgo -godefs.  See also mkerrors.sh and mkall.sh
./vendor/golang.org/x/sys/unix/types_linux.go:Input to cgo -godefs.  See also mkerrors.sh and mkall.sh
./vendor/golang.org/x/sys/unix/types_solaris.go:Input to cgo -godefs.  See also mkerrors.sh and mkall.sh
./vendor/golang.org/x/sys/unix/types_dragonfly.go:Input to cgo -godefs.  See also mkerrors.sh and mkall.sh
./modules/base/tool.go:	sh := sha1.New()
./modules/base/tool.go:	sh.Write([]byte(data + setting.SecretKey + startStr + endStr + com.ToStr(minutes)))
./modules/base/tool.go:	encoded := hex.EncodeToString(sh.Sum(nil))
./modules/highlight/highlight.go:		".sh":     true,

Yes, the migrations. I'm not very sure what are them for, and how to effectively test them, will be tricky.
You can always trigger them by setting version.version in the database to the lowest version (19, in this case) and starting Gitea again. I guess it takes installing some hooks in the old format to test the migrations.

The migrations will be simple to rewrite all the scripts. But don't forget wiki repo's hooks.

afaics the wiki pages use the same hooks as the repos do. Which leads to funny side-effects[1] but that's not relevant here.
So, nothing to do for the wikis here.
I'm a little concerned about the migration scripts. In my understanding the scripts should update database schemas, scripts (i.e. hooks) and other stuff that might have changed between gitea versions.
I can change v19.go and v22.go to match the new hook scripts. So when updating from gitea .. say 0.9 .. the hooks will be rewritten. But when updating from gitea 1.1.0  to gitea > 1.1.0 will the changes be applied? Or do we need a completely new migration script v23.go (or whatever it will be named) that replaces the hooks once again?
[1] I have git-multimail.py in my git templates so on every wiki page change I get a mail with the diff :)

Good question about migrations. I think first step is understanding what those migrations did in v19 and v22. If they installed broken scripts, now we'd need a new migration to fix those scripts (if we can ensure those scripts are "owned" by gitea)

the migration works for me.
Tested:

freshly installed gitea 1.0.0 → 1.1.0 → 1.1.0fix_hooks
freshly installed gitea 1.1.0 → 1.1.0fix_hooks
gitea 1.1.0 w/ custom hooks → 1.1.0fix_hooks

As @strk pointed out, don't touch existing migrations, it will break things even worse. Create a new migration that updates all existing hooks.

@bkcsoft I did not touch existing migrations.

And maybe you can also fix another issue
SyncRepositoryHooks

This function didn't sync wiki repository's hooks.

otherwise LGTM

So doesn't it take any migration to fix the existing hooks ? How/when do those wrapper scripts get installed in git repos ?

@strk I'm not sure what you're talking about. Actually there is a migration script (v26.go) to install the new hooks.
@lunny I'll try to fix it. Do you want it in this PR or shall I open a new PR when done?
btw - the "comment header" change is done but this PRs status is still on "Changes requested".

@philfry sorry I think I was fooled by github as when I wrote that comment I really didn't see the migration file !
LGTM (trusted, didn't really test it)

@philfry, could you send a backport PR to v1.1? But maybe the migrations is difficult to handle.


Fix gh-pages build

Current gh-pages build doesn't render the survey.

ditch the typescript would love to help but I've never worked with Vue.JS or Typescript at all.
Can you simplify your technology stack ? :D

TypeScript = typed JavaScript basically
Re: simplifying
We kind of did... :yum:

Changed the build path in cdc352c9f4ffa3da1f31895685869ec29d219754


Remove version: Prog.ProgDVB.Free version 7.51.6

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

For moderators
This account is automated by Github Actions and the source code was created by CoolPlayLin. If you have any questions about any pull request, don't hesitate to ping Exorcism0666.

[!warning]
With the new version of Komac, numerous Pull Requests may contain bugs or unwanted elements. If such issues arise, please tag russellbanks so that these bugs can be addressed in future updates.

[!important]
Please carefully review these Pull Request before merging. If it is a Pull Request for removing incorrect content and the URLs are issue, free upon manual checking, please close this Pull Request directly. (It is best to inform Exorcism0666 of the closure.)

良い一日をお過ごしください！

URL: https://files.progdvb.com/progdvb/ProgDVB7.51.6Std.exe
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 871)

Hi @Exorcism0666,
This manifest has the highest version number for this package. Is it available from another location? (This might be in error if the version is switching from semantic to string, or string to semantic.)
(Automated response - build 870.)

URL: https://files.progdvb.com/progdvb/ProgDVB7.51.6Std.exe
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 871)

URL: https://files.progdvb.com/progdvb/ProgDVB7.51.6Std.exe
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 873)

URL: https://files.progdvb.com/progdvb/ProgDVB7.51.6Std.exe
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 873)

URL: https://files.progdvb.com/progdvb/ProgDVB7.51.6Std.exe
Response status code does not indicate success: 404 (Not Found).
(Automated message - build 876)


README/API would benefit from vanilla html/js getting started section (not Observable).

The existing API docs lack complete examples (only fragments of javascript without corresponding html), and Observable doesn't simulate a real development environment, making the learning curve for this library very steep.
This github would benefit from a 'getting started'/examples section with complete vanilla html/js examples to make it accessible to beginners who plan to use it with html/js.

Thanks for the feedback. Maintaining the examples and the API reference, in addition to the code itself, is a lot of work, and I don’t plan on maintaining a separate set of vanilla examples in addition to the Observable ones. I’d be happy to point to a community-maintained set of vanilla examples. One issue there is that many community examples are out of date; for example, the D3 Graph Gallery is mostly on version 4. You can also find many old versions of the D3 examples, now unmaintained, as GitHub gists.

Thanks for the feedback. Maintaining the examples and the API reference, in addition to the code itself, is a lot of work, and I don’t plan on maintaining a separate set of vanilla examples in addition to the Observable ones. I’d be happy to point to a community-maintained set of vanilla examples. One issue there is that many community examples are out of date; for example, the D3 Graph Gallery is mostly on version 4. You can also find many old versions of the D3 examples, now unmaintained, as GitHub gists.

@haydenlinder You may like https://vizhub.com/create-viz

@haydenlinder You may like https://vizhub.com/create-viz


Please upload windows portable release with support for --no-gui

Hello, like the title says, I would like you to upload a windows portable release with support for the --no-gui option please, as I cannot build it myself.
Also, the path to the icon resource below should read syncplay\\resources\\icon.ico instead of resources\\icon.ico.
https://github.com/Syncplay/syncplay/blob/f57df2ca189bd0364b325de89b56712e5a06b774/buildPy2exe.py#L752-L753

To know what to build it would be helpful to know the purpose of having a windows portable --no-gui release. However, I've given it a try and it is available from: https://github.com/Et0h/syncplay/releases/download/console-test/syncplay_v1.6.8_dev_console.zip
Syncplay should operate in console mode but it won't run if you have not specified all of the relevant settings (as it tries to open the configuration window and fails).
You can run Syncplay with something like: syncplay.exe --host syncplay.pl:8995 --room MyRoom --name siferati --player-path "c:\Program Files\mpv\mpv.exe"
You can also modify the settings within syncplay.ini, which will be populated the first time you sucesfully run Syncplay.

For future reference, this is how my console build differs from GIT HEAD:
Index: buildPy2exe.py
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- buildPy2exe.py	(revision 83b65fa7141bc5e348caf85a4e62bc7bc16567cb)
+++ buildPy2exe.py	(date<PHONE_NUMBER>019)
@@ -742,20 +742,14 @@
 )

 info = dict(
-    common_info,
-    windows=[{
-      "script": "syncplayClient.py",
-      "icon_resources": [(1, "syncplay\\resources\\icon.ico")],
-      'dest_base': "Syncplay"},
-    ],
-    console=['syncplayServer.py'],
+
     # *** If you wish to make the Syncplay client use console mode (for --no-gui to work) then comment out the above two lines and uncomment the following line:
-    # console=['syncplayServer.py', {"script":"syncplayClient.py", "icon_resources":[(1, "resources\\icon.ico")], 'dest_base': "Syncplay"}],
+    console=['syncplayServer.py', {"script":"syncplayClient.py", "icon_resources":[(1, "syncplay\\resources\\icon.ico")], 'dest_base': "Syncplay"}],

     options={
         'py2exe': {
             'dist_dir': OUT_DIR,
-            'packages': 'PySide2, cffi, OpenSSL, certifi',
+            'packages': 'cffi, OpenSSL, certifi',
             'includes': 'twisted, sys, encodings, datetime, os, time, math, urllib, ast, unicodedata, _ssl, win32pipe, win32file',
             'excludes': 'venv, doctest, pdb, unittest, win32clipboard, win32pdh, win32security, win32trace, win32ui, winxpgui, win32process, Tkinter',
             'dll_excludes': 'msvcr71.dll, MSVCP90.dll, POWRPROF.dll',
Index: syncplay/ui/ConfigurationGetter.py
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- syncplay/ui/ConfigurationGetter.py	(revision 83b65fa7141bc5e348caf85a4e62bc7bc16567cb)
+++ syncplay/ui/ConfigurationGetter.py	(date<PHONE_NUMBER>002)
@@ -26,7 +26,7 @@
             "name": None,
             "debug": False,
             "forceGuiPrompt": True,
-            "noGui": False,
+            "noGui": True,
             "noStore": False,
             "room": "",
             "roomList": [],

Plus I added syncplay.ini to the built folder to make it a portable release.

Thanks!

it would be helpful to know the purpose of having a windows portable --no-gui release

I have no need for the syncplay gui - the mpv window alone is enough. Unfortunately, when you close the syncplay gui in the default release it also closes the player. However, with --no-gui I can very easily create a .vbs script to quietly launch syncplay in the background while having only the mpv window visible:
CreateObject("Wscript.Shell").Run "Syncplay.exe --no-gui", 0, True

In the meantime, I was able to more or less compile it in my computer, however I get the warning Attribute Qt::AA_EnableHighDpiScaling must be set before QCoreApplication is created when running. Any idea of what I'm missing?

I don't think setting "noGui": True is needed, as this completely blocks the gui from appearing. A much better middle ground would be to keep it False. The primary purpose would still be to use syncplay with the --no-gui option, but you would also be able to open the gui when needed - for example, to change settings in an easier fashion rather than directly editing the .ini file.

Here is a version with GUI support and without --no-gui by default: https://github.com/Et0h/syncplay/releases/download/console-test/syncplay_v1.6.8_dev_console_v2.zip - you can't control the console while Syncplay is running because of how things work.

By the way, those who are controlling Syncplay by mpv may be pleased to know that all of the Syncplay console commands are accessible from within the mpv chat feature if you use / before the message. See https://syncplay.pl/guide/client/#:~:text=Commands accessible via the chat facility for details.

What about the Attribute Qt::AA_EnableHighDpiScaling must be set before QCoreApplication is created warning I get when running the source code on my system? Any clue as to how to fix it? Your releases run fine, but if I run the source code directly or compile it myself it gives that warning.

I think that warning is benign - it's has been there for a long time, but doesn't cause any issues that we could see. Not even with high dpi screens since this commit.

I agree it is benign, but people keep complaining about it and it sends people down the wrong path to figuring out problems so I've hopefully supressed the error now for future releases.


Increase precision from 1 to 3 points in GIF time annotation.

          we'll still need to increase precision from 1 to 3 points as per @jchodera's comment.

Originally posted by @JenkeScheen in https://github.com/choderalab/asapdiscovery/issues/293#issuecomment-1582026098

Now in #246


Hi-res fix functionality

Any chance or possibility this could be done? I'm curious to see how gradually introduced noise would work during the hires.
Great extension, by the way. Already sneaked its way into my top 5 despite being so new, I thought having gens this crisp was impossible with 1.5 based SD.

Hey there. Glad you find it useful.
Hires Fix usually applies to the later denoising steps (denoising strength < 0.4 meaning t > 0.6) so there's not really that much room for advanced scheduling, i.e. the effect you'll get out of DD will be pretty similar to using the initial noise multiplier or extra noise parameters already provided by the webui (which applies the extra noise only to the first step of the Hires pass).
On the other hand, Hires Fix basically img2img, so you can try using DD in the img2img tab instead and have exactly what you're looking for.
I wouldn't mind allowing DD to work during Hires Fix. The reason I disabled it was that I wasn't sure what's the best way to handle it. Ideally we would have 2 separate schedules to allow detail adjustment throughout both the initial pass and the hires pass. But that would be too much work and makes the interface too complicated. One solution would be to have a dropdown that allows you to choose whether DD applies to the initial pass or the hi-res. Got any other ideas?
So, if you try the img2img method and think that it proves useful to have it working with Hires Fix as well do let me know.


Async.AwaitTask behaviour on task canceled

Reading this stackoverflow issue I was reminded of a peculiar behaviour that the Async.AwaitTask method has when the input task has been cancelled. Namely, it will trigger the cancellation continuation of the awaiting workflow, without the possibility of recovery.
Here's a simplistic reproduction that demonstrates the behaviour:
Async.RunSynchronously(async {
    let tcs = new System.Threading.Tasks.TaskCompletionSource<unit>()
    tcs.SetCanceled()
    try return! Async.AwaitTask tcs.Task
    with :? System.OperationCanceledException -> ()
})

I believe that this behaviour is wrong, for a couple of reasons:

It is contrary to the intended use of the cancellation continuation, which is to provide a means for cooperative cancellation by the creator of the asynchronous job.
Input tasks often originate from third party libraries, whose cancellation behaviour might be difficult to predict. A good example is the aforementioned SO thread.

My recommendation here would be to amend the implementation of Async.AwaitTask so that cancelled tasks should trigger the exception continuation pipeline. This would allow developers to reason about the origin of the problem and potentially prevent catastrophic wipe-outs of execution state.

(bump)
Any thoughts on this? I could provide a PR if you like.

What you say is reasonable.  It's plain wrong to cancel the whole workflow when Async.CancellationToken hasn't even been set.

Is this the only known problem with Async.AwaitTask?  IIRC I've noticed other discussions about it's behaviour - do they all come down to this in the end?

Do you think it's definitely best to adjust the behavior of the current method, or should we add a new one (e.g. Async.AwaitTaskSafe) be added and the current one deprecated?  I can see a logic to considering this a bug fix rather than a design change.  Could you show some examples of code would change behaviour?  Is it only those that explicitly catch-all exceptions (or catch OperationCanceledException?) within the workflow itself?

IIRC some task-returning APIs allow you to specify a cancellation token when creating a task (though I couldn't find particular examples). What would be the guidance for awaiting tasks in those cases? Is the guidance to pass Async.CancellationToken as the cancellation token, or to use CancellationTokenSource.CreateLinkedTokenSource to create a new cancellation token to pass into the task? If the latter .should we give assistance with that?

Another possible issue with Async.AwaitTask is that it wraps all exceptions in an AggregateException. This merely mirrors the default behaviour of Task, however it is inconvenient when used in the context of async. It's not really a bug though, and changing it could break existing code.

I think we could safely modify the existing method. The current behaviour is so destructive that I doubt there is any production code out there that relies on it. AFAIK only the exception handling cases that you mention are going to demonstrate a change of behaviour. Finally clauses would run unaffected.

In most cases, simply passing Async.CancellationToken should suffice. Using a linked token is more appropriate in advanced scenaria where the user wants to combine different tokens or add manual control over task cancellation. We could possibly introduce

type Async with
    static member CreateLinkedTokenSource([<ParamArray>]otherTokens:CancellationToken[]) = async {
        let! ct = Async.CancellationToken
        return CancellationTokenSource.CreateLinkedTokenSource(Array.append [|ct|] otherTokens)
}

which generates a new CTS bound to the ambient CT.

@eiriktsarpalis OK, please submit a PR for this, as far as I'm concerned (from what I've seen so far) we can treat it as a bug fix.

Closing as it is fixed


wires have strange interaction with vanilla redstone

wires transfer power to redstone but redstone doesn't transfer power to wires

wires behave strangely with comparators and possibly other redstone devices
https://user-images.githubusercontent.com/17211100/111044623-7737a780-83fe-11eb-82d1-378495728caf.mp4

I think thats intended

I remember responding to this... apparently not. The first one at least is intended, yes, to prevent infinite feedback loops (wires + redstone dust connected to each other in a loop staying turned on despite no power source being there).
The second one I believe isn't.


(Motion-) Poll-results are not updated although an autoupdate is received

In the poll-detail-view and in the motion-detail-view the client is not updated when new vote-results from an autoupdate are incoming.

This relates to #358


Add Type RegexRules

please put the ticket number at the beginning of the PR, plus don't forget to put it on the merge content


IndexError: index 0 is out of bounds for dimension 0 with size 0

I followed the “OVTRACK_GEN.md” to generate the images. When I run the command
tools/run_ovtrack_generation.sh $GPUs $RESULT_FOLDER_NAME
it returns an error:
Traceback (most recent call last):
File "/data/anaconda/envs/diffusers_clean/lib/python3.8/runpy.py", line 192, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/data/anaconda/envs/diffusers_clean/lib/python3.8/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/data/public/sdzh/OVT/ovtrack-main/diffusers_clean/ovtrack_diffusion_generation.py", line 464, in
main()
File "/data/public/sdzh/OVT/ovtrack-main/diffusers_clean/ovtrack_diffusion_generation.py", line 453, in main
process_image(imid, args, coco_obj, ovtrack_gen_pipe, out_dataset,
File "/data/public/sdzh/OVT/ovtrack-main/diffusers_clean/ovtrack_diffusion_generation.py", line 301, in process_image
g_img = generate_transformed_image(ovtrack_gen_pipe, prompt, init_img, mask_img, args.delta, crop_size, ori_size, guidance_scale)
File "/data/public/sdzh/OVT/ovtrack-main/diffusers_clean/ovtrack_diffusion_generation.py", line 331, in generate_transformed_image
g_img = ovtrack_gen_pipe(prompt=prompt,
File "/data/anaconda/envs/diffusers_clean/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 28, in decorate_context
return func(*args, **kwargs)
File "/data/public/sdzh/OVT/ovtrack-main/diffusers_clean/pipelines/stable_diffusion/pipeline_ovtrack_image_generation.py", line 396, in call
t_start = ((times == timesteps[0].cpu()).nonzero(as_tuple=True)[0])[0]
IndexError: index 0 is out of bounds for dimension 0 with size 0

In addition, I didn't find the file './data/lvis/train_imgs.hdf5' so I rm the command '--h5_img ./data/lvis/train_imgs.hdf5 ' in tools/run_ovtrack_generation.sh. Is this necessary?

In addition, I didn't find the file './data/lvis/train_imgs.hdf5' so I rm the command '--h5_img ./data/lvis/train_imgs.hdf5 ' in tools/run_ovtrack_generation.sh. Is this file necessary?

I recreate the envs and it runs : )


Use C# arrays as pluggable storage for managed types

When pluggable storages are added to flecs, pinned C# arrays should be used as storage for managed types.
Performance -  Special unboxing code is required per every iteration in the current design. Using plain C# arrays will remove this overhead and bring the performance of managed component iteration on par with native C# ECS frameworks/libraries.
Memory Allocations  - This will greatly reduce memory consumption due to only needing a single GCHandle and Box<T> object to be allocated per column instead of per component.
Debugging - With the current setup, it is not possible to inspect the contents of a column for both managed and unmanaged types inside a debugger due to the GCHandle indirection and unboxing step required for managed objects. Switching to C# array storage will replace the Column<T> type with the Span<T> type and allow the contents of components to be displayed in the debugger.
Pointer APIs - Pointer-based APIs in Flecs.NET are currently restricted to unmanaged types only. This restriction can be removed entirely as using pinned C# arrays will allow us to retrieve pointers to managed component references. This is a prerequisite to being able to properly implement serialization and deserialization for managed types.
// Pointer-based iteration
Query.Iter((Iter it, Position* p, Velocity* v) => { });

// Span-based iteration
Query.Iter((Iter it, Span<Position> p, Span<Velocity> v) => { });

// Get raw pointers to managed objects.
Position* p = e.GetPtr<Position>();

Allocating pinned arrays for managed types is only possible in .NET 8 and above. The minimum target version has been changed from .NET Standard 2.1 to .NET 8 in this PR https://github.com/BeanCheeseBurrito/Flecs.NET/pull/42. The Unity package will no longer be updated.


Draw raster images in Canvas

I've been trying to make an app that can make simple image annotations. As far as I can see Image doesn't impl Layer, meaning that I can't add it to a Canvas.  This seems like a good thing to me, especially since a "paint clone" is mentioned in the Roadmap? I'm wondering how easy this would be to implement, and whether this would be the correct way to go about it, or whether there is an easier way. If it's not too complicated, I'd be willing to try and make a PR for it. Thoughts?

I would like a Frame.draw_image(imageRect, canvasRect) function, much like the function in js's canvas

Hi, I wanted to see if there was any update on this, or if someone had found a workaround for it? This is a blocker for the project I'm currently working on, where I want to render an RGB image as the base layer in a canvas, then draw annotations, grids, etc. on top of it.

Hi, I'm also looking for this. Is there any update on this?

resolved by #2537. Use Frame::draw_image or Frame::draw_svg.


Add minfilter to textures in viewer

This resolves issues of artifacts along the seams of equirectangular textures.
Was working on a simple reconstruction viewer using reconstruction.html as a guideline and it took me a while working back from the mapillary-js source to figure out where the artifacts were coming from.
Relevant mapillary-js code:
https://github.com/mapillary/mapillary-js/blob/master/src/component/imageplane/ImagePlaneFactory.ts#L135

Awesome find!  I wondered why that seam was there.
thanks!


Implement feed caching

Issue Description

Add AsyncStorage caching to feed Services. If the feed TTL has not elapsed, return feed stored in AsyncStorage

Implement feed caching for:

Events feed
News feed
Dining feed
Nearby feed

Proof of concept already implemented for Weather and Surf, but needs to be tied into the corresponding Services better

Since we're using redux any thoughts on caching the entire store while using https://github.com/rt2zz/redux-persist#why-redux-persist ? @jpknoll @srkirkland
Haven't looked too much into other options, but this is what the F8 app uses.

@i8wu I don't know much about that plugin but I'd say why not, we could get rid of manual calls to AsyncStorage that way.  Since the card state is in redux, persisting would also save the card state which is what we want to do.  I'd also let us cache user info and possibly location.  So yea, 👍

@i8wu PR for redux persist: https://github.com/UCSD/now-mobile/pull/83

Feed caching has been implemented using redux-persist


📎 Add lint rules for potentially problematic MUI import paths

Description
Several MUI import paths that an IDE might suggest/autocomplete are potentially problematic.
This is a suggestion to prevent such imports via linting. (ESLint's no-restricted-imports could probably do the job.)

MUI mentions importing icons from @mui/icons-material could slow down app startup during development. We could force the dev to import from the path of the specific icon (e.g. @mui/icons-material/Info).
The styled function from @mui/system is missing certain properties, so we should make sure the import is from @mui/material/styles.
Imports three levels deep are considered private by MUI.

I agree!
This is unrelated, but regarding point 1, does it seem like we will eventually stop using top-level named imports and start using default imports for each individual MUI component? 👀


For the Attach and Create Issue post menu features, support attaching certain messages from a thread

Original thread: https://community.mattermost.com/core/pl/wp7c1ap86tg97qh9af6g4auino
Currently you can only attach a single post to a Jira ticket. It would be convenient to be able to pick from posts in the thread through a modal that scans the given thread. You would need to fetch all the posts in the thread to be sure they are available to be used in a select dropdown.
The link at the end of the description/comment can still link to the specific post the user clicked on the post menu dropdown.
Here is a suggestion for what we could show in the body:
@ali.farooq Link
Can I request a feature for the jira plugin:
Somehow let users attach multiple messages in one shot, rather than attaching one by one

@ali.farooq Link
Feature I'm referring to

@michael.kochell Link
@ali.farooq I really like this idea. Do you mind making a GitHub ticket in the Jira plugin repo where we can discuss the UX for it?

@gabrieljackson I think your concept in the Wrangler plugin of having an active state of choosing posts would be really useful here. The user could select multiple posts then confirm their choice to attach them as one comment to a Jira ticket.

Closing issues due to inactivity. This issue can be re-opened with more interest from our community.


how to evaluate on KITTI dataset

In your paper, there are two methods (Consistency, Uniformity) to evaluate the output point clouds from the net. But I haven't found those codes. Can you tell me where are the codes so I can evaluate the output point clouds?
Thank you in advance.

Sorry, I can't find the code to evaluate consistency and uniformity now.
The consistency can be implemented according to the description of our paper and PCN (Yuan et al., 3DV 2018).
The code for evaluating uniformity can be found in https://github.com/liruihui/PU-GAN.

Thank you very much!

The code for evaluating the uniformity is available here.

Thank you very much!!!


popover for bsdate

Hey, I'm trying to open bsdate on a popover but the buttons go off the popover. I have the same popover for text and it works just fine. Any clue if this is a bug or am I missing something here?
working:

not working:

html:

      {{object.Date | date:"dd/MM/yyyy"}}

Best,
fb

Based on the demo site, the issue is the following css coming from forms.less:
@media (min-width: 768px)
forms.less:514
.form-inline .input-group > .form-control {
    width: 100%;
}

If you change it to width:auto, that appears to fix the issue.
You should probably either create a new style class for this or pass in e-style="width:auto" to your editable-bsdate.

Thanks for the input @ckosloski this worked!

@fborges42 glad I could help.  If this solves your issue, please close it.


Using list.append() with parallel=True fails as it is not thread-safe

With the work on prange allowing multiple threads to append to a list, the lack of thread-safety in list.append whilst in NPM is a problem. Brief note here https://github.com/numba/numba/pull/2391

Documented here https://numba.readthedocs.io/en/latest/user/parallel.html#unsupported-operations

is there a way to append some data to a list that is threadsafe ?


A suggestion - more than an issue

I have been using meteor-helper for a free weeks now and overall it is just great - however I find it is slow in loading pages within the browser (up to three minutes before the local host page is completed) - so I bought a ssd to speed things up and to my surprise it did not make much noticeable difference. What is taking the time is for Meteor itself to run (using the Meteor command).
If possible I would suggest that in the atom console display, meteor helper could show when the Meteor program is loaded.

3 minutes for your page to load. Man, this is terrible. Even on massive app, I rarely wait more than 15s and I find it a pain (well more a warning for me to split my app).
For meteor-helper, I check what Meteor is writing on stdout and stderr. Depending on what is analyzed the icon on the right shows you the status. There's already a state that shows you when the build is finished (the green check icon). Hotcode push in your app should be fired within 2 to 3s.

Yes it is a right pain, some of the times I get the green icon but mostly I get the spinning icon but the console reports the app is running and the browser local app is OK.
I have tried the sample app  "meteor create simple-todos" and the response time is a lot faster so the delay could be caused by the angular meteor package - but even with the sample app I still get the spinning icon rather than the green icon.

Basically, I track the status of the app using a simple regexp (https://github.com/PEM--/meteor-helper/blob/master/lib/meteor-helper-view.coffee#L328). Thus, depending on what the app is printing on stdout, the displayed state could be wrong.
If you log to syslog-ng, logstash, loggly and so forth, the displayed messages of Meteor stays verbatim making the state watcher OK again.

@PEM-- Thanks


config: value tracing

To determine where a config value is coming from ( especially useful when looking at a service's config http page) we want to store a "trace" where that setting is coming from (eg ENV, config.dist.yml, ...).

Plan: add a property
type ValueSource string
const (
ZeroValueSource ValueSource = "zero value"
DefaultValueSource ValueSource = "default value"
AdditionalDefaultValueSource ValueSource = "additional default value"
)
...
source ValueSource

And set that on load to where that is coming from, eg config.dist.yml or env + env var
For defaults we want to:
UnmarshalWithDefaultsFromKey => source should be the source config key
UnmarshalWithDefaultForKey => source should be the code file location of the passed settings struct
source gets overwritten on merge according to provider priority.


read "kid" and "iss" fields from DAT to get public key for checking signature

Closed due to inactivity. If there is an actual requirement from a use case, we will look into it again.


Unable to summon particles on server

When attempted to spawn in particles in with the /particle command on a sever it refuses to load them in
It says

Its installed serverside too btw


Move from Joda time to ThreeTen(A)BP

Problem
#579
Solution
Do eet! I used ThreeTenABP (ThreeTenBP for unit tests)
Test(s) added
No, updated the current suite.
I did smoke testing of the app and everything seems fine, tests run ok as well, but I'd like to have 2 pair of eyes as this goes through the whole app.

@quiro91 @rock3r, I took a look at the various formatters, and they're used inside the views, so for now I'd avoid using dagger to provide them. Imho the best course of action is that we format before sending it to the view, but that would be out of scope for this PR.
Going to move the ones inside the companion object.

@fourlastor please move out of companion objects, not into them 💃 Happy to scope out further changes, would be ace if you could track that tho


[Backport 2.x] Integrate Engine with decoupled Translog interfaces

Description
The PR aims to Integrate Engine with decoupled Translog interfaces. Original CR link. Ensuring Engine is backward compatible.
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

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

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

looks like a flaky test.
./gradlew ':server:test' --tests "org.opensearch.index.shard.RemoveCorruptedShardDataCommandTests.testCorruptedTranslog" passed on local.

Codecov Report

Merging #3822 (833f3f7) into 2.x (ea55054) will decrease coverage by 0.15%.
The diff coverage is 69.07%.

@@             Coverage Diff              @@
##                2.x    #3822      +/-   ##
============================================
- Coverage     70.64%   70.49%   -0.16%
+ Complexity    56398    56361      -37
============================================
  Files          4520     4520
  Lines        271675   271755      +80
  Branches      39974    39975       +1
============================================
- Hits         191932   191562     -370
- Misses        63605    64071     +466
+ Partials      16138    16122      -16

Impacted Files
Coverage Δ

...adle/testclusters/StandaloneRestIntegTestTask.java
0.00% <0.00%> (ø)

...erver/src/main/java/org/opensearch/Assertions.java
75.00% <ø> (ø)

.../main/java/org/opensearch/OpenSearchException.java
93.42% <ø> (+1.43%)
:arrow_up:

...n/cluster/health/TransportClusterHealthAction.java
47.75% <0.00%> (ø)

...min/cluster/state/TransportClusterStateAction.java
53.94% <ø> (ø)

...rch/cluster/ClusterManagerNodeChangePredicate.java
90.90% <ø> (ø)

...earch/cluster/LocalNodeClusterManagerListener.java
71.42% <ø> (ø)

...opensearch/cluster/NotClusterManagerException.java
100.00% <ø> (ø)

...g/opensearch/cluster/coordination/NodeToolCli.java
0.00% <0.00%> (ø)

...dination/UnsafeBootstrapClusterManagerCommand.java
0.00% <ø> (ø)

... and 514 more

Continue to review full report at Codecov.

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

Test failing: DiskThresholdDeciderIT.testHighWatermarkNotExceeded. Looks like a flaky test.

Again this test is failing: DiskThresholdDeciderIT.testHighWatermarkNotExceeded.

@Bukhtawar care to take a look at this backport?


Confusing UI

Fields and values are not very well located on screen.

Hi there!
Is this the group form? I can't seem to reproduce this.

David,
Thanks for your reply.
Oddly, all is fine now.... Changing the zoomfactor also has no impact.
I'll close the ticket.

Hi David, I have found the offending screen: it occurs in the user manager

The user form is built into the Grav Admin Plugin, so it is unrelated to
this plugin.
On Fri, 22 Sep 2017, 10:22 awrog<EMAIL_ADDRESS>wrote:

Hi David, I have found the offending screen: it occurs in the user manager
[image: screenshot - 9_22_2017 10_19_50 am]
https://user-images.githubusercontent.com/12153667/30735557-c0db80b2-9f7f-11e7-801c-60f397d06ce6.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/david-szabo97/grav-plugin-admin-addon-user-manager/issues/22#issuecomment-331383725,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACJs6N3r8j2y7X60Ly1e1zlsuiSMeIiZks5sk241gaJpZM4PcZq8
.

I've found that this issue happens when on screen of certain widths, for example if in chrome you set to a profile of dimensions 1280x800 the options get staggered, as you mentioned I think it could be an issue with the underlying admin plugin though as I noticed in field.html.twig (around line 55) it's using a class size-2-3 which isn't defined anywhere, did you report this?

@adrianw I just opened a PR to fix it.
https://github.com/getgrav/grav-plugin-admin/pull/1379

Added temporary fix in v2.1.0


Issue 1958 - Extra geometry depending on angle makes fillets/chamfers impossible

https://www.freecadweb.org/tracker/view.php?id=1958

nvm