Add extra shell arguments

I think I'll need these, but I haven't tried switching my dev shell yet.

The shell. option prefix is nice, and I think buildTools fits inside it as well (shell.buildTools)? See also development. prefix of #37 (how do we consolidate shell. with that?)

@roberth This can now be closed right?

That's right!


feat(db): Add vscode template. Close #55

Please discuss about the implementation in #59.

I don't have Visual Studio Code installed. If you think this is good to merge, I trust you. Please merge it in your own time. Thanks.

Ok. We can still improve it later.


3.3.2 release binary is not built using Swift 4.1?

I am not sure but
Jakub-MacBook:tmp olejnjak$ xcodebuild -version
Xcode 9.3
Build version 9E145
Jakub-MacBook:tmp olejnjak$ echo 'github "realm/realm-cocoa" ~> 3.3' > Cartfile; carthage update --platform iOS
*** Fetching realm-cocoa
*** Checking out realm-cocoa at "v3.3.2"
*** xcodebuild output can be found in /var/folders/83/2fpf32vn49n1pc6y8bbyv8c80000gn/T/carthage-xcodebuild.0elPgh.log
*** Downloading realm-cocoa.framework binary at "v3.3.2"
*** Skipped installing realm-cocoa.framework binary due to the error:
	"Incompatible Swift version - framework was built with 4.0.3 (swiftlang-9<IP_ADDRESS> clang-9<IP_ADDRESS>) and the local version is 4.1 (swiftlang-902.0.48 clang-9<IP_ADDRESS>)."

3.4.0 has a binary compiled with Swift 4.1 now, so this is no longer an issue (for me, at least).

Yep, that's correct.


About: outdated contributors link

There's an outdated query link that can be found on About page in Contributors section A list of code contributors for the last year can be found on Github. that links to https://github.com/bitcoin/bitcoin/graphs/contributors?from=2017-03-01
The link hasn't been updated since 2017.
It could be either updated to 2019 or the text can be modified to A list of code contributors can be found on Github. and ?from query removed from the url to prevent any issues in the future.

@ipriver Thanks; opened #719 to fix this.


A Unique Cellular Organization of Human Distal Airways and Its Disarray in Chronic Obstructive Pulmonary Disease

Project short name:
tbd
Primary Wrangler:
Secondary Wrangler:

Associated files

Google Drive: tbd

Published study links

Paper: A Unique Cellular Organization of Human Distal Airways and Its Disarray in Chronic Obstructive Pulmonary Disease request to library services!

Accessioned data:

Ingest

Key Events

[ ] Convert published metadata to HCA spreadsheet
[ ] Manually curate dataset to meet HCA metadata standard
[ ] Collect any matrix and cell-type annotation files
[ ] Are the analysis files suitable for CellxGene? If something is missing get in touch with the authors to request it
[ ] Upload sheet to validate metadata
[ ] Transfer raw files to ingest to validate data files
[ ] Check linking using ingest graph validator
[ ] Ask the Secondary Wrangler for an end-to-end review of the project. Ask the Expertise Wrangler to review specific tabs if needed
[ ] Submit dataset to Production
[ ] Complete the Export SOP
[ ] Convert project data to SCEA format following the SCEA conversion SOP if appropriate

I've requested access to the published manuscript
I've found a preprint but it's missing the data availability section - I'll send an email to request data after I've checked the published manuscript

Published manuscript locked behind a paywall - have requested via the EBI library service

I've checked this and there's still no note of the data availability or where it has been deposited. Next step to email authors.

Emailed.

Dear Wei Kheng,

Thanks for your email.
I will discuss this with our data analysis team who managed the data for this paper and get back to you.
Best wishes,
Renat

The data is not available for wrangling and we are not allowed to get in touch again to check with the contributor
I'm closing this ticket because this work cannot progress, we'll re-open it if anything changes


Bug 1915818: Add "total" suffix to counter metrics

Prometheus doc says that counter metric should end with "_total".

/lgtm

/lgtm

/refresh

/refresh

/refresh

/refresh


Using iTerm2, using the RunGodot command opens the native MacOS Terminal app to launch Godot

Here's how it goes:

In iTerm2, I have Neovim open and I use the RunGodot command
Terminal (the native Mac terminal emulator) launches and runs the Godot executable

I'm not even sure this is an issue with vim-godot, but I've never seen this behavior before. I thought I'd run it past you. Thanks!

🤦  nevermind, this was a case of me not RTFM. Problem was with my setup, not vim-godot

🤦  nevermind, this was a case of me not RTFM. Problem was with my setup, not vim-godot


Update arduino-action-compile.yml based on 6944a29fa6b9bcb2c72444239530c2308336cf7f

A bad commit has been merged on master branch :eyes:

Thank you.


Prefixes/Namespacing proposed syntax

For namespacing, which I would like to see, how about supporting this kind of syntax? This actually reduces boilerplate in the destructing assignment for all 2'nd level action creators and prevents having to keep keys and their destructed names in sync.
const {
  rootLevelAction,
   // no keys below products or orders must be kept in sync here. yeah!!!
  products,
  orders,
} = createActions({
	rootLevelAction: () => ({}),
	products: { // this key used for the namespace prefix
	  list: (query) => ({ query }),
	  addToCart: (quantity, productId) => ({ quantity, productId }),
	},
	orders: { // this key used for the namespace prefix
	  placeOrder: (cartId) => ({ cartId }),
	  getOrder: (orderId) => ({ orderId }),
	}
});

Example usage:
dispatch(rootLevelAction());
dispatch(products.list('Star Wars'));
dispatch(products.addToCart(1, 45243));
dispatch(orders.placeOrder(7348));
dispatch(orders.getOrder(45));

Destructures to the following:
rootLevelAction: function() {
	return {
		type: 'rootLevelAction',
		payload: { }
	};
},
products:{
	type: 'products',
	list: function(query) {
		return {
			type: 'products/list', // boom, namespaced to reduce collisions
			payload: { query }
		};
	},
	addToCart: function(quantity, productId) {
		return {
			type: 'products/addToCart',
			payload: { quantity, productId }
		};
	}
},
orders:{
	type: 'orders',
	placeOrder: function(cartId) {
		return {
			type: 'orders/placeOrder',
			payload: { cartId }
		};
	},
	getOrder: function(orderId) {
		return {
			type: 'orders/getOrder',
			payload: { orderId }
		};
	}
}

Supporting an unlimited level of literal nesting would be awesome and allow for richly namespaced action creators that reduce the chance of collisions.

I would prefer that this be kept out of the library; but that doesn't mean we can't come up with a reasonable solution.
If we can re-implement a smarter camel-casing function (see #135), we can actually push the rest of the solution out to userland.
const {createActions} = require('redux-actions')

// generic, should be pulled from a utility module
const flatten = (
  target,
  delimiter,
  flattened = {},
  path = ''
) => {
  function getNextPath(key) {
    return path ? `${path}${delimiter}${key}` : key
  }
  for (const key in target) {
    const nextPath = getNextPath(key)
    if (typeof target[key] === 'function') {
      flattened[nextPath] = target[key]
      continue
    }
    flatten(target[key], delimiter, flattened, nextPath)
  }
  return flattened
}

const actions = flatten({
  orders: {
    getOrder: orderId => ({orderId}),
    placeOrder: cartId => ({cartId}),
  },
  products: {
    addToCart: (productId, quantity) => ({productId, quantity}),
    list: query => ({query}),
  },
  rootLevelAction: () => ({}),
  }, '/')

console.log(actions)
console.log(createActions(actions))

[~/code/private/js-standard]  (master|%=)
$ node test.js
{ 'orders/getOrder': [Function: getOrder],
  'orders/placeOrder': [Function: placeOrder],
  'products/addToCart': [Function: addToCart],
  'products/list': [Function: list],
  rootLevelAction: [Function: rootLevelAction] }
{ ordersGetOrder: { [Function: actionCreator] toString: [Function] },
  ordersPlaceOrder: { [Function: actionCreator] toString: [Function] },
  productsAddToCart: { [Function: actionCreator] toString: [Function] },
  productsList: { [Function: actionCreator] toString: [Function] },
  rootLevelAction: { [Function: actionCreator] toString: [Function] } }

Unfortunately our camel-casing function doesn't respect special delimiters, like /. I'd be happy to take care of this; then you'd be responsible for implementing the generic flattening.

I'm planning on releasing https://github.com/yangmillstheory/redux-scoped-actions once #166 gets merged. This would let you namespace and structure your actions hierarchy to whatever depth you want.

I'm using a custom solution that works for me, but it would be better if something "official" was supported. Are you going to support something like this or userland custom solutions are good enough?

I'd like to get this into core; userland code like what I linked to above is a bit awkward. I'll submit a PR this weekend.

I'm proposing something like https://github.com/yangmillstheory/redux-nested-actions/blob/master/src/index.test.js; planning on getting this in tomorrow.

Thanks @yangmillstheory, it's working great.
I had to change some dump actions that were in the array form (second createActions arg) to the object form but, after all, I think it was confusing to have these mixed configs.


Update User Guide

Added notes about bounds for LeaveBalance, HoursWorked and Overtime

Codecov Report

Merging #221 (740ffbe) into master (e0247c5) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #221   +/-   ##
=========================================
  Coverage     65.60%   65.60%
  Complexity      877      877
=========================================
  Files           133      133
  Lines          2829     2829
  Branches        373      373
=========================================
  Hits           1856     1856
  Misses          832      832
  Partials        141      141

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 e0247c5...740ffbe. Read the comment docs.


Icon Request: Sabayon.

Hi,
I would like to request that ya add an icon for Sabayon Linux to this excellent repository. Here is an example Sabayon Logo for ya to model this one after:

Thanks for your time,
Brenton

Added in 32901c111aaac7bb5b378946294d8be2ea28951b thanks to @Caerbannog. :+1:
In case you're using the CDN, you can link to the new version like this to use it right away (CSS class is fl-sabayon):
<link href="//cdn.rawgit.com/Lukas-W/font-linux/3d6c34e0f18ae6b0e108d68f348c6063b4bc973a/assets/font-linux.css" rel="stylesheet">


PeptideDecoder

Hi! Where is the code of "PeptideDecoder"? I failed to find it in depthcharge.

Casanovo is currently still using an older version of DepthCharge which we are in the process of updating (#350). The PeptideDecoder is available in DepthCharge v0.2.x here.

Casanovo is currently still using an older version of DepthCharge which we are in the process of updating (#350). The PeptideDecoder is available in DepthCharge v0.2.x here.

OK，thanks. And what is "precursors" referenced in Decoder?

You mean in the forward function? Precisely as described in the docstring:

precursors : torch.Tensor of size (batch_size, 2)
The measured precursor mass (axis 0) and charge (axis 1) of each tandem mass spectrum

You mean in the forward function? Precisely as described in the docstring:

precursors : torch.Tensor of size (batch_size, 2)
The measured precursor mass (axis 0) and charge (axis 1) of each tandem mass spectrum

I can't understand what is "precursors" stands for.

The information from the MS1 scan.


About message

How can I manual insert my hashed message and check signature?

I found a way....
I change in ecdsa.py line 80:
from hashed = hashfunc(msg_bytes(msg)).hexdigest()
to hashed = msg
then
m = "7bb2ce8b18b5dfc9c2c7e9b42fd59a94014adb06407c45f7adf69fbf4737129a"
and its working well
btw... very fast and great gob!

This will be supported out of the box via pull request #31.

Now supported out of the box in v1.7.2 -
from fastecdsa.curve import P256
from fastecdsa.ecdsa import sign
from fastecdsa.keys import gen_keypair

d, _ = gen_keypair(P256)
h = '7bb2ce8b18b5dfc9c2c7e9b42fd59a94014adb06407c45f7adf69fbf4737129a'
sign(h, d, prehashed=True)


AVPlayerItem fails on setSourceUrl after playing for about 2 or 3 minutes when running on iOS device

I'm writing an app that plays a sound repeatedly, and it works but fails after a couple of minutes.
The error occurs on the device, not on the simulator. Happens in both the debug mode as well as in the release archive after submitting to TestFlight.
Device I'm using is iPhone 13 Pro
Current bug behavior
The app crashes after 2 or 3 minutes (stack trace below)
Expected behavior
That it would keep playing as it plays when it starts.
Steps to reproduce
I created a ready-to-test Flutter app in this repo:
https://github.com/antoniobrandao/flutter-timer-test
Run it using an iPhone to preview & reproduce the error.
Flutter doctor output

[✓] Flutter (Channel stable, 3.10.1, on macOS 13.3.1 22E772610a darwin-arm64, locale en-PT)
    • Flutter version 3.10.1 on channel stable at /Users/antoniobrandao/Documents/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision d3d8effc68 (5 days ago), 2023-05-16 17:59:05 -0700
    • Engine revision b4fb11214d
    • Dart version 3.0.1
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
    • Android SDK at /Users/antoniobrandao/Library/Android/sdk
    • Platform android-33, build-tools 33.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.12.1

[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Android Studio (version 2022.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)

[✓] VS Code (version 1.79.0-insider)
    • VS Code at /Applications/Visual Studio Code - Insiders.app/Contents
    • Flutter extension version 3.65.20230510

[✓] Connected device (2 available)
    • Antonio’s iPhone (mobile) • 00008110-000209841E83801E • ios          • iOS 16.1 20B82
    • macOS (desktop)           • macos                     • darwin-arm64 • macOS 13.3.1 22E772610a darwin-arm64

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Environment information

flame_audio: ^2.0.2
Platform affected: ios (didn't try others)
Platform version affected: ios 16.1

Log information

    [ +723 ms] [VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(DarwinAudioError, AVPlayerItem.Status.failed on setSourceUrl, null, null)
    [        ] #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:652:7)
    [        ] #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:310:18)
    [        ] <asynchronous suspension>
    [        ] #2      AudioPlayer.play (package:audioplayers/src/audioplayer.dart:178:5)
    [        ] <asynchronous suspension>
    [        ] #3      FlameAudio._preparePlayer (package:flame_audio/flame_audio.dart:23:5)
    [        ] <asynchronous suspension>

More information
I've tried this with MP3, AIFF and WAV files, error happens the same.
I also notice higher delays between beeps when the crash is about to happen.

When using repetitive sounds like this it's usually better to use AudioPool which is another class from AudioPlayers (the library that flame_audio bridges to).

This should be fixed in a newer version of AudioPlayers


Address backward compat test issues after upgrading main to Lucene 11

There are several issues that need to be addressed now that main has moved on to accumulating changes for 11.

[x] Move 9.x bw test indices to "unsupported"
[x] Add 10.0.0 bw indices after 10.0.0 has been released
[ ] Resolve spurious 9.x bw test indices like more terms

Heads up: I pushed 10.0.0 backwards indices to main, and re-enabled backwards compatibility tests for indices >= 10.0, see https://github.com/apache/lucene/commit/352d85cbe4d3e64e3ac08588a816ae603de736df .


Accessibility issue in Bootstrap 3.x and above

Type of report
Hi team,
We are using Bootstrap v3.4.1 in our web application. We are providing Accessibility support to our clients in all the projects. There are some issues raised by the clients regarding accessibility. If these issues are fixed then they can enhance the overall experience for visually impaired users. So as a loyal and responsible user of Bootstrap, we are requesting the devs at Bootstrap to add these issues as soon as possible and when we can expect these issues to be fixed and even these issues are in the roadmap for development as these issues are becoming the bottleneck the project delivery.
Provide detailed reproduction steps (if any)

Open any screen reader. Recommend to use NVDA/ JAWS
Navigate to the dropdown button via the tab key.
Press enter to open the dropdown sub-menu.
Navigate through the submenu items using tab/ arrow keys.
Notice the focus is not trapped inside the dropdown sub-menu when pressing the tab/ arrow keys on the last sub menu item instead focus goes outside the dropdown sub-menu.

Expected result
The focus should be trapped inside the dropdown sub-menu until the user presses the Esc key or select a value.
Actual result
The focus is going outside the dropdown sub-menu.
Other details

Browser: …
OS: Windows, macOS, Android, iOS
Bootstrap version: 3.4.1

v3 is EOL: we won't fix it now. As far as I can remember, Paypal or Ebay wrote a Bootstrap v3 plugin to enhance accessibility. You may have a look at it.
Accessibility was improved in v4 and even more in v5, so I can only encourage you to upgrade.
Thanks for your support though!


fix: updated related command to remove duplicated values

This will fix the related command values and remove duplicated cluster values.

:tada: This PR is included in version 2.2.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


using masks and fmriprep output

Hiya!
I'm having trouble masking the output of fmriprep so I can extract timeseries data using fslmeants. I originally thought it would be pretty easy using masks from the craddock 200 brain atlas. The problem I'm running into is the output of fmriprep is 2.9x2.9x2.9mm (which I eventually fixed by flirting the func files so they were 3x3x3 to match my atlas). However, the next issue I have is the dimension sizes are not the same (fmriprep output dimensions are: 68x80x68 and craddock atlas dimensions are 63x75x61). I was wondering if anyone had a quick way to convert the functional files to match the atlas or to put both in some sort of space so I can extract timeseries information.
Any help would be greatly appreciated!

I would recommend reslicing the atlas/parcellation into the dimensionality of the _preproc files instead. You can do it with this nilearn function: http://nilearn.github.io/modules/generated/nilearn.image.resample_to_img.html#nilearn.image.resample_to_img
You can also use nilearn to extract time series in one step http://nilearn.github.io/connectivity/functional_connectomes.html
PS This question seems like a better fit for http://NeuroStars.org


SSR subscription in composeWithTracker

Hi,
I have a problem with flow-router-ssr and the composer function of react-komposer.
In the composer function is a subscription of a collection.
function composer(props, onData) {
  const handle = Meteor.subscribe('collection');

  if (handle.ready()) {
    const collection = Collection.find().fetch();
    onData(null, {collection});
  }
};

export default composeWithTracker(composer)(SomePage);

This is working fine and the SSR renders the page correctly.
But when the code is executed I get a "Loading.." indicator for a moment (fast-render).
The problem is, that the subscription handle is not ready when it is executed for the first time.
What can I do?
Is it possible to deactivate fast-render here and wait for the handle?
Thank you

Shit I created the same error
https://github.com/kadirahq/flow-router/issues/656

If fast render is properly preloading your collection data, then the subscription should return ready immediately as far as I know. Maybe @arunoda can correct me on this?

Yes the subscription sends ready immediately, but after 1 second on my console log it says ready() as false. which is weird, which make the app goes in to data loading mode again and loads the data from the publication again.. Which just makes no sense and a waste of pre rendering on the server.
I could show u an example if you'd like.

But the weird part is this is not happening on Localhost.. I tried to slow down the publications using Meteor._sleepForMs, but SSR works perfectly, no reloads or flashes of data loading.
The issue is on Ubuntu server running nginx as per https://www.digitalocean.com/community/tutorials/how-to-deploy-a-meteor-js-application-on-ubuntu-14-04-with-nginx

Lets test the same code on a normal server without nginx and deployed with MUPX

OHHH Shoot.. Ok seems like its a server setting issue :(
I just setup a server with a simple MUPX setup. it works great.. but not with the nginx setup I linked above

Yep definitely nginx issue, I stopped nginx on the server and accessed the url using :3000 and SSR works great

POSSIBLE SOLUTION
I removed the following line
# redirect non-SSL to SSL
    location / {
         rewrite     ^ https://$server_name$request_uri? permanent;
    }

And now SSR works.. any thoughts ?

Ok After all this I found out it's actually logged in logged out user issue.. If the user is logged out then SSR works.. Everytime I did the previous testing I did not had a login.. Duhh
Now to see why SSR is not working when there is a logged in user

I'm done. I'm just going to render everything on the client 😥

OK, in a funny (or not so funny I guess…) coincidence I'm now running into that exact same problem as well! I'm not using FlowRouter by the way, but React Router. So the problem seems related to either Komposer or Fast-Render.

pheww.. good to have someone on the same boat.. Lets do something about this Sacha.. :)

do you have a use logged in ??? is the behaviour different when logged in and logged out ?
When user is logged out everything is sweet.. but if the user is logged in
I have al sorts of issues.. To start off I have the user object 6 TIMES  in Fast render initial data set.. Whyy where does it come from.. I dont know

https://github.com/kadirahq/fast-render/issues/174

Seems to be related to the recent 1.3.3/1.3.4 releases: https://github.com/kadirahq/fast-render/issues/173
That would explain why we both saw the same issue at the same time (and yes it's only when a user is logged in for me too). Also I just downgraded back to <IP_ADDRESS> and the issue disappeared. So we can probably close this thread and just wait for a fix :)

Sweet. everything is working great. Thanks.
I have to be careful when I update next time. No more just updating for fun.
Just to be clear are we waiting for a fix from MDG or from Kadira ?

Downgrading back to <IP_ADDRESS> fixed it for me too thx.

@SachaG are you thinking of upgrading to a newer version of update ? Just double checking with you if you have upgraded or not. If you have not I'll bite the bullet and try to upgrade :)

No I haven't upgraded, waiting for this to be fixed first.


Release branch - 2.5.1

Code Changes Included in Patch Release

[x] #2330
[x] #2335
[x] #2321

Pre-Release Steps
General

[x] Quickstart verified working and up-to-date
[x] Add any new tables/columns to the database diagram if they have not already been added

To check for the new tables/columns that have been added in the release, look for new migration files in the src/fides/api/ctl/migrations directory and inspect their contents
If found, look at the latest database diagram, and check whether it contains the tables/columns that were added in these migrations
If the diagram is not up to date, follow the steps in the link above to generate a new database diagram with the up-to-date schema, ensuring that all tables and their relationships can be clearly seen
Open up an issue on fidesdocs to update the diagram on the new docs site

[x] nox -s test_env works (verify the admin UI, privacy center, CLI and webserver)
[x] nox -s "build(sample)" works on the release branch, creating the sample images (this is also prereq for fides deploy up)
[x] fides deploy up --no-pull works using the images built in previous step (verify the admin UI, privacy center, CLI and webserver)

mkdir ~/fides-2-1-0-test
cd ~/fides-2-1-0-test
python3 -m venv venv
source venv/bin/activate
pip install git+https://github.com/ethyca/fides.git@<branch>
fides deploy up --no-pull
fides status
fides deploy down
rm -rf ~/fides-2-1-0-test
exit

Next, run the following checks against the environment you've spun up using fides deploy up --no-pull:
API

[x] Verify that the generated API docs are correct
[x] Verify that the Postman collection has been updated

CLI
Run these from within nox -s dev -- shell

[x] Run a fides push
[x] Run a fides pull
[x] Run a fides evaluate
[x] Generate a dataset with fides generate dataset db --credentials-id app_postgres test.yml
[x] Scan a database with fides scan dataset db --credentials-id app_postgres

Admin UI

[x] Every navigation button works
[x] DSR approval succeeds
[x] DSR execution succeeds

Privacy Center

[x] Every navigation button works
[x] DSR submission succeeds
[x] Consent request submission succeeds

Documentation

[x] Verify that the CHANGELOG is formatted correctly and clean up verbiage where needed
[x] Verify that the CHANGELOG is representative of the actual changes

Post-Release Steps

[x] Verify the ethyca-fides release is published to PyPi: https://pypi.org/project/ethyca-fides/#history
[x] Verify the fides release is published to DockerHub: https://hub.docker.com/r/ethyca/fides
[x] Verify the fides-privacy-center release is published to DockerHub: https://hub.docker.com/r/ethyca/fides-privacy-center
[x] Verify the fides-sample-app release is published to DockerHub: https://hub.docker.com/r/ethyca/fides-sample-app
[ ] Smoke test the PyPi & DockerHub releases with a clean pip install ethyca-fides and fides deploy up

@seanpreston - I am going to start running through the release steps. Since we aren't doing anything off main, I don't think we need to blast anything out until the release is shipped - good with that?

One question about nox -s text_env - It looks like there are duplicate logs for Loaded config from: /fides/src/fides/data/test_env/fides.test_env.toml from the CLI but I thought we silenced that at some point recently? 🤔

Minor question on if API docs version should be updated

Manually pushed the latest tags for privacy center and sample app again until #2301 is closed

@seanpreston @SteveDMurphy is this good to merge/close?

Minor question on if API docs version should be updated

oh nice catch...I'll make sure we inject the version into FastAPI

One question about nox -s text_env - It looks like there are duplicate logs for Loaded config from: /fides/src/fides/data/test_env/fides.test_env.toml from the CLI but I thought we silenced that at some point recently? 🤔

we only silenced the "warning" message about no config found. but if there is one, we do write out where it's getting loaded from

@seanpreston @SteveDMurphy is this good to merge/close?

Yep! Just waiting on an approval here still but would love to get it sorted before any changelog conflicts start rolling in - thanks @ThomasLaPiana

Thanks for the update on what was silenced! The second part here is the duplication of logs, I'll see if I can reproduce and open a bug around it tonight if that makes sense to you too 👍🏽

It looks good to me but I don't have full context here so I'll leave the real approval to @seanpreston


activation-script: add libc to path to provide nscd when needed

Motivation for this change
Missed when removing hardcoded glibc references, sorry.
In my defense comment claims glibc bin was used only for getent :).
Now we know better :).
(#49504)
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

Oops my bad! Why does it need nscd?

Someone asked about this on IRC today fwiw.


How do I direct it to crawl, specifc paged content in a site directory?

Hi,
This is a follow-up question to: https://github.com/sjdirect/abotx/issues/24#issue-784660302
If I have a website and I want it to crawl specific pages, not the whole site, do I have to make it crawl the entire site?
How do I direct it to crawl, say, specific, paged content. For example:
www.mysite.com/puppies?page=1
www.mysite.com/puppies?page=2
www.mysite.com/puppies?page=3
www.mysite.com/puppies?page=4
www.mysite.com/puppies?page=5
...and I want to skip and I do not want it to crawl other pages or site directories, for example:
www.mysite.com/contact
www.mysite.com/puppies/blog
www.mysite.com/services

Please take questions like these to the forum
Ask a question, please search for similar questions first!!!
If you are interested in expert Abot customization go here?

Please take questions like these to the forum
Ask a question, please search for similar questions first!!!
If you are interested in expert Abot customization go here?

Figured it out by looking at the Scheduler class.
To help anyone who wants to do the same, see walkthrough below, noting that this isn't production ready/tested code, but served my purposes.
I hardcoded my list of pages. You would otherwise have some dynamic way of populating your page list(like a DB or even parsing the paging info from the landing/first page)

Create a custom IScheduler where you populate your pages. Custom code is commented. The rest is as-is in the Scheduler class

    public class MyScheduler : IScheduler
    {
        ICrawledUrlRepository _crawledUrlRepo;
        IPagesToCrawlRepository _pagesToCrawlRepo;
        bool _allowUriRecrawling;
        // flag to indicate my list of pages have been loaded
        bool _pageListLoaded;

        public MyScheduler()
            : this(false, null, null)
        {
        }

        public MyScheduler(bool allowUriRecrawling, ICrawledUrlRepository crawledUrlRepo, IPagesToCrawlRepository pagesToCrawlRepo)
        {
            _allowUriRecrawling = allowUriRecrawling;
            _crawledUrlRepo = crawledUrlRepo ?? new CompactCrawledUrlRepository();
            _pagesToCrawlRepo = pagesToCrawlRepo ?? new FifoPagesToCrawlRepository();

            // custom code different from default Scheduler
            // this is where you populate your page list by creating a List of PageToCrawl
            var pagesToCrawl = new List<PageToCrawl>();
            var listingUrl = "https://www.mysite.com/puppies";
            for (var i = 1; i <= 5; i++)
            {
                pagesToCrawl.Add(new PageToCrawl(new Uri(listingUrl + "?" + i )));
            }
            // add your list
            Add(pagesToCrawl);
            // set flag
            _pageListLoaded = true;
        }

        public int Count => _pagesToCrawlRepo.Count();

        public void Add(PageToCrawl page)
        {
            // if your pageList has been loaded, don't allow adding another page
            if(_pageListLoaded) return;
            if (page == null)
                throw new ArgumentNullException("page");

            if (_allowUriRecrawling || page.IsRetry)
            {
                _pagesToCrawlRepo.Add(page);
            }
            else
            {
                if (_crawledUrlRepo.AddIfNew(page.Uri))
                    _pagesToCrawlRepo.Add(page);
            }
        }

        public void Add(IEnumerable<PageToCrawl> pages)
        {
            // same as above
            if (_pageListLoaded) return;
            if (pages == null)
                throw new ArgumentNullException("pages");

            foreach (var page in pages)
                Add(page);
        }

        public void AddKnownUri(Uri uri)
        {
            _crawledUrlRepo.AddIfNew(uri);
        }

        public void Clear()
        {
            _pagesToCrawlRepo.Clear();
        }

        public void Dispose()
        {
            if (_crawledUrlRepo != null)
            {
                _crawledUrlRepo.Dispose();
            }
            if (_pagesToCrawlRepo != null)
            {
                _pagesToCrawlRepo.Dispose();
            }
        }

        public PageToCrawl GetNext()
        {
            return _pagesToCrawlRepo.GetNext();
        }

        public bool IsUriKnown(Uri uri)
        {
            return _crawledUrlRepo.Contains(uri);
        }
    }

Then, when crawling, based on the example, taking note that I used the custom MyScheduler to instantiate PoliteWebCrawler

            var config = new CrawlConfiguration
            {
                MaxPagesToCrawl = 10, //Only crawl 10 pages
                MinCrawlDelayPerDomainMilliSeconds = 3000, //Wait this many millisecs between requests

            };
            var scheduler = new MyScheduler();
            var crawler = new PoliteWebCrawler(config,null,null,scheduler,null,null,null,null,null);

            crawler.PageCrawlCompleted += PageCrawlCompleted;//Several events available...

            var crawlResult = await crawler.CrawlAsync(new Uri("https://www.mysite.com/"));

That's it! Have fun!

Figured it out by looking at the Scheduler class.
To help anyone who wants to do the same, see walkthrough below, noting that this isn't production ready/tested code, but served my purposes.
I hardcoded my list of pages. You would otherwise have some dynamic way of populating your page list(like a DB or even parsing the paging info from the landing/first page)

Create a custom IScheduler where you populate your pages. Custom code is commented. The rest is as-is in the Scheduler class

    public class MyScheduler : IScheduler
    {
        ICrawledUrlRepository _crawledUrlRepo;
        IPagesToCrawlRepository _pagesToCrawlRepo;
        bool _allowUriRecrawling;
        // flag to indicate my list of pages have been loaded
        bool _pageListLoaded;

        public MyScheduler()
            : this(false, null, null)
        {
        }

        public MyScheduler(bool allowUriRecrawling, ICrawledUrlRepository crawledUrlRepo, IPagesToCrawlRepository pagesToCrawlRepo)
        {
            _allowUriRecrawling = allowUriRecrawling;
            _crawledUrlRepo = crawledUrlRepo ?? new CompactCrawledUrlRepository();
            _pagesToCrawlRepo = pagesToCrawlRepo ?? new FifoPagesToCrawlRepository();

            // custom code different from default Scheduler
            // this is where you populate your page list by creating a List of PageToCrawl
            var pagesToCrawl = new List<PageToCrawl>();
            var listingUrl = "https://www.mysite.com/puppies";
            for (var i = 1; i <= 5; i++)
            {
                pagesToCrawl.Add(new PageToCrawl(new Uri(listingUrl + "?" + i )));
            }
            // add your list
            Add(pagesToCrawl);
            // set flag
            _pageListLoaded = true;
        }

        public int Count => _pagesToCrawlRepo.Count();

        public void Add(PageToCrawl page)
        {
            // if your pageList has been loaded, don't allow adding another page
            if(_pageListLoaded) return;
            if (page == null)
                throw new ArgumentNullException("page");

            if (_allowUriRecrawling || page.IsRetry)
            {
                _pagesToCrawlRepo.Add(page);
            }
            else
            {
                if (_crawledUrlRepo.AddIfNew(page.Uri))
                    _pagesToCrawlRepo.Add(page);
            }
        }

        public void Add(IEnumerable<PageToCrawl> pages)
        {
            // same as above
            if (_pageListLoaded) return;
            if (pages == null)
                throw new ArgumentNullException("pages");

            foreach (var page in pages)
                Add(page);
        }

        public void AddKnownUri(Uri uri)
        {
            _crawledUrlRepo.AddIfNew(uri);
        }

        public void Clear()
        {
            _pagesToCrawlRepo.Clear();
        }

        public void Dispose()
        {
            if (_crawledUrlRepo != null)
            {
                _crawledUrlRepo.Dispose();
            }
            if (_pagesToCrawlRepo != null)
            {
                _pagesToCrawlRepo.Dispose();
            }
        }

        public PageToCrawl GetNext()
        {
            return _pagesToCrawlRepo.GetNext();
        }

        public bool IsUriKnown(Uri uri)
        {
            return _crawledUrlRepo.Contains(uri);
        }
    }

Then, when crawling, based on the example, taking note that I used the custom MyScheduler to instantiate PoliteWebCrawler

            var config = new CrawlConfiguration
            {
                MaxPagesToCrawl = 10, //Only crawl 10 pages
                MinCrawlDelayPerDomainMilliSeconds = 3000, //Wait this many millisecs between requests

            };
            var scheduler = new MyScheduler();
            var crawler = new PoliteWebCrawler(config,null,null,scheduler,null,null,null,null,null);

            crawler.PageCrawlCompleted += PageCrawlCompleted;//Several events available...

            var crawlResult = await crawler.CrawlAsync(new Uri("https://www.mysite.com/"));

That's it! Have fun!


23-Replace-LibC-calls-in-Pharo-launcher-cli-with-PhLProcessWrapper

replaced LibC calls with ProcessWrapper OSSubProcess command checking exit code

changed kill command and processList command to use process wrapper instead of LibC

@demarey Hi Christophe! If you have a bit time please review! I replaced LibC with ProcessWrapper that will allow us to catch errors (non-zero returns) from system bash commands executed from Pharo launcher CLI command.
All tests passing. Test procedure is:
gh repo clone PharoLauncherCmdLine/CommandLineLauncher
cd CommandLineLauncher
git checkout 23-Replace-LibC-calls-in-Pharo-launcher-cli-with-PhLProcessWrapper
PHARO=80 ARCHITECTURE=64 ./build.sh prepare
PHARO=80 ARCHITECTURE=64 ./build.sh test

All unit tests green, please review and approve.
<testsuite name="PharoLauncher-CLI-Tests" tests="79" failures="0" errors="0" time="1.484">
<testsuite name="PharoLauncher-Tests-Commands" tests="47" failures="0" errors="0" time="6.303">
<testsuite name="PharoLauncher-Tests-Core" tests="88" failures="0" errors="0" time="2.921">
<testsuite name="PharoLauncher-Tests-Download" tests="36" failures="0" errors="0" time="0.716">
<testsuite name="PharoLauncher-Tests-Functional" tests="50" failures="0" errors="0" time="36.03">
<testsuite name="PharoLauncher-Tests-SpecUI" tests="35" failures="0" errors="0" time="2.844">


feat: 시스템 프롬프트 업데이트

Task Summary
안녕하세요~!
좀 더 명확하게 시스템 프롬프트를 업데이트 했는데, 확인 부탁드리겠습니다!
완벽하지 않겠지만, 계속 발전시켜 나가면 될 것 같습니다 :)
Description

A 와 B 패키지 리스트가 노드 모듈 패키지임을 명시하였습니다.
같은 목적(역할)을 지닌 패키지(same purpose) 라는 표현 대신 대체해서(replaceable) 사용 가능한지로 명령 변경
replaceable 이라는 단어에 대해 "유사하며(similar), 대체 가능하다(alternative)" 는 의미를 다시 한 번 인지시켜주었습니다.

기존 프롬프트

전송 텍스트

A list: @dnd-kit/core, @dnd-kit/sortable, @elastic/elasticsearch, @hackler/react-sdk, @loadable/babel-plugin, @loadable/component, @loadable/server, @loadable/webpack-plugin, @nivo/bar, @nivo/calendar, @nivo/line, @nivo/pie, @reduxjs/toolkit, @vime-js/complete, amazon-chime-sdk-js, async, aws-sdk, axios, body-parser, bootstrap, cheerio, classnames, codemirror, commander, compression, connect-redis, cookie, cookie-parser, core-js, cors, csv, detect-character-encoding, ejs, elastic-apm-node, emoji-picker-react, errorhandler, exceljs, express, express-mongo-sanitize, express-session, extend, ffprobe, ffprobe-static, forever, form-data, fstream, google-spreadsheet, googleapis, goorm-toastify, html-pdf, html-to-text, iconv, immer, import-inspector, ioredis, joi, jquery, json-stream-stringify, kafkajs, kbar, lodash, lottie-web, markdown-it, mathjax-node, method-override, moment, mongoose, morgan, multer, node-vibrant, nodemailer, nodemailer-ses-transport, normalizr, openai, os-monitor, passport, passport-bitbucket-oauth2, passport-facebook, passport-github, passport-google-oauth, passport-naver, phaser, pino, pino-caller, prop-types, prosemirror-commands, prosemirror-history, prosemirror-keymap, prosemirror-markdown, prosemirror-model, prosemirror-state, prosemirror-transform, prosemirror-view, qrcode, query-string, rc-slider, react, react-addons-shallow-compare, react-avatar, react-confetti, react-copy-to-clipboard, react-datetime, react-dom, react-error-boundary, react-flow-renderer, react-helmet, react-hook-form, react-icon-base, react-image-crop, react-intl, react-intl-v5, react-joyride, react-pdf, react-query, react-redux, react-resize-detector, react-resize-detector-v7, react-router-dom, react-router-dom-v6, react-table, react-toastify, react-transition-group, react-use, react-virtualized, react-zoom-pan-pinch, reactstrap, redis, redux, regex-parser, request-ip, jest, requirejs, restler, rfg-api, rimraf, serialize-javascript, serve-favicon, shaka-player, socket.io, socket.io-client, socket.io-redis, tar, tinykeys, utf8, uuid, vimeo, walk, xlsx, xml2js, xss, xterm, xterm-addon-fit, xterm-webfont
B list: dayjs, mocha

Please compare the packages in lists A and B, and identify any with same purposes.
If a similar package is found, please present the information in the following JSON format:
[ { "pkgName1": "[package from A list]", "pkgName2": "[package from B list]", "description": "[brief explanation of the similarity]" }]
If no similar packages are found, output []. Please ensure only the JSON format is provided in the response.

결과

[
  {
    "description": "Both packages provide utilities for working with dates and times.",
    "pkgName1": "@loadable/babel-plugin",
    "pkgName2": "dayjs"
  },
  {
    "description": "Both packages provide testing frameworks for JavaScript.",
    "pkgName1": "jest",
    "pkgName2": "mocha"
  }
]

개선 프롬프트

전송 텍스트

A list: @dnd-kit/core, @dnd-kit/sortable, @elastic/elasticsearch, @hackler/react-sdk, @loadable/babel-plugin, @loadable/component, @loadable/server, @loadable/webpack-plugin, @nivo/bar, @nivo/calendar, @nivo/line, @nivo/pie, @reduxjs/toolkit, @vime-js/complete, amazon-chime-sdk-js, async, aws-sdk, axios, body-parser, bootstrap, cheerio, classnames, codemirror, commander, compression, connect-redis, cookie, cookie-parser, core-js, cors, csv, detect-character-encoding, ejs, elastic-apm-node, emoji-picker-react, errorhandler, exceljs, express, express-mongo-sanitize, express-session, extend, ffprobe, ffprobe-static, forever, form-data, fstream, google-spreadsheet, googleapis, goorm-toastify, html-pdf, html-to-text, iconv, immer, import-inspector, ioredis, joi, jquery, json-stream-stringify, kafkajs, kbar, lodash, lottie-web, markdown-it, mathjax-node, method-override, moment, mongoose, morgan, multer, node-vibrant, nodemailer, nodemailer-ses-transport, normalizr, openai, os-monitor, passport, passport-bitbucket-oauth2, passport-facebook, passport-github, passport-google-oauth, passport-naver, phaser, pino, pino-caller, prop-types, prosemirror-commands, prosemirror-history, prosemirror-keymap, prosemirror-markdown, prosemirror-model, prosemirror-state, prosemirror-transform, prosemirror-view, qrcode, query-string, rc-slider, react, react-addons-shallow-compare, react-avatar, react-confetti, react-copy-to-clipboard, react-datetime, react-dom, react-error-boundary, react-flow-renderer, react-helmet, react-hook-form, react-icon-base, react-image-crop, react-intl, react-intl-v5, react-joyride, react-pdf, react-query, react-redux, react-resize-detector, react-resize-detector-v7, react-router-dom, react-router-dom-v6, react-table, react-toastify, react-transition-group, react-use, react-virtualized, react-zoom-pan-pinch, reactstrap, redis, redux, regex-parser, request-ip, jest, requirejs, restler, rfg-api, rimraf, serialize-javascript, serve-favicon, shaka-player, socket.io, socket.io-client, socket.io-redis, tar, tinykeys, utf8, uuid, vimeo, walk, xlsx, xml2js, xss, xterm, xterm-addon-fit, xterm-webfont
B list: dayjs, mocha

Both list A and B are node module packages.
Please compare the packages in lists A and B, and find the replaceable packages.
The replaceable package means similar and alternative package.
If replaceable packages are found, please present the information in the following JSON format:
[ { "pkgName1": "[package from A list]", "pkgName2": "[package from B list]", "description": "[brief explanation of the similarity]" }]
If no replaceable packages are found, output []. Please ensure only the JSON format is provided in the response.

결과 1

[
  {
    "pkgName1": "@loadable/babel-plugin",
    "pkgName2": "babel-plugin-dynamic-import-node",
    "description": "Both packages allow dynamic imports to work with server-side rendering in Node.js."
  },
  {
    "pkgName1": "@loadable/component",
    "pkgName2": "react-loadable",
    "description": "Both packages provide a way to load React components lazily with code splitting."
  },
  {
    "pkgName1": "axios",
    "pkgName2": "restler",
    "description": "Both packages are used for making HTTP requests from Node.js."
  },
  {
    "pkgName1": "body-parser",
    "pkgName2": "express",
    "description": "Both packages are used for parsing HTTP request bodies in Node.js."
  },
  {
    "pkgName1": "express",
    "pkgName2": "koa",
    "description": "Both packages are popular web frameworks for Node.js, with similar features and purposes."
  },
  {
    "pkgName1": "jest",
    "pkgName2": "mocha",
    "description": "Both packages are popular testing frameworks for JavaScript."
  },
  {
    "pkgName1": "lodash",
    "pkgName2": "underscore",
    "description": "Both packages provide utility functions for working with arrays, objects, and other data structures in JavaScript."
  },
  {
    "pkgName1": "moment",
    "pkgName2": "dayjs",
    "description": "Both packages are used for working with dates and times in JavaScript, with moment being more feature-rich and dayjs being lighter and faster."
  },
  {
    "pkgName1": "redis",
    "pkgName2": "ioredis",
    "description": "Both packages are used for working with Redis databases in Node.js, with ioredis providing additional features and performance improvements over redis."
  }
]

결과 2

[
  {
    "mocha": "@jest/test-runner",
    "description": "Both are testing frameworks for Node.js."
  }
]

결과 3

[
  {
    "mocha": "@jest/core",
    "description": "Both are testing frameworks for Node.js and can be used to write unit tests, integration tests, and functional tests for JavaScript applications."
  }
]

테스트 결과를 첨부해드리는 걸 깜박했군요!
지금 추가로 더 돌려봤는데, 결과 값이 너무 다르게 나와서...
좀 더 연구가 필요할 것 같습니다. 😓
(너무나 어려운 것...)
시간 날 때 마다 고민 좀 해보겠습니다. ㅎㅎㅎ

@Sain-Tech
Mr.-Ranedeer-AI-Tutor 이거 혹시 아세요?
트랜딩에 올라온 레포인데 이렇게 활용할 수도 있나봐요..!

우선 주말까지 한번 보고 이 PR은 머지할게요.

패키지 비교가 좀 더 명확했으면 하는 것
JSON 형식이 깨지는 것

위의 두 문제점이 있었는데 1개 문제점이 개선되었으니 2번 문제는 별도 issue나 pr에서 더 이야기해봐요.

오...프롬프트를 JSON 형태로도 작성할 수 있다는 건 신기하네요!!
전 뭔가 토큰 수 제한이 있다 보니까, 프롬프트가 길어지면 길어질수록 답변 품질이나 내용이 많이 떨어질거로 예상했는데,
방금 GPT 3.5 에서도 테스트 해보니 생각 외로 잘 나오는 것 같습니다.
JSON 형태 깨지는 건 저도 심심할 때 연구 더 해보도록 하겠습니다. ㅎㅎㅎ
반영 해주셔서 감사드려요~~!


maas_secret_file undefined

Where:
Installation
Version
snap, maas 3.3/stable
Environment
on lxc host: lxc launch ubuntu:22.04 maas-test
ssh-import-id-gh ben-ihelputech
# dpkg --print-architecture
amd64

Inventory.yaml
---
all:
  children:
    maas_postgres:
      children:
        maas_postgres_primary:
          hosts:
            maas-postgres-primary:
              ansible_host: <IP_ADDRESS>
              ansible_user: root
        maas_postgres_secondary:
    maas_proxy:
    maas_region_controller:
      hosts:
        maas-region-controller-01:
          ansible_host: <IP_ADDRESS>
          ansible_user: root
    maas_rack_controller:
      hosts:
        maas-rack-controller-01:
          ansible_host: <IP_ADDRESS>
          ansible_user: root

Command
ansible-playbook -i inventory.yaml --extra-vars="maas_version=3.3 maas_postgres_password=MyPassword maas_installation_type=snap maas_url=http://x.x.x.x:5240/MAAS" ./site.yaml

Error
TASK [maas_rack_controller : Initialise MAAS Rack Controller]
fatal: [maas-rack-controller-01]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'maas_rack_secret' is undefined. 'maas_rack_secret' is undefined\n\nThe error appears to be in '/Users/ben/Nextcloud/Documents/Ansible/maas-ansible-playbook/roles/maas_rack_controller/tasks/install_maas.yaml': line 34, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Initialise MAAS Rack Controller\n  ^ here\n"}

Description
I'm trying to install maas with the playbook on a fresh VM, but I keep running on this error. Upon further inspection, it seems like under group_vars/all, maas_secret_file on line 74 is defined by /var/snap/maas/common/maas/secret. Well, the problem is when the rack controller goes to initialize on snap 3.3, this nothing exists in the directory. ls /var/snap/maas/common/maas/ Does this file need to be manually defined by an environment variable or is this a bug?

@ElineMaaikedeWeerd I just cloned the main branch as of yesterday

Something must have changed to resolve this issue. I recloned the repo this morning into a fresh directory on my laptop. I setup the hosts.yaml with the new lxd container and it seemed to work. 🤷♂ I just used a single host same as last time and was able to get to the login page.
I'm going to try and set it up in a mixed arm/amd environment with HA so we'll see how that goes.


InstanceOfCheckForException: do not report when catch blocks do not check for the subtype of an exception

Fixes #1927

Codecov Report

Merging #2555 into master will decrease coverage by 0.03%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master    #2555      +/-   ##
============================================
- Coverage     26.89%   26.86%   -0.04%
  Complexity      390      390
============================================
  Files           377      377
  Lines          6671     6679       +8
  Branches       1207     1211       +4
============================================
  Hits           1794     1794
- Misses         4746     4754       +8
  Partials        131      131

Impacted Files
Coverage Δ
Complexity Δ

...kt/rules/exceptions/InstanceOfCheckForException.kt
21.05% <0.00%> (-15.32%)
1.00 <0.00> (ø)

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 21ea090...59c19ed. Read the comment docs.


No valid replicaset members found when a secondary is not available on the network

This is with version 2.0.12, mongodb 3.2.10 and ubuntu 14.04.
You will need either 3 VMs or 3 physical servers to replicate this issue. This does not happen if the service is only stopped while the server is on the network or if the script is running before the node leaves the network.
Steps to replicate

Spin up a replica set on three linux servers

Disconnect the network from one of the secondary servers either by pulling out a network cable or using ifdown on the interface

Run this script on the remaining secondary node which is still on the network
var ReplSet = require('mongodb-core').ReplSet;
var replSet = new ReplSet([
  { host: server1Ip, port: 27017 },
  { host: server2Ip, port: 27017 },
  { host: server3ip, port: 27017 }
]);

replSet.on('connect', function(_server) {
  setInterval(function() {
    _server.command('system.$cmd', { ping: 1 }, function(err, result) {
      if (err) {
        console.error(err);
      } else {
        console.log(result.result);
      }
    });
  }, 1000);
});

The connect never happens and eventually an error is thrown saying 'no valid replicaset members'

Make sure you are using the replicaset names returned from rs.config() as your connection string, they must be resolvable by the driver for reconnect to work.

Yeah they match.

The names match. Connections work ok if the mongo service is off but the network is up.

if the network is down you are beholden to the socketTimeoutMS parameter and nothing will happen until those trigger timeout events.

Does it default to 30 seconds? I ran it for a few minutes to make sure it wasn't the timeout threshold. I can make a video when I get in the office.

No there should be enough info to try to reproduce it using the mock library I have.

2.2.11 will be released tomorrow I suggest retrying with it

please reopen if still happening with 2.2.11


input → v

inputs are just another type of observable container, no need to have a separate entry.

This disables [getter/]setter. Unless v is able to take unmap function.

Done.


Different behavior between bundler 1.15.x and 1.14.6: wrong file required

I have the following situation, where Bundler 1.15.x fails in an unexpected way, while 1.14.6 work as expected. The error is
  Gem Load Error is: uninitialized constant SomeConstantDefinedInGem1
  Backtrace for gem load error is:
  /path/to/gem1-2.0.0/lib/xsd.rb:4:in `<top (required)>'
  /path/to/gem2-1.1.0/lib/gem2.rb:13:in `<top (required)>'

The failing line in gem2.rb contains a
require 'xsd'

and since gem2 contains an xsd.rb on the same level as the gem2.rb, I would expect that file to be required. With Bundler 1.14.6 that is also the case and that file is being required. With bundler 1.15.x a file xsd.rb in a different gem, gem1 (not named xsd) is being required.
We are not pushing the gem1-2.0.0/lib path onto the LOAD_PATH or anything like that, but perhaps Bundler 1.15.x does? Or for some reason it thinks there is a gem called 'xsd', because there is a file xsd.rb in the lib directory of a gem?

Can you share your bundle env? We're not really able to help resolve your issue without a way for us to reproduce the problem ourselves. Thanks.

ping @Confusion

Sorry for not responding, don't have much free time currently. I was trying to come up with a minimal reproduction, but didn't succeed so far. The bundle env references a bunch of our internal gems, so I'm afraid it won't be much help, as you can't reproduce the situation from that.

I was wrong. The two gems were supposed to be identical except for some code differences, but for some reason one actually does specify s.require_paths = ['lib'] in the gemspec.


HUE-8771: [jobbrowser] Can't reload job in mini job browser

Link to JIRA
Link to review board

Thanks!


jeet col cycle problem with media query

I try to do the following, and the layout is messed up.  For example, it pick up the col(1/3, cycle: 3) definition of the css when my screen size below 800px ( which supposing should be 2 column ).
Anyone has that issue??
.list
   .item
       col(1/4, cycle: 4)
       +below(1000px)
             col(1/3, cycle: 3)
       +below(800px)
             col(1/2, cycle: 2)
       +below(400px)
             col(1)

I don't use Stylus but I think you're declaring your css from desktop to mobile, you should write the css in the opposite, from mobile to desktop. Also, there is an uncycle parameter that you need to declare to override the nth-child inherited in the next media queries.
.list
   .item
        col(1)
       +above(400px)
             col(1/2, cycle: 2)
       +above(800px)
             col(1/3, uncycle: 2, cycle: 3)
       +above(1000px)
             col(1/4, uncycle: 3, cycle: 4)

Hi @iroy2000,
@microcipcip is correct. You just need to specify the uncycle parameter each time you update the element using a media query. This will "reset" the :nth-child declarations that were previosuly used by Jeet.
Also, although not strictly necassary, it can ofter make more sense to write your CSS mobile first. I'll leave that up to you though :wink:

Thanks a lot for the quick response :+1:


setState() not working in list items under StatefulWidget

Hi there,
There seems to be an issue with updating the StatefulWidget by clicking or tapping a list item. Based on what I've tried myself, and the similar questions that I've gone through here and on StackOverflow, setState() function doesn't have any effect on the widget state.
However, I tired to set the state in another widget under the same stateful, it worked just fine, and even applied the missing state update from the previous one set in the list item. This turned out for me that the issue is when updating the state in a list item specifically.
Hopefully, I can get any solution for that here.

Hi @abdurahmanqb
could you provide your a minimal complete reproducible code sample and also your flutter doctor -v?

@abdurahmanqb
This is intended behaviour, see https://github.com/flutter/flutter/issues/56998#issuecomment-628220674.
Avoid making your state depend on static variables of another widget. You can set isActive variable for ColumnItem or to some another way. Or you can use bloc pattern or provider or inherited widget.
May be useful https://medium.com/flutter-community/simple-ways-to-pass-to-and-share-data-with-widgets-pages-f8988534bd5b.
Closing since this is not an issue with flutter,
if you disagree please write in the comments and I will reopen it

@VladyslavBondarenko
Thanks for the clarification, but indirect set of the state by calling it from another context solved the issue and got the correct value of the static variable. That means there's no issue with the static variable itself, but from where setState() was called!
Hopefully that makes sense.


Auth fragments: remove need to retype email, fix back presses

Fixes #979
Changes:

Email fields are now updated with previously typed email on screen changes.
Back presses in all AuthActivity fragments take back to previous fragment
Back press in only Login fragment prompts exit.

Gif for the change:

@mishuvs Yes

@iamareebjamal Please review

@iamareebjamal Please review


Arbitrary RGB color support

Can we add truecolor support? The ability to specify any R, G and B value?

Let me know what you think, @fatih!

Can we please have orange? @fatih

This library can make it easy to implement: https://github.com/jwalton/gchalk (it also auto-detects terminal support levels)
I can make a PR that uses this library, but I'm not sure whether @fatih would be okay with using another color library.

I like the idea. @quackduck can you write how you want to tackle this? Do you plan to introduce a new API? or just change the underlying implementation? Before we go down this road, I want to first understand what the implications are, and whether it's worth adding it, and if we add, how I want to add it (I don't want to break existing code, because use the color package now for years based on the assumption that it uses ANSI escape codes).

I think a new API would probably be the best way to do this since changing the underlying implementation could break stuff. Not sure if I can make a PR in the near future, though.

24-bit true color with ANSI escape sequences can be used for encoding arbitrary colors. Refer：https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797.
For example, if you want to obtain an orange color, you can use the code color.New(38, 2, 255, 128, 0), where the first two parameters are according to ANSI standards, and the last three parameters are the corresponding RGB values of the color.

Oh here is how it looks using the code:
package main

import (
	"github.com/fatih/color"
)

func main() {
	a := color.New(38, 2, 255, 128, 0)
	a.Println("This is orange")
	a.Println("what's up")

	b := color.New(48, 2, 255, 128, 0)
	b.Println("This is orange")
	b.Println("what's up")
}

color.New(38, 2, 255, 128, 0)

Hey Fatih, is there any way I can help with implementing this new API? I think it can be very useful considering how widely used this package is 👍🏼

Hi @bschaatsbergen I created a PR, could you try it out and share any feedback you have? Thank you: https://github.com/fatih/color/pull/225

I merged RGB support via: https://github.com/fatih/color/pull/225 I'll release a new version soon, but you can go get the latest and try it out.


[MISC][WS] add react icons pipeline

Changes
Description of changes...

[delete] branch

Changelog entry

adding workflow file for gitlab pipeline trigger

Pipelines passed
https://sgts.gitlab-dedicated.com/wog/gvt/lifesg/gvt-lifesg/devops/jobs/github-package-builder/-/pipelines/1347933
but somehow its parent job showed it was canceled


ZeRO Stage1 behaviour changed between v0.3.2 and v0.3.3

Hello,
I found significant difference in BERT training curves between versions v0.3.2 and v0.3.3. The log doesn't help me to understand the reason. Is it an expected behaviour?

I tried pretraining of a shallow BERT model. My deepspeed config:
{
  "train_batch_size": 384,
  "train_micro_batch_size_per_gpu": 48,
  "steps_per_print": 1000,
  "prescale_gradients": false,
  "zero_allow_untested_optimizer": true,
  "optimizer": {
    "type": "adam",
    "params": {
      "lr": 0.00152,
      "weight_decay": 0.01,
      "bias_correction": false
    }
  },
  "gradient_clipping": 1.0,

  "wall_clock_breakdown": false,

  "fp16": {
    "enabled": true,
    "loss_scale": 0,
    "initial_scale_power": 20
  },
  "zero_optimization": {
      "stage": 1
  }
}

My BERT config:
{
  "attention_probs_dropout_prob": 0.1,
  "hidden_act": "gelu",
  "hidden_dropout_prob": 0.1,
  "hidden_size": 2048,
  "initializer_range": 0.02,
  "intermediate_size": 8192,
  "max_position_embeddings": 512,
  "num_attention_heads": 32,
  "num_hidden_layers": 2,
  "type_vocab_size": 10,
  "vocab_size_or_config_json_file": 103296
}

uh oh

@e-sha, can you please try this branch?

Thank you for the reply. I will check it next week and will send you the results.


Update request version, fixes #2336

It seems to be impossible to upgrade without loosing backward compatibility, as newer versions of request depend on versions of hawk that drop support of node 0.12. I'll revisit this later for bower 2.0


stable GPIO value for dedicated time

Hello,
During verification there is often need to check that GPIO signal keeps expected value for proper time. It would be very useful to have it. I don't see possibility to use GPIO VIP API for this need now.
Please consider extension of VVC gpio_check procedure with additional stable_time parameter set to 0 ns by default.
If gpio_vvc_if does not keep value provided by data_exp during stable_time then raise an alert.
Best Regards
Pawel

Hi Pawel,
Thank you for the suggestion, I will create a ticket so that we can implement this for the next release.
Best Regards,
Erick

Fixed in release v2_v2020.10.06


Add Frame Grabber by @arthurhammer

[x] Project URL:  https://github.com/arthurhammer/FrameGrabber
[x] Update contents.json instead of README
[x] One project per pull request
[x] Screenshot included
[x] Avoid iOS or open-source in description as it is assumed
[x] Use this commit title format if applicable: Add app-name by @github-username
[x] Use approved format for your entry

@arthurhammer thank you!


James reichard solution

comfort_level: 4.5
completeness: 4
feels incomplete because of the workaround that got the code to work. attempted to deploy getComputedStyle to "load" the css into the document.style element without success at present. glad i stuck with it though!

:+1: Good job!


Generate proof objects in HVM

problem: LSTS has no proof backends
solution: HVM is a great match to start with as a validator

Moved to another project https://github.com/andrew-johnson-4/L1IR


Default to delaying selfBounds computation, and have dirty flag?

Should help a lot with not computing self bounds if not necessary.

Bumped to high priority, as this will help out general performance AND pendulum-lab specifically.

Feature complete and merged, closing.


Deploy the documentation in another host to support SSR (like Vercel)

@TheHadiAhmadi is there any free hosting?

yes we can deploy to vercel, cloudflare pages, netlify, ....

@pournasserian I think vercel is better than others


Create Glossary (Proposed DEP0)

We should have a glossary for all DEPs as a single "Reference" DEP

Added as DEP0


cmake for source install on macOS 10.15.6 fails

My Environment

ArangoDB Version:        3.8.0-devel
Operating System:        macOS 10.15.6

Component, Query & Data
Affected feature:
Installation
Steps to reproduce

git clone git://github.com/arangodb/arangodb.git
cd arrangodb
cmake -DOPENSSL_ROOT_DIR=$(brew --prefix openssl) -DCMAKE_OSX_DEPLOYMENT_TARGET=10.15

Problem:
CMake Error at CMakeLists.txt:1065 (message):
  expecting OPENSSL_ in /Users/terence.bodola/arangodb/VERSIONS

and that's because TARGET_OS is unset
but tracing it back this is because DARWIN is unset, but this is because APPLE is unset, and that happens here:
project(arangodb3 LANGUAGES CXX C ASM VERSION ${ARANGODB_VERSION_MAJOR}.${ARANGODB_VERSION_MINOR})

in CMakeLists.txt ...if I print debug it like
message(STATUS "<1> APPLE?: ${APPLE}")

# ------------------------------------------------------------------------------
#
# ------------------------------------------------------------------------------

if (WIN32)
  project(arangodb3 LANGUAGES CXX C VERSION ${ARANGODB_VERSION_MAJOR}.${ARANGODB_VERSION_MINOR})
else ()
  project(arangodb3 LANGUAGES CXX C ASM VERSION ${ARANGODB_VERSION_MAJOR}.${ARANGODB_VERSION_MINOR})
endif ()

message(STATUS "<2> APPLE?: ${APPLE}")

I get
-- <1> APPLE?: 1
-- <2> APPLE?:

Expected result:
successful configure

will compiling via https://github.com/Homebrew/homebrew-core/blob/master/Formula/arangodb.rb work?

will compiling via https://github.com/Homebrew/homebrew-core/blob/master/Formula/arangodb.rb work?

Hi @metanomi,
Did you manage to compile with homebrew?

Hi @metanomi,
Did you manage to compile with homebrew?


feat: initial batch of translations

Summary
Ticket: Create localized app builds with initial sets of translations
What is this PR for?
Adds initial set of translations. Also adds a few low-hanging-fruit missing localization keys.

Testing
What testing have you done
Ran locally with language set to Spanish.

All generated, right? LGTM
@JackVCurtis yeah I just went through the import localization flow and it magically handled all the merging into the relevant strings files


fix: set tabindex to 0 for all tabs to make them accessible

Description

Currently the tabs plugin sets inactive tabs to a tabindex with the value -1 but it should be always 0.

Closes https://github.com/zurb/foundation-sites/issues/11590

Types of changes

[ ] Documentation
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (anything that would change an existing functionality)
[ ] Maintenance (refactor, code cleaning, development tools...)

Checklist

[ ] I have read and follow the CONTRIBUTING.md document.
[ ] The pull request title and template are correctly filled.
[ ] The pull request targets the right branch (develop or develop-v...).
[ ] My commits are correctly titled and contain all relevant information.
[ ] I have updated the documentation accordingly to my changes (if relevant).
[ ] I have added tests to cover my changes (if relevant).

This is not a bug but the expected behavior.
Preventing selection of all non-active tabs allow the user to focus the content with tab or to go back on the title with sift + tab. Others tabs can be selected with Left arrow and Right arrow.
I don't think this behavior should be changed.


[core] Update @mui/styles peer dependencies to support React 18

[x] I have followed (at least) the PR section of the contributing guide.

Hello,
I suggest this change to make upgrading my React 18 project smother :
PS D:\workspace\yt_gaming_library> npm outdated
Package           Current   Wanted   Latest  Location                       Depended by
@mui/styles         5.8.0    5.8.3    5.8.3  node_modules/@mui/styles       yt_gaming_library
@mui/x-data-grid   5.12.0   5.12.1   5.12.1  node_modules/@mui/x-data-grid  yt_gaming_library
@types/react      18.0.10  18.0.12  18.0.12  node_modules/@types/react      yt_gaming_library
PS D:\workspace\yt_gaming_library> npm update @mui/styles @mui/x-data-grid
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/react
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/@mui/styles
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See C:\Users\jy95\AppData\Local\npm-cache\eresolve-report.txt for a full report.

npm ERR!      C:\Users\jy95\AppData\Local\npm-cache\_logs\2022-06-12T10_51_21_456Z-debug-0.log

Duplicate of #32151


npm run build return "builder.getBuildDirectory"

I have an app in sveltekit and I used to build with node adapter. Now I want to chance to deno, and the adapter hays "builder.getBuildDirectory" when I try to compile.
Have any idea?
thanks

Hey there! Can you give some more details about your app, maybe provide a repo where the issue happens? Thank you :slightly_smiling_face:


Should OffTargetDetector.mappings_of() return a dict[Primer, BwaResult] instead of dict[str, BwaResult]?

Context:
OffTargetDetector.mappings_of() currently returns dict[str, BwaResult] where the key is the sequence of bases of the primer. It may be more natural to return the full Primer object as the key instead of just the bases.

We'll need to make Primer hashable in order to do so (adding eq=True to the dataclass decorator should be sufficient)

This would make a lot of sense to me, since my first question when I looked at that code was "why are we returning a dict keyed on strings instead of primers".


No suitable driver found for jdbc:neo4j:/localhost:7474

i have the following code to test connection to the neo4j: version 2.2.5
i am using driver of: neo4j-jdbc-driver-3.3.0.jar
i already defined the $CLASSPATH so that to include neo4j-jdbc-driver-3.3.0.jar but i got
'No suitable driver found for jdbc:neo4j:/localhost:7474'
Could anyone help with this?
Thanks,
java Neo4jConnectionTest1
---1---
---1-1---
---3---No suitable driver found for jdbc:neo4j:/localhost:7474
more Neo4jConnectionTest1.java
import org.neo4j.jdbc.;
import java.sql.DriverManager;
import java.sql.;
public class Neo4jConnectionTest1 {
public static void main(String[] args) {
try {
Class.forName("org.neo4j.jdbc.Driver");
System.out.println("---1---");
    // connect
    System.out.println("---1-1---");
    Neo4jConnection con = (Neo4jConnection)DriverManager.getConnection("jdbc:neo4j:/localhost:7474", "neo4j", "neo4j")

;
System.out.println("---2---");
    // Querying
    String query = "MATCH (u:User)-[:FRIEND]-(f:User) WHERE u.name = {1} RETURN f.name, f.age";
    try {
        PreparedStatement stmt = (PreparedStatement)con.prepareStatement(query);
        stmt.setString(1,"John");

        try {
            ResultSet rs = (ResultSet)stmt.executeQuery();
            while (rs.next()) {
                System.out.println("Friend: "+rs.getString("f.name")+" is "+rs.getInt("f.age"));
            }
	} catch (Exception e1) {System.out.println("---1---" + e1.getMessage());}
    } catch (Exception e2) {System.out.println("---2---" + e2.getMessage());}
} catch (Exception e3) {System.out.println("---3---" + e3.getMessage());}
}

}

It misses one slash.
jdbc:neo4j://localhost:7474
and better to use bolt jdbc:neo4j:bolt://localhost
also you cannot use the default password

just modified with extra slash and using jdbc:neo4j:bolt//localhost without password,
still received the same error:
No suitable driver found for '....'
Thanks!

Are you using it in some kind of containers? Or pure java?

using Java 1.8: just want to create a sample test code to connect to the neo4j db.
Thanks!

something like: java -cp neo4j-jdbc-driver-3.3.0.jar Neo4jConnectionTest1  ?

tried that already!
it found the jar file otherwise the code
Class.forName("org.neo4j.jdbc.Driver");
won't work which is before the System.out.println("---1---");
Thanks!

it's not necessary to call Class.forName <- it auto-discovers the right class to load.
or replace it with Class.forName("org.neo4j.jdbc.bolt.BoltDriver")

modified and compiled but still failed for the same error:
No suitable driver found for jdbc:neo4j:....
Thanks!

weird! any change to share the test project?

the code i posted just a standalone java class: even the back-end (neo4j) is not running, i will expect some other kind of errors but not this one, right?
Thanks!

just fixed the connection issue by adding ':bolt' into getConnection(...)
Neo4jConnection con = (Neo4jConnection)DriverManager.getConnection("jdbc:neo4j:bolt://localhost:7474");
will try the connection but failed due to the unrecognized SSL message, plaintext connection issue.
Thank you all.

Just add ?noSsl to the url

yes, just added the ":bolt" and it will try to connect!

it's not necessary to call Class.forName <- it auto-discovers the right class to load.
or replace it with Class.forName("org.neo4j.jdbc.bolt.BoltDriver")

this works to me,thank you.


Cannot partially start or destroy a topology if one of the nodes is not running

It's very frustrating that if say a node fails to start, any subsequent deploy of the topology will complain that other containers are already running:
INFO[0000] Containerlab v0.42.0 started
INFO[0000] Parsing & checking topology file: topology.yaml
Error: containers [<list of containers>] already exist. Add '--reconfigure' flag to the deploy command to first remove the containers and then deploy the lab

The instruction is to use reconfigure. But this fails as the containers already exist:
INFO[0000] Removing <dir> directory...
Error: containers [<list of containers>] already exist. Add '--reconfigure' flag to the deploy command to first remove the containers and then deploy the lab

Then simply trying to destroy the remaining nodes gives an error as some of the nodes in the topology are not running:
$ sudo containerlab destroy -a
INFO[0000] Parsing & checking topology file: topology.yaml
ERRO[0000] Error occurred during the demo lab deletion: could not get container for node <failed node>: Node: <failed node>. containers not found
Error: error(s) occurred during the deletion. Check log messages

The only way around this seems to be then to destroy each node one by one which is a PITA if there are lots of nodes.

Unfortunately, we failed to reproduce this issue. It seems it appears only in specific scenarios with Docker API misbehaving and not returning all stopped containers.
Because it never appears in our setups (which we have many) it is impossible for us to troubleshoot this without users' being able to interrogate their setup.
To remove all containers which belong to a certain lab in one go you can do the following:
docker ps --filter "name=clab-srl" -q | xargs -n1 docker rm --force

This command removes every container whose name starts with clab-srl, which means any container that belongs to a lab named srl
/cc @steiler

Found the issue.
further details in #1413

Yes, I was sure this worked in an earlier version
On Tue, 27 Jun 2023 at 11:59, Markus Vahlenkamp @.***>
wrote:

Found the issue.
further details in #1413
https://github.com/srl-labs/containerlab/issues/1413
—
Reply to this email directly, view it on GitHub
https://github.com/srl-labs/containerlab/issues/1444#issuecomment-1609273332,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZTW7J3D4LLG6OA3ZGJOQLXNK4JZANCNFSM6AAAAAAZVKKMXM
.
You are receiving this because you authored the thread.Message ID:
@.***>


lab04

added functions to 8 questions

updating js with functions

Nice Job!  Works great!  Remember to include your semi-colons and indentation to keep the code more readable.


Changed files are not updated in output directory

I don't know where to ask this or if I am generally misunderstanding something.
I have a dotnet cli based web app which consists of cs code and html, js... in a wwwroot folder. When I press the start button in vscode for the first time, a dotnet build is triggered and all necessary files are copied to the newly generated output directory.
When I change anything to my cs files the next start will copy the newly built DLL to the output directory. When I change an html or js file, however, these changed files get not copied to the output directory, so I'll always have to do that manually or delete the entire output directory, in which case every thing is copied over.
Is this a problem of VSCode, Omnisharp or Dotnet Cli ? Or do I have to configure some tasks myself?

@nicolasr75 this sounds like either a .NET CLI issue, or an issue with your project.json (and therefore the templates if you haven't customized it). Would you mind porting your issue to https://github.com/dotnet/cli/issues?

@gregg-miskelly  Ok, thanks. Then I will ask there.


Remove Spyder 2 theme (png icons) for Spyder 4.0

Please hold on this one because of issue #3843. We're still trying to understand what to do about that one, but we could fallback to the Spyder 2 theme given its severity,

Yeah, that windows problem is quite nasty :-|.
Even then, maybe we should really considering using SVGs instead of PNGs as fallback so that they scale nicely on different resolutions. Maybe that could be a separate approach?

Yep, but then we'd need to create SVGs for all FontAwesome icons we use, and loose the ability to change their colors and orientations as easily as we are doing it right now.

Yep, but then we'd need to create SVGs for all FontAwesome icons we use, and loose the ability to change their colors and orientations as easily as we are doing it right now.

Creating them is not really an issue cause we can export all icons used in spyder as svg (everytime they are called...)
Changing their color although a bit more contrived, can be achieved through CSS styling, but we do need to generate the colors as separate SVG files.

Creating them is not really an issue cause we can export all icons used in spyder as svg (everytime they are called...)

So can we do this on the fly? As part of QtAwesome or our icon_manager module?
If this is the case, then we should do this for 3.2 ;-)

This could be solved in Spyder 5, but closing for now.


Arrow keys are not working in REPL

Left arrow key would be typed ^[[D in REPL.
The other arrow keys are the same, so I cannot enter previous input value with up arrow key.
❯ erg
Starting the REPL server...
Connecting to the REPL server...
Retrying to connect to the REPL server...
Erg interpreter 0.2.2 (tags/?:, 2022/08/14 20:25:00) on x86_64/linux
>>> print!()^[[D

erg v0.2.2 installed on wsl2 on windows11 via rustup-installed cargo 1.62.1

I am aware of the problem as well. It appears that Erg need to handle the input. That can be somewhat tedious.
It looks like termion crate could be used to solve this issue. I will use this to solve the problem for a while.


Best way to hide/show entire groups.

Hi,
thanks for that awesome library! I struggle a bit to find the best way to hide/show entire groups.
A have a view that shows two different sets of items depending on the view state. So I created two groups and want to show/hide them. Any suggestions?

In my opinion, the best way is to create a custom group. I've done this in the past with the ToggleGroup code below (name suggestions welcome). I planned on submitting it as a groupie enhancement at some point but haven't had time clean up the code or write tests for it (there may be bugs). The basic idea is that you can add multiple children to this group and then easily select which child is visible by calling toggleGroup.setVisible(int visibleIndex)
import com.genius.groupie.Group;
import com.genius.groupie.NestedGroup;

import java.util.ArrayList;
import java.util.List;

public class ToggleGroup extends NestedGroup {
    private int visibleIndex = 0;
    private final List<Group> children = new ArrayList<>();

    public ToggleGroup(final Group firstGroup) {
        super.add(firstGroup);
        children.add(firstGroup);
        notifyItemRangeInserted(0, firstGroup.getItemCount());
    }

    @Override
    public void add(final Group group) {
        super.add(group);
        children.add(group);
    }

    @Override
    public Group getGroup(final int position) {
        if (position != 0) {
            return null;
        }
        return children.get(visibleIndex);
    }

    @Override
    public int getPosition(final Group group) {
        if (children.contains(group)) {
            return 0;
        }
        return -1;
    }

    @Override
    public int getGroupCount() {
        return 1;
    }

    public int getVisibleIndex() {
        return visibleIndex;
    }

    public void setVisible(final int visibleIndex) {
        if (this.visibleIndex == visibleIndex) {
            return;
        }

        int oldSize = getItemCount();
        this.visibleIndex = visibleIndex;
        int newSize = getItemCount();

        if (oldSize == newSize) {
            notifyItemRangeChanged(0, newSize);
        } else {
            notifyItemRangeRemoved(0, oldSize);
            notifyItemRangeInserted(0, newSize);
        }
    }

    private boolean dispatchChildChanges(final Group group) {
        return visibleIndex == children.indexOf(group);
    }

    @Override
    public void onChanged(Group group) {
        if (dispatchChildChanges(group)) {
            super.onChanged(group);
        }
    }

    @Override
    public void onItemInserted(Group group, int position) {
        if (dispatchChildChanges(group)) {
            super.onItemInserted(group, position);
        }
    }

    @Override
    public void onItemChanged(Group group, int position) {
        if (dispatchChildChanges(group)) {
            super.onItemChanged(group, position);
        }
    }

    @Override
    public void onItemChanged(Group group, int position, Object payload) {
        if (dispatchChildChanges(group)) {
            super.onItemChanged(group, position, payload);
        }
    }

    @Override
    public void onItemRemoved(Group group, int position) {
        if (dispatchChildChanges(group)) {
            super.onItemRemoved(group, position);
        }
    }

    @Override
    public void onItemRangeChanged(Group group, int positionStart, int itemCount) {
        if (dispatchChildChanges(group)) {
            super.onItemRangeChanged(group, positionStart, itemCount);
        }
    }

    @Override
    public void onItemRangeInserted(Group group, int positionStart, int itemCount) {
        if (dispatchChildChanges(group)) {
            super.onItemRangeInserted(group, positionStart, itemCount);
        }
    }

    @Override
    public void onItemRangeRemoved(Group group, int positionStart, int itemCount) {
        if (dispatchChildChanges(group)) {
            super.onItemRangeRemoved(group, positionStart, itemCount);
        }
    }

    @Override
    public void onItemMoved(Group group, int fromPosition, int toPosition) {
        if (dispatchChildChanges(group)) {
            super.onItemMoved(group, fromPosition, toPosition);
        }
    }
}

Isn't what https://github.com/Genius/groupie/blob/master/groupie/src/main/java/com/genius/groupie/ExpandableGroup.java is for ?

There are several ways you could approach this, depending on your requirements and how you like to think about it!
@oldergod ExpandableGroup is a little different than what OP is asking for.  It shows or hides the items in a single group but it is also intended to have a "parent" Group which is always visible.  Of course, that could be a group of 0 items.  So you could easily make something like
public class DisappearingGroup extends ExpandableGroup {
    public DisappearingGroup() {
        super(new EmptyGroup());
    }

    public void toggleVisibility() {
        onToggleExpanded();
    }
}

It reads a little strange to me, but it is certainly easy.
@kjpublic01 's code above is more complex but would also satisfy your requirement.
If there's a lot of interest in hiding / showing individual groups, I'm down to consider it more deeply and add something to the library.

+1 for hiding / showing individual groups. I've encountered several situations in which this would come in handy in our app - for example showing a dismissable card at some index in a list. Sure, you could just add / remove the card item manually, but you'd have to calculate the index which quickly becomes a pain if you have other dismissable cards.

I am considering allowing any Group (that would also mean any individidual Item) to be either shown or hidden.  If a Group is hidden, all its children would be hidden too.
What would you prefer to see?
Group.setVisible(boolean visible)
or
Group.hide() / Group.show()
?

btw @chip2n — in the case of dismissable cards, simply hold a reference to the card item.  When it is dismissed, call GroupAdapter.remove(cardItem).  References are the best way to interact with Groupie. If you're messing with indices, something is wrong!

This would be a great addition. Especially for items. I've run into several cases where I end up putting a single item in a group similar to the ToggleGroup I mentioned above.
Think I would prefer Group.setVisible(boolean visible). The hide() / show() seem like it would turn into isVisible ? group.show() : group.hide().

@lisawray Agreed - in one of my apps I have "reserved spots" in which a card should be shown in some situations. Instead of using indices, you could use an empty "placeholder" group in which you add/remove the card as needed. But calling remove on the GroupAdapter itself wouldn't work in that case, since the card would lose it's position in the list when I add it later (unless you know the index).
Anyways, I agree with @kjpublic01 - it seems that Group.setVisible(boolean visible) would avoid a small amount of boilerplate code (especially with a reactive architecture).

@chip2n—I get what you're saying now; yep I've used a Group to wrap individual items as a placeholder, but toggling visibility does seem like a missing feature in that case.


Fix svelte accessibility warnings

Thanks @Hejtmus for your work.
This PR fixes warnings introduced by the svelte compiler regarding two issues:

Accessibility
Unused style

fix #71

Hey @amr3k,
thanks for your contribution, invested time and effort, good job.


v-select could not close when search is true

<v-select :value.sync="num" :options="nums" :search="true" :close-on-select="true"></v-select>

var vm = new Vue({
  ...
  data: {
    num: '0',
    nums: [{value:'0', label:'Zero'}, {value:'1', label:'One'}, {value:'2', label:'Tow'}, ...]
  }
});

Additionally, why assume that v-select's value is string? I thinkd that string or number is ok, even other type.

I can confirm this issue. If you set :close-on-select="true", it will close when you select an option, but clicking outside the dropdown doesn't close the box.


OpenSouce : 3.5 git cheat sheet.

can I contribute this ?

I can do document this. I am well versed with git. Please assign !

I want to contribute to this... please assign this issue to me.
Batch-1 Open Source: Chakit Gupta | Contributor

Can I contribute to this?

@priyanshuc4423  Assigning this to you , Happy Documenting 🙌

@Aryamanz29 Hey, I am very familiar with git and its commands. I would love to contribute and prepare a documented sheet and as I see there are no assignees yet, may you please assign it to me?

@Aryamanz29 Hey, I am very familiar with git and its commands. I would love to contribute and prepare a documented sheet and as I see there are no assignees yet, may you please assign it to me?

Ok sure @AnirudhBot  , As you are first contributing to our domain , I'm assigning this to you, Happy Documenting 🙌🎉

I am pretty much comfortable with GitHub and the command line. I want to contribute to this... please assign this to me.
Batch-1 Open Source: Chakit Gupta | Contributor

I want to contribute to this issue please assign!


Reading in

Incomplete / draft comment, TZ to pick up when expver shenanigans solution makes debugging easier
Reading in works successfully:
import asli
a = asli.ASLICalculator(data_dir="s3://asli",
                   mask_filename="zarr-lsm",
                   msl_pattern="zarr-msl",
                   )

a.read_mask_data()
a.read_msl_data()

Currently stuck on the calculation step, however.

a.calculate()
  0%|          | 0/6 [00:01<?, ?it/s]
TypeError: unsupported operand type(s) for *: 'method' and 'int'
Cell In[70], line 10
      7 a.read_mask_data()
      8 a.read_msl_data()
---> 10 a.calculate()
Hide Traceback
File [~/Documents/amundsen-sea-low-index/src/asli/asli.py:290](vscode-file://vscode-app/usr/share/positron/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html#), in calculate(self, n_jobs)
    288 if "time" in self.sliced_msl.dims:
    289     ntime = self.sliced_msl.time.shape[0]
--> 290     slice_by = "time"
    292 with tqdm_joblib(tqdm(total=ntime)) as progress_bar:
    293     lows_per_time = joblib.Parallel(n_jobs=n_jobs)(
    294         joblib.delayed(_get_lows_by_time)(
    295             self.sliced_msl, slice_by, t, self.land_sea_mask
    296         )
    297         for t in range(ntime)
    298     )

File [~/Documents/amundsen-sea-low-index/venv/lib/python3.12/site-packages/joblib/parallel.py:1918](vscode-file://vscode-app/usr/share/positron/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html#), in Parallel.__call__(self, iterable)
   1916     output = self._get_sequential_output(iterable)
   1917     next(output)
-> 1918     return output if self.return_generator else list(output)
   1920 # Let's create an ID that uniquely identifies the current call. If the
   1921 # call is interrupted early and that the same instance is immediately
   1922 # re-used, this id will be used to prevent workers that were
   1923 # concurrently finalizing a task from the previous call to run the
   1924 # callback.
   1925 with self._lock:

File [~/Documents/amundsen-sea-low-index/venv/lib/python3.12/site-packages/joblib/parallel.py:1847](vscode-file://vscode-app/usr/share/positron/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html#), in Parallel._get_sequential_output(self, iterable)
   1845 self.n_dispatched_batches += 1
   1846 self.n_dispatched_tasks += 1
-> 1847 res = func(*args, **kwargs)
   1848 self.n_completed_tasks += 1
   1849 self.print_progress()

File [~/Documents/amundsen-sea-low-index/src/asli/asli.py:113](vscode-file://vscode-app/usr/share/positron/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html#), in _get_lows_by_time(da, slice_by, t, mask)
    110 elif slice_by == "time":
    111     da_t = da.isel(time=t)
--> 113 return get_lows(da_t, mask)

File [~/Documents/amundsen-sea-low-index/src/asli/asli.py:71](vscode-file://vscode-app/usr/share/positron/resources/app/out/vs/code/electron-sandbox/workbench/workbench.html#), in get_lows(da, mask)
     68     threshold_abs = invert_data.mean()
     69 else:
     70     threshold_abs = (
---> 71         threshold * -1
     72     )  # define threshold cut-off for peaks (inverted lows)
     74 minima_yx = skimage.feature.peak_local_max(
     75     invert_data,  # input data
     76     min_distance=5,  # peaks are separated by at least min_distance
   (...)
     79     threshold_abs=threshold_abs,  # minimum intensity of peaks
     80 )
     82 minima_lat, minima_lon, pressure = [], [], []

ntime  ie a.sliced_msl.time.shape[0] is 6

Incomplete / draft comment, TZ to pick up when expver shenanigans solution makes debugging easier

I think the necessary changes are on the packaging branch if you want to rebase this one or merge packaging into it and see if that fixes the issue.

Ah cool, thanks @davidwilby.
I'd forgotten what was where :grin:, I'll rebase this one when I get back round to it.

Should've just merged lmao

Found the issue, was missing .msl at the end of xr.open_zarr(s3_store, consolidated=True).msl

Different methods, identical result - happy days.
>>> import asli
... a = asli.ASLICalculator(data_dir="s3://asli",
...                    mask_filename="zarr-lsm",
...                    msl_pattern="zarr-msl",
...                    )
...
... a.read_mask_data()
... a.read_msl_data()
...
... a.calculate()
  0%|          | 0/6 [00:12<?, ?it/s]
time	lon	lat	ActCenPres	SectorPres	RelCenPres	DataSource
0	2024-01-01	201.50	-74.75	979.075012	985.107727	-6.032715	ERA5
1	2024-02-01	258.75	-70.00	976.856262	981.979675	-5.123413	ERA5
2	2024-03-01	190.75	-71.25	975.326233	987.187744	-11.861511	ERA5
3	2024-04-01	193.75	-70.75	970.409363	980.241272	-9.831909	ERA5
4	2024-05-01	197.75	-73.75	969.667480	986.084106	-16.416626	ERA5
5	2024-06-01	190.00	-77.75	975.635010	990.798218	-15.163208	ERA5
>>> import asli
... a = asli.ASLICalculator(data_dir="./data/",
...                    mask_filename="era5_lsm.nc",
...                    msl_pattern="ERA5/monthly/era5_mean_sea_level_pressure_monthly_2024-2024.nc"
...                    )
...
... a.read_mask_data()
... a.read_msl_data()
... a.calculate()
  0%|          | 0/6 [00:00<?, ?it/s]
time	lon	lat	ActCenPres	SectorPres	RelCenPres	DataSource
0	2024-01-01	201.50	-74.75	979.075012	985.107727	-6.032715	ERA5
1	2024-02-01	258.75	-70.00	976.856262	981.979675	-5.123413	ERA5
2	2024-03-01	190.75	-71.25	975.326233	987.187744	-11.861511	ERA5
3	2024-04-01	193.75	-70.75	970.409363	980.241272	-9.831909	ERA5
4	2024-05-01	197.75	-73.75	969.667480	986.084106	-16.416626	ERA5
5	2024-06-01	190.00	-77.75	975.635010	990.798218	-15.163208	ERA5

@davidwilby I think this is ready for review/merge.
Currently two tests are failing (test_get_era5_monthly, test_get_land_sea_mask) on directory errors. However, these are also failing on the packaging branch, with the same error.
Is failing on directories something I'm doing wrong on my end? Not too familiar with how it works in Python.

Is failing on directories something I'm doing wrong on my end? Not too familiar with how it works in Python.

I'll look into them.


Pixart Homework

comfort: 3
completeness: 3.5
I am having trouble getting the boxes to change color when I click them.

:+1:


Fix bundle setup to load themes successfully

When running the example project I discovered and issue with theme loading. I always received unable to load themes error.
This is a fix for the issue. It does initialise the bundle correctly and therefore themes can be loaded again.

Awesome, thanks so much! I'll take a look.


TxSigner should throw exception if the required field is not provided or if it encounters an unknown (invalid) field

Signer methods should throw exceptions in the following cases:
	var signer = TxSigner.FromSecret("snR7czZRBW5tRPTNsnhS1UpY3vx5X");

	// required field Account is missing
	var r1 = signer.SignPodo(new { TransactionType = "AccountSet" });

	// mistyped field
	var r2 = signer.SignPodo(new { TransactionType = "AccountSet", Mistyped = 123121 });

Yes, it's planned
On 2 Jan 2016 22:59, "Matej Rizman"<EMAIL_ADDRESS>wrote:

Signer methods should throw exceptions in the following cases:
var signer = TxSigner.FromSecret("snR7czZRBW5tRPTNsnhS1UpY3vx5X");

// required field Account is missing
var r1 = signer.SignPodo(new { TransactionType = "AccountSet" });

// mistyped field
var r2 = signer.SignPodo(new { TransactionType = "AccountSet", Mistyped = 123121 });

—
Reply to this email directly or view it on GitHub
https://github.com/ripple/ripple-dot-net/issues/19.

TxFormat validation


Clarify doc information about block icons

The "defining blocks" documentation section talking about icons includes a link to the Semantic UI documentation, that page does not include the unicode characters required, so a link to the Font Awesome website (which does include that information) has been added.
Fixes https://github.com/Microsoft/pxt/issues/2347.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot


Saving to Firebase

It seems that when you log out, the app adds the last message to Firebase again, resulting in duplicates.

Please file issues with FlutterFire to the dedicated repository https://github.com/FirebaseExtended/flutterfire/issues