fix: respect classname in card components

I was playing around with elements, and saw the UserAuthCard have the className which wasn't being respected. I determined that this should be passed down to the Card component. I have also fixed this on the other card components.
It is useful for playing around with un-themeable things such as card width. (There is for instance a max-width set on the component, which I would like to unset).
I also included a small fix for using justify-content: start, which blows up my build log with this error: [vite:css] start value has mixed support, consider using flex-start instead. It then proceeds to print the line where the error is, but since the css is minified, it prints the whole style.css to my log.

Related Issue or Design Document
An issue would be too much overhead for this small fix.
Checklist

[x] I have read the contributing guidelines and signed the CLA.
[x] I have referenced an issue containing the design document if my change introduces a new feature.
[x] I have read the security policy.
[x] I confirm that this pull request does not address a security vulnerability.
If this pull request addresses a security vulnerability,
I confirm that I got green light (please contact<EMAIL_ADDRESS>from the maintainers to push the changes.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] I have added necessary documentation within the code base (if appropriate).

Further comments
If this isn't how className was supposed to be implemented, you are welcome to close this PR.

Thank you @omarhachach 🥳


Android 12 is not working

[x] I have read the FAQ.
[x] I have searched in existing issues.

Environment

OS: Android
scrcpy version: 1.17.1
installation method: brew
device model: Pixel 3a
Android version: 12(s)

Describe the bug
A clear and concise description of what the bug is.

On errors, please provide the output of the console (and adb logcat if relevant).
Please paste terminal output in a code block.

Please do not post screenshots of your terminal, just post the content as text instead.

#2129


Test all csgo user data on start up

When the application starts, all given csgo users should be tested against Valve's REST api. If they fail, they should be disabled.
We could also store the data in the database to keep them disabled.

Not needed. After the first request, the account get's disabled if the request fails due to 403 or 412 HTTP response.

Not needed. After the first request, the account get's disabled if the request fails due to 403 or 412 HTTP response.


Way to project SMPL params to 2D image without using keypoint detections?

Hi,
Thanks for the great work. I am reading through the code and I was confused on how to project the 3D SMPL parameters to 2D image without using keypoints. It seems you have to run the keypoint detection model to generate bounding boxes to figure out the scale and size in order to project it back on the image but this is not feasible if I have a dataset of purely SMPL parameters. Is it possible to accurately do this without keypoints? I tried using the current projection code but replacing values like size with default values but the projection is way off.
I'd greatly appreciate any help on this. Thank you.

In this work, we don't use 2D keypoints, we only use bounding box detections for each person and run HMR2.0 on each bounding box. HMR2.0 also estimates the camera parameters that enable the projection of the SMPL body estimate to the image. In a different setting, where you only have SMPL parameters, this projection is not possible.

Ah, understood. Thanks!


chore(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/event-notifications/ibm (source)
module
patch
1.10.12 -> 1.10.13

terraform-ibm-modules/secrets-manager/ibm (source)
module
patch
1.18.2 -> 1.18.3

Release Notes

terraform-ibm-modules/terraform-ibm-event-notifications (terraform-ibm-modules/event-notifications/ibm)
v1.10.13
Compare Source
Bug Fixes

deps: update terraform-module (#292) (0e71323)

terraform-ibm-modules/terraform-ibm-secrets-manager (terraform-ibm-modules/secrets-manager/ibm)
v1.18.3
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/kms-all-inclusive/ibm to v4.15.12 (#205) (c22f4f7)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

:tada: This PR is included in version 1.5.0 :tada:
The release is available on:

GitHub release
v1.5.0

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.5.0 :tada:
The release is available on:

GitHub release
v1.5.0

Your semantic-release bot :package::rocket:


Fix a compatibility issue with active_support Object#with monkey patching

Fixes a compatibility issue with ActiveSupport monkey patching Object#with: https://github.com/rails/rails/blob/v7.1.3/activesupport/lib/active_support/core_ext/object/with.rb
Example error:
NoMethodError:
  undefined method `payload=' for #<Dry::Effects::Effect type=:resolve name=:resolve payload=[] keywords={}>

Same issue here ! Thanks for the temp patch !

Sorry for the delay, I made a fix in the main branch, and I'll give it a try in one project of mine where I'm fortunate to have activesupport in dependencies. Once the checks are complete, I'll release a new version. Thank you for heads-up


Distinct progress bars instead of indeterminate spinners

While installing dependencies, both during step 4 of project creation as well as when adding them manually to an existing project, the UI simply displays an indeterminate spinner until the dependency is installed. To new users, this may be concerning, especially if they are running on older hardware (redux took well over two minutes on my 2011 MBP). NPM's CLI displays a progress bar at the left of its output, so it should be trivial to hook into this and use it to display a more visually appealing distinct progress bar in the UI so users will confidently know that a long-running process is in fact still running and not stalled indefinitely.
I'll work on the logic, but I'm nowhere near @joshwcomeau when it comes to design so any help with styling would be much appreciated.

NPM CLI's logger uses gauge to display progress bars. They appear differently across different OS's - below are those that I've observed, let me know if yours is different. They should be fixed at 20 characters wide, including the start- and endcaps.
windows = {
  startCap: `[`,
  complete: ` `, // single space, displayed with white background
  incomplete: `.`,
  endCap: `]`
}

mac = {
  startCap: `⸨`,
  complete: ` `, // single space, displayed with white background
  incomplete: `░`, // \u2591
  endCap: `⸩`
}

Hi @superhawk610!
Thanks so much for your involvement in this and other issues :D
Breaking this up into a couple sections:
Dependency installation / updating
Yeah, so this is a real pain point. Dependency installation is really not fun right now.
There are a few thoughts/concerns around this:

I see that you've already commented in #33 (thanks for being so proactive in these discussions!), so you're familiar with the idea of parallelizing them. I think that's a higher priority, since the real pain for me is when I know I need multiple dependencies and I can't just start them all at once.

There's talk about switching package managers in #35. So I think it's worth figuring out which we want to use before spending time trying to parse NPM's output for progress.

I think if we go with the idea in #33, having toast-like notifications (either on top or on the bottom), a progress bar would be really nice. I'd vote for deferring work on this issue until the previous two issues are solved, so that we can really target this solution.
Project creation
I'm not as worried about project creation - it feels more justified that it's slow, since it's a bigger operation. And it's not something done super often (I imagine even serial experimenters still only do it a handful of times a week). That said, it's still not great that the progress bar hangs for quite a while on the "installing dependencies" step.
The good part about this is that the UI is already sorted out; you could just use the progress bar that already exists! And there aren't any dependent issues that I'm aware of, so nothing's stopping you from hacking on this problem. Go for it, if you're interested!
Slower?

Installing redux directly (npm i -S redux) took only a few seconds, now to investigate why it took so much longer via Guppy.

Ah, wild. Guppy uses npm i -SE for dependencies behind-the-scenes, so it should be identical, unless there's a bug with the "ADD_DEPENDENCY_FINISH" action being dispatched too late? Maybe it was just because subsequent installs on the same project are faster?

So after banging my head against this for a couple hours, I'm here to report back. I haven't even gotten around to parsing inout yet as so far, I can't seem to generate any. Whether I use childProcess.exec or childProcess.spawn, their stdout and stderr pipes do not generate output until just before the install command finishes.
I'm far from an expert at CLI conventions, but I believe gauge and similar progress reporting solutions (think curl and wget) accomplish this updating single line of information by writing out the information followed by a carriage return (\r) but not a newline, which simply returns the output location to the beginning of the same line and allows it to be overwritten. The problem I'm running into with childProcess is that it doesn't seem to flush output to stdout or stderr until it hits a newline, which as I said earlier doesn't happen until near the end of the process.
I know this is doable because there are full terminal emulators written for Node that correctly flush updates without newlines. Can anyone point me in the right direction?

(Added a Help wanted label since the last comment ends with a question that I don't know the answer to :D)

Update: headway has been made
Looks like by default gauge doesn't display the progress bar when its being run through a non-TTY interface, so in order to view npm install progress, we have to mock a TTY. There are a couple packages that accomplish this (pty.js and child_pty), but neither seem to work out of the box with Electron. I'll work on this and update accordingly.

Ok, so now that the proof of concept is done, it's time to decide on UI. As mentioned in #103, we may want to use native notifications for status updates, which do not support any form of live progress display. This leaves us with two options:

Native Solution: Electron supports displaying cross-platform application-wide progress in the form of the dock icon:

Custom Solution: To complement native notifications (which some users may have disabled), we could add a small progress indicator in a corner of the UI that fills as tasks are completed. Quick mock-up:

These aren't mutually exclusive, they could both be used in conjunction. Thoughts?

I think the ideal would be both, and a notification if the app isn’t focused anymore, WDYT?

That complies well with most platform standards, I like it. I think Electron also has a Mac-only API for the dock icon to show a numeric badge, like the notification badge on apps for missed notifications, we could probably integrate with that as well if a task finishes while the application is in the background.
const dock = electron.app.dock;
if (!dock || window.isFocused()) return; // ignore if in foreground or on Windows

dock.setBadge(notificationCount); // I belive this takes a string so text works as well

You could use something like are-we-there-yet to manage progress of several tasks.

@Haroenv yeah Transmission was what I had in mind too haha.
@j-f1 our task queue is essentially synchronous since no more than one action can run on a single project at a time and tasks run one after the other. I imagine the progress indicator would be distinct per project and largely handled by the reducer. I'll keep that in mind though if we ever do manage to incorporate more async parallel tasks.

It would still be useful for a global progress bar since multiple projects could be installing stuff at the same time.

You could use something like are-we-there-yet to manage the progress of several tasks.

Redux saga comes with some pretty fancy control-flow tools... I think I'd like to see if we can do it with the existing tools before reaching for another, although definitely not against it if there's a pain point it can address!

@joshwcomeau You're right, adding the progress or a number to the dock icon could be difficult to understand.
I'm only seeing the number badge for e-mail count or notifications and not for as you said something that you're expecting. (Just Windows mail is using a badge on my machine.)
And I would also calculate the progress for the current task and not for all active tasks - easier to implement and the user experience is OK.
Maybe the progress bar could replace the pixelated guppy (screenshot below). I like the draft of @superhawk610 but not in the top right corner. I think it should be at the dependency panel.

@AWolf81 the only issue with having it at the dependency panel is that during batched installs, we only have one progress bar for multiple dependencies, so if you're installing 3 dependencies, all their respective progress bars would move together - not terrible, but it feels a bit disingenuous, I guess?
I also really like the pixel guppy, so there's that 😁

@superhawk610 Ah OK, so we have to keep the guppy as indetermined spinner or do a special handling for the progress of batch installs. e.g. the overall bar shows 1 of 3 installations finished.
Maybe we can add the loader close to each dependency and replace that spinner - so it's possible to show a spinner for each dependency.

I also really like the pixel guppy, so there's that 😁

This was originally supposed to be the logo! But it looked too much like a spinner, plus I decided pixel-art wasn't a good fit for the rest of the design.
(I actually commissioned 3 separate logos, before @superhawk610 and @AWolf81 both contributed better ones :D although I bought them on fiverr, so it was quite inexpensive).

For finding an area for dependency progress, hm. I like @AWolf81's suggestion of adding an indicator to each dependency in the list, could be a radial progress bar as suggested earlier.
BTW, we use radial progress bars at Khan Academy - we did it by using an SVG circle, giving it a thick strokeWidth, setting the stroke-dasharray equal to the length of the perimeter, and then animating the stroke-dashoffset to "move" a stroke through it. Not sure how you were planning on tackling this, @superhawk610, but just in case you weren't sure, I know this strategy has worked for us :)

 cherry-pick a PR


Added Shell Sort

congratulations on your hactoberfest contribution. if you like this repo then give it a star.Follow for updates. Happy hacking..


Improved message labels.

The unsub and nosub now attempt to fetch the original subscription
names.
It also tries to identify attempts to subscribe nonexsistent
publications (getting a nosub message without a matching unsub).

Hey Alon,
Thank you very much for the PR (and sorry for the lack of doc on contributions and such). I am gonna take a look at it later this week.
:palm_tree:

This looks very useful! A few comments regarding the PR:

it would be great to get test coverage for these new labels (examples here)
the case with inexistent subscription actually deserves to be treated as a warning

I thought about warnings, but also about applying some styling to the label itself in those cases.
I intend to add warnings for unknown subscriptions and method responses that have an error argument.
I haven't gone over the entire codebase, but it seems that the trece-processors in the pipeline depend on the results of previous processors.
If that is the case, won't it be better to move that part of the labels processor that deals with associations (e.g, use the request key created by the associations processor in the result operation of the label processor)?
Regarding the tests, can you demonstrate how you make a dev build and run tests/dev server?
I want to make sure I'm doing this correctly.

regarding tests, here's an updated doc
regarding processors, you are right about processors relying on the results from previous processors. the order is important and is defined here
as far as separation of concerns, for me labeling is different from association and hence the split in the current implementation

Thanks for the docs.
I think that if the label processor relies on some relationships being computed by the relations processor and the relation between subscription, ready, unsub and nosub are well defined, they can be part of the job of the relations processor as well and used by the warning filter and the label processor.
Therefore, I am all for computing associations where they belong (I think that this is also what you meant, but I am not entirely sure) and using the results of the computation later on.
I am a bit swamped at the moment, but I will try to refactor and prepare some tests later this week.

Closing in favor of https://github.com/thebakeryio/meteor-ddp-monitor/pull/19. thank you @MasterAM


Creates a PR  Normal Mode - Insignificant - CLA Signed and  Approved

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


[WIP] DXVK as a native library for wine-integration

This WIP PR allows DXVK to be built and installed as a native system library (libdxvk.so) for use by wine, as recommended by Henri Verbeet.  The accompanying wine code can be found here.
The goal of this PR is to allow easy integration of DXVK into wine, without manual installation or use of third party tools.
This branch uses function pointers passed in from the entry point when it needs access to windows-specific APIS, similar to VKD3D.  Right now the pointers are stored in a global struct that is accessed by various parts of DXVK (vulkan_presenter.cpp, thread_generic.cpp, d3d11_device.cpp, and vulkan_loader.cpp), which may be a problem.  Alternatively, for cleaner code, we could store the relevant function pointers as static members of the relevant class.
Another potential issue is the compiler directives making the code unmaintainable.  This PR adds 12 new compiler directives.  If anyone can find places where I can reduce this number, please share your ideas.
Finally, the biggest issue may be the duplication of dxgi_swapchain and dxgi_monitor code into wine.  These classes are heavy in win32 specific functions, so instead of passing in a large amount of function pointers to keep these in DXVK, I had WineDXGISwapChainFactory::CreateSwapChainForHwnd pass the internal d3d11 presenter to wine, which is then used to create a DXGISwapChain for the application.  If it would be preferable to keep the IDXGISwapChain inside of DXVK, I will change that.
Finally, there are some trivial things left to implement in DXVK Native.

[x] Implement util::env::getExeName, which may require some code rearranging

[x] Implement util::env::setThreadName

[x] Implement ThreadFn::set_priority

🐸
Guide to use:

Clone my dxvk-native-headers project, these headers need to be separate from the DXVK repository since they are licensed under the GPL.

Copy the native folder into DXVK's include directory

Build DXVK normally, specifying /usr for the prefix
Note:  Don't use the package-release script, it isn't configured to build without a cross-file.  Follow the manual instructions in the DXVK README, omitting the cross-file argument.
Example command:  meson --buildtype release --prefix /usr build.l64

Run sudo ninja install to install the library

Build wine with my modifications, make sure that ./configure detects DXVK

Create HKEY_CURRENT_USER\Software\Wine\Direct3D\dxvk in your prefixes' registry as a DWORD and set it to 1

I did a build of dxvk and wine 4.2 with your patches for CentOS 7.6 and Fedora 28/29.
Tested only on CentOS: when I start a game with dxvk enabled it overwrites game's .exe file with DXVK state cache header and couple lines of dxvk log entries.
If I set DXVK_LOG_PATH and DXVK_STATE_CACHE_PATH to some other directory it will create a single log and state cache file with exact game's exe name, without _dxvk.log or .dxvk-cache suffixes.
I do not see what but something is broken in Logger::getFileName() and DxvkStateCache::getCacheFileName() when DXVK builds as Linux native library.
Build of libdxvk and patched Wine 4.2 for Fedora 28/29 if anyone wants to test: https://copr.fedorainfracloud.org/coprs/leonmaxx/wine-dxvk/

@leonmaxx Thank you for testing!  I think I found the issue, pushing a commit now.

Thanks but that didn't helped.
In getExeName() function variable fullPath with line readed from '/proc/self/cmdline' have 10+ '\0' null symbols after executable name. I fixed it with this patch:
diff -purN a/src/util/util_env_native.cpp b/src/util/util_env_native.cpp
--- a/src/util/util_env_native.cpp	2019-02-21 23:39:51.000000000 +0200
+++ b/src/util/util_env_native.cpp	2019-02-22 00:30:33.683256349 +0200
@@ -25,6 +25,9 @@ namespace dxvk::env {
         std::getline(cmdLineFile, fullPath);
     cmdLineFile.close();

+    while (*fullPath.rbegin() == '\0')
+        fullPath.erase(fullPath.size()-1);
+
     auto n = fullPath.find_last_of('/');
     auto e = fullPath.rfind(".exe");

This change does fix file names for log and state cache files.
The game I tried to run is "World Of Tanks" and it works if I run it with DXVK built as Win32 library.
When running WoT with DXVK built for Linux it hangs on startup with these suspicious lines in log:
...
warn:  D3D11CoreCreateDevice: Adapter is not a DXVK adapter
...
warn:  D3D11Device::CreateShaderModule: Class linkage not supported
warn:  D3D11Device::CreateShaderModule: Class linkage not supported
warn:  D3D11Device::CreateShaderModule: Class linkage not supported
...

Full startup log: https://gist.github.com/leonmaxx/aa671f05610a3b9ec6cfba87346b3e0d#file-worldoftanks_log-txt

Thank for investigating this issue, I thought that cutting off the string after the exe would fix that, but I guess not.  Or were the symbols before .exe?
In regards to the WoT issue, the adapter message is to be expected, as we are using wine's DXGI.  The class linkage issues are probably unrelated, do they happen w/ the win32 build.  Finally, can you test whether WoT works w/ wine's DXGI when on a windows build of d3d11?

Or were the symbols before .exe?

After.

The class linkage issues are probably unrelated, do they happen w/ the win32 build?

Nope.

Finally, can you test whether WoT works w/ wine's DXGI when on a windows build of d3d11?

Will do later today.

I found what is wrong with getExeName():
In my case fullPath string equals "WorldOfTanks.exe\0\0\0\0\0\0..." and doesn't have path separator "/" symbol and because of that n will be equal to npos and substr will not be called.
I do recommend to do separate string operations:
    auto n = fullPath.find_last_of('/');

    if (n != std::string::npos)
        fullPath = fullPath.substr(n);

    n = fullPath.rfind(".exe");

    if (n != std::string::npos)
        fullPath.erase(n);

Or even better approach is to remove trailing zeroes instead of searching for ".exe" suffix:
    n = fullPath.size();

    while (n > 0 && fullPath[n-1] == '\0')
        n--;

    if (n < fullPath.size())
        fullPath.erase(n);

This variant will work for files that has no suffix or other suffix than ".exe".
For example AION Client main executable name is aion.bin.

Good point, I'll make that change now

Did that commit fix it?

Yes it does, thanks.
I somehow missed that /proc/self/cmdline also includes arguments.

Finally, can you test whether WoT works w/ wine's DXGI when on a windows build of d3d11?

I just did, and it starts properly to login screen: log link
Linux build hangs on start even before the loading screen appears.

Thank you for that log.  I got an email from Henri, who recommends that the swapchain code/interface is redesigned.  There's a good chance the WoT bug is due to the current swapchain code.  After Philip, Henri and I agree on an interface and I implement it, hopefully the bug will be gone.

Actually, I found that wine_vk_device_convert_create_info is missing in the native logs, this is interesting, I'll look into it.

If anyone wants to test / experiment here is my RPM packaging scripts for libdxvk and Patched Wine.

If anyone wants to test / experiment here is my RPM packaging scripts for libdxvk and Patched Wine.

If you can build something like Lutris builds that can be used with Lutris or PlayOnLinux, many people can easily test it, and I will be the first one.

Thank you for the build leonmaxx, it will be very useful soon, but right now I'd wait for the IDXGIAdapter interface to be completed before testing more games, as that may resolve / introduce more bugs.

The goal of this PR is to allow easy integration of DXVK into wine, without manual installation or use of third party tools.

Create HKEY_CURRENT_USER\Software\Wine\Direct3D\dxvk in your prefixes' registry as a DWORD and set it to 1

We (users) definitely want a setup.sh or a custom winetricks's verb to set this :wink:

If anyone can find places where I can reduce this number, please share your ideas.

To reduce the number of required changes and/or improve PR/patch readability, you could do following:

remove src/d3d10/d3d10_include.h and src/dxvk/dxvk_include.h parts, it changes nothing
use __WINE__, e.g. add_project_arguments(['-DDXVK_NATIVE=1', '-D__WINE__'], language : 'cpp'),
probably the only place where additional expression required is src/vulkan/vulkan_loader.cpp
move include/meson.build into include/native/ directory (repository), define com_headers = [] in main meson.build file
use ternary operator in meson.build files, e.g. name = dxvk_native ? 'libdxvk' : 'd3d11'+dll_ext

Maybe there is more places to pay attention, but I don't checked further than Files changed tab.

Can it be used for native apps, without wine/winelib?

@pchome Thanks for the advice, I'll get to work on that after completing Henri's recommendations.
@gasinvein In theory, yes, although a bit more work should be done to make that easier.

@leonmaxx Hey, can you test WoT w/ my latest commits?  I redid part of the project for Henri, and I'm curious whether that resolves your issue.  Thanks!

@Guy1524 Will test later today. Thanks!

@Guy1524 Seems like nothing is changed for WoT: log file.

Ah, OK.  Thanks for testing, I'll look further into it soon.

Henri wanted me to change some things around, I updated the installation instructions to reflect these changes, make sure to update your headers if you wish to test.

The registry key should be HKEY_CURRENT_USER\Software\Wine\Direct3D\external_d3d, I guess.

@gasinvein Yes, thanks for catching that!

Tested with Witcher 3 btw, works just fine.

Tested with Warframe, no issues as far as I can tell.

I did a fresh rebuild (link), unfortunately nothing changed for WoT, same Class linkage not supported log spam and crash.

Any news?


0.24.0. csharpier-ignore on property causes blank lines between statements to be removed.

private string? _example;

// csharpier-ignore
public string Example
{
  get
     {
       if (_example is not null)
         return _example;

       var number = Random.Shared.Next();

       return _example = number.ToString();
     }
}

becomes.
private string? _example;

// csharpier-ignore
public string Example
{
  get
     {
       if (_example is not null)
         return _example;
       var number = Random.Shared.Next();
       return _example = number.ToString();
     }
}

This only happens when // csharpier-ignore is above the property.

Sorry about that, I'll have the fix out shortly!


Inline edit - Logical file with keyword UNIQUE used as primary key

System information:

IBM I series 7.3
DBeaver version 7.3.0

Connection specification:

DB2

Describe the problem you're observing:
We are using the inlinde edit funtion to change values in a database table. As our database tables are without primary keys DBeaver is usually asking to take all columns as primary key and does the update afterwards with them.
A problem occured now with a table, where we have defined a logical file with the keyword UNIQUE. DBeaver takes automatically the first logical file that is defined with the UNIQUE-Keyword and does take the key fields defined inside this file as primary key. So it does not ask for using all columns as primary key. Although there is no PK defined inside the corresponding physical file.
In our opinion it should not take automatically a logical file as a key when the table is without PKs.
Thanks for help!

Hello @LukasBreit,
Thanks for the bug report

Hello,
can you give me an update on this issue? Or a timetable when this might be resolved? Thank you!

Hello @LukasBreit,
I'm sorry to say this, but this issue was lost. I've assigned a priority level so we won't lose it again.

Thanks @ShadelessFox


Integrate algobpy into sample-project

https://www.pivotaltracker.com/story/show/177791730

Please rename parseTemp to parse_params


use pasteurize in setuptools, similarly to use_2to3

Would there be a way to use pasteurize in setuptools similarly to use_2to3?  i.e., only commit Py3 code, but have a setup.py that contains something like
setup(..., use_pasteurize=True)

and have the code be pasteurized when installing (and testing) on Py2.
The idea is that pasteurized code can look quite "ugly" (e.g. keyword only arguments), so I'd rather not keep it committed, but with a good test suite, I can still make sure that the pasteurized version always works on Py2.

I agree. I believe the main tenant of the python-future project is to be able to maintain a single portable code-base that can be executed on both Python 2 and 3 but unlike some earlier attempts focuses on making Python 3 idioms and constructs executable on Python 2 (as much as possible) vs. the reverse and/or some strange middle ground. This makes very good sense as many of the breaking changes in Python 3 are intentional in order to fix and/or remove perceived broken misfeatures that crept into the language over time (i.e., continued use of such should be discouraged).
setuptools does have a use_2to3 build process parameter but discourages its usage and I believe rightly so because it does not seem particularly useful to maintain Python 2 code that can be machine modified to run on Python 3 when the opposite seems to much more forward thinking and useful.
I would prefer to maintain a clean Python 3 code-base that can be pasteurized to run on Python 2 than maintaining an uglier futurized Python 3 code-base with much extraneous compatibility code (even if such is benign on Python 3).
The way I see it there are three options to maintaining a single compatible code-base:

machine portable Python 2 code (e.g., futurizable code)
portable Python 2/3 code (e.g., futurized/pasteurized)
machine portable Python 3 code (e.g., pasteurizable code)

It seems to me the python-future project currently recommends option two (based on the website Quickstart guide, etc.) but frankly I see that as the least desirable option (even when such if more Python 3ish than Python 2ish). I agree with @anntzer that the most desirable option is three in conjunction with a good test suite (that like the rest of the code should be executable on both Python 2 and Python 3: the platforms one wants to support).


Kinetics 62 enable strict transport security header for all the service endpoints

:nut_and_bolt: Description: What code changed, and why?

Added HSTS response headers in some services listed by customer. These services are:

2000 automate-gateway

10115 session-service

10161 automate-ui (nginx: master)

10117 dex (related PR: https://github.com/chef/dex-1/pull/45)

10143 backup-gateway (minio)

Note: Fix for MinIO service is dependent on upcoming refresh of core/minio package which is planned for the current quarter (Check PR: https://github.com/chef-base-plans/minio/pull/5 and https://github.com/minio/minio/pull/12256).
Also removed HSTS from load balancer for above services due to duplicate HSTS headers.
:chains: Related Resources
Related issue: https://github.com/chef/automate/issues/5698
Customer bug: https://github.com/chef/customer-bugs/issues/471
:+1: Definition of Done
All above 4 services running on ports (10115, 2000, 10161, 10117) should have HSTS ie. Strict-Transport-Security response header.
:athletic_shoe: How to Build and Test the Change
Rebuild the required components ie. session-service, automate-gateway, automate-ui and automate-load-balancer.
Testing can be done via UI or doing curl request inside hab studio.
[X] All commits signed-off for the Developer Certification of Origin.

With occasional exceptions, all PRs from Progress employees must tick these:

[X] Is the code clear? (complicated code or lots of comments--subdivide and use well-named methods, meaningful variable names, etc.)
[X] Consistency checked? (user notifications, user prompts, visual patterns, code patterns, variable names)
[X] Repeated code blocks eliminated? (adapt and reuse existing components, blocks, functions, etc.)
[X] Spelling, grammar, typos checked? (at a minimum use make spell in any component directory)
[X] Code well-formatted? (indents, line breaks, etc. improve rather than hinder readability)

All PRs from Progress employees should tick these if appropriate:

[ ] Tests added/updated? (all new code needs new tests)
[ ] Docs added/updated? (all customer-facing changes)

Please add a note next to any checkbox above if you are NOT ticking it.
:camera: Screenshots, if applicable

Update the bldr.toml to include the library you have added.

Update the bldr.toml to include the library you have added.

Sure. I will add that and update the PR.


Yevgeny/scrapy refactor

Fixes coderxio/dailymed-api #7 #6
Explanation
This is a very large PR with a lot of adjustments. Going forward I would really like to have smaller more frequent PRs. This PR refactors the scrapy items + adds a scrapy pipeline for loading data into the db. Because of the scrapy adjustments I also had to refactor the models and views. This PR does not include active or inactive ingredients at this time (xpaths are commented out currently)
@finish06 added some tests to the PR as well. I would like to make a proposal to use pytest vs djangos unittest.
Rationale
The scrapy pipeline is beneficial because it allows for better separation of concerns and makes data output processing more modular. The models and views needed to be adjusted to accommodate a Set > Spl > Product > Package setup, but these can all change. We will likely need many more serializers!
Tests

What testing did you do?

Django unit tests run without issue
Loaded first 50 spls without issue
Browsable api shows correct views and responses (see attached spl output)

testing logs
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
...
----------------------------------------------------------------------
Ran 3 tests in 0.003s

OK
{
    "id": "fe1df76d-4925-444d-8e30-9dd07f205fb7",
    "products": [
        {
            "id": 7,
            "packages": [
                {
                    "id": 12,
                    "code": "68788-7665-3"
                },
                {
                    "id": 13,
                    "code": "68788-7665-6"
                },
                {
                    "id": 14,
                    "code": "68788-7665-9"
                },
                {
                    "id": 15,
                    "code": "68788-7665-1"
                }
            ],
            "code": "68788-7665",
            "name": "Losartan Potassium"
        }
    ],
    "labeler": "Preferred Pharmaceuticals, Inc.",
    "set": "fe1df76d-4925-444d-8e30-9dd07f205fb7"
}

Forgot to mention, I did not run code formatting on this branch. I would suggest we make a separate PR with all the code formatting updates, and make sure we stay consistent after that.

I would agree the formatting changes should be a separate own branch.  I used this branch last night when writing the test cases.  I am comfortable with this merge.


Recipient field and enhanced tests

This PR contains an interface change to fulfillAdvancedOrder and fulfillAvailableAdvancedOrders: it adds a recipient parameter that the fulfiller can supply and that will receive all offered items on the fulfilled orders (with address(0) indicating to set the caller as the recipient, i.e. the default / original behavior). It also modifies the OrderFulfilled event, renaming the fulfiller parameter to recipient (and setting it to the recipient of the fulfilled offer items, or leaving it empty when orders are matched). The PR also contains a number of improvements to forge tests, including tests for fixes to various findings from recent code reviews.

Shouldn't the msg.sender in _transferConsiderationItem be replaced with recipient?
https://github.com/OpenSeaProtocol/seaport/blob/6cdc451d052b6dec7cfd819fb7d79be5588cbe2b/contracts/lib/OrderFulfiller.sol#L363
              // Transfer item from caller to recipient specified by the item.
                _transferConsiderationItem(
                    considerationItem,
                    msg.sender,   // shouldn't this be recipient?
                    fulfillerConduitKey,
                    accumulator
                );

Shouldn't the msg.sender in _transferConsiderationItem be replaced with recipient? https://github.com/OpenSeaProtocol/seaport/blob/6cdc451d052b6dec7cfd819fb7d79be5588cbe2b/contracts/lib/OrderFulfiller.sol#L363
              // Transfer item from caller to recipient specified by the item.
                _transferConsiderationItem(
                    considerationItem,
                    msg.sender,   // shouldn't this be recipient?
                    fulfillerConduitKey,
                    accumulator
                );

The caller still has to pay for each spent item; otherwise a caller could name a recipient and spend their approved tokens (as there’s no access control on who the recipient is). So it’s really just a way to set the recipient for the offer items on the fulfilled order(s), not to declare the payer of the consideration items on the fulfilled order.


Issues with reading 10X VISIUM Cytassist data SpaceRanger Output

Hi,
This is a cool spatial tool, but I run into issue might be specific to the new Visium Cytassist SpaceRanger output
For instance, if I directly read the spaceranger output using spatialdata_io.visium, I would get the error below:
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[21], line 1
----> 1 spatialdata_io.visium('./spaceranger210_count_47058_WTSI_GRCh38-2020-A')

File ~/mambaforge/envs/spatialdata/lib/python3.9/site-packages/spatialdata_io/readers/visium.py:92, in visium(path, dataset_id, counts_file, fullres_image_file, tissue_positions_file, scalefactors_file, imread_kwargs, image_models_kwargs, **kwargs)
     90         library_id = first_file.replace(f"_{VisiumKeys.COUNTS_FILE}", "")
     91     else:
---> 92         raise ValueError(
     93             f"Cannot determine the library_id. Expecting a file with format <library_id>_{VisiumKeys.COUNTS_FILE}. Has "
     94             f"the files been renamed?"
     95         )
     96     counts_file = f"{library_id}_{VisiumKeys.COUNTS_FILE}"
     97 except IndexError as e:

ValueError: Cannot determine the library_id. Expecting a file with format <library_id>_filtered_feature_bc_matrix.h5. Has the files been renamed?

By reading the error message, I got that the tool was expecting to have a library_id for the matrix.h5 file, which is not essentially included in the spaceranger output, but I renamed it with some random string and it worked, but then I encounter another error message as shown below:
/Users/tl7/mambaforge/envs/spatialdata/lib/python3.9/site-packages/anndata/_core/anndata.py:1840: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.
  utils.warn_names_duplicates("var")
/Users/tl7/mambaforge/envs/spatialdata/lib/python3.9/site-packages/anndata/_core/anndata.py:1840: UserWarning: Variable names are not unique. To make them unique, call `.var_names_make_unique`.
  utils.warn_names_duplicates("var")
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[22], line 1
----> 1 spatialdata_io.visium('./spaceranger210_count_47058_WTSI_GRCh38-2020-A')

File ~/mambaforge/envs/spatialdata/lib/python3.9/site-packages/spatialdata_io/readers/visium.py:166, in visium(path, dataset_id, counts_file, fullres_image_file, tissue_positions_file, scalefactors_file, imread_kwargs, image_models_kwargs, **kwargs)
    161 transform_hires = Scale(
    162     np.array([scalefactors[VisiumKeys.SCALEFACTORS_HIRES], scalefactors[VisiumKeys.SCALEFACTORS_HIRES]]),
    163     axes=("y", "x"),
    164 )
    165 shapes = {}
--> 166 circles = ShapesModel.parse(
    167     coords,
    168     geometry=0,
    169     radius=scalefactors["spot_diameter_fullres"] / 2.0,
    170     index=adata.obs["spot_id"].copy(),
    171     transformations={
    172         "global": transform_original,
    173         "downscaled_hires": transform_hires,
    174         "downscaled_lowres": transform_lowres,
    175     },
    176 )
    177 shapes[dataset_id] = circles
    178 adata.obs["region"] = dataset_id

File ~/mambaforge/envs/spatialdata/lib/python3.9/functools.py:938, in singledispatchmethod.__get__.<locals>._method(*args, **kwargs)
    936 def _method(*args, **kwargs):
    937     method = self.dispatcher.dispatch(args[0].__class__)
--> 938     return method.__get__(obj, cls)(*args, **kwargs)

File ~/mambaforge/envs/spatialdata/lib/python3.9/site-packages/spatialdata/models/models.py:382, in ShapesModel._(cls, data, geometry, offsets, radius, index, transformations)
    370 @parse.register(np.ndarray)
    371 @classmethod
    372 def _(
   (...)
    379     transformations: MappingToCoordinateSystem_t | None = None,
    380 ) -> GeoDataFrame:
    381     geometry = GeometryType(geometry)
--> 382     data = from_ragged_array(geometry_type=geometry, coords=data, offsets=offsets)
    383     geo_df = GeoDataFrame({"geometry": data})
    384     if GeometryType(geometry).name == "POINT":

File ~/mambaforge/envs/spatialdata/lib/python3.9/site-packages/shapely/_ragged_array.py:440, in from_ragged_array(geometry_type, coords, offsets)
    438 if geometry_type == GeometryType.POINT:
    439     assert offsets is None or len(offsets) == 0
--> 440     return _point_from_flatcoords(coords)
    441 if geometry_type == GeometryType.LINESTRING:
    442     return _linestring_from_flatcoords(coords, *offsets)

File ~/mambaforge/envs/spatialdata/lib/python3.9/site-packages/shapely/_ragged_array.py:303, in _point_from_flatcoords(coords)
    302 def _point_from_flatcoords(coords):
--> 303     result = creation.points(coords)
    305     # Older versions of GEOS (<= 3.9) don't automatically convert NaNs
    306     # to empty points -> do manually
    307     empties = np.isnan(coords).all(axis=1)

File ~/mambaforge/envs/spatialdata/lib/python3.9/site-packages/shapely/decorators.py:77, in multithreading_enabled.<locals>.wrapped(*args, **kwargs)
     75     for arr in array_args:
     76         arr.flags.writeable = False
---> 77     return func(*args, **kwargs)
     78 finally:
     79     for arr, old_flag in zip(array_args, old_flags):

File ~/mambaforge/envs/spatialdata/lib/python3.9/site-packages/shapely/creation.py:74, in points(coords, y, z, indices, out, **kwargs)
     72 coords = _xyz_to_coords(coords, y, z)
     73 if indices is None:
---> 74     return lib.points(coords, out=out, **kwargs)
     75 else:
     76     return simple_geometries_1d(coords, indices, GeometryType.POINT, out=out)

TypeError: ufunc 'points' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

Below is the file tree of the spaceranger output:
./spaceranger210_count_47058_WTSI_GRCh38-2020-A
├── _invocation
├── analysis
│   ├── clustering
│   │   ├── gene_expression_graphclust
│   │   │   └── clusters.csv
│   │   ├── gene_expression_kmeans_10_clusters
│   │   │   └── clusters.csv
│   │   ├── gene_expression_kmeans_2_clusters
│   │   │   └── clusters.csv
│   │   ├── gene_expression_kmeans_3_clusters
│   │   │   └── clusters.csv
│   │   ├── gene_expression_kmeans_4_clusters
│   │   │   └── clusters.csv
│   │   ├── gene_expression_kmeans_5_clusters
│   │   │   └── clusters.csv
│   │   ├── gene_expression_kmeans_6_clusters
│   │   │   └── clusters.csv
│   │   ├── gene_expression_kmeans_7_clusters
│   │   │   └── clusters.csv
│   │   ├── gene_expression_kmeans_8_clusters
│   │   │   └── clusters.csv
│   │   └── gene_expression_kmeans_9_clusters
│   │       └── clusters.csv
│   ├── diffexp
│   │   ├── gene_expression_graphclust
│   │   │   └── differential_expression.csv
│   │   ├── gene_expression_kmeans_10_clusters
│   │   │   └── differential_expression.csv
│   │   ├── gene_expression_kmeans_2_clusters
│   │   │   └── differential_expression.csv
│   │   ├── gene_expression_kmeans_3_clusters
│   │   │   └── differential_expression.csv
│   │   ├── gene_expression_kmeans_4_clusters
│   │   │   └── differential_expression.csv
│   │   ├── gene_expression_kmeans_5_clusters
│   │   │   └── differential_expression.csv
│   │   ├── gene_expression_kmeans_6_clusters
│   │   │   └── differential_expression.csv
│   │   ├── gene_expression_kmeans_7_clusters
│   │   │   └── differential_expression.csv
│   │   ├── gene_expression_kmeans_8_clusters
│   │   │   └── differential_expression.csv
│   │   └── gene_expression_kmeans_9_clusters
│   │       └── differential_expression.csv
│   ├── pca
│   │   └── gene_expression_10_components
│   │       ├── components.csv
│   │       ├── dispersion.csv
│   │       ├── features_selected.csv
│   │       ├── projection.csv
│   │       └── variance.csv
│   ├── tsne
│   │   └── gene_expression_2_components
│   │       └── projection.csv
│   └── umap
│       └── gene_expression_2_components
│           └── projection.csv
├── cloupe.cloupe
├── deconvolution
│   ├── deconvolution_k10
│   │   ├── deconvolution_topic_features_k10.csv
│   │   └── deconvolved_spots_k10.csv
│   ├── deconvolution_k11
│   │   ├── deconvolution_topic_features_k11.csv
│   │   └── deconvolved_spots_k11.csv
│   ├── deconvolution_k12
│   │   ├── deconvolution_topic_features_k12.csv
│   │   └── deconvolved_spots_k12.csv
│   ├── deconvolution_k13
│   │   ├── deconvolution_topic_features_k13.csv
│   │   └── deconvolved_spots_k13.csv
│   ├── deconvolution_k14
│   │   ├── deconvolution_topic_features_k14.csv
│   │   └── deconvolved_spots_k14.csv
│   ├── deconvolution_k15
│   │   ├── deconvolution_topic_features_k15.csv
│   │   └── deconvolved_spots_k15.csv
│   ├── deconvolution_k16
│   │   ├── deconvolution_topic_features_k16.csv
│   │   └── deconvolved_spots_k16.csv
│   ├── deconvolution_k17
│   │   ├── deconvolution_topic_features_k17.csv
│   │   └── deconvolved_spots_k17.csv
│   ├── deconvolution_k18
│   │   ├── deconvolution_topic_features_k18.csv
│   │   └── deconvolved_spots_k18.csv
│   ├── deconvolution_k19
│   │   ├── deconvolution_topic_features_k19.csv
│   │   └── deconvolved_spots_k19.csv
│   ├── deconvolution_k2
│   │   ├── deconvolution_topic_features_k2.csv
│   │   └── deconvolved_spots_k2.csv
│   ├── deconvolution_k3
│   │   ├── deconvolution_topic_features_k3.csv
│   │   └── deconvolved_spots_k3.csv
│   ├── deconvolution_k4
│   │   ├── deconvolution_topic_features_k4.csv
│   │   └── deconvolved_spots_k4.csv
│   ├── deconvolution_k5
│   │   ├── deconvolution_topic_features_k5.csv
│   │   └── deconvolved_spots_k5.csv
│   ├── deconvolution_k6
│   │   ├── deconvolution_topic_features_k6.csv
│   │   └── deconvolved_spots_k6.csv
│   ├── deconvolution_k7
│   │   ├── deconvolution_topic_features_k7.csv
│   │   └── deconvolved_spots_k7.csv
│   ├── deconvolution_k8
│   │   ├── deconvolution_topic_features_k8.csv
│   │   └── deconvolved_spots_k8.csv
│   ├── deconvolution_k9
│   │   ├── deconvolution_topic_features_k9.csv
│   │   └── deconvolved_spots_k9.csv
│   ├── dendrogram_k19.png
│   └── dendrogram_k19_distances.png
├── filtered_feature_bc_matrix
│   ├── barcodes.tsv.gz
│   ├── features.tsv.gz
│   └── matrix.mtx.gz
├── filtered_feature_bc_matrix.h5
├── metrics_summary.csv
├── molecule_info.h5
├── probe_set.csv
├── raw_feature_bc_matrix
│   ├── barcodes.tsv.gz
│   ├── features.tsv.gz
│   └── matrix.mtx.gz
├── raw_feature_bc_matrix.h5
├── raw_probe_bc_matrix.h5
├── spaceranger210_count_47058_GRCh38-2020-A.html
├── spatial
│   ├── aligned_fiducials.jpg
│   ├── aligned_tissue_image.jpg
│   ├── cytassist_image.tiff
│   ├── detected_tissue_image.jpg
│   ├── scalefactors_json.json
│   ├── spatial_enrichment.csv
│   ├── tissue_hires_image.png
│   ├── tissue_lowres_image.png
│   ├── tissue_positions.csv
│   └── tissue_positions_list.csv

I am currently using the latest version of Space Ranger 2.0.1 (January 18, 2023).

Hi Jimmy, thanks for reporting. Can you try using the latest main version? @giovp worked on a related problem on https://github.com/scverse/spatialdata-io/pull/51 and therefore it could be fixed now.
Otherwise, @giovp could you please have a look? Maybe we could test the various SpaceRanger versions with scripts in the spatialdata-sandbox that I run nightly, wdyt?

Hi @LucaMarconato ,
Thanks for your reply. Yes I am using the latest version 0.0.7 that has this error and this is how I read the spacerange output:
import spatialdata_io
sp_data=spatialdata_io.visium('./spaceranger210_count_47058_WTSI_GRCh38-2020-A')

Having the same issue here, and I think it's definitely related to #51. @giovp, which data sets did you test it on? I know that files downloaded from the 10x website do have a library_id prepended, but this is never the case for actual spaceranger output, which is why I had removed it in #44.

Same issue here... the IO function should ideally support both h5 files with and without library_id prefix.

I had the same issue now with the naming of the files, it would be very useful to have the option to load without the prefix.
I also encountered the second error message:
TypeError: ufunc 'points' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
For me it was related to the two types of SpaceRanger outputs : "tissue_positions.csv" and "tissue_positions_list.csv". When using squidpy I have renamed this file to use the sc.read_visium() command and then correcting for the format, that's why it caused now the problem. I see that @thjimmylee also had both files under the spatial folder and probably caused the same mismatched naming and format.

The PR https://github.com/scverse/spatialdata-io/pull/91 should fix the problem.
I haven't made a full test like @giovp did in https://github.com/scverse/spatialdata-io/pull/51 of the various SpaceRanger versions, but I am testing against three datasets (see details in the PR), including one that doesn't contain the dataset_id in the file name.
Also now I am testing these three datasets in a nightly job, so this should prevent coming back to the same bug in the future.
Please @grst @benedekp @ilia-kats @thjimmylee, if you have the change let me know if this fixes your problem. If not I am happy to be more systematic and include more datasets in the nightly job.


Clean up travis.yml file

Remove some pre-installed dependencies
General cleanup

Great job ! :+1:


Figure styling

Added the comments from #68 to all plots, rearranged the match tab to make it a little cleaner and more effectively use the space. Also added borders to the plots which I have wanted to do for a while and made all plots the same size so that users can accurately transition from one view to the next without having distortions in the spectra between pages. Let me know what you think @zsteinmetz

I added in the placeholder and left-aligned the headers with a little more space after them.
Ready to merge if you are :)

Ahh! I see. Good catch. Ok, fixed now.
On Mon, May 3, 2021 at 7:30 AM Zacharias Steinmetz @.***>
wrote:

@.**** commented on this pull request.
In inst/shiny/ui.R
https://github.com/wincowgerDEV/OpenSpecy/pull/73#discussion_r625126720:

+plotcontainerfunction <- function(...) {

div(
#style = "padding:0.1rem",
div(class = "front",

   style = "border:solid #f7f7f9;background-color:rgba(0, 0, 0, 0.5);padding:1rem",

The borders should be the same thickness as containerfunction. I made the
plots go all the way to the edge so that we could see the largest plot
possible.
Ah sorry, yeah, thinkness is the same but containerfunction has soft
corners and plotcontainerfunction hasn't.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/wincowgerDEV/OpenSpecy/pull/73#discussion_r625126720,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGMUJU3MNJGJ4U6PRUX4DJLTL2XP7ANCNFSM4357YUMA
.

--
´¯·.¸¸.·´¯·.´¯·.¸¸.·´¯ツ ------------------------------
Win Cowger
PhD Candidate, Environmental Sciences: Soil and Water
University of California, Riverside
NSF Graduate Research Fellow
Research Advisor to 5 Gyres https://www.5gyres.org/advisors/
Data Advisor to Let's Do It World https://www.letsdoitworld.org/
Contact Info
515-298-3869  | @.***
Websites
www.openspecy.org
www.wincowger.com
http://andrewgray.ucr.edu/people/wcowger.html


Labels overflow off CourseInfo Modal

When the window is reduced, or labels have a long name the label section overflows past the end of the course info modal

Closed by #261


proper stop, init and recover via command_gui

e.g. torso did not stop movement after pressing stop button on command_gui

tested on cob4-1

CR: OK


Added showPrev option

Added option to hide previous button. Default is visible, when param showPrev is equal to false, hides the previous button.

I believe this is already part of the current version :)

I believe this is already part of the current version :)


[WIP] Split ErrorWrapper into DOMWrapperError and VueWrapperError

#92
I want to define an interface such as VueWrapperAPI. Then VueWrapperError and VueWrapper will implement this.
find, for example, has 4 overloads. Where should these go? Maybe @cexbrayat can advise me. Should all the four overrides go in the interface, which would be implements by VueWrapper and VueWrapperError? Then copy paste in the implementation? Just interface? Just class? 🤔
Also good chance to learn more about tds.

@lmiller1990 If I understand your question correctly, I would say:

define the overloads in the interface
all classes implement the interface

@cexbrayat I thought so, will do this, thanks.

@cexbrayat quick review if you have some time on your hands :) for some reason I couldn't add you as a reviewer 🤔

@lmiller1990 I think you can only assign users that have been appointed collaborators of the project or something like that. I had to be added to the Angular repo for this reason IIRC.
I'll take a look!

I have made the changes @cexbrayat. Questions:

so we duplicate the types for find etc in both the interface and the implementation? maybe not ideal since I don't expect any other wrappers to use these types except DOMWrapperError which just throws errors for everything. I guess this makes sense if many classes implement something, perhaps now in this case (since no others except DOMWrapper and the error wrapper will do so?)
this overload and the one under it do not seem to do anything - if I delete them, everything seems find and tsd passes too. Are we missing a test?

Let's put this on hold - I think there is a better way to do this.


Skorch compatibility

It seems that the PR  #356 is incomplete, indeed some methods get_params are still not complying to skorch migration guide. With @cedricrommel, we added in this PR:

A more reliable test that checks the consistency of all augmentations (the reason why the previous test did not address this issue is that it only tested one augmentation).
Changes in the signature of get_params methods for each augmentation.

Great @lapaill :)

great :)


Update README.md

Updated installation instructions for gifsicle (motived by https://gist.github.com/SlexAxton/4989674#gistcomment-1476312).
The example from comment above uses wget. I prefer to use curl of wget. I don't have wget installed on my system. Not sure if you want to have instructions for both (isn't curl ubiquitous?).

Hi mhulse, those instructions are only for OSX. I would rather link to the INSTALL file of the giflossy repository: https://github.com/pornel/giflossy/blob/master/INSTALL
Those instructions were not sufficient?

Those instructions were not sufficient?

Ah, my bad! I just saw this comment over here:

could you please add this to the gifify repo as a PR? very valuable

I should have looked to see if an installation script was already accounted for. I just assumed there was still a need for something as your comment was from Feb.
Since I didn't use that install script I'm not sure I'd be the best person to write a README sentence referring folks to it's location and usage.

For prosperity's sake:
curl -J -L https://github.com/pornel/giflossy/releases/download/lossy%2F1.82.1/gifsicle-1.82.1-lossy.zip  | tar -xzv --strip-components 1 --include=mac/gifsicle - -C /usr/local/bin/


Fakes: Support function in constructor

class MyClass(val foo: () -> Unit)

Expected behaviour:

a fake can be created based on this class

Actual behaviour:
IllegalStateException: Unnown location: Cannot generate fake for non concrete class Function0

Fix published in version 1.1.0


blush: Add version 0.5.3

blush
Description: Grep with colours
License: MIT
Preview:

As a console tool it should be added the main bucket

As a console tool it should be added the main bucket

It is v0.5.3, not yet stable.
See: criteria of the main bucket


SW-5753 Updated create submission behavior to handle collisions

#2230  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tommylau523 and the rest of your teammates on  Graphite


Supported Dart 2, HttpStatusCode Enhancements, CI/Coverage Integration & Deprecation of Uppercase Constants

Added

HttpStatusCode 103 earlyHints feature for more nuanced HTTP status code handling.
New checks for different categories of HTTP status codes: isInformationHttpStatusCode, isSuccessfulHttpStatusCode, isRedirectHttpStatusCode, isClientErrorHttpStatusCode, isServerErrorHttpStatusCode.
GitHub Actions CI integration to streamline development workflows.
Transition from codecov.io to Coveralls for enhanced code coverage analysis.
Repository badges for quick access to project status indicators.

Changed

HttpStatus Class Update:

New description Field: Added a required description field to provide more context around HTTP status codes.
Named Parameters: Transitioned from positional to named parameters in the constructor to improve code clarity and enforce parameter requirements.
Enhanced toString() Method: Updated to include description, offering a more comprehensive string representation.

Documentation Enhanced: Improved documentation for both HttpStatusCode and HttpStatus, offering clearer guidelines and usage examples.
Enabled additional lint rules: lints and dart_code_linter, for improved code quality and consistency.

Deprecated

Deprecated snake_uppercase constants in HttpStatus (e.g., HttpStatus.Not_Found) , adhering to the Dart effective style guide's recommendation: PREFER using lowerCamelCase for constant names. These uppercase items will be removed in the next version.
Deprecated snake_uppercase constants in HttpStatusCode (e.g., HttpStatusCode.Not_Found, HttpStatusCode.NOT_FOUND) in favor of lowercase versions (e.g., HttpStatusCode.notFound), adhering to the Dart effective style guide's recommendation: PREFER using lowerCamelCase for constant names. These uppercase items will be removed in the next version.

Removed

Dropped compatibility with Dart 1.x due to migration towards Dart 2.18 which includes support for extension methods, marking a significant change in the required development environment.

@andcan


Auth & Device registry Hotfixes

Is your feature request related to a problem? Please describe.

[ ] Add the network field to user activity logs ie net_name, net_id
[ ] Requesting data access to a specific organization??
[ ] Inviting non-airqo users to a network??
[ ] Users should be able to create new devices to any existing network
[ ] Handling users that want to register new organisations using gmail, yahoo etc
[x] Add user details to the site activity logs
[ ] When an assigned user is deleted, are they entirely deleted from the users list or added to the available users list?
[x] The assigned users list is missing the user's role_name and role_id that's why it is empty in the assigned users table
[x] Specify which of the CRUD actions occurred in the logs message and to what(eg device, site, user etc) in the message output under the logs endpoint
[ ] Is it possible to have the device name/site name/airqloud name etc in the action message? Like what has been acted upon especially for network management related logs
[x] This successful login message on device registry/auth service etc is confusing (edited)
[x] what parameter does this endpoint expect  /users/permissions ? The error says user_id: "the user ID must be an object ID" ...Permissions are a unique entity(and are system created(created by developers) and not user created(external user), they are also not tied to networks). Get permissions are returned as they are. No need for passing in any parameters. The error is new..probably from a new change you introduced??
[x] Unable to create an "old" AirQloud for Nigeria: something about admin_levels not being recognised.
[x] the grid information api is missing the visibility field
[x] the updated_cohort array is empty even though the devices are successfully added when a user assigns devices to a cohort (edite
[ ] For network or organisation creation, we could have a field which allows someone to input a preferable name for their organisation instead of picking this name from the email address?
[ ] Add a notification system to alert the Hardware engineers whenever a new Device is deployed. Example: the recent devices from Detroit were deployed and the hardware engineers needed to know about this development. This could fit into the INCENTIVES microservice?
[ ] There's a small issue with site creation. It doesn't accept sites that already exist even though the site is not belonging to that network.
When I used Jinja's coordinates in a different network, it said the coordinates should be unique even though I created the site in a different network. (edited)

THE ONES BELOW ARE PICKED FROM "CLOSED" ISSUES:

[ ] Support mobile app users who would like to access the platform using the same credentials. A user with an app account should be able to login to the platform.
[x] Add Unit Tests for all access control implementations
[ ] Incorporate role based middleware that checks whether the user making the request has the required role before
[ ] Are the users added through the Approval process added to any network? Is it even necessary?
[ ] An opportunity for us to also provide support for deleting Platform accounts.
[ ] Ability to refresh JWT token without having to login
[ ] On updating Roles, find out why input validation flags addition of role_name and role_code yet they are not provided in the request. Also, does not flag them if they are provided.
[ ] Networks can also have profiles with images
[ ] Handle input validations for GET Events. eg: device_id, etc
[ ] On the latest measurements endpoint (/api/v1/devices/events/latest), Missing network id and visibility field.
[ ] Filter measurements by network name/id and visibility
[ ] Unable to create a site with similar coordinates as a site on another network. Says coordinates should be unique.
[ ] - [ ] as time goes on, we shall consider just returning measurements for public devices only....especially for the case of latest measurements endpoint
[ ] create a many to many relationship between AirQlouds and Organisations where
[x]  Make sure that the user exists when creating a token. At the moment, any MongoID can create a token.
[ ] Scale the distance to the capital city (Not just Kampala) so that it is international.

✨✨ Here's an AI-assisted sketch of how you might approach this issue saved by @AnthonyByansi using Copilot Workspace v0.22
Topic

Is the network field added to user activity logs?

Before

No, the network field is not added to user activity logs.
The network field is defined in the activitySchema in src/device-registry/models/SiteActivity.js.
The network field is included in the toJSON method of the activitySchema in src/device-registry/models/SiteActivity.js.
The network field is not utilized in the deploy, recall, maintain, update, and delete methods in src/device-registry/controllers/create-activity.js.
The network field is not included in the response of the list method in src/device-registry/controllers/create-activity.js.

After

Yes, the network field is now added to user activity logs.
The network field is defined in the activitySchema in src/device-registry/models/SiteActivity.js.
The network field is included in the toJSON method of the activitySchema in src/device-registry/models/SiteActivity.js.
The network field is utilized in the deploy, recall, maintain, update, and delete methods in src/device-registry/controllers/create-activity.js.
The network field is included in the response of the list method in src/device-registry/controllers/create-activity.js.

Plan

src/device-registry/controllers/create-activity.js (CHANGE)

Add the network field to the deploy, recall, maintain, bulkAdd, bulkUpdate, update, delete, and list methods
Include the network field in the response of the deploy, recall, maintain, bulkAdd, bulkUpdate, update, delete, and list methods

src/device-registry/models/SiteActivity.js (CHANGE)

Include the network field in the response of the register, list, modify, and remove methods

Sketch of implementation

View the changes
Details

Code analyzed at 196c218ebc30f78985794e1a88d13291944ac50d


Scripts not working

Describe your bug here.
Nothing here
Crash Log or logcat logs (if existing)
Why are you here??

Are you modding a build from source or with Lua?
Lua
What is your build target?
Android
Did you edit anything in this build? If so, mention or summarize your changes.
No

Describe your bug here.
Nothing here
Crash Log or logcat logs (if existing)
Why are you here??

Are you modding a build from source or with Lua?
Lua
What is your build target?
Android
Did you edit anything in this build? If so, mention or summarize your changes.
No

kys


Add web3 JS provider for EmbarkJS

Extraction of Web3 out of EmbarkJS.
Whisper is still very dependant of web3, but at least this takes care of the Blockchain connection in EmbarkJS.
 The reason why the tests fail is obvious. It's because this PR needs EmbarkJS' version to be bumped once this PR https://github.com/embark-framework/EmbarkJS/pull/31 gets merged


More intelligent for detecting workspace

Hi,
After downloading this repo to $HOME/workspace/lua-language-server/, and browser the file extension/server/meta/Lua 5.4 en-us/string.lua, I affect the high CPU (>90%) and memery (>15g) consumming issues,

It seems lua-language-server work on $HOME/ instead of  $HOME/workspace/lua-language-server/

Can we detect the workspace by .git or other special file? Then it will index files in small range.
Thanks.

The workspace is sent from client.
You could find your log file (see https://github.com/sumneko/lua-language-server/wiki/Default-log-path) and search workspaceFolders.
I will scan this folder without any special check.
In VSCode, the value of workspaceFolders is the folders opened by VSCode, or it is null if VSCode only opened a single file.

Thanks @sumneko , yes, it's from the client, I'll check it in my local.


Refactor device into several files

The number of devices the gateway supports is starting to expand, so it makes sense to refactor a bit to make it easier to find all parts of the code.

Coverage increased (+1.9%) to 81.545% when pulling 3474eb25207c31f2cafccfe3146f57592848e56c on<PHONE_NUMBER>51 into 4f2c66137571afca3f8817af0e768b8dc38d5fd6 on master.


代码复现的正确率

Hello, thank you very much for sharing the code, why I use your code training only 42%

@xiangzhang06 Hello，When I try to train this code .The following problems are appeared.Do you know how to solve it? Thanks
/home/steven/Documents/test/DFL-CNN/main.py
DFL-CNN <==> Part1 : prepare for parameters <==> Begin
DFL-CNN <==> Part1 : prepare for parameters <==> Done
DFL-CNN <==> Part2 : Load Network  <==> Begin
DFL-CNN <==> Part2 : Load Network  <==> Done
DFL-CNN <==> Part3 : Load Dataset  <==> Begin
Traceback (most recent call last):
File "/home/steven/Documents/test/DFL-CNN/main.py", line 180, in
main()
File "/home/steven/Documents/test/DFL-CNN/main.py", line 121, in main
dataroot = os.path.abspath(args.dataroot)
File "/usr/lib/python3.5/posixpath.py", line 357, in abspath
if not isabs(path):
File "/usr/lib/python3.5/posixpath.py", line 64, in isabs
return s.startswith(sep)
AttributeError: 'NoneType' object has no attribute 'startswith'
Process finished with exit code 1

@xiangzhang06  Thank you for your reply.  Specific loss weights is not '1:1:1', you can try to tune it.

@fxle --dataroot  /PATH/TO/YOUR_DATA

@xiangzhang06  I got the same result as yours. Sad...
Have you met the overfitting problem? i.e. Accuracy on train set is 100% while accuracy on test set is only ~48%?

Yes, I have the same problem as you. How did you solve it  ? @pengshiqi

Yes, I have the same problem as you. How did you solve it ? @pengshiqi


Bulk delete using Local API causes TypeScript error

Link to reproduction
https://github.com/joas8211/payloadcms/tree/repro/local-bulk-delete-typescript-warning
To Reproduce

Clone the branch indicated by "Link to reproduction".
Run yarn install.
Open file test/_community/config.ts in Visual Studio Code.
Inspect the TypeScript warning.

Describe the Bug
The error is indicated like so in VSCode using TypeScript version 5.0.2:

Link to the above code block in GitHub: https://github.com/joas8211/payloadcms/blob/repro/local-bulk-delete-typescript-warning/test/_community/config.ts#L33-L38
Error has the following content:
No overload matches this call.
  Overload 1 of 2, '(options: ByIDOptions<"posts" | "users">): Promise<Post | User>', gave the following error.
    Type '{ text: { equals: string; }; }' is not assignable to type 'never'.
  Overload 2 of 2, '(options: ManyOptions<"posts" | "users">): Promise<BulkOperationResult<"posts" | "users">>', gave the following error.
    Argument of type '{ collection: "posts"; where: { text: { equals: string; }; }; }' is not assignable to parameter of type 'ManyOptions<"posts" | "users">'.
      Property 'id' is missing in type '{ collection: "posts"; where: { text: { equals: string; }; }; }' but required in type 'BaseOptions<"posts" | "users">'.ts(2769)
delete.ts(24, 3): The expected type comes from property 'where' which is declared here on type 'ByIDOptions<"posts" | "users">'
delete.ts(14, 3): 'id' is declared here.

Payload Version
v1.6.29

Confirmed that it works now :tada:

Thanks @joas8211!


Initial work on promotion script

Initial work on promotion script, the aim was to utilize jenkins multibranch pipelines which requires some more work on the groovy script. Needs more work on passing parameters to the ReleaseHelper

Lets move this work to the jenkins jobs repo https://github.com/charmed-kubernetes/jenkins/pull/1420


Fix unpin notebook

We looking for the notebook tree item in the book model, we need to convert the uri to vscode Uri format, otherwise the notebook is not found in windows since we are trying to match c://path/to/notebook to c:\\path\\to\\notebook
This PR addresses #20392

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/notebook/src/book/bookTreeView.ts
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.0005%

Covered Lines:
27866

Relevant Lines:
62318

💛  - Coveralls


Invalid edgesToSuperview right inset

Hi,
When doing something like:
        let edge = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
        content.edgesToSuperview(insets: edge)

the right inset ends up +20 on the right. Looks like the sign is changed twice for the right inset.
here:
                if !(excludedEdge.contains(.trailing) || excludedEdge.contains(.right)) {
                    constraints.append(rightToSuperview(offset: -insets.right))
                }

and inside the rightToSuperview function:
        return right(to: constrainable, anchor, offset: -offset, relation: relation, priority: priority, isActive: isActive)

This is opposite to the behaviour with the bottom inset which is changed only once.
Thanks,
H.

Yes this was wrong, should be fixed now in 3.2.0. ✌


How to hide and unhide OS-level window (X11)?

Hello,
I want to hide and unhide the complete program window. The program is controlled through an external MIDI controller which sends the signals to hide and show. I am personally on X11 where this is called Unmap() and Map(), but other OSes need something else of course.
sokol.h has private functions to do this:  _SOKOL_PRIVATE void _sapp_x11_show_window(void) and _SOKOL_PRIVATE void _sapp_x11_hide_window(void).
I want to avoid editing sokol.h and imgui.h. Any recommendation for a best practise how to extend imgui-app here?

I tried to read all the code and I don't think it is possible without changing sokol.h and imgui_app.cpp .
Is there some kind of hacky C or C++ magic to access these functions anyway?
_SOKOL_PRIVATE bool _sapp_x11_window_visible(void)
_SOKOL_PRIVATE void _sapp_x11_show_window(void)
_SOKOL_PRIVATE void _sapp_x11_hide_window(void)

We can expose them, let me look into those :)


Include tomcat/carbon/WEB-INF/web.xml.j2 template in the product

$subject.
Include the web.xml.j2 template in the repository/resources/conf/templates/repository/conf/tomcat/carbon/WEB-INF directory.
Related to https://github.com/wso2/product-is/issues/10380

@pulasthi7 @IsuraD @senthalan The default values for the configurable properties have been added to the modules/distribution/src/repository/resources/conf/default.json in this PR. What should be the ideal place these default values should be put in?

I think it is fine to add default.json

Since this is coming from kernel, the file should be templated at the kernal. Is there any particular reason to do it in the product?
We might miss the changes introduced at the kernel level if we go this path

Since this is coming from kernel, the file should be templated at the kernal. Is there any particular reason to do it in the product?
We might miss the changes introduced at the kernel level if we go this path

The reason for not templating it at the kernel level was to make sure the tomcat/carbon/WEB-INF/web.xml file in

Since this is coming from kernel, the file should be templated at the kernal. Is there any particular reason to do it in the product?
We might miss the changes introduced at the kernel level if we go this path

The reason why I went with product-level templating was to have the flexibility of adding product-specific configs and default values for the templated file. But, yes, I agree, by going down this path, we would miss changes introduced to this file at the kernel level.

Since this is coming from kernel, the file should be templated at the kernal. Is there any particular reason to do it in the product?
We might miss the changes introduced at the kernel level if we go this path

The reason why I went with product-level templating was to have the flexibility of adding product-specific configs and default values for the templated file. But, yes, I agree, by going down this path, we would miss changes introduced to this file at the kernel level.

Closing this PR since the changes with https://github.com/wso2/carbon-kernel/pull/3115 would do the templating at the kernel level as suggested by @pulasthi7


migrate to localStorageCapacityIsolation kubelet option from feature gate

The LocalStorageCapacityIsolation feature will be GA in v1.25.0 and thus there will be no feature gate, but for rootless users like this I've requested a kubelet config option that will be available in v1.25.0 thanks to @jinxu97.  You can set localStorageCapacityIsolation: false in the kubelet config instead of disabling the feature gate when Kubernetes v1.25.0 is out.
I've identified this project as using the feature gate, so this issue is a friendly heads up about the coming removal and replacement 😅
see: https://github.com/kubernetes/kubernetes/pull/111513, https://github.com/kubernetes/enhancements/issues/361, coming in Kubernetes v1.25.0

@BenTheElder Thank you for the heads up, that's really appreciated :)


Error: undefined method `search_tap' for Homebrew:Module

[x] Confirmed this is a problem with Homebrew/brew and not one or more formulae? If it's a formulae-specific problem please file this issue at https://github.com/Homebrew/homebrew-core/issues/new
[x] Ran brew update and retried your prior step?
[x] Ran brew doctor, fixed as many issues as possible and retried your prior step?
[x] Ran brew config and brew doctor and included their output with your issue?

I was trying to run brew audit --new-formula on my formula, but it infinitely printed this error. Looks like an issue with the source code itself, so to be sure I tried running brew audit --strict --online cmatrix (a different formula), and it also had this error. The entire stack trace is here:
Error: undefined method `search_tap' for Homebrew:Module
Please report this bug:
  http://docs.brew.sh/Troubleshooting.html
/usr/local/Homebrew/Library/Homebrew/compat/global.rb:9:in `method_missing'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/audit.rb:374:in `block (2 levels) in audit_formula_name'

I'm running Yosemite 10.10.5. brew doctor outputs:
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: Your Xcode (6.2) is outdated.
Please update to Xcode 7.2.1 (or delete it).
Xcode can be updated from the App Store.

and brew config:
HOMEBREW_VERSION: 1.1.13-113-g36a387da26
ORIGIN: https://github.com/Homebrew/brew.git
HEAD: 36a387da26f56f49fb9153c652127fce76225f3c
Last commit: 5 hours ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 7fc329fad1b6c2ea39f4b9b22e05d2f4e5d7efd2
Core tap last commit: 3 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_REPOSITORY: /usr/local/Homebrew
HOMEBREW_CELLAR: /usr/local/Cellar
HOMEBREW_BOTTLE_DOMAIN: https://homebrew.bintray.com
CPU: octa-core 64-bit haswell
Homebrew Ruby: 2.0.0-p481
Clang: 6.0 build 600
Git: 2.12.2 => /usr/local/bin/git
Perl: /usr/bin/perl
Python: /usr/local/bin/python => /usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/local/bin/ruby => /usr/local/Cellar/ruby/2.4.1_1/bin/ruby
Java: 1.8.0_101, 1.7.0_79, 1.6.0_65-b14-466.1
macOS: 10.10.5-x86_64
Xcode: 6.2
CLT: <IP_ADDRESS>.1.1447826929
X11: N/A

Please help. Thanks!
Edit: Just checked on my friend's computer whose Brew version was 1.1.13 and brew audit ran fine, then I did a brew update and it broke too.

This looks like a consequence of #2540. It also appears on the Jenkins bots trying to merge new formulas.

@joshuata Do you know if there's a fix coming? Should I go ahead and open a PR for my formula anyway?

I don't know. I'm in the same spot as you. I am not familiar enough with Homebrew internals or Ruby to write a fix. Maybe the PR author @MikeMcQuaid can help out.
It looks like the problem is that the audit script on line 374 needs to be updated with the new method. It expects there to be a method named search_taps(regex_or_string), but it was removed in the pull request I mentioned above.


not implemented: ArrayType

Hi.
I'm getting an error with Arrays:
type Color string
type Label struct {
	Name        string
	Description string
	color       Color
}
type LabelSet []Label

log:
not-implemented typeSpec.Type.(type) = *ast.ArrayType, ast-dump:
----------------------
     0  *ast.ArrayType {
     1  .  Lbrack: domain/labelset.go:5:15
     2  .  Elt: *ast.Ident {
     3  .  .  NamePos: domain/labelset.go:5:17
     4  .  .  Name: "Label"
     5  .  }
     6  }
----------------------

I'm using latest version v0.4.5
The originating error seems to come from here:
https://github.com/mariotoffia/goasciidoc/blob/f5d25e784b2797d40a53acb62c3151c15d1eb596/goparser/internal_parser.go#L152-L163
Would be cool to have this also implemented 😄

Hi @ccremer - Thanks for the bug report!!
I really like that you have outlined the code so I can write a unit test to reproduce it!
I'll have a look and hopefully a fix soon.
Cheers,
Mario :)

Hi @ccremer. I've done an update to support ArrayType - please have a go and see so if it works for you?
Cheers,
Mario :)

It works! No more errors and the Array is there.
Thanks for the quick fix :)
Cheers


hide help modal once the user has seen it

It may become frustrating if the help modal pops up every time a user opens the page.
This is only an issue for people who repeatedly visit the website. The user could still click the ❔ icon to show the help modal.
One possible solution:
when the modal is closed:
+ localStorage["seen-modal-" + location] = true;

And before opening the modal:
// open the window by default
- openModal();
+ if (!localStorage["seen-modal-" + location]) openModal();

approved

approved

The possible solution did not work, even if openModel() is not called, the help model still appears.


debug - resume on stepping

windows
create a JavaScript extension using yo code and have the code like below
set a breakpoint in lines 22 and 34
run, break, resume, break and from line 34 start stepping
when you step over console.log(longString); the program resumes instead of stepping

// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
var vscode = require('vscode');

// this method is called when your extension is activated
// your extension is activated the very first time the command is executed
function activate(context) {

    // Use the console to output diagnostic information (console.log) and errors (console.error)
    // This line of code will only be executed once when your extension is activated
    console.log('Congratulations, your extension "commands-test" is now active!');

    var channel = vscode.window.createOutputChannel('Ext1');

    // The command has been defined in the package.json file
    // Now provide the implementation of the command with  registerCommand
    // The commandId parameter must match the command field in package.json
    var disposable = vscode.commands.registerCommand('extension.sayHello', function () {
        // The code you place here will be executed every time your command is executed

        let v = process.version;
        console.log(v);

        let buffer = new ArrayBuffer(320000);
        console.log('byte buffer', buffer.byteLength);

        let view = new Int32Array(buffer);
        console.log('int32 view', view.length);

        for (let i = 0; i < view.length; i++) {
            view[i] = i * Math.random();
        }

        console.log('made it...');

        let data = new Array(10001);
        data.fill(42);

        console.log(data.length);

        let longString = data.join('oooooo');
        longString += '<TOO LARGE>';

        console.log(longString);

        channel.appendLine(longString);

        // Display a message box to the user
        // return vscode.commands.executeCommand('vscode.openFolder', vscode.Uri.file('\\\\psf\\Home\\Code\\_samples\\ConsoleAppDnx'), true);
        // return vscode.commands.executeCommand('vscode.openFolder', vscode.Uri.file('\\\\psf\\Home\\Code\\_samples\\ConsoleAppDnx'), false);
    });

    context.subscriptions.push(disposable);
}
exports.activate = activate;

// this method is called when your extension is deactivated
function deactivate() {
}
exports.deactivate = deactivate;

@isidorn @weinand fyi

I can not reproduce on Mac, but on Windows. I can also not reproduce with a standalone node.js snippet with the same code using node.js 5.11.0.

I tried on windows and if I use a smaller data array I can not reproduce. With a larger data array it reproduces seldomly.
As @bpasero noticed electron's node <IP_ADDRESS> and barebone node <IP_ADDRESS> are different in one aspect, first uses chromium 49 and the former 47. This might have an impact on debugging. We might as well update in may to a new electron version which should take care of this 'incompatibility'.
Due to the reasons above I propose to move this to May
I will also drill deeper tomorrow to check if there is something we can do, though since it is not reprodcuing constantly for me I am having a hard time doing that.

I can nicely repro on my win vm with Joh's sample, but not on my real win machine.
There are two issues:

Step jumps over too many lines -> our node debug simly gets the wrong stack trace when asking for the stack trace from node in this case
Step instead of steps just continues -> our node debug adapter is not getting a 'break' event from node, so it never enters a stopped state.

So it seems to be an issue in node for both of these issues. It might be the different chromium versions used between electron and nodejs.
Not sure what we can do here, even though this makes the extension debugging experience worse it is seldomly happening and only on windows.
@egamma opinion welcome

As soon as Electron is out with Chrome 50 support, V8 versions should be aligned again and we should re-test this.

Ping @chrisdias to decide if we should mention this in release notes
Also forwaring this issue to @weinand

@isidorn I'm not sure it needs to be in the release notes as I don't think people will look there first to find the issue.  People will hopefully be able to find the issue here and watch the progress.

This seems to work fine in the latest. Couldn't reproduce in Windows 10 VM.

This still happens for me. Still, in the same weird way as before - not always but almost always.

@jrieken is this project living on a filesystem that is shared between OS X and Windows?

No, local to the VM C:\Users\jrieken\Code\ddd\src\extension.ts

@jrieken does this problem occur if longstring is short, e.g. <= 80 ?

sometimes this occurs already on the first console.log statement here
let v = process.version;
console.log(v);

So I think it's unrelated to that.

@jrieken but it only occurs for 'console.log' (and it does not happen if you comment out the console.logs)?
If yes, then this could be a hint towards finding the culprit.
'console.log' in the extension is somewhat 'heavy' because it is read by the EH instance of VS Code, which sends it back to the original VS Code instance where the debugger runs. There it is broadcasted and the debugger picks it up to append it to the debug console.

yes - only ever in console.log-statements

@jrieken you are seeing this when running Windows in a VM?
When reading all the other comments in this issue it seems that this problem only occurs when running in a VM, but not in real Windows. This supports the hypothesis that this problem is connected to the heavy 'console.log' flow which is more easily affected by a slow setup, e.g. a VM.

yes - win10 VM

Probably related to https://github.com/nodejs/node/issues/7219

must be fixed in node.js, see nodejs/node#7219


Feature/new components

I have missed a couple of entries. This lead to add some other items an missing attributes.
This commit contain new things and some code alignment

Added Ventilation
Added Presence Detector
Update binary sensor
Update all other component to have the same structure and type safety.
Added the device URL
Added missing device names
Update the Sensor to accept device class and icon
Added the parent ID to match the sensors to an entry
Added removal option for component

I have removed the overhead of the custom sensor. as the code is manly the same Need only some additional check and not fill in all the info. This can also be done to the rest.
I have removed some of the helper functions as they where only used in the component. And the function was only a wrapper. Better to have it in the component.

@cabeljunky Thank you very much for your pull request. I made only one change on the fan to get rid of a error message.
If you are interested to help more you are welcome. I have such a small installation that I can not really test a lot. And maybe you have seen that I started a complete rewrite of the communication to the loxone. But I am not happy with it. I have some problems and I can not find a solution. But if you want to help I can tell you why I want to rewrite it.
Thanks again for your help!!!!

Hello @JoDehli,
My current setup is a bit more more extensive.
So that means I can add a bit more components to the module.
I wanted also to add some of the Air device details like the battery. But need a bit more understanding of your code and the api.
If you can share what your issue is maybe I can help or find a solution for it.

Very nice that you are interested to improve the integration. If you want you can join the discord channel I have made:
https://discord.gg/vXJ2MZka

@cabeljunky by the way do you use a gen2 or a gen1.

I have now a miniserver go (gen1), but I will order the miniserver compact.

Very good I think the gen2 and compact has the same software. I want to make it work with the new gen2 but I have no access to it. It is a little change. Maybe you can help me if you have a the new server.


Drop discovery module

As per the discussion last month, the core contributors have decided to remove the "discovery" module that serves as the discovery service function. Instead, the "metadata" module will now take on this role by providing the cluster's topology of nodes and shards.
@lujiajing1126 This change concentrates on the interface of "metadata", I need the added operations to support other feats. The internal implementation is left to you as we discussed before.

[x] Update the CHANGES log.

Codecov Report

Merging #311 (c735498) into main (397d6d8) will decrease coverage by 0.20%.
The diff coverage is 37.08%.

@@            Coverage Diff             @@
##             main     #311      +/-   ##
==========================================
- Coverage   39.82%   39.62%   -0.20%
==========================================
  Files         101      104       +3
  Lines       10894    11101     +207
==========================================
+ Hits         4338     4399      +61
- Misses       6131     6268     +137
- Partials      425      434       +9

Files Changed
Coverage Δ

banyand/measure/measure.go
80.00% <ø> (-0.89%)
:arrow_down:

banyand/measure/metadata.go
49.19% <ø> (-0.61%)
:arrow_down:

banyand/metadata/schema/checker.go
33.33% <0.00%> (-8.49%)
:arrow_down:

banyand/metadata/schema/node.go
0.00% <0.00%> (ø)

banyand/metadata/schema/schema.go
36.47% <0.00%> (-11.97%)
:arrow_down:

banyand/metadata/schema/shard.go
0.00% <0.00%> (ø)

banyand/stream/metadata.go
53.24% <ø> (-0.90%)
:arrow_down:

banyand/stream/stream.go
76.47% <ø> (-1.91%)
:arrow_down:

banyand/liaison/grpc/discovery.go
37.98% <41.21%> (+27.67%)
:arrow_up:

banyand/metadata/client.go
35.83% <50.00%> (+1.62%)
:arrow_up:

... and 4 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Updated RuleTransformer To Exclude Custom Parboiled2

Getting rid of that json.md external call cant happen soon enough.

Seems to do the trick:
$ diff -ur tmp/2.10/{before,after}
diff -ur tmp/2.10/before/core/target/scala-2.10/http4s-core_2.10-0.16.0-SNAPSHOT.pom tmp/2.10/after/core/target/scala-2.10/http4s-core_2.10-0.16.0-SNAPSHOT.pom
--- tmp/2.10/before/core/target/scala-2.10/http4s-core_2.10-0.16.0-SNAPSHOT.pom	2017-02-21 15:15:30.000000000 -0500
+++ tmp/2.10/after/core/target/scala-2.10/http4s-core_2.10-0.16.0-SNAPSHOT.pom	2017-02-21 15:19:09.000000000 -0500
@@ -68,11 +68,6 @@
             <version>2.10.6</version>
         </dependency>
         <dependency>
-            <groupId>org.http4s</groupId>
-            <artifactId>http4s-parboiled2_2.10</artifactId>
-            <version>0.16.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
             <groupId>org.typelevel</groupId>
             <artifactId>discipline_2.10</artifactId>
             <version>0.7.2</version>
Only in tmp/2.10/after/tmp: 2.10

where the temp directories include all the POMs[1] after a ;clean ;test; ;publishLocal'.  (Ignore the "Only in tmp..." bit.  I forgot to exclude tmp when grabbing the POMs from each build.)
Results were consistent across 2.10, 2.11 and 2.12.
[1] I used, for example, tar -c $(ls **/*.pom) | tar -C tmp/2.10/before .


localhost:8000 hardcoded for openseadragon

From isle-8-architecture SLACK chat:
@birkland found the following:
by the way, I dumped config (from within the cantaloupe PR), and saw this:
./context.context.openseadragon_block.yml:        iiif_manifest_url: 'http://localhost:8000/node/[node:nid]/manifest'
./context.context.openseadragon_block.yml:        iiif_manifest_url: 'http://localhost:8000/node/[node:nid]/book-manifest'
:12
By the way, @Daniel Lamb I built from your PR, then dumped config.  See the 'localhost's ?  Is that an issue?

FYI https://github.com/Islandora/openseadragon/pull/27 will resolve this

https://github.com/Islandora/openseadragon/pull/27 has been merged.  Closing.


Fix params

Reverts the changes in https://github.com/domaindrivendev/swagger_rails/pull/9 and makes the change specific to Rails 5+. I'm not sure how you'd want to test the Rails 5 change... I don't see a great way to test that without adding a second rails instance or building some scripting to create the rails instance for testing.
I created this branch off of the Travis CI PR (https://github.com/domaindrivendev/swagger_rails/pull/21) to make sure it shows up as fixed. And based on https://travis-ci.org/drewish/swagger_rails/builds/159390811 it looks good.

Closing this since I'll fix in the branch that adds Travis support so it can be tested across versions.


Add undo for Sprite Editor

This PR adds undo support for all Sprite Editor actions (which also closes #24820).
I had to change _add_as_sibling_or_child to take Nodes as arguments instead of Node2D to use it with bind_method.
I also changed replace_node in SceneTreeDock to make freeing old node optional, so now it should be easy to add undo support for any action that replaces node with another one (e.g. Particles -> CPUParticles, which doesn't support undo too, yet).

I had to change _add_as_sibling_or_child to take Nodes as arguments instead of Node2D to use it with bind_method.

I don't understand why this was necessary. bind_method should be able to bind a method that takes Node2D as arguments.

I don't understand why this was necessary.

Me neither, but without this change I got C2440: "return": can't convert from "const Variant" to "Node2D *".

According to @reduz it seems to be the right solution to change to Node *.

Thanks!


feat: markdown rendering via glamour

Add markdown rendering for task context/details using
glamour.
Fulfils https://github.com/dhth/omm/issues/11.
Potential follow ups

Markdown theme customization?
Fallback rendering (maybe useful for older terminal emulators, not sure)?
Configurable word wrapping?

wow, what a turn around! I just tried it, and it looks great.
As a data point, I noticed the markdown syntax for completed checklists ([x]) is rendered literally, whereas glow will render this as [✓] by default. I suppose this is a theme thing?
many thanks for your efforts on this great tool!

Hmm, it does render with the checklist on my computer.
This is on Alacritty:

And, this is on mac's native terminal.

Could you let me know more about your terminal emulator?

ah, human error! I had forgotten about the hyphen required for Markdown checkboxes. Too much XIT!
changes work great (also on alacritty), thanks

Awesome! 👌