systeminfo causing huge server load

Since update yesterday to webmin 1.870, even with disabling live updates in theme options, i am getting huge server loads.
This is on centos 7 latest openvz server.
can send miniserv.log if you need, but here is excerpt
xxx.xxx.xxx.xxx - root [10/Dec/2017:11:10:26 -0500] "GET /index.cgi/?xhr-info=1 HTTP/1.1" 200 14955
xxx.xxx.xxx.xxx - root [10/Dec/2017:11:10:27 -0500] "GET /index.cgi/?xhr-info=1 HTTP/1.1" 200 14956
xxx.xxx.xxx.xxx - root [10/Dec/2017:11:10:28 -0500] "GET /index.cgi/?xhr-info=1 HTTP/1.1" 200 14956
xxx.xxx.xxx.xxx - root [10/Dec/2017:11:10:29 -0500] "GET /index.cgi/?xhr-info=1 HTTP/1.1" 200 14955
xxx.xxx.xxx.xxx - root [10/Dec/2017:11:10:34 -0500] "GET /index.cgi/?xhr-info=1 HTTP/1.1" 200 14955
xxx.xxx.xxx.xxx - root [10/Dec/2017:11:10:36 -0500] "GET /index.cgi/?xhr-info=1 HTTP/1.1" 200 14953

OH should say this only happens after having webmin open in firefox for about 10 min, if you close tab, load drops

Hi,
If you open browser's console and run:
settings_side_slider_background_refresh_time

What is the output?

Not sure i did it right, but got only "null" as response

Can you run in console
settings_side_slider_background_refresh_time = 5

Will it stop request for the next 5 minutes?
Besides, what is (if there is) the output of:
cat /etc/webmin/authentic-theme/settings.js | grep settings_side_slider_background

ok have set ettings_side_slider_background_refresh_time =5 will monitor in htop for overload.
I get nothing from settings.js above, there is no entry matching that.
Wondering if my install got damaged maybe????

I had the same issue and set the refresh time to 3000ms fixed it.

If you go to Webmin Configuration/Background Status Collection
What is Collect system status in background? value set too?

There is already a small bug there, that I see.

Oh my God, that is horrible.
If it's set to Never it does crazy things.

Creates a load every millisecond.. Did you have it set to Never?

I have it set to never, for many years now since i dont need the stats.
BTW, i have 2 different vps that do the same thing.
Also setting to 5 minutes for the slider above, just delayed it, same thing just happened.  load went above 4 for single core server.

If you set it to any value, it will stop doing queries so often.

So it is the webmin background being disabled that is the issue?
Are you saying turn it on and set a value, then can shut off again?  or i will now have to run it at some interval ?

Yes 😖
You can set it to 1000 minutes before I fix it in a bit.

Awesome!  changing it one server now and will report back.
Thanks for you help sir!

@sle44102 You are welcome.
I fixed it in the commit above. Go to theme's settings and force upgrade the theme.

O K which options should be set on force update ( I do have git installed)
Check for Authentic Theme updates  Yes             or                            No?
Including patched versions | Yes         or                               No?
and then should i choose stable or beta on button press?
want to get it right.

It's not important which options are set on Force Update.
At this point you should choose Development version.
The options you're asking about is for automatic notifications, and they are self-explanatory.

Thank you!   Done, will monitor and let you know if i have an issue.
Also, did disable background collection on webmin settings again.


use html comments for issue templates

update issue template descriptions as html comments so it won't show up in preview
which means user can leave it as default without removing them manually
Signed-off-by: Lan Luo<EMAIL_ADDRESS>

Codecov Report

Merging #2471 (f4d4453) into main (42077cb) will decrease coverage by 19.69%.
The diff coverage is n/a.

:exclamation: Current head f4d4453 differs from pull request most recent head 9aa5a7f. Consider uploading reports for the commit 9aa5a7f to get more accurate results

@@             Coverage Diff             @@
##             main    #2471       +/-   ##
===========================================
- Coverage   61.70%   42.01%   -19.70%
===========================================
  Files         276      146      -130
  Lines       21317    18115     -3202
===========================================
- Hits        13154     7611     -5543
- Misses       6782     9819     +3037
+ Partials     1381      685      -696

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
42.01% <ø> (+0.78%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/util/k8s/name.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/agent_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/config/node_config.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/apis/controlplane/helper.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/cniserver/pod_configuration_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/apis/controlplane/v1beta1/register.go
0.00% <0.00%> (-92.86%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-90.00%)
:arrow_down:

pkg/agent/nodeportlocal/k8s/annotations.go
0.00% <0.00%> (-83.88%)
:arrow_down:

... and 239 more

/skip-all

/skip-networkpolicy

There seems to be a problem with Jenkins as /skip-networkpolicy` is not registering properly, merging this


how to display some surface or show the trajectory of end effector in icub simulator

Is that possible to display some surface or show the trajectory of the end effector in icub simulator?
We currently are using iCub sim to draw some curve or trajectory, but we cannot be 100 percent sure that whether iCub sim is drawing as we expected. So do you have any ideas letting us clearly see the trajectory or curve that icub is drawing or doing?

Hi @YANGGANG1971
iCub_SIM does not currently provide what you need. Instead, take a look at the iCubGui belonging to our icub-main codebase, which shows a pictorial representation of the robot it connects to (simulated or physical).
Within iCubGui, you're allowed to plot simple geometric trajectories as done for example here: https://github.com/robotology/d4c#the-cartesian-if-implementation.

Relevant code snippets can be browsed in the same repository: https://github.com/robotology/d4c/blob/master/lib/src/d4c_server.cpp#L1995-L2054.


Create enum for HTTP Status Code & added a variety response error message

I'd like to handle errors other than 401 and 404, so I've implemented all the HTTP status code and messages in HTTPStatusCode. Can you review it, please?

Looks good. I like the enum implementation and even the comment referencing the RFC, nicely done.


Feature backend join room hook

An addition to the Room class that allows player Ids to be added to a list of players in a Room object in the database. A call to Room.joinRoom(roomCode, playerId) updates the database and returns the Room object for the room given by roomCode.
If a room does not exist, a RoomCodeDoesNotExistError is thrown.
If, for whatever reason, there is more than one room with the code roomCode, then a MoreThanOneRoomError is thrown.
Below is an example driver for the code:
import {Room} from "../models/Room";

const ReactElement  = () => {
    // Use for Example: 2
      let roomCodes = {
        'exists': "7380",
        'not_exists': "NotE"
      }
      let playerIds = ["h8j9k0", "m3n2j4", "p1l3f2"];

      useEffect(() => {
        (async function () {

          let adminId = "30000000";     // Dummy for dev purposes

          try {

                // Example 2: call to joinRoom
                room = await Room.joinRoom(roomCodes['exists'], playerIds[1]);
                console.log(room);
          } catch (error) {
            console.log(error);
            room = null;
          }
        })();
      }, []); // end useEffect()
}

Tested, works as far as I see, intended


Seeing projects that aren't mine on the submit repo page

After I login a few days after my initial signup, I clicked the submit repo button. On the page there is a component "Your Repos" under which, was another users repos, there was only 1 so I'm not sure if I could have added others if there were more. When querying the user on github, the starred and watched tabs were also from the same user.
Upon submitting a repo via url, I could see my actual repos.

Is this still happening? If you log out and log in, still see it? Did you change your username or email on github?

@schneems Looks good now, not sure what could've caused it as I didn't change any credentials recently.


fix: nested routes of which getData

generate data-loader when getData only export in nested routes

Codecov Report

:exclamation: No coverage uploaded for pull request base (release-next@f302956). Click here to learn what that means.
The diff coverage is 90.90%.

@@               Coverage Diff               @@
##             release-next     #481   +/-   ##
===============================================
  Coverage                ?   81.69%
===============================================
  Files                   ?       87
  Lines                   ?     7544
  Branches                ?      950
===============================================
  Hits                    ?     6163
  Misses                  ?     1375
  Partials                ?        6

Impacted Files
Coverage Δ

packages/ice/src/routes.ts
98.40% <90.90%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Expose the aliases option from the Stylex babel plugin to react-strict-dom

I am using the RSD babel preset together with the @stylexjs/rollup-plugin.
Due to using import aliases for my stylex vars the build fails with error:
Only static values are allowed inside of a stylex.create() call

This should be resolved by enabling forwarding of the aliases to the Stylex babel plugin.

If you use the postcss plugin used in the example app, you shouldn't have to use the stylex rollup plugin or propagate aliases

If you use the postcss plugin used in the example app, you shouldn't have to use the stylex rollup plugin or propagate aliases

My tech stack is Vite with React Router V7.
I tried to use the PostCSS plugin with the following PostCSS config:
const reactStrictBabelPreset = require("react-strict-dom/babel-preset");
const typescriptPreset = require("@babel/preset-typescript");

module.exports = {
  plugins: {
    "postcss-react-strict-dom": {
      include: ["app/**/*.{js,jsx,ts,tsx}"],
      babelConfig: {
        presets: [
          [typescriptPreset],
          [
            reactStrictBabelPreset,
            {
              rootDir: process.cwd(),
            },
          ],
        ],
      },
    },
    autoprefixer: {},
  },
};

And here is my vite.config.ts:
import { reactRouter } from "@react-router/dev/vite";
import { defineConfig } from "vite";
import tsconfigPaths from "vite-tsconfig-paths";

export default defineConfig(({ isSsrBuild }) => ({
  build: {
    rollupOptions: isSsrBuild
      ? {
          input: "./server/app.ts",
        }
      : undefined,
  },
  plugins: [tsconfigPaths(), reactRouter()],
}));

This still fails with the same error as mentioned above unless I propagate my aliases to the Stylex babel plugin.
However if I use my fork I can build the CSS fine but when running the application in dev mode it crashes with the following error:
Error when evaluating SSR module virtual:react-router/server-build: failed to import "react-strict-dom"
|- Error: 'stylex.create' should never be called at runtime. It should be compiled away by '@stylexjs/babel-plugin'

Do you have any suggestions or guidance on how I can use react-strict-dom in my React Router project?

@oscarsilver You need to use both the postcss plugin and the Babel plugin with Vite. The recommended solution is to create a Babel config file which Vite picks up automatically, and to import that configuration within your postcss config file.
(Babel also reads babelrc files automatically, I've found this to be inconsistent with Vite.)

@oscarsilver You will need to add the RSD preset to your main babel config, as described here - https://facebook.github.io/react-strict-dom/api/babel-preset/
After that, you shouldn't have to redeclare your Babel config in the PostCSS config as the RSD PostCSS plugin will reuse what you already have:

By default, the plugin reads from babel.config.js in your project. For custom configurations, set babelrc: false and specify desired options. Refer to Babel Config Options for available options.
https://github.com/javascripter/postcss-react-strict-dom/tree/main?tab=readme-ov-file#configuration-options

If you're using a non-standard location for the Babel config, then you will need to configure the PostCSS plugin to find it, but you should still use the same Babel config.

Thanks! I got it working, however I still need to provide the aliases to the stylex babel plugin to be able to use aliases in my components.

however I still need to provide the aliases to the stylex babel plugin to be able to use aliases in my components.

Yes, this is a known issue of the StyleX Babel plugin. A community member has started working on fixing this.

A community member has started working on fixing this.

Link to the issue and PR?

Yes: https://github.com/facebook/stylex/issues/765
There is no PR yet.


Support colorblind accessibility

I believe accessability something that is very important. As a colorscheme, nightfox should be accessible to people with color blindness.
To this end nightfox should change its colors based on someone's type of color blindness. By setting the type of color blindness in the config settings nightfox's pallet should reflect colors / shades that are distinct.
This is a long term goal of nightfox and I am not sure the best way of implementing this. I also need to research and understand more about color blindness and how to best change colors to reflect the different types.

I am a moderate deutan, I can help you test. When I try to play a game seriously(for longer time) I would check if it has color blind mode and enable it.
https://enchroma.com/pages/moderate-deutan-test-result


plots: init at 0.8.5

Description of changes
Plots is a graph plotting app for GNOME.
https://github.com/alexhuntley/Plots
It is broken on non-NixOS systems due to this issue https://github.com/NixOS/nixpkgs/issues/244459
On my NixOS VM it works perfectly.

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

[ ] Fits CONTRIBUTING.md.

Ok it doesn't work on non-NixOS systems because of missing 3d acceleration.
This can be fixed using nixGL
You can also make your own wrapper https://github.com/guibou/nixGL/issues/44#issuecomment-1361524862

Yes. Thanks!


No libres.h

when i use sgdk in vscode
one of those .h file try to include a file named libres.h
but i check the inc folder
there is no libres.h
can i just delete this code?

This is not the good place to ask for support.
The libres.h file is automatically generated when you build the library and normally it should be already included in the res folder (the file is the header of the library resources).

thanks


Add Dark Mode toggle

I have made the changes, please let me know if any further changes are required.

No changes needed. Thanks for the help!


define heterogeneous multivector addition/subtraction

Change-Id: I79085b56673d966cfac27962000376c1114aa0a4

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (f53d8c2) 97.22% compared to head (90285e0) 98.24%.

Additional details and impacted files
@@                              Coverage Diff                              @@
##           Ia8f87a7a3a4a0bac948a13ce2555ace45cde746e      #10      +/-   ##
=============================================================================
+ Coverage                                      97.22%   98.24%   +1.02%
=============================================================================
  Files                                              1        1
  Lines                                             36       57      +21
  Branches                                           1        1
=============================================================================
+ Hits                                              35       56      +21
  Partials                                           1        1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


VIE AL10 • 8FS5T16906007381 • android-arm64 • Android 8.0.0 (API 26)  startDeviceScan  error

D/com.polidea.flutter_ble_lib.FlutterBleLibPlugin(19761): on native side observed method: startDeviceScan
I/flutter (19761): ══╡ EXCEPTION CAUGHT BY FLUTTER FRAMEWORK ╞═════════════════════════════════════════════════════════
I/flutter (19761): The following BleError object was thrown:
I/flutter (19761):   BleError (Error code: 601, ATT error code: null, iOS error code: null, Android error code: null,
I/flutter (19761): reason: Location Services disabled (code 4), internal message: null, device ID: null, service UUID:
I/flutter (19761): null, characteristic UUID: null, descriptor UUID: null)
I/flutter (19761):
I/flutter (19761): When the exception was thrown, this was the stack:
I/flutter (19761): #0      ScanningMixin.startDeviceScan. (package:flutter_ble_lib/src/bridge/scanning_mixin.dart:33:9)
I/flutter (19761): (elided 21 frames from dart:async)
I/flutter (19761): ...
I/flutter (19761): ════════════════════════════════════════════════════════════════════════════════════════════════════
[√] Flutter (Channel stable, v1.17.3, on Microsoft Windows [Version 10.0.18363.900], locale zh-CN)
• Flutter version 1.17.3 at C:\flutter\flutter
• Framework revision b041144f83 (4 weeks ago), 2020-06-04 09:26:11 -0700
• Engine revision ee76268252
• Dart version 2.8.4
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at C:\Users\Administrator\AppData\Local\Android\Sdk
• Platform android-R, build-tools 29.0.3
• ANDROID_SDK_ROOT = C:\Users\Administrator\AppData\Local\Android\Sdk
• Java binary at: C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\192.6392135\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[√] Android Studio (version 3.6)
• Android Studio at C:\Users\Administrator\AppData\Local\JetBrains\Toolbox\apps\AndroidStudio\ch-0\192.6392135
• Flutter plugin version 44.0.2
• Dart plugin version 192.7761
• Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
[√] Connected device (1 available)
• VIE AL10 • 8FS5T16906007381 • android-arm64 • Android 8.0.0 (API 26)
! Doctor found issues in 1 category.

I/flutter (19761): reason: Location Services disabled (code 4), internal message: null, device ID: null, service UUID:
You either have disabled location or no Permission.ACCESS_COARSE_LOCATION.


Logo?

Any interest for a simple logo/icon to represent the UI framework? Some play on the name Seed, perhaps? I’d be happy to come up with a few concepts, if so.

Well, we already had some discussion about the logo. And @GabrieleRomeo worked a bit on it. But the thing is that this won't be called Seed UI at the end. It's called like that right now because I forked from Seed UI. Two name proposals that got the most attention are "Spectrum UI" and "Evolution UI". After we decide upon a name, then we should consider the logo. I mentioned the name choosing on slack.


Split icon for perf charts is strange

Testing #107623
I don't have a better icon in mind but I find the split icon doesn't quite fit the action. Instead of splitting the pane in 2, we are splitting existing charts into as many panes. Additionally, the inverse is to merge, which the icon does not reflect.

cc @misolori -- maybe an icon similar to the split view, but with arrows facing outwards or inwards?
This is the current icon for reference:

What about using the collapse/expand icons? The metaphor can still apply here as this toggles between 1 chart vs many:

Sounds good to me


NIFI-2115 Detailed Version Info for About Box

Java version and vendor
OS name and version
Build number(commit SHA), branch, and timestamp

Here's what the result looks like while the details section is expanded. I plead guilty to being a bad UI designer, any tips would be appreciated.

I force-pushed a substantial update/rewrite.  Changes from the previous implementation include:

Moving most of the logic to the nifi-assembly pom rather than the parent pom
Including the Tag property with the build information (typically HEAD for snapshot builds, RC tags for release builds)
Handling formal releases by using Tag, ignoring revision and branch.
More gracefully handling a source build outside git by using empty revision and branch
Updated the about box UI to selectively include information based on availability

Tag displayed when not HEAD
Revision and branch displayed when not empty

Included a sample UI using the System Diagnostics dialog.  I'm not suggesting we need both About and System Diagnostics, just showing sample options for discussion.
Rebased on recent master

I did not push my updates correctly yesterday, I just fixed the branch.

Looks amazing but I would add some flashing/blinking HTML and a construction sign as homage to the good old GeoCities pages. :-)
On a more serious note, @jvwing could you rebase?

I pushed another update to rebase on the latest master, and add a Versions tab to the Cluster UI using the version-enriched system diagnostics data.

@mcgilman not sure if you seen this PR but feels to me like something we should consider merging. What do you think?

Cool... Will review. Thanks!

Hey @jvwing, this is really nice. Just a couple general comments...
I'm not sure we want to include all the System/Java version details in the about dialog. The AboutDTO which had these items added will be available for any user who has permissions to access the UI. I have concern allowing all users who can access the UI to know the server's OS/architecture/version and what vendor/version of Java is running. Including these items in the System Diagnostics is good IMO as users need to be granted explicit permission for viewing system level details.
Leaving the build details in the About Dialog is good IMO. I would suggest that we use the DateTimeAdapter on the build timestamp field to be consistent with other timestamps rendered throughout the UI. Since these only add a couple rows, it may make sense to remove the toggle and make the dialog a little bit taller.
Thoughts?

@mcgilman Thanks, I had not considered the API access distinction, and that sounds like a sensible split between system diagnostics and the about dialog.  I'll try that out with an adjusted about dialog.

I pushed another update with changes from feedback:

Removed OS/JVM information from the AboutDTO and About Dialog
Updated the layout of the About Dialog to always show the additional build information, if available
Formatted build timestamp with DateTimeAdapter

Thanks for the update! I'm going to be in and out the next few days. Just a heads up, I might not be able to revisit until later this week. Thanks again!

Hey @jvwing... I had a chance to check out the update. Everything looks good but I do have one other comment that I probably should have noticed before. Given the build details ultimately come from nifi.properties I don't think we can rely on their presence. Often times, folks upgrade by retaining their consisting conf directory so we typically try to ensure things still work when the properties do not exist. In the System Diagnostics, it probably makes sense to simply populate the fields with a message indicating that the value isn't set. Additionally, you can style the elements with unset. In the About dialog is probably makes sense to just not render anything under the version. Currently, it just says 'Tagged'.
Thoughts?

@jvwing Just wanted to comment again to make sure you saw my last note. This PR is really close, just wanted to get your thoughts on my last comment. I think a couple client side checks should suffice. I'd be happy to knock them out for you just so we can get this guy in as we wind down towards our 1.1.0 release.

@mcgilman You caught me :), sorry, I did miss your previous comment.  Let me see what I can do.

@mcgilman - I fixed two issues that you pointed out:

The About dialog no longer shows the "Tagged" label when there is nothing in nifi.properties
I added "(not available)" to the System Diagnostics properties with the "unset" style where info is not provided in nifi.properties

Then I did some testing that I should have done last time, with these four typical scenarios for data combinations in nifi.properties:
1.) Build from source release, screenshots: About | System Diagnostics
# Build info
nifi.build.tag=nifi-1.1.0-RC-test
nifi.build.branch=
nifi.build.revision=
nifi.build.timestamp=2016-11-02T21:32:02Z

2.) SNAPSHOT Build from git repo, screenshots: About | System Diagnostics
# Build info
nifi.build.tag=HEAD
nifi.build.branch=NIFI-2115-about-box-info-2
nifi.build.revision=7057cfc
nifi.build.timestamp=2016-10-24T18:21:35Z

3.) Build from non-release source without git, screenshots: About | System Diagnostics
# Build info
nifi.build.tag=HEAD
nifi.build.branch=
nifi.build.revision=
nifi.build.timestamp=2016-11-02T18:57:11Z

4.) Upgrade - nothing in nifi.properties, screenshots: About |  System Diagnostics
I know this isn't an exhaustive list, I believe arbitrary combinations should now be more gracefully supported.

Thanks @jvwing. Looks good! This has been merged to master.

Thanks for your help, @mcgilman.


[d3d11,d3d9,util] Add a config option for reproducible VK output

It ensures that for the same D3D commands the output VK commands don't change between runs.
Useful for comparative benchmarking, can negatively affect performance.

To fully test it I'd need to disable all threading and compare runs with api dump layer. For now, what was compared are renderpasses after d3d11 translation - they are the same between runs.
When reproducibleCommandStream is not set the number of draw calls in renderpass and even the number of renderpasses may vary, which makes hard to make comparisons between runs, especially on GPUs where renderpasses do matter.

Why are the thread syncs in ConsiderFlush necessary? We should get consistent behaviour simpy by adjusting the heuristic.
The specific implementation also massively inflates the actual submission count compared to a GPU-bound scneario; if anything I feel like we'd want to do the opposite and minimize submission counts to get more realistic performance characteristics, i.e. something like
if (m_ensureReproducibleHeuristic && flushType != GpuFlushType::ExplicitFlush)
  return false;

switch (flushType) {
  ...

This will break real games that don't use queries correctly (Fallout 4), but should generally be fine for replaying traces and captures since readback isn't really a thing there anyway.

I feel like we'd want to do the opposite and minimize submission counts to get more realistic performance characteristics

You are right, we should expect GPU bound scenario and that means there is no pressure to submit earlier, meaning most likely submit would happen only at GpuFlushType::ExplicitFlush.

Why are the thread syncs in ConsiderFlush necessary? We should get consistent behaviour simpy by adjusting the heuristic.

Without it there were differences in VK commands when looping the same frame, probably caused by different current chunk id. However, if we flush only on ExplicitFlush - there is no need to sync.


Changes made to ExclusiveOffers and made it visible.

Still better imges are required

Exclusive offer added and displayed successfully.


hover with XPath (can single quotes be used in XPath?)

Can anyone explain why the following does not work:
hover //tr[contains(@id, 'user')]/td[1]/strong/a

I receive:
SyntaxError: Expected token ')'
The XPath statement works correctly in the Chrome console.

Hey @stevzie try using double quotes -
hover //tr[contains(@id, "user")]/td[1]/strong/a

The flow samples and the tip under here - https://github.com/kelaberetiv/TagUI#steps-description mentions this but may be easy to miss.
The convention is chosen so that users can use single quotes to form dynamic XPaths with their variables, eg by user '+variable_name+' or `variable_name` in their element identifiers.

Forgot to copy @Aussiroth who is now maintaining TagUI for AI Singapore -

hello @kensoh i had a problem with single quote but i finally have a solution... if anybody want to put a single quote on a string you need to put a back slash behind it. example:
var1 = ''DRAFT''
type [element] as '+var1+'
so this write 'DRAFT' on the element input text

cool stuff thanks @fez226 fo sharing! yes I normally recommend using double quotes to keep it syntactically correct but yes you can use \ to escape the single quote character in XPath string.
also, now TagUI supports backticks to denote variable, so your example step can be written as
type element_identifier as `var1`

hover xpath not working :
hover //*[@id="gatewayHistoryDetailsTab"]/div[1]/i[3]

I saw the duplicated question here - https://github.com/kelaberetiv/TagUI/issues/1171#issuecomment-1026523066 and will reply there


Automate database schema upgrade testing

Currently, this is a semi-manual process as documented here. It needs to be fully automated and running in the CI to make it easier to validate DB schema changes.

Duplicate of https://github.com/microsoft/durabletask-mssql/issues/152.


Builtin math functions don't seem to compile correctly on 'object'

For instance, the following test fails:
    def test_math_functions_on_object(self):
        @Entrypoint
        def callCeil(t: object):
            return math.ceil(t)

        assert callCeil(1.5) == 2.0

with exception TypeError: Can't compile '<built-in function ceil>' on instance of type 'object'

Naively, I was going to just compile this as o.ceil().  However, float has no ceil or floor methods.  (It does have trunc.)

For most math functions, any type is allowed if it has a __float__ method. (Exception: __trunc__.)

I think the problem is that we don't have the pathway correctly set for
'PythonObjectOfType'.  That's always a tricky case because 'object' could
be a float, or it could be something else.  See
'027c1fea364417057b5d27e25f2f8b05dc60b46f' as an example of fixing a bug
where we handled index correctly for int, float, and classes, but not
for an int/float that the compiler knows as an object.
On Wed, Sep 30, 2020 at 10:14 AM rubidge<EMAIL_ADDRESS>wrote:

For most math functions, any type is allowed if it has a float
method. (Exception: trunc.)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/APrioriInvestments/typed_python/issues/364#issuecomment-701418394,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB6OHBDZN5DMTMCY56UEMX3SIM4K5ANCNFSM4R44ANZQ
.

Thanks! most tests are passing now...


Cpanel friendly Installation

Describe the feature
Make it more Cpanel Friendly for those of us who'd like to host it directly from our providers.
Additional Context
No response

What could I do to have an easier install on cPanel?

@athens-networking following up to my previous message :)


Update Install-DbaFirstResponderKit.ps1

Added the SQLServerVersions.sql script to the list of scripts to install to satisfy requirements in #7242

Type of Change

[ ] Bug fix (non-breaking change, fixes # )
[x] New feature (non-breaking change, adds functionality, fixes #7242
[ ] Breaking change (effects multiple commands or functionality, fixes # )
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
To automatically install the SQLServerVersions.sql script provided by Brent.
We personally use this as another check to CIS standards via T-SQL checks to ensure latest SP/CU combinations installed etc.
Approach

Commands to test

Install-DbaFirstResponderKit
Screenshots

Learning

Thanks so much to both of you! 🙇🏼


Hide experimental charts from Cluster Tools

Codecov Report
Base: 36.84% // Head: 36.90% // Increases project coverage by +0.05% :tada:

Coverage data is based on head (0eb5c88) compared to base (1d8d93c).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #7111      +/-   ##
==========================================
+ Coverage   36.84%   36.90%   +0.05%
==========================================
  Files         977      977
  Lines       17287    17287
  Branches     4483     4483
==========================================
+ Hits         6370     6380      +10
+ Misses      10917    10907      -10

Flag
Coverage Δ

e2e
47.59% <ø> (+0.07%)
:arrow_up:

merged
36.90% <ø> (+0.05%)
:arrow_up:

unit
5.28% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

shell/pages/c/_cluster/explorer/tools/index.vue
0.00% <ø> (ø)

shell/utils/socket.js
48.52% <0.00%> (-0.50%)
:arrow_down:

shell/store/index.js
72.08% <0.00%> (-0.46%)
:arrow_down:

shell/plugins/dashboard-store/resource-class.js
47.17% <0.00%> (-0.16%)
:arrow_down:

shell/plugins/steve/subscribe.js
70.60% <0.00%> (+0.27%)
:arrow_up:

shell/plugins/dashboard-store/actions.js
54.76% <0.00%> (+2.77%)
:arrow_up:

shell/plugins/steve/mutations.js
55.31% <0.00%> (+4.25%)
:arrow_up:

shell/utils/poller.js
85.00% <0.00%> (+10.00%)
:arrow_up:

shell/mixins/metric-poller.js
100.00% <0.00%> (+22.22%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add a microbenchmark for type inference / dataflow

This will help us to identify performance issues in our dataflow analysis that could improve NullAway's performance on large methods.  The benchmark was generated with a script.

If so, do we want to commit the generated code, or add the script itself to our build process and have it add a resources/generated/... directory with this sort of generated test code?

So the script was a one-off hack and was not meant to be generalizable.  I don't foresee us doing a lot of tweaking to this benchmark.  It's possible that we would want more micro-benchmarks like this one in the future.  Maybe we can say that when we want to add a second benchmark, we will bite the bullet and check in the scripts and run them during the build?  To me, that seems like overkill at this point, and I'd rather just commit the generated code for now.


[Fix-10863] Command execution result data statistics remove userId condition.

Purpose of the pull request
Command execution result data statistics remove userId condition.
Brief change log
close #10863
Verify this pull request
Manually verified the change by testing locally.

Codecov Report

Merging #10864 (05690e1) into dev (c829738) will decrease coverage by 0.06%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                dev   #10864      +/-   ##
============================================
- Coverage     40.66%   40.60%   -0.07%
  Complexity     4826     4826
============================================
  Files           913      915       +2
  Lines         36306    36428     +122
  Branches       3989     3994       +5
============================================
+ Hits          14765    14792      +27
- Misses        20068    20155      +87
- Partials       1473     1481       +8

Impacted Files
Coverage Δ

...uler/api/service/impl/DataAnalysisServiceImpl.java
81.98% <100.00%> (+0.73%)
:arrow_up:

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
:arrow_down:

...e/dolphinscheduler/service/queue/TaskPriority.java
50.66% <0.00%> (-3.62%)
:arrow_down:

...rver/master/dispatch/context/ExecutionContext.java
71.42% <0.00%> (-1.91%)
:arrow_down:

.../org/apache/dolphinscheduler/common/graph/DAG.java
95.23% <0.00%> (-0.77%)
:arrow_down:

...rver/master/runner/task/BlockingTaskProcessor.java
75.60% <0.00%> (-0.30%)
:arrow_down:

...nscheduler/service/process/ProcessServiceImpl.java
29.93% <0.00%> (-0.27%)
:arrow_down:

.../server/master/runner/WorkflowExecuteRunnable.java
7.98% <0.00%> (-0.23%)
:arrow_down:

.../server/master/runner/StateWheelExecuteThread.java
0.45% <0.00%> (-0.01%)
:arrow_down:

...eduler/api/service/impl/DataSourceServiceImpl.java
29.49% <0.00%> (ø)

... and 15 more

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 c829738...05690e1. Read the comment docs.

Hi @WangJPLeo I can't get the point of the The number of failed commands is incorrectly counted, please add some details for it, thanks.
BTW, I think the userId condition is necessary because the user can only see the data they have.

Hi @WangJPLeo I can't get the point of the The number of failed commands is incorrectly counted, please add some details for it, thanks. BTW, I think the userId condition is necessary because the user can only see the data they have.

Yes, I think the login user can only see the processes with permissions.

Hi @WangJPLeo I can't get the point of the The number of failed commands is incorrectly counted, please add some details for it, thanks. BTW, I think the userId condition is necessary because the user can only see the data they have.

After the resource permissions are refactored, the user-related projects are uniformly obtained in the getProjectIds method, so it is not necessary to use the user ID to query after obtaining the user-related projects. The displayed error command statistics are inaccurate because the user ID association is added. @caishunfeng @lenboo


#18 breaks transitioning fields

The fix implemented for issue #18 breaks transitioning fields.
Before I was able to also change the Resolution of the ticket. After the change it only allows it to change the status.
transition: {
            transition: {id: 5},
            fields:     {resolution: {name: 'Duplicate'}},
            update:     {
                comment: [{add: {body: util.format(CLOSEREASON.Duplicate, dupe_of)}}]
            }
        }

This changes the status to Resolved, Resolution to Duplicate and adds a comment.
After the change:
{
        transition: {id: 5},
        fields:     {resolution: {name: 'Duplicate'}},
        update:     {
            comment: [{add: {body: util.format(CLOSEREASON.Duplicate, dupe_of)}}]
        }
}

Fields and Update get ignored, I see no way to do them.

Yeah I think I see what happened there; I'm a little short on time this week but I'll try and get it fixed ASAP in a way that works for everyone

Thanks, I've rolled back the change on my local copy for now.

I've published a fix (v1.9.0) that should take care of the problem; transitioning issues should now work as expected whether you're using the new or the old way of passing arguments.  Can you confirm that it's working as expected for you?

:thumbsup: Works as expected.

Awesome :smile:


Rust Server Not Working

I've been trying to set up a Rust server on Ubuntu 14.04.4 x64 and Can't seem to get it to work. I followed every step on the LGSM site and have also made a completely new server and reinstalled it.
Whenever I do ./rustserver start I get

./rustserver start
/home/rustserver/lgsm/functions/logs.sh: line 22: fn_printinfo: command not found
[  OK  ] Starting rust-server: Rust

And then when I do ./rustserver monitor I get

./rustserver monitor
/home/rustserver/lgsm/functions/logs.sh: line 22: fn_printinfo: command not found
[ FAIL ] Monitor rust-server: Checking session: FAIL
[  OK  ] Starting rust-server: Rust

If anyone can help that'd be great. Thank you in advanced.

I need to investigate through that
I tried to replicate, full log here : http://pastebin.com/H4LPBNMM

Maybe try to run update-functions twice. Seemed to fix some stuff for me.
Is this a new server.

I just fixed the core_function errors.

Yes This Is A New Server, Let me Try What You Did

Just Tried It, Same Problem.
http://pastebin.com/vKC6HDVM

Maybe try the manual way.
./rustserver stop
rm -R functions/ lgsm/
./rustserver start

Removed it and still have the same problem...

Any info I can give you to help you help me?

OK i'ved been able to replicate the issue. Hold on.

OK, missing fn_printinfo fixed (was renamed with fn_print_info ), just need to prevent monitor function from moving logs to the logs folder, as this should only happen upon start.

btw, Monitor rust-server: Checking session: FAIL > not related to the script.
Those errors are not harmful. So there might be another issue for you.

Alright, that fixed the problem. However, now when I do ./rustserver start I get

./rustserver start
-su: fork: Cannot allocate memory

I've also gotten

./rustserver start
/home/rustserver/lgsm/functions/check_permissions.sh: fork: Cannot allocate memory

OK, everything's fixed for me.
./rustserver uf
Now if you still have errors like that, it's more likely that the issue comes from your system.
free -m
Output ?

Just committed the fix, so if you've been too fast, update your functions right now :p

free -m
total       used       free     shared    buffers     cached
Mem:           993        934         59          5          0         18
-/+ buffers/cache:        914         79
Swap:            0          0          0

./rustserver uf
-su: fork: Cannot allocate memory

I'll try to delete this server and try it on a new machine. Thank you for your help so far, I'll let you know if I have issues on the new machine. What OS Do you recommend I Use?

It doesn't explain the "cannot allocate memory" error upon update-functions, but are your seriously trying to run a rust server with a 1GB RAM machine ?
What's your weed ? I want the same.

The thing is, It worked before, very well infact. After I tried to mod it, it broke so I attempted to reinstall and It didn't work at all

Well, maybe watch my full tutorial on oxide forum, it's a sticky post, there's even a video, it might help. It also gives a way to automate Oxide updates.
I recommend Debian 8, 64 bits. Simple, efficient, no crapware, best way to go for me ;) @dgibbs64  would probably recommend Ubuntu, but i like him anyways :p
But Rust takes up 4 to 7GB RAM with a 4000 units map, so keep that in mind.
Thank you for reporting those small bugs !
If you need more help, afterwards, please use the steam group, we'll be glad to help as long as you give some logs and relevant info.
Cheers ! :)

http://oxidemod.org/threads/setting-up-a-rust-server-with-linux-and-lgsm.16528/


Recompose: Look into this pattern

https://github.com/acdlite/recompose
It's pretty cool :)

Closing for now! Might revisit later.


Remove deprecated JWT.

Coverage remained the same at 98.236% when pulling 479f00573c4124c476720df2574b918757add744 on remove_jwt into 6bb36163eedebabe4a132628c63f947586907415 on master.


experiment env uses corev1.EnvVar instead of the type of name/value pairs

Previously, experiment env can only use plain text.
This patch allows to use EnvVar at CR schema so that it can get value from secret/configmap/downwardAPI
https://github.com/litmuschaos/litmus/issues/2368 depends on this PR.
Signed-off-by: nitta-kazuki<EMAIL_ADDRESS>Checklist:

[ ] Fixes #
[ ] Labelled this PR & related issue with documentation tag
[ ] PR messages has document related information
[ ] Labelled this PR & related issue with breaking-changes tag
[ ] PR messages has breaking changes related information
[ ] Labelled this PR & related issue with requires-upgrade tag
[ ] PR messages has upgrade related information
[ ] Commit has unit tests
[ ] Commit has integration tests

@kazukousen thanks for creating this PR. Moving the ENVs to corev1.EnvVar over a custom struct is a good idea. The CRD validations placed for it seem comprehensive too. Could you please share the results of some manually executed tests for - usage of valueFrom & prevention of engine creation when both values/valueFrom is provided?

/run-e2e-all

/run-e2e-all
Test Status: The e2e test has been started please wait for the results ...
Test Failed: Some tests are failed please check
Run ID: 399955248

@uditgaurav we may need to fix the set:env steps here!

/run-e2e-all

@kazukousen seeing this error upon attempting to apply the CRDs from chaos_crds.yaml - looks like a missed param:
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/chaos-operator/659798a2ebfde7e2fa09369188640790f2ec5804/deploy/chaos_crds.yaml
Error from server (Invalid): error when creating "https://raw.githubusercontent.com/litmuschaos/chaos-operator/659798a2ebfde7e2fa09369188640790f2ec5804/deploy/chaos_crds.yaml": CustomResourceDefinition.apiextensions.k8s.io "chaosengines.litmuschaos.io" is invalid: spec.validation.openAPIV3Schema.type: Required value: must not be empty at the root
Error from server (Invalid): error when creating "https://raw.githubusercontent.com/litmuschaos/chaos-operator/659798a2ebfde7e2fa09369188640790f2ec5804/deploy/chaos_crds.yaml": CustomResourceDefinition.apiextensions.k8s.io "chaosexperiments.litmuschaos.io" is invalid: spec.validation.openAPIV3Schema.type: Required value: must not be empty at the root

@ksatchit
sorry, i fixed it.
remove x-kubernetes-int-or-string: true and the validation will pass https://github.com/litmuschaos/chaos-operator/pull/309/commits/bcf9b978423f7d515e78e4ec9c143db5b95de4a6
thank you for your kind review.

Could you please share the results of some manually executed tests

i am working on it.

To achieve this feature, a change in litmus-runner is required.
https://github.com/litmuschaos/chaos-runner/blob/master/pkg/utils/builders.go#L85
I am confused how to do the e2e tests manually.

the EnvVar description field in crds.yaml seems redundant. should it be removed?

To achieve this feature, a change in litmus-runner is required.
https://github.com/litmuschaos/chaos-runner/blob/master/pkg/utils/builders.go#L85
I am confused how to do the e2e tests manually.

Hey @kazukousen ! By manual test was referring to the basic successful install of the CRD spec and a potential validation against providing both value and valueFrom (https://github.com/litmuschaos/chaos-operator/pull/309#issuecomment-738563269). And a general regression test re: experiment execution. As regards use of valueFrom, we certainly do need chaos-runner changes.
Coming to the results based on https://github.com/litmuschaos/chaos-operator/commit/bcf9b978423f7d515e78e4ec9c143db5b95de4a6:

I am able to successfully install the CRDs & run experiments
wrt making value & valueFrom mutually exclusive seems like it is not supported by openAPI validation yet: https://github.com/OAI/OpenAPI-Specification/issues/256. So we can document accordingly.

Re: description it should be ok @kazukousen

Merging the PR! Thank you once again @kazukousen looking forward to runner changes.

thank you again for the your kind review! @ksatchit
i am working on it, but i decided to wait for the refactoring work here.
https://github.com/litmuschaos/chaos-runner/pull/117


Installing Sysvad unsuccessful | devcon failed

I am following the driver (build) and installation process as mentioned here: SysVAD Virtual Audio Device Driver Sample

I am able to build the solution on VS (debug, win32 configuration)
On running the sample on target computer (windows 11, VS2019):

I get the following error: C:\\Tools\\devcon failed

C:\SysvadDriver>C://Tools//devcon install ComponentizedAudioSample.inf Root\Sysvad_ComponentizedAudioSample
C://Tools//devcon failed.

Any help is appreciated. How can I debug this?

I got this error due to   the package in fact is not in current dir.  for you case, are  sure all the files is under c:\sysvadDriver ?

Thanks for the reply. I will have to check it out and let you know, since it's been a few months


How do I make this join more efficient?

If I have two tables, a and b, and I want to get the results of the following query:
SELECT * FROM a JOIN b on a.id = b.id where a.name = 'foo';

I know, based on the datasources that I'm using, that the best way to run this query is to get all rows from a where a.name = 'foo', and then for each id in those rows, query b asking for the rows with that id. A full table scan on b would be way too slow, but b can push down filters to get the rows based on id much more efficiently. What can I do to avoid the full table scan on b? My light amount of testing and brief look at the code makes it seem to me like a join will always require a full scan of both tables, at minimum.

Hi, there is no way to avoid full table scan on b. A join is implemented basically as a cross join with a filter, which requires full scan of both tables.
In any case, even if pushing down the id as filter was possible, it would require an index on that table.

even if pushing down the id as filter was possible, it would require an index on that table

Could you elaborate on this a little more? I thought that tables that implemented the FilteredTable interface could pushdown predicates.

Hey @andremarianiello
We can pushdown filters that are using literals to filter as much as possible the source of data.
Per example, on your example query, a.name = 'foo' can be pushed down to table a, but a.id = b.id cannot be pushed down because it doesn't contain a literal.

Are there any current plans to make joins more efficient for this common case (join N tables on indexed columns)? I'm willing to contribute if there's consensus that this is important.

Hey @zachmu,
Right now there are no plans to make joins more efficient in that case, but if you have a proposal of how to implement it, we can have a look into it and try to make it possible with your help.
Thanks!

Closing, as the question has been resolved.


String is not formatted correctly in AEDT Message Manager

Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

Description of the bug
When Running pyaedt\examples\07-Circuit\Circuit_Example.py I see the following AEDT Message Manager UI

Steps To Reproduce
Run pyaedt\examples\07-Circuit\Circuit_Example.py with close_on_exit=False
Which Operating System are you using?
Windows
Which Python version are you using?
3.10
Installed packages
N/A

Hi @kbhagat-ansys,
This has been fixed in release 0.6.38.

Please let us know if you encounter any other issue.
Thanks.


The optionality operator ? has to grammar

This issue is the remaining of the #246. As mentioned earlier I want to have a full support for the V in Pro Colors and to do so I need to have all the tokens recognized. A token that is not defined within the scope of this syntax is the ? operator:

It could be so amazing to have this supported :)

P.S. I'm willing to add it myself, I just didn't know where it is expected to be. If you give me a hint I'll add it myself.


[Open source] Issue that exchangis1.0 execution node has no normal display.

The execution node is not displayed normally. It may be that the field name of the front end does not correspond to the passed jobExecutionId. Originally, the front end should be jobId, but now it is obtained by jobExecutionId.
执行节点没有正常显示，可能是前端的字段名与传递来的jobExecutionId不对应，原来前端应该是jobId，现在改为了jobExecutionId获取

https://github.com/WeBankFinTech/Exchangis/pull/282，这个pr解决了


we need a way to import code into particles from shared places

The URL is document-relative by default, so we need a way to override that. Perhaps this might go in DomParticle.

There is an object passed to DefineParticle called resolver that can do this work. Example from Words/GamePane.js
importScript(resolver(`GamePane/Tile.js`));

If the input path is prefixed by the name of the running Particle, resolver will return a path relative to that Particle's .js file. In the example above GamePane is the running Particle, and it will import a peer file called Tile.js.
resolver supports the Shell's url-mapper, so e.g., https://$cdn as a prefix will resolve relative to the active shell/ folder for the running process.
resolver will be undefined if the code is not running in a browser environment.


On 1.14.2Pre4 the Overlay is currently not showing up on servers

Can someone confirm this?

Closing this because this is not confirmed.


[GogsBridge|GiteaBridge] Require protocol in host input in order to make defaultLinkTo to work

Without a protocol, the relative links (items URIs for example) are not replaced.
Example : /?action=display&bridge=Gitea&context=Releases&host=notabug.org&user=kensanata&project=oddmuse&format=Html

This doesnt actually fix the problem for all feed that exist already, it just changes the examplevalues.
I played around with this a bit. If you change line 113 and line 168 to $html = defaultLinkTo($html, $html->find('[property="og:url"]', 0)->content); and $issue_html = defaultLinkTo($issue_html, $html->find('[property="og:url"]', 0)->content); respectively, it works for the items of the bridge.
The only thing that is still broken is the url-bridge-name-link. The only way I can think of would be to add a getsimplehtmldom to the getURL function and do the same defaultLinkTo in the getURL function, but that would mean a second page-pull for just a link in the name of the bridge. I think thats too much overhead.
You can add the code to line 113 and 168 tho, that should fix existing feeds. The "og:url" meta property seems to be default in gogs installations, at least its available in the 3 installs I found.

This doesnt actually fix the problem for all feed that exist already, it just changes the examplevalues.

Thank you for the suggestion @Bockiii !
However only changing the defaultLinksTo params means the Bridge will continue to make HTTP requests (and surely have to follow HTTP 30X responses each time) instead of directly HTTPS (I hope most Gogs/Gitea setups use HTTPS!).
That's why I think it's preferable to fix issues at the source (inputs) instead of making workarounds down the line.

If you put in "notabug.org", the getsimplehtmldom will actually get the https version (visible in the og:url tag), so we can still let people put in the URL without the protocol and still get the used protocol (i haven't found a non https instance yet, maybe I'll fire up on my own server just to test). So the page content actually tells you which protocol the shd call received, so we don't have to force people to enter it.
I agree with you that you should put in the whole url with protocol, but this bridge has been around for a long time, so breaking backwards compat should only be done if we really really need it. I don't see that here.

So the only downside would be that theater bridge title link is not correct. But since that's an html-view-only kind of thing, I'm happy with ignoring that one for the sake of backwards compat

If you put in "notabug.org", the getsimplehtmldom will actually get the https version (visible in the og:url tag)

I'm pretty sure that's not the case. You can try with these parameters, as this instance is only reachable through HTTPS :
?action=display&bridge=Gogs&context=Commits&branch=master&host=http%3A%2F%2Fdwarves.iut-fbleau.fr%2Fgit&user=ducoudre&project=projetwims1_ducoudre&format=Html will fail
?action=display&bridge=Gogs&context=Commits&branch=master&host=https%3A%2F%2Fdwarves.iut-fbleau.fr%2Fgit&user=ducoudre&project=projetwims1_ducoudre&format=Html will succeed (HTTPS)

breaking backwards compat should only be done if we really really need it. I don't see that here.

This PR only changes the input documentation. Can you explain what is not backward-compatible with this change, please ? Existing bridges will continue working exactly as before, future bridges will surely be created with a protocol and work better.

Interesting. That means the webserver of that git instance is not well configured, because it doesnt redirect http requests to https (thats a very common thing to configure).
Example: Try to go to both links:
http://notabug.org/raanima/devuan_openbox_3.0
http://dwarves.iut-fbleau.fr/git/ducoudre/projetwims1_ducoudre
notabug will succeed because it redirects you to https, the other will fail.

This PR only changes the input documentation. Can you explain what is not backward-compatible with this change, please ?

Your change alone is completely backwards compatible, as it only changes the examplevalues, like I said in my first post. But it also doesn't fix the underlying issue. That would be needed to be handled by the bridge in a way that it wont fail if you put in "notabug.org" instead of "https://notabug.org".

Interesting. That means the webserver of that git instance is not well configured, because it doesnt redirect http requests to https (thats a very common thing to configure).

Yes, that's why I picked this example, to show that requests are (initially) made over HTTP, not HTTPS.

Your change alone is completely backwards compatible, as it only changes the examplevalues, like I said in my first post.

So we can merge it, can't we ?

But it also doesn't fix the underlying issue.

If the users specify the protocol, the issue doesn't manifest.

That would be needed to be handled by the bridge in a way that it wont fail if you put in "notabug.org" instead of "https://notabug.org/".

This PR will only improve the situation. Why not merge it ? And if you, I, or anyone else wants to add a workaround to guess the protocol to use they can do so in another PR.

This PR will only improve the situation. Why not merge it ?

Its really just about the "well, now we know it, why not fix it here" factor. But sure, we can just merge this small change.I just assume that the rest will just be forgotten.

Perfect, thank you ! I'll see what I can do this week. But I'm not very familiar with this project so no promises ;)


StackOverFlow when indexing Jars with self-referencing Class-Path:

Discovered when using ScalaMetals (v0.9.1):
https://gist.github.com/faizk/df7cde49b2c581df9971ea5f58c8eec4
On closer examination, I found at least one third-party JAR
(my build.sbt is basically a bunch of unmanagedJars in Compile : = .. , etc) that is self-referential:
Given a jar file MyJar.jar:
Manifest-Version: 1.0
Class-Path: MyJar.jar
Created-By: 1.7.0_06 (Oracle Corporation)

I'm not sure that Jars such as these are even valid, but they do break tools, so perhaps handling such situations
is a good idea (either silently skip but warn about it, or throw an exception describing the problematic input).
I can't imagine there would be a specification that says that the Class-Path: attr can never resolve to the name of the original jar file - that doesn't make sense, so I think protecting against just a situation is called for,
Likely -
https://github.com/scalameta/scalameta/blob/master/semanticdb/metacp/src/main/scala/scala/meta/internal/classpath/ClasspathIndex.scala#L134-L165
I just tried a quick fix on the lines of
     if (abspath.isFile || abspath.isDirectory) {
       if (abspath != jarpath)
          expandEntry(abspath)
     }

Which fixes the issue for me, so I can send a PR (to stop recursing and maybe log a warning) - unless I find after some more research on this that there's a better way.

Thank you for reporting and tracking down the root cause of the issue!

Which fixes the issue for me, so I can send a PR (to stop recursing and maybe log a warning) - unless I find after some more research on this that there's a better way.

A PR would be appreciated 👍 Your change looks good to me. We can also maintain a set of "visited paths" to avoid infinite recursion if the cyclic reference is not direct.


Let prepareOffline accept a hint parameter

This should support more fine-control in inheriting modules.
Also, fetch only essential dependency in Java and Scala module,
and keep the full fetch behint hints: all, source, ...
It's not really elegant, but it should allow some flexibility. WDYT?
This is a binary-incompatible change and I have no idea how to preserve it.
Although I could keep the old signature and just forward to the newer,
Loading plugins that also inherit older OfflineSupportModules seem to fail nevertheless.
Also I think Mill isn't checking for multiple commands with the same name,
so I fear just because it works on my machine, it may still lead to some failures for others.
Only fix would be to invent a new name for the command (and deprecate the old).
As Mill 0.10.x is binary-incompatible anyways, I think this one should be ok.
Fix https://github.com/com-lihaoyi/mill/issues/1576

Any opinion about the solution and the incompatible change? @lolgab

Maybe, a cleaner but less flexible approach would be to just add a boolean all parameter. So we have only a binary option: resolve some or resolve all.

Then, it's up to the those modules with special needs to provide additional targets

Yeah I suppose it depends on how much flexibility we expect to need; either a small set of flags if we don't expect to need to add much more, or the PrepareOfflineModule approach I described above if we expect to have lots of different things we'd want to call under foo.prepareOffline.xyz.


bump ui_test to 0.22.2

This is almost #3279, but working?
Can't currently bump to ui_test 0.22.3, as tests start failing (but contains https://github.com/oli-obk/ui_test/pull/196, which i kind-of manually included here).
Interaction with target around is annoying and I'm not sure that this working as intended.

:umbrella: The latest upstream changes (presumably #3790) made this pull request unmergeable. Please resolve the merge conflicts.

@klensy do you still plan to get back to this PR?
It should probably update ui_test to 0.24, since 0.22 has some issue with --target.

I'll close this PR due to inactivity. Feel free to pick it up again any time -- probably best to update to version 0.25, then. :)


Update: Replace/Remove OAuth with API key

Please refer to the Epic issue common-samples/issues/2823.
Per Trevor

Several samples use a named user authentication pattern for simplicity, but it is now simpler to use an API key - especially with the API being set ubiquitously across most samples with the sample viewer.

Samples we should update:

[x] Generate offline map
[x] Generate offline map overrides
[ ] Generate offline map with local basemap - No need to update, not using OAuth currently
[x] Navigate in AR - Already been done in #1055

Hi Sarat, please help to double check the samples are behaving the same as before except without signing in. Thanks!


Add type checks for assert.Regexp regexp argument

The signature for assert.Regexp (and associated methods) is:
func Regexp(t TestingT, rx interface{}, str interface{}, msgAndArgs ...interface{}) bool

However rx should only be *regexp.Regexp or string.
Related: stretchr/testify#1585
Cc: @kevinburkesegment

It's interesting.
Could you explain the unexpected behavior you found with this method, especially the "around fmt.Sprint()"
Do you have examples of interface value passed to assert.Regexp ?

I just tried a code search on GitHub of bad usage of assert.NotRegexp, and found none so far, so bad usage is probably quite rare and usually easily caught by running the test.
But that would be the point of this checker: catch the remaining ones.
About fmt.Sprint() traps: conversion of []byte is often not what one expects. See https://go.dev/play/p/3XsaeWgDsUD

Side note, if something is implemented it cannot about detecting the value is a regexp object or a string. The code use fmt.Sprint, so it relies also in being able to convert into a string.
So it should also support fmt.Stringer
https://github.com/golang/go/blob/master/src%2Ffmt%2Fprint.go

We are discussing about a linter.
As a Testify maintainer I can't change the crazy things that are allowed by the current implementation. But I expect the linter to tell the user that the crazy thing he does is most probably just a mistake.

Yes, I agree that's why I listed the things the linter could raise.
I agree with you, it's not about changing testify, but to guide user to use the right asserter

@ccoVeille We are discussing about a linter.
As a Testify maintainer I can't change the crazy things that are allowed by the current implementation. But I expect the linter to tell the user that the crazy thing he does is most probably just a mistake.

About this, because I'm unsure about your reply.
Your issue was about accepting:

string
*regexp.Regexp

I suggested current implementation also support any struct with a stringer.
So something like this:
type alpha struct{}

func (*alpha) String() string {
  return "[a-z]+"
}

(This is pseudo code made on a phone)
Would you expect the linter to report sending any object from this type to assert.Regexp as invalid?

+ case when order of arguments is invalid
assert.Regexp(t, out, `\[.*\] DEBUG \(.*TestNew.*\): message`)


will you have launch template support ?

will you have launch template support

Yes, but I can't promise when exactly. Pull request is welcome.


semi-workaround for https://github.com/marcello3d/node-mongolian/issues/6

There are 2 ways to activate it :

Pass an array of collection names to the db constructor.
ex : db = server.db('test', ['col1', 'col2'])

Call db.collections('col1') first then col1 will be
added to the db object.

I tested it and it seems to work, this is my very first attempt
with node/mongodb.

I'm not satisfied with this API approach, so I'm going to close this for now.


I'm looking for old versions source codes

hello, zhuowei !
i wanna try to build mcpe launcher for current environment.
the version i want is 1.12.6(for mcpe 1.14.1~).
would you have old version's source codes?

in commit history should be visible

in commit history should be visible

thx for ur advice!
i didn't know the feature like this, cuz  i'm new to github...

https://github.com/zhuowei/MCPELauncher/commits/master/srchttps://github.com/zhuowei/MCPELauncher/commits/master/src
thia is commit history in src so source look for version ya need

1.12 n 1.13

1.12 n 1.13
Thanks to you, i found what i was looking for...

1.12 n 1.13

Thanks to you, i found what i was looking for...

兄弟，你的编译怎么样了，我也在搞0.14版本的，现在安装打开是native crash，我几乎不会c++的东西。不知道你找的1.0版本的东西有没有 native crash？


Apexchart bar graphic xaxis datetime, right align headings

Why are the bottom headers starting from the left? How can I start "datetime" type headers from the first data aligned right? My main question is I want to fill in the blank date on the right and leave a space on the left. What can I do with the date that is not visible on the left?

I drag -15 left to align the bars to the sideline and the headers disappear. But I don't want a header value in the first data on the left.

Even if I make the margin zero, the clocked date still does not fit.

It seems like this, but again, it does not fit on the left and the alignment of the graphic to the sides is distorted. I don't care if there are dates on the left and the first sides on the right. Shallow the edges and look like the picture above


Public instance offline?

Neither http://g2g.fun (referenced at https://github.com/g2glab/docs-g2gml/blob/master/contents/reference.md) nor http://g2gml.fun/ seems accessible.

It is now available via https://purl.org/g2gml


Adding GTM wideips - Branched out of Servers PR, merge this after PR(#673)

Fixes #633
Problem:
GTM WideIP  endpoint was missing from the SDK. This is a first of a series of PRs meant to introduce the GTM pools to the SDK
Analysis:
WideIP endpoint was added as it was a dependency for GTM pools
Tests:
Flake8
Functional Tests
Unit Tests
Files Added/Changed:
f5-common-python/f5/bigip/tm/gtm/init.py
f5-common-python/f5/bigip/tm/gtm/wideip.py
f5-common-python/f5/bigip/tm/gtm/test/test_wideip.py
f5-common-python/test/functional/tm/gtm/test_wideip.py

aside from the plural -> singular, lgtm. singular can be fixed for both this and #673 in a later pr

ok can you open issue for that and assign to me :) ?

I've seen it both ways..
this PR is in alignment with existing ltm/pool/members


add md files to build scope

Docs Build status updates of commit 2f150f7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docfx.json
:white_check_mark:Succeeded

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 the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Add alias for Watch command to DotNetCoreAliases

In the same way that we can do:
DotNetCoreBuild
DotNetCorePublish
etc
Would be good to be able to run DotNetCoreWatch as a top level task in my Cake Build script.

The main help command for dotnet watch is:

dotnet watch --help
Microsoft DotNet File Watcher 2.2.0-rtm-35687

Usage: dotnet watch [options] [[--] <arg>...]

Options:
  -?|-h|--help            Show help information
  -p|--project <PROJECT>  The project to watch
  -q|--quiet              Suppresses all output except warnings and errors
  -v|--verbose            Show verbose output
  --list                  Lists all discovered files without starting the watcher
  --version               Show version information

Environment variables:

  DOTNET_USE_POLLING_FILE_WATCHER
  When set to '1' or 'true', dotnet-watch will poll the file system for
  changes. This is required for some file systems, such as network shares,
  Docker mounted volumes, and other virtual file systems.

  DOTNET_WATCH
  dotnet-watch sets this variable to '1' on all child processes launched.

  DOTNET_WATCH_ITERATION
  dotnet-watch sets this variable to '1' and increments by one each time
  a file is changed and the command is restarted.

Remarks:
  The special option '--' is used to delimit the end of the options and
  the beginning of arguments that will be passed to the child dotnet process.
  Its use is optional. When the special option '--' is not used,
  dotnet-watch will use the first unrecognized argument as the beginning
  of all arguments passed into the child dotnet process.

  For example: dotnet watch -- --verbose run

  Even though '--verbose' is an option dotnet-watch supports, the use of '--'
  indicates that '--verbose' should be treated instead as an argument for
  dotnet-run.

Examples:
  dotnet watch run
  dotnet watch test

It got two sub tasks, which are dotnet watch run and dotnet watch test
both of them got the same valid arguments as dotnet run and dotnet test.
NOTE: dotnet watch can only run on csproj files, not on solutions

I would like to do this. I have a couple of design questions. Should there be two separate aliases DotNetCoreWatchRun and DotNetCoreWatchTest with corresponding existing settings? Or should there be one DotNetCoreWatch with it's own runner and relies on DotNetCoreSettings and pattern matching?

@gep13 I know the suggestion was to make new aliases for DotNetCoreBuild and DotNetCorePublish, but dotnet watch also applies to run and test (and other dotnet commands).
How about adding a Watch property to the DotNetCoreSettings class, like:
    var settings = new DotNetCoreBuildSettings
     {
         Watch = true,
         Framework = "netcoreapp2.0",
         Configuration = "Debug",
         OutputDirectory = "./artifacts/"
     };

     DotNetCoreBuild("./src/*", settings);

This would, out of the box, work with DotNetCoreBuild, DotNetCoreBuildServer, DotNetCoreClean,  DotNetCoreMSBuild, DotNetCoreNuGetDelete, DotNetCoreNuGetPush, DotNetCorePack, DotNetCorePublish, DotNetCoreRestore, DotNetCoreRun, DotNetCoreTest, and DotNetCoreVSTest.
It probably doesn't make sense for all of these, but the Watch property could be forced false for the exceptions.

How should dotnet watch be executed from cake?
From a shell, the process 'hangs' until Ctrtl-C is pressed.
Should cake hang too? Or fire-and-forget?
If fire-and-foget, what if the script is run twice?

Some thoughts about this issue:

dotnet watch --version is its own separate command where the only purpose is to display version information. It doesn't actually start the watcher, so perhaps should be its own alias e.g. DotNetCoreWatchVersion or perhaps a different overload of DotNetCoreWatch instead of passing in a regular DotNetCoreWatchSettings

dotnet watch --list is its own separate command where the only purpose is to list all discovered files without starting the watcher, so perhaps should be its own alias e.g. DotNetCoreWatchList

dotnet watch supports multiple commands, such as dotnet watch run or dotnet watch test, etc., so perhaps there should be different settings for each command supported e.g. DotNetCoreWatchRunSettings, DotNetCoreWatchTestSettings, which combines the arguments accepted by dotnet watch with the corresponding arguments of the command being executed.

How will the user stop dotnet watch from running (i.e. using CTRL + C) without killing the Cake build process?

How to prevent CTRL + C from killing the build process when running directly e.g. dotnet cake
How to prevent CTRL + C from killing the build process when running Cake through a bootstrapper

build.cmd
build.ps1
build.sh

@augustoproiete

Would it be cleaner if we were to group list/version under the same watch alias? Maybe the overload implementation works here. It sounds like an overkill to have a new aliases for each flag, but let me know if you feel like splitting up is the right call.

Why do want separate settings for each command in watch? My understanding is that settings for aliases are used to specify flags for the command, and it looks like the flags for the different watch arguments (dotnet watch build/run/test) are all the same.

Would we want to implement a SIGINT handler/listener to terminate the watch and continue with the rest of the script?
Curious to hear other ideas for this.

Hey @creative-cloud, thanks for following-up on this.

Would it be cleaner if we were to group list/version under the same watch alias?

:thinking: I'm not sure. What would be an example call for each (list & version)?
DotNetCoreWatchVersion();
DotNetCoreWatchList();

or (is this what you're proposing?)
DotNetCoreWatch(new DotNetCoreVersionSettings());
DotNetCoreWatch(new DotNetCoreListSettings());

I think the first option looks cleaner and less verbose - especially considering that --version and --list doesn't have any other setting, so DotNetCoreVersionSettings and DotNetCoreListSettings would be empty classes.

Why do want separate settings for each command in watch?

Correct me if I'm wrong, but my understanding in pseudo-code of dotnet watch test would be the equivalent of running DotNetCoreWatch(DotNetCoreTest(new DotNetCoreTestSettings() { ... })), and something similar for the other commands.
If that's correct, then Test/Run/Build have different settings:

DotNetCoreTestSettings
DotNetCoreRunSettings
DotNetCoreBuildSettings

For example, DotNetCoreTestSettings allows you to define a filter to select which tests to execute. This setting does not exist in DotNetCoreRunSettings nor DotNetCoreBuildSettings.

Would we want to implement a SIGINT handler/listener to terminate the watch and continue with the rest of the script?

Maybe. I'm curious if this is even possible considering the whole process chain e.g. build.cmd => cake.exe => dotnet watch => dotnet run
How do we make the Cake runner process is the one capturing the event and handling it. Especially when executing from a bootstrapper.
This might be worth a PoC just to prove if it's possible.

Related discussion: Need help looking into error with -version flag for dotnet watch implementation #3273

@augustoproiete

I was planning on adding DotNetCoreTestSettings, DotNetCoreBuildSettings etc. as members of the DotNetCoreWatchSettings class that a user could then initialize as appropriate.
Using this implementation we would not need to create individual classes/settings for build, test and run.

Here is an example that illustrates the dotnet watch test command with DotNetCoreTestSettings.

 var testSettings = new DotNetCoreTestSettings() {...}

 DotNetCoreWatch("path/to/project",
    new ProcessArgumentBuilder().Append(WatchArguments.Test),
    new DotNetCoreWatchSettings()
    {
        Verbose = true,
        DotNetCoreTestSettings = testSettings
    });
});

Maybe. I'm curious if this is even possible considering the whole process chain

Hmm yes, multiple layers would complicate passing the signal.
I will have to read up on how C# handles signals, and will update this thread with a PoC if possible.

Thanks.

I was planning on adding DotNetCoreTestSettings, DotNetCoreBuildSettings etc. as members of the DotNetCoreWatchSettings class that a user could then initialize as appropriate

It's certainly a possibility. I guess it's a matter of personal preference.
The main reasons I'd prefer to have separate classes would be:

It helps developers fall into the pit of success by only allowing a single commands be configured, instead of configuring two, or three and know knowing what the outcome would be

It makes the intent more explicit, and abstracts the ProcessArgumentBuilder().Append**, etc. which ideally you'd never need to use (because the settings class exposes all the properties that the tool can receive). In my mind, the only reason someone should need to use ProcessArgumentBuilder().Append** is when the underlying tool has been updated and Cake's alias has not, so .Append is really just a workaround until Cake catches up with the tool's changes.

It can be less verbose, as there's less arguments to specify, and we could leverage inheritance, i.e. DotNetCoreWatchTestSettings can extend DotNetCoreTestSettings, etc.

// dotnet watch test ...
DotNetCoreWatch("path/to/project", new DotNetCoreWatchTestSettings()
{
    Filter = "...",
});

// dotnet watch run ...
DotNetCoreWatch("path/to/project", new DotNetCoreWatchRunSettings()
{
    NoRestore = false,
});

Compared to:
// dotnet watch test ...
DotNetCoreWatch("path/to/project",
    new ProcessArgumentBuilder().Append(WatchArguments.Test),
    new DotNetCoreWatchSettings()
    {
        DotNetCoreTestSettings = new DotNetCoreTestSettings
        {
            Filter = "...",
        },
    });
});

// dotnet watch run ...
DotNetCoreWatch("path/to/project",
    new ProcessArgumentBuilder().Append(WatchArguments.Run),
    new DotNetCoreWatchSettings()
    {
        DotNetCoreRunSettings = new DotNetCoreRunSettings
        {
            NoRestore = false,
        },
    });
});

Which would allow incorrect settings such as:
// dotnet watch build ... maybe (?)
DotNetCoreWatch("path/to/project",
    new ProcessArgumentBuilder().Append(WatchArguments.Build), // <<##<<##<<##<< OK, dotnet watch build
    new DotNetCoreWatchSettings()
    {
        DotNetCoreTestSettings = new DotNetCoreTestSettings // <<##<<##<<##<< But... With Test settings ?
        {
            Filter = "...",
        },
        DotNetCoreRunSettings = new DotNetCoreRunSettings // <<##<<##<<##<< And also with Run settings ?
        {
            NoRestore = false,
        },
        // <<##<<##<<##<< And where's the Build settings which is what this really needs?
    });
});

@creative-cloud & @cake-build/cake-team What do you think?

Also, --quiet and --verbosity are mutually exclusive, so a DotNetCoreWatchVerbosity enumeration is probably a better fit (and a mapping to/from Cake's Verbosity via extension methods would make sense too).

Makes sense, I am happy to roll with separate classes. Just felt like I should throw my thoughts out.


Ctrl C, when text is highlighted, should copy not cancel

Environment
WIndows 10.0.18362.0 Microsoft Windows NT 10.0.18362.0
Windows Terminal Preview 3
Steps to reproduce
Select text.
Press Ctrl C
Expected behavior
Per Windows behavior, Ctrl C should copy the text.
Actual behavior
Ctrl C cancels, potentially terminating foreground jobs. This makes sense from a terminal point of view, but Windows users are used to hitting Ctrl C to copy text. That there is some text selected is a good indication that the user wishes to copy, not to cancel.

Yes, you're spot-on about how it should work. Unfortunately, #1093 just "fixed" this by nonsensically introducing a different keyboard shortcut for the copy function. The correct solution was mentioned several times like here, but kicked to the kerb.
I can only assume it's being blocked by either ego or some internal spaghetti code.

@mikemaccana What do you have copyText bound to in your profiles.json? (you may have it bound 0, 1, or many times).

@zadjii-msft copyText doesn't appear in my profiles.json. Want me to trash the file and let Terminal recreate it?

Don't do that, just add a keybinding for copy (that was my bad the action is copy not copyText).
{ "command": "copy", "keys": ["ctrl+c"] },
{ "command": "paste", "keys": ["ctrl+v"] }

should do the trick

@zadjii-msft Done - adding that keybinding stops Ctrl C from cancelling when text is selected (yaay) but breaks cancelling when text isn't selected.

The comment mentioned earlier seems to say a lot of other people have the same idea: https://github.com/microsoft/terminal/issues/968#issuecomment-495935319

I'm gonna summon @carlos-zamora.
I thought we made copy only work if there was a selection, but I guess we still eat the keystroke. Maybe we shouldn't.

you definitely should, keyboard input shouldn't depend on mouse input - user shouldn't waste time to grab a mouse for deselection if she needs to stop some program

Various thoughts:

25 people voted for making Ctrl C copy if selected, cancel if not selected in the thread above

User can just bang Ctrl C and stop the program in most cases, deselection would only be needed if they explicitly selected something first.

Additionally, even if they had selected something, hitting Ctrl C twice would deselect/copy and then cancel

We could always make it configurable.

As of now, we still have keystrokes eating the escape sequence. So you either have a keystroke hooked up to a command, or it emmits the escape sequence. Though it isn't ideal, the current workaround is to bind "copy" to something that won't conflict with the escape sequence you want to emit.
Though making a kind of "smart copy" would work (and I'm adding it to the coming milestone), this does show that there is a bigger issue: how can you emit escape sequences when keystrokes are bound to an action?
Accessibility was top-priority for me last month. Now that we have a somewhat working model (still plenty of work to do there), I'm hoping to spend more time shared between interactivity and accessibility. Please be patient and respectful as we make progress. We do accept PRs, as we can't get to everything between releases.

I can only assume it's being blocked by either ego or some internal spaghetti code.

@CobusKruger, please let me refresh you on the Microsoft Open Source Code of Conduct. We can disagree here and have debates, but please halt yourself before assuming the motivations of others and attacking individuals personally or their work.
We are happy to continue to discuss the way that this prerelease product should evolve before it meets v1.0 (and even after 1.0!) Please exercise patience and understanding when working with us and members of the community as the software develops.

Design notes:
Each key binding handler needs to be augmented with a sender (maybe) and an event args (definitely). The event args should have a Handled() just like the key events at the Xaml layer.
This will let the Copy/Paste/MoveToTab (etc.) handlers report whether they did anything in response to the event being raised.
If a handler replies in the negatory, the event should fall through to the standard handlers.
Potential complexity:
We should be using event args to communicate everything about an event. For copy, that includes "filter newlines," and for "new tab" that includes "which profile index." We may cause a bit of an explosion in event argument types.
This will tie in with @zadjii-msft's work on key binding arguments, and may be a step towards implementing it.

@DHowett-MSFT I'm pretty sure you just described like 80% of what #1349 has in it

I don't understand the downvotes in the initial post. The described expected behavior is how cmd works today in Windows. An entire booth at the #build conference celebrated when the copy cmd+c functionality was announced.

I noticed selecting text with the mouse and copying works, but if I select the text using the cursor (shift+arrow-key) and then copy, nothing seems to be copied. Maybe shift+arrow-key doesn't seem to be selecting like I thought, but the issue seems to be related.

@DHowett-MSFT  based on the design notes, should we follow #1349 to monitor this becoming available?

The lack of this paired with the poor formatting of pasting copied text from terminal into other apps has basically been a blocker to me adopting it.  The improvements in conhost of the last few years have been so great, it's been impossible to go backwards.

@miniksa Yes, the tone of that initial response was too harsh. I've edited to tone it down but still get the point across. Hopefully the balance is better now.
I apologize for any offense caused.

As of Version 0.7.3451.0 this is not resolved. I deinstalled and reinstalled from the store and all settings were reset. Ctrl+C does not copy selected text.

@matthiasg Binding Ctrl+C to copy is a user preference that can be chosen by adding {"command": "copy", "keys": ["ctrl+c"]} to your key bindings.

I know , I did that again.
But is that really going to be the final stance on the issue? When the
terminal is released one day , then people cannot copy text from it until
they fiddle with some json file ?
I had read in some issue about this here that it was supposedly added to
new installs and only am issue with upgrades , hence my test.
On Thu, Dec 19, 2019, 20:50 Dustin L. Howett (MSFT) <
<EMAIL_ADDRESS>wrote:

@matthiasg https://github.com/matthiasg Binding Ctrl+C to copy is a
user preference that can be chosen by adding {"command": "copy", "keys":
["ctrl+c"]} to your key bindings.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/2285?email_source=notifications&email_token=AABYTUOLEUGNWIRDLNLDQGDQZPGANA5CNFSM4IJVAV3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHKXJMQ#issuecomment-567637170,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABYTUJMEUMR7WSXNSNNF4TQZPGANANCNFSM4IJVAV3A
.

I hope so, there is no reason to make "stop application" combination to copy text by default

@renha When text is selected (which also stops all console output normally ) ? I mean it could just copy like on a unix shell which would be even better, but windows users would expect ctrl+c after selecting text to copy text.

could just copy

You can setcopyOnSelect to true to get that behavior, actually. It’ll free up Ctrl+C to send Cancel if you had otherwise had it bound.
This is clearly a thorny issue.

Agreed. Obviously not ideal that Windows Shortcut for 'Copy'
is the same as the signal shortcut to command line processes but some working defaults should be in.
I believe once text is selected CTRL+C as copy makes sense. If someone accidentally forgets to selects text and then kills a process, I would file that as user error. It is a console after all. Can be disabled in settings but default does the right thing in both cases.

It's unclear to me why Ctrl+C/V isn't the default keybinding like in cmd.exe with copyOnSelect set to true.

Ctrl-C cancels on most modern terminals. If you're using copyOnSelect you
don't need to copy separately.
On Tue, 7 Jan 2020, 23:12 Viktor Hofer<EMAIL_ADDRESS>wrote:

It's unclear to me why Ctrl+C/V isn't the default keybinding like in
cmd.exe with copyOnSelect set to true.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/terminal/issues/2285?email_source=notifications&email_token=AABKEMTHO2BDWNAVCAZSJWTQ4UD6FA5CNFSM4IJVAV3KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIKTWUI#issuecomment-571816785,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABKEMQ4E2T3326QMA4E63TQ4UD6FANCNFSM4IJVAV3A
.

Is there a UserVoice for Windows Terminal? I hit the same issue. It's one of those things I've just come to expect from consoles now.

@smflorentino this GitHub repo is essentially our UserVoice. Also note that ctrl+c to copy when text is selected has worked for a number of releases now, _as long as you add  {"command": "copy", "keys": ["ctrl+c"]} to your keybindings. Are you seeing some new issue where that's not working for you?


Remove version: FreePascal.FreePascalCompiler version 3.2.0

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

Close with reason: URL works;


Add a deadline for claiming refunds in RefundVault

Unclaimed funds will be locked in the refund vault (and lost forever) if some contributors never ask for a refund.
Possible solution: contributors should have a deadline (let's say 365 days) to ask for a refund, then the owner should be able to release the remaining unclaimed funds to the wallet.
I don't have time to test or make a pull request, but basically it should looks like this:
contract RefundVault is Ownable {
  using SafeMath for uint256;

  enum State { Active, Refunding, Closed }

  ...

  /**
    * Contributor have 365 days to ask for a refund, then the
    * the remaining unclaimed funds can be released by the owner
    */
  uint256 public refundDeadline; // refund deadline for contributors

  ...

  /*
   * when enableRefunds() is called, set the deadline from now
   */
  function enableRefunds() onlyOwner public {
    require(state == State.Active);
    refundDeadline = now + 365 days;
    state = State.Refunding;
    RefundsEnabled();
  }

  ...
  ...

  function closeVault() internal {
    state = State.Closed;
    wallet.transfer(this.balance);
    Closed();
  }

  function close() onlyOwner public {
    require(state == State.Active);
    closeVault();
  }

  /*
   * Release and transfer the remaining unclaimed funds when deadline is over
   */
  function releaseUnclaimedFunds() onlyOwner public {
    require(state == State.Refunding && now >= refundDeadline);
    closeVault();
  }
  ...

}

Hi @dmx374! Thanks for reporting.
This has been brought up before in #310. I don't agree that the funds are locked or lost forever, because anyone can trigger an investor's refund. It's possible to write a script that will get the investors' addresses from Crowdsale events and empty the RefundVault completely. I find this behavior to be more investor-friendly than the proposed alternative, would you agree?

Hmmm, I let me check if we can do something better. I don't really like the refund method mechanism you implemented. People should not be able to refund on the behalf of others.
In general, I think people should control they own money, so It's best to avoid any method that let someone buy, or sell, or refund on the behalf of others.
I think the only reason you did this that way is that a guy (or escrow, or a bot/script) can take care of refunding everyone for convenience?
Another solution would be to implement the whole thing like this, so people have absolute control over their own funds:

/* refund myself, and only myself */
function refund() public {
    require(state == State.Refunding);
    require(deposited[msg.sender] > 0);

    uint256 weiAmount = deposited[msg.sender];

    deposited[msg.sender] = 0;
    msg.sender.transfer(weiAmount);

    LogRefunded(msg.sender, weiAmount);
}

/* exit the refund vault and immediately release my funds to the project */
/* OR: I don't want to be refunded, keep my money, I love your project, my 2 cents .. */
function release() public {
    require(state != State.Closed);
    require(deposited[msg.sender] > 0);

    uint256 weiAmount = deposited[msg.sender];

    deposited[msg.sender] = 0;
    wallet.transfer(weiAmount);

    LogReleased(msg.sender, weiAmount);
}

In general, I think people should control they own money, so It's best to avoid any method that let someone buy, or sell, or refund on the behalf of others.

Can you explain this further? Why is it best to avoid such things? Because of security, legal reasons, or something else? We implemented refunds in this way because we saw no problem with it.
I think the release functionality you proposed is quite interesting, but I don't see how it's a solution or relates to the problem of stuck funds.

I understand your point of view, but it might cause multiple problems (legal, and technical).
It's like someone can get access to your bank account and transactions, and decide to refund something on your behalf without your consent.
Worst: imagine a guy buy tokens from a crowdsale. Then, a few days later he lost his private key and had to create another wallet. This case is rare but with your public "auto-refund" mechanism, his funds will be lost forever in his old wallet. I think the best compromise (and the more elegant solution) is to just add these 2 methods to your implementation so people can get maximum control over their funds.

/* refund me (and only me) and send the funds to the provided address */
function refundMeTo(address beneficiary) public {
    require(state == State.Refunding);
    require(beneficiary != address(0));
    require(deposited[msg.sender] > 0);

    uint256 weiAmount = deposited[msg.sender];

    deposited[msg.sender] = 0;
    beneficiary.transfer(weiAmount);

    LogRefunded(msg.sender, weiAmount);
}

/* exit the refund vault and immediately release my funds to the project */
/* OR: I don't want to be refunded, keep my money, I love your project, my 2 cents .. */
function release() public {
    require(state != State.Closed);
    require(deposited[msg.sender] > 0);

    uint256 weiAmount = deposited[msg.sender];

    deposited[msg.sender] = 0;
    wallet.transfer(weiAmount);

    LogReleased(msg.sender, weiAmount);
}

You could also do something like this:
if msg.sender == owner => allow refund to any address (as existing)
if investor == 0x0 => send balance of msg.sender to sender
if investor != 0x0 => send balance of msg.sender to investor address

@dmx374 Let's imagine an investor lost his private key, how come the refundMeTo function could help in this case? He won't be able to call from his wallet.

@dmx374 how does he prove he owns that key, in the first place?

I understand your point of view, but it might cause multiple problems (legal, and technical). It's like someone can get access to your bank account and transactions, and decide to refund something on your behalf without your consent.

We do this all the time: my bank transfers money automatically to my credit card, ISP, etc. on a monthly basis, Amazon refunds me money if a seller cancels a purchase, Kickstarter does refunds if a goal is not met, etc. You're not giving random people access to your money, you're saying "if this doesn't go through, I want my money back".

Worst: imagine a guy buy tokens from a crowdsale. Then, a few days later he lost his private key and had to create another wallet. This case is rare but with your public "auto-refund" mechanism, his funds will be lost forever in his old wallet.

If you lose the private key, how could you possibly reclaim the money that was going to be sent to your old address?
Closing due to inactivity.


Can't tap on specific TextSpan with GestureRecognizer in driver tests.

Steps to Reproduce
class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: Text.rich(TextSpan(
            text: 'Something something something. ',
            children: [
              TextSpan(
                text: 'Tap me.',
                recognizer: TapGestureRecognizer()
                  ..onTap = () => print('Hello there!'),
              ),
            ],
          )),
        ),
      ),
    );
  }
}

Expected results: I'm able to write a driver.tap(finder.byText('Tap me.')) or anything else to test whether clicking a link does what I want it to do.
Actual results: I can't make driver tests tap exactly on this link.
Flutter 1.22.0 • channel stable • https://github.com/flutter/flutter.git
Framework • revision d408d302e2 (3 days ago) • 2020-09-29 11:49:17 -0700
Engine • revision 5babba6c4d
Tools • Dart 2.10.0

@Albert221
Flutter driver doesn't yet fully support RichText widget implementation. Please see this PR for reference along with this comment.

closed by accident and typed in too early -)

Hm, okay, I then gotta wait for a fix for that. For now I'll just transform this RichText to a Row which isn't ideal but will serve as a temporary fix.
But I'm not sure why did you mark the issue as 'waiting for customer response' :)

@Albert221 Friday distraction.. :-).
Closing as duplicate of 62489