Feature request: port to web

Since rust nightly has support asmjs and wasm, maybe It's possible that we can use piston to write web game in the soon future.

Does anyone have a testing environment set up? What are the requirements?
If needed, we could write a window backend for the "web".

To compile piston to web, we should have emscripten installed. And the work to port to emscripten is simple since emscripten reimplement sdl1 and support sdl2 natively. In fact, I'm already on the way, but I need some time to make clear how to deal with the main loop of sdl.

I made a demo to show how to make rust and sdl2 work on web, hope it can help.

I'm getting this error:
$ cargo build --target asmjs-unknown-emscripten
   Compiling web_demo v0.1.0 (file:///Users/sven/rust/web_demo)
error: linking with `emcc` failed: exit code: 1
  |
  = note: "emcc" "-L" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/web_demo-ab888d76389d5a0c.0.o" "-o" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/web_demo-ab888d76389d5a0c.js" "-Wl,--gc-sections" "-nodefaultlibs" "-L" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps" "-L" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib" "-Wl,-Bstatic" "-Wl,-Bdynamic" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/libsdl2-6d4b96e8b9dbc83c.rlib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/libsdl2_sys-524b015e9982a43f.rlib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/liblazy_static-5e13a0eed191ed30.rlib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/librand-35167bebb3b301e7.rlib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/libnum-351b1cddc85503c1.rlib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/libnum_iter-618824a5957aaa8f.rlib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/libnum_integer-9eb11829964f3c6e.rlib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/libnum_traits-b3505e86c388a8aa.rlib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/libbitflags-8f04bbe98b78ab83.rlib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/libemscripten-4877834e79cf9ec4.rlib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/libemscripten_sys-c4cd19d68d42016c.rlib" "/Users/sven/rust/web_demo/target/asmjs-unknown-emscripten/debug/deps/liblibc-38a11e2c014183dd.rlib" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib/libstd-17342542cc541012.rlib" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib/librand-46ed9b788a6928f6.rlib" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib/libcollections-e32369d7fef31fbf.rlib" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib/librustc_unicode-844a33a197b559a5.rlib" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib/libpanic_unwind-f78756b576499725.rlib" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib/libunwind-11f7709e0c71505b.rlib" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib/liballoc-24699c1ddb055eb0.rlib" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib/liballoc_system-3e467e865c8fa572.rlib" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib/liblibc-60365c932e50e382.rlib" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib/libcore-d9873b515905cac5.rlib" "/Users/sven/.multirust/toolchains/nightly-x86_64-apple-darwin/lib/rustlib/asmjs-unknown-emscripten/lib/libcompiler_builtins-e428224f6caf212a.rlib" "-l" "SDL2" "-l" "c" "-s" "USE_SDL=2" "-s" "ERROR_ON_UNDEFINED_SYMBOLS=1"
  = note: WARNING:root:LLVM version appears incorrect (seeing "7.3", expected "3.9")
CRITICAL:root:fastcomp in use, but LLVM has not been built with the JavaScript backend as a target, llc reports:
===========================================================================
(no targets could be identified: [Errno 2] No such file or directory)
===========================================================================
CRITICAL:root:you can fall back to the older (pre-fastcomp) compiler core, although that is not recommended, see http://kripken.github.io/emscripten-site/docs/building_from_source/LLVM-Backend.html
INFO:root:(Emscripten: Running sanity checks)
CRITICAL:root:Cannot find /usr/bin/llvm-link, check the paths in ~/.emscripten

Did you do something special to get LLVM 3.9?

Do you have llvm-link in your PATH? my llvm-link is at ${emsdk_portable}/clang/fastcomp/build_incoming_64//tools/llvm-link, and I have these lines to setup my PATH:
PATH+=:/Users/guijie/Tools/emsdk_portable
PATH+=:/Users/guijie/Tools/emsdk_portable/clang/fastcomp/build_incoming_64/bin
PATH+=:/Users/guijie/Tools/emsdk_portable/node/4.1.1_64bit/bin
PATH+=:/Users/guijie/Tools/emsdk_portable/emscripten/incoming

I guess it used your native llvm(by mistake) instead of the one in ${emsdk_portable} directory.

It works (OSX)! I copied "emsdk_portable" to "/Applications" and made the following changes:
~/.bash_profile:
PATH="/Applications/emsdk_portable/emscripten/incoming":"$PATH"

~/.emscripten:
# this helps projects using emscripten find it
EMSCRIPTEN_ROOT = os.path.expanduser(os.getenv('EMSCRIPTEN') or '/Applications/emsdk_portable/emscripten/incoming') # directory
LLVM_ROOT = os.path.expanduser(os.getenv('LLVM') or '/Applications/emsdk_portable/clang/fastcomp/build_incoming_64/bin') # directory
BINARYEN_ROOT = os.path.expanduser(os.getenv('BINARYEN') or '/Applications/emsdk_portable/node/4.1.1_64bit/bin') # directory

FIY: I've created  a piston project that can be compiled into both native and web.
https://github.com/gifnksm/game-of-life-rs
This project uses piston2d-opengl_graphics with small patch and piston-shaders_graphics2d with WebGL shader support.
I initially tried using piston_window with SDL2 backend, but it didn't run because piston_window always sets WindowSettings::srgb is true (SDL2 seems not to work with SRGB).

FIY: I've created  a piston project that can be compiled into both native and web.
https://github.com/gifnksm/game-of-life-rs
This project uses piston2d-opengl_graphics with small patch and piston-shaders_graphics2d with WebGL shader support.
I initially tried using piston_window with SDL2 backend, but it didn't run because piston_window always sets WindowSettings::srgb is true (SDL2 seems not to work with SRGB).

@gifnksm You should post this to https://www.reddit.com/r/rust_gamedev/!

@gifnksm You should post this to https://www.reddit.com/r/rust_gamedev/!

reddit post is here https://www.reddit.com/r/rust_gamedev/comments/5lplno/piston_project_that_can_be_compiled_into_both/

I'd like to do some research/testing to see if it is possible to implement window and input using web_sys targeting wasm32-unknown-unknown. I've been struggling for over a year now trying to get things compiling/running with Emscripten/SDL2; I've had some successes and the cross-platform compatibility of SDL is nice, but it's way too much effort for me to maintain. A lot of the problems have been caused by compatibility issues with the Emscripten SDK, and I would love to be able to move away from it. It was great for initial support and testing of WebAssembly, but in my personal experience it is very difficult to set up the build environment correctly.
It appears that piston (core crates) and piston2d-opengl_graphics both compile successfully on the wasm32-unknown-unknown target, so that is a good start. I'll do some more research and see how far I can get.

It's been less than a day, and I've already travelled deeper into the rabbit hole than I ever could have anticipated. There is so much more to it than writing a window library for stdweb; we will also need to do some work to support WebGL directly.
The issue that I ran into immediately is that gl doesn't actually support WebGL, at least not directly. WebGL isn't compatible with the way that OpenGL functions are typically loaded - using raw function pointers returned by the loader's getProcAddress function - as it is a JS API. To get around this, Emscripten defines their own C bindings that delegate to the WebGL API, so they can then return pointers to those functions in their own getProcAddress function. This is the compatibility layer that makes the gl crate work, which is built around this loader pattern.
These are the options I see moving forward:

"Cherry-pick" the compatibility layer and omit the rest of the Emscripten SDK, allowing us to use the emscripten_GetProcAddress binding provided via emscripten-sys. This might work and would be the easiest solution in the short term, but I don't know if I like it.

Write our own layer that essentially does the same thing as above. I'm not very familiar with bindgen-like tools, but it seems possible to write our own generator for webgl_generator to create extern "C" fns and a get_proc_address function.

Write a graphics implementation based on WebGL bindings instead of OpenGL. This will likely take the most effort and will require a bit more work from the end user in the case that cross-compatibility is desired, but it could potentially be the cleanest solution with the fewest layers between piston2d and the calls to GL.

While I was writing this, I also found out that gfx-backend-gl (the HAL-based implementation) recently added support for WebGL using glow, which is a relatively new crate that provides a unified API for GL, GLES and WebGL. I'm not totally familiar with Piston's support for gfx, but I'm pretty sure it is for pre-LL so unfortunately it's not compatible. Maybe in the long term, it would make sense to port opengl_graphics to glow?

I don't know what the status of this is now, but I saw mention of gl not having WebGL bindings and glow ( GL on Whatever ) could be really useful for that ( if I understand the problem correctly ).

Another note about Window implementations. If piston is going to support web "natively", we need to overhaul the event loop API just like winit has done in 0.20. See rust-windowing/winit#459 for the detail of their work.
In short, we can't implement Window::poll_event or wait_event for web browsers, because we can't dequeue an event from a browser's event loop. It is meant to be run by the browser itself, not by our user code.
And in fact, the example above (https://github.com/gifnksm/game-of-life-rs) defines two different event_loop::run functions for native and web, wihch can be switched by cfg. The native one simply goes with a familiar dequeuing code while let Some(e) = events.next(&mut window) { ... }, but the web one doesn't use any parts of the piston's event loop system. Instead it tells a browser to run a event handler with help of empscripten_sys::emscripten_set_main_loop_arg. It would be really awkward to write these codes manually, so I hope it can be handled inside the piston library.

I opened https://github.com/PistonDevelopers/piston/issues/1398 for web event loop.

Closing.


Stub(s) missing documentation entities

Collection issue for stub adjustments to fix phpcs issues out of the box.
Model
Missing member variable doc comment for $table, $dates, $fillable
Missing short description in doc comment for linked tables (e.g. addresses for address type)

Partial fix has been completed in: ab97f0b60c2c1cbd929e583688864ace24bf647f
Not possible to complete the others.
That being said it is possible if you know which other parts you are generally using you could manually add to the stub file that's published and then it will be used there after.


Modified FeatureManager to accept optional parameters for FeatureFilters and SessionManagers.

I'm working on a project which doesn't use IServiceCollection or C# 9, but would benefit from using this library.  In order to do so, I need to be able to set the FeatureFilters property without using init.  This PR addsEnumerable<IFeatureFilterMetadata> and IEnumerable<ISessionManager> as optional parameters to the FeatureManager constructor and uses their existing Enumerable.Empty as a fallback.

@microsoft-github-policy-service agree

@wenkepaul can you open up an issue so the problem can be discussed?

@jimmyca15 issue 435 has been opened.

/AzurePipeline run

I need to be able to set the FeatureFilters property without using init.

Do you mean the IsExternalInit pattern will not resolve the init accessor issue for .NET Framework?
https://github.com/microsoft/FeatureManagement-Dotnet/blob/main/src/Microsoft.FeatureManagement/IsExternalInit.cs

@zhiyuanliang-ms For me in a 4.7.2 project that doesn't use the SDK style project, the IsExternalInit does not solve the build error.

@zhiyuanliang-ms was this superseded by https://github.com/microsoft/FeatureManagement-Dotnet/pull/450 ?

@zhiyuanliang-ms was this superseded by #450 ?

@jimmyca15 I think, yes.
@wenkepaul I will close this PR. If you think the current solution still cannot meet your need, feel free to open an issue to track it.


Stable release of Microsoft.Azure.Services.AppAuthentication

What's the timeline for releasing a stable version of this package?
Currently, anything referencing it is technically pre-release as well.
Thank you.

Ping

Thank you @varunsh-msft
Not sure what do you mean by "key scenario for this library". Hope it's not to stay in preview indefinitely.
I'll close the case and follow up on #4121 which is more pressing.
Thank you.


moveWhenInside property changed to true by default

As warned by inline JSDOCs that the behaviour would change in a future version... v4 seems a good moment to make this change.

Probably not going to do this for v4, and I feel like I need to rewrite interactions in v5 anyway. Thanks for this though!


@defer directive support

What version of @defer are you planning to support? Are you doing Apollo's faux defer (gateway defer of entity types) or real streaming defer? Personally, I think Apollo's is more of a liability than a benefit.

I am thinking the real streaming defer. Also depends on what GraphQL Composite Schemas Working Group decides.

To offer another $0.02 here… I don’t like the Apollo faux-defer because it allows devs to write queries they think are faster yet actually do nothing (when deferring non-root, non-entity scopes), thus they’re allowed to make bad optimization choices. While I admit the no-backend defer is slick when it works, I think it really needs a custom validation rule to go with it restricting it only root/entity scopes, which makes defer strange to use. Therefore, I tend to agree that defer should just embrace a proper backend-based defer proxy.


BaseService now restarts child services that finish early

If a child service finishes while its parent is still running, it will
be restarted, but only if it hasn't already been restarted in the last 60
seconds.
The new test is going to fail because this depends on https://github.com/ethereum/asyncio-cancel-token/pull/7
Closes: #679

Yeah, I understand your concern. I think maybe we could restart any given child at most once (with a big fat warning), and then cancel() the parent if it dies again. That way we are a bit more resilient without sweeping real bugs under the rug. I don't have strong feelings about that, though, so happy to change this to simply cancel the parent if any child dies unexpectedly

I am going to advocate for full on crashing if any child service crashes.  At this point the stability of the client isn't critical and I'd rather us find these sources of crashes quickly because they take down the whole node than to quietly miss them because they are incredibly intermittent and thus rarely encountered.

Hrm, so we need

run_child_service  (allowed to exit)
monitor_child_service (cascades to local failure if child fails)

Which sounds just like the conversation we had here (except that was about async methods instead of services): https://github.com/ethereum/py-evm/issues/1118
Maybe run_daemon() is the right name for starting a service that should be restarted if it dies or ends.

Added a run_daemon() method and the parent now restarts if any child service executed with that dies


Build Never Completing

Steps to Reproduce
I tried running flutter build ios and it ran for over 3 hours before I had to cancel it. I just installed flutter on Mac OS 10.11.5 and tried building the template.
Flutter Doctor
[✓] Flutter (on Mac OS, channel alpha)
    • Flutter at /Users/scott/flutter
    • Framework revision 9a0a0d9903 (3 weeks ago), engine revision f8d80c4617

[✓] Android toolchain - develop for Android devices (Android SDK 24.0.2)
    • Android SDK at /Users/scott/Library/Android/sdk
    • Platform android-24, build-tools 24.0.2
    • Java(TM) SE Runtime Environment (build 1.8.0_05-b13)

[✓] iOS toolchain - develop for iOS devices (Xcode 7.3.1)
    • XCode at /Applications/Xcode.app/Contents/Developer
    • Xcode 7.3.1, Build version 7D1014

[✓] Atom - a lightweight development environment for Flutter
    • flutter plugin version 0.2.4
    • dartlang plugin version 0.6.38

That sounds like a hang of some form.  I would recommend trying flutter build ios -v and pasting the output into a gist.github.com linked from this bug.
Most of the work for flutter build ios is actually done by XCode, so perhaps some call we made into xcode has hung?

flutter build ios should take 30s to a minute depending on your hardware.

This is the result of flutter build ios -v:
 213 ms • /usr/bin/defaults read /Users/scott/Dropbox/DartProjects/myapp/ios/Runner/Info CFBundleIdentifier
   0 ms • Exit code 0 from: /usr/bin/defaults read /Users/scott/Dropbox/DartProjects/myapp/ios/Runner/Info CFBundleIdentifier
   1 ms • com.yourcompany.myapp
   0 ms • Using engine artifacts dir: /Users/scott/flutter/bin/cache/artifacts/engine/ios-release
   1 ms • Building com.yourcompany.myapp for device (ios-release)...
   3 ms • Using engine artifacts dir: /Users/scott/flutter/bin/cache/artifacts/engine/ios-release
 141 ms • xcodebuild -version
   0 ms • Exit code 0 from: xcodebuild -version
   1 ms • Xcode 7.3.1
          Build version 7D1014
   3 ms • Trying to resolve native pub services.
  26 ms • Looking for YAML at 'flutter.yaml'
   0 ms • No services specified in the manifest
   0 ms • Found 0 service definition(s).
   0 ms • Copying service frameworks to '/Users/scott/Dropbox/DartProjects/myapp/ios/Frameworks'.
   6 ms • Creating service definitions manifest at 'ios/ServiceDefinitions.json'

Yeah, definitely looks like it's hung on the xcodebuild step.  For example, here is output from my machine (xcodebuild takes 43s for me):
https://gist.github.com/eseidelGoogle/6aadd53fd4da7a2ddd172eb162538b86
You can try opening ios/Runner.xcodeproj and building directly from in xcode and see if that helps?
FYI @danrubel @chinmaygarde

I don't think there is anything to do here w/o more information.  Please feel encouraged to file a new bug if you're still seeing things like this!


support multi field query in lambda expression

var query = db.TestModel
                    .Where(c => (c.Name+c.Text).Contains(text))
                    .ToList();

will generate the sql
SELECT
    [Extent1].[Id] AS [Id],
    [Extent1].[Text] AS [Text],
    [Extent1].[Name] AS [Name]
    FROM [dbo].[TestModels] AS [Extent1]
    WHERE CONTAINS(([Extent1].[Name] , [Extent1].[Text] ),@p__linq__0)

this doesn't work here for me, please see my committed issue


!Sh 'git clone --recurse-submodules creates directory outside container

!Sh 'git clone --recurse-submodules git://github.com/flathub/org.gimp.GIMP'
seems to create a directory org.gimp.GIMP at the top i.e. in parent directory of vagga.yaml, i.e. not in the container. That seems bad.
I suppose I can use !Git and do the recursion myself.
(Is it best to ask here, or on Gitter?)
Using vagga v0.8.1.   The first part of vagga.yaml is this:
`baseOS:
setup:
# base OS is ubuntu 18.10
# - !Ubuntu xenial
- !Ubuntu cosmic
# - !Ubuntu disco
# tools for dev (C compiler)
- !Install [build-essential]

# need git in container for later recurse git submodules
- !Install [git]

# To use https, need certificates
# Symptom is: "Unacceptable TLS certificate"
- !Install [ca-certificates]

- !Sh 'rm /etc/resolv.conf'`

seems to create a directory org.gimp.GIMP at the top i.e. in parent directory of vagga.yaml, i.e. not in the container. That seems bad.

That's a principle of minimum surprise. I.e. any command runs in the parent directory of vagga.yaml. Unfortunately, this includes commands doing filesystem mutations like git clone. You can either cd into a dir !Sh 'cd /some-dir; git clone... or use !Git command (i'm not sure about submodules in the latter)

oops, I thought sh would run inside the container, and assumed pwd would be say ~.


codeception support

see https://github.com/yiisoft/yii2-app-basic/blob/master/tests/README.md

This change is

Reviewed 7 of 7 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Thanks.


2 player Game

I'm here to help open issue if I would like me to do anything.

Thanks man. You one of the best.

Also, I am considering making an asset for Unity. If I do start work on that I will link the repo here.


[Tables] Fix broken link in setup.py

Description
Fixed broken homepage links on pypi's azure-data-tables page.
before: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/table/azure-table
after: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/tables/azure-data-tables
https://pypi.org/project/azure-data-tables/

All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


Thaumcraft adds  Silver, and Lead Nuggets, but not Ingots. Causes various issues

Please use the search functionality before reporting an issue. Also take a look at the closed issues!
Issue description:
Mekanism adds the Ore multiplication for Lead and Silver, but no way to get them / they don't produce 			Ingots. Minor issue. But I thought I'd let you know.
Steps to reproduce:

Install Mekanism and Thaumcraft
See that there is the Ore multiplication for Lead and Silver, even though there is no way to get them, and they produce nothing
Profit?

Version (make sure you are on the latest version before reporting):
Forge: <IP_ADDRESS>18
Mekanism: Mekanism-1.12.2-<IP_ADDRESS>9
Other relevant version: Thaumcraft-1.12.2-6.1.BETA24
If a (crash)log is relevant for this issue, link it here: (It's almost always relevant)
[gist/pastebin/etc link here]

"Causes various issues" such as?

Just that it adds the Ore Multiplication system for Lead and Silver, even though you can't get them, and they produce nothing. Small bug, nothing game breaking

like, it shows a recipe and takes your input and does nothing? (screenshots of the JEI view would help)

There is no way to get any of the Ore Multiplication steps for Lead and Silver with just Thaumcraft and Mekansim, but they appear in JEI. Also hope these pictures help https://imgur.com/a/yJe44Bn

So what you are saying is that Thaumcraft does add Lead and Silver Clusters, but no way to craft them (and obviously no way to craft them into ingots, because it would depend on other mods' Lead and Silver Ingots for that)?
Wouldn't that just mean they show up in JEI? What exactly is the problem with that?

Just a minor issue, nothing really game breaking. Probably an extreme edge case, but I thought I'd report it.

If anything could be done about this, it would probably have to be done in Thaumcraft by @Azanor as it is not Mekanism that does this.
The only thing that Mekanism could do is actually adding Lead and Silver ores and ingots.

I've reported this to Azanor, he said he can't do anything, or it'll break everyone's saves

Going off on one of the comments on the report I did on Thaumcrafts end, mods in general need to check if there are nugget registered , but not ingots.


Add Keybindings for some Markdown Toolbar Actions

This PR fixes #16977.
Adds Keybindings for Bold, Italicize, Underline, and Code Block for WYSIWYG editing. Will look into adding split/md support in separate PR.
https://user-images.githubusercontent.com/23587151/135345271-76768d64-8dcd-4f5c-ae76-7c544faea6a5.mp4

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 9 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 41.621%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/sql/workbench/contrib/notebook/browser/cellViews/textCell.component.ts
0
9
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.01%

Covered Lines:
26596

Relevant Lines:
57889

💛  - Coveralls

Are there tests planned for this? I was trying to find tests for editing actions and could not find them.

@rajeshka are you saying specifically the extension contributions or the keybindings. We do have the editing actions specifically being tested via the markdownTextTransformer.test.ts which tests each button.


Filter pushdown to layouts

Draw the rest of the f***ing owl

Should make benchmarks assert row counts...

Right now I got rid of batch sizes and they're effectively discovered from how the data has been written. We can add batching if we want but the current reader tries to do minimum splitting to pass you the data as it was written.

@danking I filed https://github.com/spiraldb/vortex/issues/1138, it should be easy to implement. I will leave some comments in the code

Latest result benchmark results from my machine


Feature/private tool support

Support for private tools (private quay and docker hub entries)

[x] Check that you pass the basic style checks and unit tests by running mvn clean install

Coverage increased (+0.1%) to 72.654% when pulling 8cc960ee94d636846733a19cbe6bf00682944845 on feature/private_tool_support into 6fc8f4387a874ddf8fa3f6f374cd5e5a9296f582 on develop.

Coverage increased (+0.1%) to 72.654% when pulling 8f84257474db548a9082690a92b46988c6e38b1a on feature/private_tool_support into 6fc8f4387a874ddf8fa3f6f374cd5e5a9296f582 on develop.


How do i push content of selected element into multiple lines.

I tried the solutions written here and they won't work.
Basically, if text of an element is too long, it should wrap itself into multiple lines for better user experience. I commented out text-overflow and changed whitespace to normal. L
.select2-container .select2-selection--single .select2-selection__rendered {
display: block;
padding-left: 8px;
padding-right: 20px;
overflow: hidden;
/text-overflow: ellipsis;/
white-space: normal
}
Using  Select2 4.0.3

There is already an open issue about this.  Furthermore, as a usage question, this should be asked on the forums, not in the issue tracker.


Add new test service api to return label values for filter: Fixes #1767

Fixes Issue
Fixes #1767

@lampajr please can you take another look?

@lampajr and again... ;)


Global deployment model

Current test deployments within a single cluster/region work very well. Time to give global deployment options some thought.
Generally speaking, a full setup in every region is probably desirable for reliability and data locality for almost all setups. It also provides trivial means of sharding, which isolates failures and increases scalability.
Currently there seem to be two options:
A) Expand the gossip network globally. All store node, Prometheus servers, and queriers are interconnected.
Pros:

Seamlessly applies our existing model to global scale.
Virtually not additional code/logic
Conceptually works equally well with a single object storage bucket as well as a bucket per region or other splits.

Cons:

Probably need some gossip fine-tuning to support WAN latencies. That would decrease responsiveness to changes in LAN. Probably no big issue overall.
Probably operational complexity for most users (routing and securing gossip traffic)
Do we need/want the same strong reliability properties at global scale?

B) Keep Thanos cluster regional or even more fine-grained. Additional global federation layer across smaller Thanos clusters.
Query nodes would be made aware of each other through regular service discovery mechanism and act as federation proxies for the Store API.
Pros:

Cross-cluster communication is a lot simpler. Probably most organisations have appropriate infrastructure in place.
Query nodes becoming Store API providers for their cluster seems generally elegant.
Extensible for distributed query evaluation.
Since it's basically an extension, we don't block anyone from doing A). Modulo some potential configurables we are lacking.

Cons:

Federated queries are no longer independent from the external service discovery system
Additional logical layer adds code and mental overhead
Conceptually only makes real sense with full Thanos clusters with dedicated buckets in each region.

I felt like it would be good to specify the federation approach in a bit more detail to make a decision here: https://docs.google.com/document/d/1-hXTQ3dSFA1yNiUrWCMFqkW84k6PicZK-9tMhTssKN0/edit

As discussed there is also:
B2) Thanos clusters are still regional or even more fine-grained. On top of local querier there is additional global query layer across smaller all  Thanos clusters.
Local query nodes not aware of other clusters or global node. It only exposes additional the Store API. This model is closer to hierarchical Prometheus federation
Pros:

Same as B1 + even more cross-cluster communication reduction
No need for client LB ("which query should Global Grafana to call?" in option B2)

Cons:

Same as B1, but also:
Additional component (global query) adds complexity.
We need HA for global query to avoid SPOF again -> even more complexity and maintenance.

Thanks @mattbostock. We have considered using Prometheus's SD package. But you are pretty much spot-on with the con's you listed.
Prometheus's SD is only really useful if there's meaningful metadata you need to extract from your service discovery information (e.g. building target labels in Prometheus).
In thanos we do have labels for Prometheus instances – but those are directly extracted from their external_labels config section.
For basic discovery DNS is be mostly fine and  in practice provided on top of any more sophisticated discovery mechanism anyway. DNS is basically allowed now through static flag-based configuration of additional data sources in the querier.
Right now Thanos is dead simple to configure, which is largely thanks to a lack of config files. Adding those with relabeling rules would change that immediately.

@fabxc: I agree, I think using the Prometheus service discovery library would add unnecessary complexity.
Echoing @peterbourgon's comment above, I think we should avoid an additional 'federation' layer in the interest of keeping things simple.
Store instances can be configured statically, which I think resolves most of this issue? The deployment model I'm thinking of is:

sidecar instances implementing the store API are deployed to datacentres where the data is being generated (where Prometheus is)
query instances (and S3/GCS store instances) are deployed closest to where users consume the data (e.g. where Grafana runs)

In this scenario, the store instances can be configured 'statically' (e.g. using confd) as part of the command-line options for the query nodes. Additionally, we should support cross-WAN cluster communication. I suggest opening a separate issue to track that.

However, at this point we are looking on federation because we are not really sure if below two assumptions you mentioned are always true (for all potential users of the Thanos)

We can always add this later when/if the use case arises.

@fabxc The only reason I'd be pro re-using the prometheus SD library is so that we get things like DNS-SD discovery (i.e. SRV records) for free -- it's my understanding that the existing binary can only do A record queries ATM for DNS-based SD?

Yea, broadly speaking, setup we ended up is similar to what you said @mattbostock
Each environment:

have scrapers in each cluster (Prometheus + thanos sidecar) in 2-replicas HA
have queries, compactor, store node, one scraper, ruler in "monitoring" cluster. The same where alertmanager & dashboards are.

Monitoring cluster have thanos components connected via gossip. Queriers on this cluster have statically configured scrapers from remote clusters that are connected through the proxy (kEdge), since there is no other connection (vpn) between them. That's why I said there are some cases where gossip is not possible to use. This configuration is fine for now, because we don't really need "automated cluster discovery", so no SD needed.

Additionally, we should support cross-WAN cluster communication. I suggest opening a separate issue to track that.

What do you mean by that? What exactly would you like to have for that? I have cross-WAN by using some external proxy service, so no Thanos change was required.
However, we do want some federated global layer of queries to be on top of all environments and allow global view across envs. This can be done using static --stores query flag + my proxy in my case, and seems to be good enough for now.

Yea, I think adding DNS-SRV would actually be still reasonable if there's a strong use case for it. It would just be a few lines rather than pulling in the massive Prometheus SD framework and all its deps.
This is only helpful for initial discovery of peers though, much like in Prometheus Alertmanager. Arguably we are already providing a better experience for that than AM did in the past. Generally, one can always startup with a small script that pulls initial peer info before starting the Thanos component

@Bplotka: By cross-WAN cluster communication, I mean the ability for cluster peers to communicate and discover each other across a WAN, using appropriate timeouts such as (...)

Ah. Yea, I don't see any problem with changing Thanos to allow setting WAN defaults for gossip if you wish to setup WAN gossip, good point.

By 'we' do you mean the Thanos project, or Improbable?

Sorry for confusion (: I meant only Improbable use case here.


Two create_chart errors that disappear when passing additional folder_id argument

🐛 Bug Report
Hello, I am getting two errors when calling create_chart. This very possibly could be my doing something wrong, though I am following the blog post example.
Here is what I am calling:
new_chart = dw.create_chart(title = "California's Recently Arrived Immigrants", chart_type = 'd3-bars-stacked', data = dw_data)
And these are the errors:
Error 1: Chart could not be created, check your authorization credentials (access token)
Error 2: UnboundLocalError: local variable 'chart_info' referenced before assignment. I see this error was also referenced in https://github.com/chekos/Datawrapper/issues/10.
However, when I pass the folder_id argument for create_chart, these errors do not appear:
new_chart = dw.create_chart(title = "California's Recently Arrived Immigrants", chart_type = 'd3-bars-stacked', data = dw_data, folder_id='64489')
Response is: "New chart d3-bars-stacked created!"
When passing the folder_id argument, the chart does appear in my account, though it does not get created in the specified folder -- it lives in the Datawrapper dashboard under "My Charts."
I was able to create a chart with the Datawrapper API separately from this package though am also seeing some unexpected behavior with folders (can't always move charts to a folder by ID).

🔬 How To Reproduce
Steps to reproduce the behavior:

Call create_chart with title, chart_type, and data arguments as done in this notebook.
Call the same function and add a folder_id argument.

Code sample
See above.
Environment

OS: Windows 10
Python version: 3.8.8

Screenshots
Two error messages:

No error messages:

Chart is created, but in "My Charts," not in the folder specified in the folder_id argument:

📈 Expected behavior
Would expect a new chart to be created in my Datawrapper account and appear in the specified folder ID.
📎 Additional context
Thanks for reading/looking!

Hello
I am also seeing the same error reported after attempting the tutorial (and my own chart creation tests). I can also confirm that the workaround Nate suggested works.

Same problem here:
new_chart = dw.create_chart(title = "California's Recently Arrived Immigrants", chart_type = 'd3-bars-stacked', data = daten, folder_id='52570')
gets me the following error message:
datawrapper/datawrapper.py", line 109, in create_chart
    self.add_data(chart_id=chart_info["id"], data=data)
UnboundLocalError: local variable 'chart_info' referenced before assignment

Hey @clemens-boisseree , the workaround should still work (it does for me). You might want to double-check that the folder id is correct. But if this is definitely still an issue email me in support and we'll see if we can figure it out :)
Also @chekos a pull request for the underlying bug.

Elana (from Datawrapper support)

Hi Elena,
thanks, you were absolutely right, shame on me, I used an wrong token...

HI @elanals thank you for the Pull Requests!
And apologies all! I somehow managed to miss all the github notifications regarding this.
I'll review the PR asap.


HTTP Feature Testing not working

Description of the bug
I'm working with appstarter project and when I try to run phpunit, i found serveral errors:

'tests' folder is not included in the composer download, I could create it but, beyond functioning as a container of tests files, it has the '_support' folder which contain _bootstrap.php that help unit tests be executed correctly.
In order to fix the previous error, I downloaded manually 'tests' folder from develop branch. After that, I try to execute a test using HTTP Feature Testing but it throwing the above error:

Tests\TestHome::testIndex
CodeIgniter\Exceptions\PageNotFoundException: Controller or its method is not found: App\Controllers\\Http:::ci4.extctrl.docker:8080

/var/www/html/ci4-extendedcontroller/vendor/codeigniter4/framework/system/Exceptions/PageNotFoundException.php:14
/var/www/html/ci4-extendedcontroller/vendor/codeigniter4/framework/system/CodeIgniter.php:889
/var/www/html/ci4-extendedcontroller/vendor/codeigniter4/framework/system/CodeIgniter.php:249
/var/www/html/ci4-extendedcontroller/vendor/codeigniter4/framework/system/Test/FeatureTestCase.php:122
/var/www/html/ci4-extendedcontroller/tests/TestHome.php:21
CodeIgniter 4 version
CodeIgniter 4.0.0-alpha.5 (appstarter, framework and devstarter projects)
Affected module(s)
HTTP Feature Testing
Expected behavior, and steps to reproduce if appropriate
I've described further the behavior in this forum post
Context

OS: Debian (running in Docker over Windows 10)
Web server: Apache 2.4.5 (Debian)
PHP version: 7.3.1

The tests folder in the develop branch is for unit testing the framework itself, NOT your app. It is pusposefully not included in the appstarter distribution!
If you want to crete unit tests for your app, you need to create your own tests folder, and your tests would go inside tests/app
"App\Controllers\Http:::ci4.extctrl.docker:8080" indicates that your test code might be suspect, rather than any bug in the framework. We can address this further on the forum.

@jim-parry Okay, so, what about 'test documentation'? Is intended to test my app or is for test the framework? Following that instructions it not seems to work app unit testing. Is there any full example of a working app uni test?

That test documentation is for testing your app, not the framework. See my response to yor forum thread.

@jim-parry Looking at this, we do need to include the tests/_support folder as part of it. All of the things that make testing work, even for the application, require some of the stuff in that folder.
While I think there's stuff that's not necessary and is just for framework development, it doesn't hurt to include it. Would be cleaner to separate it out but probably a giant pain to do so.
At the very least, though, the following files are required for testing an application (I might have missed some):

_bootstrap.php
CIDatabaseTestCase.php
CIUnitTestCase.php
Log/TestLogger.php
DOM/DomParser.php - though that should probably be moved into system/Tests honestly.
Events/MockEvents.php (I think0
Helpers/* - these should probably also be in system/Tests

Quite a few of the other Mock* classes might prove useful to people when testing their apps, but less critical.

Alright ... I will play with this :)

I have jiggered some of the support test files, and the distribution build scripts. This should work better "out of the box" with the next release. I think it wise to wait for that for thorough testing, as there are other changes that will be part of it.

@jim-parry, any success as it might delay the release of beta 2.

This is the set of tests I am working on at the moment :)

The changes discussed here have been done. The Controller/Feature testing is a separate issue, and still in progress.


updated cumulus (0.6.2)

Thank you for the contribution. It was merged directly as cee6569b9b79fe458b19a492ea9ab6d92cd9cea3 to keep commit history cleaner. Your contribution is still credited to you.

:+1:


Delete vim swapfile

Chapter-16/.Quickcheck.hs.swp
Probably confusing to people who don't know vim

Thanks, you are right. This file should not be in the repository.

I've removed the file.


Examine potential retain cycle from unstructured Task blocks

https://github.com/Esri/arcgis-maps-sdk-swift-samples/blob/b068fdae82d66b88107a508093130d0a85e92200/Shared/Samples/Sketch on map/SketchOnMapView.swift#L216-L230
According to this discussion, there might be a retain cycle in these 2 Task blocks. Check in debugger and fix if needed.

@philium The code in question is in a method on the model, but it's currently being run as the result of a button tap. I will move it into a .task and give it a whirl.  Thanks.

The model method called when the user selects an external device (or mocked data) kicks off four tasks, one which will finish and three that will not finish (they're watching @Streamed properties). (I think) because of that, using the .task modifier didn't make a difference, I still needed to create Task.detached tasks and hold them in an array for cancellation. In other cases where there's only one task, using the .task modifier probably would work better.

A view can have more than one task modifier.

For a group of for-await-in infinite loops, I settled with sth like below
MapView(map: model.map)
    .task {
        do { try await startGeotriggerMonitors(monitors) } catch { // error handling }
    }

/// Starts the geotrigger monitors and handles posted notifications.
/// - Parameter geotriggerMonitors: The geotrigger monitors to start.
private func startGeotriggerMonitors(_ geotriggerMonitors: [GeotriggerMonitor]) async throws {
    await withThrowingTaskGroup(of: Void.self) { group in
        for monitor in geotriggerMonitors {
            group.addTask {
                try await monitor.start()
                for await newNotification in monitor.notifications where newNotification is FenceGeotriggerNotificationInfo {
                    await model.handleGeotriggerNotification(newNotification as! FenceGeotriggerNotificationInfo)
                }
            }
        }
    }
}

I think there are a few benefits:

task modifier's lifetime = view's lifetime, no need to manually cancel a unstructured task.
avoid the hassle of managing the lifecycle of unstructured task in the data model.
no need of multiple task modifiers - all the tasks are added to 1 task group. Once the task group is canceled, it will propagate to child tasks.


No help file found for imi_sprintf

I have found in two places there are buttons to open the help file for imi_sprintf or imi_zl which doesn't exist.
The references to these are in text_basics.maxpat and maxhelp-a-day.maxpat

It's corrected, thanks unknowndomain.


Fix casting

This PR fixes casting BigDecimal to double, Single and decimal types
Closes #36

@Protiguous, can you please review this PR too?

All 1170 tests of 1170 tests pass!

@Protiguous, this PR reverted the previous commit, can you please fix it?

Interesting.
I'll see what I can do.

The last commit 98c6051 in your pull request had the "@Bykiev
Revert "Fix using comma as decimal separator"" in it.


[test] Simply set job options in tests; do not append if not needed

This is a follow up of #1701.

@jenkins-cscs retry dom

@jenkins-cscs retry dom

Codecov Report

Merging #1702 (c7db92a) into master (4c1749c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1702   +/-   ##
=======================================
  Coverage   87.31%   87.31%
=======================================
  Files          46       46
  Lines        7639     7639
=======================================
  Hits         6670     6670
  Misses        969      969

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 4c1749c...c7db92a. Read the comment docs.

Codecov Report

Merging #1702 (c7db92a) into master (4c1749c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1702   +/-   ##
=======================================
  Coverage   87.31%   87.31%
=======================================
  Files          46       46
  Lines        7639     7639
=======================================
  Hits         6670     6670
  Misses        969      969

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 4c1749c...c7db92a. Read the comment docs.


deps: bump github.com/containerd/nri

Fixes https://github.com/containerd/nri/issues/117

/cc @mikebrow


feat: Added new parameter --delete-retention-policy to az storage account blob-service-properties update command

This PR is to support #11423 which added new parameter --delete-retention-policy to az storage account blob-service-properties update command

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

add to S163.

azp /run

Please merge this PR before this build.

LGTM in general. Please feel free to re-edit the error message according to your understanding.


Prevent Mass Crashes

Description:

Prevents mass crashing by removing players who do not meet the requirements for a mass.

Changes:

Allowed removing users to prevent crashes.

Reworked the food check into the checkReqs function.

[] I have tested all my changes thoroughly.

Not gonna be further maintained.


what's the limit of raft nodes?

how many raft nodes can i add? 50000? just curious.
does it mean all 50000 will store duplicated data or is there a way to do Replication Factor = 5 or 3 so that only 3 / 5 copies are stored?

you can have unlimited number of nodes. it is only limited by the resources you have.
dragonboat uses majority quorum. use 5 replicas for your shard and you get replication factor of 5 and quorum of 3.


add template docs and fix typo

This PR includes the template documents (now stored in a separate repository), so everything is managed in the same place.
It also fixes a typo in those docs.
Closes #52
Closes #55

Can this PR be merged? There is i English style fix in here that is waiting since January in this PR. If it cannot be merged, maybe style changes can be merged separately.


undefined running the app locally

I followed the steps line by line running this locally from the README file and I get the following on my screen:

Steps:

git clone
npm ci
npm run dev

node version: 16.17.1

👋 This is a known bug with some of our dev tooling that I hope to tackle next week, sorry about that!
As a workaround for now, update the "build:template": "do-vue template && node src/nginxconfig/build/template.js", line in package.json to be "build:template": "BLANK_TEMPLATE=true do-vue template && node src/nginxconfig/build/template.js"


Worked without studio

Hi,
I was able to make it work without installing manually composer require cnvs/studio as described on README.
Just followed basic steps and hit /canvas and it just brought UI for posting.
Is it a expected behavior?

Ok, my bad. By default it has a basic UI, even without studio.


Node 16 Support

Version
4.5.15
Environment info
Node: 16.0.13
NPM: 8.10

Steps to reproduce

Install Node 16

create project with VUE cli

Choose Node-sass as CSS preprocessor

What is expected?
The project can start and work
What is actually happening?
Old old dependency to node-sass (4.12) is added. It is not compatible with Node 16.

The node-sass version should be updated, or dart-sass should be default.

Can you please try the new version 5.0.0-rc.1?

It is working with new versions.
Installed using npm i -g @vue/cli@next.
Using dart-sass

Hi,
that is good to hear. I will update the CLI. Thanks


Wrong hivedscheudler config is generated in quick start script

The following config is generated in quick start script:

However each node should have 4 GPUs.

The min gpus of all nodes should be 1, pls check your cluster.

The min gpus of all nodes should be 1, pls check your cluster.
See
https://github.com/microsoft/pai/blob/4acfccf89bbe9738752aae766e2c559828e71f09/contrib/kubespray/script/openpai-generator.py#L172-L199

OK, I found actually there are 2 nodes with only 1 GPU:


Bump ajv dependency to ~6.12.3

This resolves a prototype pollution vulnerability:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-15366

Thanks for fixing this!

This was published with @microsoft/tsdoc-config 0.13.5


Add and test AdderSubstractor IP Core

towards replicating Xilinx Adder/Subtractor
cf #715

(git history's a bit of a mess, but I figure we're going to squash it anyways...)

Thanks! Let me take my time to look over this carefully... hopefully tonight.


sched: priority queues

Things Do:

[x] What is happening with task 4? why it didn't run? [check image]
[x] Dequeue. First, check when does a task need to be removed from the queue.
[x] Implement dequeue.
[x] Check that TIDs are correct. TID 0 not runnable, idle task is which tid?, first user task 1 or two (currently is 2, but it should be 1)...

Priority queues:
sched.c:
/* Priority queue array */
struct priority_queue priority_queues[PRIORITY_LEVELS];

We basically created a queue using a linked list:
sched.h:
/* struct priority_queue
 */
struct priority_queue
{
    struct task_struct *head;
    struct task_struct *tail;
};

We obviously support enqueue and dequeue.

In the future, it would be cool to explore implementing a priority queue using other data structures.


What Did Valve do In The Fake Vote Fix Patch ?

Title

They probably implemented clipping to the vote popup so it has fixed maximum height.


克里斯提·鲁布托 Christian Louboutin

克里斯提·魯布托 克里斯提·鲁布托 [Ke4 li3 si1 ti2 · Lu3 bu4 tuo1] /Christian Louboutin (1963-), French fashion designer/
Saw in: https://www.netflix.com/watch/80118063?t=2339#:~:text=这是克里斯提·鲁布托本人
https://zh.m.wikipedia.org/zh-hans/克里斯提·魯布托
https://baike.baidu.com/item/克里斯提·鲁布托/11004107
I think it's good for CedPane to have a complete name of a person. Regarding the middle dot · for western names, I think it's pretty standard, maybe the convention came from Chinese themselves, I feel that convention is consistent in many websites, baidu, wikipedia, Netflix, to name a few; I've yet to see a website that put spaces around the middle dot · character. It's easy to input middle dot from an IME, in macOS when the pinyin IME is active, just press the backtick ` and it will be converted to middle dot ·. The only thing preventing extensions from being able to render the full person name in Netflix(any websites for that matter) is if the person's full name don't have any definition in the dictionary yet
CedPane have an entry for Christian, but it is Christiaan with double a, and it is 克里斯提安 not 克里斯提. CedPane's 克里斯提 is just Cristi, not Christian
克里斯提 克里斯提 [Ke4 li3 si1 ti2] /Cristi/
克里斯提安 克里斯提安 [Ke4 li3 si1 ti2 an1] /Christiaan/
If CedPane is yet to adopt the middle dot convention for full name, will just contribute this:
魯布托 鲁布托 [Lu3 bu4 tuo1] /Louboutin/Christian Louboutin (1963-), French fashion designer/

Thanks, the reason why CedPane doesn't “do” middle dot is basically because Wenlin doesn't do it.  I use Wenlin to manage the database, and Wenlin can basically only handle entries made up of hanzi.  I could probably work around this with my Wenlin developer access but it could end up being a major change and would have to be tested really carefully.  (And moving out of Wenlin would be a really major change to my workflow.)  I'm not sure that Pleco would handle entries with mid-dot in them either.  And I guessed the incremental advantage of having mid-dot entries is not really worth all that trouble, if we can make sure to have entries for both the first and last names in each case.
(I could put an entry that's made up of the names run together without a mid-dot in between, but that would be much less useful because the number of texts that do it without mid-dot, while non zero, is quite small and I'm not sure we should be encouraging doing it without the dot.)
CedPane does already have 克里斯蒂安 as “Kristian; Christian (modern first name)” (the part in parenthesis is so as not to confuse it with 基督徒).  CedPane is unfortunately inconsistent about how it handles more than one English name mapping to the same Chinese name: sometimes it has separate entries with different definitions, but other times it just puts multiple English names in the same definition (in which case the one listed first may or may not be the one you look up, so you might have to do a full-text search to find one of the others).  One of these days I should do a big edit to make it more consistent in the way it handles this, or perhaps just sort things out gradually over time, but I'm not entirely sure what would be a "good" rule: yes if there are 2 English names mapping to the same Chinese name then 2 entries might be more convenient than one, but what if there's 10?  So for now I'm just being inconsistent (whether you get multiple entries or one depends how I felt when I edited it, sorry).  Might be better one day.
Of course, the English pronunciation of “Christian” is ˈkrɪstʃ(ə)n (or ˈkrɪstɪən) but its French pronunciation is usually more like kʁis.tjɑ̃ which has less of a final "n" sound, so a French person called Christian will be less likely translated using a final 安 to stand for the "-an".  So I think the 克里斯提 Cristi entry should be changed so it also says "Christian (French name)" or similar.
And yes Louboutin should be added (lots of Baidu results)

I'm not sure that Pleco would handle entries with mid-dot in them either

Pleco do have entries of proper names with the dot convention, e.g., 比尔·盖茨
Albeit, their search engine is not yet working when pasting or typing names with dot in them. As of now, when you search names with dot in them, Pleco will split the result in two, i.e., 比尔 and 盖茨, then you can find  比尔·盖茨 from either  比尔 or 盖茨
FWIW, though CC-CEDICT have proper names with dot convention, this is their stance now on new additions (e.g., Christian Louboutin was rejected)
TL;DR They would accept manual addition of proper names if they are popular enough. Everything else should be automated

Editor: We are no longer adding proper nouns that are in Wikipedia[1] unless they are the sort of name likely to be in any C-E dictionary[2]. A comprehensive C-E dictionary of topics (including proper names) can be derived automatically from Wikipedia, and is likely to appear sooner or later. Pleco has indicated that they will offer this sort of name list after Pleco version 4 is released

1] people, places, book titles etc.
[2] 诸葛亮, 黄河, 易经 etc.

"look up by English" function but not a "look up by English starting half way through"

Regarding comma for ChinaScribe's lookup mechanism
[Lu3 bu4 tuo1] /Louboutin/Christian Louboutin (1963-), French fashion designer/
Maybe CedPane can be made to use a delimiter work-around for additional gloss like above, so when a parser that skips ChinaScribe's  lookup mechanism (comma), the second gloss above will not be ignore

"can be derived automatically from Wikipedia"?  Oh, I've tried that, it's not very good.  The main problems are:

you can't usually get pinyin.  Automatically generating the pinyin works in some cases but not others, it really needs some manual editing, for example to make sure that when there are two or more options we choose the one that sounds nearest to the original name.  That's why my automatically extracted list above is English to Chinese characters with no pinyin.  I sometimes use it as a reference when manually editing CedPane, but the raw automatically-extracted data is not so good.  (There was a request that Wikipedia start a Pinyin edition but it was rejected.)
Sometimes the English to Chinese correspondences in Wikipedia articles are not what you think.  A very specific thing in English might cross-link to a more general category of things in Chinese, because this is the closest article containing the information you want, but that doesn't mean the Chinese word for the general category of things can be defined using the very specific thing in English.  In some cases an article even cross-links to its opposite meaning in Chinese.  Again, manual editing is required.  It's OK to use the automatically-generated list as a reference when we're manually editing, as long as we know what we're getting!

Yes Pleco version 4 will be nice when it comes out.  I'm hoping they'll add CedPane (currently CedPane can be 'imported' into Pleco, but the 'importing' feature requires the paid version of Pleco; if they added it as one of the default options then it will hopefully be available in the free version of Pleco which will be nice).  I don't know if they've also said they'll add an automatic list from Wikipedia.


Fix toctree order

Fixes notebook order in toctree and title.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Fixed missing reset button and renamed reset to resetTemplate

Fixed missing reset button introduced in #506
Renamed 'reset' to 'resetTemplate' for dis-ambiguity

Pull Request Test Coverage Report for Build 1608

0 of 7 (0.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 24.324%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/workspace/ControlBar.tsx
0
1
0.0%

src/components/assessment/AssessmentWorkspace.tsx
0
3
0.0%

src/components/missionControl/EditingWorkspace.tsx
0
3
0.0%

Totals

Change from base Build 1592:
0.0%

Covered Lines:
1175

Relevant Lines:
4029

💛  - Coveralls

Merged with #564


Rate limit consideration

https://developers.notion.com/reference/request-limits#rate-limits

Keine Beschreibung angegeben.

#7

Rate-limited requests will return a "rate_limited" error code (HTTP response status 429). The rate limit for incoming requests per integration is an average of three requests per second. Some bursts beyond the average rate are allowed.


Bazel 2.0: "native Java rules are deprecated" during Sync operation

Bazel 2.0 flipped --incompatible_load_java_rules_from_bzl, but the IJ plugin's bundled BUILD.bazel hasn't been updated to match. Our users run into "external/intellij_aspect/BUILD.bazel:15:1: in java_import rule @intellij_aspect//:jar_filter_lib: The native Java rules are deprecated." upon Bazel > Sync > Sync Project with BUILD files.
IJ version: 2019.2
Plugin version: 2<IP_ADDRESS>.4

Hi there! We're doing a clean up of old issues and will be closing this one. Please reopen if you’d like to discuss anything further. We’ll respond as soon as we have the bandwidth/resources to do so.


Java7 Backport Maven Jar Files compiled in Java8

The Java 7 Backport (Crystark/Orestes-Bloomfilter) is actually compiled in Java8. I added the jars to my local maven repo and attempted to use version 1.02 (port-java7 - Orestes-Bloomfilter/maven-repo/com/baqend/bloom-filter/1.02/) but when running tests I receive the following exception:

java.lang.UnsupportedClassVersionError: orestes/bloomfilter/FilterBuilder : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at .BloomFilterManager.(BloomFilterManager.java:118)
at .BloomFilterManager.(BloomFilterManager.java:20)
at .BloomFilterManager$HoldInstance.(BloomFilterManager.java:87)
at <shortened.BloomFilterManager.getInstance(BloomFilterManager.java:95)
at .BloomFilterManagerTest.setup(BloomFilterManagerTest.java:46)

Version 52.0 references java8. The workaround for me was to just compile the code myself under Java7 but others may run into issues in the future when trying to use the back port pre compiled jar in their 1.7 environment. Great library by the way! Thanks :)

Hi,
This is a fork of the original project. I never made or uploaded any builds besides the 1.03-port-java7 so yeah, 1.02 is an original java 8 build. So indeed, the only way to get this working is to clone and build the port-java7 branch (or use 1.03-port-java7 but it has some bugs that i fixed in the branch).
Cheers


No Splash Screen

Library Affected:
workbox-cli
Browser & Platform:
Google Chrome for Android
Issue or Feature Request Description:
I noticed that a pwa with a workbox generated service worker dont open with a splash screen on android after installation, also the display mode remains browser regarless of what is specified in the manifest. When I add to homscreen it basically added a shortcut to the browser yet the service worker is shown runnin in the debugger. When I press add to homecreen the a2hs confirm shows up instead of the new install banner. I have gotten all of these to work with a service worker generated with sw-precache however.
workbox sw app (Cloud nine)
same app but with sw precache

Looking at Lighthouse report for the cloud nine app:

User will not be prompted to Install the Web App
Browsers can proactively prompt users to add your app to their homescreen, which can lead to higher  engagement. Learn more.
Failures: No manifest was fetched, Site does not register a service worker, Service worker does not  successfully serve the manifest's start_url.

If you can add a manifest, then we can look at any further issues.

Hi maybe the c9 container went to sleep at the time. There manifest is indeed there, attached is a screenshot of an audit I just took of the c9 app.

I can't view the page you are displaying unfortunately (I just get the orange page and when attempting to open the page, I see an error message).

No application seems to be running here!
Cloud9 can't get you to your requested workspace. Here are some suggestions on how to figure out what's going on:
Check that the workspace name (pwa) and username (snickdx) are typed correctly.
Check that the server is successfully running on Cloud9:
If the server hit an error, the output window will have a message telling you what it is
If you're in the middle of debugging code, your server might be paused right now
The server might be running on a different port; make sure it's on port $PORT with $IP as the IP address

I switched to firebase hosting, https://jcal-6d7d9.firebaseapp.com/. Splash screen works with this service worker (generated from "workbox-cli generate:sw"). I believe I used inject: manifest in the OP but I'll open another issue if I can recreate the issue. Thanks.


How to fine-tune graphcast？

Is there any sample code for fine-tuning graphcast?

I also want to know. I can run the notebook code, get loss and grads, but I find that the loss doesn't backprop. By the way, how to save model randomly initialized is also not mentioned.

I'm also struggling with this - unable to use the grads to update the params. Any success anyone?

I managed to get it working with a few modifications to the example notebook code. Here are the changes I made (ignoring all unchanged code from the example):
import optax

# modify the gradients function signature
def grads_fn(params, state, inputs, targets, forcings, model_config, task_config):
    def _aux(params, state, i, t, f):
        (loss, diagnostics), next_state = loss_fn.apply(params, state, jax.random.PRNGKey(0), model_config, task_config, i, t, f)
        return loss, (diagnostics, next_state)
    (loss, (diagnostics, next_state)), grads = jax.value_and_grad(_aux, has_aux=True)(params, state, inputs, targets, forcings)
    return loss, diagnostics, next_state, grads

# remove `with_params` from jitted grads function
grads_fn_jitted = jax.jit(with_configs(grads_fn))

# setup optimiser
lr = 1e-3
optimiser = optax.adam(lr, b1=0.9, b2=0.999, eps=1e-8)
opt_state = optimiser.init(params)

# calculate loss and gradients
loss, diagnostics, next_state, grads = grads_fn_jitted(params, state, inputs, targets, forcings)

# update
updates, opt_state = optimiser.update(grads, opt_state)
params = optax.apply_updates(params, updates)

I'm afraid we don't provide a training script in this codebase as our training setup is quite tied to internal infrastructure, but I think we give enough to construct one yourself if you want one, and the above is a good start. Note you may struggle to fine-tune the 0.25deg model unrolled to 3 days without extra tricks to save GPU/TPU RAM (see other issue on this).
I'll leave this open in case any others want to contribute example code.

For saving and loading the model parameters, I came up with these functions. @illuSION-crypto
import jax
import numpy as np
import jax.numpy as jnp
import os

def flatten_dict(d, parent_key='', sep='//'):
    items = []
    for k, v in d.items():
        new_key = f"{parent_key}{sep}{k}" if parent_key else k
        if isinstance(v, dict):
            items.extend(flatten_dict(v, new_key, sep=sep).items())
        else:
            items.append((new_key, v))
    return dict(items)

def save_model_params(d, file_path):
    flat_dict = flatten_dict(d)
    # Convert JAX arrays to NumPy for saving
    np_dict = {k: np.array(v) if isinstance(v, jnp.ndarray) else v for k, v in flat_dict.items()}
    np.savez(file_path, **np_dict)

params_path = os.path.join('path/to/params', 'params.npz')
save_model_params(params, params_path)

def unflatten_dict(d, sep='//'):
    result_dict = {}
    for flat_key, value in d.items():
        keys = flat_key.split(sep)
        d = result_dict
        for key in keys[:-1]:
            if key not in d:
                d[key] = {}
            d = d[key]
        d[keys[-1]] = value
    return result_dict

def load_model_params(file_path):
    with np.load(file_path, allow_pickle=True) as npz_file:
        # Convert NumPy arrays back to JAX arrays
        jax_dict = {k: jnp.array(v) for k, v in npz_file.items()}
    return unflatten_dict(jax_dict)

params = load_model_params(params_path)

Thanks @ChrisAGBlake for sharing! Is it possible to modify your script to allow for multiple GPUs?

Sure, I used jax.pmap versions of functions to distribute across multiple GPUs
    # setup the update function
    @functools.partial(xarray_jax.pmap, dim='device', axis_name='device')
    def multi_gpu_update(params, state, opt_state, inputs, targets, forcings):

        # calculate loss and gradients
        loss, diagnostics, next_state, grads = grads_fn_jitted(params, state, inputs, targets, forcings)

        # combine the gradients across devices
        grads = jax.lax.pmean(grads, axis_name='device')

        # combine the loss across devices
        loss = jax.lax.pmean(loss, axis_name='device')

        # update
        updates, new_opt_state = optimiser.update(grads, opt_state)
        new_params = optax.apply_updates(params, updates)

        return new_params, loss, new_opt_state

    # setup the loss function for evaluation
    @functools.partial(xarray_jax.pmap, dim='device', axis_name='device')
    def multi_gpu_loss(params, state, inputs, targets, forcings):

        # calculate loss
        (loss, diagnostics), next_state = loss_fn_jitted(params, state, jax.random.PRNGKey(0), inputs, targets, forcings)

        # combine the loss across devices
        loss = jax.lax.pmean(loss, axis_name='device')

        return loss

Thanks @ChrisAGBlake and @monte-flora for sharing, i have saved and loaded the model respectivelly with the save_model_params and load_model_params functions, but I have trouble doing predictions with it, if i use the Autoregressive rollout (loop in python) and loss computation code  it seems to be loss of the randomly initialized model. The loss should be way lower than what I got.
        prediction = rollout.chunked_prediction(
                      run_forward_jitted,
                      rng=jax.random.PRNGKey(0),
                      inputs=train_inputs,
                      targets_template=train_targets * np.nan,
                      forcings=train_forcings)

        predictions.append(prediction)

        if i in [0,1,2]:
            # @title Loss computation (autoregressive loss over multiple steps)
            loss, diagnostics = loss_fn_jitted(
                rng=jax.random.PRNGKey(0),
                inputs=train_inputs,
                targets=train_targets,
                forcings=train_forcings)
            print("Loss:", float(loss))

It is as if the new loaded parameters are not taken into account in the predictions. Any clue on how to make this work ?
Thank you

Thanks @ChrisAGBlake. I encountered a problem. My GPU memory only has 12 G, and OOM occurs when calculating loss and gradient. Is there any solution?

You'll probably need more GPU memory than that unless you're trying to train a low resolution model. One workaround is to offload to the CPU which you can do by putting the following couple of lines at the top of your script.
import os
os.environ['XLA_PYTHON_CLIENT_MEM_FRACTION'] = '2.0'

This will try and use your CPU to double the amount of memory you have available from the GPU - 24GB in total. You can adjust '2.0' to whatever value is required to be able to do the update (within your RAM availability).
I have found that I require ~80GB with a model at 0.25 deg resolution.
Another solution is just to use vast.ai, AWS, GCP etc

@vsansi I load the trained model like this
  # load the model
  with open(checkpoint_file, 'rb') as f:
      ckpt = checkpoint.load(f, graphcast.CheckPoint)
  params = ckpt.params
  state = {}
  model_config = ckpt.model_config
  task_config = ckpt.task_config

Then I generate predictions like this:
    # run forward autoressively to get the predictions
    run_forward_jitted = drop_state(with_params(jax.jit(with_configs(run_forward.apply))))
    predictions = rollout.chunked_prediction(
        run_forward_jitted,
        rng=jax.random.PRNGKey(0),
        inputs=inputs,
        targets_template=targets * np.nan,
        forcings=forcings)

    # write out the predictions
    pred_file = f'{save_dir}/{date.strftime("%Y-%m-%dT%H")}_predictions.nc'
    predictions.to_netcdf(pred_file)

Hope this helps.


AutoSPInstallerModule.psm1 - Line 2882 - Fails to get existing web app for HNSC on multiple servers

Creating Web App "Portal"
New-SPWebApplication : The directory C:\inetpub\wwwroot\wss\VirtualDirectories\Portal-443 is already being used by
another IIS Web Site.  Choose a different root directory for your new Web application.
At C:\InstallScripts\SP\Automation\AutoSPInstallerModule.psm1:2886 char:9

    New-SPWebApplication -Name $webAppName -ApplicationPool $appP ...

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : InvalidData: (Microsoft.Share...PWebApplication:SPCmdletNewSPWebApplication) [New-SPWebA
pplication], ArgumentException
FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletNewSPWebApplication

Line 2882 - AutoSPInstallerModule.psm1:
$getSPWebApplication = Get-SPWebApplication -Identity $fullUrl -ErrorAction SilentlyContinue
Should be:
$getSPWebApplication = Get-SPWebApplication -Identity $webAppName -ErrorAction SilentlyContinue
This way it will pick up the web application using the name instead of url, which for host named site collections is created using the machine name.

This also affects lines 2917 and 2924:
$wa = Get-SPWebApplication -Identity $fullUrl
should be
$wa = Get-SPWebApplication -Identity $webAppName
Line 2994:
New-SPContentDatabase -Name $siteDatabase -WebApplication (Get-SPWebApplication -Identity $fullUrl
should be:
New-SPContentDatabase -Name $siteDatabase -WebApplication (Get-SPWebApplication -Identity $webAppName

Specified in my installer config is:
    <WebApplication Name="Portal">
        <Type>Portal</Type>
        <ApplicationPool>SharePoint2019.serverfarm.CA</ApplicationPool>
        <Url>http://localhost</Url>

The localhost is being translated in the script to be the server running it.  Perhaps this is not the best practice?

It's not best practice to use the server name or http://localhost as a SharePoint URL. Use a real DNS name instead, different from the server name.

What is your scenario? I build  multi server environment over the weekend but have not seen this issue. Any thing different may be ?
Get Outlook for Androidhttps://aka.ms/ghei36

From: Brian Lalancette<EMAIL_ADDRESS>Sent: Tuesday, March 31, 2020 12:09:03 PM
To: brianlala/AutoSPInstaller<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [brianlala/AutoSPInstaller] AutoSPInstallerModule.psm1 - Line 2882 - Fails to get existing web app for HNSC on multiple servers (#59)
It's not best practice to use the server name or http://localhost as a SharePoint URL. Use a real DNS name instead, different from the server name.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/brianlala/AutoSPInstaller/issues/59#issuecomment-606724105, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHLKYY2DTY4GOXQQ4GFXB4TRKIIR7ANCNFSM4LWEUVAQ.


Adding comment parser to config parsing

Adding a parser to allow comments in the JSON and strip them out.
Provides an initial fix for issue #12 .
This could be improved with additional support for multiline comments and comments after a config value. Currently this just supports single inline comments where the entire line is commented out as in this case:
{
  "HOST": "https://abc.com",
  // "SERVER_URL": "{{BASE_URL}}/api/v1",
}

Can you please write test cases for these examples,
{
  "HOST": "https://abc.com",
  // "SERVER_URL": "{{BASE_URL}}/api/v1",
  "PORT": 8080
}

{
  "HOST": "https://abc.com",
  // "SERVER_URL": {
  //     "DEV": "{{BASE_URL}}/api/v1",
  //     "DEFAULT": "https://abc.com/api/v1",
  // },
  "PORT": 8080
}

Can you please write test cases for these examples,
{
  "HOST": "https://abc.com",
  // "SERVER_URL": "{{BASE_URL}}/api/v1",
  "PORT": 8080
}

{
  "HOST": "https://abc.com",
  // "SERVER_URL": {
  //     "DEV": "{{BASE_URL}}/api/v1",
  //     "DEFAULT": "https://abc.com/api/v1",
  // },
  "PORT": 8080
}

Sorry I just saw this now @suthagar23 . Would you like me to add a new .env.config under the tests folder (something like .env-comments.config) or just add those commented lines to the current one? I want to make sure I'm following the best process for your current testing.

@mjnagel  I think, better to have everything in one .env.config file as the dependency searches for .env.config file.

@mjnagel Would you like to continue working on this?

Closing this pull request, Please re-open it when it's ready


[Ubuntu] Revert previously removed Docker tests

Description
Fix, made in process of Ubuntu-24.04 addition works fine. Tests could be added in order to unlock latest tag for Docker installation.
Related issue:
Check list

[ ] Related issue / work item is attached
[ ] Tests are written (if applicable)
[ ] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run ubuntu2404

/azp run ubuntu2004, ubuntu2204


Tools - Add ffmpeg

The animation functionality in dea-notebooks relies on ffmpeg (e.g. currently returns the error MovieWriter ffmpeg unavailable when attempting to produce an animation).
On the NCI, we load the ffmpeg module using module load ffmpeg before running the notebook. When we run the following commands, ffmpeg is listed as one of the possible matplotlib.animation writers:
import matplotlib.animation as animation
animation.writers.avail

>>> {'pillow': matplotlib.animation.PillowWriter,
 'ffmpeg': matplotlib.animation.FFMpegWriter,
 'ffmpeg_file': matplotlib.animation.FFMpegFileWriter,
 'imagemagick': matplotlib.animation.ImageMagickWriter,
 'imagemagick_file': matplotlib.animation.ImageMagickFileWriter,
 'html': matplotlib.animation.HTMLWriter}

However, on the Sandbox we only have:
import matplotlib.animation as animation
animation.writers.avail

>>> {'pillow': matplotlib.animation.PillowWriter,
 'html': matplotlib.animation.HTMLWriter}

The animation functionality in dea-notebooks is one of the most used tools, so this addition is medium-to-high priority.
See: https://github.com/GeoscienceAustralia/dea-notebooks/issues/344#issuecomment-539277831

ffmpeg is now available on the Sandbox


"exclude" option is not excluding files from code obfuscation

I literally added the exclude option but it seems that it's not working based on logs
Expected Behavior
Listed file names/paths should be excluded from code obfuscation
This my sample exclude option
exclude: ["**/file1.js"],

It works for me using the cli:
node ./node_modules/javascript-obfuscator/bin/javascript-obfuscator ./dist--output ./dist/obfuscate --exclude 'dist/runtime.js,dist/vendor.js' --config obfuscator-config.json


[Bug]: BRAT always update to another version

Contact Details
No response
What happened?
Hello!
BRAT always update to an older version, so it's not pretty pratical. Because of that, I disabled BRAT auto-update but...
You need to update the manifest-beta.json to the last version, or removing it to falling back to the manifest.json.
What platform were you using?
Cross
Version of the plugin
/ not relevant
Relevant log output
/

Are you using the latest version of the plugin in your Obsidian vault?

[X] I have verified that I am on the latest version

Are you check if there is a similar issue?

[X] I have verified that there are not similar issues

Hello @Lisandra-dev ,
You can check the reasons about this temporal decision here:
https://github.com/RafaelGB/obsidian-db-folder/discussions/736

The problem is : using sync, I can't have a different version, using BRAT or not.
Also, updating to the last version will obviously create problem.
I dunno if there is a way to prevent downloading a specific version on mobile... Asking the developper can be useful for that.
At last it can be a good FR for BRAT.
Thanks for your reply anyway.

if there is no news of 1.1 during the following week I will consider to support mobile version with a conditional editor


the Error in bitsandbytes

I tried to run text-generation-webui server and got this error, i also did some research and did these steps mentioned here:
https://github.com/TimDettmers/bitsandbytes/issues/95#issuecomment-1366682010
still no use...
`text-generation-webui]$ python server.py
False
/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/bitsandbytes/cuda_setup/main.py:166: UserWarning: /home/venu/.miniconda3/envs/tg did not contain ['libcudart.so', 'libcudart.so.11.0', 'libcudart.so.12.0'] as expected! Searching further paths...
warn(msg)
/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/bitsandbytes/cuda_setup/main.py:166: UserWarning: /home/venu/.miniconda3/lib did not contain ['libcudart.so', 'libcudart.so.11.0', 'libcudart.so.12.0'] as expected! Searching further paths...
warn(msg)
The following directories listed in your path were found to be non-existent: {PosixPath('/run/credentials/getty@tty1.service')}
The following directories listed in your path were found to be non-existent: {PosixPath('/run/user/1000/Alacritty-'), PosixPath('0-57492.sock')}
The following directories listed in your path were found to be non-existent: {PosixPath('https'), PosixPath('//debuginfod.archlinux.org ')}
The following directories listed in your path were found to be non-existent: {PosixPath('/tmp/Alacritty-57492.log')}
CUDA_SETUP: WARNING! libcudart.so not found in any environmental path. Searching in backup paths...
The following directories listed in your path were found to be non-existent: {PosixPath('/usr/local/cuda/lib64')}
DEBUG: Possible options found for libcudart.so: set()
CUDA SETUP: PyTorch settings found: CUDA_VERSION=118, Highest Compute Capability: 8.6.
CUDA SETUP: To manually override the PyTorch CUDA version please see:https://github.com/TimDettmers/bitsandbytes/blob/main/how_to_use_nonpytorch_cuda.md
CUDA SETUP: Loading binary /home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/bitsandbytes/libbitsandbytes_cuda118.so...
libcusparse.so.11: cannot open shared object file: No such file or directory
CUDA SETUP: Problem: The main issue seems to be that the main CUDA runtime library was not detected.
CUDA SETUP: Solution 1: To solve the issue the libcudart.so location needs to be added to the LD_LIBRARY_PATH variable
CUDA SETUP: Solution 1a): Find the cuda runtime library via: find / -name libcudart.so 2>/dev/null
CUDA SETUP: Solution 1b): Once the library is found add it to the LD_LIBRARY_PATH: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:FOUND_PATH_FROM_1a
CUDA SETUP: Solution 1c): For a permanent solution add the export from 1b into your .bashrc file, located at ~/.bashrc
CUDA SETUP: Solution 2: If no library was found in step 1a) you need to install CUDA.
CUDA SETUP: Solution 2a): Download CUDA install script: wget https://github.com/TimDettmers/bitsandbytes/blob/main/cuda_install.sh
CUDA SETUP: Solution 2b): Install desired CUDA version to desired location. The syntax is bash cuda_install.sh CUDA_VERSION PATH_TO_INSTALL_INTO.
CUDA SETUP: Solution 2b): For example, "bash cuda_install.sh 113 ~/local/" will download CUDA 11.3 and install into the folder ~/local
Traceback (most recent call last):
File "/home/venu/tg/text-generation-webui/server.py", line 32, in
from modules import (
File "/home/venu/tg/text-generation-webui/modules/training.py", line 21, in
from peft import (
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/peft/init.py", line 22, in
from .auto import (
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/peft/auto.py", line 31, in
from .mapping import MODEL_TYPE_TO_PEFT_MODEL_MAPPING
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/peft/mapping.py", line 23, in
from .peft_model import (
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/peft/peft_model.py", line 39, in
from .tuners import (
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/peft/tuners/init.py", line 21, in
from .lora import LoraConfig, LoraModel
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/peft/tuners/lora/init.py", line 21, in
from .model import LoraModel
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/peft/tuners/lora/model.py", line 45, in
import bitsandbytes as bnb
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/bitsandbytes/init.py", line 6, in
from . import cuda_setup, utils, research
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/bitsandbytes/research/init.py", line 1, in
from . import nn
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/bitsandbytes/research/nn/init.py", line 1, in
from .modules import LinearFP8Mixed, LinearFP8Global
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/bitsandbytes/research/nn/modules.py", line 8, in
from bitsandbytes.optim import GlobalOptimManager
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/bitsandbytes/optim/init.py", line 6, in
from bitsandbytes.cextension import COMPILED_WITH_CUDA
File "/home/venu/.miniconda3/envs/tg/lib/python3.10/site-packages/bitsandbytes/cextension.py", line 20, in
raise RuntimeError('''
RuntimeError:
CUDA Setup failed despite GPU being available. Please run the following command to get more information:
    python -m bitsandbytes

    Inspect the output of the command and see if you can locate CUDA libraries. You might need to add them
    to your LD_LIBRARY_PATH. If you suspect a bug, please take the information from python -m bitsandbytes
    and open an issue at: https://github.com/TimDettmers/bitsandbytes/issues`

Hi facing the same issue. Have you solved it yet? @Venu-Sarathy

Yes me too please help me with it. where is ld library path ill put it in environment variables

Hi facing the same issue. Have you solved it yet? @Venu-Sarathy

no, i didn't.

What is up with this?  Yes, I have this issue as well on Windows.

you just emailed this to me?
On Sun, Nov 26, 2023 at 1:35 AM DarkAlchy @.***> wrote:

What is up with this? Yes, I have this issue as well on Windows.
—
Reply to this email directly, view it on GitHub
https://github.com/TimDettmers/bitsandbytes/issues/870#issuecomment-1826706156,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHVHPPPFR4VJMZXZZHFCW3YGLWKNAVCNFSM6AAAAAA7K2NIBWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRWG4YDMMJVGY
.
You are receiving this because you commented.Message ID:
@.***>

--

Damien Lee Benoit | @.*
Mobile:<PHONE_NUMBER> | Website: https:///www.337studios.com

@Skettalee Unsubscribe to the github thread this came from, as I didn't email you github did.


Get.until not working properly on getx 5 candidate 8

In get: ^4.6.6
Get.until((final Route route) => Get.currentRoute == Routes.HOME);
was working fine. However, after migrating to
get: ^5.0.0-release-candidate-8
Get.until((final GetPage page) => Get.currentRoute == Routes.HOME);
is not working properly.

Can you check the RC-9?
I think it is fixed by now.
Let me know if you have any issues.

Yeah, thanks mate for the quick reply and update its fixed.


Fix boolean parsing in params block

If a boolean is specified in the params block for pipelines, for example:
params:
   force_sra_download: True

This will throw an error as the create_temp_yaml method interprets strings to return quoted representations and can't parse the boolean. Using the following works however:
params:
   force_sra_download: 'True'

Fixed in #70


delete ngOutletContext

instead deprecated ngOutletContext use ngTemplateOutletContext

Merge and publish please.

+1  Merge and publish please

+1, What are you waiting for ?