Update Azure SQL Authentication to use Azure.Identity

Checklist

[X] I have read the Contributing Guide
[X] I have checked to ensure this does not introduce an unintended breaking changes
[X] I have considered appropriate testing for my change

Description
Replace deprecated package Microsoft.Azure.Services.AppAuthentication with Azure.Identity
Resolves #12

Thanks I'll pull this in when we drop support System.Data.SqlClient as this is also a breaking change.

@droyad If you don't mind educating a fellow engineer, would you be willing to explain why it'd be better to wait for another major version bump?
My understanding is that:

The public API hasn't changed, so this change in and of itself is not a breaking change.
The new dependency Azure.Identity doesn't have major version 2, so I don't think consumers will be negatively affected by the new dependency.
The issue was first reported in July 2022, so I'm sure there are people waiting for this.

(Hope I didn't miss anything obvious.)

Thanks I'll pull this in when we drop support System.Data.SqlClient (a breaking change).

@droyad this update shouldn't be a breaking change since it doesn't change behavior or API surface, just swaps a deprecated dependency for its replacement, and has no dependency on System.Data.SqlClient. Perhaps a minor version bump instead of wait for the next major release?
As mentioned by @Bartleby2718 - the usage of the deprecated package is causing dbup-sqlserver to be flagged by security scanners and a higher priority issue than removing the System.Data.SqlClient package which is not yet deprecated (just needs version bump to resolve security vulnerability).

Alright how does that look?
If ok, could you give it a quick manual test and I'll merge it. I don't have AAD Integrated DB on hand.

Is it necessary to explicitly depend on Azure.Identity? The Microsoft.Data.SqlClient already depends on it.

or maybe you could just depend on Azure.Core?

Is it necessary to explicitly depend on Azure.Identity?

It does not need it. I've removed it.

@droyad consider the version of Azure.Identity - Microsoft.Data.SqlClient requires Azure.Identity 1.11.3 or greater, but that version of Azure.Identity has a vulnerability and should be bumped to 1.12.0

@droyad consider the version of Azure.Identity - Microsoft.Data.SqlClient requires Azure.Identity 1.11.3 or greater, but that version of Azure.Identity has a vulnerability and should be bumped to 1.12.0

The Microsoft.Data.SqlClient dependencies are a mess, however I think you should do this in your own projects otherwise this repo will become the place to complain/ask to fix Microsoft.Data.SqlClient's bad versioning practices.

The latest SqlClient references Identity 1.11.4 which doesn't have a vulnerability. We'll update SqlClient.


#17412 Array of structs support (PG)

The row data looks strange in case the row is not expanded (Show complex column structure is disabled. Value in the filter also looks strange

This is how array elements look now with disable struct transformer.


Showing of person details can be improved in terms of design and layout

Right now in PROperty, the show command displays detailed information about the person selected (see attached screenshot). However, the layout seems quite rough and can be improved, such as the cutting off of the address field instead of wrapping the address in multiple lines, as well as the font size being inconsistent between the tags and headers.
The listings list for each person can also be improved to adopt a tabular/list format as it will be more visually appealing for users.

Already completed via #223 and #208.


limit attribute of IOContext is used for html generation

See #1098

The default is the same as before (e.g. coupled to displaysize). Only if you set IOContext limit=false the output will be unlimited.


Aggregation of user information

When tech companies connect various services through a unified account and aggregate a wider range of user data, the privacy and security risks related to breaches and unauthorized access magnify. However, without clear disclosure about such data aggregation users cannot understand the possible impact there could be on their privacy if their data was compromised. Hence, I also recommend adding the following indicator either under "data collection" or under a new criterion on data aggregation:

The company clearly discloses whether it combines user information from various company services.

Thanks, @TatevSarg! We support the expansion of Data Collection, but this might be too specific. We look forward to discussing this in our next meeting.

Hey @TatevSarg--do write this up as a pull request if you feel son inclined! Otherwise, @secretrobotron will endeavor to create a pull request based off this issue.
Thanks!

Under Data Use, an indicator should be created for whether or not the company aggregates personal data with the data collected from third-parties. Some privacy policies have stated that they will share this aggregated data with their affiliates.


Compatibility Update Needed for Android 14

I hope you are doing well! I want to take a moment to express my appreciation for this app. I use it on all my Android devices, also shared with my family. It has become an essential part of my daily routine.
However, I've recently encountered compatibility issues with Android 14. I was not able to install it on the new device. When it's not compatible, it really affects my overall experience. I would greatly appreciate it if you could consider updating the app to support Android 14.
Thank you for your hard work, and I look forward to any updates!

Bypassed by USB Debugging
adb install --bypass-low-target-sdk-block de.onyxbits.remotekeyboard_8.apk

This really is a useful app, I still use it to this day.  Maybe somebody can compile an updated version.


Load Balancer does not work if docker instances are in different hosts

Rancher Version: Click on the cow icon in the upper left corner to provide us the info.
Rancher	v0.39.0
Cattle	v0.95.0
User Interface	v0.52.0
Rancher Compose	beta/latest

Rancher Setup: What is your setup of Rancher?
On a OS X 10.10.5, with VirtualBox 5.0

docker-machine create rancher-master --driver=Virtualbox
on master:
docker run -d --restart=always -p 8080:8080 rancher/server

on the others hosts, manual host addition with
docker-machine create rancher-minion-1 --driver=Virtualbox
docker-machine create rancher-minion-2 --driver=Virtualbox
docker run -d --privileged -v /var/run/docker.sock:/var/run/docker.sock rancher/agent:v0.8.2 http://...redacted...

Internal Rancher server DB, external DB? bind mount MySQL volume? - Internal DB
Authentication? GitHub, LDAP (With or without TLS), Local - Tried both with GH and no Auth
Rancher Hosts:
Is Rancher server on the same host as Rancher agent? If so, please make sure that the IP of the shared host has the server IP displayed in the UI. If not, please read more about how to correct.
No, they are different VMs
If you’ve used Rancher’s managed network, can containers in host A ping containers in host B? You can check by exec into a container on Host A and ping the IP of a container on the Host B.
It can't ping using the 10.* IPs
If you see a host on the UI with IP (<IP_ADDRESS>) or starting with 172.17.x.x, then please double check to see if the IP is the actual IP of the host. These IPs tend to be the docker internal IP and will not work. You will need to re-register your host with the correct IP.
I don't see such IP
Service/Load Balancer Issues:
Provide your docker-compose.yml file for your stack by clicking on the paper icon in the detailed Stack View.
docker-composer.yml:
lb-hw:
  ports:
  - 9080:8080
  restart: always
  tty: true
  image: rancher/load-balancer-service
  links:
  - go-hw-debug:go-hw-debug
  stdin_open: true
go-hw-debug:
  ports:
  - 8080:8080/tcp
  restart: always
  tty: true
  image: ccirello/helloworld
  stdin_open: true

rancher-composer.yml:
lb-hw:
  scale: 1
  load_balancer_config:
    name: lb-hw config
go-hw-debug:
  scale: 1

Just to confirm are the IPs of the hosts in the UI different IPs?

Yes

I'm seeing the same issue. I have two Docker hosts in my Rancher environment, one of which is running the Rancher server itself. I defined a new stack, added a service for a Tomcat container with a webapp and scaled it up to 4. It scheduled two instances of the service on each host. I then added a load balancer service to the stack and pointed it at the Tomcat service.
However, when I apply load to the load balancer IP+port, I only see CPU activity for the Tomcat containers on the same host as the load balancer. The Tomcat containers on the other host are not receiving any traffic.
Looking at the Infrastructure>Containers page, every container has a unique IP.

Closing by the closure of #2063

@ccirello I'm going to re-open as your LB is not working because your hosts can't communicate with each other. I'll just rename the issue as we investigate your setup.

@ccirello I just looked at your stack again and wanted to let you know that it shouldn't work on the same stack due to the Hairpin NAT issue (https://github.com/rancher/rancher/issues/1920). Basically, a LB wouldn't be able to access a public port ont eh same host.  You don't need the
ports:
   8080:8080

in your go-hw-debug service unless you are planning on access the service directly. If you are going to access it through the LB, you don't need to make it public.
Can you try your setup and ensure there are at least 2 containers on each host (not including the network agent)? After there are 2 containers, can you see if the network agents can ping each other?

related #2174
@ccirello take a look in this issue i open a few days ago

@ccirello We just updated our troubleshooting FAQs to provide some instructions on what communication should be working.

@ccirello
http://docs.rancher.com/rancher/faqs/troubleshooting/

I am gonna check this out and get back ASAP.

@ccirello If you're still having issue with cross host communication, please re-open.


Including absolute internal links while excluding all external links

I know by default LINK_SELECTOR looks for relative links with href attributes that start with a "/", but many CMS automatically inject the full URL even when linking to a page internal to the app.
Is there an easy way to compare current host to link target to exclude all external URLs but allow internal URLs even when they are absolute?

Thanks, the dynamic solution is perfect.

You're welcome. Thanks for the insight. I will consider changing the default options.


add filter button to controls

User Story
In today's version of Automate, we have these handy-dandy filter buttons on the nodes list and profiles list.
Example:

the filter button is the one just to the left of the scan results button.
With the (soon-arriving) addition of deep filtering, we expect that more users will want to filter by control. Instead of making them type up the control every time, we could add the same filter button to the places in the ui where we list controls.
Those are:

[ ] scan results (accessible from reporting nodes list and reporting profiles list)
[ ] reporting profile details (accessible by clicking on a profile in reporting profiles list)
[ ] reporting node details (accessible by clicking on a node in reporting nodes list)

required: ux designs
Definition of Done
filter buttons on all control lists

this whole thing should be made easier by the controls list work

For the sake of getting this enhancement out, we can just add the functionality now, and then retro fit the buttons into the combined ellipses button. I opened another issue for that work.
https://github.com/chef/automate/issues/1331


Add extent named tuple

Description
This PR closes #1697 by adding a namedtuple for data and world extent, so you can do layer.extend.data. I quite like how it's turned out where the named tuple is really a view into a private attribute. Curious what @jni and others think. I had considered creating an extent object like this, but think the namedtuple approach is preferable.
I can add more doc strings if people want too.
Type of change

[x] Refactor (non-breaking change which fixes an issue)

@sofroniewn I've gone ahead and applied the suggestions. I'll let this sit for you to review+merge in the morning!

Changes LGTM! Thanks for the quick review @jni - I will merge now


Authorize multiple users to arise errors?? eos version 1.0.1

cleos set account permission liontoken active '{"threshold":1,"keys":[],"accounts":[{"permission":{"actor":"liontable","permission":"active"},"weight":1},{"permission":{"actor":"eosio1","permission":"active"},"weight":1}]}' owner
Error 3050000: action exception
Error Details:
Invalid authority: {"threshold":1,"keys":[],"accounts":[{"permission":{"actor":"liontable","permission":"active"},"weight":1},{"permission":{"actor":"eosio1","permission":"active"},"weight":1}],"waits":[]}
but one user is ok
cleos set account permission liontoken active '{"threshold":1,"keys":[],"accounts":[{"permission":{"actor":"liontable","permission":"active"},"weight":1}]}' owner
executed transaction: acffccd2663b4946c88b05408b9f275cee4a07b693b22bb48c851b69038b7b21  144 bytes  1099 us
eosio <= eosio::updateauth            {"account":"liontoken","permission":"active","parent":"owner","auth":{"threshold":1,"keys":[],"accou...
warning: transaction executed locally, but may not be confirmed by the network yet
thanks！！！

seems a dupe of #4040


testing of pre-trained model on different test dataset

Hi,
I hope that you are doing ok.
Background:
I am working on uncertainty estimation so, I need to test models trained on one dataset (say MNIST) on test data from different datasets(say Fashion MNIST, NOTMINIST).
Problem:
I have a question regarding testing of pre-trained model saved at <saved/[model_name]/model_best> on test data from different dataset.
For Example say, I trained my MNIST model on MNIST dataset and I want to test that trained model through "model_best.pth" saved in <saved/[model_name]> on FashionMNIST test data. How can I do that?
Upon testing I am adding resume argument to model_best which I believe probably has information regarding the dataset for testing.
Changing the config.json file's dataset path in <saved/[model_name]> doesn't do any good too. It always goes to the dataset model was trained on.
Would be kind enough to tell me how can i go around this problem?

Maybe there are several solutions possible on this.
I think switching the dataset by using training argument of data_loader class would be simplest one.
change line 14 to 15 of data_loader.py which is
self.data_dir = data_dir
self.dataset = datasets.MNIST(self.data_dir, train=training, download=True, transform=trsfm)

into
self.data_dir = data_dir
if training:
    self.dataset = datasets.MNIST(self.data_dir, train=training, download=True, transform=trsfm)
else:
    self.dataset = datasets.FashionMNIST(self.data_dir, train=training, download=True, transform=trsfm)

But in this case FashionMNIST will just load files from self.data_dir, which contains MNIST. That is because those data sets have identical format, making pytorch dataset class can't tell them apart.
So, we should also change the directories where datasets are saved here.
if training:
    self.data_dir = os.path.join(data_dir, 'mnist')
    self.dataset = datasets.MNIST(self.data_dir, train=True, download=True, transform=trsfm)
else:
    self.data_dir = os.path.join(data_dir, 'f_mnist')
    self.dataset = datasets.FashionMNIST(self.data_dir, train=False, download=True, transform=trsfm)

This should work, but I did not tested yet.

This is absolutely going to work. I will test it first thing when I'll be free.
Earlier I coded it explicitly in test.py file where it is instantiating data_loader(line 14-21) like this:
data_loader = module_data.FashionMNIST("data/", batch_size=512, shuffle=False, validation_split=0.0,         training=False, num_workers=2     )
FashionMNIST is my data loader class in "data_loader/data_loaders.py".
I have couple other data loader modules there as well, and I need to cross test every datatset's test data  with every other dataset's. So that means if I follow the solution you suggested then I'll need to pass some variable in to every module data_loaders.py and then put if else conditions or switch right?
I was looking for some solution like, manipulating it from model_best.pth or config.json file, if that's possible.

The config.json is saved into the saved/[model name], but there is another copy of config which is saved inside of model checkpoint (pth file). 'resume' option will load configuration from the pth itself, not the json file, which makes those changes in json file ignored.
I agree that this can be confusing a little bit and will try to find if there is simpler way of doing this.


Issue 216

Parameterless listTables and queryTables have identical behavior.
Add prefix property to QueryTablesOptions.
If prefix and query filter are both provided, they are combined by
an 'and' expression.

Verified works as expected.


No roles migration?

Roles table is empty after installing the project, what am I doing wrong?
Using v9.14
I see "permissions" column in the DB with the permissions, but I can't see the "Systems" links in the dashboard (to list / edit the users / roles / etc)

Fixed it, had to add this to the model
protected $casts = [
        ... (another casts),
        'permissions' => 'array',
];


Update FSharp.Compiler.Service and FSharp.Core to the '9' versions

refs https://github.com/ionide/FSharp.Analyzers.SDK/issues/221
Note: I'm trying to learn a bit more about how this stuff works, so I'm not certain how the new null AST bits like SynType.WithNull should be handled

Green! Thank you @Numpsy and @nojaf :)  Will push out a new release shortly with this.


[v1.27.0] chore: miscellaneous fixes

Proposed changes
This PR fixes various small issues:

setup_class/teardown_class misuse is fixed throughout
meta classes are used to verify correct test case setup

Fixes
https://github.com/valory-xyz/open-aea/issues/492
Types of changes
What types of changes does your code introduce to agents-aea?
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist
Put an x in the boxes that apply.

[ ] I have read the CONTRIBUTING doc
[ ] I am making a pull request against the develop branch (left side). Also you should start your branch off our develop.
[ ] Lint and unit tests pass locally with my changes and CI passes too
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked that code coverage does not decrease.
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Further comments

Codecov Report
Base: 92.90% // Head: 92.90% // Decreases project coverage by -0.00% :warning:

Coverage data is based on head (4b53ad6) compared to base (deaef6b).
Patch coverage: 92.98% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #505      +/-   ##
==========================================
- Coverage   92.90%   92.90%   -0.01%
==========================================
  Files         353      353
  Lines       28758    28798      +40
==========================================
+ Hits        26718    26754      +36
- Misses       2040     2044       +4

Flag
Coverage Δ

unittests
92.90% <92.98%> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

aea/test_tools/click_testing.py
97.84% <87.50%> (-1.03%)
:arrow_down:

aea/test_tools/test_skill.py
99.04% <89.47%> (-0.96%)
:arrow_down:

aea/test_tools/test_contract.py
99.03% <96.55%> (-0.97%)
:arrow_down:

aea/__version__.py
100.00% <100.00%> (ø)

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.


Post Body Size Toggling

Added the ability to toggle the post body size, defaulting to collapsed and displaying 4 lines.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#109  👈
#108
main

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

Join @Rahkeen and the rest of your teammates on  Graphite

Merge activity

Aug 8, 6:45 PM EDT: @Rahkeen started a stack merge that includes this pull request via Graphite.


Fix typo

The description for the root node command was wrongly copied.

Thanks for this PR. Meantime I've fixed this typo in other PR.


Feature request: Direction indicator needed

One component that is notably missing from Dash DAQ is a circular direction indicator to show, rotationally, which way something is facing. This would be like the current gauge component but without any gap at the bottom. This is useful for everything from robot control to weather gauges. While this can be faked with some sort of radial Plotly plot there are a number of problems with that approach, including inconsistent styling and less efficient value updates.
It would be helpful to be able to set the markers not just as numbers (0, 90, 180, 270) but also as text (0, π/2, π, 3π/2, 2π, or N, NE, E, SE, S, SW, W, NW).
Sadly my JavaScript skills are not up to creating this from scratch but if the maintainers would consider this for a future release it would be much appreciated.

Like a compass? Good idea.
Are there any examples that you could link?

I quite like this direction compass on SyncFusion.
AnyChart has a wind direction gauge, although it's not that pretty.
There's a pure CSS direction gauge on codepen.io.

Any updates on this?


[7460] - use slug in error reporting

Context
Sentry trainee related error should use trainee slug and not id
Changes proposed in this pull request
Replaces ID with slug and provides a URL to the trainee

 Sentry trainee related error should use trainee slug and not id


chore: Update packages

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 17.024%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
136

Relevant Lines:
866

💛  - Coveralls


"Discover Wikibase manifests..." button

OpenRefine 3.6 comes with a very handy new Discover services... button in the reconciliation dialog that helps people discover reconciliation services (clicking the button will bring folks to https://reconciliation-api.github.io/testbench/#/ which lists many of these services).

Similarly, it would be great (and a uniform pattern) if we had a similar Discover Wikibase manifests... button in the Wikibase extension's 'Select Wikibase instance' dialog window.

When clicking on that new button, folks could be led to https://github.com/OpenRefine/wikibase-manifests. This could also be an encouragement for more Wikibase maintainers to publish their manifests there.

I actually think this was an idea from @lozanaross - credit where credit is due 😇🥇

Just a note about the text on the button: I would find it more appealing to have something like "Discover Wikibase instances…" or "Discover Wikibases…" because the manifest is just a rather technical thing.

I vote for "Discover Wikibase instances..." for consistency with the title of the dialog, which is "Select Wikibase instance"

I can work on this tomorrow.


'preact/devtools' waiting for routes to load...

Hey there,
So i'm having some troubles with getting the ReactDevTools working with Preact...
Basically, in the area where
the react element tree usually is, it just says:
"Waiting for routes to load...
to reload the inspector [click-here]"
screenshot

app.jsx:
...
import 'preact/devtools';
...

deps & particulars
package.json:
"preact": "^8.2.5",
"preact-compat": "^3.17.0",
"webpack": "^3.5.5",
"react-hot-loader": "^3.0.0-beta.6",
"webpack-dev-server": "^2.7.1"

webpack.config.js:
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const BundleTracker  = require('webpack-bundle-tracker');
const FriendlyErrorsWebpackPlugin = require('friendly-errors-webpack-plugin');
const ip = require('ip');

module.exports = {
  devtool: 'eval-source-map',
  // devtool: 'source-map',
  entry: [

    // activate HMR for React
    'react-hot-loader/patch',

    // bundle the client for webpack-dev-server
    // and connect to the provided endpoint
    `webpack-dev-server/client?http://${ip.address()}:3000`,

    // bundle the client for hot reloading
    // only- means to only hot reload for successful updates
    'webpack/hot/only-dev-server',

    // Actual code entry point:
    './app/frontend/app.jsx'
  ],
  output: {
    path: path.resolve('./dist/'),
    filename: '[name]-[hash].js',
    publicPath: `http://${ip.address()}:3000/`,
  },
  resolve: {
    modules: [
      'node_modules',
    ],
    descriptionFiles: ['package.json'],
    alias: {
      // "react": "preact-compat",
      // "react-dom": "preact-compat",
      // "preact-compat": "preact-compat/dist/preact-compat"
    },
  },
  plugins: [

    // Render a html file just for when we need to axs the webpack-dev-server:
    new HtmlWebpackPlugin({
      template: 'app/backend/templates/index.html',
      inject: 'body',
      filename: 'index.html',
      cache: false
    }),

    // ENV settings:
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify('development'),
    }),

    // Output a manifest file of webpack generated files etc:
    new BundleTracker({path: __dirname, filename: './app/backend/webpack-stats.json'}),

    // enable HMR globally
    new webpack.HotModuleReplacementPlugin(),

    // prints more readable module names in the browser console on HMR updates
    new webpack.NamedModulesPlugin(),

    // do not emit compiled assets that include errors
    // new webpack.NoEmitOnErrorsPlugin(),

    // friendlier webpack errors:
    new FriendlyErrorsWebpackPlugin(),
  ],
  module: {
    rules: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        loader: 'babel-loader',
        query: {
          babelrc: false,
          presets: [
            ['es2015', { loose:true }],
            'stage-0'
          ],
          plugins: [
            'transform-react-remove-prop-types',
            ['transform-react-jsx', {
              'pragma': 'h'
            }]
          ]
        }
      }, {
        test: /\.json?$/,
        use: 'json-loader'
      }, {
        test: /\.html?$/,
        use: 'html-loader'
      }, {
        test: /\.css$/,
        use: [
          'style-loader',
          { loader: 'css-loader',
            options: {
              importLoaders: 1,
              modules: true,
              localIdentName: '[name]__[local]___[hash:base64:5]'
            },
          },
          { loader: 'postcss-loader',
            options: {
              sourceMap: 'inline',
              context: path.join(__dirname, 'app/fontend/css'),
              plugins: (loader) => [
                require('postcss-import')({ root: loader.resourcePath }),
                require('postcss-cssnext')()
              ]
            }
          }
        ]
      }, {
        test: /\.(jpe?g|png|gif|svg|woff|woff2|mp3)$/i,
        use: 'file-loader?name=[name]-[hash].[ext]',
      }
    ]
  },
  devServer: {
    host: 'localhost',
    port: 3000,
    quiet: true,

    // Allow the HMR JS to be rendered:
    headers: { "Access-Control-Allow-Origin": "*" },

    // optional inline setting?
    inline: true,

    // respond to 404s with index.html
    historyApiFallback: true,

    // enable HMR on the server
    hot: true
  },
};

Build works fine, no errors etc.
Is anybody else getting this problem too?

Interesting.
I solved this issue, by more closely mimicking the structure for https://github.com/developit/preact-boilerplate/

Yup @grumpytim - react-hot-loader would be the likely cause here.

Actually, it seems to be fine with the new reat-hot-loader beta. I just had to re-arrange the dir structure a tiny bit, so that my index.js more closely resembled the preact-boilerplate.


Fix custom emoji render

Summary
This PR fixes the rendering of custom emojis by using the emojiName as the file name to be saved on the device

It was adding additional / so the local path was actually incorrect, in other cases we pass null instead and it parses the url to get the filename, if we do this here all emoji’s would have the filename image.png and that would cause them to be overwritten


Remove unnecessary '.expo-shared' folder

Hi,
".expo-shared" folder is no longer located on the expo-template-blank-typescript.

Thanks for your contribution @mhmmdd!


Add a sub-directory for world files…

so we can mount them separate from server files.
This achieves persistence of server files by creating a volume mount for server binaries.
This PR addresses issue #3

This no longer seems relevant after PR #5
Also, the path to the server files (the DLL files) is in /data, in /data/server-file there are the game configs and save files


AttributeError: 'Session' object has no attribute 'enable_jit'

Hey!
First off -- thanks for building this tool, really looking forward to getting it working!
Not really sure what I'm doing wrong. Whenever I run the tool I get the following error: AttributeError: 'Session' object has no attribute 'enable_jit'.
I've manged to get the tool to running if I comment out session.enable_jit(), however this then prevents any testing in the chrome console. Never used Frida and have searched around the docs / stackoverflow but can't seem to find anyone else with this issue. May have been depreciated? Cheers!

UPDATE: This is because enable_jit() has been depreciated in Frida


Are comments giving away bug location/fix hints?

I'm not sure if these patch files are the ones actually used. If so, I've found that in some of them comments that I think were introduced together with the fix also appear in the "buggy version".
Note that  I'm absolutely not sure this is really the case, it just seems like it.
As an example, in Lang#7 (below) I think the comment between lines 20 and 23 is part of the context, while I think it should be part of the patch.
https://github.com/rjust/defects4j/blob/e85036c044320f11df22d3f23f248fdd4e99a41b/framework/projects/Lang/patches/7.src.patch#L19-L24
Should these comments be in the original version (again, I might be mistaken) then repair and localization models might use these comments as a shortcut?

There seem to be quite a few other cases that I find strange (for now just looked at the Time project). I tried doing a checkout with the D4J scripts for a couple of them and the buggy version indeed showed indentation and/or comments that hint at the bug location. E.g., the in Time#3, the setMillis call is indented to a level that suggests it should be wrapped by an if. I guess LLMs can easily pick these things up?
Similarly, in other cases, such as Time#12, there appear comments (with or without suggestive indentation) that seem to belong to the insertion. This is how my buggy checkout of Time#12 looks, the //handle years in era BC comment seems out of place.
    @SuppressWarnings("deprecation")
    public static LocalDateTime fromDateFields(Date date) {
        if (date == null) {
            throw new IllegalArgumentException("The date must not be null");
        }
            // handle years in era BC
        return new LocalDateTime(
            date.getYear() + 1900,
            date.getMonth() + 1,
            date.getDate(),
            date.getHours(),
            date.getMinutes(),
            date.getSeconds(),
            (((int) (date.getTime() % 1000)) + 1000) % 1000
        );
    }

https://github.com/rjust/defects4j/blob/e85036c044320f11df22d3f23f248fdd4e99a41b/framework/projects/Time/patches/3.src.patch#L38-L42
https://github.com/rjust/defects4j/blob/e85036c044320f11df22d3f23f248fdd4e99a41b/framework/projects/Time/patches/27.src.patch#L8-L14
https://github.com/rjust/defects4j/blob/e85036c044320f11df22d3f23f248fdd4e99a41b/framework/projects/Time/patches/21.src.patch#L25-L42
I guess the bug comment (// bug [3264409])  should be part of the insertion?
https://github.com/rjust/defects4j/blob/e85036c044320f11df22d3f23f248fdd4e99a41b/framework/projects/Time/patches/22.src.patch#L9-L17
https://github.com/rjust/defects4j/blob/e85036c044320f11df22d3f23f248fdd4e99a41b/framework/projects/Time/patches/17.src.patch#L30-L40
https://github.com/rjust/defects4j/blob/e85036c044320f11df22d3f23f248fdd4e99a41b/framework/projects/Time/patches/12.src.patch#L50-L55
https://github.com/rjust/defects4j/blob/e85036c044320f11df22d3f23f248fdd4e99a41b/framework/projects/Time/patches/14.src.patch#L9-L14

You are right that comments associated with the bug fix may already appear in the code.
And you are right that this might unfairly aid repair and localization models that pay attention to comments or indentation.
The bug description says:

Minimized: the Defects4J maintainers manually pruned out irrelevant changes in the commit (e.g., refactorings or feature additions).
Fixed by modifying the source code (as opposed to configuration files, documentation, or test files).

Defects4J was designed with code-focused techniques in mind, and so it isn't perfect for all tasks.
To address the issues you raised, you could reformat the code and/or remove the comments that were added in the commit, or all comments.  These are all automatable.  If you do so, we would accept a pull request with the changes and/or a tool that other people could use.

Thanks for clarifying!


Deprecating uses of a type or constant

The @[Deprecated] annotation has no effect when applied to a type:
@[Deprecated]
class Foo
end

Foo.new # no warnings

class Bar < Foo # no warnings
end

alias Baz = Foo | Int32 # no warnings

def foo(x : Foo) # no warnings
end

All of these are uses of Foo and should generate warnings. Any constant that resolves to Foo is considered a use of Foo (because constants have the same lookup rules as type names, it follows that they should support the same deprecation mechanism). This is distinct from #10125 which is only concerned with aliases.

I don't think def foo(x : Foo) should count as a use on its own. A deprecated method only creates a warning, if it is called. It should work similarly for deprecated types in a method's type restrictions.


License file

Hi, is there a particular license for this code? I didn't see any of the standard files.

Thanks, added the license file


Ubuntu neo-gui cannot start

Can you explain for the average user how to startup neo-gui? The tar.gz file extracted but what is the command to start the gui up? There is no explanation of this anywhere.
appreciate any help.

NEO-GUI is for Windows only. You can use NEO-CLI on linux.


Node16

Update to node 16 and add token default value
Created v4 tag from here until we use it and validate

@tahirmt can we merge it? I will make sure we will use correct tags

@maksbond23 I wonder if we should just do node20 instead

Well, actually we do.


Add --ease-anticipate-* easings

these would be complimentary to --ease-elastic-* in that elastic easing ends with a bounce and the anticipate easings would start with a bounce. we have --ease-squish-* which bounces both sides also. so adding these easings would give folks that disney type anticipatory animation start.
this task is to add 5 more easings that should be very similar to elastic
todo:

[ ] add 5 new props
[ ] update docsite with new props

a strong proposal by Jhey is to name it --ease-elastic-in-* 👍🏻  the only bummer is it might mean renaming the other elastic easings and creating a breaking version. i think i'm down with the tradeoff tho, cuz this looks nice:
/* today */
--ease-elastic-3
--ease-anticipate-3 (to do)
--ease-squish-3

/* proposed breaking change */
--ease-elastic-out-3
--ease-elastic-in-3
--ease-elastic-in-out-3

--ease-windup-* is another contender

--ease-out-elastic-3
--ease-in-elastic-3
--ease-in-out-elastic-3

Working on this now for TS Open.


Vscode diff visualize

Pull Request Checklist

[x] Documentation has been updated, or this change doesn't require that

I almost never see the accept/reject/preview buttons in vscode, not sure why.

I couldn't repro on linux, I assume it's a mac issue; I'll try and see if I can repro when I next have the chance to use a mac.

Also sometimes if there's text between two file_edits that gets rendered as part of the code block.

Fixed this. Thanks!


Add AppVeyor, Travis build status

@Eilon please check if AppVeyor is set up for this repo and provide me with AppVeyor token before someone merge this PR

Token: vf79kttspnblh2hx

thanks @Eilon


Semicolons and soft tab indentation

If the intended audience primarily is dbwebb students I think the phrasing for using semicolons could be changed from: "You can decide on wether to use semicolon or not (dbwebb requires semicolon)." to "Use semicolons".
Likewise for soft tab size, dbwebb validator requires you to use 4 spaces, and the phrasing could be changed from "Tab size can be 2 or 4 (dbwebb uses 4)." to "Use 4 spaces for indentation."

Fixed in https://github.com/janaxs/javascript-style-guide/commit/093c3e1771f4877a0be8a849b32bacd51171b382


small typo in swarm doc?

corrects a small typo in https://ag2ai.github.io/ag2/docs/topics/swarm/ ?

Thanks for picking that up @borisbolliet, you're spot on with the typo!


Initial ETOR documentation research

Problem statement
The ETOR initiative can benefit from having some documentation created that would help onboard ETOR users. The existing onboarding documentation has caused some issues for ETOR users (according to the Flexion team).
What you need to know

Dylan S. is already working on researching the ETOR landscape and personas
Adrian Brewster is a former RS teammate and needs to be consulted on his knowledge regarding ETOR onboarding documentation
The Flexion team (which is leading the ETOR pilot project) needs to be consulted to determine the user needs

Acceptance criteria

[x] Meet with Dylan S.
[x] Meet with Adrian Brewster
[x] Schedule time with the Flexion team (likely after the holiday) to learn more about the user needs
[x] Document findings

Findings captured alongside API guide audit work here
Specific notes related to ETOR:

Seemed unclear on best location for documentation and brand relationship status. Are they “ReportStream” users?
ETOR requires significantly more validation
Intake form also has some things that don’t make sense in the ETOR context
While focused on NBS, ETOR team concerned with creating something that scales beyond that specific use case.
Received their edited copy of the guide they are using right now
Will created ticket to track needed updates that their team notices


Fix CI builds

Docker builds weren't working because of recent breaking changes in pip that now requires system-wide package installations to be very explicit and otherwise prefer the package manager of the distro you are using.

Nice, thank you!!! <3

You're very welcome, I hope to be able to contribute more like I used to!


[swiftc (78 vs. 5179)] Add crasher in ?

Add test case for crash triggered in ?.
Current number of unresolved compiler crashers: 78 (5179 resolved)
Assertion failure in include/swift/AST/DiagnosticEngine.h (line 614):
Assertion `!ActiveDiagnostic && "Already have an active diagnostic"' failed.

When executing: swift::InFlightDiagnostic swift::DiagnosticEngine::diagnose(swift::SourceLoc, Diag<ArgTypes...>, typename detail::PassArgument<ArgTypes>::type...) [ArgTypes = <swift::Type>]

Assertion context:
    /// the types expected by the diagnostic \p ID.
    template<typename ...ArgTypes>
    InFlightDiagnostic
    diagnose(SourceLoc Loc, Diag<ArgTypes...> ID,
             typename detail::PassArgument<ArgTypes>::type... Args) {
      assert(!ActiveDiagnostic && "Already have an active diagnostic");
      ActiveDiagnostic = Diagnostic(ID, std::move(Args)...);
      ActiveDiagnostic->setLoc(Loc);
      return InFlightDiagnostic(*this);
    }

Stack trace:
swift: /path/to/swift/include/swift/AST/DiagnosticEngine.h:614: swift::InFlightDiagnostic swift::DiagnosticEngine::diagnose(swift::SourceLoc, Diag<ArgTypes...>, typename detail::PassArgument<ArgTypes>::type...) [ArgTypes = <swift::Type>]: Assertion `!ActiveDiagnostic && "Already have an active diagnostic"' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28446-activediagnostic-already-have-an-active-diagnostic-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28446-activediagnostic-already-have-an-active-diagnostic-failed-9fd888.o
1.	While type-checking 'A' at validation-test/compiler_crashers/28446-activediagnostic-already-have-an-active-diagnostic-failed.swift:10:1
2.	While type-checking expression at [validation-test/compiler_crashers/28446-activediagnostic-already-have-an-active-diagnostic-failed.swift:10:15 - line:10:15] RangeText="0"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)

@swift-ci please smoke test and merge

@swift-ci please test and merge


Add missing transitive dependencies

This commit resolves an interop test currently failing on master. Over
the past couple of weeks, bazel-based tests have been introduced. The
current setup does not appear to automatically handle transitive
dependencies. Instead, transitive dependencies such as requests have
been manually added to requirements.bazel.txt. It appears that the
build server happened to have the dependencies of the requests library
installed already, but later had a configuration wipe.
This was compounded by the google-auth library erroneously reporting
that the requests module itself was not installed. In fact, it was the
transitive dependencies of requests that were not being installed by
the build file. (third-order dependencies of our test)
I consider this a quick fix to get the build passing. In the long run,
we need to automatically resolve and install transitive dependencies in
our bazel builds.
Resolves: #17170
@ghostwriternr Any suggestions on how to improve this setup?

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

Issue to fix this problem long-term: https://github.com/grpc/grpc/issues/17177

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 2,019,028      Total (=)      2,019,028

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
11,179,733      Total (<)     11,179,734

 No significant differences in binary sizes

Corrupt JSON data (indicates timeout or crash):
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.new: 10
    bm_call_create.BM_IsolatedFilter_ClientChannelFilter_NoOp_.counters.old: 10

[microbenchmarks] No significant performance differences

Known failures:

https://github.com/grpc/grpc/issues/17126 (MacOS and Multi-Language Linux)
https://github.com/grpc/grpc/issues/16497


Use seq in Tree.fold

This is a small improvement in the memory usage for the migration - in my benchmarks the peak allocations are down by 0.5G, but the maxrss only of approx 0.2G.

This can change the result of Tree.fold depending on whether a node is in memory or flushed on disk. It's maybe fine but should probably be mentioned in the doc.

Added in the docstring more precisions on the order of visiting children when folding.
For the failing test, I couldn't find a nice solution so I commented out for now. The failing test is testing the caches in fold: after a first fold with force:true, a second fold with force:false goes over all the caches in the tree and gathers statistics. In the previous impl., the fold puts all caches in info.map; now both info.map and info.value are used. The issue is that info.value is only caching the value, and not the repo and to iterate over values we need the repo too. I think its ok to not iter over values (they are not “lazy” in my understanding), but we need to rewrite a test that properly tests the "lazy" nodes mentioned in the doc.

(Removed the no-changelog-needed tag as this is a breaking change to the ordering of Tree.fold.)

For the failing test, I couldn't find a nice solution so I commented out for now.

I thought about this a bit, and I think the failing test is highlighting a weird behaviour of the new implementation when ~force:`True.
The new strategy is to load the backend node value, then convert its child hashes to lazy values w/ Seq.map and force those, then discard the forced child pointers. I think it's odd that we discard the loaded child values after folding over them: this seems like something ~force:`And_clear would do. (Presumably if the user has explicitly chosen  ~force:`True rather than ~force:`And_clear then they intend to load the entire tree into memory so that subsequent operations on the tree are fast).
As @icristescu points out, it's not possible to preserve the loaded values inside P.Node.Val.t (since Node.S doesn't support caching semantics, nor backpointers back to a user-defined in-memory handle like Tree.Node.t). Perhaps we will want to do that some day (to save needless conversions between backend nodes and Stdlib.Maps), but perhaps in the mean-time the correct approach is to call to_map on Value _ when ~force:`True? (but not when ~force:`And_clear)

but perhaps in the mean-time the correct approach is to call to_map on Value _ when ~force:`True? (but not when ~force:`And_clear)

@craigfe I went with your solution, thanks

The CI failures are not related to the PR, I'll merge this soon.


Link to tsconfig broken

Here
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
at the end of  the article it says to read more at "TSConfig Reference", but the link provided leads into nowhere.

So in all places where the links are https://www.typescriptlang.org/tsconfig not working. This link does https://www.typescriptlang.org/en/tsconfig

This issue only occurs in v1, when in v2 /tsconfig should be working fine, I'm thinking of deploying v2 permanently soon, so this issue will resolve itself.


Tomcat 8 details incorrect

Link to product page on endoflife.date
https://endoflife.date/tomcat
Details of incorrect and correct details you have found
The active support date on endoflife.date is not the same as in the product documentation.
Tomcat 8:
endoflife.date : Security support active
Product documentation: EOL 06/30/2018
Tomcat 8.5:
endoflife.date: data missing
Product documentation: active support
What is the source website for the product and for its version information?
https://tomcat.apache.org/tomcat-80-eol.html
https://tomcat.apache.org/whichversion.html
https://github.com/OpenIdentityPlatform/OpenAM/issues/373
Additional context
Basically we need to distinguish between the 8.0 and 8.5 version.

Preview: https://deploy-preview-1806--endoflife-date.netlify.app/tomcat
Does this look good?

@jn-bedag is it fixed ? if yes could we close this issue ?

Perfekt, thank you very much!


Add gesture recognition support

The sensor has the ability to recognize some basic gestures. Support was started for this, but not implemented yet in any useful way.

There is demo code, but it doesn't seem to function properly yet.


White flash before the screen is locked

Hello,
I don't really know which info you need in order to help me fix this issue. I'm using betterlockscreen 3.0.1-5, and whenever I lock the screen with the chosen wallpaper, I always get a white flash before the lock screen appears.
What can I do to fix that ?
Thank you very much

Hello,
betterlockscreen locks your screen with a white flash so this is not specific to your case, unless the white flash takes longer than a fraction of a second.
If you want to get rid of that effect or change it, I suggest you fork this repository and change the arguments passed to i3lock in the lock() function. i3clock is very customizable and you could find all the options in the manual by running man i3lock. Alternatively, you can edit betterlockscreen in the following directory /bin/betterlockscreen.

Hey Unixado,
Thank you for the in-depth answer, I'll look into all of that !
Have a nice day !

Hi there, I'm having the same issue. I've just installed a new laptop. Have you had any succes fixing this? Thanks!


ol3 support for GWT

GWT doesn't seem to be dead and I really like it.
Do you think it would be possible/doable to write something to make ol3 callable from GWT without having to write all the GWT code (interfaces, JSInterop)? Since there are (almost?) clear types, I believe this should be at least possible if not actually reasonably easy. However, since it hasn't been done I am a bit sceptical or unoptimistic. Maybe someone here knows more about this and can share their wisdom.
This was a question I started typing/adding as an issue at the ol3 project, but maybe it's better suited here.
Do you think generating a Java API automatically might be possible since ol3 uses Google Closure annotations in the comments?
If yes, I may be interested in contributing to that if we are to go ahead with one of our development projects this year. I was planning to use either GWT or Dart, but GWT is more attractive to me as I am a Java guy already, I have done a mini project with GWT before and Java seems like the most portable language with there being J2ObjC and Android etc.

Automatic generation might indeed work to some extend, but that might also become quite hard to maintain. There will probably be quite a lot of special cases that would need to be handled.
To me implementing JSNI wrappers is isn't that bad thing. You can probably make some kind of template to you IDE for them.
The just released GWT 2.7 contains "JS InterOp" thingie that makes our lives much easier on this area. Maybe should try to upgrade and start using it in some classes?
For the Vaadin wrapper side that would mean upgrading to 7.4 series.

The JS InterOp might indeed make the wrapping of the interfaces a bit easier. However, since the GWT 2.7 only includes the experimental version of it, I am a bit reluctant to start using it here. My main concern is that then all the users of the library would have to compile their widgetset using -XjsInteropMode. This might not be desirable in all projects.


Adding gcnArch char array for hipInfo

labels:pr:needs_staging

#2045 is a more complete change for the same.


Add 'Code generated by capnp.' comment to capnpc-go

GitHub currently renders the full diff of the generated .capnp.go which is messy. When .go files have a Code generated by comment as the first line, the diffs will be suppressed by default.
This pull request adds such a comment to avoid polluting the diffs with automatically generated changes. It does nothing else.
(I haven't added myself to AUTHORS+CONTRIBUTORS because I did that in #70 which is still to be merged).

Nice, thanks!


Upgrade to React 18

Is your feature request related to a problem? Please describe.
For integrating other nextjs stuff on React 18, it would be nice to have this upgraded.
Describe the solution you'd like
Upgrade to React 18.
Describe alternatives you've considered
Using React 17 or having a directory within my project on React 18 is a pain.

Thanks, @mrn3! I'll take a look at what needs to be done with this.

ok great thanks!

hey @mrn3 :D we've updated the demo branch and upgraded the dependency/library versions, you may check it out here:
https://github.com/nextacular/nextacular/tree/demo
Breaking changes:

HeroIcons is now using v2, which uses (some) different icon sets and a different import style
_middleware.js file is now located in the top-level directory of source files and renamed into middleware.js

let me know if you encounter any issues :D

Great - thanks so much!
So are you saying those breaking changes will impact me if I depend on those?

@arjayosma I have upgraded Nextjs to version 13.x, it is tested and everything looks good to me. Please review the PR and let me know if there is anything.
cc: @mrn3

Closing this now. Thanks @navjotdhanawat!


Add a troubleshooting section for TLS/HTTP mixed datasource

Proposal
When a user deploys Perses with TLS and wants to use a datasource just with plain HTTP, the direct mode won't work. Introduce a troubleshooting section which guide a user to known issues and give him hints how he can solve them.

Storing screenshots for the PR in GitHub:

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."


Wallet- The wallet page keeps loading infinitely and "add payment method" is greyed out

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Launch app
Login using expensifail account
Tap profile icon
Tap Wallet

Expected Result:
The wallet page should show content without loading and "add payment method" must not be greyed out
Actual Result:
The wallet page keeps loading infinitely and "add payment method" is greyed out
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.56-18
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/f871138a-ab81-4aab-a6b1-77ecde2c14bb

Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

I've run into some issues getting my Android emulator working, but I think they are sorted out now so I should be able to test the reproduction steps soon.

I cannot reproduce on iOS FWIW

Not reproducible on Android w/ a normal (non-expensifail) account

Checked this on my real life Android phone on the staging version of the app. It is not reproducible for me.
Gonna mark this as a "Needs reproduction" and remove the blocker.

I'm going to mark this Weekly and if nobody can reproduce it by the time it goes Overdue again, I'm going to close it.

Nobody has been in a rush to reproduce this one, so I am going to close it.


Adjust LinearIO widgets without dedicated adjust inputs

TL;DR Any LinearIO widget can get adjusted with next and prev buttons after an extra push of the select button.
I'm working on a micropython based firmware for a hacker camp badge.
It's and ESP32 with st7789 LCD and I'm building the main menu and some installable apps using micro-gui.
I only have 3 inputs but found myself wanting to use the slider widget. Ideally any LinearIO would be usable for anyone wanting to make an app for this badge.
This patch adds a fallback for when Screen does not have "adjust" inputs such as an encoder or up/down switches.
I've tried it with all the demos I could run on my 240x240 display. The only weird effect is the "direction" of textbox scrolling: next scrolls up, not down.

I started out by doing some regression testing with a screen with two buttons and an encoder. I'm afraid this PR needs a good deal of work.
Firstly you've deleted the following files. Tests: audio.py, adjuster.py, adjust_vec.py, and listbox.py. The adjuster widget is also deleted.
After reinstating these files, the listbox.py demo fails immediately.
In all demos where precision mode can be invoked, when it is the Prev and Next buttons now adjust the value of the control. With an encoder they should behave normally i.e. move to another control.
The textbox demo occasionally fails with
Textbox demo.
Task exception wasn't retrieved
future: <Task> coro= <generator object '_run' at 2000feb0>
Traceback (most recent call last):
  File "uasyncio/core.py", line 1, in run_until_complete
  File "gui/primitives/encoder.py", line 69, in _run
  File "gui/core/ugui.py", line 232, in adjust
  File "gui/core/ugui.py", line 451, in do_adj
TypeError: function takes 3 positional arguments but 2 were given
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "gui/demos/tbox.py", line 120, in <module>
  File "gui/demos/tbox.py", line 118, in test
  File "gui/core/ugui.py", line 275, in change
  File "uasyncio/core.py", line 1, in run
  File "uasyncio/core.py", line 1, in run_until_complete

Line 451 looks wrong to me given the change to the move method.
At this point I'm afraid I lost heart. I do think the UI change is an interesting idea and I will give it some thought. Firstly I need to convince myself that your design approach is the best way to do this. I'd like to devise an approach with less potential for disrupting the existing code.
I don't know if you want to pursue this, or simply to fork the GUI for your badge project. If you do want to continue it needs to be tested in the existing configurations (encoder + 2 buttons, 5 buttons) as well as your 3-button setup.

I don't remember deleting any files. And with the failures you are seeing I guess I didn't start from the right commit/branch.
Let's fix that first.

I don't know if you want to pursue this, or simply to fork the GUI for your badge project. If you do want to continue it needs to be tested in the existing configurations (encoder + 2 buttons, 5 buttons) as well as your 3-button setup.

I'll certainly use my fork as I've put quite some effort in already and it's working well enough. But upstreaming is always better and I'm glad to contribute time and skill.
In addition to 3 button I'm also using TouchPad support of the ESP32 (3 big pads of a Micro:bit connector) instead of switches. The hack to make this work bad: replacing "Switch" with a new "Touch" primitive.
I currently don't have encoder or 5 button hardware but I'll dedicate a TTGO to it. For now I'll only test with what I have. The badge will get a "game-on" addon with regular buttons. The code will have to switch from touch to switch after reboot in hardware_setup.py

At this point I'm afraid I lost heart. I do think the UI change is an interesting idea and I will give it some thought. Firstly I need to convince myself that your design approach is the best way to do this. I'd like to devise an approach with less potential for disrupting the existing code.

I don't like the current way either, it's a hack on top of already complicated input code.
But since short press of select is not used yet, correct me if I'm wrong, it seems to enable adjusting with 3 buttons just fine.
For the touchpad support I mentioned I would abstract all input into a single class with callbacks for move, select and adjust. This code will also do the "debouncing" which currently seems to be done in Display::_closure(). Long press detection could also be done here, some hardware has that build in.
It would make hardware_setup a bit more complicated, but ugui.py a whole lot simpler. For instance: there is no need to check for encoder in 'do_adj'.
Then for input without adjust, either Widget can forward move to do_adj as done in this PR or an Input::setAdjusting(True) gets called for adjustable widgets which makes it do 'adjust' callbacks instead of move.

I like the use of a short press on select. I just need to think about the implementation.

"debouncing" which currently seems to be done in Display::_closure()

Debouncing is done in this class
from gui.primitives.switch import Switch

Note that the Pushbutton class in primitives.pushbutton can detect double-clicks. I'll consider whether this could be used.

Hey Peter, I believe I've fixed the issues you found. Rebased to current main and fixed the call of move with one arg.
The adjustment got triggered because precision does imply adjusting. Added a check for adjust input.
As you can see, it makes the code even more complicated, hence my argument for abstracting it to Input.
Still have an issue with listbox (and menu), moving out is not possible. Perhaps using long press? More logical moving past the ends of the list should go prev/next in the screen.
I'll have an encoder to test with soon, turns out the game-on addon has it as an option.

I agree about abstracting the input. The present design evolved from a 2-5 button solution with encoder support and precision mode added later. I'm aware that it isn't pretty.
Moving from a listbox, a dropdown, and a menu could be tricky. A second select press is the logical solution, but there needs to be a way of "swallowing" that press to prevent triggering other actions. Alternatively it may be necessary to disallow certain widgets. My existing code, run with 2 or 3 buttons, only properly supports a limited set of widgets. As yet this isn't enforced, but as I'm sure you're aware if you instantiate (say) a slider, it will be good only for displaying a value.
If we're abstracting the input I would definitely look at the Pushbutton class rather than the simpler Switch. It's support for double clicks might solve the "swallowing" problem. It also supports long presses, possibly a better solution than the present code. Note the suppress constructor arg.
The encoder driver should preferably be kept as it solves a concurrency problem connected with the use of interrupts.

I've made a start on this, separating the input into a separate Input class and using Pushbutton instead of Switch for the select button. The adjustment mode can be implemented by dynamically changing the callbacks for the Next and Prev buttons in response to a double click of Select. This keeps all the handling in the Input class so the widgets are unaware of the source of adjustments. It should also simplify combining adjustment and precision modes.

@bartcerneels I don't know if you're still following this issue but I'm making good progress with these changes.
I have concluded that using a push of select to provoke adjustment mode is not the way to do it. Pushing select provokes behaviour in widgets such as dropdown lists and menus; I also want to reserve this operation for other purposes. It is the obvious UI for launching callbacks from widgets or for logging values.
I am using a double-click of select to toggle adjustment mode which works well. It's also possible to use precision mode when using only three buttons with a long press of select.
Apologies for not using your code, but I very much appreciate your input in coming up with this useful idea. I will credit your contribution in the code and docs. Also this has prompted me to produce a more logical organisation of input, with mode changes handled in the Input class. The LinearIO class is substantially simplified relative to current master.
There is a lot more testing to do, but I hope to push an update in the next few days.

Hey Peter
I have not been able to work on this the past few days. You certainly are a faster Python coder then me.
To clarify: I'm not intending to use a "trackpad" but rather the ESP32 capacitive touch. It works just as buttons.
Now that there is an Input class it's probably easier to integrate this with the main micro-gui codebase.
Double click to activate adjust is nice to have, but I do think it's harder to activate then a single click. I'll take a look at the code, perhaps I'll still patch to work with my 3-button setup.
But I do wonder: if the single click of select is not used yet and you do have an "adjusting" mode: why not have at least the option to use single click?
Don't worry about not using my code, it's serviced it's purpose to demonstrate an idea.

You certainly are a faster Python coder then me.

A consequence of being retired and awful weather :)
A click of select is used by some widgets. For example here it triggers a callback. Menus and dropdowns are based on listboxes.
I'll let you know when I post an update.

I've pushed a first pass at this.  Changes are widespread so it's best to reload the gui tree (or use mpremote mount . as I do).
Re double-click - widgets such as Menu and Dropdown now automatically go into adjustment mode when activated. Numeric entry widgets do need the double-click.
Feel free to study/test/comment :)


Add THREE.js to be used for improved plotting performance.

THREE.js will be made to transition plotting away from SVG into WebGL/Canvas in order to get better graphing performance.

Remove redundant entry in config.js. Otherwise LGTM.


MNT: Refactor dependency config into a static file to be loaded

Change Summary
Overview

This moves a lot of instance creations to a static file that is read in within the code to create the instances. Hopefully easier to look at and manage.

Much better.


[Windows]Fix Pod IP changes issue during creation

On windows platform, each container in a Pod will generate a CNI
request. In current implementation every container have chance to
be allocated with a IP in specific time sequence. Which may cause
the Pod IP change during the creation.
This patch fixes the issue by calling IPAM plugin only when handling
CNI request from infrastructure container.
Signed-off-by: Rui Cao<EMAIL_ADDRESS>

/test-all

@tnqn Could you help review the PR?

test if jenkins can receive message

/test-all

Thanks @tnqn for your review. Update patch per your comments.

/test-all

/test-e2e

/test-windows-conformance

/test-windows-conformance

/test-e2e

/test-conformance

/test-networkpolicy

/test-all

/test-windows-conformance

Hi @tnqn,
This PR is abandoned by mistake. Please go to PR #738.
Thanks a lot for your help.


CASMPET-6438: (CSM 1.5/main) kyverno prevents weave-net daemonset from creating pods

Summary and Scope
Version number bump up for main branch due to the fix in CASMPET-6438
Testing
https://github.com/Cray-HPE/cray-kyverno/pull/13

@pradeepkumargl, Please upload the cray-Kyverno chart installation/upgrade logs from arti with weave-net sanity test logs. This will help other reviewers to approve quickly.  Thank you.

 Happy Helming!

Mar 28 04:04:11 ncn-m002 kubelet[14584]: I0328 04:04:11.081925   14584 status_manager.go:611] "Failed to delete status for pod" pod="kube-system/weave-net-tq7vr" err="Internal error occurred: failed calling webhook "mutate.kyverno.svc-fail": Post "https://cray-kyverno-svc.kyverno.svc:443/mutate?timeout=10s\": dial tcp <IP_ADDRESS>:443: connect: no route to host"
Mar 28 04:04:21 ncn-m002 kubelet[14584]: I0328 04:04:21.065528   14584 status_manager.go:611] "Failed to delete status for pod" pod="kube-system/weave-net-tq7vr" err="Internal error occurred: failed calling webhook "mutate.kyverno.svc-fail": Post "https://cray-kyverno-svc.kyverno.svc:443/mutate?timeout=10s\": dial tcp <IP_ADDRESS>:443: connect: no route to host"
ncn-m002:~ # date
Tue Mar 28 04:11:06 UTC 2023
ncn-m002:~ #


Update Lua version check

Building using the new Lua 5.4 version fails due to the included file compat-5.3.h

Looks okay to me, but I think we need to make a formal effort to support 5.4. See #497.

I would love luv to fully support Lua 5.4! The goal of this pull request is only to allow compilation.
I use a subset of luv with the latest Lua version and I have my own tests. This change allow me to continue to reference the luvit/luv repository waiting for a more broader support.

And should update submodule lua compat 5.3


Check appearance with non-default napari themes

@samcunliffe pointed out that there are napari themes other than the default dark theme: https://napari.org/stable/gallery/new_theme.html
This issue is to track:

Checking what napari-matplotlib looks like with the non-default napari themes set (especially the light one)
Making any fixes to improve the look with different themes

For the second point we might need to add functionality to switch the Matplotlib style sheet being used by napari-matplotlib when the napari theme is switched.

Cheers! I was too lazy to make an issue last night (I did take this awful screenshot though). It's a bit conflated with how I think we'll end up solving #46 & #2 but it's good to have a separate issue.

This could become a subtask of #70


3.1.0: pytest fails in two units

I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

python3 -sBm build -w --no-isolation
because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
install .whl file in </install/prefix> using installer module
run pytest with $PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>
build is performed in env which is cut off from access to the public network (pytest is executed with -m "not network")

Here is pytest output:
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-versioningit-3.1.0-2.fc36.x86_64/usr/lib64/python3.9/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-versioningit-3.1.0-2.fc36.x86_64/usr/lib/python3.9/site-packages
+ /usr/bin/pytest -ra -m 'not network'
==================================================================================== test session starts ====================================================================================
platform linux -- Python 3.9.18, pytest-8.1.1, pluggy-1.4.0
rootdir: /home/tkloczko/rpmbuild/BUILD/versioningit-3.1.0
configfile: tox.ini
plugins: mock-3.14.0
collected 534 items

test/test_config.py ....................                                                                                [  3%]
test/test_end2end.py .............s.................................sssssssss...........F........F..                                                                                [ 18%]
test/test_get_version.py ..                                                                                [ 18%]
test/test_logging.py ...........................................                                                                                [ 26%]
test/test_main.py ..........................                                                                                [ 31%]
test/test_methods/test_format.py .........                                                                                [ 33%]
test/test_methods/test_git.py ............................s                                                                                [ 38%]
test/test_methods/test_hg.py sssssss.sssssss......                                                                                [ 42%]
test/test_methods/test_next_version.py .....................................................................................................                                          [ 61%]
test/test_methods/test_onbuild.py .......................................                                                                                [ 69%]
test/test_methods/test_tag2version.py .............                                                                                [ 71%]
test/test_methods/test_template_fields.py ................                                                                                [ 74%]
test/test_methods/test_write.py ........                                                                                [ 76%]
test/test_util.py ...........................................s....................................................................................                                    [100%]

========================================================================================= FAILURES ==========================================================================================
___________________________________________________________________________ test_end2end_error[errors/hg-no-tag] ____________________________________________________________________________

tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-228/test_end2end_error_errors_hg_n0')
repozip = PosixPath('/home/tkloczko/rpmbuild/BUILD/versioningit-3.1.0/test/data/repos/errors/hg-no-tag.zip')
details = ErrorDetails(type='NoTagError', message="No latest tag in Mercurial repository (pattern = 're:^v')")

    @pytest.mark.parametrize(
        "repozip,details", mkcases("errors", [needs_git], details_cls=ErrorDetails)
    )
    def test_end2end_error(tmp_path: Path, repozip: Path, details: ErrorDetails) -> None:
        shutil.unpack_archive(repozip, tmp_path)
        with pytest.raises(Error) as excinfo:
            get_version(project_dir=tmp_path, write=False, fallback=True)
>       assert type(excinfo.value).__name__ == details.type
E       AssertionError: assert 'NotSdistError' == 'NoTagError'
E
E         - NoTagError
E         + NotSdistError

test/test_end2end.py:249: AssertionError
------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------
DEBUG    versioningit:methods.py:60 Loading entry point 'hg' in group versioningit.vcs
DEBUG    versioningit:methods.py:60 Loading entry point 'basic' in group versioningit.tag2version
DEBUG    versioningit:methods.py:60 Loading entry point 'minor' in group versioningit.next_version
DEBUG    versioningit:methods.py:60 Loading entry point 'basic' in group versioningit.format
DEBUG    versioningit:methods.py:60 Loading entry point 'basic' in group versioningit.template_fields
DEBUG    versioningit:util.py:64 Running: hg --cwd /tmp/pytest-of-tkloczko/pytest-228/test_end2end_error_errors_hg_n0 files .

        The returned instance will have attributes args, returncode, stdout and
        stderr. By default, stdout and stderr are not captured, and those attributes
        will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them.

        If check is True and the exit code was non-zero, it raises a
        CalledProcessError. The CalledProcessError object will have the return code
        in the returncode attribute, and output & stderr attributes if those streams
        were captured.

        If timeout is given, and the process takes too long, a TimeoutExpired
        exception will be raised.

        There is an optional argument "input", allowing you to
        pass bytes or a string to the subprocess's stdin.  If you use this argument
        you may not also use the Popen constructor's "stdin" argument, as
        it will be used internally.

        By default, all communication is in bytes, and therefore any "input" should
        be bytes, and the stdout and stderr will be bytes. If in text mode, any
        "input" should be a string, and stdout and stderr will be strings decoded
        according to locale encoding, or by "encoding" if set. Text mode is
        triggered by setting any of text, encoding, errors or universal_newlines.

        The other arguments are the same as for the Popen constructor.
        """
        if input is not None:
            if kwargs.get('stdin') is not None:
                raise ValueError('stdin and input arguments may not both be used.')
            kwargs['stdin'] = PIPE

        if capture_output:
            if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None:
                raise ValueError('stdout and stderr arguments may not be used '
                                 'with capture_output.')
            kwargs['stdout'] = PIPE
            kwargs['stderr'] = PIPE

        with Popen(*popenargs, **kwargs) as process:
            try:
                stdout, stderr = process.communicate(input, timeout=timeout)
            except TimeoutExpired as exc:
                process.kill()
                if _mswindows:
                    # Windows accumulates the output in a single blocking
                    # read() call run on child threads, with the timeout
                    # being done in a join() on those threads.  communicate()
                    # _after_ kill() is required to collect that and add it
                    # to the exception.
                    exc.stdout, exc.stderr = process.communicate()
                else:
                    # POSIX _communicate already populated the output so
                    # far into the TimeoutExpired exception.
                    process.wait()
                raise
            except:  # Including KeyboardInterrupt, communicate handled that.
                process.kill()
                # We don't call process.wait() as .__exit__ does that for us.
                raise
            retcode = process.poll()
            if check and retcode:
>               raise CalledProcessError(retcode, process.args,
                                         output=stdout, stderr=stderr)
E               subprocess.CalledProcessError: Command '['/usr/bin/python3', 'setup.py', 'develop']' returned non-zero exit status 1.

/usr/lib64/python3.9/subprocess.py:528: CalledProcessError
----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------
running develop
----------------------------------------------------------------------------------- Captured stderr call ------------------------------------------------------------------------------------
/usr/lib/python3.9/site-packages/setuptools/command/develop.py:40: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` and ``easy_install``.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://github.com/pypa/setuptools/issues/917 for details.
        ********************************************************************************

!!
  easy_install.initialize_options(self)
/usr/lib/python3.9/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: '/usr/lib/python3.9/site-packages/test-easy-install-3661377.write-test'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:

    /usr/lib/python3.9/site-packages/

Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.

For information on other options, you may wish to consult the
documentation at:

  https://setuptools.pypa.io/en/latest/deprecated/easy_install.html

Please make the appropriate changes for your system and try again.

------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------
DEBUG    versioningit:util.py:64 Running: git status --porcelain
================================================================================== short test summary info ==================================================================================
SKIPPED [1] test/test_end2end.py:96: Only run when --oldsetup is given
SKIPPED [9] test/test_end2end.py:96: Mercurial not installed
SKIPPED [1] test/test_methods/test_git.py:309: Git must not be installed
SKIPPED [6] test/test_methods/test_hg.py:34: Mercurial not installed
SKIPPED [1] test/test_methods/test_hg.py:70: Mercurial not installed
SKIPPED [1] test/test_methods/test_hg.py:84: Mercurial not installed
SKIPPED [2] test/test_methods/test_hg.py:91: Mercurial not installed
SKIPPED [1] test/test_methods/test_hg.py:100: Mercurial not installed
SKIPPED [1] test/test_methods/test_hg.py:110: Mercurial not installed
SKIPPED [1] test/test_methods/test_hg.py:139: Mercurial not installed
SKIPPED [1] test/test_methods/test_hg.py:149: Mercurial not installed
SKIPPED [1] test/test_util.py:146: Windows only
FAILED test/test_end2end.py::test_end2end_error[errors/hg-no-tag] - AssertionError: assert 'NotSdistError' == 'NoTagError'
FAILED test/test_end2end.py::test_editable_mode[cmd1] - subprocess.CalledProcessError: Command '['/usr/bin/python3', 'setup.py', 'develop']' returned non-zero exit status 1.
=================================================================== 2 failed, 506 passed, 26 skipped in 84.23s (0:01:24) ====================================================================

List of installed modules in build env:
Package                       Version
----------------------------- -----------
alabaster                     0.7.16
annotated-types               0.6.0
Babel                         2.14.0
build                         1.1.1
charset-normalizer            3.3.2
docutils                      0.20.1
editables                     0.5
exceptiongroup                1.1.3
hatchling                     1.21.1
idna                          3.6
imagesize                     1.4.1
importlib_metadata            7.1.0
iniconfig                     2.0.0
installer                     0.7.0
Jinja2                        3.1.3
MarkupSafe                    2.1.5
packaging                     24.0
pathspec                      0.12.1
pluggy                        1.4.0
pydantic                      2.6.4
pydantic_core                 2.16.3
Pygments                      2.17.2
pyproject_hooks               1.0.0
pytest                        8.1.1
pytest-mock                   3.14.0
python-dateutil               2.9.0.post0
requests                      2.31.0
setuptools                    69.1.1
snowballstemmer               2.2.0
Sphinx                        7.2.6
sphinx-copybutton             0.5.2
sphinx_inline_tabs            2023.4.21
sphinxcontrib-applehelp       1.0.8
sphinxcontrib-devhelp         1.0.5
sphinxcontrib-htmlhelp        2.0.5
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.7
sphinxcontrib-serializinghtml 1.1.10
tokenize_rt                   5.2.0
tomli                         2.0.1
trove-classifiers             2024.3.25
typing_extensions             4.10.0
urllib3                       1.26.18
wheel                         0.43.0
zipp                          3.18.1

Please let me know if you need more details or want me to perform some diagnostics.

The test_end2end_error[errors/hg-no-tag] test is failing because it requires Mercurial to be installed, but the test isn't correctly marked as requiring Mercurial (If it had been marked correctly, the test would have been skippped).  I'll fix this in a bit.

The test_editable_mode[cmd1] test is failing because the test tries to run setup.py develop on a test project, and setuptools on your machine then tries to install the test project in /usr/lib/python3.9/site-packages/, which it doesn't have write access to.  This test (and several others) is intended to be run in a virtual environment in order to avoid permission issues like this.

I have just released versioningit v3.1.1, containing a fix for the test_end2end_error[errors/hg-no-tag] issue.  Are you still having problems with the test_editable_mode[cmd1] test?


Upgrading realm from 1.x to 2.x is unnecessary when deleteRealmIfMigrationNeeded is true

Goals
We delete the realm now every time a migration would be needed to assure perfect performance of our app.
Expected Results
If I specify deleteRealmIfMigrationNeeded there is no need to upgrade the realm from old to new version because it is deleted any way.
Actual Results
First it upgrades from old realm to new realm then deletes it.
Version of Realm and Tooling
ProductName:	Mac OS X
ProductVersion:	10.12
BuildVersion:	16A323
/Applications/Xcode.app/Contents/Developer
Xcode 8.2
Build version 8C38
/usr/local/bin/pod
1.2.0.beta.1
/bin/bash
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin16)
/usr/local/bin/carthage
0.18
github "realm/realm-cocoa" "v2.1.1"
/usr/local/bin/git
git version 2.10.0

The term "migration" tends to be a bit overloaded when it comes to Realm since we use that word to describe both file format migrations and schema migrations. So far, deleteRealmIfMigrationNeeded only worked with schema migrations, and we never really considered enabling it for file format migrations, because they involve no code or work on the user's part.
However, given that some file format migrations may be computationally or I/O expensive, it makes sense to extend it to apply deleteRealmIfMigrationNeeded to file format migrations as well.
I'm treating this as a bug fix, with changes in https://github.com/realm/realm-object-store/pull/302 and https://github.com/realm/realm-cocoa/pull/4471 pending review now.
Thanks for the suggestion!

You are totally right, it can be mixed up.
However it does not make sense to update the file format if the file gets deleted anyway.
In our special case where updating the file format takes up to 30s this turns into a real issue and this could be easily solved by taking deleteRealmIfMigrationNeeded into account.
Thanks for your quick response and help.

The file format upgrade shouldn't be taking 30 seconds to begin with. Is this with 2.1.1? There were some significant improvement to the upgrade performance in that version.

@tgoyne I totally agree it should not and we have huge problems with that.
I already filed a bug and it was even longer before, took up to 1 minute.
That is actually the reason we are deleting our realm now.
Here is the former bug #4368

@jpsim is this already released with v2.1.2?

Not, this was merged to master in #4471, a few days after 2.1.2 was released. You'll need to build from master to get this now, or wait for a release, which could happen any time between tomorrow and end of next week.
We typically close issues when they're addressed on master, though, so I'll be closing this issue now.

@jpsim ah ok. I was not sure because I read "reset file if a file format upgrade is required in ResetFile mode" in the release commits so I was not sure if it was the same you have been working on for this fix. Thanks for clearing that up and for helping me with this issue. Keep on rocking!


discovery: add rails service name detector

What does this PR do?
Port the service naming logic for RubyOnRails application. from our injector. It should behave in the same way. This new detector is called when the command name extracted from the command line is puma (the command line of the application gets replaced when starting a RoR server).
Motivation
USMON-1233
Describe how to test/QA your changes
Handled by E2E test.
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Changed Slack link from http to https

Though http link will automatically redirect to https but, still to maintain consistency and standardization suggesting for https.
Signed-off-by: ashish<EMAIL_ADDRESS>

@kmova Thanks
Will look for more opportunity to serve


ADD updateViewer extension hook to getViewer

Allows extensions to modify template selection before rendering a veiw

In thinking, updateViewer is potentially dangerous. I'd rather use something like injector to ensure this is used.


Build falied

I am trying to build the project for iOS but it is saying that you done have archtecture for arm64. Error is as follows:

That's in libtun2tor, a component written in Rust.
Looks like you didn't install all Rust targets.
Make sure to follow the instructions about how to install Rust properly from here:
https://github.com/iCepa/iCepa/blob/master/README.md

Any Guide about this?


feat: add translate string to zh locale

Signed-off-by: Stuart Hu<EMAIL_ADDRESS>SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Thanks for the translation!


Document new project structure and suggested workflow

One of the main reasons for the new project structure was to make it easier to keep the framework up to date while developing a game under version control in a sub module. The current documentation is lacking when it comes to basic instructions for setting up a project, and I think we should provide some instructions to help developers get started. This could be a separate markdown document in the docs/ directory, which we might just link to from the usage section in the README for now.

We should consider using a ReadTheDocs repo similarly to https://docs.godotengine.org .

I mean, there's no need to make this overly detailed, as there's already a good tutorial (which needs to be updated soon).

New documentation has been starting with Escoria 4, now in main branch.
To be updated though.


This dependency was not found:  * vue-tsx-support/options/allow-unknown-props

// main.ts
import "vue-tsx-support/enable-check"
import "vue-tsx-support/options/allow-unknown-props";

move it from main.ts to declaration file(*.d.ts)

thanks


[FEAT REQUEST]: Addtional Variables

Is it possible to get variables per port?
Especially;

Speed
POE Active
POE Draw

These all seems possible, I can start working on them if you haven't already
For Speed, what specific unit are you looking for? Seems the options are
* `1` = SP10
* `2` = SP100
* `3` = SP1000 * `4` = SP10G

Or
* `1` = SPEED_AUTO_NEG
* `2` = SPEED_HALF_100TX
* `3` = SPEED_FULL_100TX
* `4` = SPEED_HALF_10T
* `5` = SPEED_FULL_10T
* `6` = SPEED_FULL_100FX
* `7` = SPEED_FULL_1000SX * `8` = SPEED_FULL_10GSX
* `9` = SPEED_FULL_20GSX
* `10` = SPEED_FULL_40GSX * `11` = SPEED_FULL_25GSX * `12` = SPEED_FULL_50GSX * `13` = SPEED_FULL_100GSX * `14` = SPEED_AAL5_155
* `15` = SPEED_FULL_5FX
* `128` = SPEED_FULL_2P5FX * `129` = SPEED_LAG
* `130` = SPEED_UNKNOWN

No, haven't started..
I was thinking real-time info, so probably what you would get from GET /sw_portstats...
And /swcfg_poe for currentPower...

@jmcc94 I have the poe status and poe power ready to go in https://github.com/bitfocus/companion-module-netgear-avline/pull/7
For the speed, the options are a bit confusing from /sw_portstats
The "speed" output is just things like

1 = SPEED_AUTO_NEG
2 = SPEED_HALF_100TX
3 = SPEED_FULL_100TX
4 = SPEED_HALF_10T
5 = SPEED_FULL_10T
6 = SPEED_FULL_100FX

There's also rxMbps and txMbps which should reviece rates, but if they're nominal (in Kbps) it just shows 0.0
What would be most helpful?

@bryce-seifert Thanks!
I was hoping that the speed showed the negotiated speed... and it would be parsed down to one of the following - 10/100/1000/110G/20G/25G/40G/50G/100G
I wouldn't worry about the Half/Full duplex info...

@jmcc94 These variables should be in the next beta build. Let me know if you'd like any changes, or run into any issues

Perfect. Thank you


google_mlkit error

../../flutter/.pub-cache/hosted/pub.dartlang.org/google_mlkit_barcode_scanning-0.8.0/lib/src/barcode_scanner.dart:207:9: Error: 'Uint8List' isn't a type.
final Uint8List rawBytes;
^^^^^^^^^
../../flutter/.pub-cache/hosted/pub.dartlang.org/google_mlkit_barcode_scanning-0.8.0/lib/src/barcode_scanner.dart:210:9: Error: 'Rect' isn't a type.
final Rect boundingBox;
^^^^

@ram-niwas1997: could you provide a QR code example where the boundingBox is null or te one you use to throw this error.

when I import this plugin => google_ml_kit: ^0.16.1  then this above error occur.

@ram-niwas1997 : did it crash when you scan the QR code or just by importing the plugin without scanning?
If the crash happens when you scan, please share the QR code, otherwise I wont be able to help you.

Fix in PR: https://github.com/flutter-ml/google_ml_kit_flutter/pull/500

Me too, do you have any solution for this issue?

yes, it was included in: google_mlkit_barcode_scanning v0.9.0


[AutoPR] signalr/resource-manager

Created to accumulate context: signalr/resource-manager

(message created by the CI based on PR content)

What's the timeline to merge this pr?


install problem

F:\gyre-installer-1.0.0>install_or_update.cmd
已复制         1 个文件。
Using local micromamba
Environment exists. Updating.
                                       __
      __  ______ ___  ____ _____ ___  / /_  ____ _
     / / / / __ `__ \/ __ `/ __ `__ \/ __ \/ __ `/
    / /_/ / / / / / / /_/ / / / / / / /_/ / /_/ /
   / .___/_/ /_/ /_/\__,_/_/ /_/ /_/_.___/\__,_/
  /_/

Transaction
Prefix: F:\gyre-installer-1.0.0\env\envs\gyre
All requested packages already installed
Transaction starting
Transaction finished
critical libmamba ڶֽڵĿҳУûд Unicode ַӳ䵽ַ
i get this error
and server can't run
cmd windows Close immediately after opening, and see a small line of libmamba error

Hello.
Unfortunately micromamba has a problem with Windows with non-english languages.
As a workaround you can:

Install miniconda from https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Windows-x86_64.exe
Run an "Anaconda Prompt (miniconda3)" from your start menu
Run install_or_update.cmd from the shell that opens up.

This should use the miniconda you installed rather than the packaged micromamba.

Hi. Closing this as I believe the above should work. Feel free to re-open if still an issue.


Fix/timestep bugs

These are a few small fixes that I made while debugging the image mode driver.

The first travis build failed due to an error in the apt-get dependencies call.  I've restarted the build and it hopefully will pass...


Arcgis - default database location to Temp or Speckle folder

If Project location is not writeable, save the .gdb file to Temp or Speckle folder

@AlanRynne here is the PR for defaulting it to Temp folder, once Speckle path is public I will replace

not sure if failing test is related to updated nugets

Missing the lock file changes after changing a nuget version.
dotnet restore and commit the lock files should do it.

moving here: https://github.com/specklesystems/speckle-sharp-connectors/pull/351 @AlanRynne


51118 proxy auth

What
Add proxy authentication options
How
Add proxy user name and password options to ConnectOptions.
Configure the credentials provider for the proxy host.
This is taken from the proxy-auth branch, but adjusted slightly for the latest 1.2 maintenance.
reviewer @emlaver
reviewer @tomblench

LGTM +1

+1


Update README.md

Corrected a couple minor typos in the README

This appears to be a duplicate of #24


Bump dependencies

This PR updates golang.org/x/* and go.uber.org/multierr dependencies

Codecov Report

Merging #207 (22aef2a) into master (20526d3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #207   +/-   ##
=======================================
  Coverage   59.74%   59.74%
=======================================
  Files          36       36
  Lines        2760     2760
=======================================
  Hits         1649     1649
  Misses        991      991
  Partials      120      120

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 20526d3...22aef2a. Read the comment docs.


Preliminary PR for Ownership Capability

This is a patch attempt for Issue #42 ,
it's not the full proper implementation for this in the provider, as I'm not a GO expert nor have the full required understanding of this provider's architecture or the PBI API architecture internals.
You should merge this somewhere along the tests for 1.3.2 and add a test case for the issue.
Thank you !

were able to test and merge this?