PeerPad welcome page is gone

When entering https://peerpad.net, I no longer see the nice Welcome page it had once before
Also, the security disclaimer is gone.
Can we have both back?

All that has been in the plan since the spring ... it has been a victim of planning priorities.
The only reason the current unfinished site is live is because the old version never worked well, and the new one was an improvement, and I launched it quickly so I could talk about it at the IPFS Meetup in Barcelona... it was clear that if we waited for everything we wanted, it wasn’t going to launch. Looking forward, it’s not clear how I can get development cycle time on it beyond maintenance in my extra time ... hopefully it gets some OKR love some time in the future.

Understood. I believe that the welcome page is a good to have and that the security banner is a must have. If you were to estimate the amount of time necessary to bring those 2 back, how many hours/days would you say?

That's a tough question ...
On the face of it, it should only take a few hours to make some HTML changes.
After discussion with @parkan, who was doing project management at the time, the welcome page was removed very intentionally so it could be replaced with something that better tells the current narrative. Initially, we were going to scale the project up as peer-base became something we were going to sink major development time into, but then it unexpectedly got scaled to zero. I liked some elements of the original landing page, but it overpromised and was a bad fit with the current state of the project.
I personally did not like the implementation of the security banner... I strongly feel it missed an opportunity. It did not attempt to educate users about the security model (which is actually a huge improvement over traditional web applications) - it's function was to scare and bounce users.
I feel that the current needs of the project are to move the project to a footing where it is readily able to accept volunteer community contributions, and is less dependent on continuous PL-funded developer time. That's a different narrative, and a different landing page. The education component might be better accomplished by integrating the landing page experience deeply into the UI of the "app" instead of masking off the app with a static layout.

very well put @jimpick!
I stand by the decision to remove the landing page, both at that time (when the intent was to make a lean tool to dogfood and iterate) and as a broader product decision. See #303, #304 and https://github.com/ipfs-shipyard/pm-peer-pad/issues/35 for rationale.
I do agree that we need an explanatory notice/experimental warning and CTA for potential contributors, the way we discussed doing this was by linking out to a blog post. The perpetually uncertain fate of the project has been the main blocker.
@jimpick: I could take a day sometime in the next couple of weeks to help out with this if you want to give it a try?


Update to correct Roslynator link.

The current Roslynator link does not appear to be correct.

@kmgallahan : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@Mikejo5000: I'm sorry - only the author of this article, @jillre, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off Hi, can you make an exception? I need to get these re-assigned to myself as the author. Thanks.

@Mikejo5000: I'm sorry - only the author of this article, @jillre, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off


Improved update check/download feedback UI & added upload/download indicator and status

Problem:
The only feedback seemingly given is:

"failed to fetch update" (which could mean a myriad of different "no connectivity" scenarios--dns failure, no wifi/cellular connection, no internet connection, github is down, etc--and doesn't necessarily mean "an update exists, but it failed")
An eventual "here's the update" screen (long after the process initiated and finished, entirely unbeknown to the user while in progress)
No indication of successful check and/or no update, just "last update check" timestamp changing
A grayed out "check" button while a download is in progress

When I tap "check" and it is grayed out, I have no idea that 0.8.14 is actually being downloaded/processed, until I leave the screen and come back and can tap "check" again, with the same zero-feedback.  I have no idea if there's significant latency, some problem, or that a download is in progress.
Similarly, "last update check: now" when manually tapping "check" isn't descriptive.  If I were to check my comma3 shipping status or tracking number and the only feedback options were "404", "checked" (not "awaiting shipment", "shipped", "tracking number xyz", etc...only "checked"), and "delivered", that wouldn't be helpful.  Or, a perpetual "checking..." screen which is analogous to the grayed out "check" button and the 0.8.14 update being downloaded and background processes in action.
There's no way to know that any uploads/downloads are in progress.
Request:
The manual "check" button should have better feedback of what's going on and what went on.
Just slightly more specific errors, like "no internet connection" or "github/whatever unresponsive" or "download failed" (maybe internet is lost mid-download?).
Show that an update was found and is being downloaded/processed.
Show that a successful, manual update check occurred, like the button changing to "No updates".
There should also be an at-a-glance indication, without digging through menus, that uploads/downloads are in progress, even in the background.
From the at-a-glance indication, a quick and easy means to tap and view specifics of the uploads/downloads.  For instance, if I'm sitting in my car after the engine is off, I should be able to see that uploads are in progress.  And from there, tap to see details like "2/524" or "2/3", and I can watch a progress bar for the current upload so that I can decide if I want to take it inside for faster uploading, depending on the situation of uploads, upload speed, and time until the comma3 will probably shut off.

A really nice updater UI is on the list for new designs. New design is rolling out incrementally (see #24638).  Closing this since we're tacking the new design project internally.


Cannot access protected property ::$_id

I have document with protected $_id; and function getId() but the error show in Operation/InsertOne.php in line 83:
$insertedId = is_array($this->document) ? $this->document['_id'] : $this->document->_id;

When I remove that line, document is inserted with new id without problems.
PHP 7.0.1, mongodb v2.6.11, mongodb driver 1.1.1.
.

Can you share your document class implementation? If the class is implementing our BSON Serializable interface, you've reached an edge case I allude to here. This requires a change to the extension (PHPC-382), which I hope to implement in 1.2.0.
I believe this would only occur for a Serializable classes, as other objects would only get their public properties encoded (protected/private properties are ignored per persistence documentation). In that case, BulkWrite::insert() would have needed to generate an ID, which would then have been returned and you'd never reach the offending code.
As a temporary work-around, we should be able to invoke bsonSerialize() from userland and capture the ID.

Opened PHPLIB-157 to track this.

My class implements \MongoDB\BSON\Persistable and I use Transistor at the moment (I added \MongoDB before BSON\... to all classes in Transistor.
class Document implements \MongoDB\BSON\Persistable {

    use Transistor;

protected $_id;

...

function __construct() {
	    $this->_id  = new \MongoDB\BSON\ObjectID();
    }
function getId() {
        return $this->_id;
    }

    ...


npm release is 1.1.4 but latest edition on Git is 1.1.3

Per the subject...
Having read the issues page, I suspect that 1.1.4 on NPM is a beta build not meant for Vue 1.0 users.

No worries, that was fixed shortly after the accidental publish.
Sorry, I just forgot to create a GitHub release for v1.1.4. Thanks for reminding me!
Will do it in a moment, after I finish an update to the 2.0 beta (v-model support).
Cheers!

@SirLamer https://github.com/monterail/vue-multiselect/releases/tag/v1.1.4


Keep relay logs, when MasterFailoverDetachReplicaMasterHost: true

When MasterFailoverDetachReplicaMasterHost: true, the stop slave and change master are sent to promoted server and all relay logs are removed.
It also happens even if, ApplyMySQLPromotionAfterMasterFailover": false.
From mysql docs:

Prior to MySQL 5.7.4, CHANGE MASTER TO deletes all relay log files and starts a new one, unless you specify RELAY_LOG_FILE or RELAY_LOG_POS. In that case, relay log files are kept; the relay_log_purge global variable is set silently to 0. In MySQL 5.7.4 and later, relay logs are preserved if at least one of the slave SQL thread and the slave I/O thread is running; if both threads are stopped, all relay log files are deleted unless at least one of RELAY_LOG_FILE or RELAY_LOG_POS is specified.

Does it make sense to add "RELAY_LOG_FILE=current_relay_log_file", which will do nothing, but keep the relay logs after change master?
Also in case of GTID, MASTER_AUTO_POSITION=0 should be added otherwise:

ERROR 1776 (HY000): Parameters MASTER_LOG_FILE, MASTER_LOG_POS, RELAY_LOG_FILE and RELAY_LOG_POS cannot be set when MASTER_AUTO_POSITION is active.

The full statement may look like this:
change master to master_host='\\dbserver', master_port=3306, relay_log_file='relay-bin.000002', master_auto_position=0;

So I am looking for possibilities to have only "detach" and keep relay logs with running sql thread.

Got it.
I happen to know of a contributor who has made a patch they intend to push upstream: upon failover, the newly promoted master will first consume all of the relay logs, before making the final promotion (setting read-only=0 etc.)
So I will wait for their contribution (which I hope will surface in the next few weeks).

Ok. That might solve my problem as well. Let's wait. Thank you.

@shlomi-noach, btw, as a proposition: does it make sense to add more details to the description of MasterFailoverDetachReplicaMasterHost in code and documentation?
For me it was not expected that it cleans the relay logs. So some people may be confused as well.
That might be also better to decide after the patch. I just leave the comment here to not forget :).

does it make sense to add more details

It does indeed. Would you consider making a documentation PR? If not, I can do so later.

Regardless, let me consider your suggestion for setting AUTO_POSITION=0 and RELAY_LOG_FILE. There is risk in setting MASTER_AUTO_POSITION=0 because we lose the knowledge that a server used to use AUTO_POSITION and when reattaching we don't know whether we should keep it with 0 or change to 1.
The information can be encoded in the "detached" hostname.

Yes, I see the problem here.
After 5.7.4 the change master can be executed without stopping slave. With running sql_thread relay logs are not removed. So there is no need to add RELAY_LOG_FILE and change AUTO_POSITION:

MySQL 5.7.4 and later, relay logs are preserved if at least one of the slave SQL thread and the slave I/O thread is running; if both threads are stopped, all relay log files are deleted unless at least one of RELAY_LOG_FILE or RELAY_LOG_POS is specified.

But for 5.6, if I am not wrong,stop slave is a must before change master.
Is it good idea to check version and act differently depending on it?? Also it means that for 5.6 the logs will still be removed.
PS: I would be glad to do PR and adjust documentation.

Since the replication will have been broken (this is a master failure scenario), IO thread will have been stopped. I wouldn't count on SQL thread to keep on running as the sole thing to keep relay logs from being purged on change master to.

Yes, you are right.
I agree, none of the proposed solutions are perfect.
Regarding the losing value of auto_position...hard to estimate, how bad it is. Some people would accept it. Maybe add other parameter like MasterFailoverDetachReplicaMasterHostKeepRelayLogs that will keep the logs, but lose the auto_position?
Sorry, don't see good solution for now.

@shlomi-noach we just found StopSlaveNicely do wait stuff for all slaves in sortedReplicasDataCenterHint。is it just done "will first consume all of the relay logs, before making the final promotion "?  cc @yangeagle

ping @shlomi-noach


idiomatic.js

Perhaps worth mentioning idiomatic.js in the resources as well?

I hadn't seen that before, and it certainly looks like a good resource.
The purpose of Sencha's repo (here) is that we wanted people to fork our guidelines and make them their own... so I'd encourage you to do just that and add the link :-)
We may update this repo over time, but for right now we wanted our list of resources to include content that we found particularly meaningful.

ok, I see your point!


Error importing downloaded videos

I have been getting this error every time I try to import videos. I am running  rpi4 on Ubuntu 20.04LTS.  And why is the log saved at /root? I had to give my user account permission to /root dir. Wouldn't it be better to save it under current user home directory?
I would like to say thank you for putting your time and effort into building this project. I really like the UI and it's so much better than fiddling with Plex to add YouTube videos. It would be nice if you could build a docker container  for armv7 and aarch64 architecture.
$ uname -a
Linux ubuntu 5.4.0-1025-raspi #28-Ubuntu SMP PREEMPT Wed Dec 9 17:10:53 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux
$
$
$ sudo npm run import -- -f "/media/U/YT/Gigguk\ -\ \[UC7dF9qfBMXrSlaaFFDvV_Yg\]/Summer\ Anime\ 2020\ in\ a\ Nutshell\ -\ Gigguk\ -\ 20200731/" -j "Imported Videos" -c -r

><EMAIL_ADDRESS>import
> node --require dotenv/config import.js "-f" "/media/U/YT/Gigguk\\ -\\ \\[UC7dF9qfBMXrSlaaFFDvV_Yg\\]/Summer\\ Anime\\ 2020\\ in\\ a\\ Nutshell\\ -\\ Gigguk\\ -\\ 20200731/" "-j" "Imported Videos" "-c" "-r"

Connecting to database with URL: mongodb://localhost:27017/youtubeDlDB...
[youtube-dl-import-script] Connected
npm ERR! code 1
npm ERR! path /home/ubuntu/Pulled-Projects/youtube-dl-react-viewer/youtube-dl-express-backend
npm ERR! command failed
npm ERR! command sh -c node --require dotenv/config import.js "-f" "/media/U/YT/Gigguk\\ -\\ \\[UC7dF9qfBMXrSlaaFFDvV_Yg\\]/Summer\\ Anime\\ 2020\\ in\\ a\\ Nutshell\\ -\\ Gigguk\\ -\\ 20200731/" "-j" "Imported Videos" "-c" "-r"

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-12-27T02_21_19_666Z-debug.log

Contents of the log file.
0 verbose cli [
0 verbose cli   '/usr/bin/node',
0 verbose cli   '/usr/bin/npm',
0 verbose cli   'run',
0 verbose cli   'import',
0 verbose cli   '--',
0 verbose cli   '-f',
0 verbose cli   '/media/U/YT/Gigguk\\ -\\ \\[UC7dF9qfBMXrSlaaFFDvV_Yg\\]/Summer\\ Anime\\ 2020\\ in\\ a\\ Nutshell\\ -\\ Gigguk\\ -\\ 20200731/',
0 verbose cli   '-j',
0 verbose cli   'Imported Videos',
0 verbose cli   '-c',
0 verbose cli   '-r'
0 verbose cli ]
1 info using<EMAIL_ADDRESS>2 info using<EMAIL_ADDRESS>3 timing config:load:defaults Completed in 5ms
4 timing config:load:file:/usr/lib/node_modules/npm/npmrc Completed in 2ms
5 timing config:load:builtin Completed in 2ms
6 timing config:load:cli Completed in 5ms
7 timing config:load:env Completed in 0ms
8 timing config:load:file:/home/ubuntu/Pulled-Projects/youtube-dl-react-viewer/youtube-dl-express-backend/.npmrc Completed in 3ms
9 timing config:load:project Completed in 4ms
10 timing config:load:file:/root/.npmrc Completed in 0ms
11 timing config:load:user Completed in 0ms
12 timing config:load:file:/usr/etc/npmrc Completed in 1ms
13 timing config:load:global Completed in 1ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 2ms
16 timing config:load:setUserAgent Completed in 1ms
17 timing config:load:setEnvs Completed in 3ms
18 timing config:load Completed in 24ms
19 verbose npm-session c408603b672bd44c
20 timing npm:load Completed in 47ms
21 timing command:run-script Completed in 1414ms
22 verbose stack Error: command failed
22 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/index.js:64:27)
22 verbose stack     at ChildProcess.emit (node:events:376:20)
22 verbose stack     at maybeClose (node:internal/child_process:1063:16)
22 verbose stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:295:5)
23 verbose pkgid<EMAIL_ADDRESS>24 verbose cwd /home/ubuntu/Pulled-Projects/youtube-dl-react-viewer/youtube-dl-express-backend
25 verbose Linux 5.4.0-1025-raspi
26 verbose argv "/usr/bin/node" "/usr/bin/npm" "run" "import" "--" "-f" "/media/U/YT/Gigguk\\ -\\ \\[UC7dF9qfBMXrSlaaFFDvV_Yg\\]/Summer\\ Anime\\ 2020\\ in\\ a\\ Nutshell\\ -\\ Gigguk\\ -\\ 20200731/" "-j" "Imported Videos" "-c" "-r"
27 verbose node v15.4.0
28 verbose npm  v7.0.15
29 error code 1
30 error path /home/ubuntu/Pulled-Projects/youtube-dl-react-viewer/youtube-dl-express-backend
31 error command failed
32 error command sh -c node --require dotenv/config import.js "-f" "/media/U/YT/Gigguk\\ -\\ \\[UC7dF9qfBMXrSlaaFFDvV_Yg\\]/Summer\\ Anime\\ 2020\\ in\\ a\\ Nutshell\\ -\\ Gigguk\\ -\\ 20200731/" "-j" "Imported Videos" "-c" "-r"
33 verbose exit 1

Hmm, the Dockerfile should build on the Pi, since the Node image used as the base is available for armv7.
Have you been able to import any other videos? Check if there is a job called "Imported Videos" in the admin UI. If there isn't, create one (It may be case-sensitive) and try the import again

I haven't been able to import any other videos. This is silly but I can't seem to login to the superuser account using credentials I provided in youtube-dl-express-backend/.env. I can register an account though.

I'm not sure of any official way to fix that login issue - it could have been caused by editing the superuser details in the backend .env after the webapp's first launch
There are two workarounds you could try:
Workaround 1
Since you have no videos yet, delete the database youtubeDlDB from the mongodb server, restart the webapp backend and try logging in again.
Workaround 2
In the backend .env file, change the superuser username to something else (e.g. from "bsage" to "bsage1"), restart the webapp backend and try logging in again.

Deleting the database solved the login issue. But now it can't seem to add imported or download videos to the database. Please refer to my last comment


Is it possible to learn more than 2 edge-types in unsupervised manner?

Hello, thank you for your great work and nice code.
I saw the supplementary material, and it said that NRI can learn "known" 3 edge types (no-interaction, weak spring, strong spring).
In this sentence, dose "known" mean that NRI can learn the relations only in supervised manner, not in unsupervised manner?
In the source code, is it right that relation-supervised training is not implemented?
Again, thank you for your great work!

The number of edges is a parameter that can be set to any number of edge types (of course not all numbers might work well). When we said "known" we didn't mean supervised manner, but that the number of edge types is known in advance as it is a simulation created by us.

Thank you for the reply!
Now, I'm trying to reproduce the results, and generate a dataset of simulation that has 3 edge-types (weak spring, strong spring, no-interaction)
The number of data is 50000, and training, testing sequence number is 49, validation sequence number is 99, and skip-first is True, (same as 2 edge-types dataset) and I changed "edge-types" variable to 3.
When generating dataset, to create "edges" ground-truth, I set "no-relation" to 0, "weak spring" to 1, "strong spring" to 2.
When I trained NRI with 2 edge-types dataset (that I generate myself), It reaches to about 99% accuracy.
However, it reached only 40% accuracy when the number of edge-types are 3 with the settings described above.
I will try more, but could you give me some advice for better reproducing, if any?

Thank you for your questions. I have not reproduced the results of this paper and I'm not very clear about the non-interaction edge type. Since there is no interaction between the non-interaction edge type should we directly ignore the non-interaction edge type in the decoder? E.g. If we use z_{ij}=[0,1] to denote interaction and z_{ij}=[1,0] to denote non-interaction, in the decoder should we write the edge embedding as: h^t_{ij} = z_{ij,0}fe([x^t_i, x^t_j]) ?

Thank you for the reply!
Now, I'm trying to reproduce the results, and generate a dataset of simulation that has 3 edge-types (weak spring, strong spring, no-interaction)
The number of data is 50000, and training, testing sequence number is 49, validation sequence number is 99, and skip-first is True, (same as 2 edge-types dataset) and I changed "edge-types" variable to 3.
When generating dataset, to create "edges" ground-truth, I set "no-relation" to 0, "weak spring" to 1, "strong spring" to 2.
When I trained NRI with 2 edge-types dataset (that I generate myself), It reaches to about 99% accuracy.
However, it reached only 40% accuracy when the number of edge-types are 3 with the settings described above.
I will try more, but could you give me some advice for better reproducing, if any?

I think in the paper they mean there are still 2 edge types(interaction or non-interaction) in the labels, but add an 3rd unknown(non-exist) edge in the encoder.


Instagram module

Proposed Method: [Method Name]
Implementation of the Instagram module
Description
The Instagram module is not implemented at all
this module could be used to scrape the pfp of the user account details like private/public account number of followers following
number of posts also a list of followers and following
To what class it belongs?: Instagram
Example Usage

Could you assign this issue to me for GSSoC'23? I would like to work on this.

Hi @SajeelHashmi , Would you assign me this issue under GSSOC?

hi @nikhil25803
I would really like to work on this issue. Please assign this issue to me. I am a contributor of GSSOC'23.

hello @SajeelHashmi
As a contributor of GSSOC'23 I would like to work on this. Can you assign this to me?

Hi @SajeelHashmi
I am a GSSoC'23 contributor andhave been exploring this particular domain of scraping already.Could you assign this issue to me?

I want to work on this issue.
@SajeelHashmi Please assign me this issue, I have been working on many projects to scrape websites for data using python.
Thanks.

Great idea @urvi-swl, I have just added an Instagram module. With the fetch followers function of a user. I'll be raising more issues on this corresponding to each function.
Propose the Method name as well while raising an issue, like followers(), or following().

@urvi-swl | @Swapnil-Singh-99 | @alivia-ansari | @adhikari-pratik | @shrish-shete20 | @A15h
Closing this issue for now, please raise issues corresponding to each method, not whole at once.


v2.0.3 TypeError: Cannot read property 'split' of undefined

So I'm using "vue-flux": "^2.0.3"
After page load after sometime (around 5 sec i think) it show in console following error:

[Vue warn]: Error in mounted hook: "TypeError: Cannot read property 'split' of undefined"
found in
--->  at turn3d.vue
 at VueFlux.vue
 at src\components\slider.vue
 at src\App.vue

TypeError: Cannot read property 'split' of undefined

I also did push this change into my repo demo. Please check it out I want to use your package because animations looks really great.

I run into this too and i fixed it with right image resources

Thank you for taking the time of reporting too, its better to keep issues separated.
NMonst4 is right, the problem is caused because can't load the images.
I recommend you to move them to static folder and set the paths to:
                'static/csgo.jpg',                 'static/lol.jpg',                 'static/dota.jpg'
I'll add some code to remove the sources not loadable.

It's working. Great, thank you.


Serve compressed non-root index.html files when filename is omitted

This PR allows zipserver to serve compressed index pages on non-root directories.

Thank you for this change! 👏


Clarify accordion page with usage of post-accordion-item and post-collapsible

At several places on the page, we are talking about container post-collapsible, but no example shows it. Is this information needed for the user?
https://next.design-system.post.ch/?path=/docs/components-accordion--docs

Merge with #2569


add disclaimer pop out

The security warnings are related to noopeners on the gov links. We don't need them in that case so we can let it slide. Feel free to add them if you want but I dont think it's required in this case


fix import path to gorilla mux

Hi,
Google Code is closing, so goexpose should replace the import path.
go get -v github.com/phonkee/goexpose/...
github.com/phonkee/goexpose (download)
package github.com/phonkee/goexpose
        imports code.google.com/p/gorilla/mux: unable to detect version control system for code.google.com/ path

Cheers, Enrico

Thank you for your fix @enr !


Change by country not up to date

The last changeset in Home > Analysis > Hiking > France > Changes was at 2021-09-05 10:40.
For example, last changeset in Home > Analysis > Network > Val d'Amour (France) was at 2021-10-29 18:15.

@pyrog thanks for reporting this problem
Initial investigation shows that this problem may be caused by a mismatch between the structure of the documents in the analysis database and the definition of one of the database indexes (the latest changes to the database index code has somehow not been applied to this database).
At this moment the index is rebuilding.  This will take several hours to complete. During this time the information in the changes pages will be incomplete.

I just see the history starting from… 2013 😅
Thank you Marc 😄

Index rebuild is complete. Looking forward to knooppuntnet v4.0 where these long index building will no longer exist.


Create launcher context for every compute context

On sasjs context create command new launcher context should be created first and used to create a new compute context.

probably the best approach for this is to create a sasjs launchercontext command, this provides flexibility to mix and match launchers

Agreed on:

if the command is sasjs context create ..., launcher context should be created automatically first and been used as a launcher context for the upcoming context.
if --launcherOnly flag was provided, only the launcher context should be created.

UPD:

if no launcherContext, we will create compute without launcher
if contextName exists, use it as a launcher
if contextName does not exist we can create a new launcher and use it as a launcher for the new compute context


fix(versions): update Activiti/example-runtime-bundle versions into master

UpdateBot pushed maven dependency: org.activiti.cloud.rb:activiti-cloud-runtime-bundle-dependencies to: 7.1.159

UpdateBot commands:
updatebot push-version --kind maven org.activiti.cloud.rb:activiti-cloud-runtime-bundle-dependencies 7.1.159


[Spanish] localize 'GitOps'

Localize the content/en/gitops.md document to Spanish

I would like to translate this term


Make Reflect impls unsafe (Reflect::any must return self)

Fixes #1100
Implementors must make sure that Reflect::any and Reflect::any_mut both return the self reference passed in (both for logical correctness and downcast safety).

bors r+


qshell doesn't have help output

running "qshell help" doesn't list the available commands.

Thanks for this, seems handy!
Can you make this PR to PX4/Firmware instead of ATLFlight/Firmware please?

Thanks for the fix!


Memurai Developer v2.0.2

Pull request was created by azure pipeline
Microsoft Reviewers: Open in CodeFlow

test porposes


How to require TLS (disable the non-TLS port) in Prometheus

@dmitrynovik Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@dmitrynovik Thank you for signing the Contributor License Agreement!


Resolves issue 811 documentation

Thank you for your pull request!
The file docs/integrator-guide.adoc is actually generated during build from asciidoctorj-documentation/src/main/asciidoc/integrator-guide.adoc.
Could you please move your updates to that document, run the build and then add both files to your PR?

Is there a special command to do this? I tried
./gradlew clean
then
./gradlew
It built for 13 minutes with no obvious errors, but the doc/ files did not change.
Out of interest, why is it necessary to store intermediate build files in the repository?

./gradlew asciidoctorj-documentation:build should update the document in docs/.
I went this way, because I want to have tested code snippets in this document, therefore I used includes to the test sources.
But as Github doesn't support includes I added that extra step to the build that resolves them and stores the resolved document in docs/,

Otherwise you might want to explicitly trigger this task: https://github.com/asciidoctor/asciidoctorj/blob/master/asciidoctorj-documentation/build.gradle#L13
But usually ./gradlew build does the job for me.

Thank you!


Thanks for your works! Can you show us your trainset?

Yes, any timeline on the release of the training dataset please?

Hi @kfchenhn @bhosalems ,
Sorry for the late response. We will release the whole dataset asap. It may be delayed a bit as we are working on tight ddl.
Apologize for it again.

The dataset is released!


Remove hardcoding of template ID in overview template tag

Noting that the automation also corrected contracts.implementation.transactions.currency to  contracts.implementation.transactions.amount.currency


flexibee: 2<IP_ADDRESS> -> 2<IP_ADDRESS> and adding the server binary

Motivation for this change
ChangeLog https://www.flexibee.eu/k/prehled-verzi-flexibee/prehled-verzi-flexibee-2019/
And packaging the flexibee-server binary.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

Running flexibee-server ends up with error:
$ flexibee-server
mkfifo: cannot create fifo '/run/flexibee-17229.pipe': Permission denied
/nix/store/wfcdnsbxzfs81ir53gvq5jb909xz1pla-flexibee-2<IP_ADDRESS>/bin/.flexibee-server-wrapped: line 274: /var/log/flexibee.log: Permission denied
cat: /run/flexibee-17229.pipe: No such file or directory

Running flexibee-server ends up with error:

Yes, this will be run as a service under a specific user and systemd is needed to create these temporary files. It is a really nasty piece of software sadly.
Service module is coming :)


Update visual-paradigm-ce to 14.2,20171103: add appcast

After making all changes to the cask:

[ ] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Travis is 🍏


Docs: Update md links from coodoo's fork to react-community

Two links in the documentation pointed to coodoo/react-navigation `react-community/react-navigation.

Instead of linking to the source code, can you use a path that starts with /, like /docs/navigators/stack? That way it just links within the website?

Sure!

@ericvicenti Done (and verified locally (npm run start) that it works as intended.

Perfect, thanks!


Feature: Sync pinned sidebar items with File Explorer

Resolved / Related Issues
Items resolved / related issues by this PR.

Closes #10800

Validation
How did you test these changes?

[x] Built and ran the app
[x] Tested the changes for accessibility

I am leaving this as a draft for now because there is room for a lot of improvement

Why is the check failing? It doesn't seem like the error is in my code

/azp run

Why is the check failing? It doesn't seem like the error is in my code

Something with accessibility, did you see any errors in Accessibility Insights?

I'll look into the CI failing

@hecksmosis can you look into updating the pin/unpin to sidebar options when right clicking files and folders? Another thing to look into would be pinning recycle bin to the sidebar the first time the user launches Files.

The pin/unpin option should already Update, I'll look into the recycle bin thing tomorrow

We also need to remove the options for reorganizing pinned items

/azp run

/azp run

We also need to hide the options for reorganizing pinned items

I'm working on that

we want to keep backwards compatibility with the existing (v2) PinnedItems.json if that file exists, we should read them and pin the paths in the file

We should read it only once and pin the items, then delete the file as it will not be needed anymore

I have removed the move and swap commands for now, will introduce them as soon as I can

Seems that you managed to fix the CI issue as well.

CI is having a stroke

Forgot about Recycle Bin, we should make sure to pin it the first time the user opens Files.


fix(rust-sdk): remove runtime publish from rust release script

Is this still being published elsewhere? If it isn't published I think the Rust SDK will break.

Yeah, it looks like extism-runtime isn't being published anywhere else, so this might not be the right change.
It might make the most sense to create a separate release action for each of the crates? Or is that too much?

closing since it's stale


Assign Ray to all pull requests moving forward to be approved.

@khalidkanaan - since you own this repo, I'll task you with assigning the team to the roles necessary to carry out this workflow. I may need write privilege and the rest of the team might fall under triage. Let me know if you want to look into this together or if you will handle it.

I should be able to handle things with the other students, but if I have any questions then I'll consult you about it. I have sent you an invitation to the repo and we will add you to our PRs as a reviewer moving forward.


An empty project is created

I created an empty project in the vibes folder.

That should do it.

Edit the PR to have devel as the base branch instead of master.
https://help.github.com/en/articles/changing-the-base-branch-of-a-pull-request

Changed base branch


WFDUtil: Workflows API getting wrong versions

https://xxx/B2BAPIs/svc/workflows/AZ_SB_PROCESS_AV does not always get default version :-(
https://xxx/B2BAPIs/svc/workflows/?_range=0-999&fieldList=&searchFor=AZ_SB_PROCESS_AV does ...
refreshWFD does not help :-(

Use searchFor=... lookup to get default version (this should usually work... but the workflows API is buggy)


Refactored outlier detection function

Refactored outlier detection function to clean up code and remove all references to "tukeyFences" to clarify functionality.

Codecov Report

Merging #116 (c710e11) into master (b4144b8) will increase coverage by 0.29%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master     #116      +/-   ##
==========================================
+ Coverage   34.01%   34.31%   +0.29%
==========================================
  Files          67       67
  Lines        3545     3515      -30
==========================================
  Hits         1206     1206
+ Misses       2339     2309      -30

Impacted Files
Coverage Δ

src/navigation/navigation.cpp
13.36% <0.00%> (+1.44%)
:arrow_up:

src/utils/io/spi.cpp
0.00% <ø> (ø)

Continue to review full report at Codecov.

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


Promote Dutch and Russian to Beta, v5.22

Both have exceeded 90% in translation server https://translate.mattermost.com/projects/mattermost/
Big shoutouts to Tom De Moor and flynbit!

Thanks @bradjcoughlin and @enahum! This one is ready to merge (no permissions to do so myself)


Idea: Create a remote control interface for manager via "telnet" / nc

As pre-step to UI to proof-of-concept the communication to the manager

Like a ControlInterface channel


Update DQN.jl

I have to make these changes to make DQN.jl work.

And I wonder is it normal to have this warning: Performing scalar operations on GPU arrays: This is very slow, consider disallowing these operations with allowscalar(false)``

Resolved?


GEOMESA-1396 RichCountMinSketch doesn't work with Spark classloaders

Signed-off-by: Andrew Hulbert<EMAIL_ADDRESS>

need to verify the logic...
@jnh5y take a look

looks good

I dropped this to 2.7.0 to match spark...note that it appears to be compatible but I wouldn't swear by it...we should probably test upgrade as @elahrvivaz mentioned...If we don't drop to 2.7.0 we need to shade it. thoughts?

we already shade guava and commons-codec in geomesa-compute - adding one more might not be an issue...

closing in favor of the shaded version https://github.com/locationtech/geomesa/pull/1055


fix: LEAP-938: Fix user-agent header when downloading files

Fixing the error:
error (rest_framework.response.Response() argument after ** must be a mapping, not NoneType) when sending Test request,

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (f472671) to head (3cf9b50).

Additional details and impacted files
@@            Coverage Diff            @@
##            master       #78   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines          182       182
=========================================
  Hits           182       182

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Remove hard-coded percentiles for Micrometer metrics

See following comment from Micrometer maintainer https://github.com/micrometer-metrics/micrometer/issues/91#issuecomment-365780694. The hard-coded client-side percentile in HikariCP will make an extra time series whether the user wants it or not. Ultimately, to configure the percentiles or histogram they want, they will have to use a MeterFilter. I've added documentation for how they can do that.
If you don't want the public constant or documentation changes, feel free to take just the commit that removes hard-coded percentiles.
/cc @jkschneider @checketts

@brettwooldridge any feedback about this pull request?

Does this change break existing users?

If anybody relies on the percentile shipped by Hikari, they can still configure it with management.mertrics.distribution.percentiles.hikari=0.95 (property-driven meter filters).

I assume all existing users rely on those defaults. In that case, HikariCP need to default to existing values, and allow them to be overridden by the property.

I can certainly understand the desire to not break existing users and it is possible there may be some users relying on the hard-coded percentile. It would have been best if the Micrometer support in HikariCP could have been somehow marked as incubating until Micrometer 1.0 GA was released and the support here was finalized. After all, it wasn't based on the GA version of Micrometer until recently (and after the last HikariCP release). As they say, hindsight is 20/20.
Also, not that two wrongs make a right, but https://github.com/brettwooldridge/HikariCP/commit/4e0fcb11d1c2244a3efd809d5e037a2e7ac8d9eb looks like it dropped the median quantile without user complaint.
I guess removal of the hard-coded percentile can be scheduled for HikariCP 3.0, where it would acceptable to have a breaking change.
@jkschneider to disable the current percentile, I tried the following property filter in a Spring Boot app but it doesn't seem to do the trick.
management:
  metrics:
    distribution:
      percentiles:
        hikaricp: []

The equivalent Java configuration does seem to work, though:
@Bean
MeterFilter disableHikariQuantileMeterFilter() {
	return new MeterFilter() {
		@Override
		public DistributionStatisticConfig configure(Meter.Id id, DistributionStatisticConfig config) {
			if (id.getName().startsWith("hikaricp")) {
				return DistributionStatisticConfig.builder()
						.percentiles()
						.build();
			}
			return config;
		}
	};
}

I believe @brettwooldridge meant you can add a HikariCP property / flag to disable the metrics you don't want. They should stay defaulted to on though until possibly a major version bump.

I believe @brettwooldridge meant you can add a HikariCP property / flag to disable the metrics you don't want.

@billoneil That could work, but the point of this pull request is to move all such configuration out of HikariCP, which better aligns with Micrometer's configuration model. User's can consistently and cross-cuttingly configure any and all of their Micrometer Meters with MeterFilters. Putting something in HikariCP to work around this pesky hard-coded percentile seems to subvert that and make users have to configure things in two ways. It may, however, be unavoidable until a major version bump, as you say.

@shakuzen @billoneil The current commitment for Micrometer is  "Alpha-level support", as stated in the change log for v2.7.0.
I am willing and ready to cut v3.0.0 as the next release.  So, if we're going to make a breaking change, now would be the time to do it.
Having said that, HikariCP strives for an "out-of-the-box" experience that is as simple as possible, with defaults that make sense for majority of users.  Maybe this is simply not possible with Micrometers, I don't know.
What I would like you to do is simply ponder and consider whether this is the case, or whether there is something clever that can be done, for example detecting whether a MeterFilter is associated and if not injecting one with reasonable defaults.  I honestly have no idea, I'm just spitballing here.  Just come back to me with what you consider the absolute best solution (even if it is what is currently in this pull request)...

@shakuzen I am prepared to merge this change.  Is there any documentation required to guide existing micrometers users in how to configure micrometers correctly in HikariCP?

@brettwooldridge Missed this earlier comment... Here is the doc on how to add percentiles back to Hikari timers with a property in Spring Boot.

@brettwooldridge Sorry for my delay in responding.
In addition to the Spring Boot-specific documentation @jkschneider shared, there is the generic Micrometer documentation on configuring this.
If we want to give a more opinionated, out-of-the-box default experience, we would have to add logic to determine the specific metrics backend (based on the type of MeterRegistry), and then we could enable percentile histogram if the backend supports it or configure default client-side percentiles otherwise. If the MeterRegistry we're passed is a CompositeMeterRegistry we would need to apply the logic to each of the underlying MeterRegistry.
As for backing off if a user registers a MeterFilter that configures histograms or hard-coded percentiles to Hikari meters (or wants to turn these both off), I think we have an ordering issue. Filters are applied in the order they're registered. HikariCP being a library can't control the order in which its code is run relative to others in the application. If Hikari's filter were registered before a user filter, their filter would have to undo what Hikari's did, if it isn't what they wanted. If Hikari's filter were registered after a user filter, we could check for histograms/percentiles being configured and back off, but how would a user configure no histograms and no percentiles since this is Micrometer's default configuration? I'm not sure there is a way to detect another meter filter is going to configure histograms/percentiles for Hikari meters and back off.
@jkschneider any thoughts?

I think in general folks should just look at max for alerts and max+average together for some notion of what's normative. Even high percentile values fail to convey meaningful information about end user experience, so I'd say looking at them is the exception rather than the rule.
The famous slide from one of Gil Tene's that demonstrates this:


Copy-paste doesn't work properly with Unix-style line endings under Windows

VSCode Version: 1.10.2
OS Version: Windows 10

Steps to Reproduce:

Create a new file in vscode, set line endings to LF and type some lines of text (pressing enter a few times between each line)
CTRL-A, CTRL-C
Open putty and ssh into a remote linux box (e.g. ubuntu)
Open a text editor on the remote box (e.g. nano) and paste the text - all empty lines are gone

This is because vscode (unlike most other editors on Windows e.g. Sublime) does not convert line endings to the platform's native line ending format when placing text in to the clipboard. As a result other Windows programs (like putty) have problems working with it.
The only workaround (I have found) is to temporarily change the line-endings to CRLF, copy the text and then change them back to LF.  It's cumbersome and error prone.
Unsure if this is a vscode issue or an electron one as a similar issue exists with Atom (see: https://github.com/atom/atom/issues/8365)

Was this closed because it's fixed in the next release or closed because it's been in the backlog for a while ?

@cecilemuller The change pushed via c935020 will make it that when copying or cutting in the editor on Windows, the text written to the clipboard will always contain CRLF line endings, even if the file uses LF line endings.

That's wonderful, thank you 😃


feat(icons): added philippine-peso icon

What is the purpose of this pull request?

[x] New Icon
[ ] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other:

Description

Icon use case
The popularity of t3 stack is helpful to us filipino developers and designers. It would be great if we can have something to represent the philippine currency for localized commercial/hobby apps as other SVG icons did not match with the lucide aesthetic.
Icon Design Checklist
Concept

[x] I have provided valid use cases for each icon.
[x] I have not added any a brand or logo icon.
[x] I have not used any hate symbols.
[x] I have not included any religious or political imagery.

Author, credits & license

[ ] The icons are solely my own creation.
[x] The icons were originally created in #2230 by @jguddas
[x] I've based them on the following Lucide icons: russian-ruble, dollar-sign
[ ] I've based them on the following design:

Naming

[x] I've read and followed the naming conventions
[x] I've named icons by what they are rather than their use case.
[x] I've provided meta JSON files in icons/philippine-peso.json.

Design

[x] I've read and followed the icon design guidelines
[x] I've made sure that the icons look sharp on low DPI displays.
[x] I've made sure that the icons look consistent with the icon set in size, optical volume and density.
[x] I've made sure that the icons are visually centered.
[x] I've correctly optimized all icons to three points of precision.

Before Submitting

[x] I've read the Contribution Guidelines.
[x] I've checked if there was an existing PR that solves the same issue.

thank you @jguddas

This feels disproportionately large compared to other currency icons:

This feels disproportionately large compared to other currency icons:

yeah, will try to visually balance it

You need to not forget about the 2px gap rule.

made the gaps tight and the leg a little shorter matching the other symbols

made the gaps tight and the leg a little shorter matching the other symbols

Unfortunately, this results in a guideline violation, there should be at least a 2px gap between all elements.

basically the feet was just longer.
i just have doubts on the previous design that it might be misunderstood by the Filipino community

How cleverly this icon made! I am quite surprised about the result. 😉


[nativescript-barcodescanner] [Android] blank page in release mode

I've a very strange problem:
1- created new test application with:
ns create --template @nativescript/template-drawer-navigation-ng
2- installed plugin:
npm install @nstudio/nativescript-barcodescanner
3 - modified home.component.ts
import { BarcodeScanner} from "@nstudio/nativescript-barcodescanner";
  CameraScan(): void {
    var barcodescanner = new BarcodeScanner;
  }

Compiling and installing in debug mode (tns run android --device XYZ) the home page is displayed.
Compiling and installing in release mode (tns run android --device XYZ --release --key-store....) the home page is displayed blank.
No error, no crash, no log error.
The page is simply blank.
Commenting out the line with BarcodeScanner reference
  CameraScan(): void {
    // var barcodescanner = new BarcodeScanner;
  }

the home page is display as expected.
package.js
{
  "name": "TestScannerApp",
  "main": "src/main.ts",
  "version": "1.0.0",
  "private": true,
  "dependencies": {
    "@angular/animations": "~13.2.0",
    "@angular/common": "~13.2.0",
    "@angular/compiler": "~13.2.0",
    "@angular/core": "~13.2.0",
    "@angular/forms": "~13.2.0",
    "@angular/platform-browser": "~13.2.0",
    "@angular/platform-browser-dynamic": "~13.2.0",
    "@angular/router": "~13.2.0",
    "@nativescript/angular": "^13.0.0",
    "@nativescript/core": "~8.2.0",
    "@nativescript/theme": "~3.0.2",
    "@nstudio/nativescript-barcodescanner": "^5.0.1",
    "nativescript-ui-sidedrawer": "~10.0.2",
    "rxjs": "~7.5.0",
    "zone.js": "~0.11.5"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~13.2.0",
    "@angular/compiler-cli": "~13.2.0",
    "@nativescript/android": "8.2.2",
    "@nativescript/types": "~8.2.0",
    "@nativescript/webpack": "~5.0.6",
    "@ngtools/webpack": "~13.2.0",
    "typescript": "~4.5.5"
  }
}

Physical device is Android 8.0.0.
Any Idea how to solve?

I'm also seeing this issue in production release. Works fine while in dev/debuggon mode. Below is an error from release build:
JS: CONSOLE ERROR: ERROR Error: Uncaught (in promise): TypeError: Cannot read properties of undefined (reading 'content')
  JS: TypeError: Cannot read properties of undefined (reading 'content')
  JS:     at 82928 (file:///data/data/com.myApp.app/files/app/vendor.js:2:911393)
  JS:     at __webpack_require__ (file:///data/data/com.myApp.app/files/app/runtime.js:1:197)
  JS:     at 79460 (file:///data/data/com.myApp.app/files/app/460.js:1:227)
  JS:     at Function.__webpack_require__ (file:///data/data/com.myApp.app/files/app/runtime.js:1:197)
  JS:     at _ZoneDelegate.invoke (file:///data/data/com.myApp.app/files/app/vendor.js:2:1506575)
  JS:     at Object.onInvoke (file:///data/data/com.myApp.app/files/app/vendor.js:2:1823124)
  JS:     at _ZoneDelegate.invoke (file:///data/data/com.myApp.app/files/app/vendor.js:2:1506515)
  JS:     at Zone.run (file:///data/data/com.myApp.app/files/app/vendor.js:2:1501922)
  JS:     at file:///data/data/com.myApp.app/files/app/vendor.js:2:1517835
  JS:     at _ZoneDelegate.invo...


Duplicator Tree Not Working

Describe the problem
I enabled the duplicator tree in config file by making the value 1 instead of 0. I have projecte so I used a watch of flowing time on a dark pedestal to speed up the process and the only thing that happended was the apples dropping.
My setup in case you need it ;

Container definition
Paste run command or compose file here

Container logs
Paste logs here

I'm not sure how this is related to the image itself.

I left the image of my setup in case there was a problem with it

I'm talking about this Docker image not some screenshot image.  Please provide container setup (compose file or docker run command line), which file you modified, and any relevant logs.


Redis-replica not able to connect to master

Hi, I'm trying to deploy this chart but the redis replica doesn't connect to redis-master, the same goes to netbox-worker.
Here follow the logs:
x250:charts $ kubectl logs netbox-redis-master-0
1:C 15 Apr 2022 17:32:27.120 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 15 Apr 2022 17:32:27.120 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 15 Apr 2022 17:32:27.120 # Configuration loaded
1:M 15 Apr 2022 17:32:27.121 * monotonic clock: POSIX clock_gettime
1:M 15 Apr 2022 17:32:27.123 * Running mode=standalone, port=6379.
1:M 15 Apr 2022 17:32:27.123 # Server initialized
1:M 15 Apr 2022 17:32:27.126 * DB loaded from append only file: 0.002 seconds
1:M 15 Apr 2022 17:32:27.126 * Ready to accept connections

The worker not being able to connect to master
x250:charts $ kubectl logs netbox-worker-84c8bb68cb-24vn4
Error -3 connecting to netbox-redis-master:6379. Try again.
🧬 loaded config '/etc/netbox/config/configuration.py'
🧬 loaded config '/etc/netbox/config/extra.py'
🧬 loaded config '/etc/netbox/config/logging.py'
🧬 loaded config '/etc/netbox/config/plugins.py'

The replica redis not being able to connect to master
x250:charts $ kubectl logs netbox-redis-replicas-0
1:C 15 Apr 2022 15:29:08.907 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 15 Apr 2022 15:29:08.907 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=1, just started
....
1:S 15 Apr 2022 15:29:08.910 * DB loaded from append only file: 0.000 seconds
1:S 15 Apr 2022 15:29:08.910 * Ready to accept connections
1:S 15 Apr 2022 15:29:08.910 * Connecting to MASTER netbox-redis-master-0.netbox-redis-headless.default.svc.cluster.local:6379
1:S 15 Apr 2022 15:29:18.922 # Unable to connect to MASTER: Resource temporarily unavailable
1:S 15 Apr 2022 15:29:19.925 * Connecting to MASTER netbox-redis-master-0.netbox-redis-headless.default.svc.cluster.local:6379
1:S 15 Apr 2022 15:29:29.935 # Unable to connect to MASTER: Resource temporarily unavailable
1:S 15 Apr 2022 15:29:30.938 * Connecting to MASTER netbox-redis-master-0.netbox-redis-headless.default.svc.cluster.local:6379
1:S 15 Apr 2022 15:29:40.956 # Unable to connect to MASTER: Resource temporarily unavailable
1:S 15 Apr 2022 15:29:41.960 * Connecting to MASTER netbox-redis-master-0.netbox-redis-headless.default.svc.cluster.local:6379
1:S 15 Apr 2022 15:30:01.974 # Unable to connect to MASTER: Resource temporarily unavailable
1:S 15 Apr 2022 15:30:02.979 * Connecting to MASTER netbox-redis-master-0.netbox-redis-headless.default.svc.cluster.local:6379
1:signal-handler<PHONE_NUMBER>) Received SIGTERM scheduling shutdown...
1:S 15 Apr 2022 15:30:22.991 # Unable to connect to MASTER: Resource temporarily unavailable
1:S 15 Apr 2022 15:30:23.091 # User requested shutdown...
1:S 15 Apr 2022 15:30:23.091 * Calling fsync() on the AOF file.
1:S 15 Apr 2022 15:30:23.092 # Redis is now ready to exit, bye bye...

The values I'm using:
redis:
  global:
    storageClass: openebs-hostpath
  auth:
    password: redis-password

What am I missing?

Looks like I was having an issue with the PVC trying to bound to PV. I removed the PVC that was causing troubles and redeploy the chart. All works.


Dead image link on about page

Describe the bug
The linked photo on the about page seems to have disappeared.
To Reproduce
Steps to reproduce the behavior:

Go to https://patdryburgh.github.io/hitchens/about.html
See missing image

Nice theme by the way, thanks for making it available.


Fixes #116 writing guidelines

Wrote a style guideline document based on the comments on issue #116.

@BillWagner this looks great! Just a couple comments from me inline. cc/ @stevehoag @richlander

I like the compare/contrast style of the two paragraphs in each section.  I think it would be helpful to have "Appropriate"/"Inappropriate" text above their respective paragraphs in the sections.
Example:
Write in 2nd person
Appropriate Style:
You should write your articles as though you are speaking directly to the reader. You
should use second person often (as I just have in these two sentences). 2nd person doesn't
always mean using the word 'you'. Write directly to the reader. Write imperative sentences.
Tell your reader what you want them to learn.
Inappropriate Style:
An author could also choose to write in 3rd person. In that model, an author must find some
pronoun or noun to use when referring to the reader. A reader might often find this 3rd
person style less engaging and less enjoyable to read.

Updated to respond to comments above.

LGTM


Different structure not working?

I'm using a different structure in my apps where I render {this.props.children} in containers rather than passing it explicitly in which allows us to compose better with layouts such as
<Container>
   <HomePage />
</Container>

I've changed the example app to reflect our structure, but whenever I try to the Counter file, it doesn't update, and logs: The following modules couldn't be hot updated: (They would need a full reload!)
Is this a bug, or am I missing an important piece of the puzzle here?
Thanks in advance !
index.js
import { AppContainer } from 'react-hot-loader';
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import Counter from './Counter';

const rootEl = document.getElementById('root');
ReactDOM.render(
  <AppContainer>
    <App>
        <Counter />
    </App>
  </AppContainer>,
  rootEl
);

if (module.hot) {
  module.hot.accept('./App', () => {
    // If you use Webpack 2 in ES modules mode, you can
    // use <App /> here rather than require() a <NextApp />.
    const NextApp = require('./App').default;
    ReactDOM.render(
      <AppContainer>
         <NextApp>
             <Counter />
         </NextApp>
      </AppContainer>,
      rootEl
    );
  });
}

app.js
import React, { Component } from 'react';
import Layout from './Layout';
import Counter from './Counter';

// If you use React Router, make this component
// render <Router> with your routes. Currently,
// only synchronous routes are hot reloaded, and
// you will see a warning from <Router> on every reload.
// You can ignore this warning. For details, see:
// https://github.com/reactjs/react-router/issues/2182

export default class App extends Component {
  render() {
    return (
      <Layout>
          {this.props.children}
      </Layout>
    );
  }
}

counter.js
import React, { Component } from 'react';

export default class Counter extends Component {
  constructor(props) {
    super(props);
    this.state = { counter: 0 };
  }

  componentDidMount() {
    this.interval = setInterval(this.tick.bind(this), 1000);
  }

  tick() {
    this.setState({
      counter: this.state.counter + 1
    });
  }

  componentWillUnmount() {
    clearInterval(this.interval);
  }

  render() {
    return (

Counter: {this.state.counter}

   );
  }
}

Fixed this by adding the following to index.js
if (module.hot) {
    module.hot.accept()
    ...
}


Fix typo in primer-box

↖ First, change the base branch from "master" to "dev". ✅
↑ Next, briefly describe your proposal in the title. ✅
There was a typo in the documentation for primer-box. It's fixed now! No biggie.
/cc @primer/ds-core

Appreciated!

I pulled this into the 9.6.0 release https://github.com/primer/primer-css/pull/364.
Thanks for the support! 🌈


Could not copy MANIFEST.MF / Multiple entries with same key

Originally raised here: https://discuss.gradle.org/t/problem-with-gradle-play-plugin-could-not-copy-manifest-mf-multiple-entries-with-same-key/19880
Expected Behavior
Build should work.
Current Behavior
Build fails when duplicate artifacts exist in the dependency graph.
cc: @szczepiq do you have a simple repro case for this?

I don't have simple repro. We might get one for you ;)
So far I validated that the artifact is the same and the 'rename' string (the value of the map) is the same. So allowing/ignoring the duplicate should just work. I hacked quickly Gradle source code and replaced guava with hashmap and our builds started working :)

I'm trying to create repro project...

Steps to reproduce:

pull down the play-basic.zip, it's based on the 'basic' example from play samples. On top of "basic" example, it adds one extra dependency on a local file+ivy inside "repo" directory.
run "gradle dist"

I'll submit a rudimentary PR that contains a fix that worked for us. It's for reference, not sure how you want to solve it and what kind of test coverage you want to add :)

Submitted PR: https://github.com/gradle/gradle/pull/1879. Let me know how we can help further!

Friendly ping :)

Yep, I'm on it. Plan to get this in for 4.0.
On Tue, 25 Apr 2017 at 11:41 Szczepan Faber<EMAIL_ADDRESS>wrote:

Friendly ping :)
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/gradle/gradle/issues/1857#issuecomment-297108877, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAK-FkxtqZ29i-03n2HYVuvqDL0TnMbHks5rzjBFgaJpZM4NCYYP
.

--
[image<EMAIL_ADDRESS>Daz DeBoer
Lead Software Engineer
www.gradle.com
Gradle Summit is now open
Click HERE to register https://summit.gradle.com/

So this turns out to be the product of a unusual (malformed?) ivy.xml file. The publications block has:
  <publications>
    <artifact name="stanford-segmenter" type="jar" ext="jar" conf="master"/>
    <artifact name="stanford-segmenter" type="sources" ext="jar" conf="sources"/>
    <artifact name="stanford-segmenter" type="javadoc" ext="jar" conf="javadoc"/>
    <artifact name="stanford-segmenter" type="data" ext="jar" conf="data"/>
  </publications>

and the default configuration extends both master and data. So when Gradle resolves, the graph ends up with 2 artifacts for this component, each with different type attributes but with the same file name. These duplicate artifacts then trigger the error.
We should make the Play plugin more robust (by merging the PR), but we should also consider the correct way to deal with this sort of module metadata.

https://github.com/gradle/gradle/commit/75688e4d12629598b9a83fb81bbf23a78756525a
https://github.com/gradle/gradle/commit/714be7950eeb0356c94a1b95eeb0cdc8e9b660aa

The fix for this will be in 4.0. Thanks @szczepiq for the PR!


Query OUT_DIR at runtime.

It seems that Cargo no longer sets OUT_DIR when compiling build.rs, but
it's still available at runtime. Therefore, switch env! to
env::var_os.

I looked around briefly in Cargo's history to see where this change actually happened, but couldn't find it.
We could use env::var_os("...").unwrap() to make this example more terse, but I sometimes try to avoid unwrap in examples. I don't have a strong opinion though!

Coverage remained the same at 91.085% when pulling c94a8f54f9352ad408fadefa93b1a73f89b15acf on BurntSushi:fix-out-dir-example into b225cdb125138cfb639d0700597d98393d09bb3c on kbknapp:master.

This is the correcter way of doing build.rs, yes

Great catch, I wasn't aware of this change! Thanks!
@homu r+

:pushpin: Commit c94a8f5 has been approved by kbknapp

:hourglass: Testing commit c94a8f5 with merge f3f552b...

:sunny: Test successful - status

:eyes: Test was successful, but fast-forwarding failed: 422 Required status check "coverage/coveralls" is pending.


Missing verification of replica_groups for AllGather/AllReduce/AllToAll/CollectivePermute/ReduceScatter

Request description
Seems that we have the verification routine, but not applied to the above ops. Need to evaluate its application for each op.

Even though collectivePermute does not have replica_groups as an explicit parameter. But the source_target_pairs have somewhat similar constraints to what we need to check for replica_groups.

Also added ReduceScatterOp to the title, since we have five collective ops in StableHLO.

As per the dicsusiion in https://github.com/openxla/stablehlo/pull/503#discussion_r1035095336, the verifiier should expect the replica_groups to be non-empty.


Roadmap for closures, fn pointers, and traits

This is a work-in-progress, discussion welcome!
A possible short-term roadmap is:

implement UnknownCall: an additional type of unsafety that must be audited. This is used for calls to closures and calls to function pointers.
additionally, implement UnknownTraitCall: this applies to calls to dynamic trait objects, and calls to traits in a generic context. In other words, if we call t.foo() where we don't know the exact type of t.
for traits in a non-generic context (t.foo() where we do know the type of t), fix resolution: currently we are resolving them to the trait path, we need to resolve them to the path where the trait is implemented instead.

Longer term:

for closures and function pointers: add closure locations to the call graph. (i) define anonymous path names for closures (ii) use type resolution to try to resolve where closures are defined. If type resolution fails, fall back on UnknownCall
for traits: track the set of possible implementations and be smarter about delegating responsibility. David had some ideas here and said it requires changes to the policy stuff

David's proposal
The function creating a closure or function pointer is responsible to ensure not just that that function pointer is used safely within the function, but also that it is safely called in any other context outside of that function. If not, it must be marked as unsafe to call.
Example:
fn return_file_reader_v1(f: &std::path::Path) -> impl Fn() -> String {
    || { std::fs::read_to_string(f).unwrap() }
}

fn return_file_reader_v2() -> impl Fn() -> String {
    |f: &std::path::Path| { std::fs::read_to_string(f).unwrap() }
}

fn return_file_reader_v3() -> fn(&Path) -> Option<String> {
    std::fs::read_to_string
}

return_file_reader_v1 is caller-checked because caller can ensure the file is safe to read from.
Unfortunately return_file_reader_v2 and return_file_reader_v3 are both unsafe (and must be audited as so!) because the caller has to be responsible that all uses of the return value are safe, and it does not have enough information to determine this. This makes our tool a conservative overapproximation and it cannot express safety even in some cases where a crate or function may be used safely.

RFC on the above! Both of these just handle the case of fn pointers and closures, and not the case of traits.

I'd go with @DavidThien 's proposal -- which seems simpler. We can always do fancier things if we turn out they are needed in practice?

Actually IMO both proposals are almost equally simple to implement -- but the alternative proposal might lead to more noise during an audit. In terms of implementation, the second just means adding "unknown call to a callable type" as a first-class category of unsafe effect.

DECISION: for v0 of the tool, we're going with David's proposal.
This is because the alternate proposal seems to have serious problems! Even for very simple uses of closures, like the typical case of maps and filters over iterators. See the following example:
use std::collections::HashSet;

fn foo() -> HashSet<usize> {
    (0..100).into_iter().map(|x| { println!("{}", x); /* log to file */; x } ).collect()
}

/*
    Proposal 1 (David): function creating the closure is responsible for safety
    - we add an audit location at the creation of the closure above: |x| { ... }
    - we add an unsafe effect to the effect model called ClosureCreation
    - auditor of foo() sees ClosureCreation and decides if it's safe.

    Proposal 2 (alternate): function *calling* the closure is responsible for safety
    - foo() doesn't get audited at all
    - implementor of std::iter::Map is responsible
        - specifically in impl<B, I: Iterator, F> Iterator for Map<I, F>
          somewhere nested inside the code
          ends up being in Option::map !!!
    - we add an unsafe effect to the effect model called UnknownCall
    - auditor of std::iter::Map sees Unk
    - This is terrible!!!!!!!!!!!
*/

fn main() {
    let y = foo();
    println!("{:?}", y);
}

Updated Roadmap
Therefore, an updated roadmap for function pointers and closures is:

add a ClosureCreation and FnPointerCreation type of unsafe effect to our effect model
In scanner.rs, whenever a closure or function pointer is created, add this to the list of effects associated with that function that need to be audited.

Closing in favor of #34 and #35


[2012-06-15] CMS > Site Tree - List view "Last Updated" column sorting behaviour

created by: jedwards
created at: 2012-06-15
original ticket: http://open.silverstripe.org/ticket/7470

Example: When you are in the list view of the site tree. Then you click the orderby icon to order the list by "Last Updated" the list gets ordered by last updated but the title changes to a magnifying glass (see screenshot 1). If you then click the magnifying glass, the icon will disappear, leaving no title or orderby icon (see screenshot 2).
While you are working on this, the "Page name" column needs to have the "n" in name capitalised. Should be "Page Name".

No longer the case in 3 branch


Introduces pool functionality to network protocol

Motivation
This PR should introduce a rudimentary version of a mining pool, hosted directly on a node, including all changes needed in order for nodes to be able to connect and become pool workers.

Trying to test this:
RUST_BACKTRACE=1 ./snarkos --miner aleo1... --trial --verbosity 2 --miningpool
...
2021-12-17T09:15:44.575148Z DEBUG Validating the ledger up to block 0 (0%)
2021-12-17T09:15:44.732102Z  INFO Ledger successfully loaded at block 0
2021-12-17T09:15:44.864644Z TRACE [Read-Only] Ledger successfully loaded at block 0
2021-12-17T09:15:44.872477Z  INFO Prover successfully initialized
thread 'main' panicked at 'Failed to start the node: IO error: lock hold by current process, acquire time<PHONE_NUMBER> acquiring thread<PHONE_NUMBER>48640: /root/.aleo/storage/prover-2/LOCK: No locks available', src/main.rs:52:28
stack backtrace:
   0: rust_begin_unwind
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:517:5
   1: core::panicking::panic_fmt
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/panicking.rs:100:14
   2: core::result::unwrap_failed
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/result.rs:1616:5
   3: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
   4: tokio::park::thread::CachedParkThread::block_on
   5: tokio::runtime::thread_pool::ThreadPool::block_on
   6: tokio::runtime::Runtime::block_on
   7: snarkos::main

RocksDB opened twice?

@xbeastx good catch! I'll fix it up right away.

thread 'tokio-runtime-worker' panicked at 'A mining pool should have an available Aleo address at all times', .../snarkOS/src/network/mining_pool.rs:147:22
   0: rust_begin_unwind
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:517:5
   1: core::panicking::panic_fmt
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/panicking.rs:100:14
   2: core::panicking::panic_display
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/panicking.rs:64:5
   3: core::option::expect_failed
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/option.rs:1638:5
   4: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
   5: tokio::runtime::task::core::CoreStage<T>::poll
   6: <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
   7: tokio::runtime::task::harness::Harness<T,S>::poll
   8: std::thread::local::LocalKey<T>::with
   9: tokio::runtime::thread_pool::worker::Context::run_task
  10: tokio::runtime::thread_pool::worker::Context::run
  11: tokio::macros::scoped_tls::ScopedKey<T>::set
  12: tokio::runtime::thread_pool::worker::run
  13: tokio::runtime::task::harness::Harness<T,S>::poll
  14: tokio::runtime::blocking::pool::Inner::run
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.```

@xbeastx did you specify a miner address when starting up a pool? It should've stopped you if not..

@xbeastx did you specify a miner address when starting up a pool? It should've stopped you if not..

for sure, like this:
./snarkos --miner aleo1... --trial --verbosity 2 --miningpool
That is because miner_address stored only for Miner node https://github.com/AleoHQ/snarkOS/pull/1427/files#diff-af08c3181737aa5783b96dfd920cd5ef70829f46cd1b697bdb42414c97310e13L132

@xbeastx thanks for the help! Just pushed a fix.

I haven't gone over the whole diff yet, but I'll be happy to re-review on Monday.

Note to self: Prover and Worker can be safely unified as their currently-defined functionality is mutually exclusive.

Note to self: Pool should be renamed to Operator and a formal Pool struct should be introduced alongside a Pools struct (in the likeness of Peer to Peers).
This functionality is necessary to support delegated proving to multiple pools from a client node perspective.

@howardwu unless I'm misunderstanding the last message, I don't really understand why there's a need to run multiple pools from the same client; it just seems unnecessary. Also, Prover and Worker may be unified but just take care that everything is gated correctly - the Prover struct will become quite a bit more complex so it's important to take care that all the functionality works as intended.

The purpose here is to support proving in these pools beyond merely PoSW proofs and into program proofs. As mining will be phased out over the next decade, any designs around mining here have explicitly been designed as a subset of proving so that it will sunset without impacting the protocol.
On a more general note, a node should be able to observe the state of multiple pools.

To coordinate, I'm going to attempt the Prover / Worker unification now, which should help to ensure thread resource utilization remains the same assumptions (which admittedly can still be improved)

^As of this commit, the operator and prover should now be correctly functioning on share difficulty (without modification to block.difficulty_target()). Meaning, blocks should be well-formed now while using a share difficulty target to compute scores.
Note that this has not been tested, so while in theory it is correct, in practice, will need integration testing to verify its behavior.

Addressed some of the comments - I'll leave it to @howardwu to decide direction on the other points.

Are you sure pools will improve current situation with mining? Because now over 70% of all blocks mined by a very few nodes. Thus, Aleo mining is centralized #1472

It looks PoolResponse didn't check for the validity of the proof before trying to determine if the block is valid for the network. (I suppose the deserialization method doesn't check for the validity.) It might be possible for a dishonest prover to just send back the block with a proof that only satisfy the share target but is completely irrelevant to the block. The operator doesn't check that and will just add the score for the share and only discover it later when it calls is_valid() (or not checking at all as the proof only satisfy the share diff and not the block diff).

@HarukaMa I will add a check for it, thanks for the suggestion!

The proof validation takes some milliseconds so if it's actually needed, there should be some anti-flooding mechanism to avoid DoS to the operator.

I've made a fake node to test the mining pool:
https://gist.github.com/HarukaMa/adbe7e9da751a3d4d1e9edeb59bbcf48
(Please change the server before testing. This node is hardcoded with version 11 to test against live testnet2.)
Using this "node", I've found that sometimes the operator won't refresh the block template in time and will send stale works to the prover. You could see logs like:
==========================================
Received Ping
Version: 11
Fork Depth: 4096
Node Type: 2
Status: 0
Block Hash: ec85f2383542699315079c66ba5201da9fd6fecea56574ccb6f32d7e1c9fb00a
Block Header:<PHONE_NUMBER>80ca863632b70b8...
  Previous Ledger Root:<PHONE_NUMBER>80ca863632b70b8e277c88eabb837976de3117176a2c8c22829111
  Transactions Root: a6765a288c73080b12679f5478e5e752beda43310f5785097c86b57f7515a200
  Metadata: 0d2c0100bbd7c461000000007140d7a47a3b080037da94db010000000000000000000000
    Height: 76813
    Timestamp:<PHONE_NUMBER>
    Difficulty Target:<PHONE_NUMBER>304305
    Cumulative Weight:<PHONE_NUMBER>
  Nonce: af0d927c7bab55a34d42ab7b285c4039185cd21687327d3119ab03bce9548107
  Proof:<PHONE_NUMBER>00000004000...
==========================================
Received PoolRequest
Share Difficulty:<PHONE_NUMBER>854775807
Block Template: c704000000000000aa77...
  Previous Block Hash: aa77c7ad7543d1370265bff3415d5fc739febd8b635eab5f6c9477861065590a
  Block Height: 76811
  Block Timestamp:<PHONE_NUMBER>
  Difficulty Target:<PHONE_NUMBER>468760
  Cumulative Weight:<PHONE_NUMBER>
  Previous Ledger Root: 2f24e1eb47d510b7870d95ee78ceeff07ba20fa78fc71f199f605c1e49f8630a
  Transactions: 01008e20bb6d749540...
==========================================

Line 127 is where I try to flood the operator with invalid proofs. If the work is not stale, I can still make the operator check all of the proofs. It seems if the share is invalid, the nonce won't be recorded so the prover can just reuse a bad header.

@julesdesmit I recommend bumping the message version to 13 in this PR, and updating the snarkVM rev.

@julesdesmit I think the concept of operator.round might be vulnerable to a reorg attack. One could in theory connect to a pool operator, intentionally mine a fork that's heavier, cause it to rebase, and "de-sync" the concept of round from block_height. I'm going to proactively switch round to block_height, however, please feel free to chime in and happy to revert if I'm missing something conceptually.

@julesdesmit I think the concept of operator.round might be vulnerable to a reorg attack. One could in theory connect to a pool operator, intentionally mine a fork that's heavier, cause it to rebase, and "de-sync" the concept of round from block_height. I'm going to proactively switch round to block_height, however, please feel free to chime in and happy to revert if I'm missing something conceptually.

@all I think the operator might be susceptible to a reward withholding attack as well. We currently choose to store the coinbase record that the prover reports back with (and check just that the owner is the operator), however the value balance isn't validated.
I think there are two ways to resolve this:

We recompute the expected reward based on the transactions in the block, and the expected coinbase reward.
We could store the originally generated coinbase record when the operator computes the block template.

While 1) is more precise (as a prover may choose to restructure which transactions to include in a block, thereby changing the expected reward), 2) is a far simpler solution to implement (and it is reliable). I will defer to 2) for now. Please feel free to chime in if others have differing opinions.

@all I think the operator might be susceptible to a reward withholding attack as well. We currently choose to store the coinbase record that the prover reports back with (and check just that the owner is the operator), however the value balance isn't validated.
I think there are two ways to resolve this:

We recompute the expected reward based on the transactions in the block, and the expected coinbase reward.
We could store the originally generated coinbase record when the operator computes the block template.

While 1) is more precise (as a prover may choose to restructure which transactions to include in a block, thereby changing the expected reward), 2) is a far simpler solution to implement (and it is reliable). I will defer to 2) for now. Please feel free to chime in if others have differing opinions.

I'm adding in a V12-compliance check that blocks about 100,000 contain non-hiding proofs.

I'm adding in a V12-compliance check that blocks about 100,000 contain non-hiding proofs.

@julesdesmit I think based on the new logic, we no longer need the method Block::from_unchecked. I'm going to preliminarily remove it, happy to add it back in if there was something I missed in my review.

@julesdesmit I think based on the new logic, we no longer need the method Block::from_unchecked. I'm going to preliminarily remove it, happy to add it back in if there was something I missed in my review.

I've added additional block header checks to ensure they match the given inputs from the block template.

I've added additional block header checks to ensure they match the given inputs from the block template.

I'm upgrading the share tracker key from a block height to a tuple (block height, block hash) to account for forks.

I'm upgrading the share tracker key from a block height to a tuple (block height, block hash) to account for forks.