PUAE Retroarch core virtual keyboard not accessible with control device type set to 'Joystick' or 'Keyboard'

Before submitting your issue or feature request.  DO NOT REQUEST ASSISTANTS FOR PRELOADED IMAGES.  I do not support or condone the use of preloaded ArkOS images.  Preloaded meaning images that come with copyrighted roms preincluded.  Look for support from the creator or supplier of those preloaded images, not from here!  If a ticket is submitted for assistance for such images or if there's an indiciation that a preloaded image is what the support request is for, the issue ticket will be closed with no further response.

This is not Anbernic Stock Emuelec or 351Elec.  ArkOS is a different distribution from those systems and will have differing features.  The only somewhat similarity is that they both use EmulationStation as a frontend.  Even with that, the versions of EmulationStation that's used in between ArkOS and Anbernic Emuelec/351Elec is different with different capabilities.  If there are features you prefer with Anbernic Emuelec/351Elec, just use those distributions instead.  The choice is yours.

Have you reviewed the Frequently Asked Questions available at https://github.com/christianhaitian/arkos/wiki/Frequently-Asked-Questions---RG351P ?

If your issue is related to being able to run certain emulators or ports, have you reviewed the Emulators and Ports section available at https://github.com/christianhaitian/arkos/wiki/ArkOS-Emulators-and-Ports-information for needed bios files and supported rom extensions?

Have you reviewed the known issues section available at https://github.com/christianhaitian/arkos/wiki/Known-issues ?

Describe the Issue (If applicable)
When using the PUAE Retroarch core, the virtual keyboard is not accessible with the control device type set to 'Joystick' or 'Keyboard'. It's much easier to bind keyboard controls with the control device type 'Keyboard' rather than in the core options (and the directional pad is not bindable in the core options, plus it's cleaner for re-using the keymaps between similar games like pinball). This limit does not apply to UAE4ARM. I'd rather not use that core or the standalone emulator as they're quite limited compared to PUAE.
How can the issue be reproduced? (If applicable)
-Load the PAUE core and start emulation, press select, the virtual keyboard will be displayed/removed.
-Enter Retroarch's menu, change the device type in controls to 'Keyboard' or 'Joystick', resume emulation.
-Pressing select will now not display/remove the virtual keyboard.
What device are you using?
RG531MP
What version of ArkOS are you on?

You can find this during the initial boot process right before the Emulationstation loading screen
2.0 (11092021)

Anything else you'd like to include that may help to review this issue or feature request?

Looks like there were some improvements to the puae core in relation to the virtual keyboard.  I'll build a new core and upload it to the repo to see if that resolves the issue.  I will report here when it's ready for you to do a core update in retroarch for you to test.

The core has been updated in the repo.  Please update the core through retroarch and report if it resolves the issue or not.

Sorry to say, it didn't change that behavior. Also, the default speed seems to be slower than before.

Looks like the keyboard is only selectable with retropad.  https://docs.libretro.com/library/puae/#virtual-keyboard

That's not what that page says.
"The PUAE core has a virtual keyboard that can be accessed by default through RetroPad Select."
It says "by default". Also, it gives controls for the keyboard input device. That seems odd, but I guess there must be a use case. Anyway, I just tried it with the Windows build of Retroarch and the virtual keyboard works on any input type (even 'none').

Hmmm...I think there's a small bug in the core as when I set the control to keyboard and set select to function as F11, virtual keyboard works.  No problem there, that's just a configuration needed.  However, when I then change the joystick to analog, virtual keyboard works.  Then I go back to the retroarch menu and set the control to just joystick, virtual keyboard now works.  That's a bug.

Any chance you could revert the core on the repo? The current one is too slow to be usable.

Done

Looks like the slowness issue was reported to the puae git here https://github.com/libretro/libretro-uae/issues/486
The update that caused the slowness has been reverted.  I will rebuild the core and update the core again since the older version that is there is still much newer than the core I went back to.  Your review and feedback on it’s performance will be helpful. I will post here when the update is done.

"Joystick" is supposed to be a basic 2 button joystick, so it does not have any "Select" button to press. "Keyboard" does not either, therefore the toggle has to be routed via the keyboard mapping. "Keyboard" type also does not allow mixing joystick ports and keyboard inputs, which is why the core options exist.

Thank you for that clarification @sonninnos.  However, the user reports that the virtual keyboard works fine on any input on retroarch for windows using this same core.  How’s that possible.

I don't quite understand. Sure it can be controlled regardless of the input device type when using actual physical keyboard, because it also listens to cursor keys and enter, not only RetroPad, but can't be toggled unless the device type has the toggle button mapped.
The joystick device type is pretty much obsolete now anyways, since the core can not anymore free RetroPad mapped keyboard keys as actual keyboard keys, since the blocking of overlapping mappings is now done by RetroArch.
So for example if you have cursor keys and control as a joystick, before one could disable those keys as joystick keys by putting the device type to None, and then the same keys would go through as keyboard events to the core. Now it does not work, because RetroArch currently acts based on if the keys are mapped or not, to prevent hitting multiple events at the same time. Joystick was there to have less buttons stolen from keyboard usage than RetroPad.
Same applies to the "Keyboard Pass-through" core option, which won't do anything anymore.
And indeed the keyboard device type is needed only for pinball games, since they are completely controlled with keyboard.

Thanks again for clarification.

The "Keyboard" device is not strictly needed, per se, as you can bind keys to controller inputs via core options, but that has limitations. There is no easy way to copy controls between cores in that manner as per-game core options cannot be loaded manually.
Currently, the only way to re-use core config controls is to copy a configured .cfg file in the 'configs' directory to another filename matching another game. Otherwise, you have to re-bind everything for each game, one at a time. The core config also cannot just be changed and re-saved either. The menu removes the save option when a per-game config is created (which is something that shouldn't be happening. You can re-save other defaults for things like shaders and remaps...). Instead, you have to remove the config, which reverts all of the settings, and you end up manually re-binding everything anyway.
Yes, this is almost entirely aimed at pinball games. It would be a lot simpler if I could just open the virtual keyboard and press a F-key to select a table or enter my initials on the high score table. But instead, I have to go into Retroarch's menus, change the input type, drop back to the game, open the virtual keyboard and do whatever, close it, go back into Retroarch's menus and change the type back. Or, I have to manually set up each game's controls, and re-bind everything when I want to change something (which also means re-binding everything on each game when trying to keep the controls as similar as possible).
I realize this is not specific to your build, @christianhaitian, these are problems in Retroarch for anyone that doesn't have a real keyboard connected to their device. I just thought it should be explained why I thought it was a bug and why it came up in the first place.

No need for such trouble when the toggle is mapped to a keyboard key via core options, and that keyboard key is in the remap, for example in the same Select button.
F11 used to be doing that by default, but then I realized F11 is also the default key for RA mouse grab, and it was no longer needed after doing a separate key for it, so that when using a controller, that F11 mapping on the keyboard does not have to exist, since the controller button won't press F11, but does the same function what F11 would do if it was mapped.
opt:
puae_mapper_vkbd = "RETROK_F11"
rmp:
input_player1_key_select = "292" (292  = RETROK_F11)

@zomgugoff I've updated the core to the new reverted version.  Someone in the performance issue's ticket stated that the performance is better now on another Arm device.  Please update via retroarch and let me know if performance is at least the same as before.  Thanks

@christianhaitian It seems to be performing like it was on the old version. Thank you.
@sonninnos It seems that F11 is (now?) bound to the Virtual Keyboard in the core options by default, so only binding F11 to Select in the Input settings is necessary. Thank you for the workaround.

Thank you for confirming.  Closing this ticket as this issue can be considered resolved.  Merry Christmas!


Unable to reproduce results on different systems

Earlier i raised the issue that running same code on same seed multiple times shows different results.
That issue was in stable-baselines2.8. Now with stable-baselines2.9 that issue is solved and i am able to get same results on multiple runs on same seed.
Now the another issue i am facing with stable-baselines2.9 is that: if i run same code on same seed on two different laptops then it is giving different results. How to resolve this issue. Though such issue does not come when i tried github/garage code for DDPG.

stable-baselines2.9
Code:
difsed=[30]
for difsed in range(1):
    seed=sed[difsed]
    import gym
    import random
    import numpy as np
    import os
    import matplotlib.pyplot as plt
    import tensorflow as tf
    from stable_baselines.ddpg.policies import LnMlpPolicy
    from stable_baselines.bench import Monitor
    from stable_baselines.results_plotter import load_results, ts2xy
    from stable_baselines import DDPG
    from stable_baselines.ddpg import OrnsteinUhlenbeckActionNoise,AdaptiveParamNoiseSpec
    from datetime import datetime, timedelta
    import time
    from mpi4py import MPI
    from stable_baselines import logger
    from stable_baselines.common import set_global_seeds
    set_global_seeds(seed)
    os.environ['PYTHONHASHSEED']=str(seed)
    best_mean_reward, n_steps = -np.inf, 0
    def callback(_locals, _globals):
        global log_dir
        #print("4 my callbck ",np.random.get_state()[1][0])
        global n_steps, best_mean_reward
        # Print stats every 1000 calls3
        if (n_steps + 1) % 1000 == 0:
        # Evaluate policy training performance
            x, y = ts2xy(load_results(log_dir), 'timesteps')
            if len(x) > 0:
                mean_reward = np.mean(y[-100:])
                #print(x[-1], 'timesteps')
                #print("Best mean reward: {:.2f} - Last mean reward per episode: {:.2f}".format(best_mean_reward, mean_reward))
                # New best model, you could save the agent here
                if mean_reward > best_mean_reward:
                    best_mean_reward = mean_reward
                    # Example for saving best model
                    #print("Saving new best model")
                    _locals['self'].save(log_dir + 'best_model.pkl')
        n_steps += 1
        # Returning False will stop training early
        return True
path="/home/admin12/Documents/stable-baselines/results/ddpg"
    environment=["LunarLanderContinuous-v2"]
    ts=[int(1e6)]
    for name in range(len(environment)):
        exp="seeding"
        log_dir = path+"/"+environment[name]+"/"+exp+"/"+str(seed)+"/"
        os.makedirs(log_dir, exist_ok=True)
        env = gym.make(environment[name])
        env.seed(seed)
        env.action_space.seed(seed)
        env.observation_space.seed(seed)
        env =  Monitor(env, log_dir, allow_early_resets=True)
        n_actions = env.action_space.shape[-1]
        action_noise =OrnsteinUhlenbeckActionNoise(mean=np.zeros(n_actions), sigma=float(0.2) * np.ones(n_actions))
        #param_noise = None
        param_noise = AdaptiveParamNoiseSpec(initial_stddev=0.1, desired_action_stddev=0.1)
        model = DDPG(LnMlpPolicy, env, param_noise=param_noise,batch_size=64,buffer_size=1000000,enable_popart=False, action_noise=action_noise, verbose=4,seed=seed,n_cpu_tf_sess=1)
        start_time=time.time()
        model.learn(total_timesteps=ts[name], callback=callback,log_dir =log_dir)
        model.save(log_dir + "ddpg_"+environment[name])
        print("seed  ",np.random.get_state()[1][0])

System 1:

System 2:

Please tell how to fix this.
Thankyou

On first glance I would first point the finger at different underlying libraries, starting from lower level math libraries up to Tensorflow/CUDA versions. Did I understand you correctly some other code (DDPG part) manages to get same results on different machines with same seed? Could you provide more information on this (what code exactly, how did you run the DDPG code) as well as your machine specifications and library versions (pip freeze would suffice for a start).

Thanks
The problem is solved when i tried v10 commit.


Attribution causes flex box issues when using ChatGPT+

Current:

Better:

I know this isn't great because you're losing some attribution here to your socials.
I recommend either having this as a tooltip pop up if possible, or maybe removing a little to fit better.

I just ran into this as well and would appreciate a fix!


syntaxhighlight: improve if using highlight shortcode

Using the highlight shortcode with linenos=true gives line numbers. When the copy to clipboard button is used on a code block, the line numbers are prepended to the code, exactly as-is from the code block.
{{% highlight bash "linenos=true" %}}
#! /bin/bash

some command
123 test
123

another command
  some space indented text
  123 indented numbers
  123
{{% /highlight %}}

Will put the following into my clipboard:
 1some command
 2123 test
 3123
 4
 5
 6
 7
 8
 9
10
11another command
12  some space indented text
13  123 indented numbers
14  123

I'm not good with JavaScript but wanted to have a try at making a solution. In my website it seems to work, but I don't know if this solution may break other things in your code or if there is a better way to solve the problem (I'd be keen to know).
https://github.com/McShelby/hugo-theme-relearn/blob/a135b2adb4927a139c5cccea80a71da79ab0dc2a/static/js/theme.js#L482
There are lots of possibilities as to what highlight blocks could contain. I think the below is quite generic but it is based on an assumption that line numbers are the first non-space on every line (which fails if every line of code has numbers at the start?!).
I noticed that the elements for line numbers and code content are different but could not find a way to extract only the code-containing span elements so came up with this (mess).
                text: function( trigger ){
                    var text = trigger.previousElementSibling && trigger.previousElementSibling.matches( 'code' ) && trigger.previousElementSibling.textContent;
                    // remove a trailing line break, this may most likely
                    // come from the browser / Hugo transformation
                    text = text.replace( /\n$/, '' );

                    // removes leading $ signs from text in an assumption
                    // that this has to be the unix prompt marker - weird
                    text = text.replace( /^\$\s/gm, '' );

                    // if every line starts with optional space(s) and numbers, assume they are line numbers and remove them
                    var proabaly_has_line_numbers = text.split(/\n/).map((x) => /^\s*\d+/.test(x)).every(Boolean);
                    if(proabaly_has_line_numbers) {
                        var nchars = text.split( /\n/ ).slice(-1).toString().replace(/^(\s*\d+).*/, '$1').length;
                        text = text.replace(RegExp(`^.{${nchars}}`, 'gm'), '');
                    }

                    // console.log(text);
                    return text;
                }

I knew there had to be a way! That is a much nicer solution. Thanks!

I have pulled the theme using git submodule update --remote and saw the new JavaScript in the theme. But it was not working. The attached image shows the website and html associated. Hopefully that is clear. (I'm also trying to work through the warnings!)

This puts the following in the clipboard:
1module load CellRanger-ARC/2.0.1
2module load CellRanger/7.1.0
3conda activate /nemo/stp/babs/working/barrinc/conda/envs/scamp

My interpretation of the code you committed is that it filters the nodes for elements that contain a "ln" class. But in my rendered site the class of the line numbers is "highlight", I think. I modified the line to the following and the clipboard no long included the leading numbers. I wonder if there is a setup difference that I have that means these classes are different? I tried updating to Hugo 0.113 just in case but that didn't change the class.
code.querySelectorAll( '.highlight' )

Hopefully you have a better insight than me but if there is anything I can do to help diagnose further please let me know.

Thanks for reporting. I've found the culprit. In the configuration of the exampleSite I am using
[markup]
  [markup.highlight]
    noClasses = false

If I comment this out, it results in a completly different DOM and my fix doesn't work.
I can hopefully fix this although it is a really messy DOM soup.

@ChristopherBarrington Please update and give it another try. LGFM

Looks good to me too. I tried in a variety of pages contexts (in tabs, on the page alone etc) and all worked as-expected. thank you very much!


Windows 10, only <IP_ADDRESS> works as IP

When running the library on a Windows 10 System, the only IP I can give the HTTP Server is "<IP_ADDRESS>", the real IP of the Host as well as "<IP_ADDRESS>" get ignored and the Server never starts to listen.
Thus, even if my server is opened on <IP_ADDRESS>, only the host system can actually send a request to the server, but any other client system can't.
Perhaps it's an issue with our PCs in the office (Windows 7 systems work fine btw), but I thought I'd let you know about this.

Hi @AChmieletzki are you running with administrative privileges?  I'm able to start Watson using "" which accepts connections on any IP.  "+" also worked.  I'll have to add a check for cases where "<IP_ADDRESS>" is passed in and use IPAddress.Any instead.  Please let me know if "" or "+" work for you.  Thanks!

Hi @AChmieletzki I changed it up a bit to accept null and asterisk as input parameters on the constructor so it would be able to accept connections on any IP.  Also updated NuGet to v1.2.9 with this fix.  Please let me know if any further issues!

Sadly the issue still persists on my end. I tried "*", "+", null, "", IPAddress.Any.ToString(), "<IP_ADDRESS>" to no avail. Starting the executable (as well as Visual Studio itself) as admin has no effect either.
The strange thing is that I can start stuff like XAMPP or Websocket Servers just fine on any port that isn't occupied.

Looking through your source code, I noticed that you print out "Exiting" in a finally clause when starting up the server. Which is what I get immediately after starting a server, i.e. it starts and exits right away.
Perhaps one of the two empty Catch clauses are the culprit?

Hi @AChmieletzki since I cannot reproduce on my end (I'm also using Windows 10) would you mind changing the catch/finally blocks to the following and let me know what you see on your screen?
            catch (HttpListenerException hle)
            {
                Logging.LogException("AcceptConnections", hle);
            }
            catch (OperationCanceledException oce)
            {
                Logging.LogException("AcceptConnections", oce);
            }
            catch (Exception eOuter)
            {
                Logging.LogException("AcceptConnections", eOuter);
                throw;
            }
            finally
            {
                Logging.Log("Exiting");
            }

I resolved it. Logging the exceptions showed me an 'Access Denied' exception. Apparently I forgot to request admin rights for that particular PC.
The funny thing is, I can start applications as admin. It asks me for my credentials, I press OK, application starts but it's still in standard user mode and I don't get a popup or anything that tells me that I'm not actually an admin. Thanks W10 :-D
Thank you for your time and support.

Glad you were able to get it working @AChmieletzki !


make use of the "pullImage" parameter of node.Create method

The 'pullImage' parameter of node.Create method is not used currently.

Thanks!
I know that the entire Create function is not tested at all, but would you mind adding a test for this?
You could do it by using a mock client in node_test.go (there are already a few examples on how to achieve this).

Hi, @aluzzardi
The test is added.


Use pkg-config to find curses libs if possible

Find the libs for ncurses if the pkg-config command is available. Some
view this as an opinionated change (since ncurses should fix it instead),
but I think it is a good choice.

Would be nice to have a similar thing to guess whether to uses curses or ncursesw or whatever

Ok I managed it.
The users entry CURSESLIB is still preferred, however, LIBS is entriely ignored if pkg-config can do it (which should be fine).

looks like this is not needed


MapBox deprecation warnings

I've been receiving a lot of warnings from MapBox that their API is being deprecated on June 1. I'm not at all clear if this affects us, or what projects are affected, but I believe this is the only project I did which used a MapBox API key.
The K8S course switched across to leaflet and openstreetview, so I think that course is safe.
Anyway, we need to get the images replaced by June 1.

For info:
Hey dickchesterwood,
Mapbox is deprecating support for Mapbox Studio Classic Styles on June 1st, 2020 and you’ve recently made requests using those styles. Here's a quick guide so you're prepared for these changes.
As a reminder, you have not been able to modify these styles since March 31 and these styles stopped receiving map data updates in Q1 2018.
On June 1, we will no longer support requests to Studio Classic styles or projects from new apps and websites. Requests from your existing websites and apps will continue working for a period of time as we work with you to move off the service.
If you've already stopped using Studio classic styles in your web or mobile app, then please disregard the rest of this email.

What are the benefits of upgrading my Classic styles?

Some of the immediate benefits of upgrading include: daily map data updates validated by Mapbox (Classic styles stopped receiving map data updates in Q1 2018), the ability to customize and style your maps with Style Components in Studio, and significantly improved load times and global reliability. After June 1, Mapbox will not be prioritizing operational improvements to the endpoints that serve Classic styles.

Where can I see the Classic styles associated with my account?

If you’re using a custom classic style created via Studio Classic or a classic project created in Mapbox Editor, you can see your Classic styles listed here: https://studio.mapbox.com/classic/.
If you're receiving this email, but you don't see any styles listed at the above link, follow this migration guide to locate the styles used in your application.

How do I upgrade from Classic styles to modern Studio styles?

If you have an interactive slippy map, read our guide on migrating to the modern Static Tiles API. If you’re using a Classic style as a fallback for browsers that don’t support WebGL, use this tutorial to upgrade.
Note: the Static Tiles API can return 512x512 map tiles, which cover 4x the area of the 256x256 tiles associated with Classic styles. Be sure you include the tileSize: 512 and zoomOffset: -1 options so you don't incur 4x as many tile requests as necessary and so that your labels, icons, and other map features don't appear smaller than expected.
If you're using the Legacy Static Images API to embed static map images in your website or application, read our guide on migrating to the modern Static Images API.
If you need additional resources to help upgrade to modern Studio styles you can use our Developer Network and select the “Legacy Applications” skill in your search.
If you have any questions about the above, please reach out to our support team or your Technical Account Manager.
Best,
Josh

I think it was a simple switch over to Leaflet. Seems a bit too simple, but we've definitely got rid of mapbox now.
Still got to do case #3 to make this live of course.


made change

Hey @pankajobjects thanks for the PR! It looks like someone else had opened a PR first so I'm gonna go ahead and merge that one (https://github.com/FreddieV4/DailyProgrammerChallenges/pull/175)


New Contribution - SSH Public Key missing

Contributor: lilasxie
SSH Public key: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGKixehdJU+cm7VMoZv/kf2vN4sOyzeA4BODHNtX4V8S

Hello @lilasxie, thank you for your interest.
Please edit your first message and add a public SSH key in the corresponding field in order to be able to join the ceremony. Once your public SSH key is added, we will notify you with a message to this issue when it is your turn to contribute. Thank you!

Public ssh key: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGKixehdJU+cm7VMoZv/kf2vN4sOyzeA4BODHNtX4V8S

Yep, I'm ready

Yes, I'm working on it.
Downloading now

@zvorcuit Still on contributing

@zvorcuit Uploading

@zvorcuit Uploaded success
Welcome to Zircuit Mainnet Ceremony
Connected to sftp.ceremony.zircuit.com.
sftp> put ./contributions/0000000004.csrs
Uploading ./contributions/0000000004.csrs to /0000000004.csrs
0000000004.csrs100%   16GB  58.4MB/s   04:40

Dear @zvorcuit ,my eth address is 0xa3fc294aada17c181f0605bf2a60619d11539421


Add hires timestamp to CSV

Currently the PCM CSV has a timestamp with a 1 second resolution.
In order to correlate the PCM data with other data sources it
would be helpful to have a higher resolution timestamp.
This patch adds a timestamp which can be correlated with linux
perf or trace-cmd data or with ETW trace data.
perf and trace-cmd can be told to use the clock_gettime
CLOCK_MONOTONIC clock so that timestamp is used here for Linux.
Windows ETW uses GetSystemTimePreciseAsFileTime or
GetSystemTimeAsFileTime (on Win7 and before) so the patch uses
that timestamp on Windows. GetSystemTime is relatively slow so
after the 1st call to GetSystemTime* the QueryPerformanceCounter
API is used to get a time delta. The delta is added to the initial
GetSystemTime* value to get an absolute timestamp.

as discussed, could you please make this field optional?
Roman

implemented in the master branch (relies on c++11 portable features)


chore(app,app-shell,app-shell-odd, protocol-designer, labware-library, components, labware-designer): update Electron version to v27.0.0

Overview
Update Electron version 27.0.0
https://www.electronjs.org/docs/latest/tutorial/electron-timelines#timeline
There is loadURL issue in the versions that include the following PR.
https://github.com/electron/electron/pull/40143
At this moment we cannot update any newer version. (I'll keep checking the repo)
This PR also includes Nodejs update because of Electron v27's requirement.
This PR needs Nodejs v21.4.0 since M1 Mac has an issue about running Desktop app. (I'll keep an eye on this to support more nodejs version). M2 Mac can use nodejs v18.
Need NODE_OPTION due to OpenSSL version.
I tried to export NODE_OPTION in the top of Makefile, but somehow that has an impact on other part and prevent building the app(Desktop/ODD). I use NODE_OPTION separately.
Another reasons for this are labware-library and protocol-designer since the option prevents Cypress.
Running the application
node v21

[x] macOS
[x] Windows
[x] Ubuntu
[x] ODD mode
[x] ODD

CI

[x] update Nodejs version (v16 -> v21)

OT-2

[x] USB connection

Other applications

[x] Protocol Designer
[x] Labware Library
[x] Labware Designer
[x] Storybook

Commands

[x] make check-js
[x] make lint-js
[x] make test-js

This PR removes usb-detection since the repo has been archived and not compatible with node v18+.
The new package we need to use is [node-usb](https://github.com/node-usb/node-usb)
https://working-wormhole-d95.notion.site/usb-detection-node-usb-a6637f72f5d44f3ba9c7520b4f0da24f

Test Plan

Run Desktop app and check that the app works as well as the current edge
Run ODD app and check that the app works as well as the current edge

Changelog

Review requests

Risk assessment

[ ] check redux

[ ] fix cypress issue

[ ] labware-library
[ ] protocol-designer

Looks like flex builds will fail until we get node-native on >=18 https://github.com/Opentrons/oe-core/actions/runs/7659498340/job/20874747633

Tracking the oe-core work here https://github.com/Opentrons/oe-core/pull/128

That build succeeded: https://builds.opentrons.com/ot3-oe/7672229872/ot3-system.zip

And it works, happy with this from the ODD side

[ ] try v18.19.0 again
[ ] solve conflicts

I'm getting some strange behavior on this branch from locally simulated robots - reporting as unreachable but responding with 200s to various requests. I'm not sure why, digging a bit further.

this is an issue with node-fetch and dns default result order https://opentrons.slack.com/archives/CSCLVUW3C/p1706568971026189
i've pushed a commit to fix

[x] fix ci errors


[SPARK-50708] Delete Artifact resources on GC of ArtifactManager instance

What changes were proposed in this pull request?

Registers a java.lang.ref.Cleaner for ArtifactManager. ArtifactManager#cleanUpResources is further made thread-safe and swallows FileSystem exceptions in order to let the remaining cleanup go through.
Why are the changes needed?

Currently, an instance of ArtifactManager's resources isn't cleaned up automatically during its GC. Previously, Artifact Manager was only used in Spark Connect, where its lifetime was controlled by the Spark Connect Session which would manually call ArtifactManager#cleanUpResources when it itself is closed.
With the recent changes allowing the artifact manager to be used in 'Classic Spark', we should GC related resources when the SparkSession gets GCed (and thus, the ArtifactManager instance is no longer reachable)
Does this PR introduce any user-facing change?

No
How was this patch tested?

Existing tests.
Was this patch authored or co-authored using generative AI tooling?

No.

@xupefei PTAL!


Update the errNoManager() to conform to swarm join-token

In #24823, swarm join has been updated to take a --token flag and flag --manager has been removed. Though in errNoManager() the error message still use the old description.
This fix update the error message in errNoManager() and conforms to the current available flags.
This fix is related to #24823.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

Nice catch.
Since docker swarm join-token manager won't work on the current host if it's not a manager already, it seems better to just mention swarm join.

Thanks @aaronlehmann. The pull request has been updated.

LGTM
Not sure what on earth is going on with CI.

LGTM 👼

Looks like there was a hiccup connecting to Docker Hub; we really should change those tests into something else
08:16:40 ----------------------------------------------------------------------
08:16:40 FAIL: docker_cli_search_test.go:47: DockerSuite.TestSearchCmdOptions
08:16:40
08:16:40 docker_cli_search_test.go:72:
08:16:40     c.Assert(outSearchCmdOfficialSlice, checker.HasLen, 3) // 1 header, 1 line, 1 carriage return
08:16:40 ... obtained []string = []string{"NAME      DESCRIPTION   STARS     OFFICIAL   AUTOMATED", ""}
08:16:40 ... n int = 3
08:16:40
08:17:01
08:17:01 ----------------------------------------------------------------------
08:17:01 FAIL: docker_cli_search_test.go:12: DockerSuite.TestSearchOnCentralRegistry
08:17:01
08:17:01 docker_cli_search_test.go:16:
08:17:01     c.Assert(out, checker.Contains, "Busybox base image.", check.Commentf("couldn't find any repository named (or containing) 'Busybox base image.'"))
08:17:01 ... obtained string = "NAME      DESCRIPTION   STARS     OFFICIAL   AUTOMATED\n"
08:17:01 ... substring string = "Busybox base image."
08:17:01 ... couldn't find any repository named (or containing) 'Busybox base image.'
08:17:01
08:17:22
08:17:22 ----------------------------------------------------------------------
08:17:22 PASS: docker_cli_search_test.go:96: DockerSuite.TestSearchOnCentralRegistryWithDash	20.710s
08:17:22 PASS: docker_cli_search_test.go:19: DockerSuite.TestSearchStarsOptionWithWrongParameter	0.316s
08:17:38
08:17:38 ----------------------------------------------------------------------
08:17:38 FAIL: docker_cli_search_test.go:103: DockerSuite.TestSearchWithLimit
08:17:38
08:17:38 docker_cli_search_test.go:110:
08:17:38     c.Assert(outSlice, checker.HasLen, limit+2) // 1 header, 1 carriage return
08:17:38 ... obtained []string = []string{"NAME      DESCRIPTION   STARS     OFFICIAL   AUTOMATED", ""}
08:17:38 ... n int = 12
08:17:38
08:17:43

failures are unrelated, so I'll merge


Corrected mistake in available inputs

Updated nuclei-flags to flags in "Available Inputs"

Looks accurate to me - @ehsandeep thoughts?

thank you @shriyanss for updating the readme.


Manually fixes is included to go generate

fixes #13

Codecov Report

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

@@           Coverage Diff           @@
##           master      #19   +/-   ##
=======================================
  Coverage   77.71%   77.71%
=======================================
  Files           3        3
  Lines         166      166
=======================================
  Hits          129      129
  Misses         27       27
  Partials       10       10

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 0e743c0...709e3d6. Read the comment docs.


auto-completions for bb.cli/dispatch

You can test it with
bbin install io.github.sohalt/bbct

bbct --babashka.cli/completion-snippet bash >> ~/.bashrc

# /usr/local/share/zsh/site-functions needs to be on the $fpath variable for zsh
bbct --babashka.cli/completion-snippet zsh > /usr/local/share/zsh/site-functions/_bbct

bbct --babashka.cli/completion-snippet fish > ~/.config/fish/completions/bbct.fish

@Sohalt Trying to test:
bbct --babashka.cli/completion-snippet zsh > /usr/local/share/zsh/site-functions/_bbct

I'm getting:
zsh: no such file or directory: /usr/local/share/zsh/site-functions/_bbct

The installation for zsh can vary a bit, depending on how your distro packages zsh.
Try echo $fpath from within zsh and put the _bbct file somewhere in a directory on that path.

Also I just rebased on main and force pushed a new version of bbct with the latest sha

What is the recommended approach for this Rust-based CLI package? I suppose they must have some user-friendly docs for this?

They use
$ your_program --bpaf-complete-style-zsh > ~/.zsh/_your_program (https://docs.rs/bpaf/latest/bpaf/_documentation/_2_howto/_1_completion/index.html)
Though that depends on ~/.zsh/ being on your $fpath (e.g. on my system ~/.zsh/ doesn't exist).

What definitely should work is this:

mkdir ~/.zshrc
Add fpath+=($HOME/.zsh)" in your .zshrc before a line that says compinit or similar.
Then bbct --babashka.cli/completion-snippet zsh > ~/.zsh/_bbct.

Nice! First working result after doing that:

Tests are failing due to line endings on Windows. Does any of bash, zsh or fish even work on Windows? What's the situation there when using something like Cygwin?

Current limitations:

only works with cli/dispatch
only works with gnu-style options (starting with -or --)
doesn't work well with options that take lists (e.g. :coerce [:string])

We might want to add Powershell completions or so in the future, but let's not worry about that for now. Does the example Rust library support this? You can disable those tests for Windows

Does the example Rust library support this?

no afaics

You can disable those tests for Windows

how?

By wrapping the whole test body in:
(when-not (fs/windows?) ...)

By wrapping the whole test body in:
(when-not (fs/windows?) ...)

Sometimes things can be so simple :) I thought there was some yaml programming involved to configure the test runner or similar :sweat_smile:


Fix a major bug where threads weren't being created.

The LinkedBlockingQueue and core pool size of 0 do not interact well.
This prevents more threads from being created, harming overall
concurrency for async requests.

LGTM


Set up continuous builds

See https://github.com/doublethinkco/docker and https://github.com/doublethinkco/eth-jenkins-config and live instance at http://<IP_ADDRESS>/.

Done - TravisCI


refactor kms client

refactor kms client

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


await CaptureProtection.preventScreenRecord(); not working in IOS

I have follow this according to doc, but screenshot image not show in black screen.

preventScreenRecord only works when recording.
If you want to prevent screenshots, use preventScreenshot
Let me know which documentation you did this in, and I'll fix it for you @Rananjaya


Feature/redirect eval env

adding features #4 and closes #5 due to high dangerous feature :P

README should be updated :wink:

Redirect is a weird word, I think.
What about "proxy env variables"? or "Parse"?


Add support for DuplicatePropertyNameHandling to JsonSerializer

Destination type
public class TargetType
{
    public string Id { get; set; }
}

Source JSON
{
  "Id":"ActualId"
  "Id":"UnexpectedId"
}

Expected behavior
Add support for DuplicatePropertyNameHandling to JsonSerializerSettings.

If DuplicatePropertyNameHandling.Error, we would expect an exception to be thrown.
If DuplicatePropertyNameHandling.Ignore, we would expect Id to be "ActualId"
If DuplicatePropertyNameHandling.Replace, we would expect Id to be "UnexpectedId"

Actual behavior
Id gets set to UnexpectedId, and there's no way to modify the behavior.  Additionally there's no way for the developer to determine whether the caller actually passed in bad data.
In a case like this, the user will see an error like "Item with Id 'UnexpectedId' not found", but when inspecting the JSON (which could be very large), they'll see that they're passing 'ActualId' for the Id property and not know what happened.
There are some possible workarounds using the Linq stuff, but for things like the ASP.NET model binding there's not a simple way to inject a different deserialization behavior.  Adding support for DuplicatePropertyNameHandling to JsonSerializerSettings would be super helpful!

See #1922 for details on the initial code to add support to JsonLoadSettings.

There's a workaround here: https://stackoverflow.com/questions/55154252/how-to-validate-json-request-body-as-valid-json-in-asp-net-core/55161421#55161421


Can not log in.

$ npm login # registry set to http://localhost:5080 and remote http://registry.npmjs.org
Username: ...
Password: ...
Email-thing: ...
npm http request PUT http://<IP_ADDRESS>:5080/-/user/org.couchdb.user:ingwiephoenix
npm http 400 http://<IP_ADDRESS>:5080/-/user/org.couchdb.user:ingwiephoenix
npm ERR! registry error parsing json
npm ERR! Darwin 15.3.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "login"
npm ERR! node v5.7.0
npm ERR! npm  v3.7.3

npm ERR! Unexpected token <
npm ERR! <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
npm ERR!
npm ERR! <title>400 Bad Request</title>
npm ERR!
npm ERR!
Bad Request

npm ERR!
Your browser sent a request that this server could not understand.

npm ERR!

npm ERR!
npm ERR! (...)

Installed version is: 1.5.7
So...how do I log in?

Not sure. Logging in works for me...

@IngwiePhoenix what happens when you try and login to the normal registry without using local-npm?

@nickcolley That works. I just cant log in through local-npm at all. So I end up always using --registry http://registry.npmjs.org when npm publish'ing things. When I attempt npm login - even if i logged out previously or manually erased the token - I get these awkward errors.

@IngwiePhoenix does this issue still persist?

I am not seeing this issue with the current master branch
PUT /-/user/org.couchdb.user:gabrielcsapo 201 538.745 ms - 127
Replicating skimdb, last_seq is: 2188784 (99.67%)


variable name errors after 950 (155) update

I saw that macvim was updated last night on my Mac (using joshdick/onedark.vim). when I edit a file ... Can anyone shed some light?  Getting thousands of these .. not sure if they are coming from onedark or not.
VIM - Vi IMproved 8.1 (2018 May 18, compiled Feb 19 2019 12:07:03)
macOS version
Included patches: 1-950
line   13:
E461: Illegal variable name: a:highlight
line   14:
E121: Undefined variable: a:highlight
line   18:
E121: Undefined variable: a:highlight
E116: Invalid arguments for function has_key(a:highlight, "cterm") && a:highlight["cterm"] == "italic"
line   21:
E121: Undefined variable: a:highlight
E116: Invalid arguments for function has_key(a:highlight, "gui") && a:highlight["gui"] == "italic"
line   30:
E121: Undefined variable: a:highlight
E116: Invalid arguments for function has_key(a:highlight, "fg") ? a:highlight.fg.cterm : "NONE")
line   31:
E121: Undefined variable: a:highlight
E116: Invalid arguments for function has_key(a:highlight, "bg") ? a:highlight.bg.cterm : "NONE")
line   34:
E121: Undefined variable: a:highlight
E116: Invalid arguments for function has_key(a:highlight, "fg")    ? a:highlight.fg.gui   : "NONE") "guibg="   (has_key(a:highlight, "bg")    ? a:highlight.bg.gui   : "NONE") "guisp="   (has_key(a:highlight, "sp")    ? a:highlight.sp.gui   : "NONE") "gui="     (has_key(a:highlight, "gui")   ? a:highlight.gui      : "NONE") "ctermfg=" . l:ctermfg "ctermbg=" . l:ctermbg "cterm="   (has_key(a:highlight, "cterm") ? a:highlight.cterm    : "NONE")

Same issue.  But it affected VIM on the command line as well as the GUI version.  My command line VIM uses onedark, while the GUI uses liquidcarbon.
Had to uninstall MacVim to fix the issue.

I confirmed that onedark was updated to fix the issue ... I also confirmed that I was not using the latest version ;-(

I confirmed that onedark was updated to fix the issue ... I also confirmed that I was not using the latest version ;-(

Thanks for the heads up.  I'll check it out

Closing this issue as it's fixed. Vim introduced a tightening on VimScript behaviors and disallow assigning to a: parameters which is why some old versions of plugins broke.


Android quality of life fixes/improvements

I'm opening this as a PR to get input and feedback from android specialists (of which I am certainly not one). Ping @cnorthrop @michaelrgb
These are some improvements I made today while looking at the android workflow just to make a couple of things a little nicer. For the most part I only made changes to the C# UI when necessary to compile, so some of the improvements are qt-only. I don't think this is a big deal but I can back-port them if we ship android before the C# UI is dead.

A minor thing but I gave the android application a proper icon and changed the name to just "RenderDoc". That way it's clearer what is actually running, vs "RenderDocCmdLoader".
Support multiple android devices. When I initially got started I connected a phone and a tablet and it took a while to figure out what was going wrong since there weren't any errors. I've changed it so all the adb commands take an explicit device ID to operate on. Likewise, each device gets its own distinct port range so you don't have any conflicts on the forwarded ports.
Give friendly names to android devices. It makes it much easier to know which is which when multiple are connected, but even for only one it's easier:

Build the apk inside the cmake build folder. This just stops the build from polluting the source tree and potentially polluting other builds that happen.
Tidied up the logic in the remote manager. Either it was C# callback weirdness that doesn't make sense on Qt, or I was not in possession of my complete faculties when I wrote the original code. For whatever it was there wasn't a good reason to have the logic for enabling/disabling buttons and inputs when selecting objects on the dialog split and duplicated between two callbacks. Now localhost and android targets are protected from edits, delete works, etc.
I also configured the adb commands to pick up on the locally shipped adb.exe if present and if there's no path configured. It won't work magically for anyone compiling locally (unless adb is in their PATH), but in any distributed build on windows the first time you start up it will correctly enumerate the available adb devices.

Let me know if anything is broken or wrong. I'm not set up to test on linux yet so all my testing has only been with a windows client.

Changes LGTM, build and work on Linux (and macOS).  I'm able to debug Vulkan applications on two connected Android devices by switching between contexts.
Although I do get a few different (inconsistent) segfaults if I remove a device while RenderDoc is still running.  Probably best to have everything connected when you start, and leave them connected.
Would be neat to add a double click that switches the active context to highlighted entry in Remote Host Manager window, but that's just gravy.
Thanks!

Nice to see that the Tools->Android button is gone. Icon is good too.
Merge!


PhonePK

This is additional J Query Validate method for Pakistani Cellular phone number not for landline number. it take 12 characters in following format 03XX-XXXXXXX. and you must add 03 at the beginning.

When my will be added to the additional folder of Jquery Validate

Please add tests and make sure your file has proper .js extensions

How to add Proper Extensions?

You just need to rename the file

@Soorajabbasi
git mv src/additional/PhonePK src/additional/PhonePK.js

Commit the changes and push them


Check lastUpdated before versionId for sort order in HistoryTest.

The standard doesn't require that version IDs are ordered, see
http://hl7.org/fhir/STU3/resource.html#Meta
Arguably this means that the test shouldn't check version IDs at all
but at least if it checks lastUpdated first it won't fail randomly for
servers that set that but don't have serial version IDs.

@ben-healthforge -- thank you for catching this and providing a fix.  This PR somehow fell off our radar, and I only just noticed it.  We have since independently come across the issue provided our own fix (in #154).  It certainly would have been a lot faster if I double checked the outstanding PRs first!


snaptimer: Add version 0.1

Have read Allowing changes to a pull request branch created from a fork - GitHub Docs, but there are no such options, maybe needs to turn on when first-time sending pull request.

2. sorry for having uppercased hash
3. I am afraid there is no version 0.2, the software are develop 10 years ago(https://github.com/jaden/SnapTimer).

https://dan.hersam.com/map.php
https://dan.hersam.com/software/snaptimer/index.php

so should we omit that version 0.2? :|

/verify


Docs: Add example how to create a caution deposit

The package is currently missing an example how to add a caution deposit. The following things should be included:

Create caution deposit (with expiration date)
Release the caution deposit before the expiration date
Turn the caution deposit into a transaction

Dear tobias47n9e
The authorization timeout you can check on the connector settings in your wallee space.
For credit cards in general, you only can reserve a specific amount for 5-7 days (could be different per connector/PSP):

For some other payment methods as PostFinance card, the reservation can be till 90 days, but also not unlimited:

So a solution, where you can "reserve" (for a longer time) the amount of a caution deposit, may be not the best solution to implement.
I recommend the following options:

The person pays the caution deposit via immediate transaction, and you can refund this amount, when you need to return the caution deposit
The customer pays a zero amount transaction (or if not possible a 0.01 amount transaction), where a token will be created with the customers' payment data. When you finally need to capture the caution deposit of the customer, you just run a user-less transaction with the token, where customers payment data are referenced.

If you want to insist for the solution with the "reserved" (authorized amounts) you can check with your payment service provider (PSP) first, what would be the maximum of days, how long an amount per payment method can be stayed in "authorized" state. If the PSP provides longer authorization timeouts as we offer in our connector settings within the portal, we could check then a feature request.
If you have any further questions, please do not hesitate to contact us.
Best regards

Thanks for the suggestions. We will look into the different options offered by the individual payment providers.
My question is also about a snippet how to create a caution deposit in PHP. From the code and the existing documentation I can't figure out how to create that. I am looking for something like:
$transactionPayload = new \PostFinanceCheckout\Sdk\Model\TransactionCreate();
$transactionPayload->setTransactionType("cautionDeposit");

@theodorspringwallee
Thanks for the explanation. The whole system is becoming clearer to me.
But in order to not immediately book the transaction when the user enters the payment information, do I need to do this:
$transactionData = new TransactionCreate();
$transactionData->setCompletionBehavior(TransactionCompletionBehavior::COMPLETE_DEFERRED);

Maybe with this setting, the transaction would then wait the configured number of days you mentioned above (dependent on the payment connector)?
Then depending on our own application logic we could use the API to confirm the payment like this?
$postFinanceCheckoutClient->getTransactionService()->confirm($space, $transactionData);

Is there an equivalent API for refund()?

Dear tobias47n9e
To set the deferred completion behaviour, you also can configure this directly on the connector setting, then you don't need this additional setting (->setCompletionBehavior()).
About:

Maybe with this setting, the transaction would then wait the configured number of days you mentioned above (dependent on the payment connector)?

Exactly. You just need to capture it manually within the given days of the authorization amount timeout.
Else, after the timeout, the transaction gets voided and the "reserved" money will be returned to the customer.
To capture an authorized amount of a transaction, you need to use completeOnline():
$client->getTransactionCompletionService()->completeOnline($spaceId, $transactionId);
(completeOffline() would not forward this information to your PSP, and no real payment would be happening)
The confirm() method would be even before the authorization of a transaction.
The comfirm() will confirm the transaction, that no further structure changes (line item, currency) can be happening on that transaction.
This here would be an example of a refund:
$refund = new RefundCreate([
      'amount' => $capturedAmount,
      'external_id' => "ref-" . $number,
      'transaction' => $transactionId, // transaction ID for the refund
      'type' => RefundType::MERCHANT_INITIATED_ONLINE // "online" that real refund is happening (forwards to PSP)
  ]);
$refundResponse = $apiClient->getRefundService()->refund($spaceId, $refund);

And if you want to return the caution deposit to the customer before the authorization amount timeout expired
(and auto voiding would be happening), you can use the following method:
$client->getTransactionVoidService()->voidOnline($spaceId, $transactionId);
Please let me know if you have further questions.
Best regards

Would it be possible to consider this for a new version of the API:
$transactionData = new TransactionCreate();
$transactionData->setCompletionBehavior(TransactionCompletionBehavior::COMPLETE_DEFERRED);
$transactionData->setMiminumTimeToTimeout(7);

When setting this, then all the payment providers that can't hold the amount for 7 days, will not be available to the user in the payment mask.

Dear tobias47n9e
Those authorization timeouts, that are defined by the PSP individually, are not available on the portal.
Respectively, those data need to be fetched from the payment service providers. What probably also needs the extension of each PSP API or at least a (manual) data synchronization about the authorization timeouts.
If this is important to you, please contact the PostFinance support: https://www.postfinance.ch/de/support/hotline.html
Best regards


map: not working with ajax

Hi, First of all, thank you for this awesome plugin. when I am using your plugin with prefetched data then it is working fine. Showing all the result
`$('.short_code').suggest('#', {
data: text_shortcuts_array,
map: function(text_shortcut) {
	return {
		value: text_shortcut.text,
		text: ''+text_shortcut.value+'
'
	}
},
})`

But when I am using ajax for data things are not working fine for me. I don't know where I am doing wrong
$('.short_code').suggest('#', {
data: function(q, provide) {
	$.getJSON("/someurl", { q: q }, function(data) {

		text_shortcuts = data;
		var text_shortcuts_array = [];

		$.each(text_shortcuts, function (key, value) {
			text_shortcuts_array.push({
				value: value['Textshortcut']['shortcut'],
				text: value['Textshortcut']['text']
			});
		})

provide.call(text_shortcuts_array);
	});

},
map: function(text_shortcut) {
	return {
		value: text_shortcut.text,
		text: ''+text_shortcut.value+'
'
	}
},
})`
```

"Add delay search while typing" is not working. When I integrate as per the instruction, dropdown box is not showing

Also, there is another issue. If we do not use "Delay" then "map" function is not loading getting the Latest records from ajax

For what it's worth, I too had trouble with the provide.call() method. But I was able to get it to work by returning a jqXHR promise. So if you need to do some post-processing of the ajax response, you might try wrapping the $.getJSON() call in a JQuery promise, then resolving the promise after post-processing the ajax data.


Calculator example on Android: font size problem

Running 'scientific14.apk' on my Moto-G the letters on the buttons and the input/result line don't fit the available size. It looks like they might narrowly fit the space but are aligned wrongly in the available space. The letters in the input/result line are cutoff at the top while the button letters/numbers are missing their bottom part.

You are welcome to tweak the font size values to find what fits on your device and PR the new values. I would like the API 14 variant to work (and look decent) on as many devices as possible.

simply commenting out .setTextSize calls works well on my Moto G device. Looking at stackoverflow I do not see any general simple and good solution.
Either there could be a user preference or text size needs to be tested against available space and adjusted at runtime.
Given that this problem may hit many apps the interface to the GUI toolkit should probably have this logic builtin.
BTW I really like how simple it is to create (mostly) portable interfaces:)


Each Controller definition will need to be in a different ConfigMap

Every etcd Resource has a size limitation of 1.5 MiB. If we keep adding more Controller definitions to the same file, we will eventually reach that.

Just realizing we should also have a (lower priority) issue to make the configmaps reloadable. I will add that.

Actually, come to think of it, more important than that, we should be able to add a new ConfigMap for a new definition without needing to restart numaplane (that should work as part of this issue).


Include "keys" required for tests.

They used to be included and were (probably accidentally) dropped by https://github.com/oauth-xx/oauth-ruby/commit/0c7915c038ab579a8f80aa635b1436a4562b97e8

@mpapis what say you? 😄

I wonder if anyone uses those test files? maybe we could just drop the whole test dir from gem and let users enjoy faster gem installation?

Of course I am using them for Fedora package, that is why I discovered the keys are missing. On the other hand, it would not be first package not shipping tests, so I don't really mind. The current situation is the worst scenario, the tests are shipped but incomplete, hence they don't work ...

@voxik could you use sources to build the package instead of the gem? In my opinion the gems should not include test files.

It is easier for me if the gem contains the test suite, but as I said, I don't mind if it doesn't ...

The question is can you use sources instead of the gem? Does your package include the gemfile or it's content only?

We never use source, we always use .gem. But if the .gem does not ship with the test suite, I'll get it from the sources anyway, but it is not shipped in resulting RPM.
The missing keys are now included in the SRPM:
http://pkgs.fedoraproject.org/cgit/rpms/rubygem-oauth.git/tree/rubygem-oauth.spec#n13

I will remove the test files from gem, I do not think tests should be distributed with the gem or in any other packaged version, do other packages like bash ship with it's tests?

btw. if you insist on bundling tests in the package you should probably use path like this https://raw.githubusercontent.com/oauth-xx/oauth-ruby/v0.5.1/test/keys/rsa.cert

closing in favor of d969737

Discussion about (not)shipping tests is OT, unless you really want to discuss it. The only thing I wanted is either ship full test suite (which is later convenient for me) or don't ship it at all. You chosen the later and that is fine with me. Thank you.


Mistakes

In Task 1, Step 2, the Redirect URI must be "https://businesscentral.dynamics.com/OAuthLanding.htm". Otherwise, Grand Access will not work later.
And for Task 2, Step 6, you need to add the permission sets "D365 AUTOMATION" and "D365 EXTENSION MGT" for the AAD application, not just "Dynamics 365 Automation". Otherwise, the deployment will not work and you will get the error message "You do not have sufficient permissions to manage extensions. Please contact your administrator.".

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

ID: 1555e693-76e8-b1d9-267f-bf06f068c9f4
Version Independent ID: 725078be-b4d2-ced1-1ce0-52fc379f6a4e
Content: Using Service to Service Authentication with Automation APIs - Business Central
Content Source: dev-itpro/administration/automation-apis-using-s2s-authentication.md
Service: dynamics365-business-central
GitHub Login: @henrikwh
Microsoft Alias: jswymer

Thanks for the valuable feedback! We've updated the article with the information, and it will be published soon.


Inpaint error - You are trying to inpaint without masks input

Running locally on Win11/4090 w/python 3.10.5 on pyenv

Added video 10 second 720p video, selected 3 masks, clicked Tracking, success:

Clicked inpaint, error like Error! You are trying to inpaint without masks input. Please track the selected mask first, and then press inpaint. If VRAM exceeded, please use the resize ratio to scaling down the image size.

Tried restarting from the beginning and setting the resizing ratio to .5, same error.

Is this the correct order of operations? Is there a step I'm missing to send the same masks that just worked for tracking to inpaint?

same error here. with no useful lot to deal with

Please try to set the resize ratio slider to 0.1. If it works, it means the GPU memory is exceeded in the previous operation.

Finally get through this by doing the following:

cut my whole uploaded video to smaller duration, resize ratio to smaller, click getInfo
add the mask step by : click the object in the left "Image" box; click "Add mask" button above; click "Tracking"; click "inPainting".（I previously misunderstood the "add mask" button to click first before select object)
Not sure If it is the vram memory problem or the step problem

Finally get through this by doing the following:

cut my whole uploaded video to shorter duration, resize ratio to smaller, click getInfo
add the mask step by : click the object in the left "Image" box; click "Add mask" button above; click "Tracking"; click "inPainting".（I previously misunderstood the "add mask" button to click first before select object)

Not sure If it is the vram memory problem or the step problem

It was vram problem in my test just now. When I set 0.1, I could run inpaint. It worked, but the effect was poor

We will add a VRAM monitor in the future, and sorry for the lack of an operation tutorial (incoming).
For the VRAM problem, we are trying to optimize the RAM usage and VRAM usage.

We will add a VRAM monitor in the future, and sorry for the lack of an operation tutorial (incoming). For the VRAM problem, we are trying to optimize the RAM usage and VRAM usage.

https://github.com/gaomingqi/Track-Anything/issues/21
My problem is still there

Please try to set the resize ratio slider to 0.1. If it works, it means the GPU memory is exceeded in the previous operation.

Unfortunately, the error persists, even at 0.1 ratio

Please try to set the resize ratio slider to 0.1. If it works, it means the GPU memory is exceeded in the previous operation.

Unfortunately, the error persists, even at 0.1 ratio

I have also tried to cut the source video to 5 seconds, making it shorter than the 8 second parkour inpainting example video, set scale to 0.1, and it's still producing the same error

Maybe  yours video's  resolution   two high, i test   video 640X360,set Raise ratio=1,   raise   same error,Until the Raise ratio is set to 0.5,can run

I tried it and works with ratio 0.5, but the masked object are still in the output video.

Same issue RTX4090 (24Gb Vram)  , tried to inpaint a 480x270p video  thats only 25 f long and nothing, same error as everyone seems to be getting
I am on windows

I pulled latest master today, scaled the video down to 360x180 and tried resize ratio all the way down to 1, 0.5 and even 0.02. I tried using only 1 mask - no luck, same error.

I also tried the lowest scale with the sample videos, just to be sure it's not just my own video - none of the sample videos I was able to inpaint.

@SQLCODE917 Hello. In the current version, inpainting cannot work without tracking results. So if you want to 'remove' an object in a video, first you should select and add the object mask, then click 'tracking' to locate the selected object throughout the video, and finally, click 'inpaint' for the inpainting results. Thanks.

Thank you, yes -  those are the steps that I have been using

It gives me an error if I try to mask then inpaint. It just says "Error" and I crashes.

It gives me an error if I try to mask then inpaint. It just says "Error" and I crashes.

After you mask a target, you should track it first to get masks in the following frames and then inpaint it in the whole video


Enable system reconcilation

This pull request allows reconciliation of systems- issue https://github.com/OpsLevel/kubectl-opslevel/issues/171
It is built on top of https://github.com/OpsLevel/kubectl-opslevel/pull/172

@MarcinGinszt - does this need to be rebased on the main branch?  It seems to still be showing changes from your other PR

@rocktavious my bad, sorry! Rebased it. Please, let me know if there is anything else I could do here.

@MarcinGinszt - I wanted to let you know we have finally been able to priortize this repo and i'm going to be doing a pretty big refactor to increase the test coverage as well as make the repo more simple.  Unfortuntely because of that refactor this code might not be the same and it also might mean massive conflict resolution to include this PR.  So what i'm going to do is keep this PR open for reference but after the refactor i'll make sure this code is included.
Thanks for doing the legwork on this one and sorry we havn't been responsive in being able to get this merged and shipped.  We expect to have the refactor shipped in 3-4 weeks.


Assertion failure when exporting Class Room demo as glTF

Description
The addon produces the following error in Blender 2.91.0 when trying to export the Blender Class room demo as glb:
Python: Traceback (most recent call last):
  File "C:\Program Files (x86)\Steam\steamapps\common\Blender\2.91\scripts\addons\io_scene_gltf2\__init__.py", line 561, in execute
    return gltf2_blender_export.save(context, export_settings)
  File "C:\Program Files (x86)\Steam\steamapps\common\Blender\2.91\scripts\addons\io_scene_gltf2\blender\exp\gltf2_blender_export.py", line 46, in save
    json, buffer = __export(export_settings)
  File "C:\Program Files (x86)\Steam\steamapps\common\Blender\2.91\scripts\addons\io_scene_gltf2\blender\exp\gltf2_blender_export.py", line 66, in __export
    json = __fix_json(exporter.glTF.to_dict())
  File "C:\Program Files (x86)\Steam\steamapps\common\Blender\2.91\scripts\addons\io_scene_gltf2\io\com\gltf2_io.py", line 1190, in to_dict
    self.animations)
  File "C:\Program Files (x86)\Steam\steamapps\common\Blender\2.91\scripts\addons\io_scene_gltf2\io\com\gltf2_io.py", line 56, in from_union
    assert False
AssertionError

location: <unknown location>:-1

To Reproduce
Steps to reproduce the behavior:

Download Blender 2.91.0
Download the "Class room" demo by Christophe Seux (https://download.blender.org/demo/test/classroom.zip)
Export the scene as glb with the default settings

Expected behavior
Expected the scene to be exported. Instead, no glb-file is created and the addon crashes.
Screenshots
Here are my export settings:
https://pragma-engine.com/share/blender_2020-12-07_14-55-10.png
.blend file/ .gltf
Class room demo: https://download.blender.org/demo/test/classroom.zip
Version

OS: Windows 10 x64
Blender Version 2.91.0
glTF-Blender-IO version: I've tried both the one that ships with Blender 2.91.0, as well as addon version 1.5.8

Hello,
Thanks for reporting. This is a duplicate of #639
We currently don't manage well when a same object is 1. animated 2. linked in multiple scenes.


Multiple sheets on the page?

Hi, firstly, awesome work.  This works great. But there is a problem
If you want to have multiple sheets on the page
Text("One").axisSheet(isPresented: .constant(true))
Text("Two").axisSheet(isPresented: .constant(false))
Text("Three").axisSheet(isPresented: .constant(false))

You will have in fact sheets stack up on each other and isPresented is used only to control offset and not actual visibility of element.
Is there any way to reslove this?

As far as i can tell this can be only done by doing something like:
@State var showOne: Bool = true
@State var showTwo: Bool = false
@State var showThree: Bool = false

Text("One").axisSheet(isPresented: .constant(true))
.opacity($showOne ? 1 : 0)

Text("Two").axisSheet(isPresented: .constant(true))
.opacity($showTwo ? 1 : 0)

Text("Three").axisSheet(isPresented: .constant(true))
.opacity($showThree ? 1 : 0)

But this kind of sucks ....

Actually I just tried it ... that will not work either since if any of that goes to true it will be gone from view and not beautifully stacked.  Hell ... any idea?


dataset type sharegpt no longer works

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
dataset type sharegpt should work
Current behaviour
I try to use OpenHermes sharegpt dataset in the config:
datasets:
  - path: teknium/OpenHermes-2.5
    type: sharegpt```

 but get the error

File "/home/george/axolotl/src/axolotl/cli/init.py", line 403, in load_datasets
train_dataset, eval_dataset, total_num_steps, prompters = prepare_dataset(
^^^^^^^^^^^^^^^^
File "/home/george/axolotl/src/axolotl/utils/data/sft.py", line 66, in prepare_dataset
train_dataset, eval_dataset, prompters = load_prepare_datasets(
^^^^^^^^^^^^^^^^^^^^^^
File "/home/george/axolotl/src/axolotl/utils/data/sft.py", line 460, in load_prepare_datasets
dataset, prompters = load_tokenized_prepared_datasets(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/george/axolotl/src/axolotl/utils/data/sft.py", line 399, in load_tokenized_prepared_datasets
dataset_wrapper, dataset_prompter = get_dataset_wrapper(
^^^^^^^^^^^^^^^^^^^^
File "/home/george/axolotl/src/axolotl/utils/data/sft.py", line 677, in get_dataset_wrapper
raise ValueError(
ValueError: unhandled prompt tokenization strategy: sharegpt

I rolled back to the commit with hash 7018576 and it works there.

### Steps to reproduce

Change config to contain sharegpt dataset type:

```chat_template: chatml
datasets:
  - path: teknium/OpenHermes-2.5
    type: sharegpt```

run preprocess:

accelerate launch -m axolotl.cli.preprocess CONFIG

### Config yaml

```yaml
base_model: meta-llama/Meta-Llama-3-8B-Instruct
model_type: LlamaForCausalLM
tokenizer_type: AutoTokenizer

load_in_8bit: false
load_in_4bit: true
strict: false

chat_template: chatml
datasets:
  - path: teknium/OpenHermes-2.5
    type: sharegpt
dataset_prepared_path: last_run_prepared
val_set_size: 0.03
output_dir: ./checkpoints/qlora-llama3-openhermes-loraplus

adapter: qlora
lora_model_dir:

sequence_len: 8192
sample_packing: true
pad_to_sequence_len: true

loraplus_lr_ratio: 2e3 # loraplus learning rate ratio lr_B / lr_A. Recommended value is 2^4.
loraplus_lr_embedding: 1e-6 #  loraplus learning rate for lora embedding layers. Default value is 1e-6.
lora_r: 32
lora_alpha: 16
lora_dropout: 0.05
lora_target_modules:
lora_target_linear: true
lora_fan_in_fan_out:

wandb_project: axolotl
wandb_entity: thepowerfuldeez
wandb_watch:
wandb_name: llama3_qlora_openhermes_loraplus
wandb_log_model:

gradient_accumulation_steps: 8
micro_batch_size: 1
num_epochs: 1
optimizer: adamw_torch
lr_scheduler: cosine
learning_rate: 0.0001

train_on_inputs: false
group_by_length: false
bf16: auto
fp16:
tf32: false

gradient_checkpointing: true
gradient_checkpointing_kwargs:
  use_reentrant: true
early_stopping_patience:
resume_from_checkpoint:
local_rank:
logging_steps: 1
xformers_attention:
flash_attention: true

warmup_steps: 10
evals_per_epoch: 4
eval_table_size:
saves_per_epoch: 1
debug:
deepspeed:
weight_decay: 0.0
fsdp:
  - full_shard
  - auto_wrap
fsdp_config:
  fsdp_limit_all_gathers: true
  fsdp_sync_module_states: true
  fsdp_offload_params: true
  fsdp_use_orig_params: false
  fsdp_cpu_ram_efficient_loading: true
  fsdp_auto_wrap_policy: TRANSFORMER_BASED_WRAP
  fsdp_transformer_layer_cls_to_wrap: LlamaDecoderLayer
  fsdp_state_dict_type: FULL_STATE_DICT
  fsdp_sharding_strategy: FULL_SHARD
special_tokens:
  pad_token: <|end_of_text|>

Possible solution
No response
Which Operating Systems are you using?

[X] Linux
[ ] macOS
[ ] Windows

Python Version
3.10
axolotl branch-commit
main/4d6490b
Acknowledgements

[X] My issue title is concise, descriptive, and in title casing.
[X] I have searched the existing issues to make sure this bug has not been reported yet.
[X] I am using the latest version of axolotl.
[X] I have provided enough information for the maintainers to reproduce and diagnose the issue.

Could be related to #1624 ? Although I presume if this comes up with just the preprocess command, it might be something else.

@venkatasg I don't think so. Training with other dataset formats works for me.

Can you try like this?
datasets:
  - path: teknium/OpenHermes-2.5
    conversation: chatml
    type: sharegpt

I have the same issue during training, trying to finetune on OpenHermes-2.5. I've tried:
datasets:
  - path: teknium/OpenHermes-2.5
    conversation: chatml
    type: sharegpt

[2024-05-23 14:57:44,691] [INFO] [axolotl.load_tokenizer:294] [PID:3848826] [RANK:1] No Chat template selected. Consider adding a chat template for easier inference.
Tokenizing Prompts (num_proc=64):   0%|                                                                                | 0/1001202 [00:22<?, ? examples/s]

[rank0]: The above exception was the direct cause of the following exception:

[rank0]: Traceback (most recent call last):
[rank0]:   File "/home/nlu/anaconda3/envs/axolotl/lib/python3.11/site-packages/multiprocess/pool.py", line 125, in worker
[rank0]:     result = (True, func(*args, **kwds))
[rank0]:                     ^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/home/nlu/anaconda3/envs/axolotl/lib/python3.11/site-packages/datasets/utils/py_utils.py", line 678, in _write_generator_to_queue
[rank0]:     for i, result in enumerate(func(**kwargs)):
[rank0]:   File "/home/nlu/anaconda3/envs/axolotl/lib/python3.11/site-packages/datasets/arrow_dataset.py", line 3517, in _map_single
[rank0]:     example = apply_function_on_filtered_inputs(example, i, offset=offset)
[rank0]:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/home/nlu/anaconda3/envs/axolotl/lib/python3.11/site-packages/datasets/arrow_dataset.py", line 3416, in apply_function_on_filtered_inputs
[rank0]:     processed_inputs = function(*fn_args, *additional_args, **fn_kwargs)
[rank0]:                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/home/nlu/axolotl/src/axolotl/prompt_tokenizers.py", line 464, in tokenize_prompt
[rank0]:     raise InvalidDataException(str(err)) from err
[rank0]: axolotl.prompt_tokenizers.InvalidDataException: 'conversations'
[rank0]: """

If you are training Llama3, Just add this in your config file:
datasets:
  - path: teknium/OpenHermes-2.5
    type: sharegpt
    conversation: llama3

chat_template: llama3

I didn't tested chatml, but for me llama3 works fine.

yup, same for chatml:
chat_template: chatml

+1 not working even with the hot fix adding chat_template

It seems to be the same issue as this one: #1614

This project has become so ridiculously unstable, I think it's time to look for alternatives.

Has this been resolved by any chance?

@shing100 what yaml/config are you using? I tested with the yaml from OP and it tokenizes with no issues using python -m axolotl.cli.preprocess hermes.yaml (I noticed he used accelerate launch ... which is not recommended)

@shing100 How about putting chat_template inside and outside of datasets like the example? I'm using it without any particular issues.

I checked it using debug mode, thank you.
I think it would be nice to add a log that says it's applied well

datasets:

name: simplified_data_no_rag
path: json
data_files: ./DataSets/simplified_data_no_rag.jsonl
type: sharegpt
conversation: chatml
i got the same error
ValueError: unhandled prompt tokenization strategy: sharegpt

FYI I got this to work again by taking advantage of the new custom data formatter: https://github.com/fozziethebeat/axolotl/blob/main/examples/llama-3/instruct-lora-8b.yml
So something like:
datasets:
  - path: teknium/OpenHermes-2.5
    type: chat_template
    chat_template: llama3
    field_messages: conversations
    message_field_role: from
    message_field_content: value
    roles:
      user:
        - human
      assistant:
        - gpt
      system:
        - system

Would work for you @thepowerfuldeez

Hi, type: sharegpt has been deprecated. You can set it to type: chat_template instead.


How To Show Month and year on Calendar Title while navigation.

Hi,
I want to know wow To Show  Month and year on Calendar Title while navigation, e.g if user navigate to Month November, the Title would be November 2016,
Thanks in advance.

Hi mubasshar,
Here's a demo doing what you are after:
http://filmsbykris.com/scripts/javascript/bootstrap-calendar-master/
If you view the JS (see link below) you'll see that it basically populates a HTML element with the day/month string from the onAfterViewLoad hook.
view-source:http://filmsbykris.com/scripts/javascript/bootstrap-calendar-master/js/app.js
K...

Hi mubasshar,
Here's a demo doing what you are after:
http://filmsbykris.com/scripts/javascript/bootstrap-calendar-master/
If you view the JS (see link below) you'll see that it basically populates a HTML element with the day/month string from the onAfterViewLoad hook.
view-source:http://filmsbykris.com/scripts/javascript/bootstrap-calendar-master/js/app.js
K...
(despite the first name being spelt the same, this is not my demo)

this webpage is no more available,Please update.


Add Stellar support

@madcake can you pull the latest master and update on the status for address derivation?


DTSRD-1089.CVE-2023-39533

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/DTSRD-1089
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ *] No

duplicate pull request


Misc typo

// TextConst prefixed with Tok for Token
should be
// TextConst suffixed with Tok for Token
Incidentally, the Feedback buttons for this topic were not in English. They were German I think. Below is the page url I was on when I reported the above misc typo: https://docs.microsoft.com/de-de/dynamics365/business-central/dev-itpro/developer/analyzers/codecop-aa0074-textconstlabelvariablenamesshouldhaveapprovedsuffix
[Hier Feedback eingeben]

Dokumentdetails
⚠ Bearbeiten Sie diesen Abschnitt nicht. Er ist für die Verknüpfung von docs.microsoft.com zum GitHub-Artikel erforderlich.

ID: b8e2178c-0742-1609-6373-4811a1968477
Version Independent ID: 153d5502-ad26-e321-3c73-df9049553d66
Content: TextConst and Label variable names should have an approved suffix. - Business Central
Content Source: dev-itpro/developer/analyzers/codecop-aa0074-textconstlabelvariablenamesshouldhaveapprovedsuffix.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for the feedback - this will be fixed with the next doc refresh.
Regarding the URL - the /de-de/ part in this URL that you have submitted will give you a German version - this is picked up from the language that computer is set up to run. Or, if someone sent you a specific link with the /de-de/ set in the URL. If you remove that part from the URL, you get the English version.
Thanks!


Ror/params -- updating default boa params

updates default boa / pfc params based on current examples/boa and obelisk/boa params
fixes PulvinarLayer inhibition dynamics #297 -- fix is in, just need some tests and further param search.

assuming tests pass, this should be good to go..


Why the flashing when option change in find widget?

Refs: #59265

Open find widget
Use shortcut to change state, for example alt + r or (cmd + alt + r on mac)
Notice the find widget flashing

The find widget does not flash if I change state when I click.
I guess the idea is to draw attention that the state changed, however this just looks bad to me and we do not do this sort of ux in other parts of the product.
IMHO we should remove the flashing and just not treat this case specialy
Also we do not flash in the find widget in the terminal which I think is correct @alexr00
fyi @misolori

I don't know why/when this flashing was added but @misolori can decide if we want to remove it.

We should remove it since it's not a pattern we currently use and the focus state is enough of an indicator.
It also appears that @alexandrudima added it a while back with https://github.com/Microsoft/vscode/commit/3357ae8f54392de9ff18a8bcc534c909d3a6de99, maybe some context would help decide it.

I was thinking it was just added this month, is it possible that it's a feature that was just recently enabled? No way it's been like that since Jan 2017! But yeah the search view should match too.

Thanks @roblourens , it looks like a side effect of these two commits, I'll take a look.

Seems like a regression than, I suggest to assign it to September

Adding bug label so this gets verfieid


Update investigate-malicious-email-that-was-delivered.md

Fixed typo that leads to invalid link

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks


a legend is expected to indicate the colour group in slots page

currently colour is used to indicate slot group, but group name is not shown on the slots page, so obviously user has to keep the color-group relation in somewhere else.
A legend could be added to indicate which color belongs to which group, for example,
green - group1
blue - group2
And if slots could be sorted by group,  that must be awesome.

Well, if you have many codis-server instances, color will be too may types.
So we just can not use green, blue... to indicate it.

No... I'm not meaning color name.
We know from the page a slot is in a colored group, but we don't know exactly the group name.  So a list of legends indicating the group name should be very useful.
Any colour can be used, while the group name can still be group1, group2

Actually you could just click the color, then roll to the head, there are more details you want :)

Thanks for your information. I really don't know this great feature. Thanks.


[MPLUGIN-378] Group extractors and improve their selection, deprecate javadoc extractor

Fix the execution order of extractors and extend their API to allow their deprecation
and based on deprecation we can log or fail the build even (later).
Extend extractors iface with following fields:

getName() -- just to simplify their handling in code (no need to hold on map).
isDeprecated() -- IMO, we should deprecate Javadoc mojo descriptor extraction, and
if used, Maven should WARN to migrate to Annotations.
getGroupKey() -- this defines "extractor" groups and ordering within it

Currently we have two extractors in same group "java": the annotation extractor
and javadoc extractor (BOTH use qdox as well). Their run order is undefined currently.
This proposal implements following changes:

extractors are SORTED by groupKey before being used (so defined execution ordering)
extractors of same group are ordered (annotations then javadoc)
javadoc extractor is DEPRECATED (isDeprecated returns true)
MojoScanner is modified, that IF a deprecated extractor is on turn, and it discovers
components, it will WARN. If Java extractors, it will warn to use Mojo Annotations.

https://issues.apache.org/jira/browse/MPLUGIN-378

Is there no way to detect @Deprecated instead of introducing our own #isDeprecated()?

You mean to detect is extractor deprecated?

@slachiewicz @slawekjaranowski @cstamas so what's the status of this PR ? I've merged master, but should that be integrated into the upcoming 3.7.0 release or delayed ?

For me can be merged for 3.7.0 especially with deprecating JavaDoc extractor.


smuggler does not work with JRebel

I'm not sure whose fault this is - but on some JRebel apply changes my app would just freeze
restarting the app wouldn't help - it has wrong bytecode
restarting with fresh jrebel solves the problem

Definitely works with JRebel for Android 2
Thanks for the lib dude, we use this at work :)


nbutools: init at unstable-2023-06-06

Description of changes
Tools for offensive security of NetBackup infrastructures
https://github.com/airbus-seclab/nbutools
Related to #81418

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 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

[x] Fits CONTRIBUTING.md.

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

2 packages built:

nbutools
nbutools.dist


libretro.ppsspp: update to v1.11 and fix build againt ffmpeg 4.4

Motivation for this change
#120705
This also adds a patch from upstream that fixes the build against ffmpeg 4.4 and brings the package definition more in line with the ppsspp package.
While it compiles successfully, I have not been able to verify that the core works beyond selecting it in retroarch; I don't have the required system files or any isos to test with.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 123842 at a5a5088e run on x86_64-linux 1

1 package built successfully:

libretro.ppsspp

12 suggestions:

warning: unused-argument
Unused argument: gtk2.
Near pkgs/misc/emulators/retroarch/cores.nix:2:61:
  |
2 | , alsaLib, fluidsynth, curl, hidapi, libGLU, gettext, glib, gtk2, portaudio, SDL, SDL_net, SDL2, SDL2_image, libGL
  |                                                             ^

warning: unused-argument
Unused argument: SDL_net.
Near pkgs/misc/emulators/retroarch/cores.nix:2:83:
  |
2 | , alsaLib, fluidsynth, curl, hidapi, libGLU, gettext, glib, gtk2, portaudio, SDL, SDL_net, SDL2, SDL2_image, libGL
  |                                                                                ^

warning: unused-argument
Unused argument: SDL2.
Near pkgs/misc/emulators/retroarch/cores.nix:2:92:
  |
2 | , alsaLib, fluidsynth, curl, hidapi, libGLU, gettext, glib, gtk2, portaudio, SDL, SDL_net, SDL2, SDL2_image, libGL
  |                                                                                ^

warning: unused-argument
Unused argument: miniupnpc.
Near pkgs/misc/emulators/retroarch/cores.nix:4:3:
  |
4 | , miniupnpc, sfml, xorg, zlib, nasm, libpcap, boost, icu, openssl
  |   ^

warning: unused-argument
Unused argument: fetchFromGitLab.
Near pkgs/misc/emulators/retroarch/cores.nix:1:43:
  |
1 | { lib, stdenv, fetchgit, fetchFromGitHub, fetchFromGitLab, fetchpatch, cmake, pkg-config, makeWrapper, python27, python3, retroarch
  |                                           ^

warning: missing-patch-comment
Consider adding a comment explaining the purpose of this patch on the line preceeding.
Near pkgs/misc/emulators/retroarch/cores.nix:632:7:
    |
632 |       (fetchpatch {
    |       ^

warning: unused-argument
Unused argument: SDL2_image.
Near pkgs/misc/emulators/retroarch/cores.nix:2:98:
  |
2 | , alsaLib, fluidsynth, curl, hidapi, libGLU, gettext, glib, gtk2, portaudio, SDL, SDL_net, SDL2, SDL2_image, libGL
  |                                                                                ^

error: no-flags-spaces
cmakeFlags cannot contain spaces, please use cmakeFlagsArray in Bash.
Near pkgs/misc/emulators/retroarch/cores.nix:853:5:
    |
853 |     cmakeFlags = [ "-DLIBRETRO=ON -DUSE_SYSTEM_FFMPEG=ON -DUSE_SYSTEM_SNAPPY=ON -DUSE_SYSTEM_LIBZIP=ON -DOpenGL_GL_PREFERENCE=GLVND" ];
    |     ^

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/misc/emulators/retroarch/cores.nix:35:5:
   |
35 |     installPhase = ''
   |     ^

warning: unused-argument
Unused argument: glib.
Near pkgs/misc/emulators/retroarch/cores.nix:2:55:
  |
2 | , alsaLib, fluidsynth, curl, hidapi, libGLU, gettext, glib, gtk2, portaudio, SDL, SDL_net, SDL2, SDL2_image, libGL
  |                                                       ^

warning: name-and-version
Did you mean to pass pname instead of name to mkDerivation?
Near pkgs/misc/emulators/retroarch/cores.nix:14:5:
   |
14 |     name = "libretro-${a.core}-${version}";
   |     ^

Near pkgs/misc/emulators/retroarch/cores.nix:15:5:
   |
15 |     version = "2020-03-06";
   |     ^

warning: unclear-gpl
gpl2 is a deprecated license, please check if project uses gpl2Plus or gpl2Only and change meta.license accordingly.
Near pkgs/misc/emulators/retroarch/cores.nix:50:18:
   |
50 |       inherit (a) description license;
   |                  ^

I guess this should be backported to 21.05?

I think so, #123843 too once/if we can get it working

@lunik1 Can you make a PR for this one's backport?


Removing cmdlets that belong to SPServer

All the SPOData cmdlets belong to SharePoint Server, not SharePoint Online, so not only the links go 404 but they do not have to be listed here.
These two are in the sharepoint-server folder.
There are other SPOData cmdlets that are in the sharepoint-online folder but they also belong only to SPServer. (already reported)
Closes https://github.com/MicrosoftDocs/office-docs-powershell/issues/6132

Docs Build status updates of commit 42fd81d:
:clock10: Full build: the average full build time is 17 min(s) 41 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 42fd81d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/sharepoint-online.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

@chrisda Please merge this PR. Thanks.

Docs Build status updates of commit c3c9fce:
:clock10: Full build: the average full build time is 17 min(s) 41 sec(s), this is based on the last 1000 build(s) for this repository.

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

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-online/sharepoint-online.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


switches the service ports for mqtt and stomp

What this PR does / why we need it:
The Service ports for STOMP and MQTT are mixed up in the frontend service, but correct in the statefulset.

/assign @sameersbn

/assign

/lgtm


Add pessimistic Rails 4.2 support

This commit bumps the ActiveRecord dependency to match rbCAS/CASino#84.

Thanks!