Restore propagation of ErrDependenciesLeft

Unfortunately #17643 prevented all propagation of ErrDependenciesLeft meaning
that dependency errors that prevent closing of issues get swallowed.
This PR restores propagation of the error but instead swallows the error in the
places where it needs to be swallowed.
Fix #18223
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

Codecov Report

Merging #18325 (f67b5ee) into main (84f8ef3) will increase coverage by 0.00%.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main   #18325   +/-   ##
=======================================
  Coverage   45.78%   45.78%
=======================================
  Files         831      831
  Lines       92221    92222    +1
=======================================
+ Hits        42225    42228    +3
- Misses      43235    43236    +1
+ Partials     6761     6758    -3

Impacted Files
Coverage Δ

services/issue/status.go
41.66% <0.00%> (ø)

services/pull/merge.go
48.21% <0.00%> (-0.12%)
:arrow_down:

services/pull/pull.go
42.10% <0.00%> (+0.40%)
:arrow_up:

modules/charset/charset.go
71.71% <0.00%> (-4.05%)
:arrow_down:

modules/git/utils.go
68.05% <0.00%> (-2.78%)
:arrow_down:

modules/git/repo_base_nogogit.go
80.00% <0.00%> (-2.50%)
:arrow_down:

modules/queue/workerpool.go
53.05% <0.00%> (-1.15%)
:arrow_down:

models/issue_comment.go
54.51% <0.00%> (-0.29%)
:arrow_down:

models/repo_list.go
77.21% <0.00%> (+0.59%)
:arrow_up:

... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 84f8ef3...f67b5ee. Read the comment docs.


workflows: use new multi-path caching to completely cache node_modules

... + prep for composite action
The cache action recently added support for caching multiple paths with a glob. We should be able to use that to completely cache all node_modules dirs in the repo. If we get a cache hit there's then no need to bring in the global yarn cache or run yarn install.
The cache key is based on both yarn.lock and package.jsons. That's because yarn.lock itself does not include information about local monorepo dependencies, but adding new packages or local dependencies needs to bust the cache.
This also formats the NodeJS + yarn setup as a copy-pasteable blob, which we eventually can convert to a composite action once all the features we need are supported.

@freben yeah some pretty big savings, especially on windows. The complexity will be hidden away in a separate yaml in not too long. It also err's on the side of missing the cache too often, at which point we fall back to the old behaviour, so expecting this to be a not too risky change.


fix issue 21592 - two stack traces if high surrogate is printed

An alternative fix would be to reset highSurrogate already when throwing the exception originally. But that would alter the behavior of LockingTextWriter more than is strictly necessary. The following is currently possible but wouldn't work anymore with the alternative fix:
import std.stdio;
import std.utf : UTFException;
void main()
{
    auto w = stdout.lockingTextWriter();
    w.put("\U00010400"w[0]);
    try w.put('\n');
    catch (UTFException e) w.put("\U00010400"w[1]);
}

This doesn't work like I thought it would. I'll have to take another look.

This doesn't work like I thought it would. I'll have to take another look.

Fixed. I'm not happy with throwing on incomplete UTF-16 while silently ignoring incomplete UTF-8 sequences. But sorting that out is beyond the scope of this PR.
Good to go from my side.

Perhaps I'm missing something obvious, but it seems that this shorter implementation doesn't have this bug (or at least the unittest does not trigger it):
void write(S...)(S args)
{
    import std.format : formattedWrite;
    import std.stdio : stdout;
    import std.typecons : tuple;
    auto w = lockingTextWriter();
    formattedWrite(w, "%(%s%|%)", tuple(args));
}

Full example:
https://run.dlang.io/gist/run-dlang/a8d99f54cbbe57748faa10e41d847723?compiler=dmd
import std.stdio : File;

@safe unittest // https://issues.dlang.org/show_bug.cgi?id=21592
{
    import std.exception : collectException;
    import std.utf : UTFException;
    static import std.file;
    auto deleteme = "deleteme.txt";
    scope(exit) std.file.remove(deleteme);
    auto f = File(deleteme, "w");
    auto e = collectException!UTFException(f.myWriteln(wchar(0xD801)));
    assert(e.next is null);
}

void myWriteln(S...)(ref File f, S args)
{
    myWrite(f, args, '\n');
}

void myWrite(S...)(File f, S args)
{
    import std.format : formattedWrite;
    import std.stdio : stdout;
    import std.typecons : tuple;
    auto w = f.lockingTextWriter();
    formattedWrite(w, "%(%s%|%)", tuple(args));
}

https://run.dlang.io/is/99SIV9
If the myWrite implementation above is correct, what do you think about replacing the current code with it?
If the current implementation of write(S...)(S s) handled the common cases as an optimization, I see no reason why such optimizations can't be done instead in formattedWrite. CC @berni44 who recently did many improvements to std.format.

If the current implementation of write(S...)(S s) handled the common cases as an optimization, I see no reason why such optimizations can't be done instead in formattedWrite. CC @berni44 who recently did many improvements to std.format.

I didn't touch string handling yet. I will have to dive deeper into unicode before doing so. So I fear I cannot say anything qualified here. The only thing I know: There are some known bugs in the implementation of string handling in formattedWrite, but when I remember right, they do not touch this subject here.

If the myWrite implementation above is correct, what do you think about replacing the current code with it?
If the current implementation of write(S...)(S s) handled the common cases as an optimization, I see no reason why such optimizations can't be done instead in formattedWrite. CC @berni44 who recently did many improvements to std.format.
Edit: One disadvantage is that the stack trace is longer:
std.utf.UTFException@/dlang/dmd/linux/bin64/../../src/phobos/std/utf.d(1715): surrogate UTF-16 high value past end of string

Note that the exception message is different. Your myWrite throws more eagerly. The existing write can handle a sequence that is split over two strings:
void main()
{
    import std.stdio: stdout;
    stdout.write("\U00010400"w[0], "\U00010400"w[1], "\n"); /* prints "𐐀" */
    stdout.myWrite("\U00010400"w[0], "\U00010400"w[1], "\n"); /* throws */
}

The existing write can handle a sequence that is split over two strings

IMO, this is not worth supporting, unless it was already guaranteed by the documentation and unit tests.

IMO, this is not worth supporting, unless it was already guaranteed by the documentation and unit tests.

That's alright, but I just want to fix a bug. I'd rather not rewrite the whole function, changing its behavior in subtle ways.

Okay, fair enough.
I restarted the druntime job on BuildKite as it was failing due to running out of memory. I also restarted FreeBSD_32 job on the auto-tester.

This seems to consistently fail druntime on buildkite. The error message:

_D3std6format__T15formatValueImplTSQBh5array__T8AppenderTAyaZQoThTaZQCaFNaNfKQBrhMKxSQDfQDe__T10FormatSpecTaZQpZv: error: undefined reference to '_D3std6format__T19needToSwapEndianessTaZQyFNaNbNiNfMKxSQCbQCa__T10FormatSpecTaZQpZb'
--
  | generated/linux/release/64/benchmark.o:benchmark/runbench.d:function _D3std6format__T15formatValueImplTSQBh5array__T8AppenderTAyaZQoThTaZQCaFNaNfKQBrhMKxSQDfQDe__T10FormatSpecTaZQpZv: error: undefined reference to '_D3std6format__T14formatIntegralTSQBg5array__T8AppenderTAyaZQoTmTaZQBzFNaNfKQBrxmMKxSQDfQDe__T10FormatSpecTaZQpkmZv'
  | generated/linux/release/64/benchmark.o:benchmark/runbench.d:function _D3std6format__T15formatValueImplTSQBh5array__T8AppenderTAyaZQoTkTaZQCaFNaNfKQBrkMKxSQDfQDe__T10FormatSpecTaZQpZv: error: undefined reference to '_D3std6format__T19needToSwapEndianessTaZQyFNaNbNiNfMKxSQCbQCa__T10FormatSpecTaZQpZb'
  | generated/linux/release/64/benchmark.o:benchmark/runbench.d:function _D3std6format__T15formatValueImplTSQBh5array__T8AppenderTAyaZQoTkTaZQCaFNaNfKQBrkMKxSQDfQDe__T10FormatSpecTaZQpZv: error: undefined reference to '_D3std6format__T14formatIntegralTSQBg5array__T8AppenderTAyaZQoTmTaZQBzFNaNfKQBrxmMKxSQDfQDe__T10FormatSpecTaZQpkmZv'
  | generated/linux/release/64/benchmark.o:benchmark/runbench.d:function _D3std6format__T15formatValueImplTSQBh5array__T8AppenderTyAaZQoThTaZQCaFNaNfKQBrhMKxSQDfQDe__T10FormatSpecTaZQpZv: error: undefined reference to '_D3std6format__T19needToSwapEndianessTaZQyFNaNbNiNfMKxSQCbQCa__T10FormatSpecTaZQpZb'
  | generated/linux/release/64/benchmark.o:benchmark/runbench.d:function _D3std6format__T15formatValueImplTSQBh5array__T8AppenderTyAaZQoTkTaZQCaFNaNfKQBrkMKxSQDfQDe__T10FormatSpecTaZQpZv: error: undefined reference to '_D3std6format__T19needToSwapEndianessTaZQyFNaNbNiNfMKxSQCbQCa__T10FormatSpecTaZQpZb'
  | generated/linux/release/64/benchmark.o:benchmark/runbench.d:function _D3std6format__T15formatValueImplTSQBh5array__T8AppenderTAyaZQoTmTaZQCaFNaNfKQBrmMKxSQDfQDe__T10FormatSpecTaZQpZv: error: undefined reference to '_D3std6format__T14formatIntegralTSQBg5array__T8AppenderTAyaZQoTmTaZQBzFNaNfKQBrxmMKxSQDfQDe__T10FormatSpecTaZQpkmZv'
  | generated/linux/release/64/benchmark.o:benchmark/runbench.d:function _D3std6format__T15formatValueImplTSQBh5array__T8AppenderTAyaZQoTxhTaZQCbFNaNfKQBsxhMKxSQDhQDg__T10FormatSpecTaZQpZv: error: undefined reference to '_D3std6format__T14formatIntegralTSQBg5array__T8AppenderTAyaZQoTmTaZQBzFNaNfKQBrxmMKxSQDfQDe__T10FormatSpecTaZQpkmZv'
  | collect2: error: ld returned 1 exit status
  | Error: linker exited with status 1
  | generated/linux/release/64/unittest/test_runner core.sys.solaris.libelf
  | posix.mak:462: recipe for target 'generated/linux/release/64/benchmark' failed
  | make: *** [generated/linux/release/64/benchmark] Error 1
  | make: *** Waiting for unfinished jobs....

This seems to consistently fail druntime on buildkite. The error message:

_D3std6format__T15formatValueImplTSQBh5array__T8AppenderTAyaZQoThTaZQCaFNaNfKQBrhMKxSQDfQDe__T10FormatSpecTaZQpZv: error: undefined reference to '_D3std6format__T19needToSwapEndianessTaZQyFNaNbNiNfMKxSQCbQCa__T10FormatSpecTaZQpZb'

I don't see how the changes here could cause undefined references.

Maybe this is due to the split of std.format. I don't understand the details yet, but rebasing this PR to master might help.
Anyway, it would be nice to know why this fails. Might be something like "private members of std/format/package.d are treated differently to private members of std/format.d" or something...

Yeah, rebasing might fix it.

Strange things are happening here: I was able to reproduce the error locally by running make -f posix.mak buildkite-test in druntime. Unfortunately, now this error appears even, when I checkout master for dmd, druntime and phobos... Probably make -f posix.mak clean doesn't clean up enough...

rebased


some changes / additions

Changed

store badges in topic object (topic:tid[badge]{string})

Added

showing badges in topic itself
UI (bootbox) to add/edit/delete badges
show badges in all topic listings across the forum

Of course... let's just change the storage scheme and make people loose all their badges. Genius move :smirk: :laughing:
Anyway; I'll pick up on that and see to it, that I include a proper upgrade script. Question, though @psychobunny: I still think it's not the best way to include the badge in the title field. Is it safe to just add another field to the topic-Object in storage? Like:
topics.setTopicField(tid, 'badge', text, callback);

Or should I rather put the badges in their own namespace, like topic-badges:tid?


#421 : Add Ability to Exit Gracefully If No New Package Version

@StephenMP thanks for pr.
I have doubt about option naming. What about ignore-unpublished-changes?

@StephenMP thanks for pr.
I have doubt about option naming. What about ignore-unpublished-changes?

@katyo I made the change


How i can deploy the Bot ?

I have trayed is :
1- npm install -g vercel
2- vercel
it deployed but the bot doesn't work and I need to run it manually
also trayed to deeply it in https://vercel.com/ after uploading it as a repo, but nothing works to

Hello,
the issue is about the port,
try to use polling, so if your bot get disconnected, the polling option will bring back the bot to reconnect with new port.
for example:
`const bot = new TeleBot({
token: process.env.bot_token,
polling: { // Optional. Use polling.
interval: 1000, // Optional. How often check updates (in ms).
timeout: 0, // Optional. Update polling timeout (0 - short polling).
// limit: 100, // Optional. Limits the number of updates to be retrieved.
retryTimeout: 5000, // Optional. Reconnecting timeout (in ms).
// proxy: 'http://username:password@yourproxy.com:8080' // Optional. An HTTP proxy to be used.
},
}

);`
Hope this can help.

unfortunately, it didn't work.
this is the code that i used
const TeleBot = require('telebot');
const bot = new TeleBot({
    token: "xxx", // Required. Telegram Bot API token.
    polling: {},
});
bot.on('text', (msg) => msg.reply.text(msg.text));
bot.start();

and it did work when I run the node command in the terminal, but even after deploy it didn't work
I don't want that exact way to deoply (using vercel), if there is any other way it will be greatly helpful

Hello,
the issue is about the port,
try to use polling, so if your bot get disconnected, the polling option will bring back the bot to reconnect with new port.
for example:
`const bot = new TeleBot({
token: process.env.bot_token,
polling: { // Optional. Use polling.
interval: 1000, // Optional. How often check updates (in ms).
timeout: 0, // Optional. Update polling timeout (0 - short polling).
// limit: 100, // Optional. Limits the number of updates to be retrieved.
retryTimeout: 5000, // Optional. Reconnecting timeout (in ms).
// proxy: 'http://username:password@yourproxy.com:8080' // Optional. An HTTP proxy to be used.
},
}

);`
Hope this can help.

unfortunately, it didn't work.
this is the code that i used
const TeleBot = require('telebot');
const bot = new TeleBot({
    token: "xxx", // Required. Telegram Bot API token.
    polling: {},
});
bot.on('text', (msg) => msg.reply.text(msg.text));
bot.start();
and it did work when I run the node command in the terminal, but even after deploy it didn't work

I don't want that exact way to deoply (using vercel), if there is any other way it will be greatly helpful

maybe you can try this one
const bot = new TeleBot({
token: process.env.bot_token,
polling: { // Optional. Use polling.
interval: 1000, // Optional. How often check updates (in ms).
timeout: 0, // Optional. Update polling timeout (0 - short polling).
// limit: 100, // Optional. Limits the number of updates to be retrieved.
retryTimeout: 5000, // Optional. Reconnecting timeout (in ms).
// proxy: 'http://username:password@yourproxy.com:8080' // Optional. An HTTP proxy to be used.
allowedUpdates: [],
},
}

);

maybe you can try this one
const bot = new TeleBot({
token: process.env.bot_token,
polling: { // Optional. Use polling.
interval: 1000, // Optional. How often check updates (in ms).
timeout: 0, // Optional. Update polling timeout (0 - short polling).
// limit: 100, // Optional. Limits the number of updates to be retrieved.
retryTimeout: 5000, // Optional. Reconnecting timeout (in ms).
// proxy: 'http://username:password@yourproxy.com:8080' // Optional. An HTTP proxy to be used.
allowedUpdates: [],
},
}

);

unfortunately, the same problem, i rly idk where the probelm is
this is the scrpit
`const TeleBot = require('telebot');
const bot = new TeleBot({
token: "1739845906:AAHm72IATwLhVGVU21huWX3YPqqBMEmuEzo",
polling: { // Optional. Use polling.
interval: 1000, // Optional. How often check updates (in ms).
timeout: 0, // Optional. Update polling timeout (0 - short polling).
// limit: 100, // Optional. Limits the number of updates to be retrieved.
retryTimeout: 5000, // Optional. Reconnecting timeout (in ms).
// proxy: 'http://username:password@yourproxy.com:8080' // Optional. An HTTP proxy to be used.
allowedUpdates: [],
},
});
bot.on('text', (msg) => msg.reply.text(msg.text));
bot.start();`
and this is the package
{   "name": "telgrambot",   "version": "1.0.0",   "description": "",   "main": "index.js",   "dependencies": {     "next": "^10.0.9",     "react": "^17.0.2",     "telebot": "^1.4.1",     "vercel": "^21.3.3"   },   "devDependencies": {},   "scripts": {     "test": "node index.js",     "start": "node index.js"   },   "keywords": [],   "author": "",   "license": "ISC" }
where is index.js is the name of the code file, and this is the log of vervel
`

14:01:05.765
Retrieving list of deployment files...

14:01:07.302
Downloading 3 deployment files...

14:01:07.365
Analyzing source code...

14:01:09.189
Uploading build outputs...

14:01:09.283
Deploying build outputs...

14:01:10.959
Done with static build

`

i deployed on Heroku and it worked, for me using that script.
Why don't you try heroku

again the problem is with the port of your bot hosting, you need to use proccess.env.PORT in somewhere on your vervel

i deployed on Heroku and it worked, for me using that script.
Why don't you try Heroku

I had searched for the Heroku method, but everything is for node telegram bot api not for telebot
i had found that repo and it worked for node telegram bot, but for telebot it didn't
if you know any way to use Heroku for telebot it will be graldy appreciated

So basically it’s like deploy normal node js app to heroku.
1 . u need to to connect your repo with heroku
2. create Procfile
3. set up in package.json for start commend, this one is to tell heroku where to run your app, for example “start” : “node app.js”
4. set your bot script like the one i sent you
5. push your code to the server
if you still not sure i can help you restructure your file for pushing to heroku

So basically it’s like deploy normal node js app to heroku.
1 . u need to to connect your repo with heroku
2. create Procfile
3. set up in package.json for start commend, this one is to tell heroku where to run your app, for example “start” : “node app.js”
4. set your bot script like the one i sent you
5. push your code to the server
if you still not sure i can help you restructure your file for pushing to heroku

yes please I want some help, I just watched those https://www.youtube.com/watch?v=IuUY-OJ0GXE&t=941s videos, did all the steps and changed what need to be changed
and the same problem, no response

can you open heroku , go to see in logs what’s the error can you screenshot here

did you include your bot token in heroku config ?

here is the build log
-----> Building on the Heroku-20 stack
-----> Using buildpack: heroku/nodejs
-----> Node.js app detected

-----> Creating runtime environment

       NPM_CONFIG_LOGLEVEL=error
       NODE_VERBOSE=false
       NODE_ENV=production
       NODE_MODULES_CACHE=true

-----> Installing binaries
       engines.node (package.json):  unspecified
       engines.npm (package.json):   unspecified (use default)

       Resolving node version 14.x...
       Downloading and installing node 14.16.0...
       Using default npm version: 6.14.11

-----> Restoring cache
       - node_modules

-----> Installing dependencies
       Installing node modules
       added 48 packages in 1.533s

-----> Build

-----> Caching build
       - node_modules

-----> Pruning devDependencies
       audited 48 packages in 0.735s

       2 packages are looking for funding
         run `npm fund` for details

       found 0 vulnerabilities

-----> Build succeeded!
 !     This app may not specify any way to start a node process
       https://devcenter.heroku.com/articles/nodejs-support#default-web-process-type
-----> Discovering process types
 ~     Mis-cased procfile detected; ignoring.
 ~     Rename it to Procfile to have it honored.
       Procfile declares types     -> (none)
       Default types for buildpack -> web
-----> Compressing...
       Done: 33.1M
-----> Launching...
       Released v7
       https://teegmrabotaap.herokuapp.com/ deployed to Heroku

here is the my repo
https://github.com/xMA3x/telegrrambot

will, after locking in the log and the repo, it appears that the package didn't upload for an updated version
when did that it worked, anyway thank you very much for standing with me all that time and fast replay <3

will, after locking in the log and the repo, it appears that the package didn't upload for an updated version
when did that it worked, anyway thank you very much for standing with me all that time and fast replay <3

ok nice also change the procfile into Procfile
glad i can assist you

ok nice also change the procfile into Procfile
glad i can assist you

Hello sir, i have another issue, can you help me on it ?

ok nice also change the procfile into Procfile
glad i can assist you

Hello sir, i have another issue, can you help me on it ?
Yes sure man, how can i help you

ok nice also change the procfile into Procfile
glad i can assist you

Hello sir, i have another issue, can you help me on it ?
Yes sure man, how can i help you

i have already posted 3 issues, i wish you could look at them


clarify OpenCage's bounds parameter

Fixes https://github.com/geopy/geopy/issues/127
Documentation says "south-west and north-east corners" which is easy to read as lat,lon,lat,lon while the OpenCage API expects lon,lat,lon,lat.

Messed up my git rebase after README.md got renamed to README.rst. I created a new cleaner PR in https://github.com/geopy/geopy/pull/265

You could've used force push to the same branch w/o recreating PR, but that's OK.
Thank you, the new PR has been merged.


Add Adjusted Mean Ranking Index metric for Link Prediction

Issue #, if available:
Description of changes:

Add Adjust Mean Rank Index LP metric. This metric is normalized by the candidate list size, allowing for easier comparison between datasets/models and negative edge sample counts.
To get the list sizes we modify run_lp_mini_batch_predict and lp_mini_batch_predict to conditionally return a tuple of rankings, lengths that allows us to calculate AMRI in the cases where it's needed. The return type is determined by a new argument added, with a default value, so the changes are backwards compatible, existing calls to the two functions will function as before.
Add LinkPredictionTestScoreInterface as a common ancestor to LinkPredictNoParamDecoder and LinkPredictLearnableDecoder, this way we can ensure at runtime that the decoder should implement the calc_test_scores function that is used by the LP evaluator.
Modify the GSgnnLPRankingEvalInterface evaluate function to add optional **kwargs. In cases where we want to calculate a metric that needs the candidate list lengths we use these kwargs to pass the information.
Modify the def compute_score(self, rankings, train=True, candidate_sizes=None): to add the optional candidate_sizes argument, this is only used during AMRI calculation.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Shall we mark this PR "break back compatibility"?

Does it break backwards compatibility somehow? I think all modifications I made are backwards compatible through default arguments (so existing calls should still work). Let me know if I missed something.
I'll add e2e tests along with docs in the next commit for this PR and then mark as ready for review.

Shall we mark this PR "break back compatibility"?

Does it break backwards compatibility somehow? I think all modifications I made are backwards compatible through default arguments (so existing calls should still work). Let me know if I missed something.
I'll add e2e tests along with docs in the next commit for this PR and then mark as ready for review.

I think this PR changes the API definition, though it is still backwards compatible. We should highlight the changes in the release note.


move apm language detection config under apm_config.instrumentation

What does this PR do?

Move APM language detection configurations under apm_config in config package.
Motivation

Achieve separation between:

language detection performed b process-agent (detecting languages on the level of processes)
language detection performed by core agent and cluster agent (collecting process-level languages and aggregating them by deployment-level).

This change has no impact on the functional aspects of the feature.
Additional Notes

This should be merged in 7.52.0 because it is related to a new feature and changing feature configuration in the future in this manner will break existing deployments with old configurations.

Possible Drawbacks / Trade-offs

Should not change behaviour at all, it is only renaming environment variables and changing bindings in config.

Describe how to test/QA your changes

Same QA as this PR.

close in favour of this PR


WIP: Add OCSP stapling functionality

Pull Request Motivation
Issue 5785
Kind
/kind feature
Release Note
NONE

see https://github.com/cert-manager/cert-manager/pull/5830


Allow defining a command prefix

For example:
annyang.setPrefix('OK, glass');

Now only sentences beggining with "OK, glass" will be parsed.

+1

+1

Any news on the implementation of this? This is exactly what I require since I am running Annyang continuously on a machine I keep on, currently its picking up everything but with this prefix it would stop random speech recognition playing through my speakers every time I get too close to the microphone.

https://github.com/TalAter/annyang/pull/240

It's possible to do this without needing a PR or any modification to the library using a key rename function. Simply add your commands in object format - e.g.;
var commands = {
	"Where am I?"		:	myLocationFunction,
	"What's the time?"	:	myTimeFunction,
};

Then, add the following rename function;
var rename = function(obj, prefix){
	if(typeof obj !== 'object' || !obj){
		return false;
	}
	var keys = Object.keys(obj),
		keysLen = keys.length,
		prefix = prefix || '';
	for(var i=0; i<keysLen ;i++){
		obj[prefix+keys[i]] = obj[keys[i]];
		if(typeof obj[keys[i]]=== 'object'){
			rename(obj[prefix+keys[i]],prefix);
		}
		delete obj[keys[i]];
	}
	return obj;
};

Usage is as follows;
rename(commands, "Hello Annyang ");
I'd recommend adding a space on the end of your prefix (in this case, "Hello Annyang ". After that, simply call;
annyang.addCommands(commands);
annyang.start();

If you console.log(commands) after calling rename, you'll see it's prefixed all your commands with your specified prefix.

A work around I have implemented on my application for this is define a command to turn on a state (lets say the command was "Ok Tom" and the state is named "isListening") for 5 seconds. Then have other commands to check if "isListening" active, before actually executing the logic assigned to the given command.

@ChronSyn thank you so much it worked for me :)


pytddmon with pyfix tests

Hey,
Should pytddmon be able to work with the pyfix @test guys? pyfix will run my n/n tests. pytddmon also says zero/zero while its running. But it is watching the correct files. When i save one for make an error it sees that in real time.
Is there any properties i need to set?

From a quick look at the pytddmon sources, it's using unittest.TestLoader() for test discovery, so this means it is only compatible with unit tests based on the stdlib's unittest framework.
The best course of action is probably decoupling how pytddmon runs tests from the visualization, it could parse the unittest JSON report generated by pybuilder for example in order to be truly independent of the framework used.
If you want to use pytddmon right now it's only possible with the unittest library (and thus the python.unittest plugin).

Ahh, i see. Thanks man. I am liking the pyfix tests so do you have any suggestions on any real time test guy i could use with my setup?

You could give entr a try. It's an inotify wrapper with a recursive mode. Only for OSX and Linux/FreeBSD though.

I have converted from windows and don't plan on going back unless i am forced so that is perfect lol. Thank you!

Congratulations! Hope you won't regret it ;-)
Tightening the integration with pytddmon (optionally of course) is definitely something I want to do.. Maybe for other things as well. I really like the minimal cross-plattform UI.

That would be really cool. I love this build tool, you guys made it so practically anything can be built on top.
Quick question, what is the current directory when running unittests? I was trying to setup pylint for the first time and it said you can add a --rcfile. And that is also checks the current directory. I could never get it to load anywhere within the project, only in ~/. That part isn't super important, just wondering about what is happening during run_unit_tests so i can figure this stuff out on my own in the future, "maybe".


What is the name of the text font used in the IDE when you took the presentation screenshot ?

I think it is IBM Plex Mono.


[Add a Feature] Change documentation layout

What feature

It would be nice to change the layout of the documentation because things like (https://discord-components.readthedocs.io/en/latest/pages/client.html#discord_components.client.DiscordComponents.send_component_msg) are really unclear. You can't really see what type of parameter the method takes in.

Advantages

More readabillity

Check

[ ] Is this feature related to this module?
[x] Can this feature be implemented?
[ ] Does this new feature requires the user to change the code?

forget everything I said Im dumb
Still, the text above could need some readabillity improvment

Checked!


IE debug mode

I still need to add tests, but I've been able to reliably flip on and off the reg key we are planning to use to activate IE debug mode.

@arttarawork Let's discuss this in person. I need more context about how these settings are supposed to work.

This pull request is outdated now.


Private Header Type for DeserializationExceptions

Back port issue for: https://github.com/spring-projects/spring-kafka/pull/2770

Fixed via: https://github.com/spring-projects/spring-kafka/commit/25ac793a78725e2ca4a3a2888a1506a4bfcf0c9d


Can't attach PDF file via attchData() in notification

Laravel Version: 5.4.15
PHP Version: 7.0.15

Description:
Ąttaching PDF file content via attachData() throws InvalidPayloadException in file Illuminate\Queue\InvalidPayloadException (line 89).
To be specific in createPayload() method:
    protected function createPayload($job, $data = '', $queue = null)
    {
        $payload = json_encode($this->createPayloadArray($job, $data, $queue));

        if (JSON_ERROR_NONE !== json_last_error()) {
            throw new InvalidPayloadException;
        }

        return $payload;
    }

json_last_error() returns 5 which means Malformed UTF-8 characters, possibly incorrectly encoded.
Steps To Reproduce:

Create simple notification class:

<?php

namespace App\Notifications;

use Illuminate\Notifications\Notification;
use Illuminate\Notifications\Messages\MailMessage;
use Mpdf\Mpdf;

class PdfNotification extends Notification
{
    /**
     * Get the notification's delivery channels.
     *
     * @param  mixed  $notifiable
     * @return array
     */
    public function via($notifiable)
    {
        return ['mail'];
    }

    /**
     * Get the mail representation of the notification.
     *
     * @param  mixed  $notifiable
     * @return \Illuminate\Notifications\Messages\MailMessage
     */
    public function toMail($notifiable)
    {
        $mpdf = new Mpdf();
        $mpdf->WriteHTML('My first PDF');

        $data = $mpdf->Output('', 'S');

        return (new MailMessage)
            ->line('Hello.')
            ->attachData($data, 'test.pdf', [
                'mime' => 'application/pdf',
            ]);
    }
}

(keep in mind I DO NOT implement ShouldQueue interface).

$user->notify(new PdfNotification()); ($user is instance of User model).

Method createPayload is never called unless you queue a job, moreover you generate and attach the file in a method, which means it's not serialized, the method is called after the class is unserialized.
Looks like something else in your code is causing the error.

You're right.  I'm experiencing the same thing right now.


Add type-safe invoke higher-order function

invoke will receive an arbitrary amount of functions and/or tuple of function and its arguments, as its (invoke) argument and will return nothing
example usage should be
declare function close(): void;
declare function sort(arr: any[]): void;
const data = [3, 4, 2, 4, 8, 9, 1];

declare function complicated(a: any, b: any, c: any): void;

invoke(close, [sort, data], () => data.push(100), [complicated, { hi: 'mom' }, { hello: 'world' }, ['docs']]);

is this overcomplicating stuff? honestly it looks kinda wack when mixed with some imperative style and lots of arguments, but I think it should make sense when it's done with #74

Yes, it is


Fixed minor bug in percent complete calculations (divide by 0)

When the job finishes, PercentComplete becomes NaN as TotalBytesExpected is 0. It fails the JSON marshaling when --output-type=json

@Ze, was this just for 1 summary? Does it also need to be fixed for the sync job summary in addition to copy (or vice versa)?

@ze, was this just for 1 summary? Does it also need to be fixed for the sync job summary in addition to copy (or vice versa)?

Oh yes, I forgot that code is duplicated.. I'll fix it for sync too.


can't find inner product in semantic learning branch from code "att_normalization"

The paper says "We give n initial desired semantic entities, and define their correlation to the feature points of the image as their inner product"
but in code, there's no inner product of any feature points.
x_mask_filters = tf.Variable(tf.random_normal(shape=[1, 1, c, nClass]), name='mask_filters')
x_mask = tf.nn.conv2d(x, x_mask_filters, strides=[1,1,1,1], padding='VALID')
layout = tf.nn.softmax((alpha * fast_activations + x_mask) / kama, axis=3) # b x h x w x n
plus, in the Regional Normalization part of the code, xv is used instead of x (which is written in paper).
Could you understand me? thank you.

In this code snipplet, x_mask_filters stands for n semantic entities, and we conduct the inner product between these entities and the image feature points using convolution by treating n entities as convolutional filters, just as
x_mask = tf.nn.conv2d(x, x_mask_filters, strides=[1,1,1,1], padding='VALID')
This is also described in our paper L20-26, P3.

I understood. Thank you.

Also, could you let me know where's denormalization part in code?
xn = tf.reduce_sum((xv_expand-xv_mean)/(xv_std+eps)*layout_expand, axis=-1)
seems to do Regional Normalization without Denormalization.
Sorry for bothering. Thank you!


Added music created by void and updated credits.

@xX-Void-Xx Are you happy with the credits and LICENSE.txt?

of course! this is looking good. thanks for the credits


Contact Button&Link update

Fixed issue of contact link and button by updating with given mail-id.

Sure..
will make the changes in file as mentioned above.

@harikesh409  I have added form action to the required mail-id.


Amend RFC #195 to clarify associated lifetime syntax

Per rust-lang/rust#17842, this will probably turn all lifetime identifiers into lifetime paths preceded by '. As a concrete example:
struct Bar<'r>(...);

trait Foo {
    lifetime 'a;
    lifetime 'b: 'Self::a = 'Self::a;

    fn foo(&'Self::a self) -> Bar<'Self::b>;
}

impl<'a> Foo for &'a i32 {
    lifetime 'a = 'a;
    lifetime 'b = 'static;

    fn foo(&'a self) -> Bar<'static> { ... }
}

fn baz<'b, F, G>(f: &F, g: &G) where
    F: Foo,
    G: Foo<'a = 'F::a>,
    'F::a: 'b,
{
...
}

CC @aturon.

I take it nothing happened here yet?  I presume the issues are similar to -> impl Trait in traits?


Make data-plane default tag

Description
Add your description here!
Checklist
To ensure a quick review and merge, please ensure:

[ ] The PR has a understandable title and description explaining the why and what.
[ ] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[ ] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[ ] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[ ] At least one +1 review by a CODEOWNER
[ ] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

Would you please link the issue number this is addressing in the PR description?  This makes it easier to find the PR from the issue.

Would you please link the issue number this is addressing in the PR description? This makes it easier to find the PR from the issue.

attached the issue link

Mostly ok, but I'm not sure about generation1ConvenienceClient name. It is very confusing. It isn't a track 1 generator


HTML

HTML
##User Story
As a bootcamp student
i want the prework notes to be structured on a webpage
so that i can easily find and read information
##Acceptance Criteria
GIVEN a Prework Study Guide webpage
WHEN I visit the website in my browser
THEN i see four boxes titled HTML, CSS, Git, and JavaScript with associated notes listed

Close issue


Fix up calicoctl configuration docs

Our calicoctl configuration docs had some pretty bad formatting, and didn't discuss the k8s backend.

@djosborne comments addressed!


Adpaters: Streaming Interface? Migratable Interface?

I'm trying to see if I can get a sqlite adapter working with sails 1.x. I've forked https://github.com/AndrewJo/sails-sqlite3 which has a pretty good base of the Semantic and Queryable interfaces, but I wanted to extend it a little and make any changes needed to work in 1.x. (Specifically to implement Migratable.)
However the documentation on Custom Adapters is very confusing right now. The Migratable interface documentation at https://github.com/balderdashy/sails-docs/blob/master/contributing/adapter-specification.md is listed as the "Experimental" status, and there is no Streaming interface in those docs. The only reason I know a Streaming interface exists is because the docs page listing supported Adapters shows that most of the official ones support streaming.
Instead of me trying to guess from many different sources, could you update the documentation on Adapter interfaces?
(BTW, love sails. Keep up the good work! But don't forget documentation :) )

Hi @kcappieg,
Just wanted to let you know we are consolidating all of Sails issues into one repo.
~Cheers


Conflict with Webpack's 5 Federated Modules (Invalid hook call)

When trying to consume a federated module that uses styled-components, React throws the "Invalid hook call" error.
Environment
System

OS: macOS Mojave 10.14.6
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Memory: 1.13 GB / 16.00 GB
Shell: 3.2.57 - /bin/bash

Binaries

Node: 12.16.1 - /usr/local/bin/node
npm: 6.13.4 - /usr/local/bin/npm

Dependencies

<EMAIL_ADDRESS><EMAIL_ADDRESS>
Reproduction
See this repository for reproduction code:

https://github.com/oncet/federated-modules-styled-components

It contains 2 npm projects. Do npm install on both and start them in order (first foo then shell). Once everything is running, if you navigate to /foo you should see that the app crashes.
Steps to reproduce

Create an npm project which exposes a component that uses styled-components.
Create another npm project that consumes and renders the federated module.

Expected Behavior
React should be able to render the styled component.
Actual Behavior
React throws a Invalid hook call error on the console when trying to render the styled component.

You probably need to share react, or some context dependency of styled components. Make sure that these things are registered as singletons. If you post a repo somewhere I can take a look. Pretty sure we've seen this one before already at webpack.
Check all the relevant repos, hosts and remote are sharing react and react dom, singletons.
Make sure they share styled components. If you're using dynamic imports, that's best. If this is a static import it's sub-optimal.
What it sounds like is either another copy of react is being pulled across, or there's two separately theme or context providers being created.

Actually just checking your repo. The issue is you're sharing react too simply. Check my module federation example repo again and you'll see I'm configured differently.
Use semver on react. Webpack probably doesn't know what to do and your using beta 16 style config. You want to specify react more explicitly with a semver value. React as a string. Webpack doesn't know how to handle, so sometimes it will guess or it might just not take the risk on unversioned modules that require singletons
Here's all my latest changes to every example in my repo. This is the optimal solution. I'd recommend
https://github.com/module-federation/module-federation-examples/pull/426
There's also advanced api examples for more sophisticated things.

new ModuleFederationPlugin({
      name: "shell",
      filename: "remoteEntry.js",
      remotes: {
        order: "order@http://localhost:3002/remoteEntry.js",
        dashboard: "dashboard@http://localhost:3001/remoteEntry.js",
        profile: "profile@http://localhost:3004/remoteEntry.js",
        shell: "shell@http://localhost:3000/remoteEntry.js",
      },
      exposes: {
        "./Shell": "./src/Shell",
        "./Service": "./src/Service",
      },
      shared: [
        {
          ...deps,
          react: {
            singleton: true,
            requiredVersion: deps.react,
          },
          "react-dom": {
            singleton: true,
            requiredVersion: deps["react-dom"],
          },
        },
        // Workaround explaination: https://www.youtube.com/watch?v=-LNcpralkjM&t=540
        "./src/Service",
      ],
    }),

Thank you very much for your support. With this information I was able to solved the problem.
I only added react as a singleton in foo/webpack.config.js and it seems to be working fine.
new ModuleFederationPlugin({
      name: 'foo',
      filename: 'remoteEntry.js',
      exposes: {
        './Foo': './src/App',
      },
      shared: [{ react: { singleton: true } }],
    })

I couldn't make the publicPath: 'auto' config work though.

You need to remove scripts from html if you have them. Also make sure to share react dom as well. Don't want multiple react instances loading.

I removed the linked scripts from the HTML already. I didn't share react-dom because I'm only using it on the shell (going for a single entry point approach).
Still trying out this wonderful new feature.

If you don't share it though then remotes will download their own copy. Trust me you want to share it if it's installed on anything else. If it's not. Then you're good

I'm seeing this issue too.  I really would like to use module federation.
I'm on
"react": "16.13.1",
"react-dom": "16.13.1",
Using styled components is ok for me, but when I use ant design, it crashes with
react.development.js:1465 Uncaught Error: Invalid hook call. Hooks can only be called inside of the body of a function component.

Hi guys. Do you find any solution??

I am facing the same problem, any solution for this?

Hi guys. Do you find any solution??

I am facing the same problem, any solution for this?

Same issue


rmq_tracing plugin is not working and gives a 500 error.

Hi Team, we have enabled 'rabbitmq_tracing' plugin in Pivotal RabbitMQ release version: 210.8.0.
We are able to see the tracing tab enabled in the administrator console however while we click on it, it gives a 500 Error with the error description as below. Request your help here.
Error trace::
webmachine error: path="/api/trace-files"
{error,{error,{badmatch,{error,eacces}},
[{rabbit_tracing_files,list,0,[]},
{rabbit_tracing_wm_files,to_json,2,[]},
{webmachine_resource,resource_call,3,[]},
{webmachine_resource,do,3,[]},
{webmachine_decision_core,resource_call,1,[]},
{webmachine_decision_core,decision,1,[]},
{webmachine_decision_core,handle_request,2,[]},
{rabbit_webmachine,'-makeloop/1-fun-0-',2,[]}]}}
Thanks,
Guru.

This is a RMQ clustering setup with 2 RMQ nodes.

That plugin writes files to a local file system and in your case encounters an EACCESS.

Since rabbitmq-tracing is nothing more than a trivial consumers and logger/UI for RabbitMQ firehose, I'd question its usefulness in environments such as PCF. Use a small app that consumes traces and is deployed to CF instead.

Lastly, rabbitmq_tracing.directory can be used to override trace logs directory location.

Hey Mike, thanks for taking a look.
Yes, we are trying to debug an issue with p. RMq and hence we want to enable tracing temporarily.
Is there a way at all to enable tracing. For now all we did was enabled rabbit_tracing property under the plugins section. Should there be any other properties added under jobs for the tracing plugins to work.
I'd appreciate if you give us pointers or share a sample manifest. We don't want to take the sample app route to capture trace at this point of time and would want to leverage enabling the plugins through bosh release.
Thanks

@GuruprakashS please see the comments above.

@michaelklishin : Thanks for the pointer. Based on your comment we thought rabbitmq_tracing.directory to be a property under properties section of rmq-server section. But later we figured out that the following section in the manifest is to be added for the tracing plugin to work.
properties:
    rabbitmq-server:
    config: <%= ["[{rabbitmq_tracing, [{directory, "/my/log/file/location"},{username,  "guest"}]}]. "]%>


Guard against node.declaration being null

Seems I caught an edge case for the ES6 export syntax.
I checked the spec and declaration can, indeed, be null. https://github.com/estree/estree/blob/master/es6.md#exportnameddeclaration

Thanks!

Sorry to hijack this issue, I currently get a crash with the following syntax:
export * as example from "./example";

using the "stage-0" preset. Does this PR fix that? (It's not published yet from what I can understand) If not, is it because this plugin doesn't support the experimental export syntax? If it's a valid bug, I can open a new issue. Thanks!

@mathieumg just added a test for it in #51, will publish when travis finishes

@mathieumg I just published 3.0.1 which includes this fix.

That was fast, thank you!


Ability to Provision a lambda between 8 AM to 8 PM and turn it unprovisioned during Non Business hours

Hi,
Could you please add Lambda Provision Scheduling, this will help provision lambdas during the normal business hours and turn it off during non business hours.
Please find the AWS Blog for reference: https://aws.amazon.com/blogs/compute/scheduling-aws-lambda-provisioned-concurrency-for-recurring-peak-usage/
Automate the scheduling of Lambda Provisioned Concurrency with
      ScheduledActions:
        - ScalableTargetAction:
            MinCapacity: 250
          Schedule: 'cron(45 11 * * ? *)'
          ScheduledActionName: scale-out

Thank you,
Naveen

Hi @naveenbalaneni thank you for the issue.
This plugin is focused on autoscaling using the built in target tracking metrics. For that I'm not sure this request applies since it is for scheduling. My suggestion is to creat the necessary cloud formation resources that should cover it.
Thank you.
Clay

@hemanthj this can be closed due to lack of activity.

I would love this feature too. I tried forever to implement it myself, but it's really, really difficult.


RGB frame is not showing

Hi @100ws  Which camera firmware driver version is installed in your D435i camera, please?  You can find this information by clicking on the iInfo' option at the top of the Viewer's options side-panel.  The recommended firmware for 2.38.1 is <IP_ADDRESS>.
From the next firmware version onwards (<IP_ADDRESS>), 2.39.0 became the minimum RealSense version due to internal changes in the firmware.

Hi @100ws Which camera firmware driver version is installed in your D435i camera, please? You can find this information by clicking on the iInfo' option at the top of the Viewer's options side-panel. The recommended firmware for 2.38.1 is <IP_ADDRESS>.
From the next firmware version onwards (<IP_ADDRESS>), 2.39.0 became the minimum RealSense version due to internal changes in the firmware.

I am using <IP_ADDRESS> version for realsense viewer 2.38.1

It appears that the RGB stream is not activating at all even though it is enabled, as frame count and frames per second (FPS) are zero.

Are you using the official 1 meter USB cable supplied with the camera or a USB cable of your own choice, please?
Is the depth stream able to be started successfully?
Please open the Viewer's debug log by clicking on the small upward arrow icon in the bottom corner of the Viewer window.  Are there any warning messages listed there?

It appears that the RGB stream is not activating at all even though it is enabled, as frame count and frames per second (FPS) are zero.

Are you using the official 1 meter USB cable supplied with the camera or a USB cable of your own choice, please?
Is the depth stream able to be started successfully?
Please open the Viewer's debug log by clicking on the small upward arrow icon in the bottom corner of the Viewer window. Are there any warning messages listed there?
![image](https://user-images.githu

busercontent.com/41145062/279413460-bbe2a6e8-a3a8-494d-9489-bd604247a917.png)

It appears that the RGB stream is not activating at all even though it is enabled, as frame count and frames per second (FPS) are zero.

Are you using the official 1 meter USB cable supplied with the camera or a USB cable of your own choice, please?
Is the depth stream able to be started successfully?
Please open the Viewer's debug log by clicking on the small upward arrow icon in the bottom corner of the Viewer window. Are there any warning messages listed there?

I am using the official cable please see these viewer log error

The Frames didn't arrived within 5 seconds warning in the log confirms that camera data is not being provided, though does not provide a reason why.
I note in the first of the new set of images you have enabled Depth, RGB and Motion Module.  Enabling all three streams can cause the white RGB panel with the No Frames Received message at its center.  Does RGB appear if you reboot the computer, launch the Viewer and only enable Depth and RGB but not Motion Module?
The reboot is necessary because once all three streams have been enabled and the RGB stream is No Frames Received, closing and re-opening the Viewer will not correct the problem.  The computer needs to be restarted to correct the issue.

The Frames didn't arrived within 5 seconds warning in the log confirms that camera data is not being provided, though does not provide a reason why.
I note in the first of the new set of images you have enabled Depth, RGB and Motion Module. Enabling all three streams in the RealSense Viewer can cause the white RGB panel with the No Frames Received message at its center. Does RGB appear if you reboot the computer, launch the Viewer and only enable Depth and RGB but not Motion Module?
The reboot is necessary because once all three streams have been enabled and the RGB stream is No Frames Received, closing and re-opening the Viewer will not correct the problem. The computer needs to be restarted to correct the issue.

I have reboot many time same error is coming

Has the RGB stream of your D435i ever been able to be displayed since you purchased the camera, or did it work at first but stop working at a later date?

No its not come never after buying it.

If you purchased the camera less than 1 year ago then it should still be within its warranty period.  You could therefore consider contacting the retailer that you purchased the camera from to enquire about returning it.

Hi @100ws  Do you require further assistance with this case, please?  Thanks!

Yes How should I process it for return if I buy it from amazon

Case closed due to no further comments received.


[2413] Add missing information UI for diversity section

Context
With disclosure not specified

With disclosure, but missing diversity information

Changes proposed in this pull request
Guidance to review
Add a trainee, and try out various combinations of diversitiy information.

 [M] Missing information UI (Diversity section)

I think this needs a rebase, quite a few bits have been changed in the source branches


mod_proxy_cluster.c send HTTP/1.0 requests

Hi,
Our security team as noticed that HTTP/1.0 requests are sent when using modcluster.
It is due to mod_proxy_cluster.c : in http_handle_cping_cpong method, we can see the request is built using the code "OPTIONS * HTTP/1.0\r\nUser-Agent: ".
I don't know well how it works, but perhaps "HTTP/1.0" should be changed into "HTTP/1.1" ?
Regards,
Frederic

Our security team as noticed that HTTP/1.0 requests are sent when using modcluster.

Can you please clarify why is that problematic? Having said that, I dont see a reason why not to use HTTP/1.1 in the http_handle_cping_cpong function.

They're afraid about http/1.0 ;-)

I would just note that httpd contains similar code; in server/mpm_unix.c
data = apr_pstrcat(p, "OPTIONS * HTTP/1.0\r\nUser-Agent:
                   ap_get_server_description(),
                   " (internal dummy connection)\r\n\r\n", NULL);

I meant to comment on this in the meantime - actually I think this is intentional, since HTTP 1.0 is just simpler and e.g. connections are by definition not persistent.
Can you @jfclere please confirm and/or close the issue?

Actually Apache httpd sever code also used "HTTP/1.0".
HTTP/1.1 was added in 2.4.55 see https://httpd.apache.org/docs/2.4/mod/mod_proxy_hcheck.html
Adding a mod_proxy_cluster directive to allow HTTP/1.1 would be possible but that does make the connexion safer, using TLS and client certificates would make the connexion encrypted.


Docs: Add ViewState Documentation

Docs: Add ViewState Documentation
:recycle: Current situation & Problem
As pointed out in https://github.com/StanfordSpezi/SpeziLLM/pull/61#discussion_r1720129130 , ViewState was lacking documentation.
:gear: Release Notes

Add ViewState documentation.

:books: Documentation
.
:white_check_mark: Testing
.
:pencil: Code of Conduct & Contributing Guidelines
By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

[x] I agree to follow the Code of Conduct and Contributing Guidelines.

Thank you for working on the documentation @paulhdk; greatly appreciated!
I added some comments, let me know if you have any follow-up questions. You should also have write access to all Spezi repos to create a branch right in the repo so the CodeCov checks are passing with your next PR.

I initially tried pushing a branch directly into the SpeziViews repo, but wasn't able to do so. There might have also been something wrong on my end, so I'll do some more investigating for my next PR.
Thank you for all your comments, @PSchmiedmayer! I've addressed them all. PTAL.


How could I properly slow down Profile.get_followers() ?

I looked at the documentation, old issues here #118 , and the code snippets, but somehow still cannot figure out how I would properly slow down the get_followers() method.
When calling it on a 600 followers profile it worked, on a 90k profile it fails.
I create the session, login, and do the following:
>>> profile = instaloader.Profile.from_username(L.context, PROFILE)
>>> profile_followers = list(profile.get_followers())

Which gives me:
Too many queries in the last time. Need to wait 626 seconds, until 15:25.
^CTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/site-packages/instaloader/structures.py", line 745, in get_followers
    self._rhx_gis))
  File "/usr/local/lib/python3.7/site-packages/instaloader/structures.py", line 740, in <genexpr>
    yield from (Profile(self._context, node) for node in
  File "/usr/local/lib/python3.7/site-packages/instaloader/instaloadercontext.py", line 483, in graphql_node_list
    data = _query()
  File "/usr/local/lib/python3.7/site-packages/instaloader/instaloadercontext.py", line 465, in _query
    return edge_extractor(self.graphql_query(query_hash, query_variables, query_referer, rhx_gis))
  File "/usr/local/lib/python3.7/site-packages/instaloader/instaloadercontext.py", line 450, in graphql_query
    session=tmpsession)
  File "/usr/local/lib/python3.7/site-packages/instaloader/instaloadercontext.py", line 354, in get_json
    self._ratecontrol_graphql_query(params['query_hash'])
  File "/usr/local/lib/python3.7/site-packages/instaloader/instaloadercontext.py", line 316, in _ratecontrol_graphql_query
    time.sleep(waittime)

I'm wondering if looping over the profile.get_followers() generator object, paired with a sleep in each iteration would work, but then I would need to keep it running until the whole list is done, otherwise it will restart from the beginning...
Instaloader is supposed to limit requests automatically, yet what if I need to slow it down further?
Any ideas on how I could do that?
Thank you already for any help!

Okay, so I attempted to save these three parts per profile as I had looked at the uncomplete metadata of another download and saw these were in it without additional request.
        f["username"] = follower.username
        f["userid"] = follower.userid
        f["is_private"] = follower.is_private

Turns out that when I only save the username it works perfectly fine, currently doing 50 profiles ( == 1 request) with a 35s timeout and I have downloaded 60k profile names so far.

@zerotraceme does this still works ? If yes can you share the complete code please ?
thanks

@roncam82 haven't used it in ages and honestly no idea if it still works...


feat: Input with label on right

Type: feat
Ionic Version: 2.x
Platform: all
I want to add icon or label like 'kg' or 'lbs' in the end of the input, it means on right
You can see the example that i made with ion-grid
https://s15.postimg.io/qx60qvvgb/Screenshot_20160825_132725.png

Hello! We are moving our feature requests to a new feature request doc. I have moved this feature request to the doc and because of this I will be closing this issue for now. Thanks for using Ionic!

Hello all! While this is an awesome feature request it is not something that we plan on doing anytime soon. Because of this I am going to move this to our internal feature tracking repo for now as it is just "collecting dust" here. Once we decide to implement this I will move it back. Thanks everyone for using Ionic!

This issue was moved to driftyco/ionic-feature-requests#58


Add a simple editor for text symbolizer

This adds a simple editor for TextSymbolizers, which allows to edit the

text color
font type
text opacity
text size
text offset

of the label / text:

I'll merge so we can make a new release.


Ensure downstream CI can run envtest successfully

Closes #70.
Updates the Makefile invocation when running the unit tests to ensure we're able to install the requisite envtest executables in a directory path that's writable in CI. Add a barebones testing suite to ensure we're not regressing on envtest capability.

This doesn't affect anything user facing, and only affects our dev testing suite. Manually the requisite labels.
/label px-approved
/label docs-approved
/label qe-approved


Adding and deleting CurrencyPair Symbols on exchanges

Hello, i would like to ask you how can i add/remove new currency pairs on many exchanges on the project?I am seeing some new currency pairs on some exchanges and i would like to add them to the operational pairs of the exchanges.
Thanks

Hi @makarid
Please take a look at https://github.com/timmolter/XChange/pull/1973/commits/f6dffd317ceed39ce8a76bda98f543271cd522da
You need to amend those two classes to add currencies and currency pairs respecitevely.
&k

Thanks a lot for your response.After i do that,how can i add them to the ExchangeSymbol method.Thanks

About my previous question i think i found it!
I want to add some new CurrencyPairs to some exchanges (because they have add support on those) in order, when i call the getExchangeSymbols method of that exchange, i will get the new List of CurrencyPairs that this exchange supports. My question is, in order to do that, do i need to modify the .json file of the specific exchange and add the new CurrencyPairs in the currency_pairs column of the exchange json file?
Thanks a lot

        MarketDataService marketDataService = bitmex.getMarketDataService();         Currency c = Currency.getInstance("XBTZ18");         Currency c2 = Currency.getInstance("");         CurrencyPair cp = new CurrencyPair(c,c2);         Ticker ticker = marketDataService.getTicker(cp);         System.out.println(ticker.toString());


Analysis view UI plugin

What does this pull request change?

Changes Analysis view to be UI-plugin based
Adds separate Analysis views (UI-plugins) for "Operator" and "Experts"

Simplified view for operators
Only display actions (New job, schedule, ACL, edit analysis) for experts
Link to result, rather than job, for non-experts
Remove controls from job table for non-experts

Adds a utility for fetching roles, which accounts for any impersonated roles
Require type attr for entities
Removes the "heading" below the header, as it does not provide any additional value
Resolves deprecation warnings on rowsMax => maxRows (EDS)

Why is this pull request needed?

To use UI plugins for Analysis view
To allow for simplified "Operator" views

Issues related to this change

Resolves #1218

nice!
I got an error when having the role "expert-operator" in the expert view. For other roles, the expert view works

Fixed!


Validation scoring using shuffled subsamples

Hi,
The cross validation performed in the 00-pentapeptide-showcase.ipynb notebook under feature selection appears to be incorrect. In the score_cv function, the feature trajectories are subsampled randomly without replacement using np.random.choice. This produces a non-sequential (shuffled) and unevenly-spaced trajectory. How can a lag-time be specified for VAMP scoring when the data are shuffled?
Also, as currently implemented, score_cv does not perform "cross validation" proper (though not explicitly stated in the notebook it's implied by the function name), which splits the data into k folds, each one being used once as validation and the remaining times as part of the training set. In this sense there is no need to define number of folds k and validation fraction, since if k = 5 for example, the validation fraction is by definition 0.2. It would also be performed without shuffling for the reasons stated above.
Alternatively, if there are some n*k independent trajectories, then each fold can consist of a subset of the trajectories.
If I am mistaken and it is possible to subsample in the manner currently implemented in the notebook, I would definitely appreciate an explanation. If not, then I would be happy to make the correction and submit a pull request, or leave it up to you.
Thanks for the excellent work and contribution!
Hythem

Hi @hsidky, thanks for raising this issue!

In the score_cv function, the feature trajectories are subsampled randomly without replacement using np.random.choice. This produces a non-sequential (shuffled) and unevenly-spaced trajectory.

Considering frame-wise subsampling, you are correct. Here, however, we are subsampling entire (independent) trajectories (as you have mentioned as an alternative for k-fold cross validation).

Also, as currently implemented, score_cv does not perform "cross validation" proper (though not explicitly stated in the notebook it's implied by the function name), which splits the data into k folds, each one being used once as validation and the remaining times as part of the training set.

Yes, we do not use a "proper" k-fold cross validation. Instead, we randomly split the 25 independent trajectories into training and test sets and repeat this process.

If I am mistaken and it is possible to subsample in the manner currently implemented in the notebook, I would definitely appreciate an explanation.

I agree, this approach needs a more detailed explanation.
Thanks again for pointing this out and your offer to contribute 👍


Fix rsa large exponent keys

Add crypto/rsa fork back in to fix large exponent keys.

They rejected it last time: https://github.com/golang/go/issues/17970 might be worth it to try again.

Ah, urg, ok. What about the other approach, which is to shitcan this key.  Does that break this guy's account?

It does, unfortunately. But we had this for years until I accidentally switched to importing crypto/rsa instead, so we are essentially just fixing the regression here. I think there may be more people in similar situation who hasn't reported it.

OK 👍


Cannot be combined with serde std

I'm writing a library which uses serde and which may be used with or without std present. I also need to do some JSON manipulation. The serde-json library depends on alloc, which I can't do, so I have to use this library. However, this library seems to not compile if I compile it with serde having the feature std enabled. Specifically, this is the compile error I get:
error[E0277]: the trait bound `de::Error: StdError` is not satisfied
   --> serde-json-core-0.4.0/src/de/mod.rs:661:6
    |
661 | impl de::Error for Error {
    |      ^^^^^^^^^ the trait `StdError` is not implemented for `de::Error`
    |
note: required by a bound in `serde::de::Error`
   --> serde-1.0.137/src/de/mod.rs:299:1
    |
299 | declare_error_trait!(Error: Sized + StdError);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `serde::de::Error`
    = note: this error originates in the macro `declare_error_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `ser::Error: StdError` is not satisfied
   --> serde-json-core-0.4.0/src/ser/mod.rs:458:6
    |
458 | impl ser::Error for Error {
    |      ^^^^^^^^^^ the trait `StdError` is not implemented for `ser::Error`
    |
note: required by a bound in `serde::ser::Error`
   --> serde-1.0.137/src/ser/mod.rs:183:1
    |
183 | declare_error_trait!(Error: Sized + StdError);
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `serde::ser::Error`
    = note: this error originates in the macro `declare_error_trait` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0277`.
error: could not compile `serde-json-core` due to 2 previous errors

I encounter this issue if I make a new package and put this crate and serde as dependencies. For reference, it compiles fine if I don't include the std feature on serde. Also, I'm using rust version 1.61.
Can this crate be changed to not break if it gets used with serde with std enabled?

Oh, my bad, I missed that this feature exists. Thanks.


Asynchronous stdin

I'm trying to do something similar to what termion does with async_stdin in cases where there are other streams that can cause draws, like an irc client. Do you have any pointers how something like this can be done? :)
Thanks!

I think the most straight-forward thing would be to just use non-blocking mode with getch(). So just set nodelay(true) (https://docs.rs/pancurses/0.15.0/pancurses/struct.Window.html#method.nodelay) and call window.getch() periodically.

@ihalila I've solved this by setting a timeout of 100ms for getch :) https://github.com/kpcyrd/syrup-rs


External contacts config form uses dropdown instead of tabs

Hello,
on Fedore 26, if you select the local address-book as external address-book it will not show any suggestions. Additional after closing jitsi and open it again it will lose the option and select e.g. LDAP instead.
Version 2.11.5589 running on in Fedora 26.
Regards,
Af0x

I'm not sure I understand the problem. Jitsi on Linux doesn't have a local addressbook like on Windows (querying Outlook) or on Mac (querying whatever the built-in OSX app for contacts is). The available options to configure on Linux are thus Thunderbird and LDAP.
The dropdown also doesn't revert to anything, it is a configuration selector like a tab panel. Admittedly, this is a rather bad UI design. I'm leaving the issue open to change this to a tab panel.

it would be nice if under Linux the Evolution address book could be utilized. Evolution is the default e-mail client under GNOME desktop: https://en.wikipedia.org/wiki/Evolution_(software)

Sure, but I simply don't have the resources to create and maintain yet another plugin. Feel free to help out and create a pull request.

that´s above my skill level. I´m just the guy with the ideas and visions ^^


cranelift-codegen: Add support for immediate to memory moves in x64

This change adds support for immediate to memory moves in x64 which are needed by Winch for zeroing local slots.
This change follows the guideline in isa/x64/inst/emit and uses other instructions (immediate to register moves) as a base for the test cases.
The instruction encoding expectation was derived by assembling each instruction and inspecting the assembly with objdump.

@cfallin thanks for the review; Im requesting a re-review since aside from addressing your comments, I uncovered a bug in the 16-bit case, in which the operand size override (LegacyPrefixes::_66) was missing, so I ended up refactoring the emission to take this into account, aside from that everything else is the same.


Add support for Xml code documentation exported to header

When a xml documentation file is found parallel to the assembly,
this is used to produce code documentation in the C header file.
So just add your XML comments to the function:
/// <summary>
/// Test documentation
/// </summary>
/// <param name="pString">Pointer to string</param>
/// <returns></returns>
[UnmanagedCallersOnly(EntryPoint = "my_ReleaseString")]
[return: DNNE.C99Type("MyStatusCode")]
public static int ReleaseString([DNNE.C99Type("const char**")] System.IntPtr pString)

Enable "XML documentation file" with same file name as assembly with xml extension.
At the moment the path must be set to the intermediate directory (e.g. obj\Debug\net5.0\ExportingAssembly.xml)
And the generated header will produce the following C header
// Computed from MyWrapper.MyExports.ReleaseString
/// <summary>
/// Test documentation
/// </summary>
/// <param name="pString">Pointer to string</param>
/// <returns></returns>
DNNE_EXTERN_C DNNE_API MyStatusCode DNNE_CALLTYPE my_ReleaseString(const char** pString);

@AaronRobinsonMSFT So I still got one problem. Maybe you can help out there. I see in the DNNE-targets the usage of the IntermediateAssembly. The problem with this path is, that there is no documentation file at the same location. This is normally only in the root and the output path. I changed the XML documentation file to obj\Debug\net5.0\ExportingAssembly.xml and then it works. I could also generate an third parameter for the XML documentation file in dnne-gen, but I have no idea, how to transfer this into the DNNE-targets.

Now only a good hint, how to integrate it into DNNE-targets is missing...

Now only a good hint, how to integrate it into DNNE-targets is missing...

I would update the following to provide a path to the xml file. This way we could pass something akin to -d $(XmlDocFile). I would do the existence checking in MSBuild and then dnne-gen can just consume the supplied doc file as needed.
https://github.com/AaronRobinsonMSFT/DNNE/blob/385ea4aafc7ed81a46a0c1209ff7f12e8578ac93/src/msbuild/DNNE.targets#L72
Flag parsing in dnne-gen.
https://github.com/AaronRobinsonMSFT/DNNE/blob/385ea4aafc7ed81a46a0c1209ff7f12e8578ac93/src/dnne-gen/Program.cs#L110-L140

@AaronRobinsonMSFT So I added the command line option, this was the easy part. Put how to put the variable through the "TARGETS"?

@AaronRobinsonMSFT So I added the command line option, this was the easy part. Put how to put the variable through the "TARGETS"?

This is relatively easy but does require working with MSBuild. The first thing is to determine how the project system computes the documentation file and then pass that to the command line. Using a binlog would be informative here as it will help you understand where property are set and what values exist during compilation - pass /bl as an argument to dotnet build.

@climblinne My quick investigation yields that the property containing the name of the file is $(DocumentationFile). A quick guess at what would be needed to enable this is something like below. The built-in MSBuild condition functions can be found here.
<PropertyGroup>
  <DocFlag Condition="Exists($(DocumentationFile))">-d "$(DocumentationFile)"</DocFlag>
</PropertyGroup>

<Exec Command="$(DnneGenExe) @(IntermediateAssembly) $(DocFlag) -o @(DnneGeneratedSourceFile)" />

Thanks for the help. I think, from my side it's working now. Just enable "GenerateDocumentationFile" in the project settings and add some xml documentation to the export function.

@climblinne This looks great. I pulled it down and it works as expected for me too. Two final bookkeeping asks.

Add an entry to the FAQs about how to get documentation pushed into the header file.
Update ExportingAssembly.csproj with the following properties so we can have some testing of the process.<GenerateDocumentationFile>true</GenerateDocumentationFile>
<!-- Disable warnings about missing comments -->
<NoWarn>1591</NoWarn>

@climblinne Thank you! I will publish a new package in a few days.

@climblinne A new package with this support has been published https://www.nuget.org/packages/DNNE/1.0.31. Thank you for the contribution.


Update readme

The readme in this repo is now completely outdated. I think we can remove many things and really only keep/update the essential information.

addressed in #755


ng-repeat time bug

i tried to use your datetimepicker in ng-repeat and have a bug when time was changed, label haven't changed. You can see this at https://yadi.sk/i/hwMldtrIbmwFY

@chegeras Can you be a bit more specific ? This response is probably not coming right on time but its better now then never!


chore: Add new PR reviewers and approvers

Dear nominees,
Please approve this PR to confirm that you agree to become a new reviewer, approver for the kserve/kserve project and that you would like to accept the responsibilities and the commitment to the KServe project that come with those roles as outlined in the KServe contributor guidelines.
Consent from new reviewers/committers checklist:

[x] Rachit Chauhan (@rachitchauhan43)
[x] Sivanantham Chinnaiyan (@sivanantha321)
[ ] Lize Cai (@lizzzcai)
[ ] Curtis Maddalozzo (@cmaddalozzo)
[x] Andrews Arokiam (@andyi2it)

Note: @yuzisun pointed out that most of the nominated contributors are not currently reviewers. Those contributors would be promoted to the role of reviewers instead of skipping ahead to become approvers for now.

Closes kserve/community#5

Thanks @rachitchauhan43 @sivanantha321 @andyi2it

@cmaddalozzo @lizzzcai  -- What do you think about becoming official KServe reviewers?

@cmaddalozzo @lizzzcai -- What do you think about becoming official KServe reviewers?

Hi @ckadner, grateful for the KServe reviewer invitation. I am excited to contribute more and embrace increased community responsibility. Thanks.

I am approving on behalf of @cmaddalozzo who is on parental leave right now.

Welcome everyone!!  Really appreciate all the awesome work! Also Thanks @ckadner for doing this!
/lgtm
/approve


Fixed Param Encoder Bug For Fixed Bytes

Thanks again for how much work you put into contract functionality here. Unfortunately, I'm going to be officially deprecating this project. It simply doesn't get the maintenance attention that it needs being a critical piece of a Hedera stack in Go.
See #49 for more details.


Edit Readme (and other documentation)

I think the project readme is already getting too long and/or verbose.
It would maybe be best if the readme contained only the minimum needed information (subjects), such as the demo-gif, how to set up prm and get started, etc., so as to not overwhelm new users.
Other information, such as notes on contributions, could go into the wiki.
I would appreciate input about what should go where, be rewritten (and how), and so on.

Should also document project vision, design goals, typical use cases, prm's place, etc.

I can't - for the life of me - figure this out. I've got experience working on python projects (mostly for CS classes, using pipenv for environment management).
It might be a little late, but I'd love to help write up some documentation - but I need setting up.

Exactly what can't you figure out?
What kind of setting up do you need?

Bump @DannyDannyDanny

Project Structure:
projects
└── my-python-project
    ├── Pipfile
    ├── README.md
    ├── myscript.py

Procedure

cd path/to/projects/ (project consists of Python3 pipenv and single python file)
prm add my-python-project

Return:
$EDITOR is not set.
You will not be able to add, copy or edit projects.

What is going on? What is the $EDITOR keyword?

I started out writing python in TextEdit and running it using the native python installation.
Now I use Atom and Pipenv.

Update
Added export EDITOR="/usr/local/bin/atom" to .zshrc
Do you reckon this step could be added to ReadMe? (perhaps with a couple different common options) Would've saved me the googling.


added search engine toggle

I added a radio button to allow the user to choose between Google and DuckDuckGo. Feel free to merge into yours if you want!

Did you manage to incorporate filetype:html, !safeoff as well as !ducky into duck duck go? I was failing. :(

@peterberbec what does !safeoff do in this context?  (I want to be careful not to disable NSFW filters when they do exist, since I'm sure people are using it at work occasionally)
@humantorch thank you for the PR!  My only concern is that any type of choice might break the simplicity -- I'm thinking it might be good to have an "advanced settings" area in a hidden location for power users (and make it possible to set settings via querystring).
If you don't mind I might try to incorporate your button into that kind of interface.
Regardless, I'd love to have duckduckgo simply be the default for everyone.

@slifty !safeoff does exactly that, disables nsfw filtering. Issue I had when I played with DDG was it was stall the page if it encountered a safe page

@peterberbec No, all I did was prepend the search terms with a \ character which invokes DDG's version of I Feel Lucky.
@slifty No worries at all, feel free to use anything I added as you see fit. Your point about not wanting to over-complicate things is totally valid. I'd originally just swapped in DDG for Google and it worked fine, and then thought "what the hoo-ha might as well make it a choice" so it's not like I'd spent hours agonising over the UI. ;)

@slifty It's been 3 years since this project has seen any commits, and I see there's some really neat pull requests. I'd love to see some customization added to it. I'm going to start using this! I really like that it's just an html file, so all you need to run it is a browser.


Jetty 12 support

Proposal
Spring Boot 3.2 has upgraded to Jetty 12. Because of incompatibilities with WireMock (we use 3.3.1) we cannot upgrade to Spring Boot 3.2. Is support for Jetty 12 in the pipeline?
References
https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.2-Release-Notes

Wanted to close this as duplicate not as completed.


Issue/479 specify server cli arguments

fixes #479
As discussed, we're changing the settings field to contain just Trace Server Path and Tracer Server Arguments (set by default to '-vmargs -Dtraceserver.port=8080').
Previous implementation was to have a Trace Server Port argument. This PR assumes that valid arguments are provided and makes use of regEx to extract the port from the arguments string. What validation can we put to check if the provided arguments are valid?

A heads-up that #484 has been merged and you'll need to rebase your change on top of it. It touches the spawning of the server.

A heads-up that #484 has been merged and you'll need to rebase your change on top of it. It touches the spawning of the server.

Here's the updated preferences:

This PR assumes that valid arguments are provided and makes use of regEx to extract the port from the arguments string

Isn't there a paradox here? We assume that valid arguments are provided, but we still check the port using RegExps?
What happens when we swap to a different Trace Server with a CLI that doesn't have the same port argument format?
I'd leave the CLI validation to the spawned program and get a way to display initialization errors coming from the child?

@bhufmann Default cli args provided through Preference Description


Support negative direction of integration

This PR adds support for negative direction of integration in the common interface bindings. Therefore if the problem has tspan[2] < tspan[1], it will correctly integrate backwards of time.

Coverage increased (+0.3%) to 17.807% when pulling bf2b996c1c456993f57134850c566bd6ca75e129 on backwards into 9058b5ea4958a8711206018b0a3281395648b86d on master.

Coverage increased (+0.3%) to 17.807% when pulling bf2b996c1c456993f57134850c566bd6ca75e129 on backwards into 9058b5ea4958a8711206018b0a3281395648b86d on master.


Do not use static_assert to try and  constrain the types you are developing

https://dbj.org/c-foot-gun-with-a-timer/

Not sound advice to me, as static_assert gives much better diagnostics—which is very important when other people are not using the template as intended.

static_assert is not type constraint. "wrong" type can be created if static_assert is used only. for example std::string_view is not type constrained, it uses only static_assert:
  // compiles no warnings
   using wrong_type = std::string_view<void ***> ;

That is also "not using a template as intended".  The key issue is:
static_assert does not constrain the type definition
Why do I bother?

What's your point? If you believe my code should not use static_assert somewhere, point it out and we can discuss case by case. This is a not a place to discuss abstract coding guidelines.

The key point (to your benefit) is this is not an "abstract coding guideline".
Managing a project where the programming language (and library based on it) of choice allows planting timebombs is difficult.
One developer very rarely makes a bug. Many developers very often produce many more bugs than one developer.
Why increasing the risk if you can mitigate it considerably?
Using C++ to develop a core lib, you can dictate type constraints. Do so. As early as possible.
That is my point :)
ps: Hint. C++20 introduces the new paradigm that is called "constraint" :wink:. If std::  started in 2021 you would see type constraints all-around a place.

Please focus on issues.
In case you do not know, I presented on "concepts" as early as 2017.
https://github.com/adah1972/cpp_summit_2017
However, first, they are not really usable in C++17 code; second, static_assert is the best when you just want to report a clear failure message (as versus skipping the current overload/specialization, etc.).


Update site.config.js

You don't need to create a PR; just keep your changes in your fork. Cheers :)


Feature request: Add policy for selecting as latest any alias tag that matches the latest tag

When pushing new release tags to image repositories, it's a common practice to also update the special tag latest to the new release tag being pushed.
It would be really nice if ImagePolicy could have a policy option for selecting as latest some specific alias tag that points to the same image currently pointed by the latest tag.
My company uses git commit SHAs as image tags, and none of the three current policy options work great for this use case. For example:
apiVersion: image.toolkit.fluxcd.io/v1beta2
kind: ImagePolicy
metadata:
  name: podinfo
spec:
  imageRepositoryRef:
    name: podinfo
  policy:
    latestAlias: true

Then when I push the tag 90780e5f8f821983cdab22a6a528154e2e00a935 and also update latest to point to this tag, then 90780e5f8f821983cdab22a6a528154e2e00a935 becomes the latest tag choice of this policy.
This works much better than simply hardcoding imgrepo:latest in the deployment, because imgrepo:latest doesn't cause the pods to be restarted with a newer image when the latest tag is updated. By using the image update automation features of Flux I would be able to be specific with which version I'm running, and also cause the pods to be restarted with a newer version when the latest tag is updated in the image repository (because this event would be reflected as a config change in the deployment with the specific alias tag selected by the policy).
What if there are multiple tags matching the special tag latest at the moment? Which one to choose? For my specific use case this wouldn't happen, but for a more general solution then the same policy options already available could be applied for this subset of tags. For example:
apiVersion: image.toolkit.fluxcd.io/v1beta2
kind: ImagePolicy
metadata:
  name: podinfo
spec:
  imageRepositoryRef:
    name: podinfo
  latestAlias: true
  policy:
    alphabetical:
      order: asc

In this case latestAlias: true moves up under spec and then after filtering the tags by this criterion the other policies available for picking a specific tag could be applied.

By the way when I use the word "alias" here I don't mean any particular feature of any particular piece of software, I just mean that all the image tags pointing to the same concrete image can be considered "aliases" of each other, i.e. just the meaning in plain English.

Hello @aristapimenta and thank you for submitting this feature request!
I think this could be a valid use case for situations where users don't have the ability to change the tagging format and can only rely on the latest or other rolling tags. However, for other situations, where the user does have the ability to control the tagging format, I think it would definitely be better to use sortable image tags as it can be way more convenient and predictable.
This could probably be implemented better as a policy type (calling it rolling based on Bitnami's approach) and once we have latest tag digest implemented, we could just use that in the image update automation rather than pick one of the other tags associated with the latest tagged image.
A possible spec would look like this:
apiVersion: image.toolkit.fluxcd.io/v1beta2
kind: ImagePolicy
metadata:
  name: podinfo-latest
spec:
  imageRepositoryRef:
    name: podinfo
  policy:
    rolling:
      tag: latest # pointing to the tag to track

I would imagine a possible image automation configuration with setter markers would end up looking something like this: image: podinfo:latest@sha256:<digest> # {"$imagepolicy": "flux-system:podinfo-latest"} (note that this is not currently supported).
The only downside I see is that you will not be able to easily correlate the image tag back to the git commit from the workload state itself.
I'm positive this would work for your use case. Let me know what you think of this alternative implementation proposal.

Thanks @relu, it's so exciting to see Flux moving forward so fast! I'm very happy to see that you actually already got covered part of the request with the digest fetching feature.

The only downside I see is that you will not be able to easily correlate the image tag back to the git commit from the workload state itself.

I'd say this is enough in most cases and if I was just by myself, that would definitely be enough for me. But we use git SHA especially to correlate images with git easily. Can I discuss this with my teammates and come back to you?
By the way, is the reason for this counter-proposal a technical limitation or is it just from a design perspective?

By the way, is the reason for this counter-proposal a technical limitation or is it just from a design perspective?

A bit of both. From the design perspective, I think having this defined through a policy type makes more sense than introducing a new spec attribute, since there's no value in combining that with the existing policy types as the tag never actually changes so there's no reason to process the single-item list of tags. Note that I mentioned nothing about adjacent matching tags pointing to the same manifest as latest, the reason for that is explained below.
There is also a technical limitation because of the registry API as it doesn't allow us to retrieve a list of tags starting from a single tag. Tags are pointers to manifest digests and the relationship is unidirectional, discovering all tags that point to the same manifest is cumbersome and requires multiple calls being made to the registry API.

Yeah I'd rather not add this unnecessary extra burden on the controller and on the registry API (and get rate-limited), definitely aligned with this choice.


Temporary MacOS fixup

This branch contains temporary fix-ups for MacOS runners and is used by the logging-log4j2 builds.
We should follow actions/setup-java#625 to see what the definitive solution will be.

It seems that switching from Temurin to Zulu is enough for now.
Zulu is not cached on the runners, so let us wait to see how the environment of macOS 14 runners will evolve.

Fixed in 321af9e27d892eb6cfeaa7f97301adb50a718a21 by replacing Temurin with Zulu everywhere.


[DDC] Step-by-step backup and restore procedure

The current docs for both UCP and DTR are not prescriptive enough and it's up to users to figure out how to implement proper backup and restore policies.
There is some confusion about what data is backed up, and if that backup is node or cluster specific.
Also it's not obvious whether the restore command should be used to restore a single node that is down, or the whole cluster.

Duplicate of #1722 and #1724


Optional: Add Azure Key Vault

Set up and configure Azure Key Vault to store user secrets, and use MSI with Azure Functions to connect to Key Vault and retrieve secrets. Demonstrates security best practice.

Added in latest commit.


Serializer

For #1065 atn @CJ-Wright
Note the prefix is not serialized using the serializer. This piece is interpreted internally by the zmq Publisher and RemoteDispatcher.

Awesome!

Codecov Report

Merging #1069 into master will decrease coverage by 0.05%.
The diff coverage is 76.19%.

@@            Coverage Diff            @@
##           master   #1069      +/-   ##
=========================================
- Coverage   89.55%   89.5%   -0.06%
=========================================
  Files          50      50
  Lines        8371    8410      +39
=========================================
+ Hits         7497    7527      +30
- Misses        874     883       +9

Impacted Files
Coverage Δ

bluesky/tests/test_zmq.py
81.37% <75.67%> (-1.96%)
:arrow_down:

bluesky/callbacks/zmq.py
75.57% <80%> (+0.37%)
:arrow_up:

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 d9abfdd...50e0630. Read the comment docs.

codecov is complaining because there are lines run in a separate thread and hence the coverage is unknown to it

I think this is good to go unless there are objections?
The failed test is a bluesky magics test also failing on #1068


improvement Add table name and predicates

Proposed changes
Issue Number: close #xxx
Problem Summary:
Add information of table name and column predicates in profile:
    VOLAP_SCAN_NODE (id=0):(Active: 12s858ms, non-child: 99.62%)
       - Table: lineorder_flat
       - OlapFilters: [{c_city IN [UNITED KI1, UNITED KI5]}, {lo_orderdate >= [19920101]}, {lo_orderdate <= [19971231]}, {s_city IN [UNITED KI1, UNITED KI5]}]

Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Maybe we can remove the VconjunctExprTree in the profile by the way.


landscape and portrait

Hi Dear;
How can i detect the video is in landscape or portrait mode?
Your output is always 1280x720 even though the video is in landscape mode and portrait. it supposed to be 1280x720 for landscape and 720x1280 for portrait mode.

Any luck with this? @lee-ngeap

This is an old issue but commenting in case it helps someone in the future:
The resolution does not always guarantee the orientation. You will want to use MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION to find if a video is in a portrait or landscape orientation.


Accessibility Audit - Carbon Website: Guidelines - Color

This epic is tied to a larger "release" that is meant to track the progress of the Accessibility Audit for the Carbon Website. We will audit all of the pages of the carbon website based on AVT 1, AVT 2, & AVT3 - which can be found here.

AVT 1: will audit the site against the IBM Accessibility Checker - browser extension

AVT 2: will audit the site against accessible keyboard interactions

AVT 3: will audit the site against screen readers

Legend:

🌶 fully audited - on all three AVT levels

:one: 🔍 AVT 1 audited
:two: 🔍 AVT 2 audited
:three: 🔍 AVT 3 audited

:boom: issues and documentation - on all three AVT levels are complete

:one: 🚨 AVT 1 issues submitted
:two: 🚨 AVT 2 issues submitted
:three: 🚨 AVT 3 issues submitted

:sparkles: tickets are triaged

Current status of this page:

Guidelines - Color

Overview: 8 total violations
Usage: 68 total violations
Code: No new issues - 7 total violations
1⃣ 🔍 AVT 1 audited & 🚨 AVT 1 issues submitted

Closing due to inactivity. Will reopen if/when ready to be worked on again.


[Core] WebSocket alternative to AJAX

I already know this works because I have experimented with it in the past, but decided to remove it because of the way it was implemented (codebase is much better to work on now :). This mode wil only be available in Node backend.
This needs to be re-done

[x] Add connection to build.json
[ ] Create new abstraction in server.js
[ ] Split out to connections/http.js
[ ] Split out to connections/ws.js
[ ] In frontend call() function add new handling (this is the only function that needs update)
[ ] Uploads can also be handled through websockets, so change the internal VFS module to support this

Thoughts on using Socket.io? It provides both through one interface.

+1 Socket.IO I used it in a chatting application that I built for fun. Very nice API.

@RyanRiffle I was thinking of (ws)[https://github.com/einaros/ws], but have not decided yet. From what I can gather this is the fastest and slimmest module of them all. It lacks support for fallback, but in this case it does not matter. I have tried quite a few of the alternatives, and Socket.IO is the second in my list... unless someone convinces me otherwise ;)

The main reason I suggested Socket.IO was, in my opinion, that it would make the api code clear and concise. From what I gather from ws is that it is just a websocket implementation. Socket.IO has ajax polling and websockets allowing for one object prototype to handle both without having to provide two separate implementations for all api calls. Granted I have not done much research on ws aside from the project readme.

@RyanRiffle That was the fallback i was talking about. In this case it does not matter because OS.js will use the appropriate one. (API::call() is the abstraction function which will detect based on configuration and/or compability depending on how the user built OS.js)

@RyanRiffle I was not very clear on that... API::call() is the function which is called everywhere in the code to communicate with the server process. This function is abstract and will either use the connection method that has been configured by the deployer. The configuration supports: ajax, websocket and automatic

@RyanRiffle The main reason I'm looking at ws is that it looks to be really lightweight and will not introduce anything redundant. I already have a AJAX-connection handler and I really just need a raw websocket implementation. I do not care about support for older browsers and client libraries (which is mostly used because of backward compability) so this seems like a good choice.

Ohh I understand now. I am still parsing through the projects code, I must not have understood completely. That would not be too bad then. Sorry about that.

@RyanRiffle No worries. I appreciate the input. It has been hard to get any input from the public; and to start a discussion is even harder. So, if you have anything on your mind about this project let me hear it :) If you have any questions at all regarding how OS.js works on a low level (like exactly this) i just opened up issue #49

Merging with #11


Meise link on tools page

Meise was commented out in 70be266, but there is still a link to it on the tools page. Should that go away, too?

Missed that one. Could you remove it please?

fixed with #59


Get Accounts Operation for SSO extension [common core]

Targeting sedemche/sso-extension instead of sedemche/sso-extension-release for readability.
Will change the target branch later.

Few nits, otherwise looks good to me.

Close as another PR with same change got merged.


Decorations: codicon icons appear quite large

Editor labels now use the lock icon to indicate readonly state and the icon is quite large:

This seems to be using a font size of 16px, while normal decorations are at 90% of our default font size (13px).
I understand we cannot use the same size to make icons appear nicely, however 16px seems quite large.
Here is 14px as comparison:

I think this changed with https://github.com/microsoft/vscode/commit/aa454714b70a18cc5b3e1aa392e83bda114af735 so assigning to Daniel.

The icons were designed to be at least 16px so they are really blurry when smaller on 1.0 device pixel ratio displays.

I'd also be in favor of adjusting the font-size to an actual pixel instead of a percent since that has caused issues with alignment within decorators.

@misolori i think anything less than 16 will cause all lines to be blurry, these lower dpi displays are still capture most users I believe.

Experimenting for #134121, here's how the readonly indicator looks at 12px. I have put the tab into a locked group for comparison.

Perhaps this makes it less likely that @isidorn will want to click it 😄

I think this also causes the pin icon to appear larger than it used to be:

Yeah I was about to suggest the same, only have small variants for the ones we use, maybe same name but suffixed -small?