Update fonts for webfont loader

This pull request makes some changes to fonts and font variables.
Rename custom fonts
These names are now representative of the each font's actual name. Ideally, the fonts should be declared by their actual names and not a keyword. "Main" and "secondary" are too ambiguous. What would happen if a third font was added? Consider the approach taken by Typekit and Google Fonts.
Anyone looking at the code now will be able to identify what font is being used where without having to know that a specific keyword matches a certain font.
This update will also benefit the webfont loader because the fonts need to be declared within the loader, so it'll help if the names are descriptive.
Update font variables
A number of updates have been made to how font variables are defined and some variables have been deprecated.

$sans-serif and $serif variables mapped to $font-family and $font-family-special, respectively. There isn't a need to redefine these variables with a different name. Therefore, $sans-serif and $serif have been updated to declare a font stack. These stacks can be used independently or appended to custom fonts. They use the generic variable names $sans-serif and $serif because they are to be treated as generic fonts that aren't technically part of the design but to be used as fallbacks.
$font-family and $font-family-special have been deprecated. These variable names are rather ambiguous and don't describe which font is being used, which leads to #3.
$benton-sans and $miller-daily variables have been created. Since each custom font's name was changed to be more descriptive, these new variables serve the same purpose. With these new variables, it will be clear what font is being requested.
$light, $medium, $semibold have been replaced and deprecated. Again, these variables only serve to redefine variables that have already been created. $font-weight-light, $font-weight-medium, $font-weight-semibold have been kept because they are more descriptive. Deprecated variables should be removed in a future release.

Update files to add new variables and replace deprecated ones
Of course this needs to be done so the stylesheets don't break.

Related: https://github.com/lonelyplanet/destinations-next/pull/596

Fix dem' conflicts then :+1:


UI Modifications and some bug fixes

Overview

Previously, each transaction would be appended to the bottom of the transaction list panel, which would impede the user from getting immediate feedback from their input, as the TransactionListPanel does not scroll automatically.

Rather than making the panel auto-scroll, the order of the list is reversed so that the user is always looking at the most
recent transaction, which means that the user would not have to move away from the keyboard to get a response. The index associated with each TransactionCard remains the same (i.e. reversed together in the same way), as before, i.e. there would be no change in logic required for commands that require transaction index, WYSIWYG.

Additionally, CommandBox has been modified to span the whole Window with a smaller font size so that it can accomodate a longer input command. This would also mean that the CommandBox doesn't need to expand to occupy 2 lines as previously discussed.

Continued from this PR, some more minor modifications have been made, including the generation of category colors from category hash and other miscellaneous bug fixes.

Changes Made:

Ui Changes required for the above, including StyleSheet modifications
Added a rolling balance indicator within the StatusBarFooter
Added a proper UniCash Welcome Message that collates all availble COMMAND_WORDS
Changes to the Amount class and the handling of currency symbols, validation of numbers

Note that for the above, tests have yet to be implemented as @lipwei1808 will continue to work on them

Removal of case-sensitivity for categories and improved Duplicates detection
Fixed some other very minor bugs I noticed, including one in EditTransactionsCommand

Some future considerations:

Addition of a LocalDateTime.now() within every Transaction to associate a creation time
Which can then be used for sorting (Sort by transaction dateTime or transaction creation Time)
Addition of support for the user to enter $-prefixed amounts

The failing Codecov is due to the UI (which is to be expected) but also changes to the Amount class. The changes to the Amount class are not yet functional, I'm adding it together with this PR so that @lipwei1808 can pick up from here and work on both making the changes functional and adding the required unit tests.

Most of the changes looks good! Would still need to discuss the use of Object before we merge this PR as I think it's a potential thing we could be graded down on if not careful

Thanks @woojiahao for the detailed comments, I appreciate the effort you've taken to throughly review the code. I've incorporated all the changes you've requested, if there's anyth else I missed out do let me know.

LGTM! There's one more open conversation that's left about using Regex instead of using manual string parsing for checking if an amount has the right number of decimal places

https://github.com/AY2324S1-CS2103-T16-3/tp/pull/96#discussion_r1368456979


unable to install detox 9.0.4 with XCode 10.1

Description
As far as I can tell, the problem is exactly the same as #913. However, that issue was closed as "fixed" and the discussion thread there is closed.
Steps to Reproduce
yarn add<EMAIL_ADDRESS>
Detox, Node, Device, Xcode and macOS Versions

Detox: 9.0.4
Node: 11.6.0
Device: Macbook Pro 2015
Xcode: 10.1
macOS: 10.14.2 (Mojave)

Device and verbose Detox logs
Printed during installation:
$ yarn add<EMAIL_ADDRESS>yarn add v1.12.3
[1/4] 🔍  Resolving packages...
warning rxdb > express-pouchdb > pouchdb-replicator > random-uuid-v4 > jest > jest-cli > prompts ><EMAIL_ADDRESS>Please upgrade to kleur@3 or migrate to 'ansi-colors' if you prefer the old syntax. Visit <https://github.com/lukeed/kleur/releases/tag/v3.0.0\> for migration path(s).
[2/4] 🚚  Fetching packages...
info<EMAIL_ADDRESS>The CPU architecture "x64" is incompatible with this module.
info "<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The platform "darwin" is incompatible with this module.
info "<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The CPU architecture "x64" is incompatible with this module.
info<EMAIL_ADDRESS>The platform "darwin" is incompatible with this module.
info "<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The platform "darwin" is incompatible with this module.
info "<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The CPU architecture "x64" is incompatible with this module.
info<EMAIL_ADDRESS>The platform "darwin" is incompatible with this module.
info "<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The CPU architecture "x64" is incompatible with this module.
info<EMAIL_ADDRESS>The platform "darwin" is incompatible with this module.
info "<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The CPU architecture "x64" is incompatible with this module.
info<EMAIL_ADDRESS>The platform "darwin" is incompatible with this module.
info "<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The platform "darwin" is incompatible with this module.
info "<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The platform "darwin" is incompatible with this module.
info "<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
info<EMAIL_ADDRESS>The CPU architecture "x64" is incompatible with this module.
info<EMAIL_ADDRESS>The platform "darwin" is incompatible with this module.
info "<EMAIL_ADDRESS>is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] 🔗  Linking dependencies...
warning "expo ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^0.52 || ^0.53 || ^0.54".
warning "expo ><EMAIL_ADDRESS>has unmet peer dependency "react-native-web@*".
warning "expo > react-native-web-maps ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>warning "expo > react-native-web-maps ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>warning "expo > react-native-web-maps > react-google-maps ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0-0".
warning "react-native ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^4 || ^5".
warning "jest-expo ><EMAIL_ADDRESS>has unmet peer dependency<EMAIL_ADDRESS>|| ^7.0.0-0".
[4/4] 📃  Building fresh packages...
[-/3] ⠠ waiting...
[3/3] ⠠ detox
error /Users/nglenn/dev/workspaces/web_workspace/rxdb/examples/react-native/node_modules/detox: Command failed.
Exit code: 1
Command: node scripts/postinstall.js
Arguments:
Directory: /Users/nglenn/dev/workspaces/web_workspace/rxdb/examples/react-native/node_modules/detox
Output:
+ xcodebuild -version
+++ dirname /Users/nglenn/dev/workspaces/web_workspace/rxdb/examples/react-native/node_modules/detox/scripts/build_framework.ios.sh
++ dirname /Users/nglenn/dev/workspaces/web_workspace/rxdb/examples/react-native/node_modules/detox/scripts
+ detoxRootPath=/Users/nglenn/dev/workspaces/web_workspace/rxdb/examples/react-native/node_modules/detox
++ node -p 'require('\''/Users/nglenn/dev/workspaces/web_workspace/rxdb/examples/react-native/node_modules/detox/package.json'\'').version'
+ detoxVersion=9.0.4
++ echo 9.0.4
++ xcodebuild -version
++ shasum
++ awk '{print $1}'
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib
  Referenced from: /usr/local/bin/awk
  Reason: image not found
+ sha1=
child_process.js:643
    throw err;
    ^

Error: Command failed: /Users/nglenn/dev/workspaces/web_workspace/rxdb/examples/react-native/node_modules/detox/scripts/build_framework.ios.sh
    at checkExecSyncError (child_process.js:622:11)
    at Object.execFileSync (child_process.js:640:13)
    at Object.<anonymous> (/Users/nglenn/dev/workspaces/web_workspace/rxdb/examples/react-native/node_modules/detox/scripts/postinstall.js:2:27)
    at Module._compile (internal/modules/cjs/loader.js:721:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    at Function.Module._load (internal/modules/cjs/loader.js:552:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:774:12)

The folder ~/Library/Detox did not exist, so I do not have a log file to provide.

I have no idea what "/usr/local/opt/readline/lib/libreadline.7.dylib" is. The detox script uses awk and yours seems broken. This is unrelated to Detox.

Thanks. Just needed to brew upgrade gawk.


List of supported OSes is incorrect

It's supported started with Vista, current documentation lists only Windows 10

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

ID: 5752fb34-9d01-a788-e397-2c17933257ee
Version Independent ID: 8d01032c-c393-2add-deaf-837bfe219ca2
Content: Which editions of Windows support advanced audit policy configuration (Windows 10)
Content Source: windows/security/threat-protection/auditing/which-editions-of-windows-support-advanced-audit-policy-configuration.md
Service: unspecified
GitHub Login: @brianlic-msft
Microsoft Alias: justinha

@artisticcheese thanks for the comment. I added this point to the opening sentence. The Applies to value at the top only lists Windows 10 because the library is intended for the current release only (although many topics do equally apply to previous versions).


asadiqbal08/added the accounts in user menu

fixes: #18

Can I see a screenshot?

sure @pdpinch


Unable to run 'make demo' successfully

While running make demo:
==> netplugin-node1: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "d77d926b-ee2d-48bc-aeea-f8ba1bb6e54b", "--type", "headless"]

Stderr: VBoxManage: error: VT-x is not available (VERR_VMX_NO_VMX)
VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component ConsoleWrap, interface IConsole

make[1]: *** [start] Error 1
make[1]: Leaving directory `/root/Contiv/netplugin'
make: *** [demo] Error 2

Not sure how to go about this, I'm running this on a VM running on CentOS 7.
Vagrant --version 1.8.5

@adammy123 - seems like it can be due to:

Either VT-X is not enabled on your machine, which most of the modern systems/cpus are equipped with
Or, if you are doing make-demo inside a VM then it would not work, as mentioned in https://www.virtualbox.org/ticket/4032 (see the last comment)

It is best to try this on OS-X, or Linux bare-metal. The docs deserve a note on this.

@adammy123 : Thanks for this. I believe you are trying to do this on Windows.
@jainvipin : Will make note in our docs page.

@gaurav-dalvi Hi, as mentioned earlier it is run on a VM running on CentOS 7, deployed by VMware VSphere.

@adammy123 - it would be best in that case to install Contiv using:
http://contiv.github.io/documents/gettingStarted/networking/index.html
for example if you are installing this using swarm, you could use:
http://contiv.github.io/documents/gettingStarted/networking/install-swarm.html
Nested VMs should work on VMWare vSphere, provided you allocated sufficient memory/vcpus to them.
How about if we get back to you on that with a local run, meanwhile you could install Contiv and play with it using the above in your system?

@adammy123 : Could you please check whether you are seeing this issue or not ?

@adammy123 : gentle reminder. Please let us know.

@gaurav-dalvi hey, I stopped working on this project already. Sorry for the late response.


docker-kassy (#150)

Alpine Linux based image for kassy.
Comment away!

Just realised out of force of habit I've pushed an .editorconfig file which forces IDEs to conform to the spec written within. Am happy to remove, let me know.

:zap: Latest commit removes .editorconfig

@Awarua- PR should be all good to go now :)

@MatthewHartstonge Just some questions on the documentation, other than that everything looks good :+1:

@Awarua- Cool, the documentation was updated in an older commit, probably got masked by the merges from master. I've updated it to add better clarity around switches/arguments.
As for the links referenced in the documentation, they are pointers the help the end user know the config.json spec needed for each integration that needs to be mapped into the container for Kassy to read. Does that help answer your questions?

@MatthewHartstonge Yep Approved

Approved


Rejecting large files

We need to implement file size validation that is specific to the file types. Currently we wrap the calls to ng-file-upload is our own service so it would be a good place to add this validation.
How would you recommend we do this? I spiked out the following which uses $q to return a rejected promise. This does mean we can no longer use the .success, .progress functions on the upload object so we'll have to fallback to the standard deferred API .then(success, error, progress):
function mediaService($http, $q, $upload, config) {

    var MAX_GIF_SIZE = 4194304; // 4MB

    var service = {
      uploadFile: uploadFile,
    };

    return service;

    function uploadFile(siteId, file) {
      if (file.type == 'image/gif' && file.size > MAX_GIF_SIZE) {
        return $q.reject('The file ' + file.name + ' is too large. GIFs cannot be greater than 4MB in size.');
      }

      return $upload.upload({
        url: config.apiUri + 'sites/' + siteId + '/media',
        file: file
      });
    }
}

Would you approach this differently?
It would be nice if we could provide a filter/validation function to do this.

use ngf-max-size and ngf-min-size. See the readme page for sample.

or in your case you can use ngf-accept="validate($files)" and implement the validate method in your scopre.


Selection of plot data using sliders

Hello,
I'm currently trying out Observable Plot in a normal HTML web-site using Javascript. It looks very well designed and implemented!
But I really need a range-slider for selecting a part of the data in a plot. For example, in a time-series plot with the dates on the x-axis and the values on the y-axis, I would like to select the start and end-dates using two sliders, and then using Javascript I want to pull out the data for that range.
I found this Notebook which looks really good:
https://observablehq.com/@bumbeishvili/data-driven-range-sliders
But it looks like it is only for bar-plots and I would need it for other kinds of plots such as line-plots. I'm also not a real Javascript programmer and the code is completely undocumented, so it would probably take me a long time to figure out how to modify it for my needs.
It would be incredibly useful if this was a standard feature in Observable Plot. Is this something you would consider adding in the near future?
Thanks!

yes, see #5


Add algorithm that calculates the least amount of perfect squares needed to sum an integer

Given an integer we want to calculate the least amount of perfect squares that are needed to sum that number,
for example 10 can be expressed as 3^2+1^2 giving us a an answer of 2.

can i contribute to this issue? is accepting new contributers?


refactor: use signed integers for math/base/special/log10, as per FreeBSD

Description

What is the purpose of this pull request?

This pull request:

uses signed integers for math/base/special/log10, as per its FreeBSD implementation..
is a result of the discussion at https://github.com/stdlib-js/stdlib/pull/2215#discussion_r1621261281.

Related Issues

Does this pull request have any related issues?

None.
Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

LGTM. Thanks, @gunjjoshi! I believe we'll need to do the same thing for log2, correct?

Correct. I'll do that in a follow up PR.


Add a new at-testsetup macro for defining a module that can be shared…

… among test items

Can you link to the "code sharing" issue from TestItemsRunner that this is meant to fix?


ansi.Wrap does not wrap at 1 character

trying to keep styles and reformat as a column.
running
fmt.Println(ansi.Wrap("VERTICAL", 1, ""))
I get..
VE
RT
IC
AL

expected
V
E
R
T
I
C
A
L

fmt.Println(ansi.Wrap("VERTICAL", 2, "")) gives a column 2 character wide as you would expect,

are you sure you're using the correct package? I just added this test case, and it passes:
func TestIssue_213(t *testing.T) {
	expected := "VE\nRT\nIC\nAL"
	got := ansi.Wrap("VERTICAL", 2, "")
	if got != expected {
		t.Errorf("expected %q, got %q", expected, got)
	}
}

Can you confirm that you are using the pkg github.com/charmbracelet/x/ansi in its latest version?

not sure if its the latest..
using from lipgloss
github.com/charmbracelet/x/ansi v0.3.2
will pull latest later a do some more testing.
I didn't  see any tests with a limit of 1.
try this..
func TestIssue_213(t *testing.T) {
	expected := "V\nE\nR\nT\nI\nC\nA\nL"
	got := ansi.Wrap("VERTICAL", 1, "")
	if got != expected {
		t.Errorf("expected %q, got %q", expected, got)
	}
}

Also this is probably a separate issue.
If I understand the function then if there are styles in the input it would/should do this.
func TestIssue_XXX(t *testing.T) {
	expected := "\x1b[31mV\nE\nR\nT\nI\nC\nA\nL\x1b[39m"
	got := ansi.Wrap("\x1b[31mVERTICAL\x1b[39m", 1, "")
	if got != expected {
		t.Errorf("expected %q, got %q", expected, got)
	}
}

inserting the '\n' between the open a and closing styles may generate some unexpected behavior in using this utility.
this is may be what you really want...
"\x1b[31mV\x1b[39m\n\x1b[31mE\x1b[39m\n\x1b[31mR\x1b[39m\n\x1b[31mT\x1b[39m\n\x1b[31mI\x1b[39m\n\x1b[31mC\x1b[39m\n\x1b[31mA\x1b[39m\n\x1b[31mL\x1b[39m"
Thanks
Tom

ah sorry, I misunderstood your issue!
thanks for the writeup - and the PR :)
cheers!

inserting the '\n' between the open a and closing styles may generate some unexpected behavior in using this utility.
this is may be what you really want...
"\x1b[31mV\x1b[39m\n\x1b[31mE\x1b[39m\n\x1b[31mR\x1b[39m\n\x1b[31mT\x1b[39m\n\x1b[31mI\x1b[39m\n\x1b[31mC\x1b[39m\n\x1b[31mA\x1b[39m\n\x1b[31mL\x1b[39m"

You're correct here. The idea behind ansi.Wrap and others was to be a generic solution for different escape sequences. We probably want to come up with special solutions for such cases and terminate or reset the SGR style sequence. Perhaps Lip Gloss might be the right place 🤔


@override annotation cleanup.

Added missing @override annotations (as per the annotate_overrides lint rule).
cc: @Hixie

@pq Would you be willing to send future pull requests from your own fork of flutter.git instead of from a branch on the main flutter.git repo?  We'd like to use that workflow because that's the workflow that the general public can use when contributing to Flutter.  There's no need to re-send this pull request.  I just wanted to mention it for future pull requests.

LGTM.


Option to use winRAR for all extraction

Type of reader (if reader related)
None
Description of the new feature / enhancement
Option to use winRAR for all extraction.
#312
Scenario when this would be used?
No response
Supporting information
No response

Closing because it does not seem like a good idea.
https://stackoverflow.com/a/19337595
Maybe 7z and unrar could be compiled and bundled with app to fix PowerShell restricted mode error.


Error when post.is_sponsored is 'True'

I have the following code that have been running with mostly no issues.
`
	posts = instaloader.Profile.from_username(instagram.context, company).get_posts()

	SINCE = datetime(2020, 12, 5)
	UNTIL = datetime(2020, 1, 1)

	processed = 1
	for post in takewhile(lambda p: p.date > UNTIL, dropwhile(lambda p: p.date > SINCE, posts)):

		print(post.date)
		print("...scraping info for post %s, %s" % (post.shortcode, company))

		post_info = {
			"shortcode": post.shortcode,
			"username": company,
			"date_utc": post.date_utc.strftime('%Y-%m-%d %H:%M:%S.%f'),
			"is_video": "yes" if post.is_video else "no",
			"is_sponsored": post.is_sponsored,
			"hashtags": (",".join(post.caption_hashtags)).encode('utf-8', errors='ignore'),
			"mentions": (",".join(post.caption_mentions)).encode('utf-8', errors='ignore'),
			"caption": (emoji.demojize(post.caption)).encode('utf-8', errors='ignore') if post.caption else "",
			"video_view_count": post.video_view_count if post.is_video else 0,
			"video_length": post.video_duration if post.is_video else 0,
			"likes": post.likes,
			"comments": post.comments,
			"location_name": (post.location.name).encode('utf-8', errors='ignore') if post.location else "",
			"location_latlong": " ".join((str(post.location.lat), str(post.location.lng))) if post.location else ""
			}

		processed += 1
		post_writer.writerow(post_info)

	print("...scraped %i posts for %s" % (processed - 1, company))`

But every now and again I keep getting this error, related to is_sponsored.
Traceback (most recent call last):
  File "C:\Users\madel\anaconda3\lib\site-packages\instaloader\structures.py", line 179, in _field
    d = d[key]
KeyError: 'edge_media_to_sponsor_user'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "post-scraper.py", line 90, in <module>
    "is_sponsored": post.is_sponsored,
  File "C:\Users\madel\anaconda3\lib\site-packages\instaloader\structures.py", line 464, in is_sponsored
    sponsor_edges = self._field('edge_media_to_sponsor_user', 'edges')
  File "C:\Users\madel\anaconda3\lib\site-packages\instaloader\structures.py", line 182, in _field
    d = self._full_metadata
  File "C:\Users\madel\anaconda3\lib\site-packages\instaloader\structures.py", line 161, in _full_metadata
    self._obtain_metadata()
  File "C:\Users\madel\anaconda3\lib\site-packages\instaloader\structures.py", line 144, in _obtain_metadata
    pic_json = self._context.graphql_query(
  File "C:\Users\madel\anaconda3\lib\site-packages\instaloader\instaloadercontext.py", line 418, in graphql_query
    resp_json = self.get_json('graphql/query',
  File "C:\Users\madel\anaconda3\lib\site-packages\instaloader\instaloadercontext.py", line 335, in get_json
    raise QueryReturnedBadRequestException("400 Bad Request")
instaloader.exceptions.QueryReturnedBadRequestException: 400 Bad Request

When I look at the data I've been scraping it seems like all of the 'is_sponsored' has been 'False'. What is happening? Should I alter my code to stop this from happening?

Hi! It seems that this is not specific to is_sponsored, rather that fetching the post metadata causes a problem sporadically. This is very similar to what has been reported in #770 and #828.


Unable to on Swap, exit status =  255

Why i'm always getting error like that?
I'm running on 512 vps..

As this issue is related to older versions of EasyEngine and is not valid for latest versions.
I am closing this for now. Please create ticket on community forum (http://community.rtcamp.com/c/easyengine)  if anybody faces any issues.


Move BB and _ to peerDependencies

To satisfy Mn 3.0's requirement to move deps to peerDeps this should go into an RC to pull into the next Mn 3.0 rc

@jmeas @paulfalgout I think this is ready to go now

lgtm


Type guards don't work for interfaces with only optional properties

For some reason type guards to not work if an interface has only optional properties.
interface A {
  foo : number;
}

function isA(object: any): object is A {
  return true;
}

let a: A | boolean;

if (isA(a)) {
  a.foo;   // compiles
}

interface B {
  foo? : number;
}

function isB(object: any): object is B {
  return true;
}

let b: B | boolean;

if (isB(b)) {
  b.foo;  // does not compile because type inference says its `B | boolean`
}

For a type guard, it will look through all the union type constituents (B and boolean in the example), and will filter out types that are not assignable to the target type. since B has only optional properties, booelan is assignable to, and it is not filtered out from the union. looks like a good candidate for #3842.
a work around is to tag type B, see https://github.com/Microsoft/TypeScript/issues/4895


Add detection for Arista EOS

Note: EOS has 2 possible modes: the network CLI and a bash shell, typically only accessed in a test scenario such as with Vagrant.

Thanks @jerearista Lets cover the other improvements in another PR


update and pin Explore PomBase for motif search

When the motif search goes live, update and pin this image:

new text.
The PomBase <link: motif search> allows you to search for any user-defined amino acid sequence, supporting exact matches, wildcards, gaps, and ambiguity codes. This search is now fully integrated into PomBase, allowing results to be sent directly to the advanced search <https://www.pombase.org/query >.

corrected punctuation in text above

Are we ready to move this to live?

Are we ready to move this to live?

I haven't implemented the "Amino acid group codes" yet.  It's working otherwise.

now
https://github.com/pombase/website/issues/387
(you can switch the link in the menu and put up the news item)
is done can move forward with

[ ] rotation (see above)
[ ] tweet
[ ] pombelist
[ ] news item

i.e this  switch and rotation can go ahead today

When the motif search goes live, update and pin this image:

Should it be pinned or just be one of the page front rotations?  There are only two that appear on the front page at the moment, "GO slim analysis for any gene list" and "Browse our inventory of conserved proteins with no known biological role"

OK one of the rotations. I wrote this thinking it would get its own spotlight for a while but that was before the GO slim and the paper happened

OK one of the rotations.

Great.  I've changed the link in the menu and updated the Spotlight item.

I don't see it, will it take a while?

Sorry, I forgot to push the button on the Babraham server. Could you try again?

There it is! can you tweet, I'll pombelist.

in the rotation should we change "Motif search" to "Motif search updated"  (there is room).
so people see that it is a new rotation.

in the rotation should we change "Motif search" to "Motif search updated" (there is room).

Done!

We never did a news item, suggest:
News item.
The PomBase motif search was recently fully integrated into PomBase. The revamped tool allows users to find protein motifs and send them directly to the PomABse advanced search.


css-loader 6.2.0 no longer loads font icons correctly

if update  css-loader          ^5.2.7  →   ^6.2.0
no longer loads font icons correctly
solution downgrade to 5.2.7

closing as it is not Framework7 issue

This worked for me:
https://github.com/jakejarvis/jarv.is/commit/8874b4f0ac542318775fa6f1d6a3515ad1828406


Tic Tac Toe Alternative

Hey, not sure how interested you are in it, but I recently was asked to do this challenge for an interview and came up with a slightly different solution. I'll add the code here incase you'd like to review it. Your solution is great by the way, I was just thinking more options might be nice for others to review/compare/contrast/learn from.
import React, { useState } from 'react';
import ReactDOM from 'react-dom';

const rowStyle = {
  display: 'flex'
}

const squareStyle = {
  'width':'60px',
  'height':'60px',
  'backgroundColor': '#ddd',
  'margin': '4px',
  'display': 'flex',
  'justifyContent': 'center',
  'alignItems': 'center',
  'fontSize': '20px',
  'color': 'white',
  'cursor': 'pointer',
}

const boardStyle = {
  'backgroundColor': '#eee',
  'width': '208px',
  'alignItems': 'center',
  'justifyContent': 'center',
  'display': 'flex',
  'flexDirection': 'column',
  'border': '3px #eee solid'
}

const containerStyle = {
  'display': 'flex',
  'alignItems': 'center',
  'flexDirection': 'column'
}

const instructionsStyle = {
  'marginTop': '5px',
  'marginBottom': '5px',
  'fontWeight': 'bold',
  'fontSize': '16px',
}

const buttonStyle = {
  'marginTop': '15px',
  'marginBottom': '16px',
  'width': '80px',
  'height': '40px',
  'backgroundColor': '#8acaca',
  'color': 'white',
  'fontSize': '16px',
  'cursor': 'pointer',
}

const NON_WINNER = 'None'
// create array and rows of specific length to map over in Board component return
const rows = Array.from({length: 3}, (_, i) => i) // [0,1,2]
const squaresPerRow = Array.from({length: 3}, (_, i) => i)

const winningArrays = [
  // horizontal
  [0,1,2],
  [3,4,5],
  [6,7,8],
  // vertical
  [0,3,6],
  [1,4,7],
  [2,5,8],
  // diagonal
  [0,4,8],
  [2,4,6]
]

const getIsWinner = (squareIndexes) => winningArrays.some(winningArray => winningArray.every(item => squareIndexes.some(squareIndex => squareIndex === item)))

const Square = ({onClick, value}) => {
  return (

      {value}

  );
};

const Board = () => {
  const [currentPlayer, setCurrentPlayer] = useState('X');
  // playerSquares will hold an array of null values and strings EX: ['X', null, null, 'O', null, 'X']
  const [playerSquares, setPlayerSquares] = useState([])
  const [winningPlayer, setWinningPlayer] = useState(NON_WINNER)

  const handleSquareClick = (squareIndex) => {
    // if there is a winner, disable click - game is over
    if (winningPlayer !== NON_WINNER) { return }
    // if this index already has a value, do not allow user to update value
    // currentValue will either be a string (X or O) or null
    const currentValue = playerSquares[squareIndex]
    if (currentValue) { return }

    setPlayerSquares(prevSquares => {
      // update index to current player
      prevSquares[squareIndex] = currentPlayer
      // check for winner by getting all current player indexes within state
      const currentPlayerIndexes = prevSquares.reduce((acc, square, index) => {
        if (square === currentPlayer) {
          acc.push(index)
        }
        return acc
      }, [])
      const isWinner = getIsWinner(currentPlayerIndexes)
      if (isWinner) {
        setWinningPlayer(currentPlayer)
      }
      return prevSquares
    })
    setCurrentPlayer(prevPlayer => prevPlayer === 'X' ? 'O' : 'X')
  }

  const handleReset = () => {
    setCurrentPlayer('X');
    setWinningPlayer(NON_WINNER);
    setPlayerSquares([])
  }

  return (

      {/* conditionally show winner text OR next player text (not sure if this was in the requirements, but feels slightly nicer) */}
      {winningPlayer !== NON_WINNER ? (

        Winner: {winningPlayer}

      ) : (

        Next player: {currentPlayer === 'X' ? 'O' : 'X'}

      )}
      <button
        onClick={handleReset}
        style={buttonStyle}
      >
        Reset
      </button>

        {rows.map(row => (

          {squaresPerRow.map(squareIndex => {
            const ticTacIndex = row * 3 + squareIndex
            return (
              <Square key={ticTacIndex} value={playerSquares[ticTacIndex]} onClick={() => handleSquareClick(ticTacIndex)} />
            )
          })}

        ))}

  );
};

const Game = () => {
  return (

        <Board />

  );
};

ReactDOM.render(
  <Game />,
  document.getElementById('root')
);

Hello! 👋🏻
Apologies for the very late reply to this!
Thanks for sharing your solution. It looks great! 😄
I'm not planning on adding alternate solutions from other people at this time. But if there's more interest, I may consider this!
I'll close this issue out for now, but if I accept submissions in the future, I'll make sure to add your solution!


SecConn(Read|Write)StateLimit warning floods errorlog

apache 2.2.15, 2.4.6
rhel 6, 7
i guess it has something to do with the following commit #1340
[Fri May 26 12:12:19.354369 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>24256] [client  x.x.x.251:41630] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.355458 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>24256] [client  x.x.x.251:41630] ModSecurity: threads in READ: 1 of 50, WRITE: 0 of 50, IP:  x.x.x.251
[Fri May 26 12:12:19.387705 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>68032] [client  x.x.x.94:25222] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.389408 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>68032] [client  x.x.x.94:25222] ModSecurity: threads in READ: 1 of 50, WRITE: 0 of 50, IP:  x.x.x.94
[Fri May 26 12:12:19.393744 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>68032] [client  x.x.x.94:25226] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.394955 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>68032] [client  x.x.x.94:25226] ModSecurity: threads in READ: 1 of 50, WRITE: 0 of 50, IP:  x.x.x.94
[Fri May 26 12:12:19.400368 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>89920] [client  x.x.x.251:41636] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.401456 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>89920] [client  x.x.x.251:41636] ModSecurity: threads in READ: 1 of 50, WRITE: 0 of 50, IP:  x.x.x.251
[Fri May 26 12:12:19.405759 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>33536] [client  x.x.x.94:25232] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.406796 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>33536] [client  x.x.x.94:25232] ModSecurity: threads in READ: 1 of 50, WRITE: 0 of 50, IP:  x.x.x.94
[Fri May 26 12:12:19.410287 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>26240] [client  x.x.x.251:41638] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.411273 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>26240] [client  x.x.x.251:41638] ModSecurity: threads in READ: 1 of 50, WRITE: 0 of 50, IP:  x.x.x.251
[Fri May 26 12:12:19.439602 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>38848] [client  x.x.x.251:41650] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.441388 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>38848] [client  x.x.x.251:41650] ModSecurity: threads in READ: 1 of 50, WRITE: 0 of 50, IP:  x.x.x.251
[Fri May 26 12:12:19.441494 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>97216] [client  x.x.x.251:41654] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.442030 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>26400] [client  x.x.x.251:41656] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.442911 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>26400] [client  x.x.x.251:41656] ModSecurity: threads in READ: 2 of 50, WRITE: 0 of 50, IP:  x.x.x.251
[Fri May 26 12:12:19.442911 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>97216] [client  x.x.x.251:41654] ModSecurity: threads in READ: 2 of 50, WRITE: 0 of 50, IP:  x.x.x.251
[Fri May 26 12:12:19.445522 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>33696] [client  x.x.x.251:41658] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.446835 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>33696] [client  x.x.x.251:41658] ModSecurity: threads in READ: 1 of 50, WRITE: 0 of 50, IP:  x.x.x.251
[Fri May 26 12:12:19.470089 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>19104] [client  x.x.x.94:25246] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.471780 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>19104] [client  x.x.x.94:25246] ModSecurity: threads in READ: 1 of 50, WRITE: 0 of 50, IP:  x.x.x.94
[Fri May 26 12:12:19.483665 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>40832] [client  x.x.x.251:41672] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.485098 2017] [:warn] [pid 13129:tid<PHONE_NUMBER>40832] [client  x.x.x.251:41672] ModSecurity: threads in READ: 1 of 50, WRITE: 0 of 50, IP:  x.x.x.251
[Fri May 26 12:12:19.518477 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>62720] [client  x.x.x.94:25258] ModSecurity: going to loop through 2050 servers with 64 threads
[Fri May 26 12:12:19.520244 2017] [:warn] [pid 13045:tid<PHONE_NUMBER>62720] [client  x.x.x.94:25258] ModSecurity: threads in READ: 1 of 50, WRITE: 0 of 50, IP:  x.x.x.94

Looking at the logs and as we had this for debug (APLOG_TRACE) prior to the patch I'm thinking this looks like normal behaviour so maybe we should change APLOG_WARNING to APLOG_DEBUG or siblings.

@victorhora sounds good to me :-)
Because we had 40gb logs after 3 days...

Fixed by @victorhora at #1436.


fix: add pre-publish script

Description

we need prepublishOnly script to generate ./lib for npm package.
Resolves #52

/help

@KhudaDad414 it is not yet merged, so no /help 😄
Just merge manually 😆


Added Azure.MariaDB.AllowAzureAccess

PR Summary
Fixes #1857
Added Azure.MariaDB.AllowAzureAccess rule.
PR Checklist

[x] PR has a meaningful title
[x] Summarized changes
[x] Change is not breaking
[x] This PR is ready to merge and is not Work in Progress
Rule changes

[x] Unit tests created/ updated
[x] Rule documentation created/ updated
[x] Link to a filed issue
[x] Change log has been updated with change under unreleased section

Other code changes

[ ] Unit tests created/ updated
[ ] Link to a filed issue
[ ] Change log has been updated with change under unreleased section

@BernieWhite
To be reviewed when you have the time.

@BernieWhite
Check the latest updates. Did I understand you correctly or do you want me to create tests where we declare rules outside the parent resource?

@BernieWhite
Updated. Could you check it now and see if we're alligned?


Update ide-tour.md

Change "Next" to "Continue" to match screenshot (and current VS2022 UI)

#sign-off

@heiligerdankgesang
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


How to create a BitVec from a u64

I am writing a program where i need to get a rolling window of 3 booleans. I saw the windows method in the docs so my plan is to create a BitVec from a u64 generated by the rand crate and iterate through windows of bits.
I did not see a example of creating a BitVec from a regular unsigned number so i ask what is the best way to do that. Thanks

After closer inspection of the docs, u64 implements BitStore so it can be borrowed as a BitSlice. This gives me the methods i want. I feel this could be documented better.
Now i have run into the issue is that i also need this window to be infinite. My first idea is to windows over the u64, chop off the first 61 bits (not sure how to do this), then add another u64 to the end.
How do i reverse truncate a BitVec?

BitSlice has the from_element constructor function, which borrows an unsigned integer and produces a &BitSlice over it; in addition, there is a trait in the bitvec prelude which provides the .bits::<Order>() method on unsigned integers, as well as arrays and slices of them. I will ensure that these examples are in the README and crate root documentation.
The .windows(3) method will produce a sliding iterator over three consecutive bits in the slice; however, since BitSlice is not a ring, it is unable to express an infinitely cycling window that wraps from the back of the slice to the front.
A possible solution is to copy the randomly generated element into a [u64; 2] and put that in a wrapper struct like this:
pub struct InfiniteWindows {
  data: [u64; 2];
  current: usize;
}

impl InfiniteWindows {
  pub fn from_element(elem: u64) -> Self {
    Self {
      data: [elem; 2],
      current: 0,
    }
  }

  fn view_bits(&self) -> &BitSlice<AnOrdering, u64> {
    &self.data.bits::<AnOrdering>()[.. 66]
  }
}

impl<'a> Iterator for InfiniteWindows {
  type Item = &'a BitSlice<AnOrdering, u64>;

  fn next(&'a mut self) -> Option<Self::Item> {
    let out = &self.view_bits()[self.current ..][.. 3];
    self.current += 1;
    self.current %= 66;
  }
}

This will produce windows over the stored bits, where the subslices [62 .. 65] and [63 .. 66] appear to wrap from the back to the front. You can extend the iteration as needed for reverse and jumps; seeking in the iterator is just addition or subtraction of the counter that wraps from 66 to 0.
I can't promise offhand that this does not have lifetime issues; I am writing it from memory and not running it through the compiler. If it complains about lifetimes, you can change the structure to take a borrowed bit-slice rather than an owned array.
Unfortunately, I do not yet have the ability to produce immediate values with a bit-precision lens attached, so everything must be done through borrows. I have been working on a design for this, but without const-generics, it's hard to come up with a satisfying one.
Let me know if this works, and how else I can help.

Current develop branch, and forthcoming 0.18 release, adds the BitArray type to be able to wrap any (subject to std limitations) array of elements as a BitSlice. I am going to close this issue, but please feel free to reöpen if you still have questions.


x86-64 node release

@mhejrati If there is any help needed here, please explain briefly how can I proceed?

@HHIR Thanks for reaching out. I just added more details to the issue. Please review and let me know if this makes sense. We may start working on this soon.


MapBox images

Hi @prestb Any updates on this? You've been silent. We need to publish this ASAP.

@collinsnji Have you finished cleaning up the MD and sorting the users according to number of repositories?

@Ch3ck Yep :) https://collinsnji.github.io/github-users-africa/userdata.
But I think it's kinda slow due to the images loading. Can I open a new issue to implement a service worker to fix this?

@collinsnji Yes you can.

I fixed the issue by sorting the JSON dump before uploading. It wasn't the photos causing the slow loading, it was the client side sorting :). Check it out here


How do you build for iOS???

It's not clear how to build with iOS as a target here.

In Xcode, choose the libcups3_ios target. You'll also need to build LibreSSL, OpenSSL, or GNU TLS.


Events Model

User Story
As a website developer, I wish to be able to store the content related to CSSA's events in the database, so that I can avoid modifying the frontend code when I need to update the content of the website.
Acceptance Criteria

The model contains the attributes that are relevant to describe an event.
The link to a multimedia file should be stored in the database object if there is a multimedia file.

Priority
High
Story Points
2

The model is done, yet BeforeConvertListener needs to be further tested


How to generate a noise model ？

Thank you very much for open-sourcing your work. Will you consider open-sourcing the noise generation pre-training model and how to train the noise generation model in the code?

Very grateful for following our work. Due to current company limitations, we are unable to further open source the noise generation model and training details. However, based on the details provided in the paper, our model is easy to reproduce. Please feel free to contact us at<EMAIL_ADDRESS>if you have any problems with the reproduction process.

Thank you very much for your reply!
When I read the paper, I did not find supplementary materials. If you can provide certain materials, I will be very grateful to you.


Error Could not create an instance of type Shesha.OPT.Dto.ISendPinInput occurs when sending an OTP

When attempting to send an OTP via Swagger, the payload requires only the sendType parameter. However, executing the request as expected results in an error. Even after expanding the payload to include all required details, the error persists.
Is the required parameters not supposed to be part of the payload? See below from old project

Steps to reproduce the behavior:

Go to 'swagger' and search for 'OTP' service
Click on 'SendPin' endpoint
Provide the sendType and execute/expand to include sendTo then execute
See attached error

Expected behavior
The endpoint should succeed and send the Pin via the mode selected
ND: After fixing, please double check the other OTP endpoints such as ResendPin, VerifyPin etc since I can't due to this

@IvanIlyichev,  @hlayisanimazuze. I found the changing the input methods in the OtpAppService  to use the implemented classes instead of the Interface resulted in the error no longer displaying. Eg:
 public async Task<ISendPinResponse> SendPinAsync(SendPinInput input) instead of  public async Task<ISendPinResponse> SendPinAsync(ISendPinInput input)
So I'd would guess its related to using the interface objects in the service methods.
Another potential issue is the Get OTP Method  public async Task<IOtpDto> GetAsync(Guid operationId) can be accessed without Auth. In my understanding this is a potential security risk as it would allow the pin the read without having to receive it via email or sms. I think this method should be secured so that you at least have to have a valid token to do the get.

@OmolemoBlessingLethuloe, please check the comment provided by @MarshallRJ

@OmolemoBlessingLethuloe let me check it on my side first

Hi @hlayisanimazuze. It's fixed, please check

Part of release 40


Feature/api generation

Draft to check build and generated code is not displayed in review

To document some debugging and discussions from discod:
With this current impl most likly 496 methods are not working.
Prime example ResourceLoader::load
The reason being: they are not in the ClassDB which we currently use in gd_kotlin.cpp to get the MethodBind of engine methods. Hence the methods cannot be found and called during runtime.
All those methoda have in common that they are virtual functions.
But we cannot just ditch them as we need them to work. C# is generating it's own api.json. Most likely because of this reason.
We need to investicate the C# code to see how they have managed to make functions like ResourceLoader::load work.

To document some debugging and discussions from discod:
With this current impl most likly 496 methods are not working.
Prime example ResourceLoader::load
The reason being: they are not in the ClassDB which we currently use in gd_kotlin.cpp to get the MethodBind of engine methods. Hence the methods cannot be found and called during runtime.
All those methoda have in common that they are virtual functions.
But we cannot just ditch them as we need them to work. C# is generating it's own api.json. Most likely because of this reason.
We need to investicate the C# code to see how they have managed to make functions like ResourceLoader::load work.

Some further investigations on the cSharp code lead to this:
        private const string nativeName = "_ResourceLoader";

        [DebuggerBrowsable(DebuggerBrowsableState.Never)]
        private static IntPtr method_bind_1 = Object.godot_icall_Object_ClassDB_get_method(nativeName, "load");

        [GodotMethod("load")]
        public static Resource Load(string path, string typeHint = "", bool noCache = false)
        {
            return NativeCalls.godot_icall_3_1107(method_bind_1, ptr, path, typeHint, noCache);
        }

The class name in the ClassDB seems to be _ResourceLoader and not ResourceLoader.
The following example also supports this:
func _ready():
    print(ClassDB.class_has_method("_ResourceLoader", "load"))
    print(ClassDB.class_has_method("ResourceLoader", "load"))
    print(ClassDB.class_has_method("Node", "get_children"))

Prints:
True
False
True

Some further investigations on the cSharp code lead to this:
        private const string nativeName = "_ResourceLoader";

        [DebuggerBrowsable(DebuggerBrowsableState.Never)]
        private static IntPtr method_bind_1 = Object.godot_icall_Object_ClassDB_get_method(nativeName, "load");

        [GodotMethod("load")]
        public static Resource Load(string path, string typeHint = "", bool noCache = false)
        {
            return NativeCalls.godot_icall_3_1107(method_bind_1, ptr, path, typeHint, noCache);
        }

The class name in the ClassDB seems to be _ResourceLoader and not ResourceLoader.
The following example also supports this:
func _ready():
    print(ClassDB.class_has_method("_ResourceLoader", "load"))
    print(ClassDB.class_has_method("ResourceLoader", "load"))
    print(ClassDB.class_has_method("Node", "get_children"))

Prints:
True
False
True


Fix calling superclass classmethods in the "monitor" test

Use the proper way, not the hackish one.

LGTM


Add test for referencing relations multiple times in an entity

fixed in #1292, closing this one as the test fails


BAU: Update program name

Couple of program clarifications,

Use the name our program wants to use.
Slightly nuance the line about our use of serverless tech for clarity.

sorry @paroxp forgot about this one. Just rebased against main, you happy to ✅ and I'll send it out this time?


Price of relayerFeeInTransactingAsset

When using transactingAsset for relayerFee, the result of estimateRelayerFee should be converted into the transactingAsset.

It is already converted.?


Plotting pressure levels on uneven scales in zonal mean maps

I am trying to reproduce a plot for zonal mean differences between two time periods for the variable "atmospheric temperature (ta)". Is there some way in Python that I can get the scale to be non-uniform? For example the available pressure levels for this data are :
[100000.  92500.  85000.  70000.  60000.  50000.  40000.  30000.  25000. 20000.  15000.  10000.   7000.   5000.   3000.   2000.   1000.    500.  100.]
In hPa, these would be 1000, 925 etc. can I plot  these such that there is a wider gap on the y-axis between say 50hPa and 200hPa, a smaller gap between 200hPa and 400hPa and so on? How can I manually assign positions for each level on the y-axis?

Looking at the example you provided in your email, the answer is to use a logarithmic plot.
One way to achieve this that works with the iris plotting routines is to use set_yscale on the axis post-hoc:
import matplotlib.pyplot as plt
import iris.quickplot as qplt
ax1 = plt.subplot(1, 2, 1)
qplt.pcolormesh(zonal_mean_ta_cube)
ax2 = plt.subplot(1, 2, 2)
qplt.pcolormesh(zonal_mean_ta_cube)
ax2.set_yscale('log')
plt.show()

That will give you essentially the plot you are after, albeit with powers of ten as labels on the y-axis.
Then you can use the normal tick formatting and locating to get exactly the labels you want.

yeps, semilog is your way @rswamina as @zklaus suggests: note you can use semilogy() out the box: https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.semilogy.html

@valeriupredoi, you are of course right when it comes to "naked" matplotlib. But, as far as I know, there is semilogy routine in iris.plot, maybe because the connection between x- and y-axis on the one side and the corresponding dimensions/coordinates is not so obvious. That's why I suggested applying the logarithmic scaling post-hoc.

@rswamina is this solved?
If yes, please close.

This is resolved. Thanks!


Unable to install

Hi,
I am unable to install Moloch.
I have clean Ubuntu 12.04.5 VM with openjdk-7-jdk and all the latests packets from the repository.
I have cloned the latest git and started the easybutton-singlehost.sh script.
I get an error during the installation of some NPM packets (see error log: npm-debug.log)
Christian

Before installation, edit run_es.sh in the moloch single-host/bin directory and change line 12 to
ES_HEAP_SIZE=ESMEM bin/elasticsearch -Des.insecure.allow.root=true -d
This will both allow the ES 2.3.2 to run (the config location generates an error and is unnecessary for ES 2.x and address the issue of being unable to run ES with root privileges as the easybutton-singlehost.sh is supposed to be run.

I don't see any errors, did you upload a gist?

Sorry, there when something wrong with the file upload.
I have updated the comment: npm-debug.txt

Not really sure.  You could try
cd /data/moloch/viewer
rm -rf node_modules
npm install

The /data/moloch/viewer folder has not yet been created.
I got the error in the /data/moloch/wiseService folder.
When deleting the node_modules folder in wiseService i get a different type of error:
npm-debug.txt

Does your company break ssl?  If so you might need to add the company cert to some keystore or tell npm to ignore cert validation.
http://blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more

reopen if you have more info


Remove IncrementalTaskInputs again

@bot-gradle test this

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test APT

OK, I've already triggered the following builds for you:

AllPerformanceTestsReadyForRelease build

@bot-gradle test and merge

OK, I've already triggered a build for you.

Your PR is queued. See the queue page for details.

There is a flaky test failing so I marked it as flaky and started a new one:
https://github.com/gradle/gradle/commit/efdd62d4cb50bf671a233054abd82de79fe4e0c5
https://builds.gradle.org/viewLog.html?buildId=55485146&tab=buildResultsDiv&buildTypeId=Gradle_Master_Check_ConfigCache_20_bucket2

Pre-tested commit build failed.

OK, I've already triggered a build for you.


Call destructor on copied arguments when calling C# method from C++ (MS ABIs only)

On Microsoft ABIs, the destructor on copy-by-value parameters is called by the called function, not the caller, so we should be generating code to do that for classes that have a non-trivial destructor.
That at least is my interpretation of why we got memory leaks because destructors were not called.
I hope I got the Microsoft ABI bit right and this is only needed there, CI will tell us hopefully.
See tests for example code.

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

There is some code in the generated clang bindings in CppSharp that has a
parametet called "ret", on which some operation happens and then is
assigned to "__ret", which would then clash with this identifier here.
Maybe there is a better way to do this?


[FEAT]: Implement metadata-based filtering of documents for RAG

What would you like to see?
Currently, AnythingLLM's RAG system retrieves documents based solely on content similarity, and does not have filtering capabilities in its RAG system.
To improve retrieval relevance and support use cases involving time-sensitive documents or specific metadata attributes, I propose implementing metadata-based filtering capabilities for the RAG system.
Key benefits:

Enable time-based filtering for up-to-date information retrieval
Improve relevance by considering document attributes beyond content
Support use cases like summarization of specific document types or date ranges

Proposed functionality:

Allow users to specify metadata filters when querying the RAG system
Integrate metadata filtering with vector search to combine content and attribute-based relevance
Support filtering on common metadata fields like date, document type, author, etc.

I learnt that Weaviate leverages an inverted index alongside the vector index to create an allow-list of eligible candidates before performing the vector search. Pinecone also allows for metadata filtering to be applied before vector searching, which can improve query performance.
I would really appreciate this feature as it would significantly enhance AnythingLLM's RAG capabilities, allowing users to more effectively narrow down relevant information and improve the accuracy of AI-generated responses.

This would be amazing!


Marker Features

-Map API Key added
Started but not finished
-initMap JS function (this is tied to API Key)
-Marker Class and test files

Hi all, this PR isn't ready for a full review. It was started was meant to add the API key. Sorry for the confusion, but if you have suggestion about what to add to the marker class or improvements.

I now have the Marker class figured out. I tried to make it as simple as possible and if there are any methods or attributes that should be added or fixed lmk!

Oops - I just realized I never hit submit on my review from a couple days ago. I just did now, hopefully the comments are too out of date!


Add ccache plugin

This is an attempt to address #201.
This adds an optional ccache plugin that can be turned on by adding "plugins": ["asv.ext.ccache"] to asv.conf.json.  That way we don't need to add this hacky stuff for everyone, just for those who opt-in.
Unfortunately, however, it doesn't seem to work, and I'm getting all cache misses when enabling these environment variables (even though I've confirmed they are being applied).  @pv since you reported the technique itself as working, do you have any thoughts?

And a couple of notes about details I didn't bother with until the basics are worked out:

[ ] sysconfig isn't available on Python 2.6.  Need to resolve that.
[ ] We should be using the sysconfig of the Python we are about to do the compiling for, not of the master asv Python.

I double checked now that I get cache hits. I have ccache version 3.2.1 --- the 3.1.10 has some bugfix that may or may not be relevant. Also, I still get cache misses for Cython-generated files, even with these variables set. Apart from these, nothing immediately comes to mind.

I tried ccache 3.1.10 and 3.2.1, which gcc 4.9.2 underneath on Fedora Linux 21.  Still the same -- no cache hits at all.  I'll continue to investigate.  Just to confirm: Did you try the plugin as implemented here or enabled somehow differently?  (Just to rule out this vs. something environmental about my ccache setup).

I did not yet try this plugin, but instead ran the run.py in https://github.com/pv/scipy-bench --- but that only sets the environment variables.

I still get only misses using the run.py script in https://github.com/pv/scipy-bench, so that suggests it's something with my ccache environment rather that just how I've implemented things here, I think.

I get cache hits (preprocessed) with this plugin. The reason why Cython files cause misses is that Cython generates variables that contain source file paths.

Ah -- I see the issue.  Scipy is using Numpy distutils (if I'm not mistaken) which takes CFLAGS as an override, not an extension of, the built-in Python compiler flags.  I was testing with astropy, which uses vanilla distutils which only lets you add flags, thus the -g flag was still being passed.

Ok, indeed. I don't know if it's actually possible to remove the -g when using the usual distutils. This hack is then not generally so useful... One option that according to ccache man pages would tolerate -g is to somehow force pip to build in a known directory (not sure if this is possible), and set CCACHE_BASEDIR accordingly.

Closing in favor of #203.


[react-dnd] exported DragLayer; added DragLayerMonitor

exported DragLayer
added DragLayerMonitor
refer to: https://github.com/gaearon/react-dnd

I'll add tests and reopen this pull request.


update two test scripts to add interrupt choice

Signed-off-by: Lu Yong<EMAIL_ADDRESS>Add the interrupt enable/disable choice for hls_latency and hls_mm_test testing scripts.

Hi, originally -d doesn't make any difference, so I commented in the help message. Yes you are correct, we can keep -d and set SHORT=1, NORMAL=1000, and LONG = 100000 (default)
I added n because it also can show the latency for a single transfer.


Suggestion: Force package names to include the version number

DISCLAIMER: I am nix noob so this issue may be born from a fundamental misunderstanding of Nix.
Issue description
Nix package names do not include version numbers. This does not reflect reality.
For example; here is the go-ethereum package.
It is actually go-ethereum-1.10.18.
It was updated 22 days ago from 1.10.17 -> 1.10.18
https://github.com/NixOS/nixpkgs/blob/nixos-22.05/pkgs/applications/blockchains/go-ethereum/default.nix#L57
How would i lock to 1.10.17 in my shell.nix?
{ pkgs ? import <nixpkgs> { } }:
with pkgs;
mkShell {
  buildInputs = [
    pkgconfig
    go-ethereum
    go_1_18
  ];
}

Potential Solution
Force packages to include the version number.
Some packages already do this to some degree:
https://search.nixos.org/packages?channel=22.05&from=0&size=50&sort=relevance&type=packages&query=python

We typically only carry a single version of libraries so once updated from 1.10.17 to 1.10.18, your only way to get the older version is to override the derivation and set the src to point to the previous version.
Alternatively, you can pin nixpkgs to a commit from before the upgrade.
nixpkgs isn't a collection of multiple versions of multiple libraries you can mix and match - it's more like a point in time snapshot (similar to xBSD).


Support esp-idf source tree not being Git repository

This is the esp-idf-sys counterpart to https://github.com/esp-rs/embuild/pull/80 - there's more discussion over there

@haileys - you need to cargo fmt

@haileys - ditto here. If this is to be included in the new release, you need to address the CI errors.

I've pushed up a fmt, but I wasn't able to run clippy locally to see if it wanted any changes

Here's one way to run it locally (you need to replace the target variable with whatever ESP MCU/target you want to build for, e.g. riscv32imc-esp-espidf).
Regardless, clippy checks pass.

What is the current status of this PR's merge? The issue it fixes is really annoying since I cannot use esp-idf from package manager due to the lack of Git repository.

What is the current status of this PR's merge? The issue it fixes is really annoying since I cannot use esp-idf from package manager due to the lack of Git repository. Thanks.

The status is that the patch is abandon-ware ATM, as you can see in the comments.
If you would like to bring it to completion, that would be greatly appreciated!
Only thing is, I gave it a try a couple of months ago, and then somehow I reached the conclusion that there was something in the ESP IDF itself, which was prohibiting it from being used as non-GIT repository. But maybe I was wrong - can't recollect my memories ATM.

I cannot use esp-idf from package manager due to the lack of Git repository. Thanks.

What package manager?

What package manager?

At least for arch linux, https://aur.archlinux.org/packages/esp-idf, there's not .git in /opt/esp-idf


YouTube: Unable to submit TFA code: HTTP Error 500: Internal Server Error

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.08.04. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.08.04

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--username', 'PRIVATE', '--password', 'PRIVATE', '-2', 'PRIVATE', '0-fyoq4454U', '--verbose']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2018.08.04
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.14393
[debug] exe versions: ffmpeg N-85750-ga75ef15, ffprobe N-85750-ga75ef15
[debug] Proxy map: {}
[youtube] Downloading login page
[youtube] Looking up account info
[youtube] Logging in
[youtube] Submitting TFA code
WARNING: Unable to submit TFA code: HTTP Error 500: Internal Server Error
[youtube] 0-fyoq4454U: Downloading webpage
[youtube] 8tEsxbCl21E: Downloading webpage
[youtube] 8tEsxbCl21E: Downloading video info webpage

(stopped here because it redirects to the free unauthenticated trailer)
(also replaced my 2FA code with 'PRIVATE')
Description of your issue, suggested solution and other information
Cannot authenticate to YouTube with 2FA enabled.
WARNING: Unable to submit TFA code: HTTP Error 500: Internal Server Error
Also tried old app-password method (would be preferred for easily retractable passwords in batch files), but since the code is updated to support 2FA, app passwords no longer work. Therefore, it is currently impossible to log into YouTube at the moment.

> py -3.6 .\youtube_dl\__main__.py -v -n 0-fyoq4454U
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '-n', '0-fyoq4454U']
[debug] Encodings: locale cp1251, fs utf-8, out utf-8, pref cp1251
[debug] youtube-dl version 2018.08.04
[debug] Git HEAD: d37dc6e
[debug] Python version 3.6.4 (CPython) - Windows-10-10.0.10240-SP0
[debug] exe versions: ffmpeg N-85653-gb4330a0, ffprobe N-85653-gb4330a0, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] Downloading login page
[youtube] Looking up account info
[youtube] Logging in
Type 2-step verification code and press [Return]:
[youtube] Submitting TFA code
[youtube] Checking cookie
[youtube] 0-fyoq4454U: Downloading webpage
...

Post the output with --dump-pages.

Here is the info you requested with --dump-pages.
I still get the error, --dump-pages dumped a lot of gibberish (base64?), so had to pipe the output to files.
https://drive.google.com/open?id=1GWHMp1ryDQqJThr6hu4Rb_NJ7KGEi-8_


Newspaper doesn't work with certain sources - i.e. cnn.com/politics or apnews.com

See title. When I run a code like
from newspaper import Source

ap = Source('http://www.apnews.com/')
ap.build()
print(ap.size)

for article in ap.articles:
    print(article.title)

All it returns is
<bound method Source.size of <newspaper.source.Source object at 0x000002A3D8A17080>>

for the .size method

You should call ap.size() instead of ap.size


chore: bump up dependencies 2021-08-18

Codecov Report

Merging #18 (8a85268) into main (45382a3) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #18   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           32        32
  Branches        12        12
=========================================
  Hits            32        32

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 45382a3...8a85268. Read the comment docs.


Not helpfull error information

I have this exception when running py-lambda-packer. It seems like a file path is empty (None) but I have no idea what file or path or what is expected to be there. The trace is not helpful and the lambda doesn't recover, so my build fails and I don't know why.
Traceback (most recent call last):
File "/usr/local/bin/py-lambda-packer", line 8, in
sys.exit(entry_point())
File "/usr/local/lib/python3.6/dist-packages/plpacker/cli.py", line 161, in entry_point
packer.build()
File "/usr/local/lib/python3.6/dist-packages/plpacker/pylambdapacker.py", line 25, in build
if self.virtual_env.filesets:
File "/usr/local/lib/python3.6/dist-packages/plpacker/virtualenv.py", line 101, in filesets
excludes=self.fileset_excludes)
File "/usr/local/lib/python3.6/dist-packages/plpacker/fileset.py", line 36, in init
self.fileset = self._expand_fileset()
File "/usr/local/lib/python3.6/dist-packages/plpacker/fileset.py", line 58, in _expand_fileset
self._expand_glob(exclude, self.followlinks))
File "/usr/local/lib/python3.6/dist-packages/plpacker/fileset.py", line 63, in _expand_glob
if os.path.isabs(expression):
File "/usr/lib/python3.6/posixpath.py", line 66, in isabs
s = os.fspath(s)
TypeError: expected str, bytes or os.PathLike object, not NoneType

I found the answer. In the default_excludes section of the py-lambda-packer.yaml file I had an empty string after a a dsh (last line). Removing it was the solution to my problem.
default_excludes:

easy_install.*
pip*/**
py-lambda-packer.yaml
setuptools*/**
wheel*/**
README.md
reference
.buildkite


automotive_autonomy_msgs

why there do not have ".msg" subfiles in file "automotive_autonomy_msgs"?

Hi @3486488016, the automotive_autonomy_msgs package is simply a meta-package that consists of automotive_navigation_msgs and automotive_platform_msgs. See the README for more details.


Fix "ConsulAcl" provider when specified "id" doesn't exist

If the token ID doesn't exist, Diplomat::Acl#info returns an empty array and it causes an error:
           ================================================================================
       Error executing action `create` on resource 'consul_acl[vault]'
           ================================================================================

           NoMethodError
           -------------
           undefined method `select!' for nil:NilClass

           Cookbook Trace:
           ---------------
           /tmp/kitchen/cache/cookbooks/consul/libraries/consul_acl.rb:89:in `up_to_date?'
           /tmp/kitchen/cache/cookbooks/consul/libraries/consul_acl.rb:56:in `action_create'

This PR fixes that issue.

Current coverage is 53.01%

Merging #278 into master will increase coverage by +3.80% as of 3c39a8c

@@            master    #278   diff @@
======================================
  Files            7       7
  Stmts          380     381     +1
  Branches         0       0
  Methods          0       0
======================================
+ Hit            187     202    +15
  Partial          0       0
+ Missed         193     179    -14

Review entire Coverage Diff as of 3c39a8c

Powered by Codecov. Updated on successful CI builds.


Add postgres vector database support

Postgres can now facilitate vector similarity search with the newly developed pgvector extension. As Postgres is widely used in the application layer, having a single database engine for simple apps would greatly simplify the development process.

@m3hari do you mean using postgres as a vector store? there's already a database reader in llamahub that allows loading of structured data into unstructured documents https://llamahub.ai/l/database, and we also have a structured store index allowing text-to-SQL queries https://gpt-index.readthedocs.io/en/latest/reference/indices/struct_store.html

@jerryjliu no, I don't mean loader, I am referring to storing indices the default way seems to be a local file (JSON format) as far as I understand, but I want to store the embeddings in Postgres.
Like  qdrant, Postgres can be used as vector/embedding storage and search with this extension.

Basically, storing vector indices with Postgres as a backend like (Pinecone, qdrant ...)

Just adding my support for this @jerryjliu. I started trying to do this myself but got a bit lost in the index internals.
Here's what I have so far: https://gist.github.com/bborn/5d3a7f138fce32610102ef7775502d2f

Just adding my support for this @jerryjliu. I started trying to do this myself but got a bit lost in the index internals.
Here's what I have so far: https://gist.github.com/bborn/5d3a7f138fce32610102ef7775502d2f

@bborn this looks great! these are basically the main components that you'd need to add (the vector store, a wrapper around the index and query classes).

@bborn Did you got PR on this?

@rl3250  nope - haven't had a chance yet.

This has been added
https://gpt-index.readthedocs.io/en/latest/examples/vector_stores/postgres.html#postgres-vector-store


Configure hook order?

I'd like to define (and potentially release) a couple of hooks which modify the models and associated functions created by sails-hook-orm.  Is there a way to configure the order of hook loading/execution?
I've noticed a couple of issues asking the same question (https://github.com/balderdashy/sails/issues/2517, https://github.com/balderdashy/sails/issues/4338), but no response and nothing in the hooks docs (https://sailsjs.com/documentation/concepts/extending-sails/hooks/hook-specification).

Hi @alxndrsn! Unfortunately, as of Sails v1.0, the load order of custom hooks is not guaranteed (see the relevant documentation). We take user interest into consideration when planning updates to Sails, so this might be a feature to include in a future version.
I'll leave this open in case anybody else has thoughts or suggestions related to this topic.  🌊

@alxndrsn You might be able to get away with waiting for the ORM hook to load, doing what you need, then forcing it to reload. Depends on your use case.
I do something like the following very cut-down example in the initialize part of some of my hooks to retrofit and tweak some models (not suggesting this is even a remotely good idea, but hey)
sails.after('hook:orm:loaded', () => {
   // Do some hacky voodoo and retrofit/tweak models
  sails.hooks.orm.reload((err) => { /* handle explosions */ })
})

Actually calling sails.hooks.orm.reload seems to crap itself if you have the default "Archive" model enabled (I've set archiveModelIdentity: false in my project-level config/models.js where project-level != inside my hooks), but I think that would warrant it's own issue being created. For now I've disabled it until I can find a better way.

@madisonhicks that's a shame, but thanks for clarifying
@texh :open_mouth: I think I'll just stick to modifying models in config/bootstrap.js :wink:

This is how I propose to incorporate this feature in the next release, and would really appreciate it [and believe many others would too].
Description
Define an additional input when one can input change the automatic naming convention by sails: (package.json)
  "sails": {
    "isHook": true,
    "hookName": "xyz",
    "hookOrder": "m"
  },

Here, m could take any integer value. Similar principle as with z-index in CSS. So, when sails is loading hooks, it checks for the order number and loads hooks afterwards alphabetically.
Reasoning
Use-case | generally speaking, defining an order for hooks is quite complicated for big projects. Nobody can really keep tracks of what should come after what and why! However, there are packages which need to be loaded prior to others: ORM, View Engines, etc. Hence, it is best to define an "order" hierarchy instead of requesting the developer to provide the order via an array or json or etc.
Precedent | This is practically the "hack" that @emahuni suggests in https://github.com/balderdashy/sails/issues/2517.
Development | Though, I don't know how the Sails core does it, but I do believe that this is going to be quite easy to implement.

PS. Thanks for developing, maintaining and keeping Sails relevant. Hope one day Sails would be what Laravel or Rails are to their respective languages.

Hello @alxndrsn & @captainhusaynpinguin, Sails handles hook order in default-hooks.js. An example of how one of these hooks handles loading at the right time. can be found in the http hook's initialize.js.
To specify the order of custom hooks, you can do something similar in your hook's initialize function.


Merge bugfix from chibenwa/fix-and, allowing usage of emails containing "&"

https://github.com/apache/james-project/pull/2303

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 8 committers have signed the CLA.:white_check_mark: shn27:white_check_mark: samiulsami:x: chibenwa:x: quantranhong1999:x: romainmoreau:x: glennosss:x: vttranlina:x: jeantilYou have signed the CLA already but the status is still pending? Let us recheck it.


SCREEN_TEXTURE is not updated after rendering a node with a shader

Godot version:
v3.3.rc7.mono.official
OS/device including version:
Ubuntu 20.10
GeForce RTX 2060
GLES2
Issue description:
The var "SCREEN_TEXTURE" from shaders doesn't contain the previous node changes
Steps to reproduce:
Create a TextureRect with a shader and change the colour using "SCREEN_TEXTURE", then create a second TextureRect with another shader, when using "SCREEN_TEXTURE" it will replace the first shader effect, not taking into consideration that the screen texture already changed
If you enable a BackBufferCopy between the TextureRects, it works

Minimal reproduction project
BugReport.zip

I'm in agreement with @clayjohn .
It seems to have been a batching bug that was introduced in 3.2.2 and no one noticed. In 3.2.2 (and 3.2.3) if you run GLES2 without batching you get blue, and if you run GLES3 (which has no batching) you get blue, but you get magenta with GLES2 batching. So blue does seem to be the correct result.
I think this can be closed unless we get further info.


add NFT Metadata queries

Related: #25
TODO
Problem: Failing tests - Can't cast returned structs in arrays or dictionaries to AnyStruct and can't import contracts to test
Solution:

[ ] Replace custom struct with MetadataViews.NFTCollectionDisplay & create assertion script to test return value

Replace custom struct with MetadataViews.NFTCollectionDisplay & create assertion script to test return value

Glad you came to the same conclusion, seems like for current purposes we need to use scripts as our actual tests and can't return any structs for now to any actual test cases


Fixed Audio duration

Added Audio duration for mat-basic-audio-player

@vishnu283 Any reason why you've removed the demo app's source code?

Could you please send only the changes in base-audio-player-components.ts?


v3.1.2

Update test scripts to check all variants
Import some functions form bellajs instead of rewriting
Add babel cli to test es6 original version

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@db0d527). Click here to learn what that means.
The diff coverage is 95%.

@@            Coverage Diff            @@
##             master      #37   +/-   ##
=========================================
  Coverage          ?   93.91%
=========================================
  Files             ?        8
  Lines             ?      624
  Branches          ?        0
=========================================
  Hits              ?      586
  Misses            ?       38
  Partials          ?        0

Impacted Files
Coverage Δ

tests/start.js
100% <ø> (ø)

dist/realdom.min.js
100% <ø> (ø)

tests/specs/dom.js
100% <100%> (ø)

tests/specs/apis.js
100% <100%> (ø)

tests/specs/event.js
100% <100%> (ø)

src/main.js
90.05% <64.28%> (ø)

dist/realdom.js
91.41% <85.71%> (ø)

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 db0d527...71af82b. Read the comment docs.


Convert JSON format into a table of course Id, title, instructor

User Story
As a user I can see the course titles, Id's and instructors when searching so that I know the basic information of each course in a better format than JSON.
Acceptance Criteria

[x] Every course title, Id, and the instructor is displayed in table format.
[x] Courses that don't have a specified instructor still show up correctly.

Implementation Todos
Front end:

[x] Extract the necessary information from the JSON and display it in a table format.

Back end:

No changes needed

Testing:

[x] Front end tests pass and there is adequate coverage
[x] Back end tests pass and there is adequate coverage

Already done the table formatting and display information properly, need to work on the testing

Nothing to add testing case here, mvn mutation coverage 100% and npm react testing 100%.


E2 - regex functions are broken/inconsistent

Some Expression 2 regex functions seem to be broken and/or behave in a strange manner, namely explodeRE() and replaceRE().

Actual behaviour: replaceRE() doesn't work in certain cases and explodeRE() doesn't work at all
Expected behaviour: replaceRE() and explodeRE() should be always working without throwing any lua errors

explodeRE() - Seems to be completely broken and doesn't work at all, regardless of provided input/params. It always throws lua exception: entities/gmod_wire_expression2/core/string.lua:343: bad argument #1 to 'gsub' (string expected, got nil)
replaceRE() - Throws lua warning and doesn't perform requested operation, in certain combinations of input and 1. parameter. In these cases, it outputs entities/gmod_wire_expression2/core/string.lua:356: Regex is too complex! 2 ext search length too long (500 max) or entities/gmod_wire_expression2/core/string.lua:356: Regex is too complex! 3 ext search length too long (150 max). Strangely it seems to be always either 500 or 150. Problem example: "abcdeabcd ========= abcdeabcd abcdeabcd abcdeabcd abcdeabcd abcdeabcd abcdeabcd ====":replaceRE("[ ]*(([+%-/*]?)([=]))[ ]*","%1"). The input string length is 84 and removing just a single character from the input string or removing a single part from the pattern, makes the issue no longer occur.

None of this was ever happening before. If some some regex complexity limitation is really going to take place, than I would suggest to not use it if possible or set the limits, much, much higher than this, because this is a bit ridiculous its going to make string processing a lot more difficult and painful. If I am not mistaken, this has been happening since the latest workshop version update.
gmod branch: chromium x86/64
wiremod version: workshop
tested in: singleplayer, multiplayer (dedicated)

explodeRE seems to have an incorrect variable name. It uses pattern here which doesn't exist. I believe it should be delim instead. https://github.com/wiremod/wire/blob/master/lua/entities/gmod_wire_expression2/core/string.lua#L423
The other issues you mentioned are related to @thegrb93 's new complexity checks so I'll leave that to him to reply to.

entities/gmod_wire_expression2/core/string.lua:356: Regex is too complex! 4 ext search length too long (70 max)
Happens on my single player game and a multiplayer server, however it works on a different server. currently we ran a server bare bones and it still happens.


How to use razor / TagHelper for collections?

Hi,
I'm not sure if there's a web standard for how collections should formed and sent.
e.g.
Images[0]=http://foo.com/0&Images[1]=http://foo.com/1&Images[2]=http://foo.com/2
vs
Images=http://foo.com/0&Images=http://foo.com/1&Images=http://foo.com/2

Both work for .NET, but the latter seems (according to this Stackoverflow answer) to take the last value on PHP.
Problem is, when using the first syntax, if an item gets removed from the DOM and the request is something like:
Images[0]=http://foo.com/0&Images[2]=http://foo.com/2

ASP.NET's model binder won't bind the second item in the collection, basically it ignores all items after the gap.
OK, so just use the second syntax, right?
Yes and No.
Yes it does work, No I couldn't find a way to generate it using Razor and TagHelpers.
Using:
@for (int i = 0; i < Model.Images.Count; i++)
{
	<input type="hidden" asp-for="Images[i]" class="hidden-image" />
	Or
	@Html.HiddenFor(x=> x.Images[i])
}

Generates*:
<input type="hidden" name="Images[0]" id="Images_0_" value="0" />
<input type="hidden" name="Images[1]" id="Images_1_" value="1" />
<input type="hidden" name="Images[2]" id="Images_2_" value="2" />

Also see this StackOverflow question (of mine)

Why the geneared HTML has _ suffix in the id?
Why does sometimes the generated HTML is PascalCase(like here) and sometimes it's camelCase?

Thanks

BTW, this is how I overcome it, but it didn't utilize the TagHelpers or HtmlHelpers:
@for (int i = 0; i < Model.Images.Count; i++)
{
    <input type="hidden" name="Images"<EMAIL_ADDRESS>class="hidden-image"/>
}

There is no rule in HTML that dictates how to post a collection of elements to the server. Each server technology has its own convention to do this. In the MVC case, as you mention, I believe both approaches are supported. Images[index] and Images.
Regarding the casing, I believe you are asking the reason why some things like Images is capitalized and some other thing like value is not. The reason is because Images is the name of the property in your model and we just respect that casing. HTML is case insensitive so there is no need to do extra work to make it camel cased or any other format.
Finally, the _ happens due to the fact that MVC defines a bidirectional mapping between properties in your model and names in form inputs that are used during model binding and as part of that, simbols like '.', '[' and ']' get replaced by _.
There might be a small bug here if HTML helpers don't produce the same name (if they don't add the suffix) but as long as the mapping works for model binding both approaches are valid.

@javiercn Thanks for the extremely fast response!
So in cases where elements can be removed from the collection, I cannot use TagHelpers and HtmlHelpers?
Why not always use the Property syntax instead of the Property[index] syntax.
It works even if items are removed from the DOM.
Or alternatively, make the ModelBinder bind collections with gaps.
Thanks for your answers!
BTW, you got to love web standards... :crystal_ball:

I'll let @dougbu answer whether the modelbinder can or can not bind collection with gaps, but I would say that  if you are doing DOM manipulation on the client, it is probably a better option to have a model on the client and use AJAX to post some JSON to the server at that point. Another option is to have a specific form for removing elements from the collection (with checkboxes or something like that). The reason for this is that if the client didn't support JavaScript or had it disabled for some reason (I know its the 21st century but these things happen) the functionality on your webpage will be crippled.
The point that i'm trying to make is that while there might be room for improvement in the modelbinder (i'll let @dougbu comment on that), there are alternative designs that might be simpler and avoid you all the trouble with updating collections with modelbinding.
Hope this helps.

There are three styles the model binder supports for collections. I'll use query string in the examples, form data and route data behave the same. In all of these cases, assume we're binding an ICollection<int> to a property items.
Single-Element: /Some/Path?items=1,2,3
Sequential-Indexing: /Some/Path?items[0]=1&items[1]=2&items[2]=3
Explicit-Indexing: /Some/Path?items.index=0,1,2&items[0]=1&items[1]=2&items[2]=3
The last format (Explicit-Indexing) is supported with gaps, non-zero starting index, and really any arbitrary keys. The most significant thing is that the order of the items.index property determines the order of the items in the collection.
/Some/Path?items.index=foo,bar&items[bar]=1&items[foo]=2 would result in the collection { 2, 1 }

@javiercn in general I do follow this principal of supporting clients with javascript disabled, but in this case, it's just not possible,
The experience of uploading / edit images without js is horrific.
If your javascript is off, currently, all of our website will function as normal, except for this.
I do not want to fallback to checkboxes, it doesn't worth the effort and the experience is bad anyway.

@rynowak I wasn't aware of Explicit-Indexing.
You didn't mention the items=1&items=2 way, is there a reason you ignored it?
I'm not sure why you need so many options though...
And still, none of the ways will work when javascript is disabled or shouldn't be in use.
See this question for example where there is a list of checkboxes and the checked checkboxes aren't guarantee to be in order.
Only the items=1&items=2 way is viable here, but that seems to not be available with Razor and TagHelpers.
Manipulate the DOM with javascript to produce querystring like /Some/Path?items.index=0,1,2&items[0]=1&items[1]=2&items[2]=3 so the model binder will be able to bind the collection seems extremely wrong.

You didn't mention the items=1&items=2 way, is there a reason you ignored it?

Yeah you're right, this is actually the correct one.

@rynowak so is it possible to make the TagHelpers output that syntax?
It's a breaking though :( maybe it can be opt-in configuration at startup?

@rynowak Currently is there a way to use a TagHelper/HtmlHelper for something like in the SO question I linked?
I think there is not.

@gdoron this conversation seems to be bouncing between the name formats model binding supports and the name formats tag helpers generate. The two overlap of course but model binding is broader because it also supports clients that are not submitting a form on a generated Razor view. Is your question mainly about model binding or HTML generation?
Going back to your original questions:

Why the geneared HTML has _ suffix in the id?

That's a replacement for the closing ] in the name. MVC limits itself to id characters allowed in HTML 4.01 for backward compatibility. What issue does this cause?

Why does sometimes the generated HTML is PascalCase(like here) and sometimes it's camelCase?

Where are you seeing camel case generated HTML? MVC mainly changes case in the far different case of serializing JSON for a response. Otherwise case should match the C# classes in the model.

I don't agree HTML doesn't specify how the format should be.
If you make a  you will see that the actual format is the single item one.
To use that on tag helpers is simple as specifying the name value.
@for (int i = 0; i < Model.Images.Count; i++)
{
    <input type="hidden" asp-for="Images[i]" name="@nameof(Model.Images)" class="hidden-image" />
}

and you can use nameof to avoid magic strings.

@dougbu

MVC mainly changes case in the far different case of serializing JSON for a response. Otherwise case should match the C# classes in the model.

I see, that clarifies a lot, I got confused with JSON responses, thanks.
@Bartmax Thanks for the nameof tip, interested in knowing the reasons it's not the default too.

you can use nameof to avoid magic strings

nameof is fine for properties with the simplest of ASCII C# names at the top level of the Model. They don't work when accessing something further down.
In this particular case, the generated HTML will contain multiple <input/> elements with the same name. Probably fine here but not useful when generating fields for say Images[0].Name, Images[0].File, Images[1].Name, ...

You can use name="images" if you don't want to use nameof that wasn't the point here.
The idea is to have same name, that's what make this all works and how html works internally but you already know that. Not sure I understand what's your point.
Also, the order is preserved so you can use name="image.name" and "image.type" for collections of fields. Why that would be a problem? I'm pretty sure I have multiple stuff working that way but I need to check them out to be sure.

@rynowak

Single-Element: /Some/Path?items=1&items=2&items=3
Sequential-Indexing: /Some/Path?items[0]=1&items[1]=2&items[2]=3
Explicit-Indexing: /Some/Path?items.index=0,1,2&items[0]=1&items[1]=2&items[2]=3

Only (the awkward IMHO) Explicit-Indexing option worked for me when I needed to send a complex object over HTTP GET:
{
	Paragraphs: [{
		Title = "My Title",
		Body: "My Body"
	}]
}

Sequential-Indexing worked only for HTTP POST.
Single-Element didn't work at all.
Is this a bug?
Do you want me to open a new issue or is it by-design?

If you're doing a complex object then 'Single-Element' won't work.
I'm curious what exactly wasn't working for using 'Sequential-Indexing' - can you capture a trace of the HTTP request using your browser and let me see what the form data looks like?

@rynowak
$ is obviously here jQuery
$.param({Paragraphs:[{Text:"text",
				    Title:"title", Id:1}]})

Produces:

Paragraphs%5B0%5D%5BText%5D=text&Paragraphs%5B0%5D%5BTitle%5D=title

decodeURIComponent("Paragraphs%5B0%5D%5BText%5D=text&Paragraphs%5B0%5D%5BTitle%5D=title"):

"Paragraphs[0][Text]=text&Paragraphs[0][Title]=title"
This doesn't work on GET.
But If I change from
"Paragraphs[0][Text]=text&Paragraphs[0][Title]=title"
To
"Paragraphs[0].Text=text&Paragraphs[0].Title=title"
It does work.
Though I might be naive, but isn't there a standard? Everything has standards these days, but how to send collections and complex object don't have? That's odd.

Not that I think about it, maybe it works not because of the explicit indexing but because of using
.Property instead of [Property] (jQuery's way)
I made both of the changes because of this old blog post:
http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx/

/cc @dougbu is this something the jQuery value provider should address?

@rynowak If you asked if I'm using this value in the querystring, the answer is yes
I'm using this code:
var params = $('#addStoryForm').serialize();
var win = window.open('@Url.Action("Preview", "Story")?' + params, 'previewWindow');

LMK if I misunderstood your question.

is this something the jQuery value provider should address?

We don't have a jQuery value provider for anything but the form content. For the query string, we basically use what we're given in the request object. I suspect this difference comes from an expectation that only the simplest information will come in the query string.

ok @gdoron could you open a new issue for this. Right now this isn't expected to work, we should discuss whether to support this in the future.

Done
#5123


[Frontend] Introduce Update Admin Functionality

Description
Currently admins can't update their details from admin portal.
Expectation

[ ] Correct the Update admin UI, to show the pre-populated existing info along with an update button. Note that image should also be changable.
[ ] Once admin, fill the required info and click on update button, the updateAdmin api should get called.
[ ] Make sure to add the required form validations

please assign me this issue as GGsoc 24

How will i pass  _id ? I think it not stored nor getAdmins api send it ?

if getAdmins api send _id . it can be passed down as props.
should i change getAdmins api ---

@SwayamRana808  yeah, it seems like we will have to have id in admin details and getAdmin should fetch that id as well, then only we would be able to make the update call, can u please raise an issue for the same ?

Is this ok i changed name and email as they were not defined to be updated in updateAdminValidation schema

@SwayamRana808  yes, the ui looks fine, i hope i will see the pre-populated data once i click on edit icon

I have added edit-icon on the profile image but it doesn't do anything. should i keep it ?

The edit icon is redundant on image, u can remove it but admin should be able to change their profile image(in edit mode)

there is no image schema path defined in Admin schema to store image path (:uploads/Admin)
and no multer defined in Admin index.js to parse multiform/form data as i am using formData to send fields to update which can be used to  update image ?
Should i add that ?

yes @SwayamRana808  please add it and refer teamMember api, which is using multer to store the images

have updated the level to level 3  of the issue as this is an extra work that i didn't forsee

I have made the changes you requested. Please review them.


Investigate nightly rust being available intermittently

We have our format action run on nightly rust however there have been a couple occurrences of the action's runner not being about to find the nightly version of rust - we should investigate if this is something we have done wrong or if this is an edge case in using rust nightly.
As such we should also evaluate the suitability of using nightly rust for formatting and if we loose any features by not doing it.

Looks like this issue was with a specific day's nightly