Binding inserts for skis...

Most ski's don't have inserts as standard, but a few do. I figure ski design has learnt a lot from snowboards, so why not... Been discussing this with @splitn2 for lightweight cores which would otherwise need a lot of reinforcement to prevent pull out.
The obvious challenge for implementing this is that ski bindings are generally designed for a specific and exact hole pattern so a generic pattern of inserts won't work. This means that skis need to be custom built for a specific binding (and potentially boot length depending on how adjustable the binding is). But this also makes it ideally suited for CNC as the inserts can be precisely positioned.
After spending a bit of time looking at the way the snowboard inserts are set up in MonkeyCam I was thinking:

"stance setback" could be used to define the setback to the ski boot centre from the effective edge centre.
Rather than messing up the existing "nose insert pack" or "tail insert pack" I should create a new "ski insert pack" section in the board def json file.
The "ski insert pack" will need a setting for "boot length".
There needs to be some way to define the hole layout manually or from a library - this might be a bit complex to fit into the board def json file so maybe I should put this in a seperate binding def json file which gives details of the screw pattern, that way implementing a new binding would just require creating a new binding def file and then refer to it in the board def file? What do you think @mikemag. To specify the hole locations I'm going to have to define a list of x-y positions relative to boot toe and heel centres I think.

Any thoughts @mikemag? I guess we could leave this mod in a standalone fork rather than merge it into the main code as it is a bit specialist but i figure I should try and do a tidy job of it as if it is going to be imported? Where do you think the best place to input the hole pattern for a specific binding is?

Just realised I forgot to mention that @splitn2 has started pulling together a database of binding hole patterns here https://github.com/splitn2/DrillSki.

Hi,
I've made a start on implementing this in a new branch and I've got MonkeyCAM accepting a new (optional) --binding command line input.
I have a few decisions to make where I think some advice would be useful. I'm basically a little bit lost with the object orientated programming!
As I understand at the moment there is an object shape of class BoardShape which holds all the information relating to the board and another object machine of class Machine which holds all the information relating to the machine. The BoardShape class currently contains (optional) nosePack and tailPack objects of class InsertPack.
I need to decide where to store information from the binding-def.json inputs. First question: is my basic summary of the overall structure rightish? Second question: where do you think it would be best to work for my current changes - I'm thinking at least some of what I will be changing needs to be inside the InsertPack class?
Any input much appreciated. Feeling a little bit out of my depth but that's how to learn!
Reg

Ok - I've made quite a bit of progress on this over the weekend and although I'm sure I've not quite got the best way of passing variables around at the moment I am starting to see some results (See my BindingInserts branch).
One question regarding input data:
Binding hole position sign convention etc.: In DrillSki the system appears to be X positive towards the tip and relative to pin position on the toe for pin bindings, true toe position for non-pin bindings. Units are mm. This seems logical to me but MonkeyCam currently has sign convention X positive towards the tip and dimensions in cm, which could be a source of confusion? In my current workings I have gone with the DrillSki sign convention (positive towards tip) and units (mm) in the binding-def.json file. What do you think @mikemag @splitn2?
The use of pin position rather than toe position for pin bindings seems totally logical and I am keen to stick with it (even though it means boots will need to be measures accurately rather than just reading off the "sole length" marked on them.

Hey man, sorry for not getting back to you sooner. I've looked at all of your commits into your branch, and I like the direction you've been taking. Nice work!! I love that shot you have above with the ski insert holes in place :)
To your questions:

The issue with the X coordinates is important. I usually find that consistency is key. The stance setback is defined as positive values offset towards the tail. Though not labeled as a X coordinate it essentially is. The axis labels on the output drawings also show X positive towards the tail. I recommend you stick with this, however...

DrillSki's coordinate def is backwards in both axes from MonkeyCAM. They define +X as towards the nose, and +Y as towards the left of the ski. I suspect this comes from rotating the binding template 90 degrees clockwise, to overlay a ski laying in front of you with the nose to the right. I lay down boards in front of me with the nose to the left, because I ride snowboards regular footed and not "goofy" ;)
Honestly, I find the DrillSki coordinate system choice odd. Given that binding templates are usually presented in PDF format, with the nose to the top of the page, I would have expected +X towards the right of the ski and +Y towards the nose of the ski. @splitn2, what's the rationale there? Is it just how you lay the board down vs. looking at the PDF?
I think if you want to specify the binding locations relative to a different coordinate system than what MonkeyCAM is already using, then we can do that, but we should make sure to make this clear in the binding def. Perhaps a coordnate-system parameter with values of tip-left, tip-right, or tip-up?

Units: please stick with cm for now, for consistency with the board/ski def. I plan to go thru sometime and make every input include the units (", in, cm, or mm), then we never have to assume again. But that's not done yet.
On pin position vs. toe position, I'm in no position o say! (Pun intended.) Not being a skier, I shall defer to you guys :)

Again, thanks for your work on this!!

Hey, thanks for your input, glad you like the picture :)
I agree that consistency with the coordinate systems is important. I guess whatever I do it will have to be well explained in the documentation. I'll flip things around to use cm and X positive towards the tail consistent with the rest of MonkeyCam and tidy things up. I suspect whatever I do it will be counter intuitive to somebody! I don't think I’ll bother with a coordinate system parameter in the binding def as it seems like unnecessary complexity which could just cause even more confusion.
Including units for all measurements would be AWESOME! I know @splitn2 would appreciate the option to use mm for some of the machine def and I definitely enter mm by accident for thing like waist width pretty frequently.

sorry @RegMeasures @mikemag I have not logged in to Github for ages so missed all the action, although Reg did tell me all this the other night. No surprise to me everything I've done in my Drillski stuff would need checking in terms of x and y direction and funnily enough when I mount skis I normally sit the ski on my bench with the tip left and tail right ....... cheers guys and thanks for the great work on this stuff. I look forward to these improvements making skis and boards in metric might be fun one day :) and rapid splitboard designs and builds too one day haha! I'm never gonna make a coder and I really appreciate the efforts going into this, I'll keep trying to recruit more coders and testers.....

@RegMeasures I've merged your pull request. Shortly I'll put up a new release, and I'll add the Mac executable into it. I'd like you to add in the Windows distribution if you wouldn't mind :) (It's the reason I added you as a collaborator, you'll be able to add to/edit the release.)

@mikemag  @RegMeasures great to see another release awesome work guys!!!! Reg we need to carry on with your project skis now, have you defined the insert dimensions too for the inserts we'll use , the stainless M5 tee-nuts ?

Included in v4.0.6.


Todoist - add Button to detail view

Describe the changes you'd like
Add the Toggl Button to the Todoist task detail view
Relevant links or screenshots

Additional context
Currently you need to close the task and go back to the main list to start a timer.

User request


Hello! I am a freshman in Fuzzing. Can I ask you where I can find how to fuzz the openssl with the AFL ? What is the testing instruction? Thanks!

See this file for information on fuzzing the master branch:
https://github.com/openssl/openssl/blob/master/fuzz/README.md
See the equivalent file in the 1.1.1 tree for fuzzing that version.

Thank you very much!

tapatalk://forums.pelicanparts.com?channel=share_link_topic&type=vb3x_4.10.2&location=topic&fid=844&tid=1058197


initialize internal state at Agent initialization

I ran into the following error with the example shown in the blog post with DQNAgent.
  File "/Users/nagachika/work/tensorforce/tensorforce/agents/agent.py", line 178, in act
    self.current_internal = self.next_internal
AttributeError: 'DQNAgent' object has no attribute 'next_internal'

Thanks for the pr!
This is what the agent.reset() call is for - the reason this needs to be explicitly called is that one call is necessary in any case between each episode, so the init call would only save one call before the first episode:
https://github.com/reinforceio/tensorforce/blob/master/tensorforce/execution/runner.py#L126

I guess we could reset the agent from initialization on (we should then also add the preprocessing reset). Currently, this works fine, note however what Michael said about the resets between episodes.

Thank you for your reviewing!
I've noticed that the Agent.reset() should be called between episodes.
In the example on README.md the section Create and use agents, Agent.act() is called without reset().
I don't mind call reset() before act(). If this is the right way, I'd like to add agent.reset() in the example in  README.md.

So the readme example is not a full episode. Reset does not need to be called before act(), just after you finish an episode (see the runner). If you never finish your episode, there is no need to call reset, and not every environment is episodic. We might change the readme example to include a loop and an actual episode to show how reset is used. Thanks for raising the issue.

Thank you for your clarification! I understand it.
Anyway, this is a great project as entry point for RL for the beginners like me. Thank you for publishing TensorForce!

Glad you like it, let us know if you run into any more issues!


"Theme Override" for "Font" does not exist for AcceptDialog-node.

Tested versions
N/A
System information
Godot v4.3.stable - Windows 10.0.18363 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 970 (NVIDIA; <IP_ADDRESS>99) - Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz (8 Threads)
Issue description
The AcceptDialog node does not provide an option to override the font theme for its text labels; it only works for subcomponents that support the override feature.
I’m not sure if this limitation can be bypassed by using a parent node that allows some kind of overriding, but I haven’t found a solution that works. If not, I could open it as a Godot Improvement Proposal.
Example (title and OK-button font can't be changed):

Steps to reproduce
N/A
Minimal reproduction project (MRP)
mrp_issue.zip

You can create a theme to change the Window title_font and the Button font.


runtime-linux.md: terms "source" and "destination" are very unclear for symlinks

I'm reading https://github.com/opencontainers/runtime-spec/blob/main/runtime-linux.md . When I first time saw this table with columns "source" and "destination", I thought that there is an error, i. e. columns are swapped. Then I understand that there is no error here. Still I think that terms "source" and "destination" are very confusing, so, please, use some alternate terms, for example "link" and "pointee", "pointer" and "pointee", "link" and "object", etc. I prefer "link" and "object"

Maybe we should go with target and linkpath so that we unambiguously match the Linux symlink(2) and symlinkat(2) terms?
https://man7.org/linux/man-pages/man2/symlinkat.2.html

@tianon , target and linkpath are very ambiguous

Sorry, unambiguous was a poor choice of word; what I mean is that they then
match the system call itself and we could link to the kernel documentation
for further clarification (and thus avoid trying to bike shed alternative
words here).


generate html to add webpack build hash

this helps with unwanted browser cache

Codecov Report

Merging #35 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #35   +/-   ##
=======================================
  Coverage   30.85%   30.85%
=======================================
  Files           2        2
  Lines          94       94
=======================================
  Hits           29       29
  Misses         64       64
  Partials        1        1

Continue to review full report at Codecov.

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


Allow queryApi function to return Error Object

The Scryfall api provides nice, human readable error messages (https://scryfall.com/docs/api/errors), but these are being swallowed by queryApi, which will return { data: [] } on an error.
By allowing the error object to be returned (or at least retrieved), a program can report to the user problems with the query.

Thanks for the report! This is implemented as of v1.3.1


Enable TLS for UI

This pull request is a companion for konveyor/virt-ui#172. The goal is to enable TLS for the UI container, also for internal traffic.

An annotation is added to the service to get a secret named migration-ui-tls with a certificate/key pair generated by openshift-service-serving-signer.
The secret is mounted in /var/run/secrets/migration-ui-tls.
The service and container ports are changed to 8443.
The route is changed to reencrypt traffic from external clients ; internal clients also have the CA chain as /var/run/secrets/kubernetes.io/serviceaccount/service-ca.crt.

More information on using service serving certificates is available at OpenShift > Security and compliance > Configuring certificates > Securing service traffic using service serving certificate secrets.

The companion PR has been merged and without this one the deployment is broken.
That's my excuse to merge my own PR without review.


[feature request] set some dimension in row_shape to the maximum in each batch in tf.contrib.data.Dataset.dense_to_sparse_batch

The docstring says:
row_shape: A tf.TensorShape or tf.int64 vector tensor-like
object representing the equivalent dense shape of a row in the
resulting tf.SparseTensor. Each element of this dataset must
have the same rank as row_shape, and must have size less
than or equal to row_shape in each dimension.
The row_shape must be the same for every batch, so if the elements are sequences it's necessary to know the maximum length beforehand. It would be nice if it was possible to set some dimension of row_shape to -1, meaning that this dimension will be the maximum for each batch (just like padded_batch).

Sounds reasonable to me! This would make a great first contribution to the Dataset API, so I'm going to mark this as contributions welcome.

Hi, @mrry. I'm interested in the issue. Do you have any advice for me?

Sure, have a look at how the equivalent feature is implemented in PaddedBatchDatasetOp. It should be pretty easy to translate this to where the row_shape is calculated in DenseToSparseBatchDatasetOp. Most of the work would be in adding appropriate tests!

Thanks for you detailed guide, @mrry. I will take a try, and let you know if I get in trouble.

@mrry It seems like the feature has been merged. I think we'd better close the issue, right?

@facaiy What is the process of the PR now? Do you need help to pass all tests?

It's merged now and should be available in TF 1.4.


Remove old version tags

There are currently 2 old tags inherited from the original grack project that don't seem to align with any releases, v0.1 and v0.2.  We should probably remove these to avoid confusion.

Done!


McElieceKobaraImaiCipher - When encrypting less than 165 bytes, the decrypted byte array will always contain 165 bytes

First of, I am using JDK 11 and bcprov-ext-jdk15on in version 1.68.
When you execute below code, you will see, that the decrypted byte array is not equals the original dataToEncrypt. This is, because on decrypt, the resulting byte array always has a minimum size of 16, filled with zeros after the correctly decrypted first 100 bytes.
import org.bouncycastle.crypto.AsymmetricCipherKeyPair;
import org.bouncycastle.crypto.params.AsymmetricKeyParameter;
import org.bouncycastle.pqc.crypto.mceliece.*;

import java.security.SecureRandom;
import java.util.Arrays;

public class Encrypter {

    public static final SecureRandom SECURE_RANDOM;

    static {
        try {
            SECURE_RANDOM = SecureRandom.getInstance("SHA1PRNG");
        } catch (Exception nsae) {
            throw new RuntimeException(nsae);
        }
    }

    public static void main(String[] args) throws Exception {
        // Generate random data
        byte[] dataToEncrypt = new byte[100];
        SECURE_RANDOM.nextBytes(dataToEncrypt);

        // Generate key pair
        AsymmetricCipherKeyPair keyPair = generateMcElieceKeyPair(new McElieceCCA2Parameters());

        byte[] encrypted = encryptMcEliece(dataToEncrypt, keyPair.getPublic());
        byte[] decrypted = decryptMcEliece(encrypted, keyPair.getPrivate());

        System.out.println("Result: " + Arrays.equals(dataToEncrypt, decrypted));
        assert Arrays.equals(dataToEncrypt, decrypted);
    }

    public static AsymmetricCipherKeyPair generateMcElieceKeyPair(McElieceCCA2Parameters parameters) {
        McElieceCCA2KeyPairGenerator mcElieceKeyPairGenerator = new McElieceCCA2KeyPairGenerator();
        mcElieceKeyPairGenerator.init(new McElieceCCA2KeyGenerationParameters(SECURE_RANDOM, parameters));
        return mcElieceKeyPairGenerator.generateKeyPair();
    }

    private static byte[] encryptMcEliece(
            final byte[] bytesToEncrypt,
            final AsymmetricKeyParameter publicKey
    ) {
        McElieceKobaraImaiCipher cipher = new McElieceKobaraImaiCipher();
        cipher.init(true, publicKey);
        return cipher.messageEncrypt(bytesToEncrypt);
    }

    private static byte[] decryptMcEliece(
            final byte[] bytesToDecrypt,
            final AsymmetricKeyParameter privateKey
    ) throws Exception {
        McElieceKobaraImaiCipher cipher = new McElieceKobaraImaiCipher();
        cipher.init(false, privateKey);
        return cipher.messageDecrypt(bytesToDecrypt);
    }
}

A quick view of the JCA implementation of the  McElieceKobaraImaiCipher at github shows that the cipher needs padding to be applied. For this particular cipher the padding is a trailing 0x1 byte.
So your encrypt/decrypt methods should look something like this `
private static byte[] encryptMcEliece(
        final byte[] bytesToEncrypt,
        final AsymmetricKeyParameter publicKey
) {
    McElieceKobaraImaiCipher cipher = new McElieceKobaraImaiCipher();
    cipher.init(true, publicKey);
    byte[] paddedData = Arrays.copyOf(bytesToEncrypt, bytesToEncrypt.length + 1);
    paddedData[bytesToEncrypt.length] = 0x1;
    return cipher.messageEncrypt(paddedData);
}

private static byte[] decryptMcEliece(
        final byte[] bytesToDecrypt,
        final AsymmetricKeyParameter privateKey
) throws Exception {
    McElieceKobaraImaiCipher cipher = new McElieceKobaraImaiCipher();
    cipher.init(false, privateKey);
    byte[] myPadded = cipher.messageDecrypt(bytesToDecrypt);
    int index = myPadded.length - 1;
    while (index >= 0 && myPadded[index] == 0) index--;

    // check if padding byte is valid
    if (myPadded[index] != 0x01)
    {
        throw new BadPaddingException("invalid ciphertext");
    }
    byte[] mBytes = new byte[index];
    System.arraycopy(myPadded, 0, mBytes, 0, index);
    return mBytes;
}`

Well, thank you, this will work. But why is it necessary for me to add it and not part of the cipher implementation itself? As far as I can see, there already seems to be a padding check which is kind of broken: #942

Generally speaking padding is separate from the cipher operation. The confusion here is that the error refers to padding whereas the actual error relates to the fact the the integrity value is not matched - nothing to do with padding. I will comment on #942 separately

Your fix for #942 (#944) will not remove the need to add the padding bit manually, right?
Is there any reason why I have to add it here manually, but when using other ciphers like McEliecePointchevalCipher and McElieceFujisakiCipher I do not?
Maybe I am wrong, but in my understanding, a cipher should return only the decrypted data and not implementation details like padding. Otherwise I may not simply replace one cipher with another.

Correct, you will need the padding in order to ensure that the output is the correct length
Some cipher algorithms (e.g. Pointcheval/Fujisaki) will automatically recover the length of the input data. Others (eg. KobaraImai/ RSA) will not and require padding to achieve this. Its all down to how they are specified.
If you are looking for a cipher to handle implementation details like padding etc. then you should be using the JCA interface rather than the lightweight API.

I think Tony has covered this. One addition - the Kobara Imai construction requires a minimum message length, if you go over that there's no need to pad, so whether you want to pad or not is an open question.
There's more details here: https://www.degruyter.com/document/doi/10.1515/JMC.2007.009/html (unfortunately the title was not quite correct in the JavaDoc, I've corrected this). Marking this as closed. We've started work on the NIST candidate so hopefully we'll have something both stable and standard for people to use soon.


Mobile app for teleoperation

I would like to collect more data. I know Robosuite has a script to collect human demos using Keyboard or SpaceMouse. I was wondering if the data collection app and the web interface as mentioned here https://roboturk.stanford.edu/ available?

The app and web interface are not publicly available at this time. I'd recommend using the SpaceMouse interface for now.


Why not square brackets?

Since that #62370 had "too many iterations" – here's a brand new issue:
Why hover doesn't use square brackets (just like inline problems & problems panel)?

Or the same font for that matter...

Problems view and Inline widget is also changed to be consistent with hover


[Icon] Fixes typos

Now grab and television have the proper icon definitions.

It just happened. I don't know what to say...

Thank you, but this has already been fixed in next

Oops, silly me, we are working on next. Sorry about that.


 The "mutliple screen" option in "display settings" won't change anything to the bug, any option will do the same with wslg.
Expected behavior
wslg should load all monitors so that we can start our apps on the desired monitor.
Actual behavior
wslg will setup only 1 wayland monitor, so we can't, for example, define the "WAYLAND-DISPLAY" variable to "wayland-1", because there is only "wayland-0". If we choose the fullscreen option in a linux program, it will appear in our main screen, where we have all our icons.

@Guarmanda , would you please provide weston.log from /mnt/wslg ?

weston.log

Thanks, the log shows there is only one monitor is reported from Windows side to WSLg.
[21:12:49.433] disp_monitor_validate_and_compute_layout:---OUTPUT---
[21:12:49.433] 	rdpMonitor[0]: x:0, y:0, width:1366, height:768, is_primary:1
[21:12:49.433] 	rdpMonitor[0]: weston x:0, y:0, width:1366, height:768
[21:12:49.433] 	rdpMonitor[0]: physicalWidth:344, physicalHeight:194, orientation:0
[21:12:49.433] 	rdpMonitor[0]: desktopScaleFactor:100, deviceScaleFactor:100
[21:12:49.433] 	rdpMonitor[0]: scale:1, clientScale:1.00
Would you please run dxdiag on Windows and check if there is more than 1 display tab like ...

Is the second monitor usable on Windows ?

Oh sorry I selected "display only on screen 1" to test if screen two would work this way, and it seems like it prevented weston from loading this one... I put back the windows side to "extend display" and then here is a good log file. The two screen are usable on windows, but only one wayland file is created

weston.log

OK, Just for clarification, do you see multiple monitors are listed with "xrandr" ? and if you can run "weston-info", please check if all monitors are exposed in wl_output and xdg_output_v1 ? thanks!

xrandr: all here
XWAYLAND0 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
XWAYLAND1 connected 1280x1024+1366+0 (normal left inverted right x axis y axis) 380mm x 300mm

xdg: all here
        xdg_output_v1
                output: 20
                name: 'rdp-1'
                logical_x: 1366, logical_y: 0
                logical_width: 1280, logical_height: 1024
        xdg_output_v1
                output: 11
                name: 'rdp-0'
                logical_x: 0, logical_y: 0
                logical_width: 1366, logical_height: 768
interface: 'wp_presentation', version: 1, name: 5
        presentation clock id: 4 (CLOCK_MONOTONIC_RAW)

wl output: all here
interface: 'wl_output', version: 3, name: 11
        x: 0, y: 0, scale: 1,
        physical_width: 344 mm, physical_height: 194 mm,
        make: 'weston', model: 'rdp',
        subpixel_orientation: unknown, output_transform: normal,
        mode:
                width: 1366 px, height: 768 px, refresh: 60.000 Hz,
                flags: current preferred

interface: 'wl_output', version: 3, name: 20
        x: 1366, y: 0, scale: 1,
        physical_width: 380 mm, physical_height: 300 mm,
        make: 'weston', model: 'rdp',
        subpixel_orientation: unknown, output_transform: normal,
        mode:
                width: 1280 px, height: 1024 px, refresh: 60.000 Hz,
                flags: current preferred

The thing is, graphical programs are wonking with WAYLAND_DISPLAY=wayland-0, but not wayland-1, but as you can see I trully have two screen (can even take a real pic of them x))

I just noticed that there's also only one file in X11-unix^^ don't know if it's the same type of problem

@Guarmanda that's by design. We're running a single instance of Wayland and X for the whole desktop. So there is a single socket exposed, the that one compositor instance is handling all of your monitors.
Could you help us understand which application in particular are giving you problem?

Well, every of them are starting on my main screen, and if I set an app to full screen, (for example, weston has a fullscreen option) it will set to full screen only, and every time, on my main screen only. Never on secondary screen.
And obviously, I usually already have something open, on my main screen (that's also the screen when all my icons are, on window desktop)

@Guarmanda I was trying to reproduce your issue as a feature, but don't know how, could you please tell me how to do that?
Because my main monitor is at HiDPI, while wslg does not scale the GUIs according to HiDPI settings in windows, so I would like WSL GUIs only be able to access the 2nd monitor, but not all. Could this be an option?

@suxpert , thanks for reporting! I would like to ask a few questions.
First, WSLg does support HiDPI, but it has certain limitations. Are you encountering any of those limitations? The limitations are 1. certain complex multiple monitors layout is not supported, this case, it ends up no-scaling at all. 2. fractional scaling is not enabled by default, thus scaling is supported in 100 increment, for example, if Windows setting has 150, then it ends up 100 scaling, and 250 is rounded to 200. 3) scaling quality is not really great. Or do you see any other problem?
Second, it's possible to support WSLg to use only certain monitor(s) (as long as it's contiguous if more than 1) as WSLg can simply limits the workspace coordinate to particular monitor(s), but how to express "which" monitor(s) to be available is not easy, but if this is what you would like to have, please submit separate feature request. If more people upvote it, we can consider.
Thanks!

@hideyukn88, thanks for your reply, to be clear, here are what I've meet:
I have a UHD monitor (3840x2160) as the main monitor, which is scaling at 150% (recommended by windows), and an ultrawide screen (WQHD, 3440x1440) as secondary monitor without scaling. You see, these monitors are not well aligned because both the resolution and the scaling factor are different.
I've noticed that 150% scaling is not well supported by WSLg, and without scaling, GUI will be too small to recognize. So, I would like to open all GUIs directly onto the 2nd screen, instead of manually move to it from the main screen, and then resize the window. And I think this can be easily done via limit WSLg on only 1 monitor.
Since WSLg did recognize two monitors (xrandr), I suppose wayland-0 was the combined screen area. So, can we set wayland-0 to only one of the monitors (or some other complex regions)?

@suxpert, I have the same issue with similar displays. Did you find any solution?

@YuriyMironenko  Nope, I moved back to TigerVNC these days, where the tranditional Tcl/tk windows work way better than in WSLg.
A tcl/tk window opened under WSLg will create any menu as a new window unrelated to the main window, sometimes can not be found on the screen, this is unacceptable.

@suxpert, thanks for your time to trying out WSLg. As you pointed, currently WSLg expose entire Window's desktop, regardless how many monitors there, as a single screen to Wayland (and then X11) because it's a single desktop in Windows.
Reducing the complexity, it is not preferable to expose each individual monitor as separate screen to Linux side, but as I mentioned above, it possible to control which contiguous monitor(s) to be exposed to Linux side, if this helps.
Regarding to 150% scaling, have you tried out to enable fractional scaling ? please refer https://github.com/microsoft/wslg/issues/23.
Regarding to parent/child window relationship issue with tcl/tk, would you please provide us a bit more details ? and for window is not visible on screen, could it be due to window be placed outside of desktop region, like reported as https://github.com/microsoft/wslg/issues/332 ? would you please check using xwininfo ?
Again, thank you very much for trying out WSLg!

Hi,
i had a similar issue with a 3-monitor-setup on win11 with idea only, which I know is very specific, but maybe it helps troubleshooting.
I figured that it worked once I moved the idea-window to center of my 2nd screen and resized it so that it fits easily.
On the next start it appeared correctly where I closed it before.
I think the position is resetted because the last position was illegal from a wslg/x11 perspective or
if the window was in "maximized"-state, than the last position isn't considered and just positioned at 0,0 and maximized (never closed maximize lol)
Regarding idea, which really is the only gui application I use, the setup is much easier if you pretend you don't need scaling and scale using the main font-size although it feels weird :)
scale_factor * 12 = font_size,
e.g in my case for 150% :
1.5 * 12 = 18 // Settings -> Appearance -> font size

There is an action "show hdpi info" to see what configuration is used in idea, this is how it looks like:

Further configs of which I am not entirely sure if it is needed:
# .wslgconfig
WESTON_RDP_DISABLE_HI_DPI_SCALING=true
WESTON_RDP_DISABLE_FRACTIONAL_HI_DPI_SCALING=true
WESTON_RDP_DEBUG_DESKTOP_SCALING_FACTOR=100

# env vars
DISPLAY=:0
WAYLAND_DISPLAY=wayland-0
QT_SCALE_FACTOR=1
GDK_SCALE=1
GDK_DPI_SCALE=1

@hideyukn88, sorry for the lated response. I've been leaving from insider dev-channel for a while, so I'm not confident that the issue still exists in the latest version.
Here are the details about the issue I mentioned before, I'll show my environment, the steps to reproduce, and some other tests I have done. I've described the issue as follows, which MIGHT be improper after detailed testing.

A tcl/tk window opened under WSLg will create any menu as a new window unrelated to the main window, sometimes can not be found on the screen

Environment:
Windows 11 22H2 (22624.1391) (beta-channel)
wsl --version
WSL 版本： <IP_ADDRESS>
内核版本： <IP_ADDRESS>
WSLg 版本： 1.0.49
MSRDC 版本： 1.2.3770
Direct3D 版本： 1.608.2-61064218
DXCore 版本： 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows版本： 10.0.22624.1391

Distro
ArchWSL
 ~: neofetch
                   -`                    litux@Thinter
                  .o+`                   -------------
                 `ooo/                   OS: Arch Linux on Windows 10 x86_64
                `+oooo:                  Kernel: <IP_ADDRESS>-microsoft-standard-WSL2
               `+oooooo:                 Uptime: 31 secs
               -+oooooo+:                Packages: 230 (pacman)
             `/:-:++oooo+:               Shell: zsh 5.9
            `/++++/+++++++:              Terminal: Windows Terminal
           `/++++++++++++++:             CPU: Intel i5-10500 (12) @ 3.096GHz
          `/+++ooooooooooooo/`           GPU: d29e:00:00.0 Microsoft Corporation Basic Render Driver
         ./ooosssso++osssssso+`          Memory: 338MiB / 3801MiB
        .oossssso-````/ossssss+`
       -osssssso.      :ssssssso.
      :osssssss/        osssso+++.
     /ossssssss/        +ssssooo/-
   `/ossssso+/:-        -:/+osssso+-
  `+sso+:-`                 `.-/+oso:
 `++:.                           `-/+/
 .`                                 `/

WSLg version
~: cat /mnt/wslg/versions.txt
WSLg ( x86_64 ): 1.0.49+Branch.main.Sha.32eaeea0d48ad0f6dcdc8cae3e2a9218358f300a
Mariner: VERSION="2.0.20221010"
DirectX-Headers:
mesa:
pulseaudio: 2f0f0b8c3872780f15e275fc12899f4564f01bd5
FreeRDP: c574044a10003e50453acb4cf42801c5833fb572
Weston: 3ff4250b28aefbcfefdd869cb997d0591c06b6d8

How to reproduce
I met this issue when I'm using tksurfer under WSLg, and I've reproduced it for several times. Here are the steps:

Install freesurfer to wsl distro by simply download and extract the tar ball to, e.g., /opt/freesurfer
Setup the environment:

export FREESURFER_HOME="/opt/freesurfer"
source "$FREESURFER_HOME/SetUpFreeSurfer.sh"

export TCL_LIBRARY="$FREESURFER_HOME/lib/tktools/tcl8.4"
export TK_LIBRARY="$FREESURFER_HOME/lib/tktools/tk8.4"
export TIX_LIBRARY="$FREESURFER_HOME/lib/tktools/tix8.1"
export BLT_LIBRARY="$FREESURFER_HOME/lib/tktools/blt2.4"

Run tksurfer with example data, you will see it open two tcl/tk windows, the main control window under the render window.

tksurfer bert lh inflated

Try click on the menu of the main window, you'll probably see something like following, as I've mentioned before:

https://user-images.githubusercontent.com/1191414/225190113-625998cc-63e6-4186-b382-0056b78c795c.mp4
Additional info
I've also tested some simple tcl/tk scripts, and found that they worked pretty well (with tcl/tk version 8.6 from distro's pkg repo). So, the issue might not be quite related to tcl/tk.
Regarding to xwininfo, I failed clicking on the "invisible" window, when the "invisible" window is there, xwininfo show an error: Can't grab the mouse.
I don't know if the issue should be opened separately, or might be related to e.g., #10 et al.?

I'm experiencing this same issue (With TKSurfer) on an Ubuntu 22.04 LTS install.

I'm experiencing an issue (don't know if it is related) with WSLg windows created on the second monitor not being clickable (doesn't respond to mouse events) when I use PowerToys option to move new windows to the active monitor set.


detects properties without contents as diff

Test case:
package main

import (
	"bytes"
	"testing"

	"github.com/sters/yaml-diff/yamldiff"
	core "k8s.io/api/core/v1"
	"k8s.io/apimachinery/pkg/runtime"
	k8sJson "k8s.io/apimachinery/pkg/runtime/serializer/json"
)

var (
	k8sScheme         = runtime.NewScheme()
	k8sYamlSerializer = k8sJson.NewYAMLSerializer(k8sJson.DefaultMetaFactory, k8sScheme, k8sScheme)
)

var podYaml = `apiVersion: v1
kind: Pod
metadata:
  namespace: default
  name: nginx
spec:
  containers:
  - name: nginx
    image: nginx
`

func Test_PodYamlDiff(t *testing.T) {
	t.Parallel()

	yamlSource, err := yamldiff.Load(podYaml)
	if err != nil {
		t.Error(err)
	}

	buf := bytes.NewBuffer([]byte{})
	pod := &core.Pod{}

	_, _, err = k8sYamlSerializer.Decode([]byte(podYaml), nil, pod)
	if err != nil {
		t.Error(err)
	}

	err = k8sYamlSerializer.Encode(pod, buf)
	if err != nil {
		t.Error(err)
	}

	yamlParsed, err := yamldiff.Load(buf.String())
	if err != nil {
		t.Error(err)
	}

	diffs := yamldiff.Do(yamlSource, yamlParsed)
	if len(diffs) > 0 {
		for _, diff := range diffs {
			t.Log("diff detected\n" + diff.Dump())
		}

		t.Fail()
	}
}

Test result:
--- FAIL: Test_PodYamlDiff (0.01s)
    main_test.go:57: diff detected
          apiVersion: "v1"
          kind: "Pod"
          metadata:
            namespace: "default"
            name: "nginx"
            creationTimestamp: <nil>
          spec:
            containers:
              -
                name: "nginx"
                image: "nginx"
        +       resources:
        + status:

It does not diff for creationTimestamp: <nil>, which seems to be a intentional, so this test case above should not throw a diff for empty properties either?

@dionysius
The fact that the key is there doesn't change even if there is an empty field. It's diff as a YAML document.
But I know k8s and other tools will ignore empty values and perform as default. So maybe it's better to make an option such as --ignore-empty-fields.

Yeah, the existence of a key may have a meaning and should be treated as such. ignore-empty-fields sounds like a good compromise.
Although since we defined now that additional keys trigger a diff, that should also happen on creationTimestamp

@dionysius
Updated. https://github.com/sters/yaml-diff/releases/tag/v1.1.0
You can do:
diffs := yamldiff.Do(yamlSource, yamlParsed, yamldiff.EmptyAsNull())

and diff result is:
  apiVersion: "v1"
  kind: "Pod"
  metadata:
    namespace: "default"
    name: "nginx"
    creationTimestamp:
  spec:
    containers:
      -
        name: "nginx"
        image: "nginx"
        resources:
  status:

Also, I added Status field in diff struct. You can refer to this field to detect whether there is diff or not. So you can do:
diffs := yamldiff.Do(yamlSource, yamlParsed, yamldiff.EmptyAsNull())

fail := false
for _, diff := range diffs {
	if diff.Status() != yamldiff.DiffStatusSame {
		fail = true
		t.Log("diff detected\n" + diff.Dump())
	}
}

if fail {
	t.Fail()
}

Thanks for everything. Will check and report!

If you have more conversation, please reopen (or recreate) issue.


bump to 0.1.4

Due it manually since there was an error with the bot (probably due to an incorrectly tagged release, see discussion in #1):
The recipe did not change in the version migration, a URL did not hash, or there is jinja2 syntax the bot cannot handle!

Please check the URLs in your recipe with version '1.4.0' to make sure they exist!

We also found the following errors:

 - could not hash URL template 'https://github.com/himkt/allennlp-optuna/archive/v{{ version }}.tar.gz'

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Create Pull Request from Forked Repo

Give the possibility to open the backporting pull request from the forked repository, obviously in this case we assume the provided token has proper permissions on the forked repository.
Steps need:

Parameterize this new feature, by default create PR from target repo
If this new feature is enabled:

Add new remote
Push branch to this remote
Create pr setting head has <fork-owner>:<branch-name>

This helps reduce the risk to the target repository if the token is leaked: it does not need permission to write.

This helps reduce the risk to the target repository if the token is leaked: it does not need permission to write.

I definitely agree with you!
Is this something you'd be willing to submit a pull request for? Otherwise I can try to find some time to work on this in the coming week.

After some further investigation, I think that this feature would make sense only for those users that actually run the tool as CLI, i.e., providing their own GITHUB_TOKEN.
Whereas, in GitHub action context, the action is always run using the repository GITHUB_TOKEN (or any other PAT created in that repo) which does not have any rights to push new branches into the forked repository making this feature quite useless for GitHub action scenarios.

Except when a PAT with proper permissions is provided with auth. A Forgejo Action does this to cascade pull requests between repositories:

The workflow is given the PAT
Pushes the change to a branch of a forrk
Opens a pull request in the destination repository

The key here is that the PAT has no write access to the destination repository, only to the repository from which the pull request will be made, which is better from a security perspective.

That's interesting, thanks for sharing this :pray:


python312Packages.goodwe: 0.3.1 -> 0.3.2

Diff: https://github.com/marcelblijleven/goodwe/compare/refs/tags/v0.3.1...v0.3.2
Changelog: https://github.com/marcelblijleven/goodwe/releases/tag/v0.3.2
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 303054 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.goodwe
python311Packages.goodwe
python311Packages.goodwe.dist
python312Packages.goodwe
python312Packages.goodwe.dist


Validators frequently being marked invalid temporarily

The SubVT bot on Telegram monitors the 1KV backend and reports changes to validator status.  Recently I am seeing a pattern where my validator is being marked invalid, then recovers after a short time, and this cycle repeats, despite no changes to my validator.  Several other folks have reported similar issues in the validator lounges.
I am assuming this issue is with the 1KV backend, and SubVT is just reporting it, so I am reporting this as an issue here rather than on SubVT.
Example:
SubVT Polkadot Bot, [3/21/2024 4:52 PM]
ValidOrange
❌ has become an invalid 1KV validator:

validorange-dot1 does not have a validate intention.
validorange-dot1 does not have an identity set.
validorange-dot1 {}

SubVT Polkadot Bot, [3/21/2024 5:33 PM]
ValidOrange
✅ is now a valid 1KV validator.
SubVT Polkadot Bot, [3/21/2024 5:48 PM]
ValidOrange
❌ has become an invalid 1KV validator:

validorange-dot1 does not have a validate intention.
validorange-dot1 does not have an identity set.
validorange-dot1 {}

SubVT Polkadot Bot, [3/21/2024 6:08 PM]
ValidOrange
✅ is now a valid 1KV validator.
SubVT Polkadot Bot, [3/21/2024 6:24 PM]
ValidOrange
❌ has become an invalid 1KV validator:

validorange-dot1 does not have a validate intention.
validorange-dot1 does not have an identity set.
validorange-dot1 {}

SubVT Polkadot Bot, [3/21/2024 6:39 PM]
ValidOrange
✅ is now a valid 1KV validator.
SubVT Polkadot Bot, [3/21/2024 8:10 PM]
ValidOrange
❌ has become an invalid 1KV validator:

validorange-dot1 does not have a validate intention.
validorange-dot1 does not have an identity set.
validorange-dot1 {}

SubVT Polkadot Bot, [3/21/2024 8:47 PM]
ValidOrange
✅ is now a valid 1KV validator.
SubVT Polkadot Bot, [3/21/2024 11:09 PM]
ValidOrange
❌ has become an invalid 1KV validator:

validorange-dot1 does not have a validate intention.
validorange-dot1 does not have an identity set.
validorange-dot1 {}

SubVT Polkadot Bot, [3/22/2024 12:15 AM]
ValidOrange
✅ is now a valid 1KV validator.

Thanks for reporting.
There was a bug with the handling of the Api connection in version 3.1.9, the latest release from @wpank should have fixed it
Leaving the issue open for now...

situation seems stable, feel free to reopen in case...


Apply Import Validation Checks (DTO) for Component Data to Import API

COMPONENT Data Format Checks

The value for ComponentID must be string
The value for Manufacturer must be string with a max of 25 characters
The value for ModelVersion must be string with a max of 15 characters
The value for SerialNumber must be string with a max of 20 characters
The value for HgConverterIndicator must be numeric, only options are 0 or 1
If any of these fields do not contain valid values, it's an error. Error Message:
[COMPONENT-FATAL-A] The value for [fieldname] in the Component record #[index of record] is not formatted properly

COMPONENT Data Value Checks

The value for ComponentTypeCode must be string and limited to the results from (SELECT distinct component_type_code FROM camdecmpsmd.vw_systemcomponent_master_data_relationships)
The value for SampleAcquisitionMethodCode must be string and limited to the results from (SELECT distinct sample_acquisition_Method_code FROM camdecmpsmd.vw_systemcomponent_master_data_relationships)
The value for BasisCode  must be string and limited to the results from (SELECT distinct basis_code FROM camdecmpsmd.vw_systemcomponent_master_data_relationships)
If any of these fields do not contain valid values, it's an error. Error Message:
[COMPONENT-FATAL-B] The value for [fieldname] in the Component record #[index of record] is invalid

Testing
TC616
Tester: Maegan Wood

TC616 Passed


i in 10 .. 0  no error no panic also no output

Rivet version: main
OS: Windows11
fn main() {
    let mut x = [1, 2, 3];
    for(i in 10 .. 0) {
        print("{} ", i);
    }
}

How did you run this script on Windows?

Rivet version: main OS: Windows11
fn main() {
    let mut x = [1, 2, 3];
    for(i in 10 .. 0) {
        print("{} ", i);
    }
}

How did you run this script on Windows?

Rivet version: main OS: Windows11
fn main() {
    let mut x = [1, 2, 3];
    for(i in 10 .. 0) {
        print("{} ", i);
    }
}

How did you run this script on Windows? I also found out that python rivetc.py xxx.ri does not work with examples in folder.

You should usepython rivetc.py examples/hello_world.ri to compile hello_world.ri and you will find a exe file call main.exe in Rivet root directory

Currently the compiler only has some basic features implemented


Bad Speed Processing Images

Hi,
Thanks by your API, it is excelent but i have a problem, when load an image, is very slow to move and scrolling into the image, the image size is 650 KB aproximately, i want know if this bug is by the image weight. Validating console by the browser, say me: "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/", it is by an bad implementation of the API?.
Excuse me for my english, i do not speak  english :P
Regards from Bogotá, Colombia,
Mauricio

Are you getting these speed problems on your own site?  Can you try uploading that same image here and see if you get the slowness?


View Document

Describe the bug
Opening link from view document on hover not working when press gx on top of view documents.

Steps to reproduce
OS: Windows
Steps:
press f to use lspsaga hover, press f again to get inside hover, set cursor on top of view documents and press gx to open link
Expected behavior
Open link of view documents in browser
Neovim version (nvim -v)
0.9.0
lspsaga commit
none
Terminal name/version
Powershell

I don't use windows so I am not sure the open link function in windows can works well. by default it use
!start cmd /cstart /b  link

so gx works but it can not read the link from the markdown. so If I have the link like this http://www.lua.org/manual/5.4/manual.html#pdf-pcall then it can load it but if it is like view documents then it can not read it. or so that Is what I saw after trying gx in many ways hahahahaha.

I tried this on pcall it works fine on my local  mac


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Highlighting and indentation broken when type casting

Following https://github.com/MaxMEllon/vim-jsx-pretty/issues/114, I was looking for an alternative to vim-jsx-pretty for TypeScript, and found this.
Unfortunately it seems this plugin also suffers from the same bug when inside a tsx file (luckily, it doesn't happen for regular .ts files):

Minimal .vimrc to reproduce (with vim-plug)
call plug#begin()
Plug 'leafgarland/typescript-vim'
Plug 'peitalin/vim-jsx-typescript'
call plug#end()

Additional information
This came up through https://github.com/leafgarland/typescript-vim/issues/134 initially.
Please let me know if I can provide any additional information :)

If you are stumbling on this issue from Google, an alternative is to use the as casting operator:
const bar = foo as string;

According to TypeScript docs:

The two samples are equivalent. Using one over the other is mostly a choice of preference; however, when using TypeScript with JSX, only as-style assertions are allowed.

So perhaps this shouldn't be considered a bug after all. I'll let you be the judge of that :+1:


Further guidance on reading and verifying Django generated passwords with OAuth2/passlib.

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
*No Code to Show

Description
This is a request for further guidance or resources around a 'Tip' provided in the Security OAuth2 tutorial.
Following the OAuth2 security tutorial, I see the tip where you can read/verify django generated passwords and I'm failing to find more resources around being able to do this.
Basically my goal is to have my FastAPI application share user authentication with a separate django site which uses the default built-in authentication. Users are expected to use the FastAPI app programmatically and not have any UI for setting up authentication. So my thought is that they would pass in their credentials in a form or some secure manner along with the other parameters of the request.
My assumed steps:

Take user passed in credentials and send an API call to the Django backend for a list of users and their hashed passwords.
If there is a username match, run a passlib function over the django hashed password and user supplied password.
If their is a match or they are somehow confirmed to be equal, then allow the request to proceed with processing user supplied param data.

Any help or guidance on whether these steps are in the right direction or added suggestions is greatly appreciated!
Operating System
Linux
Operating System Details
No response
FastAPI Version
0.87.0
Python Version
python 3.10
Additional Context
No response

I may have found a partial answer to my inquiry.
I found out how to verify a user provided password with one generated by django with this confirmed SO answer.
from passlib.apps import django_context
hash = 'pbkdf2_sha256$20000$3RFHVUvhZbu5$llCkkBhVqeh69KSETtH8gK5iTQVy2guwSSyTeGyguxE='
user_input = 'password'
django_context.verify(user_input, hash)

With that piece out of the way, are my steps a valid way to proceed or is that not a secure means to verify a user?
Thank you.


win: package is uploaded but ci reports errors

windows is failing with:
Uploaded D:\bld\win-64\libredwg-<IP_ADDRESS>00-h946a894_0.tar.bz2
Failed to upload due to [WinError 5] Access is denied: 'C:\\Users\\VSSADM~1\\AppData\\Local\\Temp\\tmp93z_ajju\\binstar.token'.  Trying again in 1 seconds
Distribution D:\bld\win-64\libredwg-<IP_ADDRESS>00-h946a894_0.tar.bz2 already exists for conda-forge
Failed to upload due to [WinError 5] Access is denied: 'C:\\Users\\VSSADM~1\\AppData\\Local\\Temp\\tmp5ti0f205\\binstar.token'.  Trying again in 4 seconds
Distribution D:\bld\win-64\libredwg-<IP_ADDRESS>00-h946a894_0.tar.bz2 already exists for conda-forge
Failed to upload due to [WinError 5] Access is denied: 'C:\\Users\\VSSADM~1\\AppData\\Local\\Temp\\tmpav6psky1\\binstar.token'.  Trying again in 25 seconds
Distribution D:\bld\win-64\libredwg-<IP_ADDRESS>00-h946a894_0.tar.bz2 already exists for conda-forge
Failed to upload due to [WinError 5] Access is denied: 'C:\\Users\\VSSADM~1\\AppData\\Local\\Temp\\tmpe7_7bxvp\\binstar.token'.  Trying again in 36 seconds
Distribution D:\bld\win-64\libredwg-<IP_ADDRESS>00-h946a894_0.tar.bz2 already exists for conda-forge
Failed to upload due to [WinError 5] Access is denied: 'C:\\Users\\VSSADM~1\\AppData\\Local\\Temp\\tmp8qb9lp17\\binstar.token'.  Trying again in 49 seconds
Distribution D:\bld\win-64\libredwg-<IP_ADDRESS>00-h946a894_0.tar.bz2 already exists for conda-forge
Failed to upload due to [WinError 5] Access is denied: 'C:\\Users\\VSSADM~1\\AppData\\Local\\Temp\\tmp796bi0md\\binstar.token'.  Trying again in 64 seconds
Distribution D:\bld\win-64\libredwg-<IP_ADDRESS>00-h946a894_0.tar.bz2 already exists for conda-forge
Failed to upload due to [WinError 5] Access is denied: 'C:\\Users\\VSSADM~1\\AppData\\Local\\Temp\\tmp01n9r4dr\\binstar.token'.  Trying again in 81 seconds
Traceback (most recent call last):
  File "C:\Miniconda\Scripts\upload_package-script.py", line 10, in <module>
    sys.exit(upload_package())
  File "C:\Miniconda\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Miniconda\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Miniconda\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Miniconda\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Miniconda\lib\site-packages\conda_forge_ci_setup\build_utils.py", line 141, in upload_package
    retry_upload_or_check(recipe_root, owner, channel, [config_file])
  File "C:\Miniconda\lib\site-packages\conda_forge_ci_setup\upload_or_check_non_existence.py", line 162, in retry_upload_or_check
    raise TimeoutError("Did not manage to upload package.  Failing.")
TimeoutError: Did not manage to upload package.  Failing.

but the package is available at anaconda.org . Any ideas @conda-forge/core ?

This issue is still open @conda-forge/core.

I'd rerender the feedstock and try again.

I don't think this is the case here. Normally rerenderings are done by the bot when a new version is available. So a rerenering happened recently.

This upload worked - IDK why it is erroring
https://dev.azure.com/conda-forge/feedstock-builds/_build/results?buildId=140586&view=logs&j=f97ca392-d626-52d0-4b2e-4b27aa319a77&t=4d53b7b9-9f37-55b4-f2bb-6fee1e431981&l=26

I checked master and that upload worked just fine too but then the CI errored.


User register and submit, return a 500 error

@benyang2015 Did you configured the mailer service through administration area (Configuration/Multistore/Shops)? Please use dev environment (app_dev.php) and paste here the exception info.

Same error on the demo(http://demo.wellcommerce.org/)

Fixed already in previous commits & fixes.


fix: do not crash on invalid data

Make sortPackageJson accept any data and invalid string, leave them as it is.

Make sense too.


wind

Add wind in the scn file. Sibling PR: https://github.com/webaverse/totum/pull/114
https://user-images.githubusercontent.com/60634884/169364223-377d6cc6-b3ad-4af5-abd2-a44f86e86a62.mp4
Just have 2 wind type now: directional and spherical (reference: https://docs.unity3d.com/Manual/class-WindZone.html)
And the other parameters are:
"direction"
"radius" (only active for spherical)
"position" (only active for spherical)
"windForce"
"noiseScale"
"windFrequency"
Issue:

hair would pass through face if the windForce is too large

Some characters do not have springBones

Looks great!

What do we need to ship this? (it's still marked as WIP)

noiseScale 0.1
https://user-images.githubusercontent.com/60634884/170783059-a80787e1-71bd-4080-aa4f-e101c5c34e6e.mp4
noiseScale 0.5
https://user-images.githubusercontent.com/60634884/170783077-abefd480-157d-4731-8276-7f8c551e123c.mp4
noiseScale 1
https://user-images.githubusercontent.com/60634884/170783096-10dcb691-c70a-472b-b33d-93c58b368f22.mp4

{
"type": "application/wind",
"content": {
"windType": "directional",
"direction": [1, 0, 0.8],
"windForce": 0.8,
"noiseScale": 1,
"windFrequency": 1
}
},
{
"type": "application/wind",
"content": {
"windType": "spherical",
"direction": [0.25, 0.15, -0.25],
"radius": 5,
"position": [0, 0, 0],
"windForce": 5,
"noiseScale": 10,
"windFrequency": 5
}
},

This is sibling PR: https://github.com/webaverse/totum/pull/114

And this is sibling PR: https://github.com/webaverse/totum/pull/114

We should add an example scn file to the repo. It can be a copy of another scene, like the block in the original video.


redux-form .change() has no effect on

Short description
Use <Geosuggest /> in redux-form
Expected results
<Geosuggest /> should work same way as outside redux-form
redux-form should be able to aggregate/validate/manipulate/...  value of <Geosuggest />
Actual results
Everything works just great, except one very central problem.
redux-form can't manipulate the value of <Geosuggest /> at all. Resulting in even bigger problems when implementing in FieldArray.
Reproduction steps
Using this implementation shows redux-form updates the input.value as expected. But Geosuggest doesn't update.
import Geosuggest from 'react-geosuggest';
import { Field } from 'redux-form';

const CustomGeosuggest = ({ input, label, meta: { touched, error }, ...custom }) => (

{JSON.stringify(input, null, 2)}

        <Geosuggest name={input.name} value={input.value} {...custom} />
        {touched && error && {error}}

)

<Field
    component={CustomGeosuggest}
    className="ui search"
    name="location_name"
    placeholder="Location"
    onSuggestSelect={onSuggestSelect}
    />

Additional Information
IMHO it's not totally clear if this is a bug or no bug.
Anyways: I'm sure there is a proper way to do this, or at least a workaround. Infos about those are highly appreciated.

Here is a wrapper class that allows react-geosuggest to be used with redux-form:
export class renderGeosuggest extends React.Component {
	componentWillReceiveProps(nextProps) {
		if(this.props.input.value != nextProps.input.value) {
			this.refs.geosuggest.update(nextProps.input.value)
		}
	}
	render() {
		const {input, label, ...custom} = this.props
		return (

		        {label}
		        <Geosuggest
		            ref="geosuggest"
		            initialValue={ input.value }
		            onSuggestSelect={ (suggest) => input.onChange(suggest.label) }
		            {...custom}
		        />

	    )
	}
}

It would be nice if the next major version of this library used the value/onChange pattern that most form related React components have adopted.

We’ll keep that in mind for a new major. Feel free to submit a PR if you find a way to implement it without breaking! Hope the workaround works.

Just in case someone wants to load google maps lib async:
`import React from 'react';
import withScriptjs from "react-google-maps/lib/async/withScriptjs";
import Geosuggest from 'react-geosuggest';
const googleMapURL="https://maps.googleapis.com/maps/api/js?v=3.27&libraries=places,geometry&key=YOUR_API_KEY"
class RenderGeosuggest extends React.Component {
componentWillReceiveProps(nextProps) {
if(this.props.input.value != nextProps.input.value) {
this.refs.geosuggest.update(nextProps.input.value)
}
}
render() {
const {input, label, ...custom} = this.props
return (

{label}
<Geosuggest
ref="geosuggest"
initialValue={ input.value }
onSuggestSelect={ (suggest) => input.onChange(suggest.label) }
{...custom}
/>

)
}
}
export const renderGeosuggestAsync = withScriptjs(
props => (<RenderGeosuggest  {...props}/>);
);`
And then just:
               <Field name="address" component={ renderGeosuggestAsync }                                          googleMapURL = {googleMapURL}                                         loadingElement={
                                                     "Loading map..."
}                     />

I don't want to get too excited, but this is working for me currently with Geosuggest and Redux-Form V7.2
import React, { Component } from 'react'
import PropTypes from 'prop-types'
import Geosuggest from 'react-geosuggest'

class CreateGeoSuggest extends Component {
  render() {
    const {
      input,
      meta: { touched, error },
      name,
      label,
      required,
      placeholder,
    } = this.props
    const maybeHasValue = (input.value)
      ? 'edit_filled'
      : 'edit_empty'
    const maybeHasError = (touched && error)
      ? 'form-text-input error'
      : `form-text-input normal ${maybeHasValue}`
    return (

            {label}
            {required && *}

            <Geosuggest
              ref={el => this._geoSuggest = el} // eslint-disable-line
              placeholder={placeholder}
              inputClassName={maybeHasError}
              name={name}
              initialValue={input.value}
              {...input}
            />

        {touched && (error && {error})}

    )
  }
}

Called like this:
<Field
  label=""
  component={CreateGeoSuggest}
  name="person_location"
  placeholder="Enter Location"
/>

I haven't tested hydrating the form yet, but I 50% suspect initialValue isn't necessary.
The above code works correctly including with Redux-Form sync validation.

Hello,
I would like to know how can I store the full adresse object in the redux form value and only display the label on the field.
Thanks


Is it possible to delete a row?

Hi! Thanks for the great project. I can not find how to delete a row ( Can you help pls

Hi!
This functionality was added just recently, you can see it live here https://datazenit.com/static/sensei-grid/examples/
Use ctrl + backspace or ⌘ + backspace to delete a row. You can also use ctrl + d or shift + d to duplicate a row.

Thanks!


Make it possibly to create a Lightyear client without a ConnectToken

Currently, we can only create the Client with a ConnectToken.
But what we'd like is to be able to create the Lightyear client plugin without a ConnectToken.
Then the user can wait for a ConnectToken to be available, and when it is available, call
connect(Token) which would create the NetCode object
Currently, the API has several problems:

we need a ConnectToken to create the LightyearPlugin. But in many cases the ConnectToken is not known ahead of time; we need to talk to some backend first to receive a ConnectToken.

OPTION 1: the client talks to backend, gets ConnectToken, then starts the app and lightyear plugin.
OPTION 2: can create the lightyear plugin without ConnectToken or io, and then as soon as we receive one, we can 'start' it using a function connect_with_token_and_io()

io.listen() starts a connection with the server immediately when the io gets created. Ideally we would instead be able to create the io, but then it starts 'listening' or creating to the server only when we try connecting

This PR does OPTION 2 by adding a connect_with_token function to recreated the NetcodeClient with a new ConnectToken

I guess it is kind of possible by using a Local NetConnection?
Or should we also introduce a dummy one?

Closing as this is now possible by using the RequestConnectToken Authentication for the netcode connector; and switching to a connect-token at runtime when one is received.


Allow passing extra arguments to mongod

The official Docker Hub image for MongoDB allows passing arguments to mongod via its entrypoint script.
This feature is useful and users can benefit of it both via docker run and within an OpenShift DeploymentConfig (one can specify container args in the pod spec).

@mfojtik @bparees @mnagy PTAL

@rhcarvalho we should do the same (afaik we already doing that for mysql)

+1

@omron93 PTAL

LGTM. I like a way how to configure the image. And I think there should be no problem with this...
I also think it should be good to allow/document users to mount configuration file,... It is a standard way how to configure mongod and when you don't run mongod from kubernetes it easier to use.
However, when we discussed this, I think you said you don't want to allow users to configure everything? Only some option accessible via environment variables...

guess this ticket can be closed, no @omron93 ?

mongodb container is not maintained any more in this org. closing.


Resolution dropbox shows invalid options

What happened?
The resolution drop box shows values higher than the posibilities of my Display

The aspect ratio would be a nice addition to the resolutions.
Steps to reproduce
Go to settins and open the dropbox.
Operating System
Windows 10  (10.0.19042) 64bit
Wallet
None, played as guest
CPU
Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz
GPU
NVIDIA GeForce GTX 980 Ti 6097MB
RAM
16317MB
Kernel Version
1.0.0-1752637577.commit-039d162
Unity Version
desktop-main.commit-c2c093e
Realm
dg
NameTag
Alvaro#e485

They were valid options


Make archive-d tarballs reproducible

Executing ./downstream.sh archive should ideally create the same .tar.xz files if the file contents haven't changed.

File sorting can be unified by setting export LC_ALL=C.UTF-8 in the script header.
Modification time is still dependent on whenever the user invoked ./downstream.sh prep because git archive uses that latest local commit.


Readme: Fix hints syntax in example

Describe the pull request
A clear and concise description of what is being fixed, added or modified.
Why
Why are these changes necessary?
How
How were these changes implemented?
Screenshots
If applicable, add screenshots to help explain what is being modified.

Really good catch, thanks for the pull request.


Enable the CLI to generate links or files compatible with the Stellar Laboratory

What problem does your feature solve?
To transactions created in the CLI, allow users to connect to a wallet not stored by the CLI. This is being explicitly asked by developer
What would you like to see?

Use Wallet kit (https://github.com/Creit-Tech/Stellar-Wallets-Kit) - Wallet kit is already implemented in Lab
Land user in Lab with wallet kit open
Note: Lab will use https://lab.stellar.org as the URL when launched

This issue includes pass the xdr to the sign page on Lab and pass back the signed xdr to the CLI.

@janewang @Ifropc as I'm working on this, I found this ticket too https://github.com/stellar/stellar-cli/issues/674 - how is #674 different from this ticket (#1428)?

@elizabethengelman Thank you for picking up the ticket. I closed the other one. There is only one ticket for this Objective and you are assigned to it :)

From my understanding #674 is a part of this ticket

Cool, thanks for the clarification!


-V is messed up

logcheck -h says
...
  -V	print version and exit
...

but when I try it something else happens.
(base) mspreitz@mjs12 logcheck-test % logcheck -V
logcheck: unsupported flag value: -V=true

That comes from  https://github.com/golang/tools/blob/6546d82b229aa5bd9ebcc38b09587462e34b48b6/go/analysis/internal/analysisflags/flags.go#L197 in golang.org/x/tools. I don't think we can do anything about it.

According to the source, only go run . -V=full works:
/tmp/go-build1772735640/b001/exe/logcheck version devel comments-go-here buildID=26e6823bdfa8019bf8b28b2db15a458f3b02c4eab7bca826a47c51be75fcc208

The output of logcheck -h gives no clue about how to successfully use -V.  Tat is a problem.  Maybe the code in https://github.com/golang/tools/blob/6546d82b229aa5bd9ebcc38b09587462e34b48b6/go/analysis/internal/analysisflags/flags.go#L197 is correct for the context where it appears.  The calling of that code from logcheck makes for a baffling logcheck user experience.

The calling of that code from logcheck makes for a baffling logcheck user experience.

But logcheck is not calling it, is it? Its main.go is just doing this:
https://github.com/kubernetes-sigs/logtools/blob/0d66178d0c69b17a158d6de47c758ce94ac51c47/logcheck/main.go#L26
I agree that this is bad, but it would have to be fixed in golang.org/x/tools/go/analysis/singlechecker.

Is there problem here common to all uses of singlechecker.Main or is logcheck somehow special in this regard?

I don't think logcheck is special.
https://grep.app/search?q=singlechecker.Main shows plenty of other examples that use the same main.go as logcheck.
I checked out https://github.com/google/gvisor/blob/master/tools/checklocks/cmd/checklocks/main.go and got the same failure:
/tmp/gvisor/tools/checklocks/cmd/checklocks$ go run ./ -V
checklocks: unsupported flag value: -V=true
exit status 1

/triage accepted
/assign @pohly

@pohly is right, logcheck is not special.  I pursued this issue upstream and got it mostly resolved, see https://github.com/golang/go/issues/57716 .
Can we get a new point release to pick up this improvement?

I looked at the solution and believe that further work is needed there. See my comments in https://github.com/golang/go/issues/57716 and https://go-review.googlesource.com/c/tools/+/461496?tab=comments.

@MikeSpreitzer: is the current solution in Go good enough for you? if yes, then I can update once it is in a tagged release and do a new release of logtools itself.

@pohly : I agree with you that it would be better to fix -h.

@pohly is this still relevant?
/triage accepted

@MikeSpreitzer: my understanding was that like me you wanted to get -h fixed upstream, which IMHO hasn't happened.
Can you clarify what we should be doing here?


Error when datepicker-popup is opened

There is an exception when $locale.DATETIME_FORMATS.FIRSTDAYOFWEEK is not defined. I saw the following error in datepicker-popup when I expanded the popup and the week numbers are not rendered due to the following error.
TypeError: Cannot read property 'date' of undefined
    at _refreshView (ui-bootstrap-tpls-2.1.0.js:1847:66)

The root cause is the following line at 1520 which causes the value to be set to NaN:
self.startingDay = ($locale.DATETIME_FORMATS.FIRSTDAYOFWEEK + 8) % 7;
I believe it should be something like this:
         self.startingDay = $locale.DATETIME_FORMATS.FIRSTDAYOFWEEK == null ? 0                                     : ($locale.DATETIME_FORMATS.FIRSTDAYOFWEEK + 8) % 7;

There is an exception when $locale.DATETIME_FORMATS.FIRSTDAYOFWEEK is not defined.

But this should never be the case, unless you are using a very old Angular version. Please provide a reproduce scenario, see: https://github.com/angular-ui/bootstrap/blob/master/CONTRIBUTING.md#you-think-youve-found-a-bug

Opps!!! You are right. Though I am using angular 1.5.7, I had a reference to an old angular-locale_en.js that I did not notice and was causing the conflict.
Sorry about that.


bounceInRight in Chrome 45.0.2452.94 mobile scrolls to the top of the page.

When I tried to access my website (www.lebtag.com) using bounceInRight in the bottom of the page, the browser scrolls to the top of the page.
First, It was adding a horizontal bar, but I added overflow-x:hidden and fixed it.
My mobile is a samsung phone.

This seems like something caused by JS—animate.css should have no effect on the vertical scroll position of a page.


Mof/elasticsearch string contains filter operation

Summary of the changes (Less than 80 chars)
Added filter operations:

string contains
string ncontains

Note:  The elasticsearch WildcardQuery is used for the mentioned filter operations as of my current knowledge about elastic queries. Is there any better choice that you could think of?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 3 committers have signed the CLA.:white_check_mark: PascalSenn:x: mforouzesh:x: frzmohammadalimforouzesh seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Helm Chart / documentation inconsistency

Hey,
first: Thanks for your great work with the fip controller!
I'm trying to get it running with your helm chart with the following config:
configInline:
  hcloud_floating_ips: "111.222.333.444/32"
secretInline:
  HCLOUD_API_TOKEN: "thatsmysecret"

I'm getting the following error from helm:
Error: UPGRADE FAILED: template: hcloud-fip-controller/templates/secret.yaml:9:33: executing "hcloud-fip-controller/templates/secret.yaml" at <2>: wrong type for value; expected string; got map[string]interface {}

This "works" in the sense that the error is gone:
configInline:
  hcloud_floating_ips: "111.222.333.444/32"
secretInline: |
  HCLOUD_API_TOKEN: "thatsmysecret"

But I still get an error "IP address not allocated". IP address is registered with Hetzner and added to all machines in the cluster.

Hi @MatthiasLohr, I have this working this way:
`
configInline:
hcloud_floating_ips:

111.222.333.444/32
secretInline:
HCLOUD_API_TOKEN: thatsmysecret
`

Hi, sorry for the long delayl. As @spatialy already mentioned the hcloud_floating_ips is an array type. This is also documented like this here https://github.com/cbeneke/helm-charts/tree/master/charts/hcloud-fip-controller#configuration .. Did you find some reference to the wrong format somewhere? :)

For me it's only working if we add | before HCLOUD_API_TOKEN like:
configInline:
hcloud_floating_ips:

111.222.333.444
secretInline: |
HCLOUD_API_TOKEN: thatsmysecret


Update x/sys module to support Risc-V

Updating projects using libraries that were recently updated to support Risc-V.
Go upstream work is tracked on: golang/go#27532
Risc-V software support tracker on https://github.com/carlosedp/riscv-bringup

Thank you. I'm not familiar with Risc-V. What is the benefit for the hub end-user?

Hi @mislav, Risc-V is an open-source architecture that is gaining traction and having new software for it boosts it's popularity. There is already one board with a Risc-V SOC, the SiFive Unleashed and more will come.
I use Hub daily in place of git and developing on and for Risc-V with it improves my productivity.

Thank you for the explanation!
If this helps you compile hub on this new architecture, then I'm all for it. I don't see how this could have adverse affect on other platforms.


TypeError: Cannot read property 'name' of undefined in getNavigateToItems()

TypeScript Version:  2.3.2
When calling getNavigateToItems() with query LanguageService on a clone of this repo (Microsoft/TypeScript), it throws
 TypeError: Cannot read property 'name' of undefined
    at mergeSymbol (../node_modules/typescript/lib/typescript.js:25830:46)
    at ../node_modules/typescript/lib/typescript.js:25854:21
    at Map.forEach (native)
    at mergeSymbolTable (../node_modules/typescript/lib/typescript.js:25844:20)
    at initializeTypeChecker (../node_modules/typescript/lib/typescript.js:45947:21)
    at Object.createTypeChecker (../node_modules/typescript/lib/typescript.js:25710:9)
    at Object.getTypeChecker (../node_modules/typescript/lib/typescript.js:66883:79)
    at Object.getNavigateToItems (../node_modules/typescript/lib/typescript.js:85361:74)

Do you know what code you were testing this on?

The code of this repository.

So you're both using the checkout of this repository, and you're testing the language service out on the repository?
Could you share the code you used to test this out?

I am using TypeScript version 2.3.2 and call getNavigateToItems('LanguageService') to get the NavigateToItems of this repository.
The code is not very self-contained, but open source: https://sourcegraph.com/github.com/sourcegraph/javascript-typescript-langserver/-/blob/src/typescript-service.ts#L901:41-901:59
I am not sure how to create a self-contained repro case, would it help if I added a failing test case on a branch that you can step through?

I'll look at this tomorrow. Hopefully I can reproduce the error with a simple language service.

OK, this is hard to reproduce. Having a branch that reproduces the error would definitely help. Thanks!

closing for now. feel free to reopen if there are more information.


Publish ProxyConnectionEvent after HAProxyMessage is written

Motivation:

HAProxyHandler is not a subclass of ProxyHandler so the whole proxy process is not bound by a connection timeout. https://github.com/line/armeria/pull/5223#discussion_r1372475060 We need to fix to start a session timeout to include HA proxy as a part of the session handshake.

A ProxyConnectionEvent is published as a connection is established without waiting for the result of HAProxyMessage. The event is rescheduled on the premise that the HAProxy message would be written and the HttpSessionHandler would enter the pipeline during the rescheduling.
It has worked well, but it doesn't provide perfect happen-before. Since HttpSessionHandler is added as the first listener of connectionPromise by #5223, if the connection is successful in the callback of HAProxyHandler's addListener(), HttpSessionHandler will always exist in the pipeline.
Therefore we don't need to rely on the reschedule to fire a ProxyConnectionEvent or ProxyConnectException.

Modifications:

Use .isForwardProxy() to determine whether a session timeout should be scheduled as a connection is established.
Fire ProxyConnectionEvent when HAProxyMessage is successfully written.
Remove unnecessary rescheduled jobs.

Result:
ProxyConnectionEvent is correctly published after HAProxyMessage is successfully written.

Thanks, @ikhoon!


Remove reference to fibers

As per https://docs.microsoft.com/en-us/dotnet/standard/threading/managed-and-unmanaged-threading-in-windows#threads-and-fibers, .NET Framework does not support Fibers, therefore the following paragraph is misleading and should be removed:

Specifically, a sophisticated host can use the Fiber API to schedule many managed threads against the same operating system thread, or to move a managed thread among different operating system threads.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2e267fd4-6615-49ca-c77f-c97ecdbacb9b
Version Independent ID: 95febe7e-6407-4be4-484d-1621db41c5e7
Content: Managed and Unmanaged Threading in Windows
Content Source: docs/standard/threading/managed-and-unmanaged-threading-in-windows.md
Product: dotnet
Technology: dotnet-standard
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Reference: https://twitter.com/JanKotas7/status/1260023082720227328


NAT: explicitly mention FQDN besides IP

Specifying a fully quialified domain name also works
as input, so it can be mentioned to the user.
Also fixed the nitpick of preceding "i.e." before
LowEndSpirit, just in case the user doesn't know the
service at all.

You are right about the clarification, it can be confusing. Done in https://github.com/Nyr/openvpn-install/commit/96108e6b2e05bd1193a124ac1791dcb9765c7ea0
FQDN mention not added because it's not asked about if the server is not behind a NAT.

FQDN mention not added because it's not asked about if the server is not behind a NAT.

True, I will create a new PR fixing this.

Please don't. It would add unneeded complexity, the $IP variable is used/needed anyway.

But isn't it better that the .opvn file points to the FQDN instead of the IP? What if the public IP is dynamic?

DNS requests are hijacked in some public networks and captive portals so avoiding them when establishing a VPN connection is usually a good idea.
Anyway I wouldn't expect a dynamic IP for a server. If you have the need to use DDNS, set that manually, it will not be covered for this script.

DNS requests are hijacked in some public networks and captive portals so avoiding them when
establishing a VPN connection is usually a good idea.

Good point. I guess I start to see how your use case is different than mine though. I was also planning to contribute an option to let the server or the client be configured to not redirect all traffic.

Anyway I wouldn't expect a dynamic IP for a server. If you have the need to use DDNS, set that
manually, it will not be covered for this script.

Not really DDNS, but just sysadmin needs (if I need to change the server that hosts the VPN service, I can do this by changing the DNS record, and not bother about changing all .ovpn files of my users). So I guess the best option here is part ways and start my own fork :)
Thanks anyway!

Good point. I guess I start to see how your use case is different than mine though. I was also planning to contribute an option to let the server or the client be configured to not redirect all traffic.

Script is intended to be used as a "road warrior" so this is out of scope.

So I guess the best option here is part ways and start my own fork :)

I agree.


Cannot assign modules to the webpack2 require cache

Do you want to request a feature or report a bug?
bug

What is the current behavior?
With webpack 2 it isn't possible to replace modules with a test fake at the require cache.
If the current behavior is a bug, please provide the steps to reproduce.
test.coffee
module.exports = id: 1

firstRequireOfTestModule = require './test'
console.log firstRequireOfTestModule, require.resolve './test'
# LOG: Object{id: 1}, 4

testFake = id: 2
require.cache[require.resolve './test'] = testFake

secondRequireOfTestModule = require './test'
console.log secondRequireOfTestModule, require.resolve './test'
# LOG: undefined, 4

cachedTestModule = require.cache[require.resolve './test']
console.log cachedTestModule
# LOG: Object{id: 2}

What is the expected behavior?
With webpack 1 it was possible to replace modules with a test fake at the require cache.
If this is a feature request, what is motivation or use case for changing the behavior?
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.

Sorry it was a mistake on my part. It has to be:
require.cache[require.resolve './test'] = testFake


App fails to deploy using toolchain

The Watson Visual Recognition service has changed plan name from free to lite, which breaks the declared services in manifest.yml

So, actually what happens is that the VR service has been moved to being an ibmcloud resource and no more an cf service. In order to bind it to a CF app, an alias needs to be created:
ibmcloud resource service-alias-create "Visual Recognition-cfc" --instance-name "Visual Recognition-cfc" -s Dev

Thanks @timroster @philippe-gregoire
That command worked to create a CF alias service. Updated readme with PR #15


initalise objectstore.spec.hosting for virtualHostnames

OCS-Op was crashing since objectstore.spec.hosting was not initialised

/cherry-pick release-4.16

/test ocs-operator-bundle-e2e-aws

/test ocs-operator-bundle-e2e-aws

/retest

@thotz Can you pls test the changes once or look at the CI setup while the tests are running?

/retest

/retest

@thotz Can you pls test the changes once or look at the CI setup while the tests are running?

CI setup is running on AWS, from logs apparently cephobjectstore is not created and above code path never touched
storagecluster-cephnfs-servicemonitor","namespace":"openshift-storage"}}
{"level":"info","ts":"2024-04-10T07:50:51Z","logger":"controllers.StorageCluster","msg":"Platform is set to skip object store. Not creating a CephObjectStore.","Request.Namespace":"openshift-storage","Request.Name":"test-storagecluster","Platform":"AWS"}
{"level":"info","ts":"2024-04-10T07:50:51Z","logger":"controllers.StorageCluster","msg":"Platform is set to skip object store. Not creating a CephObjectStoreUser.","Request.Namespace":"openshift-storage","Request.Name":"test-storagecluster","Platform":"AWS"}
{"level":"info","ts":"2024-04-10T07:50:51Z","logger":"controllers.StorageCluster","msg":"Platform is set to skip Ceph RGW Route. Not creating a Ceph RGW Route.","Request.Namespace":"openshift-storage","Request.Name":"test-storagecluster","platform":"AWS"}

I can also see both ocs-operator and rook-operator is running fine in the test cluster. So IMHO failure is not related to my changes.
@iamniting I will wait for current to complete, if it still fails I will do a rebase on the code


Address issue found in bitminter.js [Opened by bitHound]

bitHound discovered 1 ErrorIgnored in bitminter.js. For details go to bitHound.

function processError (err, res, message, callback) {

Fixed in PR #14


Customizing search result view - changing  the abstract

When you click on a single item in the search result you can see a short description.
I try to add some additional information to this area and need some help.
I found out that in gpt.search.profiles.CSW_2.0.2_OGCCORE_ESRI_GPT_GetRecords_Response.xslt you can define wich content is rendered to the abstract ( xsl:choose / xsl:otherwise / Records / xsl:for-each / Record / Abstract / xsl:value-of ).
I also also found out that the html code for the search result can be changed in WebContent/catalog/search/results.jsp and that the value of the element defined in CSW_2.0.2_OGCCORE_ESRI_GPT_GetRecords_Response.xslt is stored in the parameter 'abstract'.
What i need is to have another parameter i can use in results.jsp, i.e. 'abstract2' with the value from a different elment, possibly defined as a new element in CSW_2.0.2_OGCCORE_ESRI_GPT_GetRecords_Response.xslt i.e. Abstract2 / xsl:value-of.
What steps are in between defining such a new element Abstract2 and finaly using it as a parameter 'abstract2'?

hi @j0chen, do you want to show a longer abstract? or possibly popuplate the abstract field with values from more than one XML element (in case one of the two is empty)?
In both cases you could just append the two values in the Abstract element.
I would not recommend adding a second abstract2 element as that will result in many code changes between the CSW response and the search results page.


COMPRESS-565 : add a new AlwaysWithComestibles in Zip64Mode

Add a new AlwaysWithComestibles in Zip64Mode, this is a compromise for some libraries including 7z and Expand-Archive Powershell utility(and likely Excel).
With Zip64Mode.AlwaysWithComestibles, the following fields in Central File Header will be set as needed:

disk number offset in split zip
relative offset of LFH
relative header offset in zip64 extra
disk number start in zip64 extra

These changes are consistent with commit 2b7281.
It would be good if the generated file in test could tested by Expand-Archive or 7z, but I didn't find a way to detect them in Java.
It's welcome for suggestions about the name Zip64Mode.AlwaysWithComestibles  :)
See COMPRESS-565 for more detailed information.

Coverage increased (+0.002%) to 87.357% when pulling 67aa5ee6bb1182fc74819f8074270512e27c9d12 on PeterAlfredLee:COMPRESS-565 into 1b7528fbd6295a3958daf1b1114621ee5e40e83c on apache:master.

I like the code change.
It is good you always include a central directory zip64 when there has been one in LFH, something I likely would have overlooked. Thanks. The javadoc of the new option is not completely accurate, as it will always add zip64 entries to the central directory, but not necessarily encode the disk number and relative offset.
Oh, I believe we are overlooking something. We must ensure we add the relative LFH offset to the Zip64 extended information entry inside the central directory even if it is not too big in the case where the disk number is too big - or we'd create a gap inside of the extra field. This is currently wrong inside master as well, unless I'm wrong.
I don't like the name of the new option, but I'm the last one who should suggest a different one - I've got a long track record of picking bad names. Let's discuss this on the dev list.

The javadoc of the new option is not completely accurate, as it will always add zip64 entries to the central directory, but not necessarily encode the disk number and relative offset.

Yes, it is. I pushed a new commit with only the javadoc of the new option changed.

We must ensure we add the relative LFH offset to the Zip64 extended information entry inside the central directory even if it is not too big in the case where the disk number is too big - or we'd create a gap inside of the extra field. This is currently wrong inside master as well, unless I'm wrong.

This means we should encode the relative offset and disk number at the same time - even through only eithor of them is too big.  Am I right about it?

Let's discuss this on the dev list.

+1.

And I made a typo in the name - I was thinking about the name AlwaysWithCompatibility.

Hi!
Any change this fix will be releases in the following couple of days? We have a release soon, and if this fix won't be released, I'll have to use custom jar with this fix, which will lead to some problems for us.

I'm sorry but the master branch isn't quite ready for a new release, yet, so unfortunately you can't expect a release within days.

This means we should encode the relative offset and disk number at the same time - even through only eithor of them is too big. Am I right about it?

No, this is not what I meant.
In the layout of the ZIP64 extended information extra field you have the two sizes - which must always be present - then the LFH offset, then the disk number. If you don't need to encode the LFH offset but have to encode the disk number the disk number would appear directly after the sizes. I'm afraid there might be parsers that try to read the LFH offset anyway if the size of the extra field is bigger than the two size fields. I may be overcautious (the parser should consult the corresponding field inside of the central directory actually contains FFs and it should see the size is only 20 bytes not 24 or even 28) but prefer to stay on the safe side.
AlwaysWithCompatibility sounds a lot better, thanks :-)

I'm sorry but the master branch isn't quite ready for a new release

Ok, but if I build the jar from this branch, is this ok to use in release?

I'm sorry but the master branch isn't quite ready for a new release

Ok, but if I build the jar from this branch, is this ok to use in release?

If you want to release the software on your own, and especially if you plan on pushing it out to the world through Maven Central or elsewhere, you must change the Maven Group and Artifact IDs.

If you want to release the software on your own, and especially if you plan on pushing it out to the world through Maven Central or elsewhere, you must change the Maven Group and Artifact IDs.

I mean bundle the jar to our release, not release the library anywhere.
Is this branch stable enough for the production usage?

I'd say it depends on which parts of Compress you use. If you are only using code that hasn't changed or has only seen bugfixes, you should be pretty safe. Usually we do some extra code reviews when preparing a release and this may not have happened fully for new code.

I'm thinking about merge this PR.
Are there anything to be modified about this PR? @bodewig

Surely we can come up with a better name than a "food item" (comestible) or is that term used in the zip spec itself?

you may want to change the name of the test method. Other than that, please just go ahead.
@garydgregory "comestible" is almost only present in the PR's title. Peter has fixed the occurrences in code already.

@PeterAlfredLee I had another look and I don't think you've addressed my comment from https://github.com/apache/commons-compress/pull/169#issuecomment-788865243 - but we can deal with that after the PR has been merged.


Use different Datadog test account per build.

This should remove build flake. Tests create and destroy resources, but use
the total amount to determine success. This will not work well if we run
acceptance test for another language version in parallel.
Fixes #166 .

TTL expired


Fixed pty.js package

Updated to latest version becouse previous version with '-' character ignored by npm and tried to install wrong version using 'npm install tty.js'
Fixes #146

already fixed 383d43928540d2e68b5db071e8d70b9591c1b678


CB-12292 EventBusConfigTest.uncaughtErrorButFlowFound unit test is flaky

could you add a bit more info to the commit message why would it fix the issue and what would this fix exactly? just in case someone else experience this again or edits the tests. thanks

could you add a bit more info to the commit message why would it fix the issue and what would this fix exactly? just in case someone else experience this again or edits the tests. thanks

sure, added some explanation to the git commit


SYFT_PACKAGE_EXCLUDE_BINARY_OVERLAP_BY_OWNERSHIP=false is not working

What happened:
SYFT_PACKAGE_EXCLUDE_BINARY_OVERLAP_BY_OWNERSHIP=false is not working in Syft v1.4.0 or later.
I am using Syft with SYFT_PACKAGE_EXCLUDE_BINARY_OVERLAP_BY_OWNERSHIP=false to output java installed via RPM package as CycloneDX component type application.
But it is not working. None of application type is output.
It works fine when using Syft v1.3.0.
What you expected to happen:
Expect java and node, etc. installed via RPM package to be output as CycloneDX component type application.
Steps to reproduce the issue:

For example, prepare the following container image named myapp:latest:
FROM rockylinux:9
RUN dnf install --debuglevel=1 -y java-21-openjdk

Execute syft with SYFT_PACKAGE_EXCLUDE_BINARY_OVERLAP_BY_OWNERSHIP=false:
$ SYFT_PACKAGE_EXCLUDE_BINARY_OVERLAP_BY_OWNERSHIP=false syft myapp:latest --output<EMAIL_ADDRESS>

None of application type is output:
$ jq '.components | map(select(.type == "application") | .name)' java.cdx.json
[]

Anything else we need to know?:
When it is binary, it becomes application in CycloneDX format.
https://github.com/anchore/syft/blob/v1.5.0/syft/format/internal/cyclonedxutil/helpers/component.go#L39-L42
Environment:
$ syft version
Application: syft
Version:    1.5.0
BuildDate:  2024-05-28T15:11:44Z
GitCommit:  ac34808b9c55bb274b1205f9b5d9cf495239577d
GitDescription: v1.5.0
Platform:   linux/amd64
GoVersion:  go1.21.10
Compiler:   gc

Thanks for the report @marinedayo -- I can confirm this on the latest Syft, 1.5.0, even with the base rockylinux:9, see:
$ SYFT_PACKAGE_EXCLUDE_BINARY_OVERLAP_BY_OWNERSHIP=false syft rockylinux:9 -q | grep binary
$ SYFT_PACKAGE_EXCLUDE_BINARY_OVERLAP_BY_OWNERSHIP=false syft rockylinux:9 --select-catalogers binary -q | grep binary
bash     5.1.8    binary
openssl  3.0.7    binary
python   3.9.18   binary

Thanks for the reply.
As you mentioned, other binaries are also installed with RPM packages in Rocky Linux, so it's the same thing.
Syft v1.5.0:
$ syft rockylinux:9 -q | grep binary

$ SYFT_PACKAGE_EXCLUDE_BINARY_OVERLAP_BY_OWNERSHIP=false syft rockylinux:9 -q | grep binary

Syft v1.3.0:
$ syft rockylinux:9 -q | grep binary

$ SYFT_PACKAGE_EXCLUDE_BINARY_OVERLAP_BY_OWNERSHIP=false syft rockylinux:9 -q | grep binary
bash                         5.1.8                          binary
openssl                      3.0.7                          binary
python                       3.9.18                         binary