# The First Epistle of St. John the Apostle

## 1 John Introduction
The same vein of divine love and charity towards our neighbour, which runs throughout the Gospel written by the beloved disciple and Evangelist, St. John, is found also in his Epistles. He confirms the two principal mysteries of faith: The mystery of the Trinity and the mystery of the incarnation of Jesus Christ the Son of God. The sublimity and excellence of the evangelical doctrine he declares: And this commandment we have from God, that he, who loveth God, love also his brother (chap. 4,21). And again: For this is the charity of God, that we keep his commandments, and: His commandments are not heavy (chap. 5,3). He shews how to distinguish the children of God from those of the devil: marks out those who should be called Antichrists: describes the turpitude and gravity of sin. Finally, he shews how the sinner may hope for pardon. It was written, according to Baronius’ account, sixty-six years after our Lord’s Ascension.

## 1 John Chapter 1

### 1 John Chapter 1:Introduction
He declares what he has seen and heard of Christ who is the life eternal, to the end that we may have fellowship with God and all good through him. Yet so if we confess our sins.

### 1 John Chapter 1:1
That which was from the beginning, which we have heard, which we have seen with our eyes, which we have looked upon and our hands have handled, of the word of life.

### 1 John Chapter 1:2
For the life was manifested: and we have seen and do bear witness and declare unto you the life eternal, which was with the Father and hath appeared to us.

### 1 John Chapter 1:3
That which we have seen and have heard, we declare unto you: that you also may have fellowship with us and our fellowship may be with the Father and with his Son Jesus Christ.

### 1 John Chapter 1:4
And these things we write to you, that you may rejoice and your joy may be full.

### 1 John Chapter 1:5
And this is the declaration which we have heard from him and declare unto you: That God is light and in him there is no darkness.

### 1 John Chapter 1:6
If we say that we have fellowship with him and walk in darkness, we lie and do not the truth.

### 1 John Chapter 1:7
But if we walk in the light, as he also is in the light, we have fellowship one with another: And the blood of Jesus Christ his Son cleanseth us from all sin.

### 1 John Chapter 1:8
If we say that we have no sin, we deceive ourselves and the truth is not in us.

### 1 John Chapter 1:9
If we confess our sins, he is faithful and just, to forgive us our sins and to cleanse us from all iniquity.

### 1 John Chapter 1:10
If we say that we have not sinned, we make him a liar: and his word is not in us.

## 1 John Chapter 2

### 1 John Chapter 2:Introduction
Christ is our advocate. We must keep his commandments and love one another. We must not love the world nor give ear to new teachers, but abide by the spirit of God in the church.

### 1 John Chapter 2:1
My little children, these things I write to you, that you may not sin. But if any man sin, we have an advocate with the Father, Jesus Christ the just.

### 1 John Chapter 2:2
And he is the propitiation for our sins: and not for ours only, but also for those of the whole world.

### 1 John Chapter 2:3
And by this we know that we have known him, if we keep his commandments.  We have known him, if we keep his commandments.... He speaks of that practical knowledge by love and affection, which can only be proved by our keeping his commandments; and without which we can not be said to know God as we should do.

### 1 John Chapter 2:4
He who saith that he knoweth him and keepeth not his commandments is a liar: and the truth is not in him.

### 1 John Chapter 2:5
But he that keepeth his word, in him in very deed the charity of God is perfected. And by this we know that we are in him.

### 1 John Chapter 2:6
He that saith he abideth in him ought himself also to walk even as he walked.

### 1 John Chapter 2:7
Dearly beloved, I write not a new commandment to you, but an old commandment which you had from the beginning. The old commandment is the word which you have heard.

### 1 John Chapter 2:8
Again a new commandment I write unto you: which thing is true both in him and in you, because the darkness is passed and the true light now shineth.  A new commandment.... Viz., the commandment of love, which was first given in the old law; but was renewed and extended by Christ. See John 13.34.

### 1 John Chapter 2:9
He that saith he is in the light and hateth his brother is in darkness even until now.

### 1 John Chapter 2:10
He that loveth his brother abideth in the light: and there is no scandal in him.

### 1 John Chapter 2:11
But he that hateth his brother is in darkness and walketh in darkness and knoweth not whither he goeth: because the darkness hath blinded his eyes.

### 1 John Chapter 2:12
I write unto you, little children, because your sins are forgiven you for his name’s sake.

### 1 John Chapter 2:13
I write unto you, fathers, because you have known him who is from the beginning. I write unto you, young men, because you have overcome the wicked one.

### 1 John Chapter 2:14
I write unto you, babes, because you have known the Father. I write unto you, young men, because you are strong, and the word of God abideth in you, and you have overcome the wicked one.

### 1 John Chapter 2:15
Love not the world, nor the things which are in the world. If any man love the world, the charity of the Father is not in him.

### 1 John Chapter 2:16
For all that is in the world is the concupiscence of the flesh and the concupiscence of the eyes and the pride of life, which is not of the Father but is of the world.

### 1 John Chapter 2:17
And the world passeth away and the concupiscence thereof: but he that doth the will of God abideth for ever.

### 1 John Chapter 2:18
Little children, it is the last hour: and as you have heard that Antichrist cometh, even now there are become many Antichrists: whereby we know that it is the last hour.  It is the last hour.... That is, it is the last age of the world. Many Antichrists; ... that is, many heretics, enemies of Christ and his church, and forerunners of the great Antichrist.

### 1 John Chapter 2:19
They went out from us but they were not of us. For if they had been of us, they would no doubt have remained with us: but that they may be manifest, that they are not all of us.  They were not of us.... That is, they were not solid, steadfast, genuine Christians: otherwise they would have remained in the church.

### 1 John Chapter 2:20
But you have the unction from the Holy One and know all things.  The unction from the Holy One.... That is, grace and wisdom from the Holy Ghost. Know all things.... The true children of God’s church, remaining in unity, under the guidance of their lawful pastors, partake of the grace of the Holy Ghost, promised to the church and her pastors; and have in the church all necessary knowledge and instruction; so as to have no need to seek it elsewhere, since it can be only found in that society of which they are members.

### 1 John Chapter 2:21
I have not written to you as to them that know not the truth, but as to them that know it: and that no lie is of the truth.

### 1 John Chapter 2:22
Who is a liar, but he who denieth that Jesus is the Christ? This is Antichrist, who denieth the Father and the Son.

### 1 John Chapter 2:23
Whosoever denieth the Son, the same hath not the Father. He that confesseth the Son hath the Father also.

### 1 John Chapter 2:24
As for you, let that which you have heard from the beginning abide in you. If that abide in you, which you have heard from the beginning, you also shall abide in the Son and in the Father.

### 1 John Chapter 2:25
And this is the promise which he hath promised us, life everlasting.

### 1 John Chapter 2:26
These things have I written to you concerning them that seduce you.

### 1 John Chapter 2:27
And as for you, let the unction, which you have received from him abide in you. And you have no need that any man teach you: but as his unction teacheth you of all things and is truth and is no lie. And as it hath taught you, abide in him.  You have no need, etc.... You want not to be taught by any of these men, who, under pretence of imparting more knowledge to you, seek to seduce you (ver. 26), since you are sufficiently taught already, and have all knowledge and grace in the church, with the unction of the Holy Ghost; which these new teachers have no share in.

### 1 John Chapter 2:28
And now, little children, abide in him, that when he shall appear we may have confidence and not be confounded by him at his coming.

### 1 John Chapter 2:29
If you know that he is just, know ye, that every one also who doth justice is born of him.

## 1 John Chapter 3

### 1 John Chapter 3:Introduction
Of the love of God to us. How we may distinguish the children of God and those of the devil. Of loving one another and of purity of conscience.

### 1 John Chapter 3:1
Behold what manner of charity the Father hath bestowed upon us, that we should be called and should be the sons of God. Therefore the world knoweth not us, because it knew not him.

### 1 John Chapter 3:2
Dearly beloved, we are now the sons of God: and it hath not yet appeared what we shall be. We know that when he shall appear we shall be like to him: because we shall see him as he is.

### 1 John Chapter 3:3
And every one that hath this hope in him sanctifieth himself, as he also is holy.

### 1 John Chapter 3:4
Whosoever committeth sin committeth also iniquity. And sin is iniquity.  Iniquity.... transgression of the law.

### 1 John Chapter 3:5
And you know that he appeared to take away our sins: and in him there is no sin.

### 1 John Chapter 3:6
Whosoever abideth in him sinneth not: and whosoever sinneth hath not seen him nor known him.  Sinneth not.... viz., mortally. See chap. 1.8.

### 1 John Chapter 3:7
Little children, let no man deceive you. He that doth justice is just, even as he is just.

### 1 John Chapter 3:8
He that committeth sin is of the devil: for the devil sinneth from the beginning. For this purpose the Son of God appeared, that he might destroy the works of the devil.

### 1 John Chapter 3:9
Whosoever is born of God committeth not sin: for his seed abideth in him. And he cannot sin, because he is born of God.  Committeth not sin.... That is, as long as he keepeth in himself this seed of grace, and this divine generation, by which he is born of God. But then he may fall from this happy state, by the abuse of his free will, as appears from Rom. 11.20-22; Cor. 9.27; and 10.12; Phil. 2.12; Apoc. 3.11.

### 1 John Chapter 3:10
In this the children of God are manifest, and the children of the devil. Whosoever is not just is not of God, nor he that loveth not his brother.

### 1 John Chapter 3:11
For this is the declaration which you have heard from the beginning, that you should love one another.

### 1 John Chapter 3:12
Not as Cain, who was of the wicked one and killed his brother. And wherefore did he kill him? Because his own works were wicked: and his brother’s just.

### 1 John Chapter 3:13
Wonder not, brethren, if the world hate you.

### 1 John Chapter 3:14
We know that we have passed from death to life, because we love the brethren. He that loveth not abideth in death.

### 1 John Chapter 3:15
Whosoever hateth his brother is a murderer. And you know that no murderer hath eternal life abiding in himself.

### 1 John Chapter 3:16
In this we have known the charity of God, because he hath laid down his life for us: and we ought to lay down our lives for the brethren.

### 1 John Chapter 3:17
He that hath the substance of this world and shall see his brother in need and shall shut up his bowels from him: how doth the charity of God abide in him?

### 1 John Chapter 3:18
My little children, let us not love in word nor in tongue, but in deed and in truth.

### 1 John Chapter 3:19
In this we know that we are of the truth and in his sight shall persuade our hearts.

### 1 John Chapter 3:20
For if our heart reprehend us, God is greater than our heart and knoweth all things.

### 1 John Chapter 3:21
Dearly beloved, if our heart do not reprehend us, we have confidence towards God.

### 1 John Chapter 3:22
And whatsoever we shall ask, we shall receive of him: because we keep his commandments and do those things which are pleasing in his sight.

### 1 John Chapter 3:23
And this is his commandment: That we should believe in the name of his Son Jesus Christ and love one another, as he hath given commandment unto us.

### 1 John Chapter 3:24
And he that keepeth his commandments abideth in him, and he in him. And in this we know that he abideth in us by the Spirit which he hath given us.

## 1 John Chapter 4

### 1 John Chapter 4:Introduction
What spirits are of God, and what are not. We must love one another, because God has loved us.

### 1 John Chapter 4:1
Dearly beloved, believe not every spirit, but try the spirits if they be of God: because many false prophets are gone out into the world.  Try the spirits.... Viz., by examining whether their teaching be agreeable to the rule of the Catholic faith, and the doctrine of the church. For as he says, (ver. 6,) He that knoweth God, heareth us [the pastors of the church]. By this we know the spirit of truth, and the spirit of error.

### 1 John Chapter 4:2
By this is the spirit of God known. Every spirit which confesseth that Jesus Christ is come in the flesh is of God:  Every spirit which confesseth, etc.... Not that the confession of this point of faith alone, is, at all times, and in all cases, sufficient; but that with relation to that time, and for that part of the Christian doctrine, which was then particularly to be confessed, taught, and maintained against the heretics of those days, this was the most proper token, by which the true teachers might be distinguished form the false.

### 1 John Chapter 4:3
And every spirit that dissolveth Jesus is not of God. And this is Antichrist, of whom you have heard that he cometh: and he is now already in the world.  That dissolveth Jesus.... Viz., either by denying his humanity, or his divinity. He is now already in the world.... Not in his person, but in his spirit, and in his precursors.

### 1 John Chapter 4:4
You are of God, little children, and have overcome him. Because greater is he that is in you, than he that is in the world.

### 1 John Chapter 4:5
They are of the world. Therefore of the world they speak: and the world heareth them.

### 1 John Chapter 4:6
We are of God. He that knoweth God heareth us. He that is not of God heareth us not. By this we know the spirit of truth and the spirit of error.

### 1 John Chapter 4:7
Dearly beloved, let us love one another: for charity is of God. And every one that loveth is born of God and knoweth God.

### 1 John Chapter 4:8
He that loveth not knoweth not God: for God is charity.

### 1 John Chapter 4:9
By this hath the charity of God appeared towards us, because God hath sent his only begotten Son into the world, that we may live by him.

### 1 John Chapter 4:10
In this is charity: not as though we had loved God, but because he hath first loved us, and sent his Son to be a propitiation for our sins.

### 1 John Chapter 4:11
My dearest, if God hath so loved us, we also ought to love one another.

### 1 John Chapter 4:12
No man hath seen God at any time. If we love one another, God abideth in us: and his charity is perfected in us.

### 1 John Chapter 4:13
In this we know that we abide in him, and he in us: because he hath given us of his spirit.

### 1 John Chapter 4:14
And we have seen and do testify that the Father hath sent his Son to be the Saviour of the world.

### 1 John Chapter 4:15
Whosoever shall confess that Jesus is the Son of God, God abideth in him, and he in God.

### 1 John Chapter 4:16
And we have known and have believed the charity which God hath to us. God is charity: and he that abideth in charity abideth in God, and God in him.

### 1 John Chapter 4:17
In this is the charity of God perfected with us, that we may have confidence in the day of judgment: because as he is, we also are in this world.

### 1 John Chapter 4:18
Fear is not in charity: but perfect charity casteth out fear, because fear hath pain. And he that feareth is not perfected in charity.  Fear is not in charity, etc.... Perfect charity, or love, banisheth human fear, that is, the fear of men; as also all perplexing fear, which makes men mistrust or despair of God’s mercy; and that kind of servile fear, which makes them fear the punishment of sin more than the offence offered to God. But it no way excludes the wholesome fear of God’s judgments, so often recomended in holy writ; nor that fear and trembling, with which we are told to work out our salvation. Phil. 2.12.

### 1 John Chapter 4:19
Let us therefore love God: because God first hath loved us.

### 1 John Chapter 4:20
If any man say: I love God, and hateth his brother; he is a liar. For he that loveth not his brother whom he seeth, how can he love God whom he seeth not?

### 1 John Chapter 4:21
And this commandment we have from God, that he who loveth God love also his brother.

## 1 John Chapter 5

### 1 John Chapter 5:Introduction
Of them that are born of God, and of true charity. Faith overcomes the world. Three that bear witness to Christ. Of faith in his name and of sin that is and is not to death.

### 1 John Chapter 5:1
Whosoever believeth that Jesus is the Christ, is born of God. And every one that loveth him who begot, loveth him also who is born of him.  Is born of God.... That is, is justified, and become a child of God by baptism: which is also to be understood; provided the belief of this fundamental article of the Christian faith be accompanied with all the other conditions, which, by the word of God, and his appointment, are also required to justification; such as a general belief of all that God has revealed and promised: hope, love, repentance, and a sincere disposition to keep God’s holy law and commandments.

### 1 John Chapter 5:2
In this we know that we love the children of God: when we love God and keep his commandments.

### 1 John Chapter 5:3
For this is the charity of God: That we keep his commandments. And his commandments are not heavy.

### 1 John Chapter 5:4
For whatsoever is born of God overcometh the world. And this is the victory which overcometh the world: Our faith.  Our faith.... Not a bare, speculative, or dead faith; but a faith that worketh by charity. Gal. 5.6

### 1 John Chapter 5:5
Who is he that overcometh the world, but he that believeth that Jesus is the Son of God?

### 1 John Chapter 5:6
This is he that came by water and blood, Jesus Christ: not by water only but by water and blood. And it is the Spirit which testifieth that Christ is the truth.  Came by water and blood.... Not only to wash away our sins by the water of baptism, but by his own blood.

### 1 John Chapter 5:7
And there are Three who give testimony in heaven, the Father, the Word, and the Holy Ghost. And these three are one.

### 1 John Chapter 5:8
And there are three that give testimony on earth: the spirit and the water and the blood. And these three are one.  The spirit, and the water, and the blood.... As the Father, the Word, and the Holy Ghost, all bear witness to Christ’s divinity; so the spirit, which he yielded up, crying out with a loud voice upon the cross; and the water and blood that issued from his side, bear witness to his humanity, and are one; that is, all agree in one testimony.

### 1 John Chapter 5:9
If we receive the testimony of men, the testimony of God is greater. For this is the testimony of God, which is greater, because he hath testified of his Son.

### 1 John Chapter 5:10
He that believeth in the Son of God hath the testimony of God in himself. He that believeth not the Son maketh him a liar: because he believeth not in the testimony which God hath testified of his Son.  He that believeth not the Son, etc.... By refusing to believe the testimonies given by the three divine persons, that Jesus was the Messias, and the true Son of God, by whom eternal life is obtained and promised to all that comply with his doctrine. In him we have also this lively confidence, that we shall obtain whatever we ask, according to his will, when we ask what is for our good, with perseverance, and in the manner we ought. And this we know, and have experience of, by having obtained the petitions that we have made.

### 1 John Chapter 5:11
And this is the testimony that God hath given to us eternal life. And this life is in his Son.

### 1 John Chapter 5:12
He that hath the Son hath life. He that hath not the Son hath not life.

### 1 John Chapter 5:13
These things I write to you that you may know that you have eternal life: you who believe in the name of the Son of God.

### 1 John Chapter 5:14
And this is the confidence which we have towards him: That, whatsoever we shall ask according to his will, he heareth us.

### 1 John Chapter 5:15
And we know that he heareth us whatsoever we ask: we know that we have the petitions which we request of him.

### 1 John Chapter 5:16
He that knoweth his brother to sin a sin which is not to death, let him ask: and life shall be given to him who sinneth not to death. There is a sin unto death. For that I say not that any man ask.  A sin which is not to death, etc.... It is hard to determine what St. John here calls a sin which is not to death, and a sin which is unto death. The difference can not be the same as betwixt sins that are called venial and mortal: for he says, that if a man pray for his brother, who commits a sin that is not to death, life shall be given him: therefore such a one had before lost the life of grace, and been guilty of what is commonly called a mortal sin. And when he speaks of a sin that is unto death, and adds these words, for that I say not that any man ask, it cannot be supposed that St. John would say this of every mortal sin, but only of some heinous sins, which are very seldom remitted, because such sinners very seldom repent. By a sin therefore which is unto death, interpreters commonly understand a wilfull apostasy from the faith, and from the known truth, when a sinner, hardened by his own ingratitude, becomes deaf to all admonitions, will do nothing for himself, but runs on to a final impenitence. Nor yet does St. John say, that such a sin is never remitted, or cannot be remitted, but only has these words, for that I say not that any man ask the remission: that is, though we must pray for all sinners whatsoever, yet men can not pray for such sinners with such a confidence of obtaining always their petitions, as St. John said before, ver. 14. Whatever exposition we follow on this verse, our faith teacheth us from the holy scriptures, that God desires not the death of any sinner, but that he be converted and live, Ezech. 33.11. Though men’s sins be as red as scarlet, they shall become as white as snow, Isa. 3.18. It is the will of God that every one come to the knowledge of the truth, and be saved. There is no sin so great but which God is willing to forgive, and has left a power in his church to remit the most enormous sins: so that no sinner need despair of pardon, nor will any sinner perish, but by his own fault. A sin unto death.... Some understand this of final impenitence, or of dying in mortal sin; which is the only sin that never can be remitted. But, it is probable, he may also comprise under this name, the sin of apostasy from the faith, and some other such heinous sins as are seldom and hardly remitted: and therefore he gives little encouragement, to such as pray for these sinners, to expect what they ask.

### 1 John Chapter 5:17
All iniquity is sin. And there is a sin unto death.

### 1 John Chapter 5:18
We know that whosoever is born of God sinneth not: but the generation of God preserveth him and the wicked one toucheth him not.

### 1 John Chapter 5:19
We know that we are of God and the whole world is seated in wickedness.  And the whole world is seated in wickedness.... That is, a great part of the world. It may also signify, is under the wicked one, meaning the devil, who is elsewhere called the prince of this world, that is, of all the wicked. John 12.31.

### 1 John Chapter 5:20
And we know that the Son of God is come. And he hath given us understanding that we may know the true God and may be in his true Son. This is the true God and life eternal.  And may be in his true Son. He is, or this is the true God, and life eternal.... Which words are a clear proof of Christ’s divinity, and as such made use of by the ancient fathers.

### 1 John Chapter 5:21
Little children, keep yourselves from idols. Amen.  Keep yourselves from idols.... An admonition to the newly converted Christians, lest conversing with heathens and idolaters, they might fall back into the sin of idolatry, which may be the sin unto death here mentioned by St. John.


I built a verse regex-parser in python, so we will be publishing the individual verses as separate events, after all.


Heads up. I've started printing the Bible in wiki events and then they'll be parsed into 30041s under the nostr:npub1s3ht77dq4zqnya8vjun5jp3p44pr794ru36d0ltxu65chljw8xjqd975wz npub. This is just our construction site. Sorry.


I find it confusing to edit the Kind 01 replies, but editing the issue is useful. Would lower the barrier to entry to create an issue because you know you can go back and change it or expand it, later.


Oh, PWA would be very nice. I use GitWorkshop on my phone, sometimes.


nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr
You might want to go ahead and pull this. It's just sort of languishing.


Deletion doesn't seem to work.


How is the caching implementation going?


These commits haven't been pushed yet, have they? Cuz my ReadMe still looks sorta ugly.
https://i.nostr.build/KGX6W.png


From 5f30980c15b9688cb41a9c487505c330699f04da Mon Sep 17 00:00:00 2001
From: Stella <silberengel7@protonmail.com>
Date: Thu, 6 Jun 2024 13:06:29 +0200
Subject: [PATCH] Updated ReadMe to reflect move to Nostr Wiki documentation. Edited relays in the maintainers file.

---
 README.md        | 17 +++++++----------
 maintainers.yaml |  6 ++++++
 2 files changed, 13 insertions(+), 10 deletions(-)
 create mode 100644 maintainers.yaml

diff --git a/README.md b/README.md
index b2cd674..4daf1a8 100644
--- a/README.md
+++ b/README.md
@@ -2,16 +2,6 @@

 A Nostr System Development Kit written in C++.

-## Behind the Name
-
-In the ancient Roman Republic, the aediles were officials elected from among the plebians and charged with caring for Rome's public infrastructure and ensuring an accurate system of weights and measures.
-
-The aim of the Aedile SDK is in the spirit of that ancient office:
-
-- Provide a fast and efficient service for interacting with Nostr relays via WebSocket connections.
-- Offer stable, well-tested implementations of commonly-used [Nostr Implementation Possibilities (NIPs)](https://github.com/nostr-protocol/nips/tree/master).
-- Open up Nostr development by taking care of the basics so developers can focus on solving problems, rather than reimplementing the protocol.
-
 ## Building the SDK

 ### Prerequisites
@@ -43,3 +33,10 @@ To run unit tests, use the following command:
 ```bash
 ctest --preset linux
 ```
+
+## Project documentation
+
+The full project documentation is available at
+nostr:naddr1qvzqqqrcvgpzpprwhau6p2ypxf6we9e8fyrzrt2z8ut28er56l7kde4f30lyuwdyqythwumn8ghj7un9d3shjtnwdaehgu3wvfskuep0qq9xzetyd9kx2ttwv34sqllhrs
+
+which is viewable on [Wikifreedia](https://wikifreedia.xyz/aedile-ndk/npub1s3ht77dq4zqnya8vjun5jp3p44pr794ru36d0ltxu65chljw8xjqd975wz), [Nostrudel](https://next.nostrudel.ninja/#/wiki/topic/aedile-ndk), or [Wikistr](https://wikistr.com/aedile-ndk*846ebf79a0a8813274ec9727490621ad423f16a3e474d7fd66e6a98bfe4e39a4)
diff --git a/maintainers.yaml b/maintainers.yaml
new file mode 100644
index 0000000..0bac24e
--- /dev/null
+++ b/maintainers.yaml
@@ -0,0 +1,6 @@
+maintainers:
+- npub1wqfzz2p880wq0tumuae9lfwyhs8uz35xd0kr34zrvrwyh3kvrzuskcqsyn
+- npub1ecdlntvjzexlyfale2egzvvncc8tgqsaxkl5hw7xlgjv2cxs705s9qs735
+relays:
+- wss://theforest.nostr1.com
+- wss://thecitadel.nostr1.com
--
libgit2 1.7.2


you don't like it?


okay. just sounds like a composite scanner.


That's how they do those grocery stores, where you just have to push the cart through to pay. RFID tags.


Yeah, the guys think I too nice to be a convincing witch. 😂


Check this out.
This is basically an uncurated list of kinds.

nostr:note18war0v9lujteyt07axcr3ej0czjx5dhz6xsa2maf97l4lttax92qlh8k2h


Oh, that's useful input, thanks! Bookmarked it.


What do you mean?


The numbers aren't assigned sequentially, so some are missing.

You can see the full list here:
https://wikifreedia.xyz/nip-event-register/dd664d5e4016433a8c


Documentation link

It would be nice to have a possibility to add a hyperlink to the repo metadata (analog to "websites") that links to the project documentation.
For example: https://wikifreedia.xyz/gitcitadel-docs

Or should we just add another website to the list?


I'm proposing this. Just remove the event kind list from the NIP repo and put it in a wiki page and basta.
https://wikifreedia.xyz/nip-event-register

nostr:nevent1qqsd2x8g7k95n64x9f9umj00dv2hwmqmeg5gxwrc3ghswjne7k3tcxqpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7p0e6vtq


From 8b4c82323c0c18faa30b856a8f57409ff0f0ab36 Mon Sep 17 00:00:00 2001
Subject: [PATCH 0/1] Allow for a more expansive and updated event kind list

It is currently a real fight, to grab one of the coveted NIP files, in order to document a new event kind. As the NIPs are limited in scope and number, that means lots of events will remain undocumented and simply show up on relays and clients, with no central place for them to figure out what they are looking at and how to properly handle it. At the same time that simply making the README.md in the NIP repo a Wiki doesn't solve for the fact that this list will eventually be quite long and frequently-edited, so it deserves to have its own Wiki page. I suspect that we could actually remove some of the obscure NIPs and simply list their event kinds here, with a link to some description elsewhere (perhaps in the client repo where they are implemented).


From 8b4c82323c0c18faa30b856a8f57409ff0f0ab36 Mon Sep 17 00:00:00 2001
From: Stella <silberengel7@protonmail.com>
Date: Wed, 22 May 2024 09:05:31 +0200
Subject: [PATCH 1/1] Moved list of events to a wiki page, so that we can expand and update the list more easily.

---
 README.md | 101 ++---------------------------------------------------------------------------------------------------
 1 file changed, 2 insertions(+), 99 deletions(-)

diff --git a/README.md b/README.md
index b3736ea..5485266 100644
--- a/README.md
+++ b/README.md
@@ -84,106 +84,9 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
 - [NIP-98: HTTP Auth](98.md)
 - [NIP-99: Classified Listings](99.md)

+
 ## Event Kinds
-| kind          | description                | NIP                      |
-| ------------- | -------------------------- | ------------------------ |
-| `0`           | Metadata                   | [01](01.md)              |
-| `1`           | Short Text Note            | [01](01.md)              |
-| `2`           | Recommend Relay            | 01 (deprecated)          |
-| `3`           | Follows                    | [02](02.md)              |
-| `4`           | Encrypted Direct Messages  | [04](04.md)              |
-| `5`           | Event Deletion             | [09](09.md)              |
-| `6`           | Repost                     | [18](18.md)              |
-| `7`           | Reaction                   | [25](25.md)              |
-| `8`           | Badge Award                | [58](58.md)              |
-| `9`           | Group Chat Message         | [29](29.md)              |
-| `10`          | Group Chat Threaded Reply  | [29](29.md)              |
-| `11`          | Group Thread               | [29](29.md)              |
-| `12`          | Group Thread Reply         | [29](29.md)              |
-| `13`          | Seal                       | [59](59.md)              |
-| `14`          | Direct Message             | [17](17.md)              |
-| `16`          | Generic Repost             | [18](18.md)              |
-| `40`          | Channel Creation           | [28](28.md)              |
-| `41`          | Channel Metadata           | [28](28.md)              |
-| `42`          | Channel Message            | [28](28.md)              |
-| `43`          | Channel Hide Message       | [28](28.md)              |
-| `44`          | Channel Mute User          | [28](28.md)              |
-| `1021`        | Bid                        | [15](15.md)              |
-| `1022`        | Bid confirmation           | [15](15.md)              |
-| `1040`        | OpenTimestamps             | [03](03.md)              |
-| `1059`        | Gift Wrap                  | [59](59.md)              |
-| `1063`        | File Metadata              | [94](94.md)              |
-| `1311`        | Live Chat Message          | [53](53.md)              |
-| `1617`        | Patches                    | [34](34.md)              |
-| `1621`        | Issues                     | [34](34.md)              |
-| `1622`        | Replies                    | [34](34.md)              |
-| `1630`-`1633` | Status                     | [34](34.md)              |
-| `1971`        | Problem Tracker            | [nostrocket][nostrocket] |
-| `1984`        | Reporting                  | [56](56.md)              |
-| `1985`        | Label                      | [32](32.md)              |
-| `4550`        | Community Post Approval    | [72](72.md)              |
-| `5000`-`5999` | Job Request                | [90](90.md)              |
-| `6000`-`6999` | Job Result                 | [90](90.md)              |
-| `7000`        | Job Feedback               | [90](90.md)              |
-| `9000`-`9030` | Group Control Events       | [29](29.md)              |
-| `9041`        | Zap Goal                   | [75](75.md)              |
-| `9734`        | Zap Request                | [57](57.md)              |
-| `9735`        | Zap                        | [57](57.md)              |
-| `9802`        | Highlights                 | [84](84.md)              |
-| `10000`       | Mute list                  | [51](51.md)              |
-| `10001`       | Pin list                   | [51](51.md)              |
-| `10002`       | Relay List Metadata        | [65](65.md)              |
-| `10003`       | Bookmark list              | [51](51.md)              |
-| `10004`       | Communities list           | [51](51.md)              |
-| `10005`       | Public chats list          | [51](51.md)              |
-| `10006`       | Blocked relays list        | [51](51.md)              |
-| `10007`       | Search relays list         | [51](51.md)              |
-| `10009`       | User groups                | [51](51.md), [29](29.md) |
-| `10015`       | Interests list             | [51](51.md)              |
-| `10030`       | User emoji list            | [51](51.md)              |
-| `10050`       | Relay list to receive DMs  | [17](17.md)              |
-| `10096`       | File storage server list   | [96](96.md)              |
-| `13194`       | Wallet Info                | [47](47.md)              |
-| `21000`       | Lightning Pub RPC          | [Lightning.Pub][lnpub]   |
-| `22242`       | Client Authentication      | [42](42.md)              |
-| `23194`       | Wallet Request             | [47](47.md)              |
-| `23195`       | Wallet Response            | [47](47.md)              |
-| `24133`       | Nostr Connect              | [46](46.md)              |
-| `27235`       | HTTP Auth                  | [98](98.md)              |
-| `30000`       | Follow sets                | [51](51.md)              |
-| `30001`       | Generic lists              | [51](51.md)              |
-| `30002`       | Relay sets                 | [51](51.md)              |
-| `30003`       | Bookmark sets              | [51](51.md)              |
-| `30004`       | Curation sets              | [51](51.md)              |
-| `30008`       | Profile Badges             | [58](58.md)              |
-| `30009`       | Badge Definition           | [58](58.md)              |
-| `30015`       | Interest sets              | [51](51.md)              |
-| `30017`       | Create or update a stall   | [15](15.md)              |
-| `30018`       | Create or update a product | [15](15.md)              |
-| `30019`       | Marketplace UI/UX          | [15](15.md)              |
-| `30020`       | Product sold as an auction | [15](15.md)              |
-| `30023`       | Long-form Content          | [23](23.md)              |
-| `30024`       | Draft Long-form Content    | [23](23.md)              |
-| `30030`       | Emoji sets                 | [51](51.md)              |
-| `30063`       | Release artifact sets      | [51](51.md)              |
-| `30078`       | Application-specific Data  | [78](78.md)              |
-| `30311`       | Live Event                 | [53](53.md)              |
-| `30315`       | User Statuses              | [38](38.md)              |
-| `30402`       | Classified Listing         | [99](99.md)              |
-| `30403`       | Draft Classified Listing   | [99](99.md)              |
-| `30617`       | Repository announcements   | [34](34.md)              |
-| `30818`       | Wiki article               | [54](54.md)              |
-| `31922`       | Date-Based Calendar Event  | [52](52.md)              |
-| `31923`       | Time-Based Calendar Event  | [52](52.md)              |
-| `31924`       | Calendar                   | [52](52.md)              |
-| `31925`       | Calendar Event RSVP        | [52](52.md)              |
-| `31989`       | Handler recommendation     | [89](89.md)              |
-| `31990`       | Handler information        | [89](89.md)              |
-| `34550`       | Community Definition       | [72](72.md)              |
-| `39000-9`     | Group metadata events      | [29](29.md)              |
-
-[nostrocket]: https://github.com/nostrocket/NIPS/blob/main/Problems.md
-[lnpub]: https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/client.md
+A list of all Nostr event kinds covered by the NIPs, and by other sources, is available as a Wiki page: [Event Register](https://wikifreedia.xyz/nip-event-register)

 ## Message types

--
libgit2 1.7.2


I've been assuming it's just the brand name for that particular implementation.


🥳
nostr:note180cpz9yq2dkc272jcepqyh0slw7crlgyranq8qk5letatf6eq6cqlke7ql


That's a good idea.


GM Nostr!

Aedile NDK is now accepting proposals on nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr's GitWorkshop!  URL and Nostr address below.

Zaps will be split with nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr for his work on GitWorkshop and NGit, and with nostr:npub1ecdlntvjzexlyfale2egzvvncc8tgqsaxkl5hw7xlgjv2cxs705s9qs735 for his contributions and feedback on the project.

https://gitworkshop.dev/repo/aedile-ndk/

naddr1qq9xzetyd9kx2ttwv34sz9thwden5te0wp6hyurvv4ex2mrp0yhxxmmdqgs8qy3p9qnnhhq847d7wujl5hztcr7pg6rxhmpc63pkphztcmxp3wgrqsqqqauecgrsqy


I'm just going to create forks to GitHub repos I'm not a collaborator on, and use them as the feeder for my ngit proposals.


Okay, just have a normal pic, until I can think of something else.


Wait, I need a new emoji...


Origin issue:
nostr:nevent1qqsg9fdqq7djq2sc7xamt49n7zd5qu73y8pupxfqxm3s76j3r25shqqpp4mhxue69uhkummn9ekx7mqzyzsq3hh327t0h2dq6matqn5064cgj2zanl2stkj6s0lg4t2h5dty6vpv4gu


Tagging from a list: nostr:nevent1qqs8pj422n5pjq7pe803sk5kfput7tygeu84gmp348r7unjgf3l59fspp4mhxue69uhkummn9ekx7mqzyr7jprhgeregx7q2j4fgjmjgy0xfm34l63pqvwyf2acsd9q0mynuzavle2l

Integrating reactions: nostr:nevent1qqsrd5ykl45gtntc273eyfvkwy2808km6dkqvz6p8rnjaz8j740htjspp4mhxue69uhkummn9ekx7mqzyr7jprhgeregx7q2j4fgjmjgy0xfm34l63pqvwyf2acsd9q0mynuzn6eetx

Voting with +/- :
nostr:nevent1qqs96s3mm3ta3kdrnfqhn2y6muzywhcz3jvc4xnrl9x8herghej4huspp4mhxue69uhkummn9ekx7mqzyr7jprhgeregx7q2j4fgjmjgy0xfm34l63pqvwyf2acsd9q0mynuzzu9qcc


Liking or voting

The user should be able to use a kind 7 "+" or "-" to vote on whether they want a particular proposal to be implemented. It should perhaps be displayed as  👎👍 or up/down arrows.

The top of the proposal could have a count of likes/dislikes and items that receive more net-positive votes could be displayed higher in the list. (Of course, the developer still has full choice over what to implement when, but it's an easy way to get signed feedback).


Integrate reactions

Instead of listing reactions as a separate event or reply, they should be integrated into the note that they're reacting to.

Origin issue: nostr:nevent1qqsg9fdqq7djq2sc7xamt49n7zd5qu73y8pupxfqxm3s76j3r25shqqpp4mhxue69uhkummn9ekx7mqzyzsq3hh327t0h2dq6matqn5064cgj2zanl2stkj6s0lg4t2h5dty6vpv4gu


Tagging from list

It would be nice to be able to type the "@" symbol and then get a filtered list of possible users to tag.

Origin Issue: nostr:nevent1qqsg9fdqq7djq2sc7xamt49n7zd5qu73y8pupxfqxm3s76j3r25shqqpp4mhxue69uhkummn9ekx7mqzyzsq3hh327t0h2dq6matqn5064cgj2zanl2stkj6s0lg4t2h5dty6vpv4gu


Does he even use ngit? He hasn't responded to anything, so far.
Also, I'm thinking maintainers will usually be under gitignore, right? nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr what do you think? Do you think maintainers should be under change control? Seems more like an input file for the public event.


Better?


If someone wants to pull this, it'll fix the relays used when you send a proposal.


It turned out that the proposal I was trying to pull was corrupt because of a missing file-ending. I thought the errors were some sort of conflict, but they weren't.


Ah, okay.


I think if you ngit pull this, it should all work. (I couldn't figure out how to edit this proposal, sorry.)
nostr:nevent1qqsf0wvt6q8fhxyplg7n37p0gd55fwj7ez4fkw5a4ldtax5tj3gf85gpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7ppk6q2u


Okay, I think this one should work.


From fa27a3b937b1231be93f14b7006a94032e912ae5 Mon Sep 17 00:00:00 2001
From: Stella <silberengel7@protonmail.com>
Date: Thu, 16 May 2024 15:51:22 +0200
Subject: [PATCH 1/1] Final version of maintainers file, this time without README file-ending missing.

---
 maintainers.yaml | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/maintainers.yaml b/maintainers.yaml
index 81b330a..568d6f5 100644
--- a/maintainers.yaml
+++ b/maintainers.yaml
@@ -4,15 +4,5 @@ maintainers:
 relays:
 - wss://relay.damus.io
 - wss://relay.nostr.ai
-- wss://noster.online
-- wss://nos.lol
-- wss://eden.nostr.land
-- wss://astral.ninja
-- wss://no-str.org
-- wss://relay.nostr.band
-- wss://expensive-relay.fiatjaf.com
-- wss://universe.nostrich.land
-- wss://nostr.bitcoiner.social
 - wss://relay.snort.social
-- wss://nostr.plebchain.org
 - wss://nostr.einundzwanzig.space
--
libgit2 1.7.2


From fa27a3b937b1231be93f14b7006a94032e912ae5 Mon Sep 17 00:00:00 2001
Subject: [PATCH 0/1] Fresh start

Removed the burning proposal, as I'm still working on it. Corrected the maintainers file to the current 4 relays and fixed the eding on the README.md file.


Yeah, I've never worked with any of this stuff before. Confusing.


nostr:npub1896p07z8xngpct5ma00mdrad4gqfnwfwdqcl706wrm25ajynahhs27x5ge  You removed the ".md" from "README.md" filename. That's why I can ngit pull, but I get an error.

I thought I was going nuts. 😅


Four, including einundzwanzig.

https://image.nostr.build/05e1c43331bfccc20ac50a46182ad86b7ade58122bc04a5f8c48f9372897154d.jpg


What workflow should I have used, as it's now a big mess?

Here's what I did
1) make a branch
2) commit to branch
3) ngit send
4) merge branch to master
5) ngit pull
6) 😭  nothing works


I can't figure out how to pull the changes. I see

finding proposals...
 ✔ 3 events   wss://relay.damus.io/
 ✘ error      wss://relay.nostr.ai/ connection timeout
 ✔ 0 events   wss://relay.snort.social/
 ✔ 0 events   wss://nostr.einundzwanzig.space/                                  ? all proposals ›
  Edited maintainers file
  2024.05.16-10.17.43
  Burning an npub

But when I try to do ngit pull, I get

finding proposal root event...
 ✔ 3 events   wss://relay.damus.io/
 ✘ error      wss://relay.nostr.ai/ connection timeout
 ✘ error      wss://relay.snort.social/ connection timeout
 ✔ 0 events   wss://nostr.einundzwanzig.space/
Error: cannot find a proposal root event associated with the checked out branch name

The branch is master.


nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr Why does it ask me for the naddr every time?


Actually, I guess this is a solution for a problem that wouldn't exist, if we could "follow" repos or repo events, as we'd then see the changes in real-time, in any client, and we could have a newsfeed in the gitworkshop profile.


No, on a separate branch. I've merged it to master locally, but not in the proposal.


From 6363fbc549ce49fe3dc6ea639e857e58b0a3e36e Mon Sep 17 00:00:00 2001
From: Stella <silberengel7@protonmail.com>
Date: Thu, 16 May 2024 12:57:15 +0200
Subject: [PATCH] Added the einundzwanzig relay to the list for this repo.

---
 maintainers.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/maintainers.yaml b/maintainers.yaml
index 8812ec4..c399d08 100644
--- a/maintainers.yaml
+++ b/maintainers.yaml
@@ -6,3 +6,4 @@ relays:
 - wss://relay.nostr.band
 - wss://relay.f7z.io
 - wss://purplerelay.com
+- wss://nostr.einundzwanzig.space
--
libgit2 1.7.2


nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr The einundzwanzig relay worked well. Think it would be a good standard relay.


I copied your maintainers file from your new proposal. Don't know if that was the greatest idea...


From ec3f89f4648b9d1007e598f5184352a38a5972f2 Mon Sep 17 00:00:00 2001
Subject: [PATCH 0/2] Edited maintainers file

Created a fork to contain a local version of the maintainers file, removing purplepag.es because it doesn't handle ngit events, and adding the largest German "free and open" relay.


From ec3f89f4648b9d1007e598f5184352a38a5972f2 Mon Sep 17 00:00:00 2001
From: Stella <silberengel7@protonmail.com>
Date: Thu, 16 May 2024 12:35:07 +0200
Subject: [PATCH 2/2] Added einundzwanzig relay to the maintainers file

---
 maintainers.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/maintainers.yaml b/maintainers.yaml
index dae0274..81b330a 100644
--- a/maintainers.yaml
+++ b/maintainers.yaml
@@ -15,3 +15,4 @@ relays:
 - wss://nostr.bitcoiner.social
 - wss://relay.snort.social
 - wss://nostr.plebchain.org
+- wss://nostr.einundzwanzig.space
--
libgit2 1.7.2


From 7c511a1ea82f2a16026f4a8960936862d99f1663 Mon Sep 17 00:00:00 2001
From: Stella <silberengel7@protonmail.com>
Date: Thu, 16 May 2024 12:33:09 +0200
Subject: [PATCH 1/2] Create a new maintainers file and remove the purplepag.es relay because it doesn't accept ngit events, only profile data and etc.

---
 maintainers.yaml | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 maintainers.yaml

diff --git a/maintainers.yaml b/maintainers.yaml
new file mode 100644
index 0000000..dae0274
--- /dev/null
+++ b/maintainers.yaml
@@ -0,0 +1,17 @@
+maintainers:
+- npub1896p07z8xngpct5ma00mdrad4gqfnwfwdqcl706wrm25ajynahhs27x5ge
+- npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6
+relays:
+- wss://relay.damus.io
+- wss://relay.nostr.ai
+- wss://noster.online
+- wss://nos.lol
+- wss://eden.nostr.land
+- wss://astral.ninja
+- wss://no-str.org
+- wss://relay.nostr.band
+- wss://expensive-relay.fiatjaf.com
+- wss://universe.nostrich.land
+- wss://nostr.bitcoiner.social
+- wss://relay.snort.social
+- wss://nostr.plebchain.org
--
libgit2 1.7.2


Usually can't even see it, as it's in the gitignore.


The problem is that lots of people who hang out in FOSS platforms think that government and politics don't matter because they're anon.
So, there is no will to fight, organize, politicize, etc. Everyone just goes deeper and deeper into hiding.

Other movements I've been involved in always went full-offense and created scenes in public, to make sure that the public realized that persecuting them would be a big PITA because it's like playing whack-a-mole with moles holding megaphones and marching downtown.


The left wing said they’d abolish poverty. Right wing said they’d abolish bureaucracy. Odin said he’d abolish ice giants.
Where are the ice giants?
Vote Odin 😂


Not on someone else's repo.


I have no problem with someone being nym. Allowing nyms to navigate the Internet effectively is part of why I'm here.

That said, I'm old-school enough to simply assume that doing anything new or radical might lead to getting arrested. It's a form low-key civil disobedience or protest, and carries inherent risk.
I'm actually sort okay with that. I've just accepted it.

The bigger issue for me is actually the draconian sentencing laws, that make writing code a bigger crime than rape or murder. Reminds me of the overzealous crack laws that were just thinly-disguised minority prosecution.


Here are the two ngit events, that I've deleted, so far:

Note with wrong hyperlink:
nostr:nevent1qqs9s2s9f5rqgw4q6q4wfw2td6sq5p6dydsmx74rggr5zywnuj8t36gpz3mhxue69uhhyetvv9ujuerpd46hxtnfdupzplfq3m5v3u5r0q9f255fdeyz8nyac6lagssx8zy4wugxjs8ajf7pz9lt55

First ngit init that went wrong:
nostr:note1lv5m0kvmvc4lmy530r0rfaeyuv04zgp2w9sg2cwaednsdyerzwwsdgzttw


Deletion events (kind 5)

In the following proposal, I listed a hyperlink wrong and then added an event to delete that one and replaced it with a correct even. Unfortunately, the delete even is displayed as an event, rather than resulting in the deleted event being hidden/removed from the thread.

https://gitworkshop.dev/repo/nips/proposal/23791a60b65c898b2eaa500323ef918e0c9d61b6a6dc16d7da42a3cc935075d7


Hyperlink, in case that doesn't render well:

https://next.nostrudel.ninja/#/n/nevent1qvzqqqqqqypzphtxf40yq9jr82xdd8cqtts5szqyx5tcndvaukhsvfmduetr85ceqqsy4nget7dvsdlh64mjm46px9xm88wz64qv2k6t2sfxzaf7djtnfrgp9rp8l


Hyperlink, in case that doesn't render well:

https://next.nostrudel.ninjahttps://next.nostrudel.ninja/#/n/nevent1qvzqqqqqqypzphtxf40yq9jr82xdd8cqtts5szqyx5tcndvaukhsvfmduetr85ceqqsy4nget7dvsdlh64mjm46px9xm88wz64qv2k6t2sfxzaf7djtnfrgp9rp8l


They were discussing (in a separate dev hellthread) that we could add a layer of validation to a migration by using WoT and NIP-05, or even a linked key.
nostr:nevent1qvzqqqqqqypzphtxf40yq9jr82xdd8cqtts5szqyx5tcndvaukhsvfmduetr85ceqqsy4nget7dvsdlh64mjm46px9xm88wz64qv2k6t2sfxzaf7djtnfrgp9rp8l


Are you defining
"locked" as "frozen, but don't delete anything, yet"
versus
"retired" as "already locked and events now ready for deletion"?

Or are you using locked as a different word for the second thing?


Locked implies it could eventually be unlocked. Sounds less final.
Can't really lock and then unlock an npub because the nsec can't change, as far as I know.


relay doens't work

Hello npub1896p07z8xngpct5ma00mdrad4gqfnwfwdqcl706wrm25ajynahhs27x5ge
The ngit repo for nips contains wss://purplepage.es, but that relay doesn't accept normal notes. It's more for profile data, so it should maybe be removed from the list.


I encourage everyone to take this opportunity to try reading and reviewing a git proposal, so that you can see how cool this is. I downloaded a copy of the git code repository that this ngit account links to, changed one of the files, committed (saved) it locally in my copy, and then I use ngit to send the committed change to the people running the "official" repository. If they like my commit, they can pull it into their copy of the code. If they don't like my commit, they can close the proposal or ask me to make changes to it.

Don't worry about spamming the replies, as none of this is located in the actual git repository; it's just normal Nostr stuff.


I've submitted a patch to the event deletion NIP (09.md), adding the possibility to burn or retire an npub, rather than merely emptying it of events through deletion.

You can see the proposal and comment on it by opening the note below or by clicking https://gitworkshop.dev/repo/nips/proposal/23791a60b65c898b2eaa500323ef918e0c9d61b6a6dc16d7da42a3cc935075d7

nostr:nevent1qqszx7g6vzm9ezvt9649qqera7gcuryavxm2dhqk6ldy9g7vjdg8t4cpp4mhxue69uhkummn9ekx7mqzyr7jprhgeregx7q2j4fgjmjgy0xfm34l63pqvwyf2acsd9q0mynuzyshtlf


relay list changes

Purplepag.es is only for profile data and therefore returns an error:
[repo-relay] wss://purplepag.es error: blocked: Purple Pages only accepts kind 0, 3 and 10002.


From 3d450733917dafd6bfc6f2b1fc7aa32f09efec6d Mon Sep 17 00:00:00 2001
From: Stella <silberengel7@protonmail.com>
Date: Wed, 15 May 2024 14:57:58 +0200
Subject: [PATCH 1/1] This is a proposal for retiring (burning) a npub, particularly to address compromised accounts or identity theft. The proposal focuses on quickly freezing activity from the npub and notifying all protocol users of the end of the npub's use by the original holder of the nsec.

---
 09.md | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/09.md b/09.md
index fbbd6e1..1e14fd9 100644
--- a/09.md
+++ b/09.md
@@ -47,3 +47,29 @@ Relays MAY validate that a deletion event only references events that have the s
 ## Deleting a Deletion

 Publishing a deletion event against a deletion has no effect.  Clients and relays are not obliged to support "undelete" functionality.
+
+Npub Retiring
+--------------
+
+A special event with kind `55`, meaning "npub retirement" has no tags and describes the npub that should be marked as "retired".
+
+The event's `content` field MAY contain a text note describing the reason for the retiring.
+
+For example:
+
+```
+{
+  "kind": 55,
+  "pubkey": <32-bytes hex-encoded public key of the event creator>,
+  "content": "The nsec for this npub has been compromised.",
+  ... other fields
+}
+```
+
+Relays SHOULD stop publishing any further events to or from the retired npub.
+
+Relays MAY delete all events from the retired npub, except for the npub retirement event.
+
+Clients SHOULD stop signing events to or from the retired npub.
+
+Clients MAY mark the events from the npub as "retired" or hide the events.
--
libgit2 1.7.2


From 3d450733917dafd6bfc6f2b1fc7aa32f09efec6d Mon Sep 17 00:00:00 2001
Subject: [PATCH 0/1] Burning an npub

The npub+nsec combination brings the advantage that no user can have their passkey stolen and end up "locked out" of their own profile or app accounts by the thief changing their passkey. This is a securtiy advancement. However, the problem remains that the passkey (nsec) could be stolen or be given to a bad actor, and then the user must helplessly "share" the passkey with them. Both owner and thief can continue to sign events using this passkey. For this reason, I suggest we give users the possibility to burn an npub, by issuing a final event describing the npub as "retired".


Yeah, no problem, just wanted to have it written down, so that we don't forget about it.

It's probably actually a separate proposal, since it sort of breaks the scope of this one, but it would make the use of this one more likely.


Issue and proposal order

It would be nice if we could sort to see items that had been recently changed further up the list, rather than by order submitted. I have to click each one and read the thread, to see if something has been added to items further down.

That wasn't an issue, back when there were 2 issues in the list, but here we are. And soon, we'll need to start paging...


Abstract repo for GitCitadel project data


Can we see our starred stuff in our profile?


You mean, follow a repo or follow an npub or both?


Sorry. :-)
Just checking to see if replies refresh. Had to refresh the entire page, after the last note, but I think it was just slow.


test


I'm closing this issue because I'm thinking this is actually an ngit discussion. Moved it to a new issue here:

nostr:nevent1qqsf7hg7slt4uaapkqnhe0cpl84n5a2v93anqedrzkvwv30n3hc9xjspp4mhxue69uhkummn9ekx7mqzyr7jprhgeregx7q2j4fgjmjgy0xfm34l63pqvwyf2acsd9q0mynuz36ecrx


Access control for repo

It would be nice to have a blacklist option for ngit, so that nobody can spam or troll your repo with nonsense Proposals or by fiddling with Issues, etc.

An additional feature could be a whitelist, where your repo is publicly viewable, but you can define who may submit issues and proposals.


Would the wss://nostr.einundzwanzig.space/ relay be a possibility?


Sorry, submitted to wrong project. Should be gitdevworkshop. Opened a new issue there.


Problem with the tab label in browser

I had minitru repo open in gitworkshop (Firefox under Linux Mint) and switched to a different rep, but the label on the browser tab still showed minitru.

https://image.nostr.build/4453298530cfa9146cd2d04331c26426a091c7a3280f33874cd1f694cf33e8da.jpg


Hey, cool.
I guess I'm back to nagging you all day, again. 😜

j/k It's been coming along nicely.


test write in thread after re-open of resolved issue.


Nos2x-fox browser extension now allows me to switch profiles in the extension, which is so much more elegant than having to do that in each individual client. So, very nice, very useful.

Thanks, nostr:npub168nqgewzkamnyh53x0epqrftkv2pdh9gzr6558v4vetzr3w7uxfs63926e


Is this commit waiting for something, to be pushed? Sort of annoying.


From 14d4d3d6a4fa1c70ad9c892605d7cabcd175fa90 Mon Sep 17 00:00:00 2001
Subject: [PATCH 0/1] Update to ReadMe for Ubuntu

Expanded the installation instructions to include how to activate the virtualenv on my Linux Mint machine. I think this is a common format being used and worth adding to the list.


From 14d4d3d6a4fa1c70ad9c892605d7cabcd175fa90 Mon Sep 17 00:00:00 2001
From: Stella <silberengel7@protonmail.com>
Date: Tue, 14 May 2024 06:52:29 +0200
Subject: [PATCH 1/1] Add a line to explain how to activate the virtual environment in slightly different terminals.

---
 README.md | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 9e317b5..31311e7 100644
--- a/README.md
+++ b/README.md
@@ -132,14 +132,16 @@ Create a folder for MINITRU:
 4. Create a "virtual environment" to install libraries in
 	virtualenv env_minitru

-Activate this virtual environment for this session:
+5. Activate this virtual environment for this session:
 	. env_minitru/bin/activate
+   Alternatively, you can use:
+	source ./env_minitru/bin/activate

-5. Clone this project:
+6. Clone this project:
 	torsocks git clone git://uehkilylfklvvrx7rj7pua2piprkoc3l26hwk4w5wyeeingbwg6fkpid.onion/minitru.git

-6. Install libraries
+7. Install libraries
 	cd minitru
 	python3 -m pip install -r requirements.txt

--
libgit2 1.7.2


Congratulations Finrod, on your first release! 🥳


nostr:npub10npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qzztl5h do you know?


You require spacy 3.7 and it doesn't support python 3.6.


I have both 2 and 3.

$ python --version
Python 2.7.17
$ python3 --version
Python 3.6.9


nostr:npub1494rtg3ygq4cqawymgs0q3mcj6hucvu4kmadv03s5ey2sg32df5shtzmp0 this is what I am staring at, for 30 minutes.

$ pip install spacy
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Defaulting to user installation because normal site-packages is not writeable
Collecting spacy
  Using cached spacy-2.3.9.tar.gz (1.0 MB)
  Installing build dependencies ... |


Still trying to install spacy. 😜


Doing some Nostr work, today.
Had to take a break, for a few days, and enjoy some sunshine and shitposting.


Yeah, I mean for git servers like gitea. Git always asks for an e-mail and a name, and the e-mail is actually the main identifier. Didn't we discussing using NIP-05 or similar, instead?


We can do this on self-hosted git servers, right?
nostr:note1puhnuprqterl3sswwt78vzs3924tndju8068sqd64v37yf60qkxssrfnqq


Don't think renaming proposals would help. It's a different workflow and a different mindset.


MfW a developer was gracious enough to leave me the option of logging in with nsec, even though it's regarded. https://image.nostr.build/3a8341e69fe17a707d5a0d9f90b4bdd2f2ce06f20b33bbdc04d37ce7aff159a7.gif


Ah, okay. Now I get how that patches stuff works. Neat.


One repository too many

Okay, now I have a problem because I've figure out that I don't need to use forks with this because the proposals stay on my local clone and don't appear in the source repo unless I push them to there. I somehow didn't get how it worked, before.

But I now have my local clone and my local fork and both have ngit and it's a confusing mess. Can I somehow delete the fork and the fork's local clone, and just use the source remote+local? Will ngit explode or something?


Multiple maintainers

Hello, I was wondering how I can add additional maintainers to the yaml file, without producing an error during ngit init?
I tried just writing

maintainers:
- npubbunchofnumbers
- npubbunchofnumbers
- npubbunchofnumbers

But I got a complaint that they were just separated by a space, or something.


I'm in a private group and it seems to work.

What do you think, nostr:npub1f6ugxyxkknket3kkdgu4k0fu74vmshawermkj8d06sz6jts9t4kslazcka ?


Well, I guess I can see them on any nostr client, but not as a list.


Can I also see issues on command line?


Elsewhere, you had checkboxes [x], so I was looking for the same mechanism.


With the repo determining the thread. 🤔 Yes.


On gitworkshop.dev, I mean.


Also looks good in Coracle. Very nice.


Reply missing p tag

Replied to a comment under an issue and the reply doesn't contain a mention to the npub that I replied to.

You can see the "Hello world!" comment in this proposal:
https://gitworkshop.dev/repo/gitcitadel/proposal/9f2b6f992fd0df1a435ab796695b4f3e73cbcc61500d738d79b156d0ea8bb344


nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr looks like nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr is integrating your kinds in #Nostrudel. 👀


Probably not. Not yet. Maybe later. 🤔

You can also just put a clone on some server and let people grab it from there. No PRs, then, tho.


Hello npubbunchofnumbers!


Yeah, that one. https://wikifreedia.xyz/


+1
But that's version 2.0 level feature addition, I think. Would be nice, tho. Looks like https://oddbean.com/


I keep seeing these long randomy-strings in your notes, Dan.


Oh, nevermind. See you addressed that in a different proposal. Cool.


Yeah, my team alone has 15 repos. Add in the other ones I'm testing and consulting on and it's nearly 20 repos. 🙈


Can we also do it the other way around, with embedding "nostr:npubbunchofnumbers" and "nostr:neventbunchofnumbers" and etc. in issues?

Then, if I see someone mentioning a bug in a Nostr note, I could just grab the id and paste it into an issue and @ them in it. Instant feedback and then I don't lose track of who reported the bug.


Stop using recursive functions, please.


Does it have that exact "README.md" lettering in the filename?


Hanging after list

After I type in "ngit list", it returns the list correctly, but doesn't return me to the command line. Just hangs.

It's not clear to me, if that's on purpose and I'm supposed to undertake some action.
Can I, for instance, somehow select entries and see their content? Or is it just a flat list?


relay selection

relay.f7z.io doesn't ever write. I think it only works for a few whitelisted npubs.
Gives me an error every time, which is irritating.


From 9c7194a338754037acb0b609950d49d3f2742cba Mon Sep 17 00:00:00 2001
Subject: [PATCH 0/1] gc-dam

Added gc-dam to the list of projects


From 9c7194a338754037acb0b609950d49d3f2742cba Mon Sep 17 00:00:00 2001
From: SilberWitch <silverengel7@protonmail.com>
Date: Sat, 20 Apr 2024 19:28:16 +0200
Subject: [PATCH 1/1] Added gc-dam to the list of projects

---
 README.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/README.md b/README.md
index 18cfe7a..d197fbd 100644
--- a/README.md
+++ b/README.md
@@ -42,6 +42,7 @@ Here is a table listing all of the project's product repositories and which exte
 | [GC Alexandria](https://github.com/ShadowySupercode/gc-alexandria)           | Library relay for books, magazines, and articles   | [Upload Files](https://github.com/limina1/upload_files) |
 | [GC Ulysses](https://github.com/ShadowySupercode/gc-ulysses)            | Relay navigator and rating page                |   |
 | [GC Tradewinds](https://github.com/ShadowySupercode/gc-tradewinds)            | Nostr exploration, filtering, and querying API  | [Friendstr](https://github.com/captain-stacks/friendstr)

[Nostr Graveyard](https://github.com/captain-stacks/nostr-graveyard)  |
+| [GC DAM](https://github.com/ShadowySupercode/gc-dam)            | Another DAM client  |  |
 | [GitRepublic](https://github.com/ShadowySupercode/gitrepublic)           | GitHub clone project.
(This will eventually be where we will be handling issues and proposals, but it will be compatible with the current tool.) | |
 | [GitRepulic Core](https://github.com/ShadowySupercode/gitrepublic-core)            | Core libraries for the basic GitRepublic functions, based upon our C/C++ SDK  | [NostrSDK TSV](https://github.com/buttercat1791/NostrSDK)

[NoScrypt](https://github.com/VnUgE/noscrypt) |
 | [GitRepublic CLI](https://github.com/ShadowySupercode/gitrepublic-cli)   | Simple CLI for managing and cooperating over git repos   |   |
--
libgit2 1.7.2


GitHub is a bad habit.


Yes! And try hard to reduce LoC with every new feature. I know it sounds weird, but it's (usually) doable and pays out.


Repo bookmarking

I'm already starting to collect some repo-favorites (like this one), and I'm making a bookmark in my browser, to find them again.
Would be cool to be able to bookmark them, in gitworkship, by starring them. And then see the list in my profile.


The easiest way to speed up your application processing is to make the code simpler and cleaner. Refactor, rethink the workflows, discard unpopular/unnecessary features, etc.


You could also simply add the location as a hyperlink to your Readme.md

GitWorkshop (and the other GitNostr products, replaces GitHub functionality, not git itself. We like git. Git can stay git.


That's what the "clone" field is for. It's the location they can clone the repo from.


No. You just need an Internet address to a server, where people can find your repo. That shows up in the right frame, as a hyperlink.

It still works without it, I think, as the repo info comes directly from your local git.

Or am I wrong nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr ?


Why don't all Nostr-affiliated projects close their GitHub issues and move over to GitWorkshop.dev or similar?


About my project...

nostr:nevent1qvzqqqqqqypzpprwhau6p2ypxf6we9e8fyrzrt2z8ut28er56l7kde4f30lyuwdyqqs294uyggvvstpthv7gtxkelegh6wmzp39086ag62hxv2g5hmrpnughkydts


Then GM, sir. ☺


GM

Well, maybe GA.


Well, it's apparently two points of failure. 🤷♀

Having both as buttons is nice, tho.


We're helping ourselves, too.
You give us a chance to onboard our users straight to Nostr. 😎


I'm a great tester because I'm prolific and insatiably curious, but like a bull in a ceramic shop. 😂


GM

#[0]
nostr:note18ssesa7wycm6t5s8rxxwkydnamhd9je972lpyncktzw4jrpkj0fsvufkah


Fraeserin 🔥


I used the one on the side, but there are two buttons, which is confusing.
Maybe make the one at the top a button (and get it working) and the one on the side just a colored label.


Proposal "Close" button doesn't respond when clicked.

Like the title says, I logged in as SilberWitch and want to change this proposal from "Open" to "Accepted", but the button (above-left of the proposal notes) doesn't respond.

https://gitworkshop.dev/repo/gitcitadel/proposal/5d45832b9f33d773a9f704756ff747fbb959d4213e9496707c70c892bad01bb5


You can view the changes integrated into the repo here: https://github.com/SilberWitch/sw_gitcitadel.


From 5ec1bb8a0907900541eb59a46c7807f1dc6bbea7 Mon Sep 17 00:00:00 2001
From: SilberWitch <silverengel7@protonmail.com>
Date: Fri, 19 Apr 2024 07:30:14 +0200
Subject: [PATCH] Spelling corrections to Readme.md

---
 README.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 9e35db7..18cfe7a 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@

 Welcome to the abstract repo for our GitCitadel project. This is the repo we're using to communicate about our project team and products.

-All issues and bug reports for any product should be submitted to our [GitWorkshop page](https://gitworkshop.dev/repo/gitcitadel) We will handle first-level support there. Please make sure to mention which product you are having the issue with, so that we can channel it to the appropriate product team.
+All issues and bug reports for any product should be submitted to our [GitWorkshop page](https://gitworkshop.dev/repo/gitcitadel). We will handle first-level support there. Please make sure to mention which product you are having the issue with, so that we can channel it to the appropriate product team.
 (Thank you, [DanConway](https://njump.me/nprofile1qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qghwaehxw309aex2mrp0yhxummnw3ezucnpdejz7qgwwaehxw309ahx7uewd3hkctcqyzsq3hh327t0h2dq6matqn5064cgj2zanl2stkj6s0lg4t2h5dty6ek49a0), for hosting us!).

 ## About Us
@@ -31,13 +31,13 @@ The development teams for individual products will be listed in the ReadMe of th

 ## Products

-Here is a table listing all of the project repositories and which external libraries they utilize or have used as a reference.
+Here is a table listing all of the project's product repositories and which external libraries they utilize or have used as a reference.

-(Please note that we have turned off "issues" in the GitHub settings of our products, as we are a Nostr-forward project team and will be handling our issues there.)
+(Please note that we have turned off "issues" in the GitHub settings of our project's repos, as we are a Nostr-forward project team and will be handling our issues there.)

 | **Product** | **Description** | **Libraries**   |
 |-------------|-----------------|---------------------------------|
-| [Gitcitadel](https://github.com/ShadowySupercode/gitcitadel-web)            | The project webpage |N/A |
+| [Gitcitadel](https://github.com/ShadowySupercode/gitcitadel-web)            | The project webpage |  |
 | [GC Fourth Estate](https://github.com/ShadowySupercode/gc-fourthestate)            | Publishing and reading client          | [Indextr](https://github.com/limina1/indextr-client)  |
 | [GC Alexandria](https://github.com/ShadowySupercode/gc-alexandria)           | Library relay for books, magazines, and articles   | [Upload Files](https://github.com/limina1/upload_files) |
 | [GC Ulysses](https://github.com/ShadowySupercode/gc-ulysses)            | Relay navigator and rating page                |   |
--
libgit2 1.7.2


From 8d95296ec394f3c38e31fa2865bba5d5c8f98fa5 Mon Sep 17 00:00:00 2001
From: SilberWitch <silverengel7@protonmail.com>
Date: Fri, 19 Apr 2024 07:13:03 +0200
Subject: [PATCH 1/1] Added project team and links to support site to Readme.md

---
 README.md | 45 +++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 41 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 2212407..9e35db7 100644
--- a/README.md
+++ b/README.md
@@ -4,13 +4,50 @@

 # GitCitadel project repo

-| **Product** | **Description** | **Associated Repos**   |
+Welcome to the abstract repo for our GitCitadel project. This is the repo we're using to communicate about our project team and products.
+
+All issues and bug reports for any product should be submitted to our [GitWorkshop page](https://gitworkshop.dev/repo/gitcitadel) We will handle first-level support there. Please make sure to mention which product you are having the issue with, so that we can channel it to the appropriate product team.
+(Thank you, [DanConway](https://njump.me/nprofile1qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qghwaehxw309aex2mrp0yhxummnw3ezucnpdejz7qgwwaehxw309ahx7uewd3hkctcqyzsq3hh327t0h2dq6matqn5064cgj2zanl2stkj6s0lg4t2h5dty6ek49a0), for hosting us!).
+
+## About Us
+
+We're a team of IT professionals, STEM students, and amateur techies, united by two things:
+1) We adhere to the "git ethos" of distributed or decentralized freedom-tech for all.
+2) We are all seeking to build our own personal citadels, where everyone is free to express themselves and live according to their own principles, so long as they do not infringe upon the Natural Rights of others.
+
+We originally began working alone, each for her/himself, but we quickly realized how inefficient this atomization was, so we've moved to a decentralized model, where different topics are handled in different repos by different teams. Some development will even be handled in external repos and merely integrated during the build process.
+
+Tying ourselves together in this "development cooperative" allows us quite a bit of independence, at the same time as we can leverage the skills, knowledge, and income of the entire group, to compete at the same level as more corporate offerings.
+
+## Project Team
+
+The development teams for individual products will be listed in the ReadMe of those products, but here are the culprits at the project level, who are responsible for the mess you see before you.
+
+| **Team Member** | **Role** | **Description**   |
 |-------------|-----------------|---------------------------------|
-| [Gitcitadel](https://github.com/ShadowySupercode/gitcitadel-web)            | The project webpage | |
+| [Buttercat](https://njump.me/nprofile1qydhwumn8ghj7argv4nx7un9wd6zumn0wd68yvfwvdhk6tcpz4mhxue69uhkummnw3ezummcw3ezuer9wchszrnhwden5te0dehhxtnvdakz7qpqwqfzz2p880wq0tumuae9lfwyhs8uz35xd0kr34zrvrwyh3kvrzusj0rq2x)
Also known as "MichaelJ". | Product Owner | This is where the buck stops. No features are built or libraries are included, until he gives the say-so. |
+| [Silberwitch](https://njump.me/nprofile1qydhwumn8ghj7argv4nx7un9wd6zumn0wd68yvfwvdhk6tcprpmhxue69uhkummnw3ezuum0we3xjapwdphhxap0qqs06gywary09qmcp2249ztwfq3ue8wxhl2yyp3c39thzp55plvj0sg5wkcew)
Also known as "Laeserin".| Business Analyst | This is the teams's Girl Friday, doing all of the daily tasks that would otherwise fall under the table, while the guys are off grinding. Marketing, coordination and recruitment, design and documentation, 1st level support, and system testing... our all-rounder. |
+| [Finrod](https://njump.me/nprofile1qyvhwumn8ghj7un9d3shjtnndehhyapwwdhkx6tpdshsz9thwden5te0dehhxarj9ehhsarj9ejx2a30qqsvuxle4kfpvn0jy7lu4v5pxxfuvr45qgwnt06th0r05fx9vrg086gxvf84f)
Also known as "Finrod". | Development Operations | No product shall pass, until his build server stamps it DONE. He keeps the machines running, the automated tests green, and the developers bug-fixing. |
+
+## Products
+
+Here is a table listing all of the project repositories and which external libraries they utilize or have used as a reference.
+
+(Please note that we have turned off "issues" in the GitHub settings of our products, as we are a Nostr-forward project team and will be handling our issues there.)
+
+| **Product** | **Description** | **Libraries**   |
+|-------------|-----------------|---------------------------------|
+| [Gitcitadel](https://github.com/ShadowySupercode/gitcitadel-web)            | The project webpage |N/A |
 | [GC Fourth Estate](https://github.com/ShadowySupercode/gc-fourthestate)            | Publishing and reading client          | [Indextr](https://github.com/limina1/indextr-client)  |
 | [GC Alexandria](https://github.com/ShadowySupercode/gc-alexandria)           | Library relay for books, magazines, and articles   | [Upload Files](https://github.com/limina1/upload_files) |
-| [GC Ulysses](https://github.com/ShadowySupercode/gc-ulysses)            | Relay navigator and reating page                |   |
+| [GC Ulysses](https://github.com/ShadowySupercode/gc-ulysses)            | Relay navigator and rating page                |   |
 | [GC Tradewinds](https://github.com/ShadowySupercode/gc-tradewinds)            | Nostr exploration, filtering, and querying API  | [Friendstr](https://github.com/captain-stacks/friendstr)

[Nostr Graveyard](https://github.com/captain-stacks/nostr-graveyard)  |
-| [GitRepublic](https://github.com/ShadowySupercode/gitrepublic)           | GitHub clone project | |
+| [GitRepublic](https://github.com/ShadowySupercode/gitrepublic)           | GitHub clone project.
(This will eventually be where we will be handling issues and proposals, but it will be compatible with the current tool.) | |
 | [GitRepulic Core](https://github.com/ShadowySupercode/gitrepublic-core)            | Core libraries for the basic GitRepublic functions, based upon our C/C++ SDK  | [NostrSDK TSV](https://github.com/buttercat1791/NostrSDK)

[NoScrypt](https://github.com/VnUgE/noscrypt) |
 | [GitRepublic CLI](https://github.com/ShadowySupercode/gitrepublic-cli)   | Simple CLI for managing and cooperating over git repos   |   |
+
+## Interested in getting involved?
+
+If you want to join our project team or think you might have a library we'd find useful (either to integrate or as inspiration), then [send us a note](https://nostrudel.ninja/#/u/npub1l5sga6xg72phsz5422ykujprejwud075ggrr3z2hwyrfgr7eylqstegx9z)! 😊
+
+We have no external funding, but we can guarantee that you will have fun, learn a lot, and meet people you will be glad to know.
--
libgit2 1.7.2


From 8d95296ec394f3c38e31fa2865bba5d5c8f98fa5 Mon Sep 17 00:00:00 2001
Subject: [PATCH 0/1] First final version of Readme

Added project team and links to support site to Readme.md


Hey, nostr:nprofile1qyfhwumn8ghj7un9d3shjtnxxaazu6t09uq3wamnwvaz7tmjv4kxz7fwdehhxarj9e3xzmny9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcqyzsq3hh327t0h2dq6matqn5064cgj2zanl2stkj6s0lg4t2h5dty6xk8zw9  that markdown looks very pretty. I like that. Displays on GitWorkshop better than on GitHub.


Like Nostter. Seems quite stable, as well. Great for doomscrolling. 😁
Was trying it out a bit, yesterday.


Why is #Coracle  the only web client that always works?


From b69d7601d97c06e302045f9ecd5a7181e4964895 Mon Sep 17 00:00:00 2001
Subject: [PATCH 0/1] Table added to Readme

All project repos and associated repos are now added.


From b69d7601d97c06e302045f9ecd5a7181e4964895 Mon Sep 17 00:00:00 2001
From: SilberWitch <silverengel7@protonmail.com>
Date: Thu, 18 Apr 2024 22:39:32 +0200
Subject: [PATCH 1/1] Created a product table with links to all project and associated repos

---
 README.md | 33 +++++++++++++--------------------
 1 file changed, 13 insertions(+), 20 deletions(-)

diff --git a/README.md b/README.md
index 116307b..4feda17 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,15 @@
-# GitCitadel project repo
-
-## Gitcitadel abstact repo and webserver
-https://github.com/ShadowySupercode/gitcitadel
-https://github.com/ShadowySupercode/gitcitadel-web
-
-## Publishing and reading client
-https://github.com/ShadowySupercode/gc-fourthestate
+![GitCitadel logo](https://image.nostr.build/4c7c21f5006c39d910b50daecf1b4366df83bb9ce6f8cb8a7b65a58ae687807f.jpg =150x)
+#### Because we think about git every day.

-## Library relay, for long-form notes, books, magazines, and articles
-https://github.com/ShadowySupercode/gc-alexandria
-
-## Nostr relay navigator and rating page
-https://github.com/ShadowySupercode/gc-ulysses
-
-## Nostr exploration, filtering, and querying API
-https://github.com/ShadowySupercode/gc-tradewinds
+# GitCitadel project repo

-## GitHub clone project
-https://github.com/ShadowySupercode/gitrepublic
-https://github.com/ShadowySupercode/gitrepublic-core
-https://github.com/ShadowySupercode/gitrepublic-cli
+| **Product** | **Description** | **Associated Repos**   |
+|-------------|-----------------|---------------------------------|
+| [Gitcitadel](https://github.com/ShadowySupercode/gitcitadel-web)            | The project webpage | |
+| [GC Fourth Estate](https://github.com/ShadowySupercode/gc-fourthestate)            | Publishing and reading client          | [Indextr](https://github.com/limina1/indextr-client)  |
+| [GC Alexandria](https://github.com/ShadowySupercode/gc-alexandria)           | Library relay for books, magazines, and articles   | [Upload Files](https://github.com/limina1/upload_files) |
+| [GC Ulysses](https://github.com/ShadowySupercode/gc-ulysses)            | Relay navigator and reating page                |   |
+| [GC Tradewinds](https://github.com/ShadowySupercode/gc-tradewinds)            | Nostr exploration, filtering, and querying API  | [Friendstr](https://github.com/captain-stacks/friendstr)

[Nostr Graveyard](https://github.com/captain-stacks/nostr-graveyard)  |
+| [GitRepublic](https://github.com/ShadowySupercode/gitrepublic)           | GitHub clone project | |
+| [GitRepulic Core](https://github.com/ShadowySupercode/gitrepublic-core)            | Core libraries for the basic GitRepublic functions, based upon our C/C++ SDK  | [NostrSDK TSV](https://github.com/buttercat1791/NostrSDK)

[NoScrypt](https://github.com/VnUgE/noscrypt) |
+| [GitRepublic CLI](https://github.com/ShadowySupercode/gitrepublic-cli)   | Simple CLI for managing and cooperating over git repos   |   |
--
libgit2 1.7.2


I'm going to keep testing on my fork, tho, to keep the source one neat.

Let me go try to send something again and get you the output.


If a user-npub wrote me on Nostr with a bug, how do I turn that into an issue? With some sort of a quote or reply?


Okay, so then it would only need to be the source repos and not my forks. That makes sense.


Ah, only reproduceable when I'm not logged in, but I don't know why that should make a diference.
I keep getting thrown off of my login.


Hyperlink to issues

When I click on the gitworkshop repo on the landing page, it opens up without any issues listed. But if I then click on the same hyperlink in "websites", it opens up and shows 11 issues.


Okay, looks much better. 😅  I was so confused!
Just prefacing my forks all with "sw_".

https://gitworkshop.dev/repo/sw_gitcitadel


Fork of the source repo from ShadowySupercode


We're using the same as branches, with each dev having a fork that they're working on and then making a PR to the source repo for merges.

Just looks neater in the source.


yes 😂

Never occured to me to rename them, since I've never maintained the source and the fork, before. Used to only work with branches on the source repo.

I should go rename all my forks, so that I can identify them.


okay

What do I have to put in the clone and website fields?


I had to guess what the fields meant, when filling everything in, so now it looks like this and I think that's all wrong.

https://nostrcheck.me/media/fd208ee8c8f283780a9552896e4823cc9dc6bfd442063889577106940fd927c1/c4a4bcf9ec076b7ad9038a986832eed0e2b69c09600491c84cde0c5bff64af5a.webp


When I do ngit init, what does the "name" field refer to? I thought it was my username, but is it the repo name?


I just realized that I accidentally named the repo "SilberWitch" instead of gitcitadel. 🤦♀

How can I fix that?


Ngit repo list

Would be nice to be able to click on a gitworkshop.dev profile or an npub and see all of their ngit repos, as a list.


Return eventID

When sending a proposal with "ngit send", please return the eventID, so that we can choose which client to view it in and find it on our relays.


This is what I got on the command:

logged in as SilberWitch
 ✔ 1 events   wss://nostr.sovbit.host/
 ✔ 1 events   wss://theforest.nostr1.com/                                       posting 1 patch with a covering letter...
 ✔  [my-relay] [repo-relay] wss://nostr.sovbit.host/
 ✔  [my-relay] [repo-relay] wss://theforest.nostr1.com/
 ✔  [default] wss://relay.damus.io
 ✔  [default] wss://nos.lol
 ✔  [default] wss://relay.nostr.band
 ✘  [default] wss://relay.f7z.io error: recv message response timeout


I think I have a problem because I have two different repos with the same name, but different source repos.

One is a fork of the other


The events from this NIP:
https://github.com/nostr-protocol/nips/blob/master/34.md


Where can I find out the eventID, so that I can look at it someplace like njump or nostrudel?

nostr:npub1gnwpctdec0aa00hfy4lvadftu08ccs9677mr73h9ddv2zvw8fu9smmerrq
nostr:npub10npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qzztl5h

Do your relays accept the ngit notes? Because those are my dev-npub's mailboxes.


Where can I see it?

All I get is this:
https://nostrcheck.me/media/fd208ee8c8f283780a9552896e4823cc9dc6bfd442063889577106940fd927c1/393c6317517b6d700330ff5f3c251d2fd535d0ce07b649df2a910114af7ede4d.webp


From 82f69708e5c697a78009e0b18e25be74e5274ccb Mon Sep 17 00:00:00 2001
From: SilberWitch <153727378+SilberWitch@users.noreply.github.com>
Date: Wed, 17 Apr 2024 07:34:30 +0200
Subject: [PATCH 1/1] Update README.md

Listed all project repos in the Readme file.
---
 README.md | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/README.md b/README.md
index f17f1a0..da11ad7 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,14 @@
 # gitcitadel
 GitCitadel project repo
+
+https://github.com/ShadowySupercode/gitcitadel
+https://github.com/ShadowySupercode/gitcitadel-web
+
+https://github.com/ShadowySupercode/gc-fourthestate
+https://github.com/ShadowySupercode/gc-ulysses
+https://github.com/ShadowySupercode/gc-alexandria
+https://github.com/ShadowySupercode/gc-tradewinds
+
+https://github.com/ShadowySupercode/gitrepublic
+https://github.com/ShadowySupercode/gitrepublic-core
+https://github.com/ShadowySupercode/gitrepublic-cli
--
libgit2 1.7.2


From 82f69708e5c697a78009e0b18e25be74e5274ccb Mon Sep 17 00:00:00 2001
Subject: [PATCH 0/1] Ngit test

This is a first attempt to use ngit send to suggest a change to a remote repository listed on nostr.


I wish they would just integrate DMs and private chats from SimpleX.


I think they misinterpret the fact that we haven't privatized some of the data to mean that we can't do it, so they're all in shock, but like duh.


Like a throughput to git?


Is "Resolved" different from "Closed"?


Oh, very nice! Was upset, at first, since I've turned issues on in GitHub. 😅
Forgot that they're from ngit. Cool! Looking at it from gitworkshop.dev


Because they say everything has to stay completely unfiltered and public, otherwise it's censorship because it reduces their reach.


Would probably help more people to use it.


We only submit from forks, over PRs. So far. So that everyone can review and comment before the merge, and to keep the source repo neater.

Trying to figure out how to use the patch stuff. What exactly is the difference?


Not everyone wants that to be possible.


I didn't really know how to use it, so I cloned the source repo and my fork. I guess I submit patches from my fork to the source and then accept them on the other side, somehow?


Yes, there's cultural pressure to not allow npubs the ability to control their own feed or who can access their events.


There's a lot of pressure on developers to keep everything public, but they are slowly rolling out solutions. Takes a while to build and test everything.


work pretty well


We're in! 😊

https://gitworkshop.dev/repo/SilberWitch
nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr


Okay, ngit v1.1.2 is installed and responding. 👍🏼


I bought those from PurpleHorse! 🥰
They're so fun.


cargo install ngit is 333/346 20 minutes later


I was writing notes in yml, from command line, a couple of weeks ago.


Cloud people confuse me.
YAML is super readable, easily parsable.
So why ... why this? https://github.com/grafana/tanka
I am so, so confused.


Yup


Yeah, also found some good follows.


Isn't Amber like that?


🫂 Yeah, maybe we'll have managed to clean this place up a bit more, by then.


She should just come back.


Backend dev hellthread is the quietest hellthread.

More Purgatorio than Inferno.

nostr:note1c9lnxwhp6m8f353j8sdyufenfd9v09v46qs390f8plfjgjuf9uzqs9x7mj


Yeah, I tagged him, already.


But what he wrote was legit funny and it do be sorta true. 😂


Yes, nostr:npub1r7psmkr4zv93xnal8un6d8hvmpsn5jvhfzn3kk38rfcel6awznks7znspg is a good mention.

Also nostr:npub1axy65mspxl2j5sgweky6uk0h4klmp00vj7rtjxquxure2j6vlf5smh6ukq


I'd include the relay operators
nostr:npub1wtuh24gpuxjyvnmjwlvxzg8k0elhasagfmmgz0x8vp4ltcy8ples54e7js
nostr:npub12262qa4uhw7u8gdwlgmntqtv7aye8vdcmvszkqwgs0zchel6mz7s6cgrkj
nostr:npub18kzz4lkdtc5n729kvfunxuz287uvu9f64ywhjz43ra482t2y5sks0mx5sz
nostr:npub1tcekjparmkju6k83r5tzmzjvjwy0nnajlrwyk35us9g7x7wx80ys9hjmky
nostr:npub10npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qzztl5h
nostr:npub1fq8vrf63vsrqjrwqgtwlvauqauc0yme6se8g8dqhcpf6tfs3equqntmzut
nostr:npub1ktt8phjnkfmfrsxrgqpztdjuxk3x6psf80xyray0l3c7pyrln49qhkyhz0

Tool operators
nostr:npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr
nostr:npub1cmmswlckn82se7f2jeftl6ll4szlc6zzh8hrjyyfm9vm3t2afr7svqlr6f
nostr:npub1zuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsk6c2uc
nostr:npub1nxa4tywfz9nqp7z9zp7nr7d4nchhclsf58lcqt5y782rmf2hefjquaa6q8

Server admins
nostr:npub138s5hey76qrnm2pmv7p8nnffhfddsm8sqzm285dyc0wy4f8a6qkqtzx624
nostr:npub137c5pd8gmhhe0njtsgwjgunc5xjr2vmzvglkgqs5sjeh972gqqxqjak37w
nostr:npub1nxy4qpqnld6kmpphjykvx2lqwvxmuxluddwjamm4nc29ds3elyzsm5avr7
nostr:npub1ecdlntvjzexlyfale2egzvvncc8tgqsaxkl5hw7xlgjv2cxs705s9qs735
nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr
nostr:npub1nxy4qpqnld6kmpphjykvx2lqwvxmuxluddwjamm4nc29ds3elyzsm5avr7
nostr:npub1gnwpctdec0aa00hfy4lvadftu08ccs9677mr73h9ddv2zvw8fu9smmerrq

SDK and lower-library builders
nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6
nostr:npub1wqfzz2p880wq0tumuae9lfwyhs8uz35xd0kr34zrvrwyh3kvrzuskcqsyn
nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft
nostr:npub1qdjn8j4gwgmkj3k5un775nq6q3q7mguv5tvajstmkdsqdja2havq03fqm7


I have to go to a birthday party.

If it doesn't get enough responses, I'll turn it into a Backend Hellthread, later.


Where are the Nostr core devs at?

Where are the dev-sec-ops, the sys admins, the low library and SDK devs, the test automaters, relay operators, the data analysts, the node runners, media server builders, etc.?

Who here isn't just building a client?


There are three basic Nostr architectures:

1) Viewer + controller in the client, dumb model in relay
2) Viewer, controller, and model roughly even
3) Dumb viewer, tight interaction between controller and model


The God App.


Agreed.


Well, then prepare to get tested, when we show up. 😂


bot


Zaps


Yes, it goes by keywords. If you mention God or Bible, or whatever.


christpill.nostr1.com

has my #biblestr stuff


What are you some of your favorite, maybe less popular, relays to use?


GN #Nostr 💜

Enough for today.

#cybersecgirl

https://i.nostr.build/oMEz5.jpg


I'm sorry you media server guys are having to see that garbage. Is it hard to filter out?


An integration with Nostrrr would be sweet. Just saying.
Like, "click here to see full feed in real time".
And vice versa "click here for relay overview".


This seems to be a different argument from the one you made in the OP. Got wittled down to more accuracy.


yo


The monitors is where it's been seen in use?


Very nice. I like the focus on follows and the overall layout.

I use Nostrr, so far, and like it for reading a feed, but this is a nice overview page.


😂 We're eventually going to make you work. You don't get to just throw peanuts at us from the gallery.

Just so you know.


I'm trying to imagine what it is.

A virtual private network on a virtual machine...


Beave asking the important questions.

nostr:note1yn0n7alh0uy7dvtnemgu0hvann23snzjls2h737zhfp3j2qsnlzqq3hmv3

https://m.primal.net/HszF.jpg


Keep your circle small

nostr:note1x9f3gyq05edd7stwejql8whypmc3p2jec8ltflem7d8crf2pa6xq3gnm2f


We finally agree on something.


I love Nostrudel's relay management, with the inbox/outbox relays, and then the app relays for configuring the feed and pulling profile data, etc.

I don't understand why we can't just have that everywhere.


A client that allows you to choose between creating a tweet (limited to 210 characters, excluding links), long-form (with drafts, editing, etc.), or highlight.

Display all three in one feed, minimized to 210 characters, with a maximize button on the longer entries.


Well, we can all download our own data, or run a local relay.


I haven't muted anyone on here, yet.


Or threads where someone has just started ranting or having an angry meltdown.


I don't think any hard-delete, some just store a delete event that overrides the original in clients.


Global is sort of useless, without any filter.
Can barely read some of it; most of the rest is porn, anime lolis, and bots.

And now the bots chat with the other bots. 🤭


Still getting used to the concept of npubs. They seem so similar to "sm accounts", that you don't really get the potential until later.


Hello.