Create 400 similar measure automaticaly

Hi All
I need to create 400 dax measure (for 400 of my customers) that looks all the same :
Price Customer1 = calculate(price,[Customer]="Customer1")
Price Customer2 = calculate(price,[Customer]="Customer2")
....
Is there any easy way that tabular editor can help doing that ?
I would avoid creating this 400 measures manually.
Many thanks for your help

This sounds like a job for ... superhero theme music playing ... Advanced Scripting!
Assuming you want to create one such measure for each distinct value in the 'Customers'[CustomerID] column, the script should look like this:
using System.Data;

// -------------------------

// The table on which new measures are created:
var measureTable = Model.Tables["Customer"];

// Name of new measures to be created, {0} will be replaced by the values read from the table:
var measureName = "Price {0}";

// A DAX expression that returns a one-column table of values which will be used when creating the measures:
var queryDax = "VALUES(Customers[CustomerID])";

// The DAX expression to assign to each measure, {0} will be replaced by the values read from the table:
var measureDax = "CALCULATE([Price], 'Customers'[CustomerID] = \"{0}\")";

// --------------------------

var queryData = EvaluateDax(queryDax) as DataTable;
foreach(DataRow row in queryData.Rows)
{
    var measureValue = row[0].ToString();
    measureTable.AddMeasure(string.Format(measureName, measureValue), string.Format(measureDax, measureValue));
}

Thank you so much, it works and save us a lot of time !
I am now using this 400 DAX measure inside a bar chart (I know it sound surprising to use so many measure, but that was the only solution that me and my team found that match our need).
Our issue now, is that the color of this 400 measure on the bar chart is set randomly, while we would like to define the color of each measure according to a specific color coding. We would like to avoid to do that manually, so we are looking for a solution to do it automaticaly.
From my understanding, tabular editor is not (yet ;) ) able to do that, am i correct ?

Unfortunately, Tabular Editor can only be used to edit the data model - it knows nothing about visuals, charts, etc.

Thank you  so much @otykier  !


Disallow ill-staged references to local classes

Fixes #19856

Sorry for the late review

It was just under a week. Does not seem late to me :)


Fix issue in createFile() error message

Purpose

$subject

Fixes #17795
Check List

[x] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

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

@@           Coverage Diff           @@
##           master   #17875   +/-   ##
=======================================
  Coverage    20.1%    20.1%
=======================================
  Files          51       51
  Lines        1328     1328
  Branches      209      209
=======================================
  Hits          267      267
  Misses       1047     1047
  Partials       14       14

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 14bce35...b92821a. Read the comment docs.


feat(lint): add support for GitHub Actions output format

What/Why/How?
Add a new output format for the lint subcommand that can be used in a GitHub Actions workflow directly.
Reference
Testing
Screenshots (optional)
Check yourself

[x] Code changed? - Tested with redoc/reference-docs/workflows (internal)
[x] All new/updated code is covered with tests
[x] New package installed? - Tested in different environments (browser/node)

Security

[ ] Security impact of change has been considered
[ ] Code follows company security practices and guidelines

@rjelierse I wonder why you've changed the package-lock file. Is that intentional?

@rjelierse I wonder why you've changed the package-lock file. Is that intentional?

It's a leftover from testing with local version of @redocly/openapi-core, I will undo the change to package-lock.json


Thick disc fits

Fit thick disc models, produce contour plots, and produce illustrative disc images.
Figures:

Cross section of disc
Disc images showing self-eclipsing at higher inclinations
Ratio plot showing good fit
Contour plot showing, e.g., degeneracies between $h$ and $\eta$

I think this can be marked as "done"!


Expanded Routing - Mouting🔥

Simple syntax:

mount MyMount:
  "/path/<param>[modelname:SmthModel]":
    ...

Usage in SSG:
serve(...):
  mount "/mount" -> MyMount

Usage in SPA:
appRoutes(...):
  mount "/mount" -> MyMount

Inheritable mounts available also:
mount A:
  "/":
    "Hello, world!"

mount B:
  mount "/a" -> A

serve(....):  # or appRoutes(...)


Update configure consent settings to remove specific dates

Updated configure consent settings to reflect new completion and deprecation date for old settings. Dates are intentionally left vague to replace old invalid dates. Will update once we have solidified dates available.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/graph-api/rsc/grant-resource-specific-consent.md
91
31
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Closed PR as it's out of date, opening new PR instead


Add quotes around source url

While testing updated plugin, counter's script gave syntax error.

I've checked transpiled code and noticed, there is no quotes around url. I updated source code and tested that it transpiles correctly.
Here how it is in master:

Here how it should be after this pr is merged.

Thanks, published 2.3.0

Thank you, my previous pr worked well in gatsby's own gatsby-ssr and gatsby-browser files. But error appeared with transpiled code.


Added the code of COMBINE1D

Here I add the code and the supplementary material for my thesis (all in combine1d) and I included a small example for combine1d in the first_steps notebook.
@phigre I renamed your work into combine2d and changed all imports to this new name, I hope this is ok for you.
I also added a link to your master thesis to the README. If you have further comments please let me know!

Thanks a lot for your work on the continuation of my thesis @pat-schmitt .
Of course, you are free to manage the repository, as I merely have any time besides my work and it became orphaned over time. Nevertheless, I will try to have a look into your code on next weekend, for sure interesting.


Unable to disable indentation formatting

It seems indentation is a common issue among users of CodeNarc, which I am aware this tool uses under the hood.
Our team has elected to disable the indentation rules entirely sine they are currently producing some odd results. However, when setting enabled: false for this rule, indentation is still modified on a call using --fix or --format.
For example, consider the following .groovylintrc.json file:
{
  "extends": "recommended",
  "rules": {
    "Indentation": {
      "enabled": false
    }
  }
}

and the following Groovy snippet:
int example(int arg) {
  if (arg == 1
      || arg == 2
      || arg == 3) {
      print(arg)
  } else {
        print(-1)
  }
}

When running the linter with npm-groovy-lint example.groovy --fix (or --format), the closing brace under else is still reformatted even though indentation should be disabled:
if (arg == 1
    || arg == 2
    || arg == 3) {
    print(arg)
} else {
      print(-1)
    }

I have tried formatting.Indentation in the config file, though that also does not change anything.
How can I disable indentation linting  and formatting using this tool?
Thank you!

GroovyLint: Successfully processed CodeNarc:
CodeNarc version 3.3.0
npm-groovy-lint version 14.6.0

Embeds:
CodeNarc version 3.3.0
- Groovy version 3.0.9 (superlite)

@logicbomb421 please can you run DEBUG=npm-groovy-lint npm-groovy-lint ... and share the log ?
It will tell use which rule has played with Indentation (there are other rules that can impact it)


Accelerate Euclidean distance by numba

Before you submit this PR: make sure to put all operations-related information in a wiki-note, a PR should be about code and is publicly accessible
What does the code in this PR do / what does it improve?
Nothing is changed numerically.
Can you briefly describe how it works?
Can you give a minimal working example (or illustrate with a figure)?
import os
from memory_profiler import memory_usage
import numpy as np
import numba
import matplotlib.pyplot as plt
import strax
import cutax

home = os.path.expanduser('~')
st = cutax.xenonnt_offline(xedocs_version='global_v16')
st.storage = [strax.DataDirectory(os.path.join(home, '050775/input'), readonly=True)]

run_id = '050775'
PeakletClassificationSOM0 = st.get_single_plugin(run_id, 'peaklet_classification')
peaklets = st.get_array(run_id, 'peaklets', chunk_number={'peaklets': 0}, progress_bar=False)

def compute():
    PeakletClassificationSOM0.compute(peaklets)

mem = memory_usage(proc=compute, interval=0.1, timestamps=True)
mem = np.array(mem)

fig, ax = plt.subplots(1, 1, figsize=(4, 3))
ax.plot(mem[:, 1] - mem[0, 1], mem[:, 0] / 1e3, color='black', lw=0.5)
ax.set_xlabel('Time [s]')
ax.set_ylabel('Memory usage [GB]')

fig.savefig('peaklet_classification.svg', transparent=True, dpi=800)
plt.close(fig)

The improvement is visible:

Please include the following if applicable:

[ ] Update the docstring(s)
[ ] Update the documentation
[ ] Tests to check the (new) code is working as desired.
[ ] Does it solve one of the open issues on github?

Notes on testing

Until the automated tests pass, please mark the PR as a draft.
On the XENONnT fork we test with database access, on private forks there is no database access for security considerations.

All italic comments can be removed from this template.

This looks really promising! Do you know what the speed impact would be here? Is this implementation faster than cdist?

coverage: 89.43% (-0.03%) from 89.463%
when pulling 8d1ff642f008a6da86a37ef621221756f43231fb on numba_euclidean_dist
into 9813b300086eb1eb27c90688370a88b2bb86a968 on master.

Looks good to me, let me just do some quick tests to make sure we get the same numbers for both methods

I have a quick question since I don't seem to be able to get the function to run locally since numba seems to reject using the assert function, did you not run into this error? The error goes away when using @numba.jit(nopython=True, cache=True) instead

I have a quick question since I don't seem to be able to get the function to run locally since numba seems to reject using the assert function, did you not run into this error? The error goes away when using @numba.jit(nopython=True, cache=True) instead

My gut feeling is that the discrepancy is from different numba versions. But anyway, I moved the asssert out.

Ok then other than that I think everything looks good!


Preparation for Version 1.0 Release

Fixes #18
Fixes #2
Fixes #19

This will make for the initial full release of this, to be followed with a blog post

Created #22 to track the introduced duplication for future revision


Remove bootstrap.js and other unnecessary dependencies

Purpose
Remove unnecessary dependencies
Summary of Changes

Remove duplicate font-awesome, osf-style, bootstrap css
Remove bootstrap js (from ember-cli-bootstrap-sassy)

Change anything that depended on it to use ember-bootstrap
Override ember-bootstrap's bs-alert component to use our preferred ✖

Change ajax-helpers/authenticatedAjax to return RSVP.Promise instead of a jQuery deferred, so it doesn't require special casing elsewhere.

Side Effects / Testing Notes
Things that were touched that should still work just fine:

navbar dropdowns
navbar collapse on small screens
alerts under the navbar (maintenance banner, status banners)
institution carousel on the dashboard
tooltips on "new and noteworthy" and "popular" project descriptions

Ticket
N/A
Reviewer Checklist

[ ] meets requirements
[ ] easy to understand
[ ] DRY
[ ] testable and includes test(s)
[ ] changes described in CHANGELOG.md

Coverage decreased (-1.0%) to 29.038% when pulling 8f8de42eda75001eef425ceaf5df7f3dc1c91641 on aaxelb:bonus-bootstrap into e9c8de2a51d22b86a262355bdb142204e38804b5 on CenterForOpenScience:develop.


Get rid of the huge forehead for mac version

What feature or new tool do you think should be added to DevToys?
Get rid of this:

Why do you think this is needed?
It's not the prettiest UI, let's put it that way.
Solution/Idea
No response
Comments
No response

Bump!


Truncate error probably with array index

When I try to truncate collection in javascript it gives error, also truncate in web admin gives "Collection error". There are two array indexes, ipList[*].ip and ipList[*].net both non-unique hash. When I delete them, then collection can be truncated without error. This happened after moving from 3.1RC (worked without any problems) to official latest release.

By truncating in JS, do you mean in Arangosh, Foxx or via arangojs?

arangojs, same problem in web admin, so I guess it doesn't matter from where truncate is called.

@roman1720: yes, the web admin does not use arangojs, so it's probably a server-side problem.

So far I haven't been able to reproduce the issue.
This may be due to the type of documents that I used. I tried several document structures, but to no avail.
Could you provide a few example documents from the collection in question?
Additionally, what is the error message when trying to truncate the collection with the ArangoShell? It may provide a more specific error message than just "collection error".
Thanks!

Here is error:
https://www.dropbox.com/s/y8a6w0q4cuu80f0/truncate_tmp.tgz

Fails with:
arangod> db.vIntL3.truncate()
JavaScript exception in file<EMAIL_ADDRESS>at 132,15: ArangoError 4: internal error
!  return this.TRUNCATE();
!              ^
stacktrace: ArangoError: internal error
    at Error (native)
    at ArangoCollection.truncate (/home/steemann/Arango31NoAsan/js/server/modules/@arangodb/arango-collection.js:132:15)
    at <shell command>:1:11

This bug has just been fixed and 3.1.2 is on the way :tada: should be out tomorrow or so

thanks, great support as always :)


Add short cut for subsetting along the minor axis

This address #8452
I added a shortcut for sorted idx for the subsetting or when the X.indices are not sorted to begin with.

Benchmarks on an RTX 3090:
X.shape = (200,000, 27,998)
X_new.shape = (200,000, 19,214)
Old implementation = 500 ms
New implementation = 120 ms
Additionally, the shortcut is significantly more memory efficient. With 400,000 rows, the old implementation results in a memory error, while the new version completes without an issue.


jarek/7946: remove duplication of index column

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

the issue fixed https://github.com/twosigma/beakerx/pull/7987


Update the widget-cors url

Following some recent Security Issue, we decide to change the url of the widget cors proxy.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


change codegen documents to use client instead of examples

Issue #41

@trmiller @lumjjb
apologies, do not merge. I overlooked the files in ../guac/pkg/assembler/graphql/generated/ - they're all go files  unlike the examples. I think for it to compile we need graphql type definitions

Oh, mu bad, I clicked merge by mistake :(


v1.0.2 not published?

Looks like it's in the package.json and commits but can't seem to install it

Thanks for bringing it up. I remember I had some trouble getting a package to publish recently but I forgot which one. I’ll look into it again tomorrow, if you don’t hear back soon feel free to ping again. In the meantime see if 1.0 works for you?

1.0 works great :) just thought it was a little confusing and maybe it was intended to be released. Thanks for the response!


accept a string value as for the port

The use case for this is that in my deployment, the mysql port variable gets set from an AWS key/value store (SSM), and they are always strings.

As mentioned in https://github.com/elixir-ecto/myxql/issues/85#issuecomment-553799353 we believe it’s better to typecast at the moment you are reading the value from your external system. Thank you for the PR though!

Ah I did not see this previous PR. I am also upgrading from mariaex, and this just worked previously so I was hoping to keep this behavior.


Add TLS (HTTPS) section to gke.md

What this PR does / why we need it:
Update gke.md in order to add the instruction of how to setup TLS (HTTPS) on GKE by using Let's Encrypt.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Nothing.
Special notes for your reviewer:
Nothing.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #148   +/-   ##
=======================================
  Coverage   26.37%   26.37%
=======================================
  Files          46       46
  Lines        3591     3591
=======================================
  Hits          947      947
  Misses       2530     2530
  Partials      114      114

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 fd6b43c...b3a00eb. Read the comment docs.

Although it's arguably covered in the gke-letsencrypt steps, I'd recommend noting that the Ingress creation at the end is effectively step 4 of their instructions, and that steps 5 & 6 should be completed afterward.

@rainest I added the timing of the Ingress creation

ping @rainest

@tamanyan Merged manually. Thank you for the contribution!


Running Intel Binaries in Linux VMs with Rosetta

Is it possible to integrate this into UTM? https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta

Yes there will likely be a new option toggle.

Is there an estimate to when this feature will be integrated, or the priority it has?

@merchantzain It isn't too difficult to implement as the work is already done by Apple. However, right now priority is given to v3.3 release (https://github.com/utmapp/UTM/milestone/26) which already has features planned out. macOS 13 is still in very early beta and 99% of people are not running it so I see no need to prioritize the feature at this point.

I'm looking to have a crack at this. In newer macOS you don't need to provide the kernel/initrd either, works with just an ISO! Will submit a PR.

@bpg0x03 could you point out the documentation where it says you don't need kernel/initrd for newer macOS?

@bpg0x03 could you point out the documentation where it says you don't need kernel/initrd for newer macOS?

https://developer.apple.com/documentation/virtualization/running_gui_linux_in_a_virtual_machine_on_a_mac

This is an interesting idea if you bring in the possibility of installing SteamOS3..

Currently I am emulating x86_64 version of RaspberryMatic (from .ova import) on my M1 Mac Mini since RaspberryMatic aarch64 still requires 32bit binaries. So I can only emulate it currently.
Would this change allow me to run the x86_64 docker version of RaspberryMatic inside a an arm64 Linux VM with better performance because of Rosetta 2?


Add detailed stamping to avoid collisions

Notifications received in rapid succession occasionally collide and are dropped from being created due to more than one notification being received in the same second. Adding milliseconds prevents these collisions.

Was getting this error log:

Error message: com.demandware.beehive.core.capi.domain.meta.MetaDataException: Couldn't create custom object instance of type 'adyenNotification' key '00006018-20190709095846. Key is not unique.

Hi @jkol ,
Thanks for the fix!
I will merge the PR now.


Proxy support

Has node-github been fully tested behind a proxy? I'm questioning whether it really has proxy support.
When I call it like this:
var githubAPI = require('github');

var github = new githubAPI({
  version: '3.0.0',
  proxy: {
    host: 'http://proxy.myhost.com',
    port: '8080'
  },
  debug: true
});

github.authenticate({
  type: 'basic',
  username: 'githubUsername',
  password: 'githubPasswordToken'
});
github.repos.listReleases({
  user: 'components',
  repo: 'jquery'
}, function(err, res) {
  if (err) {
    console.log(err);
    return;
  }
  console.log('it worked');
});

I'm getting this output:
REQUEST:  { host: 'http://proxy.myhost.com',
  port: '8080',
  path: '/repos/components/jquery/releases',
  method: 'get',
  headers:
   { host: 'http://proxy.myhost.com',
     'user-agent': 'NodeJS HTTP Client',
     'content-length': '0',
     accept: 'application/vnd.github.manifold-preview',
     authorization: 'Basic myAuthToken' } }
problem with request: getaddrinfo ENOTFOUND
[error] getaddrinfo ENOTFOUND null components
{ [Error: getaddrinfo ENOTFOUND]
  defaultMessage: 'Internal Server Error',
  message: 'getaddrinfo ENOTFOUND',
  code: '500' }

If I remove the proxy config, I get this:
REQUEST:  { host: 'api.github.com',
  port: 443,
  path: '/repos/components/jquery/releases',
  method: 'get',
  headers:
   { host: 'api.github.com',
     'user-agent': 'NodeJS HTTP Client',
     'content-length': '0',
     accept: 'application/vnd.github.manifold-preview',
     authorization: 'Basic myAuthToken' } }
problem with request: connect ECONNREFUSED
[error] connect ECONNREFUSED null components
{ [Error: connect ECONNREFUSED]
  defaultMessage: 'Internal Server Error',
  message: 'connect ECONNREFUSED',
  code: '500' }

Am I doing something wrong? I have other node.js code that works as expected (in the same shell session) that utilizes the mikeal/request package. The request package has proxy support built in -- simply add a proxy option to the request object and it just works. There are so many edge cases when dealing with proxies that perhaps node-github should depend on something already proven.

Should be fixed now


how to do with the expandable_button

my expandable_button is a image arrow, when i click it , i want to change the it and set another arrow.
like:  <   to   >,
or : ^   to  >   , etc
how can i  do ?

My solution like  this.
Defined  a view extends ImageView called ToggleExpandableMenuButton,There is an interface in it.
public interface ToggleListener {
void toggle();
}
Override the method performClick(){
if (listener != null) {
listener.toggle();
}
}
And set a ToggleListener on your ToggleExpandableMenuBotton in your adapter.
If I don't talk it clear ,download the attachment and change the suffix to '.java' or leave ur email here.


RFP - WLAN Optimizer

WLAN Optimizer

It's a small freeware tool for Windows (Vista / Windows 7 / Windows 8 / Windows 10) disabling the periodical background scan activity for wireless networks. It improves latency time of wireless connections. Hence it is useful for people with wireless connections getting lag spikes (especially during online gaming, audio and video streaming).

About: http://www.martin-majowski.de/index.html
Download: http://www.martin-majowski.de/downloads.html

Status: Review
https://chocolatey.org/packages/wlan-optimizer

Status: Published

https://chocolatey.org/packages/wlan-optimizer

Can be closed.


Add features to the API

Currently, all the API can do is to search an exact name/alias in the database and return its meaning and translations.
We need more features, such as:

Search (/search/:term) - Should return a list of matches by a partial term (Search in both aliases/names)
Get translation (/:name/:language) - Should return the translation of :name in :language

Anything else you can think of :)
You can easily run the API just by cloning the repo and run npm install && npm start, then you should be able to browse to http://localhost:3000 and see the API is running.
Your clone will connect to the actual production database, however the user supplied there is only able to select, and is limited by its number of queries per hour.
If you need help or have any ideas, feel free to comment here.

Hello bluzi, I'd like to give this a shot! Would you like /:name/:language to be an ISO 639-3 code or the full name of the language? (ex. "spanish" vs "spa")

Hey @CodeWritingCoe, great question :) I'm thinking: Why not both? if the input is 3 letters long, assume it's an ISO code. Otherwise, assume it's a full name of a language

Added search endpoint in #228 :)

I created a proof of concept for the get translation endpoint, then realized someone had already started this in #217. Probably better them than me, I have no idea how Promises work so it was really hacked together. Just putting this here so people know that it's been started and don't spend time working on a duplicate feature.


Refactors form mapping into smaller functions for clarity

In preparation for adding support for nested slices of structs #41 I thought I'd refactor the form mapping code that was mostly a single function. Now it's clearly split into smaller functions that take care of the various different cases we care about.
This isn't adding anything just rearranging code for clarity. Enjoy!

This is related to issue #41

Awesome, I can't wait to take a look! I'm super-busy right now, but be assured I will get around to it.


Add PushSecret UpdatePolicy (to replace PR #3100)

Problem Statement
Implementation of PushSecret Update Policy.
This is a draft version, currently only implemented for the Vault provider.
I'll add documentation after feedback.
-- Disclaimer: I opened this PR as a replacement for #3100 because of merge conflicts I couldn't resolve easily --
Related Issue
https://github.com/external-secrets/external-secrets/issues/2643
Proposed Changes
I mostly stuck to the design doc with the exception of the PushSecret Status.
My proposal for the Status is the following:

Set Status to SecretSynced if one or more existing values in provider were NOT overwritten, as this is intended behavior.
Indicate that there are unchanged existing secrets in the provider through event message.

Checklist

[ ] I have read the contribution guidelines
[ ] All commits are signed with git commit --signoff
[ ] My changes have reasonable test coverage
[ ] All tests pass with make test
[ ] I ensured my PR is ready for review with make reviewable

Generally, I think this is a good approach. I can't help but wonder though if we could pull these two maps together. 🤔
But meh, it's fine, I guess. :)

@maresac Can I ask you if you could take care of the sonar issues in pushsecret please? Since you added the new things, they show up as new violations.
Just the push secret one. And there is like one in the push secret controller file ( complexity ) and one reused value in the test. The rest, leave those. :)
Thanks, after that I think this is good to merge. :)

Hey @Skarlso, good point. I'll take care of those!
I also thought a little more about pulling the maps together. Initially I didn't do that because I wanted to be as minimally invasive as possible, but I get your point. It could make the status look more concise. I'll work on something.

Hey @maresac.
Do you need any help? :)

Hey @Skarlso! I just rebased and added missing methods to the new providers, now the pipeline jobs should go through. Sorry, I didn't look closely enough that that was an issue :D

/ok-to-test sha=1da7f79

I'm sorry for asking this, but since you touched the files would you mind just taking care of the 8 sonar issues? So just create a constans for the string "not implemented" and that's it. :D 🙇 🙇
Then we can get this baby on the road. :D

Don't be sorry @Skarlso, you're right about this :D

Thank you for your work on this @maresac! :)

Thanks for bearing with me ;)


Search Engine Plugin

If non-url input is received as url, this plugin makes a request via provided engine configs with that non-url input.
getUserSearchEnginePreference method accually needs a saved-config place. But I dont know where to put. Is config.php good place?

doesn't look like something that would belong as a CORE plugin for php-proxy... might be worth stuffing into and publishing as a separate package somewhere


fix(installer): Skip LD_PRELOAD check if echo not in path

What does this PR do?
When echo  is not in path, skip the LD_PRELOAD test to avoid blocking the installation.
Motivation
Describe how you validated your changes
Tested manually on a VM by removing echo from path
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Add buttons for selection and survey

Add a wide button for role, gender and age selection. Make it like the clickable icons surrounding the body image, or make it a white button with black text and grey border.
Add a button for take the survey!, and remember to put the exclamation mark at the end.

solved in #97


@split and @subdivide not computing output files correctly

Reported by<EMAIL_ADDRESS>Jan 23 2014
Any time the output files need to be determined at run time (such as with @split and @subdivide), when a job starts, the files currently present that match the output's regular expression are assumed to be the job's final output. This causes the job's output files to not be checkpointed correctly after the job completes.
I have attached a minimal example to show the kinds of errors this causes.
The first run creates the following files: start, cluster_0
Nothing matched "cluster_*" before the job ran, so "cluster_0" was never checkpointed after the job completed.
 Now "cluster_*" matches "cluster_0", so that file gets checkpointed, but the new "cluster_1" file does not.
So this pipeline is never up-to-date. When you re-run the pipeline for the N+1st time, it fails to checkpoint "cluster_N".
    #!/usr/bin/python
    import os
    import sys

    sys.path.insert(0, "/home/lg/src/oss/ruffus")

    from ruffus import pipeline_run
    from ruffus import formatter
    from ruffus import originate
    from ruffus import split

    import ruffus.cmdline as cmdline
    parser = cmdline.get_argparse(description='WHAT DOES THIS PIPELINE DO?')
    options = parser.parse_args()
    logger, logger_mutex = cmdline.setup_logging (__name__, options.log_file, options.verbose)

    @originate('start')
    def make_start(outfile):
        open(outfile, 'a').close()

    @split(make_start, 'cluster_*')
    def cluster(infile, outfiles, *args):
        infile = infile[0]
        n_to_produce = len(outfiles) + 1
        for f in outfiles:
            os.unlink(f)
        for i in range(n_to_produce):
            f = 'cluster_{}'.format(i)
            open(f, 'a').close()

    #pipeline_run(verbose=10)
    cmdline.run (options)

<EMAIL_ADDRESS>wrote:
I have written a first draft of a possible solution.
Basically, if a task produces indeterminate output, it waits to do checksumming until all its jobs are complete, then uses file_names_from_tasks_globs() to re-find all the output files.
However, this fails when the search string contains named formatter() or regexp groups like "{basename[0]}".
Also, it would be better if this could be done on job basis, instead of waiting until the whole task is complete.

#2<EMAIL_ADDRESS>Also, here is the test pipeline I've been using while trying to fix this bug. It contains @originate, @split, and @subdivide.
It could easily be expanded to a full test case, where after the pipeline gets run the test fails if the checksum file is incomplete, or any task is not up-to-date.
    import os

    from ruffus import pipeline_run
    from ruffus import suffix
    from ruffus import originate
    from ruffus import split
    from ruffus import transform
    from ruffus import subdivide
    from ruffus import formatter
    from ruffus import collate

    import ruffus.cmdline as cmdline
    parser = cmdline.get_argparse(description='WHAT DOES THIS PIPELINE DO?')
    options = parser.parse_args()
    logger, logger_mutex = cmdline.setup_logging (__name__, options.log_file, options.verbose)

    @originate('start_indeterminate_*')
    def make_origin_a(outfiles):
        for f in outfiles:
            os.unlink(f)
        for i in 'abc':
            outfile = 'start_indeterminate_{}'.format(i)
            open(outfile, 'a').close()

    @originate('start')
    def make_start(outfile):
        open(outfile, 'a').close()

    @split(make_start, 'cluster_*.raw')
    def cluster(infiles, outfiles):
        infile = infiles[0]
        n_to_produce = len(outfiles) + 1
        for f in outfiles:
            os.unlink(f)
        for i in range(n_to_produce):
            f = 'cluster_{}.raw'.format(i)
            open(f, 'a').close()

    @subdivide(cluster, formatter(), '{basename[0]}_*.reclustered')
    def cluster_clusters(infile, outfiles):
        for f in outfiles:
            os.unlink(f)
        for i in range(3):
            f = infile[:-len('.raw')]
            f = '{}_{}.reclustered'.format(f, i)
            open(f, 'a').close()

    #pipeline_run(verbose=1)
    cmdline.run (options)

The code has been patched in the repository. I am keeping the globs in the output file around and re-expanding this as checksuming time inside pipeline_run(). As you wanted, this happens per job.
There was actually a comment in the code and change file for v.2.5 indicating that "BUG FIX: Output producing wild cards was not saved in the checksum files!!!"
The bug fix didn't work and there was no unit test ...
Very embarrassing.

passed unit test
test/test_split_subdivide_checkpointing.py


The code related to objects was simplified

@microsoft-github-policy-service agree

@microsoft-github-policy-service agree


minor: update flashinfer nightly

Motivation

Modifications

Checklist

[ ] Format your code according to the Contributor Guide.
[ ] Add unit tests as outlined in the Contributor Guide.
[ ] Update documentation as needed, including docstrings or example tutorials.

https://github.com/flashinfer-ai/flashinfer/tree/zhyncs/main
https://github.com/flashinfer-ai/flashinfer-nightly/releases/tag/0.1.6%2B51236c9
2024-12-16 14:55:59,006 - INFO - flashinfer.jit: Loading JIT ops: batch_decode_with_kv_cache_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_128_posenc_0_use_swa_False_use_logits_cap_False
/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py:1964: UserWarning: TORCH_CUDA_ARCH_LIST is not set, all archs for visible cards are included for compilation.
If this is not desired, please set os.environ['TORCH_CUDA_ARCH_LIST'].
  warnings.warn(
[rank0]: Traceback (most recent call last):
[rank0]:   File "/actions-runner/_work/sglang/sglang/python/sglang/srt/model_executor/cuda_graph_runner.py", line 207, in __init__
[rank0]:     self.capture()
[rank0]:   File "/actions-runner/_work/sglang/sglang/python/sglang/srt/model_executor/cuda_graph_runner.py", line [26](https://github.com/sgl-project/sglang/actions/runs/12355218604/job/34478328251#step:4:27)8, in capture
[rank0]:     ) = self.capture_one_batch_size(bs, forward)
[rank0]:   File "/actions-runner/_work/sglang/sglang/python/sglang/srt/model_executor/cuda_graph_runner.py", line 297, in capture_one_batch_size
[rank0]:     self.model_runner.attn_backend.init_forward_metadata_capture_cuda_graph(
[rank0]:   File "/actions-runner/_work/sglang/sglang/python/sglang/srt/layers/attention/flashinfer_backend.py", line 194, in init_forward_metadata_capture_cuda_graph
[rank0]:     self.indices_updater_decode.update(
[rank0]:   File "/actions-runner/_work/sglang/sglang/python/sglang/srt/layers/attention/flashinfer_backend.py", line 378, in update_single_wrapper
[rank0]:     self.call_begin_forward(
[rank0]:   File "/actions-runner/_work/sglang/sglang/python/sglang/srt/layers/attention/flashinfer_backend.py", line 478, in call_begin_forward
[rank0]:     wrapper.begin_forward(
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/flashinfer/decode.py", line 788, in plan
[rank0]:     self._cached_module = get_batch_decode_module(
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/flashinfer/decode.py", line 148, in get_batch_decode_module
[rank0]:     mod = gen_batch_decode_module(*args)
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/flashinfer/jit/attention.py", line 173, in gen_batch_decode_module
[rank0]:     return load_cuda_ops(uri, source_paths)
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/flashinfer/jit/core.py", line 110, in load_cuda_ops
[rank0]:     module = torch_cpp_ext.load(
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 1[31](https://github.com/sgl-project/sglang/actions/runs/12355218604/job/34478328251#step:4:32)4, in load
[rank0]:     return _jit_compile(
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 1721, in _jit_compile
[rank0]:     _write_ninja_file_and_build_library(
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 1803, in _write_ninja_file_and_build_library
[rank0]:     verify_ninja_availability()
[rank0]:   File "/usr/local/lib/python3.10/dist-packages/torch/utils/cpp_extension.py", line 1852, in verify_ninja_availability
[rank0]:     raise RuntimeError("Ninja is required to load C++ extensions")
[rank0]: RuntimeError: Ninja is required to load C++ extensions

[rank0]: During handling of the above exception, another exception occurred:

[rank0]: Traceback (most recent call last):
[rank0]:   File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
[rank0]:     return _run_code(code, main_globals, None,
[rank0]:   File "/usr/lib/python3.10/runpy.py", line 86, in _run_code


Issue #308: Instructions updated to point users to the release tag

Fixes #308
Signed-off-by: avinashvishwanath<EMAIL_ADDRESS>

@avinashvishwanath this PR appears to duplicate work from #301 and #304. Can you please pull dellhpc:release into your branch? Since there are duplicated changes, you might need to stash the changes from this PR.

Facing issues copying the branch and updating this PR. Will close this PR and create a new one.


Create a API to send message

Feature Request: Enhanced Authentication Flow with API
Objective:
Implement a secure and user-friendly authentication flow via API that enables users to verify their phone numbers.
Flow:

User Initiation:

User triggers the API to send a verification message to their specified phone number.

API Request:

The API receives the user request, which includes an authentication token for security.

Message Dispatch:

Upon receiving the API request, the Orange Pi system dispatches a verification message to the provided phone number.

API Response:

Simultaneously, the API returns a unique Auth-Key (e.g., 654-234) to the user.

User Verification:

The user, upon receiving the Auth-Key, inputs it into their system for verification.

Verification Process:

The user's system compares the Auth-Key received with the one generated by the API.

Authentication Status:

If the Auth-Key matches the original authentication token, the user's system confirms authentication (OK).
If there is a mismatch, the system raises an issue.

Key Components:

API Security:

The API ensures security by requiring an authentication token for every request.

User Communication:

User receives a one-time Auth-Key for verification.

User System Integration:

User's system verifies the received Auth-Key to confirm authentication.

Expected Benefits:

Enhanced security with a two-step authentication process.
Improved user experience through clear communication and verification steps.

Note:
This feature adds an extra layer of security and ease of use to the authentication process. It ensures that the user's phone number is verified securely and efficiently.

In short:
We have to introduce an API-based phone number verification system for heightened security. Users trigger the API, initiating the transmission of a verification message along with a unique Auth-Key. Simultaneously, users receive the Auth-Key via the message. To complete the verification, users enter this Auth-Key into their system. Successful authentication is confirmed when the entered Auth-Key matches the one received from the API. This streamlined two-step process ensures a secure and user-friendly verification experience.


[WANTED FEATURE] progress bar for downloading

make a status bar that shows the progress of downloading products with  ariaDownload.py

@dbekaert no this isn't implemented


[BUG] Wrapping issue when using RichHandler when stdout and stderr and stdin are redirected

First of all, a big thanks for developing rich, I use it all the time 😉
I have a wrapping issue when using RichHandler, it especially appears when running within a Jenkins job, but I could build a small reproducer:
import logging
from rich.logging import RichHandler
from rich.console import Console

console = Console()
logging.basicConfig(
    level=logging.INFO,
    format="%(message)s",
    datefmt="[%X]",
    handlers=[RichHandler(console=console)],
)

logging.error("A" * 100)

My terminal width is more than 100 characters. Now, when executing this directly, I have no issues, meaning no wrapping occurs:
$ python test.py
[10:40:50] ERROR    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA         test.py:13

When redirecting the output to a file, no issue either:
$ python test.py > out
$ cat out
[10:41:40] ERROR    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA         test.py:13

If I do not redirect the output to a file, but I set stdin, still no issues:
$ echo "" | python test.py
[10:42:23] ERROR    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA         test.py:13

I am going to skip a bit over the other cases and jump to the conclusion. When redirecting stdout, stderr and stdin, and only in that case, a wrapping at 80 chars occurs:
$ echo "" | python test.py > out 2> /dev/null
$ cat out
[10:46:53] ERROR    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA test.py:13
                    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
                    AA

Perhaps this is working as intended, but I thought I would report it. The same issue occurs with Console(stderr=True). The example might look a bit contrived, but when running a script in Jenkins and looking at the console logs of a build, this is exactly what shows.

In the case you describe there is no way to auto detect the terminal width, since the process is not connected to a terminal. You can force the width by setting the COLUMNS env var.
However, the RichHandler is designed for a terminal. It's use is limited when writing to a file, and you might want to use a stream handler or similar for production / CI environments.

Your answer totally makes sense, and thanks for the COLUMNS tip! You are right, RichHandler should not be used for CI environments. I would think there is some space within rich to provide another logging handler for those use cases, but I will let you be the judge of that. Thanks!


ci: add trivy

Add trivy for security report on this project. 🔥
Ref: https://github.com/aquasecurity/trivy

Finally, if you could rename trivy.yml to trivy.yaml for consistency that would be great.

Hello👋 It's good for you ?

@TartanLeGrand Thanks for the ping. I'm a bit time poor but I'm hoping to have some time over this coming weekend 🤞

closing this PR as artifacthub.io (link) provides the same functionality. Thank you @TartanLeGrand for the suggestion.


feat: add reply-to header in email notification

In #6278, @redthorx stated:

When using a email sending service such as AWS SES to send notifications, the SMTP server might not come with an inbox. Users who have issues with their accounts might try to reply to the notification email, which will result in bounced emails.  Adding a reply-to header for notification emails so that users are able to contact the owner directly through email

This PR adds an optional reply-to address to SMTP settings:

Once this address is set we can see the header is added to notifications:

And we can respond to that address:

If we clear (set empty value) to that address we no longer can use that address.
Closes #6278
Definition of Ready

[X] I am happy with the code
[X] Short description of the feature/issue is added in the pr description
[X] PR is linked to the corresponding user story
[ ] Acceptance criteria are met
[ ] All open todos and follow ups are defined in a new ticket and justified
[ ] Deviations from the acceptance criteria and design are agreed with the PO and documented.
[X] No debug or dead code
[X] My code has no repetitions
[X] Critical parts are tested automatically
[ ] Where possible E2E tests are implemented
[ ] Documentation/examples are up-to-date
[ ] All non-functional requirements are met
[X] Functionality of the acceptance criteria is checked manually on the dev system.

thank you very much for this very complete PR
there was a small issue in a test after i updated the branch and there was a small lint error
i took the liberty to just solve them

Thanks @livio-a for your review and linting of course!


Map EntryExpiredListener

Expected behavior
Actual behavior
Steps to reproduce or test case
Redis version
Redisson version
3.11.2
Redisson configuration
Sentinel mode
Map EntryExpiredListener is disabled, which is restored after the application is restarted, but will be disabled again soon.
I found that it would work every half hour during the failure, which should be a clue.

Is there any error in logs?

Unable to reproduce


Point Cloud Example File/Folder Names Too Long

I cannot clone the repo because the names are too long when concatenated. Can these be shortened?

Here is an example
CityGML-3.0Encodings/CityGML/Examples/PointCloud/Real-world examples/CityGML_3.0_buildings_with_point_cloud_representation/Buildings_CityGML3.0_LOD2_with_PointClouds_inline/

Log with details:
Cloning into 'D:\Git\CityGML-3.0Encodings'...
remote: Enumerating objects: 1962, done.
remote: Counting objects: 100% (1066/1066), done.
remote: Compressing objects: 100% (999/999), done.
remote: Total 1962 (delta 199), reused 883 (delta 65), pack-reused 896
Receiving objects: 100% (1962/1962), 70.30 MiB | 2.06 MiB/s, done.
Resolving deltas: 100% (775/775), done.
error: unable to create file CityGML/Examples/PointCloud/Real-world examples/CityGML_3.0_buildings_with_point_cloud_representation/Buildings_CityGML3.0_LOD2_with_PointClouds_external_individual_laz_files/Buildings_CityGML3.0_LOD2_with_PointClouds_external_individual_laz_files.gz: Filename too long
error: unable to create file CityGML/Examples/PointCloud/Real-world examples/CityGML_3.0_buildings_with_point_cloud_representation/Buildings_CityGML3.0_LOD2_with_PointClouds_external_one_laz_file/Buildings_CityGML3.0_LOD2_with_PointClouds_external_one_laz_file.gz: Filename too long
Updating files: 100% (933/933), done.
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

As a workaround, you can try and use git config core.longpaths true in the cloned repo.

git config core.longpaths true solved my immediate problem, thank you.


Renamed fabs to abs

This will break the mybinder exercises, since there we use fabs (at least in the hello_world exercise). We probably shouldn't merge this until we either setup a frozen version or updated the dusk-dawn-notebook.
Resolves #57

I will update the dusk-dawn-notebook after merging this.

A Python programmer could also use math.fabs(). Are we already mapping math functions from the math.* namespace?

Good point. We're not doing that at all. I think abs is better for now, since it's basically a better superset of fabs, built-in (that was probably a python mistake), simpler and closer to Fortran (https://gcc.gnu.org/onlinedocs/gfortran/ABS.html).


Fix the tag resource LRO issue

Fixes https://github.com/Azure/azure-sdk-for-net/issues/34796
Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


Storage/File Share test improvement

Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[ ] C++ Guidelines
[ ] Doxygen docs
[ ] Unit tests
[ ] No unwanted commits/changes
[ ] Descriptive title/description

[ ] PR is single purpose
[ ] Related issue listed

[ ] Comments in source
[ ] No typos
[ ] Update changelog
[ ] Not work-in-progress
[ ] External references or docs updated
[ ] Self review of PR done
[ ] Any breaking changes?

It's really difficult to test file handles...

/azp run cpp - storage

/azp run cpp - storage

/azp run cpp - storage

/azp run cpp - storage


Cocoapod - Cannot use specific branch

Hello,
With the following in my Podfile:
pod 'AudioKit', :git => 'https://github.com/audiokit/AudioKit', :branch => 'develop'
pod install completes successfully, but Pods/AudioKit/ only contains LICENCE and README files.  No source files.  This is very annoying because if I want to test changes in my fork's develop branch (or from Audiokit's develop branch), I have to build the framework ...
I'm far from being a cocoapods expert, but I think this probably comes from Audiokit's cocoa pods setup because pulling branches works for some other frameworks I tested.

Yes, that's because our current CocoaPods setup doesn't use the source from the GitHub branch, but rather the zip file containing the compiled frameworks for that release. So in effect switching the branch won't really work since there won't be a corresponding zip file.

Yeah, we definitely haven't been treating Cocoapods as a legitimate way to do active development, more like just for those who want a relatively stable release.  I am not sure we should change it and I wouldn't know how to start.


[fix][sec] Upgrade snappy-java to address multiple CVEs

Motivation
OWASP dependency check has detected multiple CVEs in snappy-java
Modifications

Upgrade snappy-java to <IP_ADDRESS> to address multiple CVEs:

CVE-2023-34453
CVE-2023-34454
CVE-2023-34455

See https://github.com/xerial/snappy-java/releases/tag/v<IP_ADDRESS>
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

I also created PRs to Zookeeper (https://github.com/apache/zookeeper/pull/2014) and Bookkeeper (https://github.com/apache/bookkeeper/pull/3993) to upgrade snappy-java to <IP_ADDRESS> .


Update in Chocolatey request

Now via Chocolatey I can download only 2.2.1 version.
I wrote issue to maintainer hub on Chocolatey twsouthwick, but he not answers to me and you. Please, assign new maintainer, because hub not upgrade in Chocolatey many times.
Thanks.

To summarize what I saw in the linked issues, it appears that both the github-hub (v2.2.1) and hub (v2.2.5) chocolately packages have both gone stale. Attempts have been made to contact the maintainers (@twsouthwick, @dtgm), but without avail.
Chocolatey apparently has a triage process for what to do when a package is outdated. They even have a process when a software vendor wishes to take over the package maintenance.
I'm more than happy to take steps to transfer the maintenance of one of the packages to myself, unless anyone else would like it. The other option would be for the maintainers for github/hub to claim the package and take it over themselves.

Hi - just saw this. I've responded to the issue here (https://github.com/twsouthwick/github-hub-chocolatey/issues/1). As stated there, I'm no longer using the tool so I haven't been tracking chocolatey updates. I'd be happy to transfer ownership (Chocolatey as well as the GitHub project for the chocolatey wrapper) to whoever would like to take it

Now we can download latest 2.2.9 version in Chocolatey. @dougludlow , @mislav , if you all wants maintainers of package together @dtgm, it would be nice) .
Thanks.

@twsouthwick Could you transfer the ownership of the package to me and outline the process of upgrading the package version for me so I can hopefully automate it?

Sure! It'll have to be tomorrow as I'm out of town right now. I look into the process and let you know.

Thanks @twsouthwick!

@mislav Are you wanting both the chocolatey package and the GitHub repo for wrapper transferred? I can do both or either. In order to do this, I'll need:

For the GitHub repo, which org should I transfer it to?
For chocolatey, I need a username to add as a manager

For the GitHub repo, which org should I transfer it to?

You can add me as a collab on your repo for now so I can see what kind of a wrapper it is. Maybe I can pull that code into this repo so we can shut down the wrapper repo?

For chocolatey, I need a username to add as a manager

My chocolatey username is "mislav". Thanks!

Done. I've added you as a collaborator to the GitHub project and added you as a maintainer for the chocolatey package. Feel free to remove me from the chocolatey maintainer list and pull in any code you need from the GitHub project.

@twsouthwick Thanks a ton. I'll look into how all that is set up. Now, if I could only gain access to the "hub" Chocolatey package too, in addition to "github-hub"… But I understand that's beyond your jurisdiction.


Extracted FormatterInterface from yii\i18n\Formatter yiisoft/yii2#14997

Q
A

Is bugfix?
no

New feature?
no

Breaks BC?
no

Tests pass?
no

Fixed issues
#14997

Not sure it makes a lot of practical sense to extract this interface but overall it looks OK...

@cebe need you opinion.

@samdark not extracting all yii's core/components interfaces, even if they don't make any pratical sense at first will invalidate the possibility in #14997 of autowiring capabilities.. I believe.

I don't see why you need an interface to enable autowiring. If there is no other practical sense in using the interface than to enable DI, we should fix DI to work with classes directly. An interface that requires to implement > 20 methods does not make sense.


Aliases for making stubs

By default (at least without knowledge of the internals), mockery actually creates stubs rather than mocks. See #132 for further info.
As such, I think we should consider some alias methods
stub -> shouldReceive
and possibly:
toReturn -> andReturn
toReturnUsing -> andReturnUsing
Which would make the stubbing look like:

$db->stub("connect")->toReturn(true);

$db->stub("query")->toReturnUsing(function($query) {
   // ...
});

It's a bit of a BC break though, as we're introducing new methods on the mocks themselves, which (albeit unlikely) could break existing use.
If this was rolled in for 0.9 and the docs where updated accordingly, by the time we reach 1.0, we might be able to alter shouldReceive to default to once(), rather than zeroOrMoreTimes :wink:

@davedevelopment Issue closable?

Yep, I've put lots of thought in to this and think it should come in a new version or even new lib.


ASF <IP_ADDRESS> and newer @ Raspbian - stuck in connection loop

mono ASF.exe --server
2017-04-10 20:23:47|mono-sgen-1666|INFO|ASF|InitASF() ASF V<IP_ADDRESS>
2017-04-10 20:23:48|mono-sgen-1666|INFO|ASF|IsRuntimeSupported() Your Mono runtime version is OK.
2017-04-10 20:23:48|mono-sgen-1666|INFO|ASF|IsRuntimeSupported() Required version: 4.6 | Found version: 4.6.2
2017-04-10 20:23:48|mono-sgen-1666|INFO|ASF|StartServer() Starting WCF server on net.tcp://<IP_ADDRESS>:1242/ASF...
2017-04-10 20:23:48|mono-sgen-1666|INFO|ASF|StartServer() WCF server ready!
2017-04-10 20:23:49|mono-sgen-1666|INFO|001|Start() Starting...
2017-04-10 20:23:49|mono-sgen-1666|INFO|001|Connect() Connecting...
2017-04-10 20:23:49|mono-sgen-1666|INFO|ASF|CheckForUpdate() Checking for new version...
2017-04-10 20:23:51|mono-sgen-1666|INFO|ASF|CheckForUpdate() Local version: <IP_ADDRESS> | Remote version: <IP_ADDRESS>
2017-04-10 20:24:09|mono-sgen-1666|INFO|001|OnDisconnected() Disconnected from Steam!
2017-04-10 20:24:09|mono-sgen-1666|INFO|001|OnDisconnected() Reconnecting...
2017-04-10 20:24:09|mono-sgen-1666|INFO|001|Connect() Connecting...
2017-04-10 20:24:29|mono-sgen-1666|INFO|001|OnDisconnected() Disconnected from Steam!
2017-04-10 20:24:29|mono-sgen-1666|INFO|001|OnDisconnected() Reconnecting...
2017-04-10 20:24:29|mono-sgen-1666|INFO|001|Connect() Connecting...

...ad infinitum.
Nothing on my part changed. Properly set configs, everything as it currently is used to run flawlessly for the past year, just decided to test out most recent build and I'm stuck with my 30 bots doing the OnDisconnected() mambo.
<IP_ADDRESS> and below seem to work fine. Here's the log of the same bot and config.
2017-04-10 20:39:04|mono-sgen-1814|INFO|ASF|InitASF() ASF V<IP_ADDRESS>
2017-04-10 20:39:04|mono-sgen-1814|INFO|ASF|IsRuntimeSupported() Your Mono runtime version is OK.
2017-04-10 20:39:04|mono-sgen-1814|INFO|ASF|IsRuntimeSupported() Required version: 4.6 | Found version: 4.6.2
2017-04-10 20:39:04|mono-sgen-1814|INFO|ASF|StartServer() Starting WCF server on net.tcp://<IP_ADDRESS>:1242/ASF...
2017-04-10 20:39:05|mono-sgen-1814|INFO|ASF|StartServer() WCF server ready!
2017-04-10 20:39:05|mono-sgen-1814|INFO|001|Start() Starting...
2017-04-10 20:39:05|mono-sgen-1814|INFO|001|Connect() Connecting...
2017-04-10 20:39:05|mono-sgen-1814|INFO|ASF|CheckForUpdate() Checking for new version...
2017-04-10 20:39:06|mono-sgen-1814|INFO|001|OnConnected() Connected to Steam!
2017-04-10 20:39:06|mono-sgen-1814|INFO|001|OnConnected() Logging in...
2017-04-10 20:39:07|mono-sgen-1814|INFO|001|OnLoggedOn() Successfully logged on!
2017-04-10 20:39:07|mono-sgen-1814|INFO|001|Init() Logging in to ISteamUserAuth...
2017-04-10 20:39:08|mono-sgen-1814|INFO|ASF|CheckForUpdate() Local version: <IP_ADDRESS> | Remote version: <IP_ADDRESS>
2017-04-10 20:39:08|mono-sgen-1814|INFO|ASF|CheckForUpdate() New ASF version is available! Consider updating yourself!
2017-04-10 20:39:08|mono-sgen-1814|INFO|001|IsAnythingToFarm() Checking first badge page...
2017-04-10 20:39:11|mono-sgen-1814|INFO|001|Init() Success!
2017-04-10 20:39:16|mono-sgen-1814|INFO|001|StartFarming() We don't have anything to idle on this account!

Linux raspberrypi 4.4.50-v7+ #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux
Edit: Worth mentioning that the very same bots/configs work fine on Windows 10 with ASF v<IP_ADDRESS>

https://github.com/JustArchi/ArchiSteamFarm/wiki/Mono#compatibility

ASF is officially compatible (and supported) only with latest stable and nightly versions of Mono.

But good catch that Mono 4.6 no longer works, bump is even more justified in this case 👍.


Weaken dependency on required version jsonschema?

Hi
7dfa855d23eef0af71218ad116a04e1076b5f892 added a quite strong dependency to jsonschema>=4.17.0 which is the very newest jsonschema upstream release.
Packaging cvelib downstream in Debian I wonder if we can relax the version to the minimum required one? @mprpic  can this be done or is 4.17.0 the actual required one? The testsuite passes for me with 4.7.2 available.
Thanks for your work making cvelib possible!

Yea, that makes sense. I set it back to 4.7.2 in #54, let me know if that works!

@mprpic thanks! (4.7.2 seems to be sufficient, the test suite passes and some manual interaction went fine, but was not able to test all features)


MRTK OnValidate causes InputSystem to call DestroyImmediate

Describe the bug
The following error appears when switching between MRTK scenes:
Destroying components immediately is not permitted during physics trigger/contact, animation event callbacks or OnValidate. You must use Destroy instead.
Microsoft.MixedReality.Toolkit.Input.MixedRealityInputSystem:Destroy() (at Assets/MixedRealityToolkit/MixedRealityToolkit.Services/InputSystem/MixedRealityInputSystem.cs:346)
Microsoft.MixedReality.Toolkit.MixedRealityToolkit:UnregisterService(IMixedRealityInputSystem) (at Assets/MixedRealityToolkit/MixedRealityToolkit/Services/MixedRealityToolkit.cs:264)
Microsoft.MixedReality.Toolkit.MixedRealityToolkit:UnregisterService(String) (at Assets/MixedRealityToolkit/MixedRealityToolkit/Services/MixedRealityToolkit.cs:253)
Microsoft.MixedReality.Toolkit.MixedRealityToolkit:DestroyAllServices() (at Assets/MixedRealityToolkit/MixedRealityToolkit/Services/MixedRealityToolkit.cs:980)
Microsoft.MixedReality.Toolkit.MixedRealityToolkit:RegisterInstance(MixedRealityToolkit, Boolean) (at Assets/MixedRealityToolkit/MixedRealityToolkit/Services/MixedRealityToolkit.cs:708)
Microsoft.MixedReality.Toolkit.MixedRealityToolkit:OnValidate() (at Assets/MixedRealityToolkit/MixedRealityToolkit/Services/MixedRealityToolkit.cs:1428)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

To reproduce
Steps to reproduce the behavior:

Create and save a scene with MRKT and default profile
Create another scene with MRKT and profile without saving it (asterisk should be visible)
Open the saved MRTK scene
observe the console

Expected behavior
No error
Your Setup (please complete the following information)

Unity Version 2018.3.12f1
mrtk_development

Target Platform (please complete the following information)

Editor

Looking at the history of this code, this issue is not new (it has been present since before 2.0.0).


'get_null' is not defined [LaTex cannot compile]

Hi there everyone,
I've been trying to install manim on my Mac for the past day (newest version of Python), and I'm almost there. Examples 2 and 4 (the non-LaTex examples) work just fine and a video appears in QuickTime. I've been following the blog tutorial (http://bhowell4.com/manic-install-tutorial-for-mac/) religiously. However, I am receiving the following error when I run the command

python -m manim example_scenes.py -pl

and then select the first, third, or fifth option:

The function get_null() does not seem to be defined anywhere. I do not know where or how to define it, and even changing it back to the original code (replacing it with os.devnull) does not work. This is what the functions in my tex_file_writing.py file look like:

Any help would be greatly appreciated. I would love to start coding!
Best,
Max

Look at this commit and try to compare with your version of manim: https://github.com/3b1b/manim/commit/47d8caa80e482a23941cc1470b25f9cf2b270396

Tried changing all of these parameters and still nothing...


Context useless for local build

I have a Kubefile:
FROM scratch
COPY kubeadm .

and I have kubeadm under ./bin
and I go sealer build -t test:v1 -c ./bin/
the result is error of "failed to exec layer &{ COPY kubeadm .}:stat kubeadm: no such file or directory"

@kakaZhou719 You need to set the context dir as build work dir.


response time delay in millisec

@authorjapps , Currently the time difference between the requestTimeStamp and responseTimeStamp seems like done on the millisecs part only.
e.g.
requestTimeStamp: "2018-02-05T19:46:31.631"
responseTimeStamp: "2018-02-05T19:46:32.731"

Then the response time delay should be:
responseTimeDelay: 1100 milli seconds
ie (32-31=1sec=1000 millisec) + (731-631=100 millisec) = 1100 milli sec

But it prints(I think so):
responseTimeDelay: 100 milli seconds

Fixed.
Available in version 1.1.23 or higher.
See Maven Central for the latest release.


zepl-contrib: control characters and REPL focusing

Firstly, thank you for this plugin, it's been very useful!
Sometime last year, I opened up https://github.com/axvr/zepl.vim/pull/1 to add mappings for control characters (control-c, control-d, enter) and a mapping to focus the REPL. At the time, you decided that it's not a feature that will be used widely enough to become a part of zepl.vim, which I understand.
I've been using my fork since then, but I've checked back now after some time and I see that you added a way to load user-contributed extensions to zepl.vim (I like this approach, keeps the core minimal). Therefore, I'd like to propose adding these changes as an extension -- I think it could still be useful for some (it definitely has been for me), and could be optionally enabled. What do you think?
PS any comments on code, documentation, etc. are welcome!

Thanks, this is great; exactly the kind of thing I created the contrib system for.  I've merged your changes with a few formatting tweaks to the doc file.

Fair, sorry for the mild sloppiness. Thanks for merging it in, I can switch back from my fork now 😁


Code not working

I have ran the code but it is not running after this. What could be the reason for the error. Anyone can pls help

What do you mean by it's not running? If you go to http://<IP_ADDRESS>:5000 in your browser you should see the running app.

What do you mean by it's not running? If you go to http://<IP_ADDRESS>:5000 in your browser you should see the running app.

I ran the app but after above 3 messages in above image. Code is not working there after. Can you suggest what could be the reason?

Can you send a screenshot of the behavior you're seeing in the app at http://<IP_ADDRESS>:5000/ ?

Can you send a screenshot of the behavior you're seeing in the app at http://<IP_ADDRESS>:5000/ ?

Note - I have not entered parameters for Cosmo DB

@sarah-widder  any thoughts

@dnsynoptek ,
There are many possible reasons why it would not work, it is hard to pinpoint without more details on how you setup up your environment for running the app.
In your browser, you may diagnose the issue using 'Developer Tools' and looking into the console for any reported errors.
I also see that you have the 'Debug mode: off' in your first screenshot. It may help to enable the debug mode to nail down the potential causes of your issue, but that may require adding some logging to the app.py and you may not have to go that far. Check online how to add logging to a Flask app.


Add a confirmation to open large files behind a setting

This would be driven by a new workbench.editorLargeFileConfirmation setting that is set conditionally:

web: 10mb
remote: 50mb
otherwise: 1024mb

via https://github.com/microsoft/vscode/commit/229c95c8ac119df9059491034436bd02be303e67


Voice to text converter

I will add a new python project , which will take the voice note and will return the text in it .
It will be an addition of a good project in the collection of python projects.
Please assign me this issue under hacktoberfest labels , I'm keen to contribute @Mrinank-Bhowmick

Hey similar kind of project exist here -> https://github.com/Mrinank-Bhowmick/python-beginner-projects/tree/main/projects/Voice-to-Text
Try to make changes or add new features to it 👍
assigning this issue to you for making it better

Hey similar kind of project exist here -> https://github.com/Mrinank-Bhowmick/python-beginner-projects/tree/main/projects/Voice-to-Text
Try to make changes or add new features to it 👍
assigning this issue to you for making it better

Surely I'll work on this

hii @Mrinank-Bhowmick plz assign this issue to me .I will add new featured to it and try to provide the multilanguages support

hii @Mrinank-Bhowmick plz assign this issue to me .I will add new featured to it and try to provide the multilanguages support

Sure collaborate with him, just make sure to mention this issue with a # in your pr


Encoda author notes

Preview environment images deployed!
The preview environment has been updated:
client image tag: preview-2152-76cc09145e4cec754fdbdb762af9ee93a8a6d438-20241003.1522
Client URL: https://pr-2152--epp.elifesciences.org
Note: Updated images can take a few minutes to roll out.

Preview environment created!
The preview environment has been deployed to the cluster.
Client URL: https://pr-2152--epp.elifesciences.org
Note: If this is a new environment, it can take a few minutes for DNS to update.


Uncaught Error: useTresContext must be used together with useTresContextProvider

Describe the bug
This error hapend when I write  const state = useTres() or const { state } = useTres() In devtools, and the scene is not loaded.
This is my code (in App.vue):
import { TresCanvas, extend, useTres } from '@tresjs/core';
import { OrbitControls } from 'three/addons/controls/OrbitControls.js'
import { watchEffect } from 'vue'

const state = useTres()

let controls: OrbitControls | null = null

watchEffect(()=>{
  if (state.renderer && state.camera) {
    controls = new OrbitControls(state.camera.value!, state.renderer.value.domElement )
  }
})

extend({OrbitControls})
</script>

<template>
  <TresCanvas window-size>
    <TresPerspectiveCamera />

    <TresScene>
      <TresMesh>
        <TresBoxGeometry />
        <TresMeshNormalMaterial />
      </TresMesh>
    </TresScene>
  </TresCanvas>
</template>

I did it like in this tutorial: The tutorial
Reproduction
https://stackblitz.com/edit/tresjs-basic-fg1y4w?file=src%2FApp.vue
Steps to reproduce
Add
import {  useTres } from '@tresjs/core';
const state = useTres()

to your code
System Info
No response
Used Package Manager
npm
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible example of the bug.

The context is not available on the component containing the TresCanvas. To access it move it to a child component
https://tresjs.org/api/composables.html#usetrescontext

So why does it work on the video ?

The context is not available on the component containing the TresCanvas. To access it move it to a child component
https://tresjs.org/api/composables.html#usetrescontext

So why does it work on the video ?

Probably the video is for the previous versions when it was useTres instead of useTresContext


Use X-RateLimit instead of X-Rate-Limit

I wish

to use X-RateLimit instead of X-Rate-Limit

Because

X-RateLimit seems most common in api gateways (kong, wso2) and in services (github, api.data.gov, http://zalando.github.io/restful-api-guidelines/index.html#132)

see http://william.holroyd.name/2014/11/02/how-do-most-apis-handle-rate-limiting/ for a comparison

Your wish is hereby granted, you may use X-RateLimit instead.
What exactly is stopping you?

Just use a more common name in openapi examples ;)

Closing - see https://github.com/OAI/OpenAPI-Specification/pull/1540#issuecomment-387564078.


add support for setting default value in optional helper

Do we have tests for optional helper?

There are on plans to change the optional helper in any way really.


Theme selection

Is there any form of setting a theme that's not from https://github.com/hlissner/emacs-doom-themes ?
I've installed https://github.com/Greduan/emacs-theme-gruvbox, but it doesn't appear the option to select any of theese thems from the load theme command.
Thanks in advance!

Hopefully, this answer and the one immediately after can answer your question.

Thank you so much, that works perfectly!


Building failed ..... wrong include path?

Hello,
I used a PC with ubuntu 15.10 desktop as my building machine, and then followed the steps on the GitBook to set up the building environment -- except  gcc-arm-none-eabi. Because apt-get cannot find the version 4.8.3-18ubuntu2+12, I download the .deb file from https://launchpad.net/ubuntu/wily/amd64/gcc-arm-none-eabi/4.8.3-18ubuntu2+12 and used dpkg -i to install it manually. The following is the version information:

$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (4.8.3-18ubuntu2+12) 4.8.3
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

However, my building was failed. The error message was

[ 23%] Building CXX object src/drivers/mb12xx/CMakeFiles/drivers__mb12xx.dir/mb12xx.cpp.obj
/Firmware/src/drivers/mb12xx/mb12xx.cpp:58:18: fatal error: vector: No such file or directory
#include
^
compilation terminated.
src/drivers/mb12xx/CMakeFiles/drivers__mb12xx.dir/build.make:54: recipe for target 'src/drivers/mb12xx/CMakeFiles/drivers__mb12xx.dir/mb12xx.cpp.obj' failed

The symptomvector: No such file or directory looks due to wrong include path setting, because vector is a header file included by gcc-arm-none-eabi. I am wondering whether I missed or mixed up anything.
By the way, a similar issue was posted at another site (https://groups.google.com/forum/embed/#!topic/px4users/Df4VpKbeCQM), but on that page the issue is still hanging up there. Please help us to solve this problem, thanks!

Uninstall that version and install this: sudo apt-get install gcc-arm-none-eabi. Docs will be updated.


qt5: 5.9.1 -> 5.9.3

Motivation for this change
This is just a first blocker pull request. I'm still waiting on nox-review to finish. After I fixed all packages, I will split them into individual pull requests.
Things done

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

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

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

If possible please use fetchpatch to download fixes from upstream rather then including it into nixpkgs.

@Mic92 I would like to do that, but can I specify to apply a patch to a sub directory?

can I specify to apply a patch to a sub directory

One option is to add missing parent directories with the addPrefixes argument of fetchpatch.

Okay, now everything is ready :)

Testing on darwin...

@LnL7 I don't have any mac, can you try to fix the errors?

This broke creating directories in KDE: #32253

:(

Reverted to Qt 5.9.1 in #32100. Nevertheless, thank you for preparing the upgrade, we will restore it later!


Exception occured : XML Importer/Exporter failed

Describe the bug
When I tried to export XML from Ghidra to IDA, exception shown at IDA when try to select Edit -> Plugins -> XML Importer/XML Exporter.
I've tried to use latest \IDAPro\Python\7xx\ from the master

To Reproduce
Steps to reproduce the behavior:

Apply the  \IDAPro\Python\7xx\ files to IDA's loader, plugin, python's folder
Open IDA
Click Edit -> Plugins -> XML Importer/Exporter
See error shown below

**Update : **
I've tried to add a traceback to the xml_importer.py and this is what i found :
***** Exception occurred: XML Importer failed! *****
 <function <lambda> at 0x00000208B158A0D0> <function <lambda> at 0x00000208B0CE1040>
Traceback (most recent call last):
  File "C:/Program Files/IDA 7.7/plugins/xml_importer.py", line 75, in run
    xml.import_xml()
  File "C:\Program Files\IDA 7.7\python\3\idaxml.py", line 2272, in import_xml
    self.get_options(displayMenu)
  File "C:\Program Files\IDA 7.7\python\3\idaxml.py", line 2342, in get_options
    Opts =  { 'cGroup1': ida_kernwin.Form.ChkGroupControl ((
  File "C:\Program Files\IDA 7.7\python\3\ida_kernwin.py", line 9761, in __init__
    Form.GroupControl.__init__(
  File "C:\Program Files\IDA 7.7\python\3\ida_kernwin.py", line 9731, in __init__
    Form.NumericArgument.__init__(self, Form._FT_USHORT, value)
  File "C:\Program Files\IDA 7.7\python\3\ida_kernwin.py", line 9534, in __init__
    cls = Form.fieldtype_to_ctype(tp, self.DefI64)
  File "C:\Program Files\IDA 7.7\python\3\ida_kernwin.py", line 9517, in fieldtype_to_ctype
    return ctypes.c_ushort
NameError: name 'ctypes' is not defined

Expected behavior
To make XML Importer/Exporter work to make it's easier to migrate back and forth
Screenshots
Screenshots already been provided above
Environment (please complete the following information):

OS: Windows 10
Java Version: [<IP_ADDRESS>]
Ghidra Version: [10.2 DEV 28 April 2022 (latest)]
Ghidra Origin: [Official Github]

Additional context

IDA Pro Version: [7.7]
Python Version :

Python 3.9.0 (tags/v3.9.0:9cf6752, Oct  5 2020, 15:34:40) [MSC v.1927 64 bit (AMD64)]
IDAPython v7.4.0 final (serial 0)

It seems I've already know what's the problem, there's 2 type of Python with different architecture in my computer, and my PYTHONHOME and PATH has different python, solving PYTHONHOME from C:\Users\User\AppData\Local\Programs\Python\Python38-32\ to C:\Users\User\AppData\Local\Programs\Python\Python39\ helps fix the problem 😄


Fix component page

The component pages were generating an error when data was passed to the props in the .mdx files. To solve this problem, we have set up a scope system which allows data to be passed to the components used in the files.
From now on, you need to add the data you wish to pass to the component in the contentConfig file.

Could installMethod become a component?

Could installMethod become a component?

we can make it evolve in the future yes


dry run

A simple way how to test generated config.

Could you please provide a more descriptive commit message.

Sure. Is it better now?

Yes, thank you!


chore: cleanup dice game flow and tests

Summary of changes
This PR is responsible for cleaning up the language and tests for the dice game as well as cleaning up the overall game flow in order to create a better learning experience for campers.
New game flow order for campers(WIP)

Setup the const and let variables for the game
Add the show/hide rules toggle functionality and have campers test it out
Add the roll dice functionality and have them test it out
Add the update stats functionality and have them test it out
Add enabling of radio buttons for score options and have them test it out
Add the duplicates functionality and have campers test out the different options
Add the resetRadio options functionality and have campers test out the changes
Add the keep score functionality and have campers test it out
Add in the end game functionality and have campers test it out

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Also, here are a couple more suggestions for steps I wasn't able to select:

In step 1 (6579fc66adaabbca6ceddb1f):

When you are ready, use the `querySelectorAll()` method to target all elements with the `class` of `die`, and assign that to a constant called `listOfAllDice`.

In step 7 (657a0ea50da0c8d9d6d7950a):
We can wrap Show rules in code tags so it doesn't accidentally get translated:

When the user clicks on the `Show rules` button, they should be able to toggle between showing and hiding the game rules.


Implement homogeneous xml formatting for NIRSpec, NIRISS, FGS.

Add function to extract field formats.

@shanosborne This is ready to merge, since all associated Jira tickets were approved. This will place the updated SIAF xml files in the pre-delivery-data folder from where we can grab them for the PRD Change Request.


:octocat:  Support for uploading and downloading folders

This current example at graphql-server/go-server/examples only supports the uploading and downloading of a single file, consider accomplishing the following two requirements:

Support for uploading folders, keep the same organization in minio
File upload problem, at present, if the file write absolute path, because there is no handling of the prefix /, resulting in storage failure in minio, that is to say, if the user uses the parameter --file=/local/a.tx , after we read the file, this path to be modified to local/a.txt

Hi!

we also need to support subfolder for data processing, knowledge, etc ... let's do it later.

@dayuy any progress ?


A helpful feature!

Sometimes I need to know how much CPU, GPU and RAM usage. This feature isn't in Quasar.

https://github.com/quasar/Quasar/issues/110


feat: replace console with WinstonLogger in rootConfigServiceFactory

Hey, I just made a Pull Request!
A tiny refactor that allows rootConfigServiceFactory to use a WinstonLogger (with default backstage configuration) over console.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@tklever I think that it might be worth reworking this PR a little bit after the changes from https://github.com/backstage/backstage/pull/24730 have been merged. It should allow the ConfigService to depend on the LoggerService I think as the recursive dependency would be lifted.
It should make this PR much smaller I think :)

Rebased onto #24730 and reworked the PR to match. Dropping back to draft until #24730 is resolved / finalized.

Open to whatever direction feels right, it isn't a massive effort to shuffle this around when it's determined which way to do.
I'm happy to leave it in draft until the path forward is a little more clear unless the maintainers would rather I closed it for the time being.

We get to choose one of these that can depend on the other, and tbh I think it's more useful to have the logger service be able to depend on the config service.

As I noodled on this for the past couple of days, I think I'd be an advocate for "Config depends on Logger" and not the other way. Logger would be dependency free (beyond environment)
Consequences of that choice (if we chose it):

Logger can NOT utilize resolved config
Logger MUST be configured via environment
Advanced configuration of Logger would need to occur by code change / extension (service factory)

Rationale
Config loading and logger initialization exist in a bit of a "Quis custodiet ipsos custodes?" dilemma which has existed and probably will exist for as long as software applications are designed and built. Who loads the loader? Who bootstraps the bootstrap? There's probably no "right" answer, just tradeoffs.
In the case where we need to log before the logger service is available (where we call console today), the only option we have for configuration is environment. For consistency of our logs, if some of our logs can only be configured from environment, there's a case to be made to accept that as true and make all logs only configurable from environment.
The other consideration is probably around "fault tolerance" and what might be more likely to fail in a way that would benefit from logs. Of the two, config (particularly with remote config) and complexities around config providers seems way more likely to fail or explode, whereas (in my opinion) logger creation is probably less likely to fail.
Given this, if if I had to choose between "better logging in config loading", or "better config in logger creation", I choose the former "better logging in config loading".
If there's agreement and some desire to express this decision as an ADR, happy to type it up and propose it.

So it's interesting, I think a very strong counter argument is that what if we want to configure the log format in app-config.yaml. Here's a prime candidate: https://github.com/backstage/backstage/pull/25456
I think as we move to more of a system where things rely more on yaml over typescript to configure your application, you can of course see that there's going to be added benefit to having zero dependencies for the config service as a whole, and letting the config just be a standalone thing that everyone can depend on.
Back to the original idea behind this PR though, it's really unfortunate that we don't respect the logger to add this log message, it breaks the json format etc, but the log is still useful so we can't just remove it.
I wonder if for your use case, you could just replace the configApiRef with your own config which depends on the loggerApiRef which is fully valid, but there could be a point down the line where this might break.
Alternatively, I wondered if there's some way we can log this message after the fact, whilst using the logger implementations as they are but the log message happens outside of the factory, removing the dependency.

So it's interesting, I think a very strong counter argument is that what if we want to configure the log format in app-config.yaml. Here's a prime candidate: #25456
I think as we move to more of a system where things rely more on yaml over typescript to configure your application, you can of course see that there's going to be added benefit to having zero dependencies for the config service as a whole, and letting the config just be a standalone thing that everyone can depend on.

Does this drive us to a world where the config service is factoried outside of all the other services (maybe even with different typings)?
That seems like a pretty massive change, but does it make something like this:
https://github.com/backstage/backstage/blob/66b68a151c34b0af351b0aa25eec8657310825aa/packages/backend-app-api/src/wiring/BackendInitializer.ts#L173-L174
end up looking something like this (psudocode):
    // configLoader isn't a real thing today
    const rootConfig = await configLoader.initialize();
    await this.#serviceRegistry.initializeEagerServicesWithScope('root', { config: rootConfig });

Does config become a separate concern from the service registry? Passed to all service factories vs. being a service of it's own? That's a pretty massive shift, but it does peel out config as separate and unique (which I think we agree it is when we say it should have zero dependencies and be "primary" to all other services)

Alternatively, I wondered if there's some way we can log this message after the fact, whilst using the logger implementations as they are but the log message happens outside of the factory, removing the dependency.

In a world where the above made sense and was deemed worth the effort, does that lead us to a design in the initializer that looks something like this.
    // deferredLogger is some kind of logging queue
    const deferredLogger = DeferredLogger.create();

    try {
      // configLoader isn't a real thing today
      const rootConfig = await configLoader.initialize({ logger: deferredLogger });
      await this.#serviceRegistry.initializeEagerServicesWithScope('root', { config: rootConfig, logger: deferredLogger });
    } catch(e Error) {
      deferredLogger.error(e);
      // We never made it to the root logger, so we dump to `console` or some default env config
      deferredLogger.exhaust();
    }

    const rootLogger = await this.#serviceRegistry.get(coreServices.rootLogger, 'root');

    // rootLogger is available, clear the queue.
    deferredLogger.exhaust(rootLogger);

    // --------- Later in initialization ---------

    // Initialize all eager services
        await this.#serviceRegistry.initializeEagerServicesWithScope('plugin', pluginId, { config: rootConfig, logger: rootLogger });

Food for thought, that might be too big of a change, but it elevates logging and config out of "regular" service management and elevating those two particular cross cutting concerns to a tier above other services.


It's really difficult to tell if your scope is destroyed

Lately we've been playing with a technique where Views sometimes need to behave differently if their scope is dead, but with the Mortar's recent service-container changes that's really difficult to discover. I think the crux of the problem is that when you call MortarScope#getScope(Context) on a context with a destroyed scope, you get its lowest ancestor that isn't destroyed.
That's the right behavior for services in general, where contexts are supposed to fallback to parents. So was it a mistake to treat MortarScope as just another service? Or if that seems okay, should we add a separate static MortarScope#isDestroyed(Context) that does no fallback?

Chatted offline, it seems fair to declare "when you call MortarScope#getScope(Context) on a context with a destroyed scope, you get its lowest ancestor that isn't destroyed" a flat out bug.

 Refining the contract s.t. trying to use any service provided by mortar throws an exception if the nearest scope is dead. Also hiding the fact that mortar itself is a system service, making that an implementation detail.
Effects of this:

MortarScope.getScope(context).isDead() returns true when you'd expect it to
ObjectGraph.inject(context, object) throws if the backing scope is dead, as opposed to the current behavior where we instead try (and generally fail with a confusing message) to inject from an ancestor scope
The behavior of MortarScope.hasService(String) is not changed in destroyed scopes. It always says yes if the service is provided by the receiving scope or an ancestor

Fixed


UDP client observing packet loss

Expected behavior
UDP client should receive all the responses for all the requests.
Actual behavior
Client is unable to get responses for all the requests sent.
Steps to reproduce
Minimal yet complete reproducer code (or URL to code)
       EventLoopGroup workerGroup = new NioEventLoopGroup();

        bootstrap = new Bootstrap();
        bootstrap.group(workerGroup);
        bootstrap.channel(NioDatagramChannel.class);
        bootstrap.option(ChannelOption.SO_RCVBUF, UDP_BUF_SIZE);
        bootstrap.option(ChannelOption.SO_SNDBUF, UDP_BUF_SIZE);
        bootstrap.option(ChannelOption.SO_BROADCAST, true);
        bootstrap.option(ChannelOption.SO_REUSEADDR, true);

        channel = bootstrap.bind(new InetSocketAddress(0)).channel();

        public void sendUDP(Message message, InetSocketAddress host) throws InterruptedException {
        channel.writeAndFlush(new DefaultAddressedEnvelope<Message, SocketAddress>(message, host));
    }

Netty version
4.1.43.Final
JVM version (e.g. java -version)
java 8
OS version (e.g. uname -a)
centos 7
Could you please suggest what could be possible reason that ChannelInboundHandler is unable to read all the responses?

Tried with other clients from same host to the same host and no response loss is observed. However with the above client we are getting almost 50% response loss with bulk requests.

@ankitkothana first of you should upgrade your netty version as it is super old. Second you may need to use a different FixedSizeRecvByteBufAllocator and set the buffer size bigger.

As per https://mvnrepository.com/artifact/io.netty/netty-all 4.1.43.Final is the latest version and that is what we are using. The buffer size is already set to 16 MB. Do we need to increase it further?

@ankitkothana now I am confused... in the issue you said 4.1.13 ?

@ankitkothana I think you want to do:
bootstrap.option(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(UDP_BUF_SIZE));

That said 16MB over UDP will never work so I am not sure why you set this. Even with Jumbo packets I have a hard time believing you will ever see bigger packets then 9kb.

Sorry for adding a wrong version number in the issue. I have updated the issue.
private static final int UDP_BUF_SIZE = 9216;
Reduced buffer size to 9KB and updated the bootstrap options:
        bootstrap.option(ChannelOption.SO_RCVBUF, UDP_BUF_SIZE);         bootstrap.option(ChannelOption.SO_SNDBUF, UDP_BUF_SIZE);         bootstrap.option(ChannelOption.SO_BROADCAST, true);         bootstrap.option(ChannelOption.SO_REUSEADDR, true);         bootstrap.option(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(UDP_BUF_SIZE));
Still I see a huge packet loss.

Without a reproducer it is hard to help ... sorry

Am 21.11.2019 um 15:09 schrieb Ankit Kothana<EMAIL_ADDRESS>
Sorry for adding a wrong version number in the issue. I have updated the issue.
private static final int UDP_BUF_SIZE = 9216;
Reduced buffer size to 9KB and updated the bootstrap options:
bootstrap.option(ChannelOption.SO_RCVBUF, UDP_BUF_SIZE); bootstrap.option(ChannelOption.SO_SNDBUF, UDP_BUF_SIZE); bootstrap.option(ChannelOption.SO_BROADCAST, true); bootstrap.option(ChannelOption.SO_REUSEADDR, true); bootstrap.option(ChannelOption.RCVBUF_ALLOCATOR, new FixedRecvByteBufAllocator(UDP_BUF_SIZE));
Still I see a huge packet loss.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Here is the complete code:
https://github.com/ankitkothana/client.git
Please have a look into it.

Any updates on this?

Facing the same issue.

@ankitkothana I wonder if you are just writing too fast and so the remote peer will just drop stuff. Can you add some Thread.sleep(50); in your for / while loop ? It is not uncommon for DNS servers to rate limit clients.

Usually DNS servers have a QPS of min 50K over UDP. I have tried hitting the DNS server with dnsperf (C++ utility for performance testing of DNS servers) and observed no packet loss even at a higher request rate per second. This is not a server side issue.
Event tried to add a sleep of 50 ms after 100 requests. Packet loss was still > 40% of actual requests.
The only workaround that worked for us is to add a sleep of 1 ms after every request. This gave us a success rate of 99%.
Could you please explain why response packets are dropped without sleep interval? Is this a bug in netty?

Maybe my observations will help you:

UDP is giving no guarantee about all packets reaching target
Writing without any limits leads to filling network socket buffers (this may not be an accurate term). I have an app that pushes messages to clients as fast as it can (it's on TCP though), and it has to detect that buffers are full, and stop writing until buffers are free again. You have to write each message checking channel.isWritable() before, and if it's not you have to stop until you get notified in channelWritabilityChanged method that it's writable again:

    @Override
    public void channelWritabilityChanged(ChannelHandlerContext ctx) throws Exception {
        if (ctx.channel().isWritable()) {
            sendMessagesInLoop(ctx);
        }
    }

    private void sendMessagesInLoop(ChannelHandlerContext ctx) {
        while (ctx.channel().isWritable()) {
          //send
        }
    }

You can either call sendMessagesInLoop for the first time after connecting or (my preferred way) by using IdleStateHandler in the pipeline, and listening to IdleStateEvent with WRITER_IDLE state in userEventTriggered.

Thanks @morvael  for providing useful observations. Can you provide an example of how to use IdleStateHandler and handle the WRITER_IDLE event.

Yes, it should be used for heartbeats, but it also works for me as a way to know when to start writing again. Extend io.netty.channel.ChannelInitializer and write something like that:
    @Override
    protected void initChannel(Channel ch) throws Exception {
        ChannelPipeline pipe = ch.pipeline();
        if ((readIdleMillis > 0) || (writeIdleMillis > 0)) {
            pipe.addLast("idleHandler", new io.netty.handler.timeout.IdleStateHandler(readIdleMillis, writeIdleMillis, 0, TimeUnit.MILLISECONDS));

...then add your other handlers after (or experiment with other add methods to put it higher upstream than your code checking channelWritabilityChanged). Then give your ChannelInitializer to bootstrap as handler.

Sorry, it seems I have confused two things. IdleStateHandler is indeed better used to heartbeats. You don't need it. Just overrride channelWritabilityChanged in your ChannelInboundHandlerAdapter, as in my first example.

In your case you can start writing as the client connects, pausing when channel is no longer writable, and starting again when it's writable again. As for using IdleStateHandler, now that it's in your pipeline you can use:
    @Override
    public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
        if (evt instanceof IdleStateEvent) {
            IdleStateEvent e = (IdleStateEvent) evt;
            if (e.state() == IdleState.WRITER_IDLE) {
                sendMessagesInLoop(ctx);
            }
        }
    }

in your ChannelInboundHandlerAdapter.

Thanks @morvael . Incorporating these suggestions didn't help though.
DNSClientIntializerTemp.java
@Override
    protected void initChannel(DatagramChannel ch) throws Exception {
        ChannelPipeline channelPipeline = ch.pipeline();
        channelPipeline.addLast("MessageDecoder",
                new DatagramPacketDecoder(new DNSDecoder()));
        channelPipeline.addLast("MessageEncoder",
                new DatagramPacketEncoder<>(new DNSEncoder()));
        channelPipeline.addLast("idleHandler", new IdleStateHandler(0, 1, 0));
        channelPipeline.addLast("MesageHandler", new MessageHandler());
    }

MessageHandler.java
@Override
    public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
        if (evt instanceof IdleStateEvent) {
            IdleStateEvent e = (IdleStateEvent) evt;
            if (e.state() == IdleState.WRITER_IDLE) {
                sendMessagesInLoop(ctx);
            }
        }
    }

    private void sendMessagesInLoop(ChannelHandlerContext ctx) {
        while (ctx.channel().isWritable()) {

        }
    }

Is there something else I am missing. I still see a huge packet loss on increasing concurrency and number of requests.
Even tried to add logger in channelWritabilityChanged method. It seems like writability is never changed and we are able to push the messages without buffer overflow.

@normanmaurer @morvael any updates would be helpful here. We are seeing lots of issues due to packet loss.

I have the same problem! But I solved this problem by adding sync() after writeAndFlush method.
So can someone explain why?
public void send(String domainName) throws InterruptedException {
        DatagramDnsQuery dnsQuery = new DatagramDnsQuery(null, new InetSocketAddress("<IP_ADDRESS>", 53), threadLocalRandom.nextInt(0xFFFF));
        dnsQuery.addRecord(DnsSection.QUESTION, new DefaultDnsQuestion(domainName, DnsRecordType.A));
        channel.writeAndFlush(dnsQuery).sync();
}

@TreviD sync() will wait for the operation to complete, which here means the DNS query was sent.