Include building of non-monolithic test in CI

As discussed in issue #340, we should build (and execute) non-monolithic tests. This PR introduces these tests of Linux, OSX and Windows. On Travis we have one more configuration in the matrix, on AppVeyor two more.

Currently the new tests fail by design as there's a missing dependency from graph to components, which is uncovered when linking in graph in io.

LGTM but has conflicts against Dev and is currently blocked on #344.

This branch has conflicts. Could you please rebase it and force push to re-trigger the CI?

Done. This PR now also fixes a bug uncovered during the new CI tests (missing dependencies in networkit_gtest_main).

Merging this PR. Thanks again, @manpen.


download: insight version updated to v0.25.2

download: insight version updated to v0.25.2

/lgtm


Refresh UserClaims in Identity Server 4

Problem:
I want to refresh user claims in identity server 4. I have made an API endpoint in identity server project. This API endpoint is given below. After that I call the UserInfoEndpoint and RefreshTokenEndpoint from my Angular Client using oidc-client.js library. I get the refreshtoken and new accesstoken but the claims in the response are old. I have to relogin in my client and identity server to reload the updated claims.
API Code
   if (ModelState.IsValid && model.IsSelected && User.Identity.IsAuthenticated)
                {
                    var user = _userRepository.GetUserByAppId(model.UserId);
                    user.AccessCode = model.Code; // A simple 3 digit code
                    var updatedUser = _userRepository.UpdateUser(user); //updating it in the dB
                    var claimsResult = _userRepository.GetUserClaims(updatedUser);
                    if (!claimsResult.IsSuccess)
                    {
                        return BadRequest(new { Status = false, Message = "Failed To Change" });
                    }
                    var identity = User.Identity as ClaimsIdentity;
                    string[] claimsTobeUpdated = { "AccessCode" };
                    foreach (var item in identity.Claims.ToList())
                    {
                        if (claimsTobeUpdated.Contains(item.Type))
                        {
                            identity.RemoveClaim(item);
                            var claim = claimsResult.Claims.Where(p => p.Type == item.Type).FirstOrDefault();
                            identity.AddClaim(claim);
                        }
                    } // I was updating more than one claims thats why I'm iterating
                    AuthenticationProperties props = new AuthenticationProperties()
                    {
                        IsPersistent = true,
                        ExpiresUtc = DateTimeOffset.UtcNow.Add(AccountOptions.RememberMeLoginDuration),
                    };

                    // issue authentication cookie with subject ID and username
                    var isuser = new IdentityServerUser(user.Id.ToString())
                    {
                        DisplayName = user.Name,
                        AdditionalClaims = claimsResult.Claims.ToList(),
                    };
                    await HttpContext.SignInAsync(isuser, props);

                    var claims = User.Identity as ClaimsIdentity; // here I've checked that the claims updated or not and these are updated.

                    return Ok(new { Status = true, Message = "Changed Successfully" });
                }

Desired Output:
I want to have same claims in my identity server session as well as the Ng session. if you can help me it would be highly appreciated.

@brockallen Could you please help me?

This is not directly related with identityserver. Maybe you want to check this blog post about claim-based authentication.
Basically, UserClaimsFactory creates a claims principal using user manager. And this happens during the sign in process. You can only add custom claims during the sign in process with using claims factory.
Changing the logged in user after a user is signed in, is the concept of impersonation.


Extract LLVM to specific directory.

To use cmake as cmake -H"$CQUERY" -B"$CQUERY/build".

I used to do
mkdir build/release
cd build/release
ln -s ../clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz
ln -s ../clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04

as a workaround.

Looks good to me. Perhaps add a comment explaining that we set the working directory explicity to allow running cmake from everywhere.

Perhaps add a comment explaining that we set the working directory explicity to allow running cmake from everywhere.

+1

Done.


fix(userspace/libscap): fix windows and macos linking of binaries.

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug
Any specific area of the project related to this PR?
/area build
/area libscap
Does this PR require a change in the driver versions?

/version driver-API-version-major

/version driver-API-version-minor

/version driver-API-version-patch

/version driver-SCHEMA-version-major

/version driver-SCHEMA-version-minor

/version driver-SCHEMA-version-patch

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

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

LGTM label has been added.  Git tree hash: 1e2845e18155a0e5de166cad4950d312e3b0ae02

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, Molter73
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,Molter73]

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

/hold
Wait for @geraldcombs to give this a look :)

Wait for @geraldcombs to give this a look :)

This PR builds OK here on macOS. Trying to run sinsp-example fails with
libc++abi: terminating with uncaught exception of type scap_open_exception: live capture not supported on Darwin

but that looks like a task for another time.
Trying to build Logray fails with
Undefined symbols for architecture x86_64:
  "_scap_event_decode_params", referenced from:
      sinsp_evt::load_params() in libsinsp.a(event.cpp.o)
  "_scap_event_get_num", referenced from:
      sinsp::get_num_events() in libsinsp.a(sinsp.cpp.o)
  "_scap_event_getlen", referenced from:
      sinsp_parser::process_event(sinsp_evt*) in libsinsp.a(parsers.cpp.o)
      sinsp_parser::parse_fcntl_enter(sinsp_evt*) in libsinsp.a(parsers.cpp.o)
  "_scap_get_event_info_table", referenced from:
      sinsp_initializer::sinsp_initializer() in libsinsp.a(utils.cpp.o)
      sinsp_initializer::sinsp_initializer() in libsinsp.a(utils.cpp.o)
      __GLOBAL__sub_I_utils.cpp in libsinsp.a(utils.cpp.o)
  "_scap_get_syscall_info_table", referenced from:
      sinsp_initializer::sinsp_initializer() in libsinsp.a(utils.cpp.o)
      sinsp_initializer::sinsp_initializer() in libsinsp.a(utils.cpp.o)
      __GLOBAL__sub_I_utils.cpp in libsinsp.a(utils.cpp.o)
  "_scap_savefile_engine", referenced from:
      _scap_open_offline_int in libscap.a(scap.c.o)
  "_scap_source_plugin_engine", referenced from:
      _scap_open_plugin_int in libscap.a(scap.c.o)

In my libs build directory, libsinsp/examples/CMakeFiles/sinsp-example.dir/link.txt shows that CMake is linking libscap.a, libscap_event_schema.a, engine//.a, and libscap_engine_util.a:
ccache /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++  -Wall -ggdb -DMINIMAL_BUILD -std=c++0x -O3 -fno-strict-aliasing -DNDEBUG -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -pagezero_size 10000 -image_base 100000000 "CMakeFiles/sinsp-example.dir/util.cpp.o" "CMakeFiles/sinsp-example.dir/test.cpp.o" -o sinsp-example  ../libsinsp.a ../../libscap/libscap.a ../../libscap/libscap_event_schema.a ../../libscap/engine/nodriver/libscap_engine_nodriver.a ../../libscap/engine/savefile/libscap_engine_savefile.a ../../libscap/engine/source_plugin/libscap_engine_source_plugin.a ../../libscap/engine/noop/libscap_engine_noop.a ../../libscap/engine/udig/libscap_engine_udig.a ../../libscap/libscap_engine_util.a /usr/local/lib/libjsoncpp.dylib /usr/local/lib/libtbb.dylib -ldl -lpthread

It looks like target_link_libraries lets CMake add the necessary dependent libraries like libscap_event_schema.a for subprojects, but external projects need to find and link libscap_event_schema.a and the other associated libraries on their own.

That's weird...in ci they are now building fine :/ i mean both Macos and windows, given that we are also building the sinsp example on both!

It looks like target_link_libraries lets CMake add the necessary dependent libraries like libscap_event_schema.a for subprojects, but external projects need to find and link libscap_event_schema.a and the other associated libraries on their own.

That is an interesting idea! But then how does Falco build on 0.32.1(considering the libscap split was already in place)?
This is really weird!

That is an interesting idea! But then how does Falco build on 0.32.1(considering the libscap split was already in place)?
This is really weird!

It looks like Falco includes libs as a subproject. Sharing the same CMake variable scope lets the sinsp-example and Falco targets pick up the required dependency information defined by target_link_libraries.

That could be it...I will try some more ideas tomorrow and let you know, thank you!

I had to make the following changes to build here on macOS:

That is really really weird, given that we are actually building sinsp-example in ci; i didn't expect any different outcome there...

Trying to run sinsp-example fails with

Yeah that's because we only really support MINIMAL_BUILD on macos, even if a full build will work just fine. Indeed i might switch CI to minimal build.

Trying to build Logray fails with

Can you share how do you build your project?
Possibly, our 'target_link_libraries` is default to PRIVATE mode, therefore the symbols are only visible inside the project, see the doc: https://cmake.org/cmake/help/latest/command/target_link_libraries.html#libraries-for-a-target-and-or-its-dependents.
I will try to set all the relevant ones to public :)

It looks like Falco includes libs as a subproject

Btw i think that's the supported way of embedding and using libraries.

New changes are detected. LGTM label has been removed.

With the latest changes, i was able to build an out-of-tree sinsp-example, using:
g++ *.cpp -o example -I /usr/local/include/falcosecurity/userspace/libsinsp/ -I /usr/local/include/falcosecurity/userspace/libscap/ -I /usr/local/include/falcosecurity/userspace/plugin -L/usr/local/lib/falcosecurity -lsinsp -lscap -lcurl -lssl -lcrypto -lz -ljsoncpp -ltbb -ljq -lprotobuf -lcares -labsl_synchronization `pkg-config --libs grpc++` -lb64 -lscap_engine_source_plugin -lscap_engine_noop -lscap_engine_bpf -lscap_engine_udig -lscap_engine_kmod -lscap_engine_nodriver -lelf -lscap_engine_gvisor -lscap_engine_savefile -ldriver_event_schema -lscap_event_schema -lscap_engine_util

But, as i said, as far as i know, we only support in-tree builds, like Falco or oss sysdig tool do.
@terylt perhaps has some more inputs :)
@leogr

LGTM label has been added.  Git tree hash: c71a40cf5e2dca81d1bf94e68bf54c95092dab6e

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, Molter73
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,Molter73]

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, Molter73
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP,Molter73]

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

Can you share how do you build your project?

The Wireshark / Logray sources have a CMake module that finds the libs headers and libraries: https://gitlab.com/wireshark/wireshark/-/blob/master/cmake/modules/FindSinsp.cmake.
I point SINSP_INCLUDEDIR and SINSP_LIBDIR to my local libs build and SINSP_PLUGINDIR to my local plugins build as described at https://gitlab.com/wireshark/wireshark/-/blob/master/plugins/epan/falco_bridge/README.md, although I should probably use a more standard location now that libs has an install target.

But, as i said, as far as i know, we only support in-tree builds, like Falco or oss sysdig tool do.

I can try doing that on the Logray side, but I'm not sure the change would be accepted. Given the size of our code base and the number of libraries we use, we try to use pre-built artifacts wherever we can. We even have our own repo for pre-built Windows libraries.
For now I'll try to update FindSinsp.cmake to search for the additional libraries. Thanks for your help!

I really want to properly support logray build and help you as best as i can! Let's see if anything else comes up!

Just to weigh in..  We use the libs as prebuilt artifacts in our sysflow project.  We've been working on a "libs" container that has an environment variable that lists all the .a files, and include directories so that users could simply inherit from the Dockerfile and very easily build their own consumer of the libs.  https://github.com/sysflow-telemetry/libs-base-images/blob/master/docker/libs/Dockerfile
The great aspect of having .a files is that we can build and debug a lot more easily, but it does become hard each release as there tends to be new .a files each time.  Fred has looked a bit at building a mega .a file out of all the .as to make it even easier for a consumer to consume but hasn't been able to get it to work so far... another great aspect for consumption would be to make it easy to just reference one .h file in the consumer without having concern with having all the other headers in the include path.

I think it would be great to improve the situation with out-of-tree-builds!
Perhaps improve (and eventually install) the libscap/libsinsp cmake modules so that correctly linking libsinsp + libscap is just a matter of using find_package(Sinsp REQUIRED) that in turns tries to find scap and manages all the needed libraries.
I can work on that if you agree @geraldcombs @terylt

/unhold

@FedeDP Sounds great to me... I'm also happy to help any way that I can.


SpectatorView videos hard to find and won't play on Android

The recorded videos on Android save to a root location on the SD card, which is terrible hard to find - it was by chance that I saw them in the Samsung Files app.  They would Ideally appear in a videos folder named with "Spectator View".
Also, tapping the videos and trying to open in Android's video player failed to play the recorded videos.

@grbury one follow up question, did you ever try and play the videos on a different device?

Yes - they would play on PC, only fail playing on Android phone directly.

This needs to still be investigated. It's unclear whether the video playback error will occur on other devices.


Add some options to advanced new file

Not sure what people think about this. I like it to give me context.

those look good to me. are there similar options for open? specifically the show current file

@aaronjensen it doesn't look like there is.

too bad, :shipit:


README: Fix count of checks

There were two checks, there are now three checks, there may be more checks in the future.
Replace "Currently there are two checks:" with "The checks are:".
Also fix flake8 -> Flake8 typo (ref: https://flake8.pycqa.org)

Thanks!


":tag" fails to jump to the next entry in the tag stack when the name of the latter starts with a slash

Describe the bug
:tag fails to jump to the next entry in the tag stack when the name of the latter starts with a slash.
To Reproduce
Run this shell command:
vim -Nu NONE +'h :ab' +'h /\=' +'pop' +'tag'

E426 is raised:
E426: tag not found: \=@en

Expected behavior
No error is raised, and :tag jumps to the next tag in the stack, which is /\=.
Environment

Vim version: 8.2 Included patches: 1-1159
OS: Ubuntu 16.04.6 LTS
Terminal: XTerm(356)

Additional context
I think Vim parses the literal tag name /\= as a pattern because it starts with a slash.  This is documented at :h tag-regexp:

When the argument starts with '/', it is used as a pattern.  If the argument
does not start with '/', it is taken literally, as a full tag name.

I understand the rationale when :tag is manually supplied an argument by the user on the command-line.
But I still would expect :tag to handle an argument taken from the stack literally, doing something similar to:
let tagstack = gettagstack()
let curidx = tagstack.curidx
let name = tagstack.items[curidx - 1].tagname
if name[0] == '/'
    let name = substitute(name<EMAIL_ADDRESS>'', '')
    let name = '/' .. '\V' .. escape(name[1:], '\')
endif
execute 'tag ' .. name

The only alternative I can think of is to write a custom wrapper command around :tag to handle the case where a literal tag name in the stack starts with a slash.

Alternatively, a TagNotFound event could help:

Patch to add TagNotFound autocommand. (Anton Lindqvist, 2016 Feb 3)


Swapping row does nothing

Hello (again),
#824 was a step while searching why one of my Python code doesn't output the same result when compiled with Pythran.
Here is a minimal example:
import numpy as np
#pythran export dummy()
def dummy():
    A =  np.arange(9).reshape((3,3))
    A[[1,2]] = A[[2,1]]
    return A

outputs
>>> test.dummy()
array([[0, 1, 2],
       [6, 7, 8],
       [3, 4, 5]])

while, using Pythran:
>>> test.dummy()
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

By the way, I've try to work around using A[1,:].copy() but C++ compilation failed. I had to use tmp = numpy.array(A[1,:]) instead and my code now works fine and much faster :wink: (great job, btw)

Thanks for the report! I can reproduce the issue, working on it :-)


fix: enhance performance for codeblock

Currently, asking AI for generating inline code will make browser tag so lag.
The root cause is may because react-syntax-highlight re-render too many times.

@thucpn this looks good to merge. Why it's a draft?


fix(cli): return promises & exit correctly on all commands

This PR resolves #461, on both Windows 10 and Linux (running on CircleCI). I could not test other environments.
The solution was basically lifted from here:
https://github.com/ember-cli/ember-cli/blob/master/bin/ember
There were two issues, that are probably related:

The logger.error() method used to throw an error. This, for whatever reason, did not result in an appropriate exit.
Even when successfull, it would sometimes not exit the process.

This PR slightly refactors all commands to return dedicated RSVP.Promises. The logger.error method has been changed to only output the error, not throw it. And the corber executable itself has been adapted (based on ember-cli's exectuable) to exit the process on both success and failure.

Thank you very much for doing this!
Looks like the single test failure is something timing out travis side, not an issue right now.


TaskCanceledException when opening a childwindow in new thread twice

Describe the bug
When opening a new child window in a new STA thread, everything works fine the first time. When you close the child window and reopen it using a new thread, a TaskCanceledException is thrown. Here is the callstack:
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Windows.Threading.DispatcherOperation.Wait(TimeSpan timeout)
   at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherOperation operation, CancellationToken cancellationToken, TimeSpan timeout)
   at System.Windows.Threading.Dispatcher.Invoke(Action callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout)
   at System.Windows.Threading.Dispatcher.Invoke(Action callback)
   at MahApps.Metro.Controls.Extensions.Invoke(DispatcherObject dispatcherObject, Action invokeAction) in /_/src/MahApps.Metro/Controls/Extensions.cs:line 56
   at MahApps.Metro.Controls.MetroWindow.ThemeManagerOnIsThemeChanged(Object sender, ThemeChangedEventArgs e) in /_/src/MahApps.Metro/Controls/MetroWindow.cs:line 1094
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at ControlzEx.Theming.ThemeManager.OnThemeChanged(Object target, ResourceDictionary targetResourceDictionary, Theme oldTheme, Theme newTheme) in C:\projects\controlzex\src\ControlzEx\Theming\ThemeManager.cs:line 1163
   at ControlzEx.Theming.ThemeManager.ChangeTheme(Object target, ResourceDictionary resourceDictionary, Theme oldTheme, Theme newTheme) in C:\projects\controlzex\src\ControlzEx\Theming\ThemeManager.cs:line 642
   at ControlzEx.Theming.ThemeManager.ChangeTheme(FrameworkElement frameworkElement, Theme newTheme) in C:\projects\controlzex\src\ControlzEx\Theming\ThemeManager.cs:line 545
   at ControlzEx.Theming.ThemeManager.ChangeTheme(FrameworkElement frameworkElement, String themeName, Boolean highContrast) in C:\projects\controlzex\src\ControlzEx\Theming\ThemeManager.cs:line 502
   at MahAppsThreadAccess.ChildWindow..ctor() in C:\Users\schaafa\source\repos\MahAppsThreadAccess\MahAppsThreadAccess\ChildWindow.xaml.cs:line 26
   at MahAppsThreadAccess.MainWindow.<Button_Click>b__1_0(Object x) in C:\Users\schaafa\source\repos\MahAppsThreadAccess\MahAppsThreadAccess\MainWindow.xaml.cs:line 36
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart(Object obj)

Steps to reproduce

Clone repo: https://github.com/Ksdmg/MahAppsThreadAccess
Open child window using the button
Close child window
Open child window again using the button

Environment
MahApps.Metro version: v2.2.0
Visual Studio: 2019 16.7.2
Target Framework: .Net v4.7.2

@Ksdmg I tested your sample with the latest version v2.3.4 I found that you call InvokeShutdown inside the closed event of the child window. You have 2 options to solve this, don't do this, or use the BeginInvokeShutdown.
private void Child_Closed(object sender, EventArgs e)
{
    ((ChildWindow)sender).Closed -= Child_Closed;
    ((ChildWindow)sender).Dispatcher.BeginInvokeShutdown(DispatcherPriority.Background);
}


Feature to delete multiple/all events in list

Describe the solution you'd like
Option on "Events" page in Analytics to delete multiple/all events in the list.
Describe alternatives you've considered
Delete all events one by one, I have hundreds of old events from developing the app in the list so this would take a long time to delete one by one.
Additional context
Standard checkbox in first column thead to select all checkboxes in each row.

Yes this is a good feature.


Make priorityClass of cni in helm chart config

The priorityClassName is hardcoded in helm charts of cni. We need it to be configurable to deploy in our custom enviroment.

Hi @venkatk-25. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Could you explain a bit why system-node-critical does not work within your environment?

We have calico as cni daemonset in on premise cluster and want to run istio-cni as chained cni to that.
We want to make sure calico-cni gets scheduled first and istio-cni after that on addition of new nodes to cluster.
So we are planning to use system-cluster-critical to ensure slightly lesser priority

@venkatk-25 istio-cni should block and wait for main CNI plugin to be ready. Is that not the case? Did you observe some problem? If yes we need to fix that instead of relying on priority class.

@venkatk-25 istio-cni should block and wait for main CNI plugin to be ready. Is that not the case? Did you observe some problem? If yes we need to fix that instead of relying on priority class.

I didn't know it will wait, our internal team has raised it as a race condition for adoption. Can you point to related docs/code

@venkatk-25 Wait logic is around https://github.com/istio/istio/blob/8d40d0fd16a9c8401f607eab61d6116a76c43e31/cni/pkg/install/cniconfig.go#L195.

@venkatk-25 Wait logic is around
https://github.com/istio/istio/blob/8d40d0fd16a9c8401f607eab61d6116a76c43e31/cni/pkg/install/cniconfig.go#L195
.

@bianpengyuan thank you


Unsupported file 115|104|105|112

Hi,
It's an xls file (I think in 97 -2004 format). It's being uploaded and sent to the server and read from file.buffer. Also, uploading it to online demo doesn't give any output.
abc.xls.zip

This is actually a tab-separated-values file (open the file in notepad or vim or your favorite text editor and you will see text).
We're aiming to add csv/txt support soon

Thanks for the information.


Small issues: Overview 7 Nov

[x] on / Change "Your Balance" for "Your test token's balance"
[x] on / Add commas to balance. Balance show 7,500,000 instead of 7500000
[ ] Select a token menu is allways looking for token list, two options:

[ ] Is there a way that this is loaded at the beggining and not loaded again?
[ ] Add a loading component (wheel) when loading tokens, show loading instead of "no results found"

[x] on /liquidity Add a loading wheel when fetching for liquidity positions. Instead of "No liquidity found."
[x] On /swap. When there is no liquidity in a pair:

[x] Disable Swap button with the message:"Insufficient liquidity for this trade."
[x] Disable amounts and the "0" number should be in gray colour
[x] Disable SwapDetailsDropdown (for example: "1 BRL = 0 USDC " and "Network fee; ~$? Price Impact, NaN% Expected output, 0 BRL BRL logo") and
[x] show "Fetching best price..." instead of "1 BRL = 0 USDC " on SwapDetailsDropdown

[x]  on / When minting, the "loading" circle should Say "Minting USDC [loading circle]"
[x] on /swap in modal "Minimum received" should take into account the slippage
[x] on /swap in modal  "Maximum sent" should take into account the slippage

@chopan123 puede que
-Is there a way that this is loaded at the beggining and not loaded again?
-Add a loading component (wheel) when loading tokens, show loading instead of "no results found"
se haya resuelto con los cambios que han habido ? o no lo supe reproducir

Ahora los input se deshabilitan cuando no hay liquidez, cambie lo del dropdown tambien pero enverdad nunca llega a salir por que los input se activaba cuando se escribia en los input, y ahora nunca se llega a escribir ya que estan deshabilitados

Lo de
-Is there a way that this is loaded at the beggining and not loaded again?
-Add a loading component (wheel) when loading tokens, show loading instead of "no results found"
no lo he podido reproducir, pasare a to test


Using molecule-generated types that depend on blockchain.mol

If you want to generate go-code for molecule types that depend on and import types from blockchain.mol, the moleculec-go backend (version 0.1.11) produces code that needs to import the generated blockchain types and functions from the molecule package (essentially types/molecule/type.go).
There are two (related) issues with this:
1. The generated code does not qualify the names from the imported molecule package.
You could get around this by e.g. importing as follows:
import (
    ...
    . "github.com/nervosnetwork/ckb-sdk-go/v2/types/molecule"
    ...
)

One would still face problems, if one wanted to include types from different source packages (as there can be at most one dot-import as far as I know).
2. The moleculec-go backend produces and uses unexported functions (e.g. func packNumber(num Number) []byte).
As far as I know there is no way to "extend" remote packages in go and thereby make such functions visible and callable. The result is that the generated code (located in our project) that depends on ckb-sdk-go's molecule package's generated types for blockchain.mol will not compile.
A naive solution would be to just copy the type.go file into your local package, but this heavily restricts interoperability with the functionality in ckb-sdk-go as they would obviously be different types as far as the compiler is concerned.
Our current (unsatisfactory) solution for this is forking the ckb-sdk-go and placing our generated types directly next to type.go in the sdk's molecule package.
See: https://github.com/perun-network/ckb-sdk-go/tree/perun-types/types/molecule
In the go.mod of our project using this we then do the following:
require github.com/nervosnetwork/ckb-sdk-go/v2 v2.2.0

replace github.com/nervosnetwork/ckb-sdk-go/v2 v2.2.0 => github.com/perun-network/ckb-sdk-go/v2 v2.2.1-0.20230427093811-05bc15078e36

FYI: If you want to try and reproduce this, you can find our types here
This solution also "solves" the first problem.
It works for the compiler, but the disadvantages are apparent...
Our questions are:

Is there an idiomatic way to do this that we are overlooking?
Have other projects had similar problems? How did you solve this?

I feel like the best fix for this is through the moleculec-go backend. One could (a) qualify imported types with a package name and (b) avoid using non-exported function names.

I have a WIP PR to moleculec-go that may help this:
https://github.com/driftluo/moleculec-go/pull/7
This PR will help people to get a more generic way to generate type interfaces for realworld usage, reduce hand wrting type reflection(?) codes, and is convinent to use as the example shows. Will push to finish it in early May


Change version of python in travis macos test

Since some API used in onnx package isn't available until 3.5.2
Rel:

https://github.com/cython/cython/issues/1880
https://github.com/pybind/pybind11/issues/314

@take-cheeze Can you add more description? Relation between the issues cannot be understood without prior knowledge.

@niboshi Sorry for the poor explanation. Added one line comment.

Thanks!
Jenkins, test this please

Jenkins CI test (for commit fdcbb8efd1107a4b616cf184f9e8ac1646bf2034, target branch master) succeeded!


Upgrade fixup

This fixes #15072

the indentation in the cordon/drain section
the example output for draining a node
changes the section header to better reflect the action taken

/approve


flow: Add Debug type to 'debug' props

This type already exists, but was not used in the props.

Merged, thanks!


Add L1/L2 authoritative UK data sources.

Only use this data from 01/04/2020 onward, the sources start to agree around then (but the match is not perfect).
UK data up to this point is from Tom White's aggregation.

The test failure appears to be the Slovenia data source, looks unrelated to this PR.

@owahltinez I'm reliably getting a unit test failure (both on github and locally) when trying to fetch the new source, but if I run the source through update.py on its own it collects the data fine. Is there any difference in how the unittest code collects the data?

There is no difference, the majority of the time it is an issue with the way the metadata_query is written. I think we should make each source declare a list of countries and each level expected in the output, that way we don't have to manually create a regex which is very error-prone.
In this case, I think the query key.str.match('GB') is matching all regions containing GB which are many. Then the subset randomly picked for testing does not contain the one you want, which is exactly GB. To solve this issue, you can replace the query with: key == 'GB'.

Ah obvious in retrospect, thanks for the catch :)


Validation: Multiple fixes.

Category

[x] Content fix

Related issues
no issue number - part of the Validation cleanup efforts.
What's in this Pull Request?
This PR fixes 15 issues across 10 files.

Docs Build status updates of commit a6515b5:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/schema/alluserswebpart-element-module.md
:warning:Warning
View
Details

docs/schema/anchoring-element-refinerconfiguration-complextypesps15xsdsearchset2.md
:warning:Warning
View
Details

docs/schema/anonymousstate-simple-type-deploymentmanifest.md
:warning:Warning
View
Details

docs/schema/app-element-sharepoint-add-in-manifest.md
:warning:Warning
View
Details

docs/schema/app_globalresourcefile-element-solution.md
:warning:Warning
View
Details

docs/schema/appdefinition-complextype-sharepoint-add-in-manifest.md
:warning:Warning
View
Details

docs/schema/apphostwebfeatures-schema-reference.md
:warning:Warning
View
Details

docs/schema/appliestotypes-simpletype-action4.md
:warning:Warning
View
Details

docs/schema/applyelementmanifests-element-feature.md
:warning:Warning
View
Details

docs/schema/applyelementmanifests-element-upgradeactionsgroup-groupapphostwebfeatures.md
:warning:Warning
View
Details

docs/schema/alluserswebpart-element-module.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

docs/schema/anchoring-element-refinerconfiguration-complextypesps15xsdsearchset2.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

docs/schema/anonymousstate-simple-type-deploymentmanifest.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

docs/schema/app-element-sharepoint-add-in-manifest.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

docs/schema/app_globalresourcefile-element-solution.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

docs/schema/appdefinition-complextype-sharepoint-add-in-manifest.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

docs/schema/apphostwebfeatures-schema-reference.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

docs/schema/appliestotypes-simpletype-action4.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

docs/schema/applyelementmanifests-element-feature.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

docs/schema/applyelementmanifests-element-upgradeactionsgroup-groupapphostwebfeatures.md

Line 2, Column 1: [Warning: ms-prod-and-service - See documentation] Only one of the following attributes can exist: 'ms.prod', 'ms.service'. Use ms.prod for on-premise products, or ms.service for cloud services.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

The Content & Learning team is fixing build validation errors on docs.microsoft.com for the rest of H2. This will eliminate potential accessibility, security, and usability issues. This PR includes only build validation fixes and does not change other content. Please review within five business days and merge or comment in the PR with any changes you’d like to see. Thank you!


Register a new user with Oauth2 doesn't link account

Description
Reproduce procedure:

create an account with a username and email in the Oauth2 provider. The username and email should not exist in the Gitea instance.
On the register page, click sign in with your oauth2 provider. Then it will redirect to a page to confirm the creation of an account in Gitea, which is expected since the username and the email are not existed in Gitea.
Click confirm. Now a new Gitea account is created but in settings/security, you can't see the Account Linking information, which is unexpected.

Gitea Version
latest codebase
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
built with source code
Database
None

duplicate with #7056


Vet clinic database: add join table for visits.

Vet clinic database: add "join table" for visits by @habasm
Description and objectives

In this project, I added some many-to-many relationships and write more complex queries to use them to answer questions.
I manipulated the different types of relationships between tables.
Prepared complex queries that answer analytical questions.
Used primary key & foreign key mechanism for joining tables

The following screenshots shows sample SQL codes and query results

@CollinsTatang I fixed, but I am not able to accept a comment on README. because from the README it says that "no live preview". And nothing problem in the read me. And from the screenshot I added other shots, and I accept the comment.
Thanks, @habasm

@CollinsTatang I fixed, but I am not able to accept a comment on README. because from the README it says that "no live preview". And nothing problem in the read me. And from the screenshot I added other shots, and I accept the comment.
Thanks, @habasm

Hi @habasm
Great job implementing the requested changes, for the README it was optional sorry I didn't indicate it.


Clock: remove duplicated tests

These four tests are repeated immediately above

Nice find!
CI has an odd failure on this one, saying that an equality test fails. Do you have a moment to look into it? It seems weird that it would be related to this change.

Turns out the second iteration of test_clocks_with_hour_overflow overwrote the first one. There was a discrepancy between testing for equality and inequality. I made the fix!

Sweet, thanks so much!

@Dog I'm going to go ahead and merge this one.


SElinux disabling fails

When the selinux module attempts to set to 'Permissive', and some foolish sysadmin has outright deleted selinux, the module fails.
I have a simple check in #1049 that first checks for the existence of /etc/selinux/config and conditionally executes the module.
This is only an issue on ansible_os_family == 'RedHat'

This appears to be fixed by #1049.


Chrome 76.0.3809.136 lodash.js Syntax error

Describe the bug
wetty 2.0.2 cannot start in chrome OS (chromebook) running Chrome Version 76.0.3809.136 (Build officiel) (64 bits)
To Reproduce
Steps to reproduce the behavior:

Go to http://...../wetty
Open The developper tool
See the error : Uncaught SyntaxError: Unexpected token ?
See error in lodash.js at line 3 column 99 : ;return t=t**?**?Pe

Expected behavior
should load wetty properly.
Desktop (please complete the following information):

OS: Chrome OS
Browser Chrome Version 76.0.3809.136 (Build officiel) (64 bits)

I guess that would probably be something that I need to raise at lodash and not here, and I also don't have pretty high hopes of getting a fix since chrome 76 even thought not too old (2019-07-30) is reported as discontinued...
But I know people are reactive and helpful here, so maybe I'll get directions to fix it or where to post the issue ;)
Thanks in advance for your kind help!

could you post a screenshot of the console errors.
Version 2 of wetty dropped a large amount of backwards compatibility so as to take advantage of web_modules in the browser. Ill need to do some reading on browser support but one route if this is the cause is using weety 1.4.1 as that is a compiled with webpack. It'd be slower but supports older browsers

Hmm, did not see your answer last year, sorry.
Trying it now, I think it'll be a bit too much involved for me, as I see no release and only a tach for version 1.4.1 so my understanding is that I should build it myself. I also can't see a tag on the docker hub for 1.4.1 so it'll be more involved than just updating my compse file anyway.
Will give it a try when my lazyness leaves me someday, or if you hint me towards a hidden v1.4.1 tag on docker ;)
Will report if I get 1.4.1 working with tmy ancient chromebook. Thx for tha answer.


improved create_notification method

Improved method create_notification.

Now you can send multiple languages messages.
The default value None for the field contents, to be able use templates.
Use any additional parameters.

@deems Thanks :)


Start multi clusters during the tests

Are we able to use the e2e-framework to start more than one cluster in the setup?

I was able to create 2 kind clusters in the Setup main_test. How I can switch context between them? @vladimirvivien

Not sure you can switch context now. But that sounds like it's the ask: ability to switch kind context.

I'd love if we can have this feature as soon as we can.

@helayoty can you drop in a code snippet that shows exactly where/how this would be useful. Or, at least elaborate on the user story a bit? That way anyone of us can pick it up and run with an implementation (maybe if I have cycle I can do something with it).  Thanks again for bringing this upl.

@vladimirvivien  Something like
func TestMain(m *testing.M) {
	testEnv = env.NewWithConfig(envconf.New())
	// Create kind clusters
	testEnv.Setup(
		envfuncs.CreateKindClusterWithConfig("cluster1", "kindest/node:v1.23.5", "kind-config.yaml"),
		envfuncs.LoadDockerImageToCluster("cluster1", "image"),
		deployChart("cluster1","helm_chart_path"),
		envfuncs.CreateKindClusterWithConfig("cluster2", "kindest/node:v1.23.5", "kind-config.yaml"),
		envfuncs.LoadDockerImageToCluster("cluster2", "image"),
	).Finish( // Cleanup KinD Cluster
		envfuncs.DestroyKindCluster("cluster1"),
		envfuncs.DestroyKindCluster("cluster2"),
	)

	os.Exit(testEnv.Run(m))
}

func TestSucessScenairo(t *testing.T) {
	successFlow := features.New("Test happy flow").
		Setup(func(ctx context.Context, t *testing.T, cfg *envconf.Config) context.Context {
			kubeConfig1 := cfg.GetContext("cluster1")
			//deploy something in cluster1
                        kubeConfig2 := cfg.GetContext("cluster2")
                        // deploy something else in cluster2
			return ctx
		}).Assess(" something is happening", func(ctx context.Context, t *testing.T, cfg *envconf.Config) context.Context {
		//TODO
	}).Feature()

	testEnv.Test(t, successFlow)
}

This seems doable. But Might need add a few new API to support this with backward compatibility. Especially for things such as cfg.NewClient() and cfg.Client which can take a context and then use the right kube-config from there. Also some of the current behavior of how the cfg.NewClient works needs a bit of tuning. It does a whole lot to optimize creation of new client.
I for sure like the idea of being able to support multiple clusters at the same time and switch between them using a context during the test execution. However, can the same not be achieved by running the same test binary twice by setting different env variables that you can use to define your Setup  and then under Assess accordingly ?

However, can the same not be achieved by running the same test binary twice by setting different env variables that you can use to define your Setup and then under Assess accordingly ?

@harshanarayana I tried to do so but it seems if something went wrong the shutdown/destroy test env is not working correctly.

I think we should start a bit more details Design doc if we really want to tackle this. I tested a few things for quick check and there is a considerable amount of places where this will spread into. Retaining backward compatibility should also be accounted for.

Maybe solution/design is the following:

Start 1 or more cluster in env.Setup, each having its respective context
In assessment, have the ability to set the cluster context like cfg.WithClusterContext(...).Resources().ClusterOperation(...)
Then delete clusters in env.Finish

Essentially, have the ability to set cluster context name and the ability to specify the cluster context during cluster operation.

This was the same thing i had in mind.. Let me draft a design and open a PR to discuss further
/assign

/assign

@helayoty  @vladimirvivien  This was always possible without actually adding a new API. Turns out there was a small change required to get it working. I am opening a draft PR with the example of how to run multi kind cluster test with the small change required to get it working. Let me know what you think about it. Do we still need to add a new API or document the current one ? I am kind of inclined towards document with example.


[Outlook] (signature) Note OWA support for most APIs

Docs Build status updates of commit d3dfbc8:
:clock10: Pending: waiting for processors (5 builds ahead of you)
:warning: Docs Build is busy, currently there are 5 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit d3dfbc8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/objectmodel/preview-requirement-set/outlook-requirement-set-preview.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


⚠ Bofrost.at has degraded performance

In 852d2c1, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1454 ms

Resolved: Bofrost.at performance has improved in 351788a after 9 minutes.


Delay when opening system

Issue description:
Delay / "Lag" when opening system
@way2muchnoise mentioned in #641 that some profiling information could be useful, is this also the case here?
What happens:
when I right click any of the grids (Fluid and wireless not tested as I do not have them yet)
What you expected to happen:
Early game they opened instantly, I have 120k items in the system, so could easily simply be that it loses performance as the number of items increase.
Steps to reproduce:

right click a grid
move the mouse, screen will still move around a second or two
GUI opens
...

Version (Make sure you are on the latest version before reporting):

Minecraft: 1.10.2
Forge: <IP_ADDRESS>4
Refined Storage:1.2.22

Does this issue occur on a server? [yes/no]
I would assume so, though i have only used the mod in singleplayer
If a (crash)log is relevant for this issue, link it here:
I am not sure any logs would help, please do let me know if any are wanted

Can you make a video of this?

I should be able to.
Ill let you know in just a bit if i can get my software to cooperate

Cool. Do you have any other lag issues in your world? Or is it just the grid opening slowly?

It shouldn't lose perf with more items, since it's just an item count increase. Nothing special. What external storages do you have connected to RS?

I have some issues with actually crashing due to (I believe anyhow) lag when i fly around fast in RFtools dimensions.
And sometimes every minute or so theres a strange "Stutter" like a lagspike but quite short
This is in the latest skyfactory 3 release by the way.
Also, no external storage, only a disk block with 8 64k disks, 5 of them were added just before i stopped playing yesterday, so only the first 3 are in use.

Nvidia showdowplay is acting up, ill grab some dinner and come fiddle with it afterwards, should have a video done in an hour or so.

Cool, thanks. Is the stutter you're having a lag stutter (server not responding) or FPS stutter?

Im not sure, how would i tell?

Does Minecraft hang for a few seconds or is there lag when placing blocks or opening GUIs?

More like just a instant screen freeze, not really enough to annoy me, but enough so that i notice.
Aparently shadowplay makes very big files, so just put it on youtube
https://youtu.be/lA3ACRxR_X8

That screen freeze seems like another issue. But the grid issue is interesting. Which pack is this, and can you send me a world download? I'll have to investigate this locally in a dev environment.

Latest skyfactory 3 from the curse launcer, the beta version .7 i think it is.
World download was around 160 mb, and zipping only got it down to 16, so had to put it on dropbox, as githup only accepts 10
https://www.dropbox.com/s/2nw8ins0sgy56tv/Low Stress.zip?dl=0

Thanks. I'll take a look at it tomorrow.

Thanks. Do let me know if you end up needing anything else.

Sorry for prodding, just wanted to ask if you had a chance to look around in the save?

Not yet.

I'm having the same exact issue with my Refined Storage system. I had no issues with older versions of RS, but the new versions cause extreme lag when opening a grid. Here's a video to demonstrate the issue. https://www.youtube.com/watch?v=VUnEgZCzfTg

I don't want to be annoying, but this issue renders the recent updates of the mod completely unplayable. Had a chance to look at this yet? :(

Sorry, but you're being annoying. I'm on a vacation.

Wish I got that much vacation time. May I ask where I sign up?

Nowhere. Perhaps show some respect.

Well damn I was looking forward to my new job. Either way I give people who earned respect the respect they deserve. I was for sure no disrespecting you. I don't have RS I'm considering it right now for me pack. I was just checking this out and I saw this vacation thing and I thought what a perfect time to lighten the mood.

Is there any update on this issue? Probable causes, workarounds?

No updates on this one.
Probable cause: item with too complex NBT in the system.
Workaround: remove the item with too complex NBT in the system.

I'll try removing all armor and weapons that have a damage value attached. What other items would have complex NBT?

All highly customized items like enchanted ones, portable containers, tinker's tools, etc.

I had this same issue over the past few days, until I ended up seeing over 12000ms lag spikes whenever I opened a grid.  After seeing this thread, I exported all of the bows, weapons, and armor (many enchanted) my mob farm had collected into a trash can and now my grid access is quite responsive.  Thanks for the tip about complex NBT items creating issues with RS, and thanks for a great mod!

I had hundreds of pieces of leather armor and stone swords from a mob farm in my system. The weirdest thing happened--the damaged stone swords can no longer be removed from the system. They seem stuck in the drives. I can't even use an exporter to get rid of them. Anyone face this issue?

I've found out some more info about this issue--I destroyed nearly all complex NBT items from my inventory, but still had about 4-5 seconds of lag upon opening the grid. I disconnected all of my crafters with patterns, and that further reduced lag to less than 1 second upon grid opening. I have about 1200 patterns stored in my Refined Storage system, so that might help diagnose the problem.

@rYanGap Is this 1.11?

Also, I had to power cycle my grid to clear out a number of items that had been exported but still were showing up in the grid, which cleared a lot of lag.  This is still in SF3, so 1.10.

@rYanGap Is this 1.11?

I'm in a 1.10.2 modpack which is running the latest release version, Refined Storage 1.2.25. I haven't tried it with any of the beta versions.

The cause of this has been identified as #1041.
Closing because that issue is more relevant.


rbac error

moderator haven't moderator's panel in thread and when anybody want to see his profile  - error
error log :  "'yii\base\ErrorException' with message 'Trying to get property of non-object' in /home/www/site.com/vendor/bizley/podium/src/views/members/view.php:109"
dump of $model->mods :
0 => bizley\podium\models\Mod#1 ( [yii\db\BaseActiveRecord:_attributes] => [ 'id' => 14 'user_id' => 29 'forum_id' => 27 ] [yii\db\BaseActiveRecord:_oldAttributes] => [ 'id' => 14 'user_id' => 29 'forum_id' => 27 ] [yii\db\BaseActiveRecord:_related] => [] [yii\base\Model:_errors] => null [yii\base\Model:_validators] => null [yii\base\Model:_scenario] => 'default' [yii\base\Component:_events] => [] [yii\base\Component:_behaviors] => [] )

Have you by any chance deleted manually forum entry with the ID 27 in your database?

But nevertheless there should be additional check for existance of this.

Have you by any chance deleted manually forum entry with the ID 27 in your database
forum entry with the ID 27 exist in database. Same error with any existing forum entries and with any users who has moderator role


use non-allocating ldiv! instead of \

I just noticed that you use \ with a factorization (#19). Using ldiv! instead reduces allocations. The performance will likely not be very different unless GC becomes a bottleneck for you.

Great, thanks for the drive by! Did you by any chance do a benchmark before/after that you could share such that we record the difference for future reference?

25% less allocations for the benchmark described in #19, less than 10% difference in runtime.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.399%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
389

Relevant Lines:
421

💛  - Coveralls

25% less allocations for the benchmark described in #19, less than 10% difference in runtime.

Great thanks!

Looks great! thanks for adding this.


Feat/phrase creator

Resolves #20
Proposed Changes

[x] PhraseServices::Creator
[x] Yard document

PhraseServices::Creator
PhraseAnalyzer

[ ]   File: docs/js/app.js:L1-293
 Unnecessary semicolon.

This pull request is now managed with CodeReviewHub. Refresh.

:shipit:


Change isReferrable default

There has been too much confusion around setting isReferrable only on
fresh installs.
@shortstuffsushi

I don't really understand this change, could you give a little more context? If we're going to do this on both iOS and Android, why don't we just start ignoring it server side again?

Well, it's still an argument that's optional for the developer? How is ignoring it equivalent to this?

Were we ignoring developer requested referable in the past? I suppose we probably were, since that was a blanket "ignore anything below xxx version." So, I guess in that sense, it wouldn't be the same if we moved back to ignoring on the server.
However, I still don't understand the motivation for this. We've had a number of updates around this behavior, but I was under the impression we were fairly confident about it at this point. We even have tests around it. Can you explain more about what's confusing people here, and why we want to remove this behavior as a result?

We made a product decision early in the SDK days to only allow Branch users to be eligible for referral if they were genuine fresh installs. This is what felt like the right thing based on when we were working on Kindred. Unfortunately, this is what we refer to as 'magic' - undocumented and unexpected functionality that happens without notifying the user. It causes things like getFirstReferring params to be empty when a user certainly clicked on a link. It has continued to generate a significant number of support requests, where people don't understand why referrals aren't being counted for existing users or params are empty. We then have to explain the design decision.
Since we've been ignoring it for older versions and continue to have to explain it's functionality to new integrators, it's safe to assume that this default magic was a poor product decision that should be reversed.

I didn't know there were tests - does CircleCI ignore tests right now or something?

I'm not sure that this is the right solution to the problem you're describing, but if you'd rather do it this way, we can merge it in. I just think it's likely that now you're going to start hearing from the people relying on this behavior suddenly seeing unexpected spikes in installs. We'll see, though.
The tests are not ignored, they're run against all branches, but they aren't integration tests, so this particular change isn't captured. The tests are around the getUpdateState behavior (it's linked above), which could probably be removed if we're moving to this behavior.

Ah - this doesn't change the getUpdateState at all. That will still be used determine whether it's an install | open. This change just reflects isReferrable.
Do you have another idea? I want to change the product functionality and I don't know how else this could be done.

We don't use update state to determine whether we send install or open, we're basing that purely on presence of an identity_id.
Aside from isReferrable, the update state is passed into the open/install request bodies, and that's the extent of its use, I think. The backend seems to use that value for determining +is_first_session, so if that's the functionality that our users are confused by, this won't fix that (as a side note).
The open/install response handling also will still only set the firstReferringParams if there is no identity_id (and no referring params already). Will this, or that backend +is_first_session still result in confused users?

The update state is used to determine if a 'install' or 'open' event should be saved in the database on that call the initSession. We definitely need it. That is not the functionality that users are confused by....
The functionality users are confused by is that we only pass is referrable true for fresh installs on the client side. Please see 4 comments up for explanation...... I want to reverse that product decision. Since we've been ignoring it for older versions and continue to have to explain it's functionality to new integrators, it's safe to assume that this change will not impact anyone.

OK. I'm not entirely confident in this change, but I'll take your word for it :+1:


Visual glitch when recording a video

I have one small problem, a visual glitch when recording a video.
I really want to use wl-screenrec, because the quality of the video is better then wf-recorder. (But I dont have this problem with wf-recorder)
You can see the visual glitch on the video at the beginning of the video:
Video
vainfo
wl-screenrec -v
Hardware:
Intel CoffeeLake-S GT2 [UHD Graphics 630] 9th generation Core
I try to set enable_guc=2, maybe that will help to solve the problem, but for some reason it doesn't loaded.
When I do this: "sudo dmesg | grep -i guc"  I see nothing in the term
But according to the Arch wiki that should work.
Arch wiki

Do you get this issue with wf-recorder -c h264_vaapi -d /dev/dri/renderD128?

No I dont have this issue with this command wf-recorder -c h264_vaapi -d /dev/dri/renderD128
With wl-screenrec it happen in average 2 times per one minutes of a video.

If you increase the bitrate does it happen?  --bitrate

I am not able to reproduce the problem now, may its because Mesa Intel drivers update to version 24.0.
I will continue to investigate.

Closing as it appears fixed. Reopen if you see it again


Vastly improve the performance when the number of packets is large

Currently when the incoming stream is large (and segmented into e.g. more than 10,000 packets), Buffer.concat gets called every iteration. This dramatically slows down data reception and results in minutes of local transmission for a 40MB document. The speed could be greatly improved by maintaining a buffer array, and only concatenate it at the complete reception of a document.
I observed at least ten times speed improvement on a document that is 40MB in size.

Added a test.

Added a test.

Thanks for you PR.
I'm sorry, but I'm no longer active with Node.js. Only obvious bugs will be fixed. I won't add new features or do extensive code changes like proposed in this PR.


[WIP] Add support for both contract and non-contract for Canada Post

Summary of changes:

Removed constants throughout the code and changed them for small helper methods that know which value to return.
@options[:contract_id] will tell which version of the payload must be generated.
Added conditional base on contract? to have both implementations on the same file.

TODO:
Implement tests for both scenarios.
review @Shopify/shipping

It is probably worth going through the API and ensuring the implementation reflects the latest versions for non-contract and contract both requests and responses.
I believe the response to a the creation of a shipment for contract either contains new/update fields that the current implementation does not handle or are different from non-contract shipping.
See https://www.canadapost.ca/cpo/mc/business/productsservices/developers/services/shippingmanifest/createshipment.jsf with specific attention to the response link elements.

We already have tests for the non-contract version. I'll write tests for the contract requests.

:+1:


Remove Android Leftovers

Android support is discontinued, let's get rid of this clutter for a cleaner work environment.

CI approves, this should be ready to merge

we were gonna keep the android stuff just in case people wanted to try and continue android support, but they can use older commits before this so, yeah

we were gonna keep the android stuff just in case people wanted to try and continue android support, but they can use older commits before this so, yeah

if android support we're to return i feel like it would be better to maintain it on a separate branch, the process of maintaining desktop and android is so different it would probably be best


lease: Add clockwork

Replace time.Now with clockwork.Clock.Now. Speed up lease expiring in
test.

I didn't monify time.After(500 * time.Millisecond) in lessor.runLoop function. Because it's a trigger for period function runLoop, not related to expiry.

I don't think this is a worthwhile optimization given the increased complexity of having to instrument with clockwork since the tests take under 4 seconds on my machine.

@heyitsanthony
Expiry releted tests (TestLessorExpire and TestLessorExpireAndDemote) grant lease for 1s, not a long time indeed.
There'a comment TODO: use clockwork for testability. in lease code. Since clockwork just helps advancing expiry here, maybe remove this comment?

TODOs are more of a note of something to possibly do later; the issue tracker is more reliable for finding worthwhile things to add to the code. If there were tests that would be too slow without clockwork, then the TODO would be more relevant here...

@heyitsanthony Thanks for your detailed explication.


Update appstore profile

@marcaaron will you please review this? cc @AndrewGable @roryabraham
Details
This PR updates the appstore provisioning profile using the directions listed here.
Fixed Issues
Fixes broken iOS deploy coming from slack
Tests

I downloaded the appstore profile from developer.apple.com and double-clicked it
Opened Xcode and confirmed that under Signing, there were no warnings about the profile such as

error: Provisioning profile "chat_expensify_appstore" doesn't support the Associated Domains capability

Not sure if there is anything to test here, but LGTM.

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@Jag96 Hello! This PR looks like internal QA. If so, can you let me know when it's QA'd in staging so I can check it off the deploy list? Thanks in advance!

This is good to check off!


Use optax for PixelCNN example

Part of #1053

Nice! I suppose you didn't run this to verify it trains correctly? If not, I'm happy to kick off a run on a v3-8 myself!

I run for very few steps, so yeah please kick off a run :D

Kicked off a run! Let's see in ~4d 😄 . We've had some problems with this example before so I'd like to make sure it reaches the right accuracy.

Codecov Report

Merging #1413 (aa96a52) into main (5c677ea) will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1413      +/-   ##
==========================================
+ Coverage   82.27%   82.29%   +0.01%
==========================================
  Files          65       65
  Lines        5332     5332
==========================================
+ Hits         4387     4388       +1
+ Misses        945      944       -1

Impacted Files
Coverage Δ

flax/core/frozen_dict.py
98.93% <0.00%> (+1.06%)
:arrow_up:

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 5c677ea...aa96a52. Read the comment docs.

I just did a short run on the original example and there everything works fine. The problem is that in your PR, after 43 epochs the loss starts diverging. I ran on 8TPU, but I'll run again on 8GPU to see whether it happens there as well (we have problems running this example on TPU before).

@joaogui1 and me discussed offline. The problem is that on TPU, after about 43 epochs the loss starts diverging. Here is an example log: https://pastebin.com/FHTihf12
Joao told me that he made a change to the learning rate schedule, and since he has access to a TPU, he will try running the experiment and see whether the loss behaves better now.
Handing this PR over to @avital , who is the other owner of this example, since I will be OOO for 7 weeks starting tomorrow.

@marcvanzee also got the divergence here, no idea why it's happening :/

Any help here @marcvanzee @avital ?

Both @marcvanzee and @avital are out of office this week. I'm not sure if they have figured out a possible reason for the divergence. I think @avital will get back to you in a week or so.

Hi @joaogui1 I'm back from parental leave! 👋
I vaguely recall this example was always somewhat problematic on TPU, so I think we should first make sure the divergence only occurs after your change and not before. Therefore, I think we should run the PixelCNN++ example a few times without your change and make sure the loss behave correctly after 43 epochs. If so, then there is definitely something wrong and I think we should bring in someone from the Optax team. Do you still have access to your v3-8?

Oh, congrats on the child :D @marcvanzee
I still have access to them, I can test the previous version over the week and see how stable it is, will report back after that's done

Closing this since we remove the PixelCNN++ example.


Not Show full screen side menu

Hello before you thank the work done in the library. My side menu is not shown in full screen is cut to the height of the main menu, what am I doing wrong ?. My configuration is this:
`SideMainVC *sideMainController=[[SideMainVC alloc] initWithNibName:@"SideMain" bundle:nil];
    MainPrincipalVC *mainPrincipal = [[MainPrincipalVC alloc] init];

LGSideMenuController *sideMenuController = [LGSideMenuController sideMenuControllerWithRootViewController:mainPrincipal
                                                                                leftViewController:sideMainController
                                                                                rightViewController:nil];
sideMenuController.leftViewWidth = 250.0;
sideMenuController.leftViewPresentationStyle = LGSideMenuPresentationStyleScaleFromBig;
sideMenuController.leftViewBackgroundBlurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleRegular];`

Thanks you

Hey I am facing the same issue. Have you got the fix?

Hey You can use
    `lgSideMenuVC.modalPresentationStyle = .currentContext`

Take a look at demo projects. they have good examples of how to setup everything.


Fix test_allow_volume_creation_with_degraded_availability_error

https://github.com/longhorn/longhorn-manager/commit/acd2cee029bfc63ffd3c81b1892521e700868da3
https://github.com/longhorn/longhorn/issues/2515

Regression Build#184.


[Feature Request] Fairqueue

Do you have any plans to implement it?

Discodo has not received owner of the source.
I may intend to add a payload that change source's order number so that client can make it.
Please add reaction if you want that.

Transfer to https://github.com/kijk2869/discodo/issues/85


Remove defunct '(provide 'init)' in init.el

Hello:
I did not find any other files require the 'init.el'.
So I don't know why this code is still useful ...And it also triggered a error report of syntax check(flycheck) for false positives  of defconst

It's also harmless and makes the file a little more consistent, so I prefer to keep it, thanks. At some point I might go through all the files and add proper headers/footers.

Well...


possibility to update only one (typically sub-) menu without redrawin…

…g them all and thus avoiding reposition or resizing

unfortunately, with the next commit, you reverted these changes, so that they are not in the master anymore

Apologies! Apparently I didn't notice the reversion when committing. Should be fixed in the next commit.


[wasm/js] find or implement fs.open mapping to local storage and working

so load/save can work on the web client version

Possible pointers from slack #webassembly : (thanks Bailey Hayes)
The emscripten toolchain has a couple different impls for filesystems. IDB FS uses IndexedDB: https://emscripten.org/docs/api_reference/Filesystem-API.html?highlight=fs#filesystem-api-idbfs
Note there are some gotchas to using localStorage: https://emscripten.org/docs/compiling/Deploying-Pages.html?highlight=localstorage#providing-a-quick-second-time-load
If you build targeting wasip2 and then use jco to build for the web, you'd be able to use the shims as part of the jco ecosytem (wasip2): https://github.com/bytecodealliance/jco/blob/main/packages/preview2-shim/lib/nodejs/filesystem.js
In practice, I usually see most folks use an in-memory fs for portability (like emscripten's). A third option is to build a wasip2 component and then compose with wasi-virt to virtualize the fs (aka it's an in-memory fs): https://github.com/bytecodealliance/wasi-virt. This approach is more bleeding edge and will likely have a few rough edges.
You could also take a look at jsfs, which implements all of the os stdlib io functions with a persistent IndexedDB backend. (You need to use this
wasm_exec.js along with it).


HTML comments in middle of block

Motivation
Comments in Markdown aren't really a thing, but they can come in super-useful.  As alluded to in the test-case, MOE can be used to sync between internally developed projects and open-source versions.  Part of that requires maintaining internal & external developer docs.  MOE directives in comments make that a lot easier, but if they can't appear in the middle of a bullet list that becomes a lot harder.

Current Behavior
src/document.c recognizes  style comments as a standalone block.
src/smarty_pants.c seems to recognize them anywhere though I haven't tested.
--
Changes
This adds a test-case and tweaks document.c to copy HTML comments over the same way it copies tags over.
The HTML comment recognizing code is a bit of a copy/paste job from parse_htmlblock but that version does a bunch of extra work.  I can factor out the common code if you'd like.

commonmark example-567 says the markdown
foo

corresponds to the HTML

foo

The v3 codebase is no longer in development other than for fixes, but/so I think a change like this one is acceptable.
However, your code isn't very legible and it seems to trigger an out-of-bounds read when the closing --> is not found. (i.e. control continues, the rest of the function executes with i > size)

Sorry, I spoke two early! The conditional on the next line completely resets i so it's okay.
If @devinus agrees, we can merge this.

I was unaware that there is a newer version.  Should I try to effect a similar change in the dev version?  Where would I find that?

Would you like a testcase for -- at the end of input?

This is a good fix IMO.

Okay, about to merge.

Would you like a testcase for -- at the end of input?

No, it's good. Our handling of comments isn't HTML compliant anyway.

I was unaware that there is a newer version. Should I try to effect a similar change in the dev version? Where would I find that?

No worries, the dev version targets CommonMark compliance, and it already parses HTML comments, both inline and block.

Released v3.0.6 with this and #174.


WIP - Convert to typescript

WIP - Feeback is welcome
This is a refactor of existing functionality. I've added Types so that we can confidently make changes to the config.  There is also Config validation at runtime
Config Types are found here
Changes:

Add TypeScript implementation
Add .nvmrc so that users can simply run nvm use
Add node engine constraint in package.json
Validate config at run time using Yup
Add tests for Yup
Add jest for testing (It plays nicer with TypeScript)
Add prettier & eslint / typscript linting

TODO:

Add yup validation for nodes based on the provider given. e.g. If the provider is gcp or aws then zone is required.
Update Readme

Config Validation at Runtime

Any reason you closed this?


qwen 14b 不微调的情况下，问相同的问题，模型输出也不太一致，是为什么？温度已经设置成0了

          > > 我也遇到了，好像确实都不行，同求解

好像不微调也会，没搞清楚怎么引起的

想问下这个问题解决了吗？
Originally posted by @Elissa0723 in https://github.com/QwenLM/Qwen/issues/1025#issuecomment-1960662030

Hi!
It appears that the original author was using a quantized model. Unfortunately, most efficient kernels for GPTQ or AWQ use non-deterministic algorithms, such that the results may be slight different even when do_sample is set to False. In addition, transformers does not accept temperature=0 in recent versions and it will ask you to use do_sample=False.
However, it is unclear that whether your issue is the same with the one you have referenced. Please describe with more details, such as which model were you using and which framework were you using.

As Qwen1.0 is no longer actively maintained, we kindly ask to you migrate to Qwen1.5 and direct your related question there. Thanks for you cooperation.


Documentation of new auth flow

document the new auth flow with the change to v5

https://tapis.readthedocs.io/en/latest/specialized-services/globus-proxy.html


fsm_log_by decorator does not persist by

model:
@fsm_log_by
@transition(field=status, source=Status.PENDING_CODE_REVIEW.name, target=Status.CODE_REJECTED.name)
def reject_code(self, by=None):
        print('REJECTING...')
        print(by.id)
        pass

(Successfully prints user's id but doesn't persist by to StateLog)
views.py:
def post(self, request, job_id):
     job = get_object_or_404(Job, pk=job_id)
     if not can_proceed(job.reject_code):
          raise PermissionDenied
     job.reject_code(self.request.user)
     job.save()

DB:
postgres=# select * from django_fsm_log_statelog;
 id |           timestamp           |     state     |  transition  | object_id | by_id | content_type_id
----+-------------------------------+---------------+--------------+-----------+-------+-----------------
  1 | 2018-02-06 14:40:30.159429+00 | QUEUED        | approve_code |         2 |       |               1
  2 | 2018-02-06 14:58:45.591487+00 | DELETED       | delete       |         1 |       |               1
  3 | 2018-02-06 15:28:10.691508+00 | QUEUED        | approve_code |         3 |       |               1
  4 | 2018-02-07 14:08:30.8747+00   | CODE_REJECTED | reject_code  |         4 |       |               1
  5 | 2018-02-07 14:09:42.174577+00 | CODE_REJECTED | reject_code  |         5 |       |               1
  6 | 2018-02-07 14:32:12.451424+00 | CODE_REJECTED | reject_code  |         6 |       |               1
(6 rows)

REPL:
>>> StateLog.objects.get(pk=6).by
>>> StateLog.objects.get(pk=6).by_id

This is with the latest pip release, 1.5.0

Found my obvious rookie mistake -- passing in the user as an arg rather than kwarg.
Fix:  job.reject_code(self.request.user) -> job.reject_code(by=self.request.user)


Fix: Fonts on Safari browser

What kind of change does this PR introduce?
Bug Fix

Why was this change needed?
Fixes #1223

@ManishMadan2882 can you check once you are free if this is fine?

@shatanikmahanty I tested on Safari, there wasn't any difference.
Could you please check it once, just make sure that you test on Safari specifically.

@dartpain can you please merge once you are free, thanks ❤


Repackaged the DataminrPulse Solution with updated version 3.0.1

Change(s):
Updated solution version to 3.0.1 and repackaged it.
Reason for Change(s):
To update the solution version as we are facing error while upgrading the existing offer with version 3.0.0
Version Updated:
Yes
Testing Completed:
Yes
Checked that the validations are passing and have addressed any issues that are present:
Yes

Hi @niralishah-crest, Please accept license agreement


Minimal changes for partitionable devices in DRA evolution prototype

This PR adds the minimal fields needed to support partitionable devices. A few notes for consideration:

Terminology chosen is SharedAllocatable for the shared pooled resources, and SharedAllocatableConsumed for the device values that consume items from the pool.
SharedAllocatable is a []ResourceCapacity which is a struct with just name and quantity. This leaves out BlockSize and IntRange stuff to keep it as simple as possible.
SharedAllocatableConsumed is a map[string]resource.Quantity to mirror PodSpec requests. Given that this is the capacity model, not the claim model, consistency may not be needed here. In that case, we can probably change this to a struct instead, which would give us more room for expansion in the future.
Max in each list is arbitrarily set to 32.
Since SharedAllocatable is directly in ResourcePool, that means each partitionable device needs to be its own pool. We could consider two other options:

Create another type for groups of SharedAllocatables. Kevin had this in an earlier version. Then each physical GPU would be in one of those, and the devices would name the group in addition to the pool in their SharedResourceConsumed:

type ResourcePool struct {
  ...
  Devices []Device

  SharedAllocatable []AllocatableGroup
}
type AllocatableGroup struct {
  Name string
  Allocatable []ResourceCapacity
}
type Device struct {
  ...
  SharedAllocatableConsumed []ResourceRequest
}
type ResourceRequest struct {
  AllocatableGroupName string
  ResourceName string
  Quantity resource.Quantity
}

Instead of the pool containing Devices []Device it would instead contain DeviceGroups []DeviceGroup where:

type DeviceGroup struct {
  SharedAllocatable []ResourceCapacity
  Devices []Device
}

I am sort of OK with the pool-per-GPU, as it is the most minimal change. I could also see going for the AllocatableGroup option as well, since it is incremental. I don't at this point like the last option much.

Partionable devices, along with driver-side magic, can also support the idea of "compound devices". Here's how it would work.
Suppose we have two drivers, one for GPUs and one for NICs. We have nodes with 8 GPUs and 4 NICs. We want to allow certain "valid" combinations of these to be consumed as a unit. The "rules" here are:

NICs are not available without a GPU
GPUs are available with or without a NIC, but specific GPUs go along with specific NICs, like:

gpu0,1 go with nic0
gpu2,3 go with nic1
gpu4,5 go with nic2
gpu6,7 go with nic3

This implies the following valid "molecules" for the triplet (gpu0, gpu1, nic0):

gpu0
gpu0 + nic0 (leaving gpu1 only available by itself, without a NIC)
gpu1
gpu1 + nic0 (leaving gpu0 only available by itself, without a NIC)
gpu0 + gpu1 + nic0

Similarly there are 5 valid combinations for other triplet.
So, what we do is create a "compound device" driver that runs on the node but acts as an intermediary between K8s and the drivers for the underlying devices. It contains an in-process mini API server that serves the ResourcePool API, and we point the GPU and NIC drivers at that local instance. It in turn constructs a new compound pool on top of those drivers, using this partitionable model.
apiVersion: resource.k8s.io/v1alpha3
kind: ResourcePool
metadata:
  name: node0-compound0
spec:
  driver: compound.example.com
  nodeName: node0
  devices:
  - name: gpu0
    sharedConsumed:
      gpu0: 1
  - name: gpu0-nic0
    sharedConsumed:
      gpu0: 1
      nic0: 1
  - name: gpu1
    sharedConsumed:
      gpu1: 1
  - name: gpu1-nic0
    sharedConsumed:
      gpu1: 1
      nic0: 1
  - name: gpu0-gpu1-nic0
    sharedConsumed:
      gpu0: 1
      gpu1: 1
      nic0: 1
...
  sharedConsumable:
  - name: gpu0
    capacity: 1
  - name: gpu1
    capacity: 1
  - name: gpu2
    capacity: 1
  - name: gpu3
    capacity: 1
  - name: gpu4
    capacity: 1
  - name: gpu5
    capacity: 1
  - name: gpu6
    capacity: 1
  - name: gpu7
    capacity: 1
  - name: nic0
    capacity: 1
  - name: nic1
    capacity: 1
  - name: nic2
    capacity: 1
  - name: nic3
    capacity: 1

Of course, we will need logic to manage and publish the attributes; qualified attributes probably make the most sense here!
There are a few limitations:

Underlying devices will only be available as part of a compound device. You cannot make them available both as independent devices managed by their own drivers, and as part of a compound device.
Theoretically it would be possible to make a compound device that includes partitions from underlying partitionable devices, but this would likely be pretty difficult and is not something we should make a priority (in fact the compound driver probably should not allow it, at least for the foreseeable future).
Similarly, when we add allocatable device resources as a way of creating fractional devices, we probably will want to exclude that from the compound device driver functionality. It may theoretically be possible to support fractional devices in the compound device by a utilizing fractional allocation of underlying devices, but that would be...complex.

I'm not sold on the complex-device scenario you proposed here, but I think we could iterate on that later.
The more important thing is to agree on the API for partitionable devices, and I'm fairly happy with the naming / structure I proposed in my comment here: https://github.com/kubernetes-sigs/wg-device-management/pull/27/files#r1634768662

I'm not sold on the complex-device scenario you proposed here, but I think we could iterate on that later. The more important thing is to agree on the API for partitionable devices, and I'm fairly happy with the naming / structure I proposed in my comment here: https://github.com/kubernetes-sigs/wg-device-management/pull/27/files#r1634768662

Yeah, that is 100% on top of this without affecting what this looks like. It's something I want to prototype before too long - but it would be out-of-tree anyway :)

SGTM

The rationale for that:

The quantities are for machines, not humans, so efficiency trumps readability.
No nesting means that the maximum slice size can be higher, with the driver deciding how they want to use that.

Since this is "what's in the KEP" I think we should merge it and rebase all the options on it, so they appear as diffs.  But I screwed up and LGTM'ed option 2 (#29)  I don't hjave super on this repo, so I cannot manually fix

Ok, this matches the KEP. Merging.


Contribution both failed and successful

I have a picture that I contributed via the app normally, as a single picture (not multi-upload), and that appears as two thumbnails in the home gallery: one failed, one succeeded.
I have no idea how to reproduce. It is the first time it ever happens to me.
Pressing the cancel button does not make it disappear, so it seems that I will have that fake failed upload stuck at the top until I reset the app.
System logs:
I don't have upload logs but here is what appears when I push the "Cancel" X button:
ContributionsListAdapter: Skipping deletion for non-failed contrib fr.free.nrw.commons.contributions.Contribution@de4851f

Device and Android version:
Android 7.1.2
Commons app version:
<IP_ADDRESS>
Screen-shots:

Contributions have been refactored, should not happen on latest commits. Closing this issue, feel free to re-open if someone manages to reproduce this again.


Tabbed Section - Design Specs does not match with example

Specs in the image for Tab Height = 48px
Tab Height in the example  = 46px

It has been fixed, it will be available in next release.


Switch build system to rebar3

It's time to drop the autotools and use a common Erlang build system as the primary and only way of building yamerl.
The Debian package will also be dropped. It can be restored in a separate repository, it doesn't belong to the "upstream" source repository.

The switch-to-rebar3 branch was merged. I still need to restore the publication to Hex.pm.

Version 0.4.0 is available on Hex.pm.


dependsOnGroups for BDD and Gherkin need alwaysRun=false

QAF Version - 2.1.13

Note: only the latest version is supported

Steps To Reproduce
1. Create two BDD or Gherkin scenarios where the second scenario depends on the first one:

SCENARIO: Second
META-DATA: {"dependsOnGroups":["test1"],"groups":["test2","SMOKE"]}
Given second scenario step
END
SCENARIO: First
META-DATA: {"groups":["test1","SMOKE"]}
Given first scenario step
END
2. Create a testANG configuration file with following configurations:

<test name="Web Debug Test" enabled="true"> 		<groups> 			<run> 				<include name="SMOKE" /> 			</run> 		</groups> 		<classes> 			<class name="com.qmetry.qaf.automation.step.client.text.BDDTestFactory" /> 		</classes> 	</test>
3. Implement the two steps for the given scenarios with the following step definitions:
@QAFTestStep(description="first scenario step")
	public void first_scenario_step() {
		System.out.println("FIrst scenario step");
		Assert.assertFalse(true);
	}

@QAFTestStep(description="second scenario step")
	public void second_scenario_step() {
		System.out.println("Second scenario step");

	}

Expected behavior
The second scenario should not be executed when the dependent scenario fails.
Actual behavior
Both scenarios are executed
Is the issue reproducible on runner?

[x] QAS
[x] Maven
[ ] Gradle
[x] Ant
[x] Eclipse

Test case sample -

Code to reproduce shared.

Description -
We need the default behavior of testNG to be replicated in BDD and Gherkin scenarios so if any of the dependent scenarios fail, then the subsequent scenarios are not executed. If we can have the provision to provide the 'alwaysRun':false in the Meta-data then that would be great.

Can you also provide clear working examples how to implement this in Gherkin in the qmetry documentation. Thanks.

Thanks for helping us with this issue.
I am sorry but, I am afraid that now it will always not run the dependent scenarios in case of failure. I believe what we were looking for a solution that would give us an option as a configuration to change the true or false based on the user needs.
Is that possible to achieve?

I faced similar issue as the second scenario is still executed if the first one fails.
Is there any suggestion for it?


Look into double/single quotes for tags

Do you mean allowing for <sergey-import src="header" /> or <sergey-import src='header' /> interchangeably?

Not a huge priority


Internalizing getComponentHierarchy instead of deferring to handlers so we can support a hierachy mixed across technologies

:shipit:


Using @set right after @foreach throws FatalErrorException

Using @set right after @foreach throws FatalErrorException in daf5b1ff7385a6726aacd9e899b61add line 42: syntax error, unexpected '<'
For example:
@foreach( $categories as $c )
@set('products_cnt', count($c->products))
throws error, but putting @set within any tag
@foreach( $categories as $cat )
<i>@set('products_cnt', count($c->products))</i>
works just fine

thanks, will fix the issue in the next couple of days.

fixed with 3.0.0. make sure to re-publish the config file


Questions regarding contributions to this project

Hi !
First thanks a lot for this awesome project
I'm currently using intensively deno_dom to test a back/front dom templating library.
Since some behaviours are not mimicked/not implement, I'm currently monkey patching them in my codebase but I figured out that I could offer them upstream (such as #160 for .toggleAttribute) so everyone can benefit
However my question is which what's the exact scope of this project and what is accepted ?
Some of these feature might be "niche" stuff I guess
I'm currently having some mocks for:

window.CustomElementRegistry

Custom Elements (only the connectedCallback() is called though)

some <input>, <textarea>, <select> specific behavioir (implements .value, dispatch new Event('input') on value change)

for <select> implements .multiple and .selectedOptions
for <option> implements .selected

If this is somewhat within the scope of this project, I'll start submitting other pull requests in the next days

Hey, sorry for the late response.
Yeah, I'm generally okay with contributions. Relatively large contributions though I'd like if they could be discussed in some form. You could submit a PR but of course you know large PRs and complex changes will take a bit of time to review and discuss which might be okay depending on your availability. I will review your outstanding PRs now

Yeah I understand, I'm not planning on submitting large prs anyway since it's easier for both maintainers and contributors, whether it's for reviewing, reverting or amending
If I understood correctly the way deno-dom is designed, I'm assuming implementing specific behaviour would be by adding new elements in src/dom/elements (like for <template>, which seems the only one to be implemented currently).
So basically I was thinking on creating HTMLInputElement, HTMLTextAreaElement, HTMLSelectElement and HTMLOptionElement which would extend Element, and then I'd start implementing additional properties in them (the ones enumerated in first post, so value, selected, multiple and selectedOptions where they apply).
I'll check later for custom registry, since implementing it doesn't seem to difficult, but implementing the custom-elements are probably tricker and the solution I have currently is probably not compliant (I'm just calling the connectedCallback() right now since it's the only functionallity I need).
Assuming everything above is the way to go, there is still one point that'd be blocking (and tbh I don't really want to work on it since I don't know the implications and also would like to avoid touching too much on "core" code anyway), it's how elements are created
From what I've seen it occurs in two places:
https://github.com/b-fuze/deno-dom/blob/944ba6b86cb7c2af407b9998216b4abe1c95fe55/src/dom/document.ts#L212
https://github.com/b-fuze/deno-dom/blob/944ba6b86cb7c2af407b9998216b4abe1c95fe55/src/deserialize.ts#L33
It seems this need to be (re)designed a bit, and also ask some questions on deno-dom's stance.
If more elements are implemented, then it'll definitely get bigger (and possibly slower because of more code, especially with more than 100 differents html elements) so people who like the fact that it's minimal and fast could be turned off.
But since it wants to be compliant too, the fact it's lacking some "important" features (like value for <input> which is a core functionality for them) is troubling people that are searching for a reliant v-dom.
If it can give any insights on how some users are using deno-dom, I'll explain why I'm using it and for what purpose.
I'm writing isomorphic code (intended for browsers and runtimes environement) so I can perform both client/server side rendering, reliable test cases with code coverage that would probably be harder to achieve with other libs or an actual browser. The fact it's compliant with the spec is important for me since I can simulate more closely browser environement (which rule out linkedom) but the fact it's small, fast and typed gives it the advandtage against jsdom, which paradoxally may implement too much stuff...
Since they're not implemented in deno-dom, I'm currently mocking custom elements (and registry), inputs and style attribute (with basic css parsing).
So of course I'd love these would be directly supported upstream, but I can understand also if it's out of scope too.
The goals section seems that both POV are valable since it list "Fast" and "Mirror most supported DOM APIs as closely as possible".
Anyway I don't mind discussing directly on pr/issues as they're opened, since it makes it easier to sync whenever people have time, and it lets the discussion open if other persons have any inputs they'd like to share. But if needed I'm checking from time to time the deno discord
As a side note, Is there a tight dependency on deno (a part from the native version) ? Seems like the wasm version could be cross-runtime and I think deno-dom could have the potential to be a contender on other runtimes too
Sorry for the long text, hope it wasn't too boring 😅

@lowlighter on the specific points:

It seems this need to be (re)designed a bit, and also ask some questions on deno-dom's stance.

Yeah, this will basically be rewritten to be a big switch statement likely in a dedicated utility function somewhere so that hopefully the Javascript engine could apply the best optimizations possible.

As a side note, Is there a tight dependency on deno (a part from the native version) ? Seems like the wasm version could be cross-runtime and I think deno-dom could have the potential to be a contender on other runtimes too

The WASM version can work in other places and I've had people run it in service workers for instance. You are correct in that deno-dom is effectively not really coupled to Deno itself, and with the advent of JSR as I get some time I'll try to flesh out the library on that front as far as JSR being compatible with both Node and Bun for example. However, just to lower scope, I'm not trying to proactively make it "actually work everywhere" by e.g. publishing to NPM, providing unpkg links that work in a browser for example, etc...
I hope that helps

Yeah, I'm going to be looking into this soon too hopefully as I also want to implement the new declarative shadow DOM API

Really nice 👍

Yeah, this will basically be rewritten to be a big switch statement likely in a dedicated utility function somewhere so that hopefully the Javascript engine could apply the best optimizations possible.

Yeah I assume a switch shouldn't be too costly (I hope). At worst it'll probably just impact the startup time I guess.

The WASM version can work in other places and I've had people run it in service workers for instance. You are correct in that deno-dom is effectively not really coupled to Deno itself, and with the advent of JSR as I get some time I'll try to flesh out the library on that front as far as JSR being compatible with both Node and Bun for example. However, just to lower scope, I'm not trying to proactively make it "actually work everywhere" by e.g. publishing to NPM, providing unpkg links that work in a browser for example, etc...

Idk the actual compatibility of jsr with node/bun, but I assume just publishing this package to jsr is already a good push. I don't see why it'd become more intrinsicated with Deno anyways since there's not much I/O in deno-dom
Thanks for taking the time to answer

@b-fuze
By any chance, did you already started looking into implementing CustomElementRegistry yet ?
Also is it ok if I open some PR to implement some behaviours on Input, TextArea, Select and Option ?
I know that the mentioned refactor that hasn't occured yet, but I guess since it's only two places to patch it'll be fairly easy to refactor in the future ?
If not, it's ok, I can always rely on my fork until something get more fleshed out upstream, don't feel pressured to accept the pull requests if it doesn't suit the direction you'd like to take

No, I haven't had the time to work on custom elements yet. Yeah, I'm ok with PRs for those things, though <input> is a bit precarious because it is quite a complex element