Charged Block Producing Bug

So, I was fooling around and ran into this.  Not sure if Inteded.
Expected Behavior
Charged explosions should be contained by the area they are in.  And should also avoid closed spaces
Actual Behavior
Charged light creepers and other block producing creepers fill every space by chunk with their block.
Steps to Reproduce (including precondition)
Install Epic Mob siege(13.160) and The Lost Cities(2.0.7) mod.  When you spawn in any block producing creeper with an egg, there is a chance it will be charged.  Light a charged creeper with a flint and steel and boom, you now have filled buildings and filled spaces.
Screenshot of this Problem

Excessive webbing from a charged spider creeper.  Maybe it should be more round than cubical?

Your Environment

OS: Windows 10
Minecraft version: 1.12.2
Elemental Creepers version: 4.3.3.g5616356
Forge version: <IP_ADDRESS>34

This is an intended feature. Suggestions on how to improve them or add other cool charged conditions are always welcome!

I would say that it is over the top, also, it would be interesting if it were more circular rather than square.


Generate DSL documentation from metamodel (grammar)

Once DSL is created, documentation still needs to be written manually.
If somehow we could document elements inside grammar, documentation will be part of metamodel (?). This would allow us to generate documentation in different formats (markdown, xml, html, ...). Plus, I believe that it would be easier to maintain the documentation, since it's in the same file as a language definition.
An interesting paper on this topic can be found here.

Javadoc for grammars... Nice.

Sounds interesting. I think it is worth researching the possibilities.
I guess something like javadoc approach would be relatively easy to implement. We already have textX grammar defined in textX. :)

@goto40 actually, yes. Support for comment blocks is already there, so they could be used as docstrings.

And… It's done !
Look at the repository, or pip install textx-dsldoc (when textx==1.9.0 will be out).


[HOLD for payment 2024-09-18] Invoice - Creating invoice display unexpected error

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: v9.0.30-9
Reproducible in staging?: Y
Reproducible in production?: Y
Issue reported by: Applause Internal Team
Action Performed:

Launch app
Tap fab-- new workspace
Tap fab -- send invoice selecting a user

Expected Result:
Creating invoice must not display unexpected error.
Actual Result:
Creating invoice display unexpected error.
Workaround:
Unknown
Platforms:

[x] Android: Native
[x] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/bbc89d88-585b-4d58-8791-8727fabac225

View all open jobs on GitHub
Issue OwnerCurrent Issue Owner: @adelekennedy

@adelekennedy  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

BE error,
Onyx data
{
    "jsonCode": 402,
    "message": "402 missing companyName or companyWebsite",
    "onyxData": [],
    "requestID": "8bee463eb9014856-BOM"
}

@cristipaval adding you here for a quick check - I can reproduce this and this seems like something we should address ASAP - is this being addressed anywhere else?

Cristi is on parental leave so I will take this over.

There are still a couple of issues related to invoicing creation on the main which I can see:

The user can send the invoice even from the workspace where invoicing feature is disabled. It should be fixed with this PR, but I'm waiting for API fixes to open the PR for the review.

https://github.com/user-attachments/assets/a8872eaa-6ab1-48dc-bbd3-3abe64673698

API doesn't return invoice information inside policy for OpenApp API call. It makes the app ask a user about the Company name and Company website every time the user re-login the app and tries to send the invoice.

cc @madmax330

@VickyStash I would add to the above list that if you use a fake URL the API will return an error but we are not displaying that anywhere and we are not clearing the onyx data.

@VickyStash I would add to the above list that if you use a fake URL the API will return an error but we are not displaying that anywhere and we are not clearing the onyx data.

@rlinoz Could you please provide more exact steps to reproduce it?

@VickyStash my bad we actually show a RBR, but there is not much context to what happened.
Here are the steps:

Start the send invoice flow for the first time
Input fake data for the company, like test and https://test.com
Verify the backend response for SendInvoice is something like:

{
  "jsonCode": 507,
  "message": "507 Stripe error 'invalid_request_error': Not a valid URL",
  "additionalData": {
    "errorMessage": "Not a valid URL",
    "errorType": "invalid_request_error"
  },
  "onyxData": [],
  "requestID": "8c207d0978f14e0b-SOD"
}

Try to send a new invoice to someone
Verify the screen to fill company data doesn't show up and now you get the following erro:

{
  "jsonCode": 402,
  "message": "402 missing companyName or companyWebsite",
  "onyxData": [],
  "requestID": "8c207d67af8c4e0b-SOD"
}

https://github.com/user-attachments/assets/c660f35c-973c-465f-8d0e-6ec841f5e3ea

@rlinoz I've fixed the failure data so now the company name and website will be cleared out if the response was unsuccessful.
That's how it looks:
https://github.com/user-attachments/assets/824ae465-f701-4e35-a964-733ac0deafe4
Errors:

Let me know if we need to change anything. cc @madmax330

Yeah, that looks good to me

I believe we can close this one.


Add bookHeaders() function

Right now we have a localBookCodes() function which tells us what's in the cache. But if the editor gets all its information via Epitelete, rather than by querying Proskomma, the editor needs to know about the documents that are not in the cache, in order to attempt to read them, which is how they end up in the cache!
A plausible use case for this is presenting the user with a menu of books in a translation from which the user may select the document to be edited. It would be nice to have the option of showing localized names rather than, say, "LUK".
So

[ ] In or via the constructor, run a query to store the headers of all the documents in an instance variable called documentHeaders
[ ] Write a method called bookHeaders() to return that information

@mvahowe Is this what you had in mind?

added a method on epitelete: https://github.com/Proskomma/epitelete/blob/feature-mclean-9-getBookHeaders/src/index.js#L71
added a unit test for method: https://github.com/Proskomma/epitelete/blob/feature-mclean-9-getBookHeaders/test/code/smoke.cjs#L182

@mvahowe Is this what you had in mind?

@PhotoNomad0  Thanks for this! I was imagining something a little different (and, I now realise, the details weren't that clear above).
By headers I meant what Proskomma calls headers, ie
{
  docSet(id: "xyz-fra_lsg") {
    documents {
      headers {
        key
        value
      }
    }
  }
}

Any one Epitelete instance is locked to one docSet, so we only need the documents for that docSet. The headers look something like this:
[
            {
              "key": "id",
              "value": "GAL GALFLS1910.PTX, Louis Segond 1910, French, 31-10-2011, Moon Sun Kim. Updated for DBL by E. Canales, September 2012."
            },
            {
              "key": "bookCode",
              "value": "GAL"
            },
            {
              "key": "ide",
              "value": "UTF-8"
            },
            {
              "key": "h",
              "value": "GALATES"
            },
            {
              "key": "toc",
              "value": "Épître de Paul aux Galates"
            },
            {
              "key": "toc2",
              "value": "Galates"
            }
          ]

So I would go with bookHeaders() as the method name. You can run the above query using pk.gqlQuerySync(). Then I'd map over the array-heavy result to end up with an object with bookCode as the keys and with the other headers as a normal key/value object as the value.

@mvahowe Thanks for the clarity, I should have read through the description a couple more times so I wouldn't have taken a wrong turn.

@mvahowe - Is this the right format for the query:
        const query = `{ docSet(id: "${this.docSetId}") { id } }`;
        const { data: gqlResult } = this.pk.gqlQuerySync(query);

@mvahowe - Is this the right format for the query?
I think so.

@mvahowe It seem I am missing a return parameter.  What I am getting back is just the ID:
gqlResult {
  data: [Object: null prototype] {
    docSet: [Object: null prototype] { id: 'DBL/eng_engWEBBE' }
  }
}

Is there some documentation you can point me to get the docset returned also?

Is there some documentation you can point me to get the docset returned also?

The first quote above is the query

OK, that fixed it.

Here is an example of what is being returned (in JSON):
{
  "1CH": {
    "id": "1CH World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "1 Chronicles",
    "toc": "The First Book of Chronicles",
    "toc2": "1 Chronicles",
    "toc3": "1 Chronicles"
  },
  "1CO": {
    "id": "1CO 46-1CO-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "1 Corinthians",
    "toc": "Paul’s First Letter to the Corinthians",
    "toc2": "1 Corinthians",
    "toc3": "1 Corinthians"
  },
  "1ES": {
    "id": "1ES - 1 Esdras",
    "h": "1 Esdras",
    "toc": "1 Esdras",
    "toc2": "1 Esdras",
    "toc3": "1Es"
  },
  "1JN": {
    "id": "1JN 62-1JN-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "1 John",
    "toc": "John’s First Letter",
    "toc2": "1 John",
    "toc3": "1 John"
  },
  "1KI": {
    "id": "1KI World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "1 Kings",
    "toc": "The First Book of Kings",
    "toc2": "1 Kings",
    "toc3": "1 Kings"
  },
  "1MA": {
    "id": "1MA",
    "h": "1 Maccabees",
    "toc": "The First Book of the Maccabees",
    "toc2": "1 Maccabees",
    "toc3": "1Ma"
  },
  "1PE": {
    "id": "1PE 60-1PE-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "1 Peter",
    "toc": "Peter’s First Letter",
    "toc2": "1 Peter",
    "toc3": "1 Peter"
  },
  "1SA": {
    "id": "1SA World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "1 Samuel",
    "toc": "The First Book of Samuel",
    "toc2": "1 Samuel",
    "toc3": "1 Samuel"
  },
  "1TH": {
    "id": "1TH 52-1TH-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "1 Thessalonians",
    "toc": "Paul’s First Letter to the Thessalonians",
    "toc2": "1 Thessalonians",
    "toc3": "1 Thessalonians"
  },
  "1TI": {
    "id": "1TI 54-1TI-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "1 Timothy",
    "toc": "Paul’s First Letter to Timothy",
    "toc2": "1 Timothy",
    "toc3": "1 Timothy"
  },
  "2CH": {
    "id": "2CH World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "2 Chronicles",
    "toc": "The Second Book of Chronicles",
    "toc2": "2 Chronicles",
    "toc3": "2 Chronicles"
  },
  "2CO": {
    "id": "2CO 47-2CO-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "2 Corinthians",
    "toc": "Paul’s Second Letter to the Corinthians",
    "toc2": "2 Corinthians",
    "toc3": "2 Corinthians"
  },
  "2ES": {
    "id": "2ES - 2 Esdras",
    "h": "2 Esdras",
    "toc": "2 Esdras",
    "toc2": "2 Esdras",
    "toc3": "2Es"
  },
  "2JN": {
    "id": "2JN 63-2JN-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "2 John",
    "toc": "John’s Second Letter",
    "toc2": "2 John",
    "toc3": "2 John"
  },
  "2KI": {
    "id": "2KI World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "2 Kings",
    "toc": "The Second Book of Kings",
    "toc2": "2 Kings",
    "toc3": "2 Kings"
  },
  "2MA": {
    "id": "2MA",
    "h": "2 Maccabees",
    "toc": "The Second Book of the Maccabees",
    "toc2": "2 Maccabees",
    "toc3": "2Ma"
  },
  "2PE": {
    "id": "2PE 61-2PE-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "2 Peter",
    "toc": "Peter’s Second Letter",
    "toc2": "2 Peter",
    "toc3": "2 Peter"
  },
  "2SA": {
    "id": "2SA World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "2 Samuel",
    "toc": "The Second Book of Samuel",
    "toc2": "2 Samuel",
    "toc3": "2 Samuel"
  },
  "2TH": {
    "id": "2TH 53-2TH-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "2 Thessalonians",
    "toc": "Paul’s Second Letter to the Thessalonians",
    "toc2": "2 Thessalonians",
    "toc3": "2 Thessalonians"
  },
  "2TI": {
    "id": "2TI 55-2TI-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "2 Timothy",
    "toc": "Paul’s Second Letter to Timothy",
    "toc2": "2 Timothy",
    "toc3": "2 Timothy"
  },
  "3JN": {
    "id": "3JN 64-3JN-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "3 John",
    "toc": "John’s Third Letter",
    "toc2": "3 John",
    "toc3": "3 John"
  },
  "3MA": {
    "id": "3MA",
    "h": "3 Maccabees",
    "toc": "The Third Book of the Maccabees",
    "toc2": "3 Maccabees",
    "toc3": "3Ma"
  },
  "4MA": {
    "id": "4MA",
    "h": "4 Maccabees",
    "toc": "The Fourth Book of the Maccabees",
    "toc2": "4 Maccabees",
    "toc3": "4Ma"
  },
  "ACT": {
    "id": "ACT 44-ACT-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Acts",
    "toc": "The Acts of the Apostles",
    "toc2": "Acts",
    "toc3": "Acts"
  },
  "AMO": {
    "id": "AMO 30-AMO-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Amos",
    "toc": "The Book of Amos",
    "toc2": "Amos",
    "toc3": "Amos"
  },
  "BAR": {
    "id": "BAR - Baruch",
    "h": "Baruch",
    "toc": "Baruch",
    "toc2": "Baruch",
    "toc3": "Baruch"
  },
  "COL": {
    "id": "COL 51-COL-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Colossians",
    "toc": "Paul’s Letter to the Colossians",
    "toc2": "Colossians",
    "toc3": "Colossians"
  },
  "DAG": {
    "id": "DAG World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Daniel (Greek)",
    "toc": "The Book of Daniel with Greek Portions",
    "toc2": "Daniel (Greek)",
    "toc3": "DAG"
  },
  "DAN": {
    "id": "DAN 27-DAN-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Daniel",
    "toc": "The Book of Daniel",
    "toc2": "Daniel",
    "toc3": "Daniel"
  },
  "DEU": {
    "id": "DEU 1World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Deuteronomy",
    "toc": "The Fifth Book of Moses, Commonly Called Deuteronomy",
    "toc2": "Deuteronomy",
    "toc3": "Deuteronomy"
  },
  "ECC": {
    "id": "ECC World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Ecclesiastes",
    "toc": "Ecclesiates or, The Preacher",
    "toc2": "Ecclesiastes",
    "toc3": "Ecclesiastes"
  },
  "EPH": {
    "id": "EPH 49-EPH-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Ephesians",
    "toc": "Paul’s Letter to the Ephesians",
    "toc2": "Ephesians",
    "toc3": "Ephesians"
  },
  "ESG": {
    "id": "ESG",
    "h": "Esther (Greek)",
    "toc": "Esther (Greek)",
    "toc2": "Esther (Greek)",
    "toc3": "ESG"
  },
  "EST": {
    "id": "EST World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Esther",
    "toc": "The Book of Esther",
    "toc2": "Esther",
    "toc3": "Esther"
  },
  "EXO": {
    "id": "EXO World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Exodus",
    "toc": "The Second Book of Mosis, Commonly Called Exodus",
    "toc2": "Exodus",
    "toc3": "Exodus"
  },
  "EZK": {
    "id": "EZK 6-EZK-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Ezekiel",
    "toc": "The Book of Ezekiel",
    "toc2": "Ezekiel",
    "toc3": "Ezekiel"
  },
  "EZR": {
    "id": "EZR World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Ezra",
    "toc": "The Book of Ezra",
    "toc2": "Ezra",
    "toc3": "Ezra"
  },
  "GAL": {
    "id": "GAL 48-GAL-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Galatians",
    "toc": "Paul’s Letter to the Galatians",
    "toc2": "Galatians",
    "toc3": "Galatians"
  },
  "GEN": {
    "id": "GEN World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Genesis",
    "toc": "The First Book of Moses, Commonly Called Genesis",
    "toc2": "Genesis",
    "toc3": "Genesis"
  },
  "HAB": {
    "id": "HAB 35-HAB-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Habakkuk",
    "toc": "The Book of Habakkuk",
    "toc2": "Habakkuk",
    "toc3": "Habakkuk"
  },
  "HAG": {
    "id": "HAG 7-HAG-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Haggai",
    "toc": "The Book of Haggai",
    "toc2": "Haggai",
    "toc3": "Haggai"
  },
  "HEB": {
    "id": "HEB 58-HEB-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Hebrews",
    "toc": "The Letter to the Hebrews",
    "toc2": "Hebrews",
    "toc3": "Hebrews"
  },
  "HOS": {
    "id": "HOS 28-HOS-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Hosea",
    "toc": "The Book of Hosea",
    "toc2": "Hosea",
    "toc3": "Hosea"
  },
  "ISA": {
    "id": "ISA 23-ISA-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Isaiah",
    "toc": "The Book of Isaiah",
    "toc2": "Isaiah",
    "toc3": "Isaiah"
  },
  "JAS": {
    "id": "JAS 59-JAS-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "James",
    "toc": "The Letter from James",
    "toc2": "James",
    "toc3": "James"
  },
  "JDG": {
    "id": "JDG World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Judges",
    "toc": "The Book of Judges",
    "toc2": "Judges",
    "toc3": "Judges"
  },
  "JDT": {
    "id": "JDT Judith",
    "h": "Judith",
    "toc": "Judith",
    "toc2": "Judith",
    "toc3": "Judith"
  },
  "JER": {
    "id": "JER 24-JER-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Jeremiah",
    "toc": "The Book of Jeremiah",
    "toc2": "Jeremiah",
    "toc3": "Jeremiah"
  },
  "JHN": {
    "id": "JHN 43-JHN-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "John",
    "toc": "The Good News According to John",
    "toc2": "John",
    "toc3": "John"
  },
  "JOB": {
    "id": "JOB World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Job",
    "toc": "The Book of Job",
    "toc2": "Job",
    "toc3": "Job"
  },
  "JOL": {
    "id": "JOL 29-JOL-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Joel",
    "toc": "The Book of Joel",
    "toc2": "Joel",
    "toc3": "Joel"
  },
  "JON": {
    "id": "JON 2-JON-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Jonah",
    "toc": "The Book of Jonah",
    "toc2": "Jonah",
    "toc3": "Jonah"
  },
  "JOS": {
    "id": "JOS World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Joshua",
    "toc": "The Book of Joshua",
    "toc2": "Joshua",
    "toc3": "Joshua"
  },
  "JUD": {
    "id": "JUD 65-JUD-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Jude",
    "toc": "The Letter from Jude",
    "toc2": "Jude",
    "toc3": "Jude"
  },
  "LAM": {
    "id": "LAM 25-LAM-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Lamentations",
    "toc": "The Lamentations of Jeremiah",
    "toc2": "Lamentations",
    "toc3": "Lamentations"
  },
  "LEV": {
    "id": "LEV World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Leviticus",
    "toc": "The Third Book of Mosis, Commonly Called Leviticus",
    "toc2": "Leviticus",
    "toc3": "Leviticus"
  },
  "LUK": {
    "id": "LUK 42-LUK-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Luke",
    "toc": "The Good News According to Luke",
    "toc2": "Luke",
    "toc3": "Luke"
  },
  "MAL": {
    "id": "MAL 39-MAL-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Malachi",
    "toc": "The Book of Malachi",
    "toc2": "Malachi",
    "toc3": "Malachi"
  },
  "MAN": {
    "id": "MAN",
    "h": "Prayer of Manasses",
    "toc": "The Prayer of Manasses King of Judah when He was Held Captive in Babylon",
    "toc2": "Prayer of Manasses",
    "toc3": "Man"
  },
  "MAT": {
    "id": "MAT 40-MAT-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Matthew",
    "toc": "The Good News According to Matthew",
    "toc2": "Matthew",
    "toc3": "Matthew"
  },
  "MIC": {
    "id": "MIC 33-MIC-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Micah",
    "toc": "The Book of Micah",
    "toc2": "Micah",
    "toc3": "Micah"
  },
  "MRK": {
    "id": "MRK 41-MRK-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Mark",
    "toc": "The Good News According to Mark",
    "toc2": "Mark",
    "toc3": "Mark"
  },
  "NAM": {
    "id": "NAM 34-NAM-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Nahum",
    "toc": "The Book of Nahum",
    "toc2": "Nahum",
    "toc3": "Nahum"
  },
  "NEH": {
    "id": "NEH World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Nehemiah",
    "toc": "The Book of Nehemiah",
    "toc2": "Nehemiah",
    "toc3": "Nehemiah"
  },
  "NUM": {
    "id": "NUM World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Numbers",
    "toc": "The Fourth Book of Moses, Commonly Called Numbers",
    "toc2": "Numbers",
    "toc3": "Numbers"
  },
  "OBA": {
    "id": "OBA 31-OBA-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Obadiah",
    "toc": "The Book of Obadiah",
    "toc2": "Obadiah",
    "toc3": "Obadiah"
  },
  "PHM": {
    "id": "PHM 57-PHM-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Philemon",
    "toc": "Paul’s Letter to Philemon",
    "toc2": "Philemon",
    "toc3": "Philemon"
  },
  "PHP": {
    "id": "PHP 50-PHP-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Philippians",
    "toc": "Paul’s Letter to the Philippians",
    "toc2": "Philippians",
    "toc3": "Philippians"
  },
  "PRO": {
    "id": "PRO World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Proverbs",
    "toc": "The Proverbs",
    "toc2": "Proverbs",
    "toc3": "Proverbs"
  },
  "PS2": {
    "id": "PS2",
    "h": "Psalm 151",
    "toc": "Psalm 151",
    "toc2": "Psalm 151",
    "toc3": "Ps151"
  },
  "PSA": {
    "id": "PSA World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Psalms",
    "toc": "The Psalms",
    "toc2": "Psalms",
    "toc3": "Psalm",
    "cl": "Psalm"
  },
  "REV": {
    "id": "REV 66-REV-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Revelation",
    "toc": "The Revelation to John",
    "toc2": "Revelation",
    "toc3": "Revelation"
  },
  "ROM": {
    "id": "ROM 45-ROM-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Romans",
    "toc": "Paul’s Letter to the Romans",
    "toc2": "Romans",
    "toc3": "Romans"
  },
  "RUT": {
    "id": "RUT World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Ruth",
    "toc": "The Book of Ruth",
    "toc2": "Ruth",
    "toc3": "Ruth"
  },
  "SIR": {
    "id": "SIR Ecclesiasticus",
    "h": "Sirach",
    "toc": "The Wisdom of Jesus the Son of Sirach, or Ecclesiasticus",
    "toc2": "Sirach",
    "toc3": "Sirach"
  },
  "SNG": {
    "id": "SNG World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Song of Solomon",
    "toc": "The Song of Solomon",
    "toc2": "Song of Solomon",
    "toc3": "Song of Solomon"
  },
  "TIT": {
    "id": "TIT 56-TIT-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Titus",
    "toc": "Paul’s Letter to Titus",
    "toc2": "Titus",
    "toc3": "Titus"
  },
  "TOB": {
    "id": "TOB - Tobit",
    "h": "Tobit",
    "toc": "Tobit",
    "toc2": "Tobit",
    "toc3": "Tobit"
  },
  "WIS": {
    "id": "WIS - The Wisdom Of Solomon",
    "h": "Wisdom of Solomon",
    "toc": "The Wisdom of Solomon",
    "toc2": "Wisdom of Solomon",
    "toc3": "Wisdom"
  },
  "ZEC": {
    "id": "ZEC 38-ZEC-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Zechariah",
    "toc": "The Book of Zechariah",
    "toc2": "Zechariah",
    "toc3": "Zechariah"
  },
  "ZEP": {
    "id": "ZEP 36-ZEP-web.sfm World English Bible British Edition (WEBBE)",
    "ide": "UTF-8",
    "h": "Zephaniah",
    "toc": "The Book of Zephaniah",
    "toc2": "Zephaniah",
    "toc3": "Zephaniah"
  }
}


Implement _simplify_up for assign

Ran into this with the taxi dataset. Something like:
df = read_parquet(...)
df["tipped"] = df.tips > 0
df.groupby(....).agg({"tipped": "mean", "base_passenger_fare": "sum"})

doesn't push the projection through, which hinders us when demoing somewhere (my assumption)

Are we okay with simply removing whole operations if they are not necessary?

I think I'm fine with this.  Presumably people focused on side effects will be sad, but I think that's fine.

Are we okay with simply removing whole operations if they are not necessary?

I think I'm fine with this. Presumably people focused on side effects will be sad, but I think that's fine.

Sounds good in general, this killed one of our tests though and the failure wasn’t immediately obvious. That’s why I removed it for now, will take a closer look in the coming days

Refactored to get rid of the str/Index inconsistency, so should be ready for another look


Travis on OpenJDK

This change is

Codecov Report

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

@@            Coverage Diff            @@
##             master     #115   +/-   ##
=========================================
  Coverage     84.15%   84.15%
  Complexity     1007     1007
=========================================
  Files            91       91
  Lines          2865     2865
  Branches        124      124
=========================================
  Hits           2411     2411
  Misses          372      372
  Partials         82       82


[WIP][SPARK-8364][SPARKR] Add crosstab to SparkR DataFrames

Add crosstab to SparkR DataFrames, which takes two column names and returns a local R data.frame. This is similar to table in R. However, table in SparkR is used for loading SQL tables as DataFrames. The return type is data.frame instead table for crosstab to be compatible with Scala/Python.
I couldn't run R tests successfully on my local. Many unit tests failed. So let's try Jenkins.

Merged build triggered.

Merged build started.

Merged build triggered.

Merged build started.

Test build #36912 has started for   PR 7318 at commit f1348d6.

Merged build finished. Test FAILed.

Test build #36912 has finished for   PR 7318 at commit f1348d6.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #36946 has started for   PR 7318 at commit 53f6ddd.

Test build #36946 has finished for   PR 7318 at commit 53f6ddd.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Jents! slow test please

Merged build triggered.

Merged build started.

Test build #4 has started for   PR 7318 at commit 53f6ddd.

Test build #4 has finished for   PR 7318 at commit 53f6ddd.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

@shivaram This should be ready for review after Jenkins.

Merged build triggered.

Merged build started.

Test build #37688 has started for   PR 7318 at commit d75e894.

Test build #37688 has finished for   PR 7318 at commit d75e894.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

@mengxr One question about the function naming convention -- What are your thoughts on using table for this use case and use some other keyword sqlTable for the SQL use case ? This is one of those cases where we need to choose between the R function names and the SparkSQL function names.

I don't have strong preference about the name. We use crosstab in Scala/Python because table is already taken, and we shouldn't overload table for both loading SQL tables and computing the contingency table. Changing table to sqlTable would be a bigger change than calling R's table crosstab.

Hmm okay. Lets leave it as crosstab in this PR -- Before the release I'll try to do one more pass over the API and we can revisit this if required. Other than the minor unit test comment this looks good to me.

@mengxr I guess we will have a new PR for the documentation update, so this PR LGTM. I will merge this unless you have anything else to add

Yes, please merge it. Thanks for reviewing!


Get host/port from environment if it is not specified on command line.

Also added ability to specify port together with host


Add links to more NestedText implementations?

While I was browsing GitHub I discovered two more implementations that are currently not listed at
https://nestedtext.org/en/latest/related_projects.html,

https://github.com/CoolMineman/nestedtext-java
https://github.com/dolow/nt-go

that both pass the official tests. Maybe those can be included in the Related Projects page as well?

They have not reached out to me yet. Perhaps they are not ready yet.  I will reach out to them and see if they would like to go into the list.
Thanks!

I reached out, but neither responded.  Perhaps when they get further along.


A0-2285: Add proving keys to pallet baby liminal

Description
This changes the behavior of pallet baby liminal to store proving keys along with verification keys. Changes to storage and runtime are required. Additionally, changes to pallet benchmarks are required.
Type of change
Please delete options that are not relevant.

Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

I have made corresponding changes to the existing documentation
I have created new documentation
I have bumped spec_version and transaction_version

Abandoned in favor of keeping proving keys outside the pallet.


saveFileAs can't save file properly when dots are part of the filename

Hi,
I just learned that the saveFileAs method has trouble with filenames that include dots.
Example:
this.saveFileAs("filename.with.dots", request.response, "application/pdf");
creates a file with the filename filename.with.dots.
Replacing the dots like this
this.saveFileAs("filename.with.dots".replace(/\./g,' '), request.response, "application/pdf");
produces the output with filename filename with dots.pdf.
I see that in the code you use the File api, so a solution could be to sanitize the string?
  saveFileAs(filename, content, contentType) {
    this.saveAs(new File([ content], filename.replace(/\./g,' '), { type: contentType }));
  },

I think we will filter the dots out in our backend but it's not forbidden to use them in general, so maybe this should be filtered out in this method somehow.

@michaelklopf The mixin should not temper with filenames, this is simply a proxy to FileSaver library.
I'm guessing the File API (or FileSaver?) try to infer the extension from the content type if not provided in the filename (case where no '.' exists in the filename).
But passing the extension with the filename (filename.with.dots.pdf) should do the trick, no?

Yes, you are right, this way it works. Well ok, I think all questions were answered and I'll close the issue.


clientv3/integration: fix race in TestWatchCompactRevision

Fix #5982
Reduce the cluster size to 1 for this test. It is not necessary to have a 3 member cluster for this test at the first place.
If we use a 3 member cluster, the watch request might arrive before the compaction propagates to that member. Then watch with rev 2 will succeed.

@xiang90 I recall the intent for 3 members was to make ensure the compact propagated. I think the fix would be a linearized read before the watch?

@heyitsanthony This is a test for client, not for etcd server. I feel we should not test propagation here.

ok lgtm


Better things, sorry zach

Open image in new tab by clicking.
Sorry zach, most of your code is gone

AdD wAtErCsS, iMpRoVe ReSpOnSiVeNeSs, OpEn ImAgE iN nEw TaB

@kognise

(maybe don't merge until proper css grid magic is added)

So awesome. Can’t wait to merge and deploy tomorrow
On Sun, Jul 18, 2021 at 00:25 Kognise @.***> wrote:

(maybe don't merge until proper css grid magic is added)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hackclub/photowall.zephyr/pull/1#issuecomment-881995338,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHSH6C46V34KEKGKMOKCMTTYJJUPANCNFSM5ARXP7QA
.

nice


Fixed: Wi-Fi and Bluetooth toggling when flight mode is enabled.

Description
Now, when you enable Airplane mode, it will automatically disable Wi-Fi and Bluetooth if they were previously enabled.
Fixes #801
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

I have read the CLA Document and I hereby sign the CLA

Can we toggle back Wifi when Flight mode is disabled.

Yess @yashash-pugalia I fix it in this commit   but this work it not assign so it only commit not merged in main branches you can check it

Can we toggle back Wifi when Flight mode is disabled.

When Wi-Fi is turned on and you activate flight mode, it automatically disables the Wi-Fi. If flight mode is still active, you have the option to re-enable the Wi-Fi (This feature is exists in Windows 11, so I kept it that way). And when you deactivate flight mode, you can once again enable the Wi-Fi.
Hope this clarifies things.

When Wi-Fi is turned on and you activate flight mode, it automatically disables the Wi-Fi. If flight mode is still active, you have the option to re-enable the Wi-Fi (This feature is exists in Windows 11, so I kept it that way). And when you deactivate flight mode, you can once again enable the Wi-Fi.

Thanks that makes sense.


[BUG]: UAT| Amount shown incorrectly.

for Post Process Fee its  showing wrong.
Expected:
What's amount due that only should to be show as total amount.
reference link:
https://jam.dev/c/19bc03d4-05e8-43a3-a4fa-39bb3c29808e

this is ui issue @manimaarans

@rajeshcherukumalli, please assign a dev to this issue.

Issue is resolved will moving the ticket


Merge origin/develop

Description
Merge origin/develop
To-Dos

[x] Successful build yarn build

:tada: This PR is included in version 1.2.0 :tada:
The release is available on:

v1.2.0
GitHub release

Your semantic-release bot :package::rocket:


Tor

[x] Make it work over the onion transport
[x] Create command line options for --tor and --dualstack
[x] Make external API calls (blockstack resolver, exchange rates, etc) go out over Tor
[ ] Make bitcoin wallet implementations use Tor

Coverage remained the same at 27.428% when pulling 6069376f97920a54bfe1617d4161bb8c76821ae0 on tor into 5b50d26be8b90ac15eae22991fa3be4d5aac0f03 on master.

Coverage decreased (-0.003%) to 27.424% when pulling b4576b7f80cf29803498fc2a035a1ae980698af7 on tor into 5b50d26be8b90ac15eae22991fa3be4d5aac0f03 on master.

I think we discussed this already, but what's the advantage of dual stack over no Tor at all?

Coverage decreased (-0.02%) to 27.41% when pulling abb6cb59930b1470eabebecb9305c4285160e1f7 on tor into 5b50d26be8b90ac15eae22991fa3be4d5aac0f03 on master.

Coverage decreased (-0.03%) to 27.4% when pulling 738301f9b153751c8840902581560b480e1f51a0 on tor into 5b50d26be8b90ac15eae22991fa3be4d5aac0f03 on master.

Coverage decreased (-0.03%) to 27.4% when pulling 738301f9b153751c8840902581560b480e1f51a0 on tor into 5b50d26be8b90ac15eae22991fa3be4d5aac0f03 on master.

@JustinDrake you can't communicate with stores running exclusively on Tor if you are only using the clearnet.

This is awesome! 👍
Reminder: let's audit {ipfs, OB, and this transport} before people rely on it to be fully secure.

Coverage decreased (-0.03%) to 27.4% when pulling 3ad297a817aee88be603129c81aede3d6f741043 on tor into 23a2fb56033966d3e46c1cc6b47c643b30da0205 on master.

Coverage decreased (-0.03%) to 27.4% when pulling fb4aa68550a4bebb90912f562a41a61f6f723d50 on tor into 23a2fb56033966d3e46c1cc6b47c643b30da0205 on master.

Coverage decreased (-0.03%) to 27.4% when pulling 4181cd9326defda977108b300720da94dc5239a1 on tor into 23a2fb56033966d3e46c1cc6b47c643b30da0205 on master.

Coverage decreased (-0.03%) to 27.4% when pulling 4181cd9326defda977108b300720da94dc5239a1 on tor into 23a2fb56033966d3e46c1cc6b47c643b30da0205 on master.

Coverage decreased (-0.03%) to 27.4% when pulling 4181cd9326defda977108b300720da94dc5239a1 on tor into 23a2fb56033966d3e46c1cc6b47c643b30da0205 on master.

Coverage decreased (-0.03%) to 27.4% when pulling dfcf23d8c4dbd0d231c257950d34ed9ac183c78c on tor into 23a2fb56033966d3e46c1cc6b47c643b30da0205 on master.

Coverage increased (+0.2%) to 27.659% when pulling 50eb2bc454d29001abb2ba45fe8bb72c67c35bdb on tor into 23a2fb56033966d3e46c1cc6b47c643b30da0205 on master.

Coverage increased (+0.2%) to 27.659% when pulling c0f2b7cfbef4e450544226a1bb1d86a681d54064 on tor into 23a2fb56033966d3e46c1cc6b47c643b30da0205 on master.

Coverage increased (+0.2%) to 27.634% when pulling a6e974f4b01e223247323dd8b1e658c88101d400 on tor into 23a2fb56033966d3e46c1cc6b47c643b30da0205 on master.

Hey @El--Presidente interested in reviewing this with us?

Coverage decreased (-0.05%) to 27.651% when pulling ebd5ee5061b5e527f6c42857d1de2c77d276c106 on tor into aeef6039796ed885385ee2a4fdb748eeec63a7fe on master.

by looking at the code patterns, this interface
type ExchangeRateProvider interface {
	fetch() error
}

could use being like this:
type ExchangeRateProvider interface {
        client() *http.Client
        fetchUrl() string
        decode(body io.ReadCloser) error
	fetch() error
}

the code on fetch() is identical, except for its return type, but since all the ExchangeRateProvider implement decode(body), fetch() could reuse a single generic implementation like this:
func (b *ExchangeRateProvider) fetch() (err error) {
	resp, err := b.client().Get(b.fetchUrl())
	if err != nil {
		return err
	}
	return b.decode(resp.Body)
}

since I believe they're initialized as ExchangeRateProvider
func NewBitcoinPriceFetcher(dialer proxy.Dialer) *BitcoinPriceFetcher {
...
b.providers = []ExchangeRateProvider{&BitcoinAverage{b.cache, client}, &BitPay{b.cache, client}, &BlockchainInfo{b.cache, client}, &BitcoinCharts{b.cache, client}}

b.run()
...
}

my guess is by doing that you don't have to implement fetch() so many times and avoid repetition. (warning: I'm not a go programmer, just curious)

Coverage increased (+0.6%) to 28.304% when pulling d24c1141db6996ddac93bb13cc299093c4a9cb13 on tor into bc3a525ffe70d8e43dbb6270d6463732969de91e on master.

OK merging.
Angel we will take a look at refactoring that price fetcher and possibly create a standard API schema so it's not so cumbersome to handle multiple APIs.
Other than that we plan to pay someone to review this (and the IPFS code) and the broader code base for any privacy and security issues before we take the disclaimer off and let people go wild.

(reading over this code got me pumped about go again, if you won't work on that refactoring right away, as I bet you have a bunch more stuff to do, perhaps I'll be able to submit a PR before you get to it)


scrcpy constantly forgets my phone

Hello,
The way I connect scrcpy to my phone is like the following:

Connect to USB
adb tcpip 5555
Remove from USB
adb connect <IP_ADDRESS> [A static IP I made in my phone's wifi settings]

And like that, I can easily connect scrcpy to my phone with these lines without connecting to USB using:

adb tcpip 5555
scrcpy %Options%

It works fine for a few hours, then when I try to connect again afterwards I get this:
D:\Programs\scrcpy>adb tcpip 5555
error: no devices/emulators found

D:\Programs\scrcpy>adb connect <IP_ADDRESS>
cannot connect to <IP_ADDRESS>:5555: A connection attempt failed because the connected party did not properly respond after
a period of time, or established connection failed because connected host has failed to respond. (10060)

D:\Programs\scrcpy>adb devices
List of devices attached
*empty*

The only way I found to get around this error and get my phone connected again is by reapplying the steps I mentioned at the beginning, i.e. by connecting to USB again. Of course, this solution only fixes the problem for a few hours until scrcpy forgets my phone again.
Is there a way to make scrcpy remember my phone for a longer period of time?
Thanks.
Environment

OS: Windows 10
scrcpy version: 1.23
installation method: Windows release
device model: Oppo
Android version: 10

It's not scrcpy, it's adb.
However, only the connect step should be performed again, adb tcpip should be kept by the device.
Btw, scrcpy has a feature to automate these steps: https://github.com/Genymobile/scrcpy#tcpip-wireless
The first time, plug the device, then:
scrcpy --tcpip

For further connections:
scrcpy --tcpip=<IP_ADDRESS>

I'll use that and see how it goes, thanks rom1v.

Hey again @rom1v, I wanted to update this issue and confirm that it's fixed after following your instructions, thank you very much.


mimeo: new package at 2019.7

Description of package
Open files by MIME-type or file name using regular expressions.
Checklist

[X] Latest upstream version.
[X] I agree to maintain this package (required).
[X] I agree to notify KISS if I can no longer maintain this package (required).

Closing. I don't actually use mimeo on the regular.


make serve fails

I am on the main branch make serve fails with:
find: ‘_site/training-material’: No such file or directory
find: ‘_site/training-material/*/*/slides/*’: No such file or directory
find: ‘_site/training-material’: No such file or directory
Tip: Want faster builds? Use 'serve-quick' in place of 'serve'.
Tip: to serve in incremental mode (faster rebuilds), use the command: make serve FLAGS=--incremental

Configuration file: /home/paul/git/gtm/training-material/_config.yml
[GTN/Images] Could not load fastimage gem, disabling feature (probably due to conda)
/home/paul/git/gtm/training-material/_plugins/gtn/images.rb:10: warning: already initialized constant FASTIMAGE_AVAILABLE
/home/paul/git/gtm/training-material/_plugins/gtn/images.rb:5: warning: previous definition of FASTIMAGE_AVAILABLE was here
[GTN] You are running 2.7.2 released on 2020-10-01 for x86_64-linux
[GTN] WARNING: This Ruby is pretty old, you might want to update.
            Source: /home/paul/git/gtm/training-material
       Destination: /home/paul/git/gtm/training-material/_site/training-material
 Incremental build: disabled. Enable with --incremental
      Generating...
[GTN/SyntheticTopics] Generating Indexes
[GTN/SyntheticTopics] Creating covid19 topic
[GTN/scholar] Creating global bib cache
[GTN/scholar] Done: 955
[GTN/Sitemap] Generating
[GTN/MOD] Filling Time Cache
[GTN/API] Bibliography
Traceback (most recent call last):
        25: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/bin/jekyll:32:in `<main>'
        24: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/bin/jekyll:32:in `load'
        23: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/exe/jekyll:15:in `<top (required)>'
        22: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
        21: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
        20: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
        19: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
        18: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
        17: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/lib/jekyll/commands/serve.rb:86:in `block (2 levels) in init_with_program'
        16: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
        15: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `each'
        14: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
        13: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/lib/jekyll/commands/build.rb:36:in `process'
        12: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/lib/jekyll/commands/build.rb:65:in `build'
        11: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/lib/jekyll/command.rb:28:in `process_site'
        10: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/lib/jekyll/site.rb:79:in `process'
         9: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/lib/jekyll/site.rb:191:in `generate'
         8: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/lib/jekyll/site.rb:191:in `each'
         7: from /home/paul/mambaforge/envs/galaxy_training_material/envs/galaxy_training_material/share/rubygems/gems/jekyll-4.3.2/lib/jekyll/site.rb:193:in `block in generate'
         6: from /home/paul/git/gtm/training-material/_plugins/api.rb:128:in `generate'
         5: from /home/paul/git/gtm/training-material/_plugins/gtn/metrics.rb:146:in `generate_metrics'
         4: from /home/paul/git/gtm/training-material/_plugins/gtn/metrics.rb:146:in `map'
         3: from /home/paul/git/gtm/training-material/_plugins/gtn/metrics.rb:146:in `each'
         2: from /home/paul/git/gtm/training-material/_plugins/gtn/metrics.rb:150:in `block in generate_metrics'
         1: from /home/paul/git/gtm/training-material/_plugins/gtn/metrics.rb:150:in `each'
/home/paul/git/gtm/training-material/_plugins/gtn/metrics.rb:151:in `block (2 levels) in generate_metrics': undefined method `except' for {:value=>0, "layout"=>""}:Hash (NoMethodError)
make: *** [Makefile:67: serve] Error 1

[GTN] You are running 2.7.2 released on 2020-10-01 for x86_64-linux

It should be better if you update to a newer ruby, 3.0.0 and higher are known working.

thank you for the answer, you don't need to fix it for me now that I know the issue, maybe one could pin the version in the environment.yml if an old ruby is known to fail ?

ahhh conda, I forgot about it. apologies. I use another method to manage ruby and associated dependencies


Fix broken link in Learn AI Section

Summary of your changes
Fixes: #1895
Description

As specified in the issue, the link in the "Learn AI" section is broken:

Unsupervised Sentiment Neuron : Unsupervised Sentiment Neuron

The link points to a blog on Unsupervised Sentiment Neuron, developed by OpenAI.
The broken lnk is replaced a working link that points to the correct webpage:

Unsupervised Sentiment Neuron: Unsupervised Sentiment Neuron

Checklist

[x] My change follows the Contributing Guidelines
[x] I have added only one new link to the list.
[x] I have checked that the link that I added does NOT exist in the project already.
[x] I have sorted the link alphabetically under the related section.

Thanks for the attempt to remove all broken links manually but there's a CI tool that's already in place for that.
Enabling it back and getting all the dead links is the approach. I'm merging this one but that CI tool has to be enabled back.

That's great to hear @sdmg15 !!
But the reason I'm doing this is because many links (broken) have been moved elsewhere.
I made a list of those with their correct links.
Others are dead and yes, have to be removed.


Erroneous dependency count

Which package(s) are showing incorrect data?

https://swiftpackageindex.com/mapbox/mapbox-navigation-native-ios

(To be honest I didn't search for more links but I remember seeing an package from Apple with the same issue.)
Please explain what data is incorrect and what you expected to see
The page shows

This package has no package dependencies.

but in Package.swift (at the indexed commit) we can clearly see
dependencies: [
    .package(name: "MapboxCommon", url: "https://github.com/mapbox/mapbox-common-ios.git", .upToNextMajor(from: mapboxCommonVersion)),
],

Screenshots
I don't think it's necessary but I can add some if you want.
Additional context
Latest stable release shown on SPI:
146.0.0
Released 4 days ago

Ok, I see what's happening here. This package fails package resolution, because its binary target download requires a "Mapbox token" in .netrc:
This is from a local run:
✦ ❯ swift package resolve
warning: 'mapbox-navigation-native-ios': "Mapbox token wasn\'t founded in ~/.netrc. Fix this issue to integrate Mapbox SDK. Otherwise, you will see \'invalid status code 401\' or \'no XCFramework found. To clean issue in Xcode, remove ~/Library/Developer/Xcode/DerivedData folder"
warning: 'mapbox-navigation-native-ios': "Mapbox token wasn\'t founded in ~/.netrc. Fix this issue to integrate Mapbox SDK. Otherwise, you will see \'invalid status code 401\' or \'no XCFramework found. To clean issue in Xcode, remove ~/Library/Developer/Xcode/DerivedData folder"
Fetching https://github.com/mapbox/mapbox-common-ios.git
Fetched https://github.com/mapbox/mapbox-common-ios.git (1.62s)
Computing version for https://github.com/mapbox/mapbox-common-ios.git
Computed https://github.com/mapbox/mapbox-common-ios.git at 23.7.0 (0.43s)
Creating working copy for https://github.com/mapbox/mapbox-common-ios.git
Working copy of https://github.com/mapbox/mapbox-common-ios.git resolved at 23.7.0
Downloading binary artifact https://api.mapbox.com/downloads/v2/mobile-navigation-native/releases/ios/packages/137.1.3/MapboxNavigationNative.xcframework.zip
Downloading binary artifact https://api.mapbox.com/downloads/v2/mapbox-common/releases/ios/packages/23.7.0/MapboxCommon.zip
error: failed downloading 'https://api.mapbox.com/downloads/v2/mobile-navigation-native/releases/ios/packages/137.1.3/MapboxNavigationNative.xcframework.zip' which is required by binary target 'MapboxNavigationNative': badResponseStatusCode(401)
error: failed downloading 'https://api.mapbox.com/downloads/v2/mapbox-common/releases/ios/packages/23.7.0/MapboxCommon.zip' which is required by binary target 'MapboxCommon': badResponseStatusCode(401)
error: fatalError

All our build system builds fail the same way and that's why we have no Package.resolved to report this number and it defaults to [], i.e. 0.
I'm looking to changing the return value to nil so we don't report a 0 in this case.

Weird, we're actually correctly sending nil in the build report for that package and we're only saving to versions.resolvedDependencies if we get a non-nil value back:
                if let dependencies = dto.resolvedDependencies {
                    version.resolvedDependencies = dependencies
                    try await version.save(on: req.db)
                }

It's unclear to me how we ended up with [] in that field 🤔

The build logs actually show
No dependencies found.
✅  Build result reported

which happens just before the build report is sent:
        if let dependencies = resolvedDependencies {
            Logger.log("Dependency count: \(dependencies.count).")
        } else {
            Logger.log("No dependencies found.")
        }

        let result = Api.BuildResult(
            buildCommand: buildCommand,
            buildId: buildId,
            jobUrl: jobUrl,
            logUrl: key.url,
            platform: platform,
            resolvedDependencies: resolvedDependencies,
            runnerId: runnerId,
            status: status,
            swiftVersion: .init(swiftVersion: swiftVersion)
        )
        try Retry.attempt("Sending build result", delay: Self.retryDelay) {
            let status = try Current.reportBuildResult(baseURL: baseURL,
                                                       builderToken: builderToken,
                                                       versionId: versionId,
                                                       result: result)

So we're definitely not sending [].

Ok, I've manually reset versions.resolvedDependencies on the default version to NULL for this package and re-run the build. After doing so, the value remains NULL. So the problem likely is that once it had a successful package resolve with no dependencies and then none of the subsequent failures returning nil would overwrite the [] back to NULL.
This is intentional, because we don't want an errant build failure to reset that metric. Or maybe we'd prefer that? The result is that the metric disappears from the package page. With the metric (from another package page):

Without the metric:

Amazing, well done 👏🏻


feat(linter): handle cjs `module.exports = {} as default export

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

#2493  👈
#2492
main

This stack of pull requests is managed by Graphite.

Merge activity

Feb 24, 11:11 AM EST: @Boshen merged this pull request with Graphite.


Improving English documentation to include project descriptions

👏 解決する issue / Resolved Issues

N/A

📝 関連する issue / Related Issues

#4066

⛏ 変更内容 / Details of Changes

Added an About section to describe what the site does
Included that this open-source project is working in tandem with Tokyo Metropolitan Government
Specified what each section might be useful for to minimize flipping through pages too much
Specified which browsers this project seems to work seamlessly with
Added snapshots of the site to show examples of work
Updates the Slack link in Contribution Guidelines
Added a Contact section so people may quickly access current Slack

📸 スクリーンショット / Screenshots

@kayleenaila Thank you for your pull request! I think it is excellent!
However, we will need to check with the Tokyo Metropolitan Government regarding any changes to the content.
Could you please wait a moment?

@kayleenaila Sorry for the late reply.
We have had our Tokyo Metropolitan Government(TMG) representative review this pull request.
We would like to adopt your suggestion.
So I'd like to ask you to make one correction.
For an overview of the site and supported browsers, you can find the TMG's official position on the site at
https://stopcovid19.metro.tokyo.lg.jp/en/about/
Since this repository is also owned by the TMG, we would like to align the wording.
Could you please make the correction?

@kayleenaila Today the website will be closed and this repository will be archived. I'll close this Pull Request accordingly.
We are very pleased to receive this proposal. Thank you very much!


[Chore] Set up CI/CD - [Path 1]

#2
What happened 👀
Set up and fix to let CI can run through 5 jobs successfully.
Insight 📝

Add mix gettext.extract --merge --no-fuzzy to mix.exs.
Reorder aliases of HealthPlug.

NOTE: we will have part 2 for setting up CD.
Proof Of Work 📹

Can you please include ticket number to the PR title?


关于控制台使用的mysql和redis的一些疑问

我知道控制台的一些rest功能会使用mysql和redis来存储数据，但是与控制台rest无关时，一次P2P下载任务中是否会使用到mysql和redis（访问或者存储）

P2P downloads will not store information in mysql or redis.

Please try to submit issues in English so that other developers can search them.

ok, I'll edit this; another question is that from the values.yaml, i could know external Manager is supported, however it seems that the scheduler could not be external, because dfdaemon will get available scheduler from manager, but this "available" is   to manager, infect that if we put both manager and scheduler external, dfdaemon will get a anvailable scheduler from manager. Am I right? or wrong?

Please try to submit issues in English so that other developers can search them.

ok, I'll edit this; another question is that from the values.yaml, i could know external Manager is supported, however it seems that the scheduler could not be external, because dfdaemon will get available scheduler from manager, but this "available" is to manager, infect that if we put both manager and scheduler external, dfdaemon will get a anvailable scheduler from manager. Am I right? or wrong?

Can you provide steps to reproduce?


[WIP] circlesclock: load circles from clkinfo

Simple view of the closest running timer in the clock.
I cannot figure out how to properly generate the icon though, I created a 16x16 image and converted in b/w but it only works if I don't set a colour, otherwise the picture is weirdly mirrored (I bet it has something to do with the size, any hint is appreciated).
TODO:

differentiate among alarms and timers
something else?

Just thinking out loud: Could clock_info be good for this?
Also there's this discussion #2226.
Sorry, don't have a solution to your problem with the icon.

Well, maybe. The thing is that I wrote this piece of code a while ago when clkinfo wasn't there yet.
The library looks promising but I am not familiar with it.

Yeah, it's the same for me as well ;)
Good idea about adding timer! :)

Anyway, I am still struggling with the icon: here's an example (you can try in the IDE) with the timer image I created (16x16, 1bbp, image string, inverted) and with another icon from circlesclock. Without colour they both look fine, but if I change colour the timer looks bad and doesn't even take the right colour (the code reproduces how images are rendered in the clock).
const timerIcon = atob("EBAB/////+AH8A/zz/GP+B/8P/5//D/4H/AP8A/gB/////8=");
const pressureIcon = atob("EBCBAAAAAYADwAJAAkADwAPAA8ADwAfgB+AH4AfgA8ABgAAA");
function drawPics(icon, x) {
  g.drawImage(icon, 0+x,0);
  const colorTimerIcon = {
        width: 16,
        height: 16,
        bpp: 1,
        transparent: 0,
        buffer: E.toArrayBuffer(icon),
        palette: new Uint16Array(['#fff', g.toColor('#f0f')])
      };
  g.drawImage(colorTimerIcon, 16+x,0);
}
drawPics(timerIcon, 0);
drawPics(pressureIcon, 32);

Hi - I think there are two issues here...

The image shouldn't be inverted when you convert it - in the example you have, if your theme background is white, you want the image itself to be black (right now the image background is black and the image foreground is transparent)
To change the color of the 1bpp image you don't need to redefine the image (that's doesn't work for image strings - the string you need has to be created using the 'image object' export mode). All you need to do is use setColor:

const timerIcon = atob("EBAB/////+AH8A/zz/GP+B/8P/5//D/4H/AP8A/gB/////8=");
const pressureIcon = atob("EBCBAAAAAYADwAJAAkADwAPAA8ADwAfgB+AH4AfgA8ABgAAA");
function drawPics(icon, x) {
  g.reset().drawImage(icon, 0+x,0);
  g.setColor('#f0f').drawImage(colorTimerIcon, 16+x,0);
}
drawPics(timerIcon, 0);
drawPics(pressureIcon, 32);

So this would work great if the images were converted 'uninverted'. But if you post up the source images I could do it for you.
BUT
I'm really not a fan of shoving loads of code into clock faces for extras. That's why we created clock_info and have that issue (referenced above). It makes the clocks unmaintainable.
For example, you should probably use the sched library to access sched.json - that's what it's for. Right now you're checking the t field, but not anything else (whether the alarm has already fired, what date it's set for, whether it's enabled, etc) so in all but the most minimal cases this code won't display the correct value.
... and then someone else will copy it into a new clock face and so on, and before we know it we have this not-quite-working code all over the place and it's a nightmare to fix.
Also, as far as I can tell if you install https://banglejs.com/apps/?id=smpltmr then this functionality is already part of clock_info (and it deals correctly with the different states of alarms)... If you're dead set on not using clock_info, you should probably still copy the https://github.com/espruino/BangleApps/blob/master/apps/smpltmr/clkinfo.js code to get active timers
So I guess is there a way we can modify clock_info to make it do what you need? For example as you're drawing these circles maybe we need to return the value as a number, and min/max values for each circle?

Well, as I'm not the developer of circlesclock, I tried to keep things as close how they are implemented already. I'd rather not change all the icons as I don't have the original pictures. pressureIcon is already there and works somehow fine both with and without colour, as I'm adding timerIcon I'd like it to behave just like the others (unless the solution is so bad and there's a valid reason to change them all).
Here's the timer icon I'm using, in case you want to try something with it.

Regarding the data source, at the time I wrote that code (months ago), I thought it could be great to get all the circles in this clock in a standardised way (somehow like complications work in WearOS), I couldn't find anything implemented and had to do it manually.
I'm supposing clkinfo works like that so I'd definitely be up to use it, just I'm wondering why cannot the clkinfo for timers be embedded in the default sched library (or in the Alarms & Timers app) rather than in yet another app to install.
The idea I had (based on how this watchface works), is that the common interface should return a number (for the gauge) and a short text (to display inside). In this way any kind of progress-bar-like complication can be implemented easily on any watchface, I'm not sure clkinfo can do that already (is there a proper documentation for it?).

This works how I'd expect now?
const timerIcon = atob("EBABAAAAAB/4D/AMMA5wB+ADwAGAA8AH4A/wD/Af+AAAAAA=");
const pressureIcon = atob("EBCBAAAAAYADwAJAAkADwAPAA8ADwAfgB+AH4AfgA8ABgAAA");
function drawPics(icon, x) {
  g.reset().drawImage(icon, 0+x,0);
  g.setColor('#f0f').drawImage(icon, 16+x,0);
}
drawPics(timerIcon, 0);
drawPics(pressureIcon, 32);

I'm wondering why cannot the clkinfo for timers be embedded in the default sched library (or in the Alarms & Timers app)

Yes, I think it probably should be. I can't remember 100% but I think it's probably because it's @peerdavid who really started using clock-info, and since the simpletimer app is his I think he just added the code in there to avoid messing with a 'default' app - but maybe we could look at moving it...

the common interface should return a number (for the gauge) and a short text (to display inside). In this way any kind of progress-bar-like complication can be implemented easily on any watchface

The existing docs are at the top of https://github.com/espruino/BangleApps/blob/master/modules/clock_info.js
Right now we return an icon and text, but we could easily extend it without breaking anything to include a min/max and numerical value too... In fact I just pushed a change to add this.

Hi,

can't remember 100% but I think it's probably because it's @peerdavid who really started using clock-info, and since the simpletimer app is his I think he just added the code in there

exactly I added this to the simpletimer app as I was not sure if we want this in the default sched library. But I totally agree with you that it would fit better in the sched library in case we want this :)

Well, I can have a check then, at least to implement it for the timer in this watchface. Thanks for fixing the icon, however if the clkinfo returns an icon too, it could be even easier (although this clock requires a 16x16, the 24x24 may be just too big).
Another nice thing of circlesclock is that some icons change based on the values (e.g. the weather condition), if that can be done too, then this watch can be redesigned to rely just on clkinfo for all data (not sure what the original developer @myxor thinks about it, I may give it a shot if I find some time).
@peerdavid if it's just a matter of moving the code from one app to the other and nothing breaks, then I guess it can help!

Yea I think moving the file from one to another app is enough :)

Yea I think moving the file from simpletimer to sched is enough :)

It's a little trickier as the simple timer has just one single timer (and gets it through its id), I'm playing around to see what can I do with it.
Ideally I guess it should show all active timers and alarms, but in cases like the circlesclock, we are just interested in the closest timer/alarm. The simplest trick would be to set this new field hasRange (or any other flag) only in the one we are interested in from the clkinfo itself.

clock_info can return more than one item, so I guess it could sort them by the time until they'll fire, and then list them all, nearest first. So then you get one shown, but if you swipe you can cycle through others

@glemco feel free to make your changes to circlesclock if you want to. So far your changes look fine for me.

How's this looking now? Is it still a work in progress?

Thanks @myxor , hope not to screw it up 😅
@gfwilliams I have a better version on my master branch (don't want to mess this up with tons of forced pushes), it kind of works but still has some bugs, as soon as it looks fine I'll let you know.

I am still struggling with the icons, right now I'm getting them from the clkinfo and it works fine for the bangle stuff, however the ones from the weather clkinfo don't really work.. they always get the background color and I cannot manage to change it
I'm not sure if the images themselves are not fine for this usage or I'm doing something wrong.. (in bwclock they all work though..).
Here's the usual minimal example with those, if I don't change the background they aren't even visible (always white).
const icon1 = atob("GBiBAf/D//+B//8Y//88//88//88//88//88//8k//8k//8k//8k//8k//8k//4kf/5mf/zDP/yBP/yBP/zDP/5mf/48f/8A///D/w==");
const icon2 = atob("GBiBAf/7///z///x///g///g///Af//Af/3Af/nA//jg//B/v/B/H+A/H8A+D8AeB8AcB4AYA8AYA8AYA+A4A/B4A//4A//8B///Dw==");
const icon3 = atob("GBiBAf4f//wP//nn//Pn//Pzg//nAf/meIAOfAAefP///P//+fAAAfAAB////////wAAP4AAH///z///z//nz//nz//zj//wH//8Pw==");
function drawPics(icon, y) {
  g.reset().drawImage(icon, 0,y*24);
  g.setColor('#f0f').drawImage(icon, 24,y*24);
}
g.setColor("#888").fillRect(0,0,512,512);
drawPics(icon1, 0);
drawPics(icon2, 1);
drawPics(icon3, 2);

they always get the background color

Is that true whatever theme you set/whatever the background color is?

Well, they are invisible both on my bangle (dark theme) and on the emulator. I didn't try anything else but the clock is supposed to change their colour according to settings (e.g. each circle has its own colour) and I cannot manage that

Just a note that you can use g.imageMetrics(img) to get some info about an image.
But it looks like the issue is that:

Those images are inverted
The transparent color is the foreground!

So I don't see how this could ever have worked properly :( I've just pushed a fix for that though!
If it helps anyone else, you can fix it with this code.
img= E.toUint8Array(img)
img[3]=0;
for (var i=4;i<img.length;i++) img[i]^=255;
img=E.toString(img);
g.reset().drawImage(img);
print(btoa(img));

BW Clock inverts the theme at some point. Maybe that's the origin?

BW Clock inverts the theme at some point. Maybe that's an explanation?

Ahh, that might do it! Although I'd have thought that with clock_info either weather would work and all the others are broken, or the others would be work and weather would be broken.
But maybe the icons were copied out of BW clock and not tested?

Thank you both very much! Finally I'm starting to understand a little more about the image format.
So I guess I can carry on with the clock, ignoring the images representation.

I put in this pull request only the modifications on circlesclock, in the meanwhile I changed something in some clkinfos to display data as they were in this clock before the update. Some more pull requests will follow.
I made some assumptions:

the field text is short enough and works fine on the circles (not really bulletproof, would it make sense to have a short field for this case?)
if items don't have a name, I assume we are in the case in which they are going to change over time (e.g. timers or calendar events), then I read just the first.
Since this watch doesn't allow user interaction after set-up from settings, clkinfos with a name are assumed to always be there (e.g. Weather/temperature) while in other cases the first item should be the most meaningful to show (e.g. closest timer, if there).

This looks great, thanks! Sounds like a good plan about detecting items changing - but if it's a worry then we could add a dynamic:true field I guess?

would it make sense to have a short field

I think if this becomes a problem, maybe - however the idea of clock_info is to display the stuff in quite a small area (I'm using 50px wide in  my tests at the moment) so hopefully all the infos will be designed not to be that wide.

the T- are taking space and I'd avoid them on the circlesclock.

I'd be very happy if you wanted to do a PR to add an optional small field? It wouldn't break anything and as you say it could be useful

I'd be very happy if you wanted to do a PR to add an optional small field? It wouldn't break anything and as you say it could be useful
Great! I'll add it to the pipeline.

Just a note that something came up in the forum about this, and it seems that these changes broke the HRM and probably anything that would auto-update: https://forum.espruino.com/conversations/382172/#comment16789739
I've made some big changes to try and strip out all the old code now and to just use the addInteractive function. It's not ideal, but I think at least it's a better staring point for it now.

Well, it clearly did (and probably the same with other sensor-based data), but wouldn't it be cleaner if the clkinfo itself was managing the activation of the sensors?
Maybe I'm playing wrong with the show()/hide() methods, but I think it would be ideal if the two were enough to have the data ready. Does it make sense?

but wouldn't it be cleaner if the clkinfo itself was managing the activation of the sensors?

Well, it does if you use addInteractive, which we're now using.
The issue is that some sensors (like HRM) don't have the data ready instantly - they have to go away and come back some time later.
If you want to interface with the clock infos at a lower level than addInteractive, you have to tell them when they're visible, and when they're not, and respond to their requests to redraw. There's been a lot of work put in to ensure they handle everything else based on that.
The real issue I see with what's done now is the colors are still per-circle, but now you can cycle through what gets shown. So I guess really the settings for color need to be per type of circle (eg, HRM, etc).

One way around the specific problem with Quick Launch could be to add actions on double swipes in Quick Launch. That way you can reserve single swipe actions to the clock, although the clock would act on the first of the two swipes in that case. I have though about adding this to Quick Launch but haven't got around to it as I currently use Slope Clock which doesn't do anything on swipes.

Yeah that could be an option too, but honestly I'd still prefer using swipes for Quick Launch.
What about using the same taps as in bwclock (e.g. instead of a swipe up, tapping on the upper part of the screen) also here in circlesclock? Maybe with a visual feedback like little arrows once a circle is selected and starting the selection with a long-press of a circle instead of single to avoid accidental taps?

plus it adds a quite noticeable delay every time it loads

That delay has always existed, but maybe it's more noticeable now the clock draws first - the 'ring draw' algorithm just draws a gazillion circles, and takes 0.25 sec PER ring. If there are 3x full circles that ends up being 6x0.25 sec just to draw the rings!
So really someone ought to change that - when this came up I'd actually posted a ring draw algorithm to the forum but if I change it and the rings a bit different someone will likely complain.

Swiping doesn't seem to go well with QuickLaunch

Normally, swiping has no effect on clock_info, it's only when you tap and focus one of the circles. Perhaps clock_info could set handled=true on each event and QuickLaunch could check that to ensure that it doesn't fire if the event has been 'used'.
Or I believe when @peerdavid gets time he's planning to fix some outstanding issues with the clock_info in BW clock and then maybe add that code to clock_info itself, so when that happens maybe the code could be used here instead.
I think clock_info is getting big enough that maybe it could be an item in the app loader in its own right, with a settings page. In that case, what appears in each element (and the mode of interaction) could be configured.

That delay has always existed, but maybe it's more noticeable now the clock draws first - the 'ring draw' algorithm just draws a gazillion circles, and takes 0.25 sec PER ring. If there are 3x full circles that ends up being 6x0.25 sec just to draw the rings!
So really someone ought to change that - when this came up I'd actually posted a ring draw algorithm to the forum but if I change it and the rings a bit different someone will likely complain.

Damn, never noticed!
Well, you can't make everyone happy, unfortunately. Would that new algorithms make the circles much uglier? IMO since the bangle already doesn't have a particularly sharp resolution, faster circles are better. (Would it make sense a poll? or a setting in the app for accurate vs fast circles?)

Normally, swiping has no effect on clock_info, it's only when you tap and focus one of the circles. Perhaps clock_info could set handled=true on each event and QuickLaunch could check that to ensure that it doesn't fire if the event has been 'used'.

That looks neat. I could have a look on that perhaps.

I think clock_info is getting big enough that maybe it could be an item in the app loader in its own right, with a settings page. In that case, what appears in each element (and the mode of interaction) could be configured.

Agree, also there's no way to update the clkinfo module (or any module) without updating the app itself using it, right?
I think it's much more maintainable as standalone library as well.


Improve IGV test - smartseq2_has_2-3_files

Context
I've recently wrangled a dataset (BenchmarkingSingleCellProtocols) that has smartSeq2 for library preparation and has R1, R1, I1 and I2 so it failed graph validation
we have agreed to improve the test to accomodate this case
Acceptance criteria

[ ] edit test
[ ] BenchmarkingSingleCellProtocols graph valid

I've opended a PR to start the discussion - herehttps://github.com/ebi-ait/ingest-graph-validator/pull/77

@idazucchi
create a positive and a negative test
pass the test and upload spreadsheets to repo
investigate a longer solution (open another ticket)

Ida will try again and decide if to raise with @amnonkhen

Graph validation test stuck in 'graph validation requested' in staging: https://staging.contribute.data.humancellatlas.org/submissions/detail?uuid=77e2b993-74d7-4af7-b12d-05650788066c&project=48a3b782-a679-47eb-8e43-3c21e22e715d
@amnonkhen

@idazucchi and @ESapenaVentura to try re-request graph validation and see if it triggers

requested graph validation again!

the test is in master and was deployed - closing this


Remove entryPoint seem broke example

This commit remove all entry points. https://github.com/webgpu/webgpufundamentals/commit/abe4e2e8b9cc4eeb52b3ba4ed1d24a6d64263ec8
And now all sample on https://webgpufundamentals.org/ is not working.
for example the first article

the error message indicate the entryPoint is required

add the entryPoint , the example working

Sorry, please upgrade to chrome v121 (assuming you're using Chrome). I will add a message asap

I added a msg

Note: This is a non-breaking change to the WebGPU spec. It used to be that entryPoint: 'nameOfEntryPoint' was required but the spec changed so that if there is only a single entry point of the correct type (@vertex, @fragment, @compute then you don't need to specify an entry point. WebGPU will use the single entry point. Non-breaking means the old unchanged examples still work. The ones with entryPoint: 'vs', etc...
My guess is, not specifying the entryPoint will become the most common way to use WebGPU as it's less tedious and since this site is about teaching WebGPU it seemed best to switch it to this likely more common way.  Unfortunately that means requiring version 121 or greater of Chrome.  Safari Technology Preview already supports this feature.  Firefox Nightly has other issues but should also support WebGPU enough to run most of the samples here soon.

wow，nice feature！I will close this issue.
Thank you for your response and tip.


Error updating user data

Hello,
The data user update fails. If in the UserNatural model the field TermsAndConditionsAccepted = true it returns the error 'The user already accepted our terms and conditions' and if TermsAndConditionsAccepted = false is sent it returns the error 'The user cannot revoke the terms and conditions acceptance'.
Debugging the library I have been able to verify that if the json generated in the request had the TermsAndConditionsAccepted = null, it is executed correctly. I think it could be solved by making the TermsAndConditionsAccepted field in the UserLegal and UserNatural models a boolean object and not a primitive

Hello @ddesola,
Thanks your feedback. We are looking into it.

Having the same issue, we cannot update our users data from our system via the SDK.
Is there any bugfix planned?

@ghernaez Yes. Pushing a fix right now :)

Thank you very much @iulian03 ;-)

Thanks :)


[OZ] ERC-2612 - Permit

Description:
Adding tests for [OZ] ERC-2612 - Permit
Related issue(s):
https://github.com/hashgraph/hedera-smart-contracts/issues/564

Tests are failing..

@stefan-stefanooov please update PR description


at86rf2xx radio driver does not report whether a TX was a ACKed

Describe the bug
The newly introduced at86rf2xx driver is doing automatic retransmissions in hardware based on whether ACKs are received or not. Currently the driver is not invoking ieee802154_radio_handle_ack() as other drivers are doing and required by OpenThread since https://github.com/zephyrproject-rtos/zephyr/commit/4fe1da9f588230d690d3df4232d066243bbe7b19.
Impact
OpenThread does not work on this radio.
Environment (please complete the following information):

Zephyr SHA 0b6c18bd64cc601d65f8f85def64618d376d16d2

Additional context
@nandojve, I am in the process of mimic'ing the behaviour of drivers/ieee802154/ieee802154_kw41z.c handle_ack().

@nandojve Could you add yourself to CODEOWNERS file as an owner for the rf2xx driver and send a PR for that? This way we know who is maintaining the driver.

--- a/drivers/ieee802154/ieee802154_rf2xx.c
+++ b/drivers/ieee802154/ieee802154_rf2xx.c
@@ -215,6 +215,11 @@ static void rf2xx_thread_main(void *arg)
                        k_timer_start(&ctx->trx_isr_timeout, K_MSEC(10), 0);
                } else if (isr_status & (1 << RF2XX_TRX_END)) {
                        if (ctx->trx_state == RF2XX_TRX_PHY_BUSY_RX) {
+                               /* Ensures that automatically ACK will be sent when
+                                * requested */
+                               while (rf2xx_iface_reg_read(dev, RF2XX_TRX_STATUS_REG) ==
+                                       RF2XX_TRX_PHY_STATUS_BUSY_RX_AACK);
+
                                /* Set PLL_ON to avoid transceiver receive
                                 * new data until finish reading process
                                 */
@@ -382,6 +387,48 @@ static int rf2xx_filter(struct device *dev,
        return -ENOTSUP;
 }

+#define ACK_FRAME_LEN 3
+#define ACK_FRAME_TYPE (2 << 0)
+#define ACK_FRAME_PENDING_BIT (1 << 4)
+
+static void handle_ack(struct rf2xx_context *ctx, u8_t seq_number)
+{
+       struct net_pkt *ack_pkt;
+       u8_t ack_psdu[ACK_FRAME_LEN];
+
+       ack_pkt = net_pkt_alloc_with_buffer(ctx->iface, ACK_FRAME_LEN,
+                                           AF_UNSPEC, 0, K_NO_WAIT);
+       if (!ack_pkt) {
+               LOG_ERR("No free packet available.");
+               return;
+       }
+
+       /* Re-create ACK frame. */
+       ack_psdu[0] = ACK_FRAME_TYPE; //kw41z_context_data.frame_pending ?
+                     //ACK_FRAME_TYPE | ACK_FRAME_PENDING_BIT : ACK_FRAME_TYPE;
+       ack_psdu[1] = 0;
+       ack_psdu[2] = seq_number;
+
+       if (net_pkt_write(ack_pkt, ack_psdu, sizeof(ack_psdu)) < 0) {
+               LOG_ERR("Failed to write to a packet.");
+               goto out;
+       }
+
+       /* Use some fake values for LQI and RSSI. */
+       (void)net_pkt_set_ieee802154_lqi(ack_pkt, 80);
+       (void)net_pkt_set_ieee802154_rssi(ack_pkt, -40);
+
+       net_pkt_cursor_init(ack_pkt);
+
+       if (ieee802154_radio_handle_ack(ctx->iface, ack_pkt) != NET_OK) {
+               LOG_INF("ACK packet not handled - releasing.");
+       }
+
+out:
+       net_pkt_unref(ack_pkt);
+}
+
+
 static int rf2xx_tx(struct device *dev,
                    struct net_pkt *pkt,
                    struct net_buf *frag)
@@ -437,6 +484,11 @@ static int rf2xx_tx(struct device *dev,
        case RF2XX_TRX_PHY_STATE_TRAC_INVALID:
                response = -EINTR;
                break;
+
+       case RF2XX_TRX_PHY_STATE_TRAC_SUCCESS:
+               response = 0;
+               handle_ack(ctx, frag->data[2]);
+               break;
        /* RF2XX_TRX_PHY_STATE_TRAC_SUCCESS:
         *  The transaction was responded to by a valid ACK, or, if no
         *  ACK is requested, after a successful frame transmission.

the change above allows me to do a full Thread Commissioning using the rf2xx driver.

@markus-becker-tridonic-com thank you for your help with RF2xx driver for OT. I did little changes on your proposal. If you have time to help testing we can conclude this soon. Please take look at #21773.


Move fluid react starter and update dependencies to latest

Move fluid-react-starter over
Update to latest FF dependencies
Use uploaded image blobs

would like to see the png files pulled out of the repo. They can just as easily be uploaded via adding them to an issue, and then pointing at the created URL.

would like to see the png files pulled out of the repo. They can just as easily be uploaded via adding them to an issue, and then pointing at the created URL.

Updated to use URLs and removed the images. Also that's a neat tip for getting img URLs!


Very long to initialize on iOS 12.2

Describe the bug
Hi !
I have a problem on iOS since the update to Cordova 9. The plugin causes an abnormal loading time before requesting the authorization of notification, or during the initialization.
Tested on iOS 12 / cordova 8.2: no problem
Tested on iOS 12 / cordova 9: problem
Tested on iOS 12.2 / cordova 9: problem
To Reproduce

install cordova 9
run on ios 12 or ios 12.2

Expected behavior
I wish there was no blocking for several seconds
Console Logs

2019-04-22 00:10:32.506481+0200 Pimis[2275:1008283] TIC Read Status [6:0x0]: 1:57
Main Thread Checker: UI API called on a background thread: -[UIApplication setApplicationIconBadgeNumber:]
PID: 2275, TID: 1008233, Thread name: (none), Queue name: com.apple.root.default-qos, QoS: 0
Backtrace:
4   Pimis                               0x00000001045fd520 __33-[FirebasePlugin setBadgeNumber:]_block_invoke + 104
5   libdispatch.dylib                   0x00000001052776f0 _dispatch_call_block_and_release + 24
6   libdispatch.dylib                   0x0000000105278c74 _dispatch_client_callout + 16
7   libdispatch.dylib                   0x000000010527bad4 _dispatch_queue_override_invoke + 876
8   libdispatch.dylib                   0x0000000105289dc8 _dispatch_root_queue_drain + 372
9   libdispatch.dylib                   0x000000010528a7ac _dispatch_worker_thread2 + 156
10  libsystem_pthread.dylib             0x00000001ac1311b4 _pthread_wqthread + 464
11  libsystem_pthread.dylib             0x00000001ac133cd4 start_wqthre

**LONG TIME AND CONTINUE WITH **

ad + 4
2019-04-22 00:10:32.980139+0200 Pimis[2275:1008233] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication setApplicationIconBadgeNumber:]
PID: 2275, TID: 1008233, Thread name: (none), Queue name: com.apple.root.default-qos, QoS: 0
Backtrace:
4   Pimis                               0x00000001045fd520 __33-[FirebasePlugin setBadgeNumber:]_block_invoke + 104
5   libdispatch.dylib                   0x00000001052776f0 _dispatch_call_block_and_release + 24
6   libdispatch.dylib                   0x0000000105278c74 _dispatch_client_callout + 16
7   libdispatch.dylib                   0x000000010527bad4 _dispatch_queue_override_invoke + 876
8   libdispatch.dylib                   0x0000000105289dc8 _dispatch_root_queue_drain + 372
9   libdispatch.dylib                   0x000000010528a7ac _dispatch_worker_thread2 + 156
10  libsystem_pthread.dylib             0x00000001ac1311b4 _pthread_wqthread + 464
11  libsystem_pthread.dylib             0x00000001ac133cd4 start_wqthread + 4
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIApplication applicationIconBadgeNumber]
PID: 2275, TID: 1008283, Thread name: (none), Queue name: com.apple.root.default-qos, QoS: 0
Backtrace:
4   Pimis                               0x00000001045fd774 __33-[FirebasePlugin getBadgeNumber:]_block_invoke + 96
5   libdispatch.dylib                   0x00000001052776f0 _dispatch_call_block_and_release + 24
6   libdispatch.dylib                   0x0000000105278c74 _dispatch_client_callout + 16
7   libdispatch.dylib                   0x000000010527bad4 _dispatch_queue_override_invoke + 876
8   libdispatch.dylib                   0x0000000105289dc8 _dispatch_root_queue_drain + 372
9   libdispatch.dylib                   0x000000010528a7ac _dispatch_worker_thread2 + 156
10  libsystem_pthread.dylib             0x00000001ac1311b4 _pthread_wqthread + 464
11  libsystem_pthread.dylib             0x00000001ac133cd4 start_wqthread + 4
2019-04-22 00:10:46.931177+0200 Pimis[2275:1008283] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication applicationIconBadgeNumber]
PID: 2275, TID: 1008283, Thread name: (none), Queue name: com.apple.root.default-qos, QoS: 0
Backtrace:
4   Pimis                               0x00000001045fd774 __33-[FirebasePlugin getBadgeNumber:]_block_invoke + 96
5   libdispatch.dylib                   0x00000001052776f0 _dispatch_call_block_and_release + 24
6   libdispatch.dylib                   0x0000000105278c74 _dispatch_client_callout + 16
7   libdispatch.dylib                   0x000000010527bad4 _dispatch_queue_override_invoke + 876
8   libdispatch.dylib                   0x0000000105289dc8 _dispatch_root_queue_drain + 372
9   libdispatch.dylib                   0x000000010528a7ac _dispatch_worker_thread2 + 156
10  libsystem_pthread.dylib             0x00000001ac1311b4 _pthread_wqthread + 464
11  libsystem_pthread.dylib             0x00000001ac133cd4 start_wqthread + 4
2019-04-22 00:10:47.006239+0200 Pimis[2275:1008161] [Cordova] receivedAction(userConnected)

Plugin Version
cordova-plugin-firebase 2.0.5 "Google Firebase Plugin"
Smartphone (please complete the following information):

Device: iPhone SE | iPhone6 | iPhone6+
OS: iOS 12 | iOS 12.2

Additional context
It's very important for my team, we need to lunch this app version quickly. please, help ^^

Facing the same issue. Almost 10 minutes have passed and still nothing.

Similar issue here. App freezes when setBadgeNumber() is called.
using latest version 2.0.5
Ionic:
ionic (Ionic CLI)  : 4.12.0 (/usr/local/lib/node_modules/ionic)
Ionic Framework    : ionic-angular 3.9.5
@ionic/app-scripts : 3.2.1
Cordova:
cordova (Cordova CLI) : 7.1.0
Cordova Platforms     : ios 4.5.5
Cordova Plugins       : cordova-plugin-ionic-keyboard 2.1.3, cordova-plugin-ionic-webview 1.2.1, (and 25 other plugins)
System:
ios-deploy : 1.9.2
ios-sim    : 5.0.10
NodeJS     : v8.9.4 (/usr/local/bin/node)
npm        : 6.3.0
OS         : macOS Mojave
Xcode      : Xcode 10.2.1 Build version 10E1001


Crashing Issue

there's a problem in the app , when i select gogo anime provider since it's one of the best english sub/dub providers , the list of animes shows up , but when i choose an anime , it crashs and the app get closed
and there's a problem with the UI , is when you maximize the app while watching an episode the upper bar (minimize , maximize , close) becomes smaller ( the icons are almost gone ) , and thanks for your time

there's a problem in the app , when i select gogo anime provider since it's one of the best english sub/dub providers , the list of animes shows up , but when i choose an anime , it crashs and the app get closed

this is fixed

there's a problem with the UI , is when you maximize the app while watching an episode the upper bar (minimize , maximize , close) becomes smaller ( the icons are almost gone ) , and thanks for your time

this i won't do anything right now, the media player in the UI framework doesn't allow fullscreen yet, i'm hacking it to go fullscreen. this should eventually get fixed when WinUI3 supports it properly.

okey , glad to hear that


Added search functionality

Changes Unknown when pulling 232ec978ce43f7303921d79c76bf7708c7acc12c on balepc:master into ** on chadrem:master**.

@balepc Thanks for building the search feature! Are you able to help maintain this feature in the future?

@balepc I tried out the code and it looks like it returns 20 apps max:
s = MarketBot::Play::Search.new('Facebook').update; puts s.result.length
I'd like to get this fixed before merging any search related pull requests. If you have time, please check out issue #38 (it has a link to a possible fix).

I’m closing this pull request due to inactivity.


[WIP] Add NewChain support

Description

Testing instructions

Types of changes

Checklist

[x] Prefix PR title with [WIP] if necessary.
[x] Add tests to cover changes as needed.
[x] Update documentation as needed.
[x] I have read the guidelines for adding a new blockchain
[x] If there is a related Issue, mention it in the description (e.g. Fixes #<issue_number> ).

Thanks for your interests, we will consider to add it later


upgrade from 0.14.0 to latest stable version.

Hello Team,
I am using UIB version 0.14.0 , it seems there are some huge number of changes in components based on issues.
I am also facing some issues , so would like to upgrdae uib 0.14.0 to latest stable.
Could you please suggest which version I should be using and what functionality might be breaking after this upgrade ?
Please inform me so that I can proceed ahead.
Thanks in advance

Check BREAKING CHANGES sections in https://github.com/angular-ui/bootstrap/blob/master/CHANGELOG.md

@pgangwani and be sure to read EVERY breaking changes section between your current version and the one to which you are upgrading.


Setup automated chip-build docker image builds

Problem
Currently we need to ask authorized maintainers personally to upload thechip-build-xxx docker images.
Proposed Solution
Refer to https://docs.docker.com/docker-hub/builds/ to setup automated builds and tag latest.

We're running the build & tests on GitHub actions, not docker cloud. So building the images there is what I was thinking as it seems like a more natural fit. Maybe we could use
https://github.com/marketplace/actions/build-and-push-docker-images
I haven't looked at it in depth but I agree improving this process would help PRs that change docker images move along much more quickly.
@rwalker-apple @woody-apple

Existing setup works for now - not ideal, however due to support of versions, we are likely to sabilize build images. Will not build this as a bugfix for v1.


SSR assets code removed after build

Reproduction
The reproduction requires a real-world like app, for example, a migrated indie/blues stack that uses sideEffect import or dynamic import.
Previously, running vite build -ssr would generate a build/index.js file, and the server code would be placed in build/assets folder. However, it appears that the build/assets folder is now removed immediately after the build process is completed.
I believe it is because of the newly added writeBundle code: https://github.com/remix-run/remix/commit/8cd31d6543ef4c765220fc64dca9bcc9c61ee9eb#diff-476a4eef80e39b35b744a556f1aec1762581b6864177c5f3a7ec9717ff415c28R750-R823

System Info
System:
    OS: macOS 14.2
    CPU: (8) arm64 Apple M1
    Memory: 88.95 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.9.0 - ~/.nvm/versions/node/v20.9.0/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 10.1.0 - ~/.nvm/versions/node/v20.9.0/bin/npm
    bun: 0.5.6 - ~/.bun/bin/bun
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 118.0.5993.117
    Safari: 17.2
  npmPackages:
    @remix-run/dev: 2.3.0 => 2.3.0
    @remix-run/eslint-config: 2.3.0 => 2.3.0
    @remix-run/express: 2.3.0 => 2.3.0
    @remix-run/node: 2.3.0 => 2.3.0
    @remix-run/react: 2.3.0 => 2.3.0
    @remix-run/serve: 2.3.0 => 2.3.0
    vite: 5.0.0 => 5.0.0

Used Package Manager
npm
Expected Behavior
SRR entry output should be build/index.js and build/assets folder.
Actual Behavior
build/assets folder is missing/removed.

Thanks for reporting the issue.
I made a simpler reproduction here https://github.com/hi-ogawa/remix-reproduction-8041
Indeed, this is a regression from https://github.com/remix-run/remix/issues/8041 as I wasn't aware of code-split js during ssr build.
I thought removing build/assets in writeBundle is harmless, but probably remix can just leave that directory as is.

@paul-phan I'm hoping this next PR would fix the issue https://github.com/remix-run/remix/pull/8042, but it would be still helpful if you could provide a little more details about your app to spot potential edge cases.
For example, can you provide "vite manifest" of ssr build like I wrote in my reproduction README.md?
There should be a file either build/manifest.json (if vite 4) or build/.vite/manifest.json (if vite 5). I think this one is still left there without being deleted.

@hi-ogawa Thanks for the quick update; here is my manifest.json file with Vite 5
manifest.json

This should be fixed by https://github.com/remix-run/remix/pull/8042. It will be available in the next nightly release if you want to try it out and report back.
@paul-phan Looking at your manifest (thanks for sharing it, by the way!), the only files that will be deleted with the fix linked above will be assets/playground-geHbun2U.css and assets/_virtual_server-entry-GEA9ZESU.css so I'm confident this will fix your issue.

I was just majorly blocked by this. The nightly works great! 🔥

I still facing this issue how can I resolve it?


QUIC and HTTP3 support

from:  https://hg.nginx.org/nginx-quic/rev/9076a74f1221

Hi, new quic branch has been created. Pls re-pull to that branch, ty


Add a way to emulate min-width instead of max-width alike media queries  for breakpoints checks

Currently, when passing an object for breakpoints , the check emulates the CSS @media (max-width: <BREAKPOINT>). Would be useful having a prop to invert the operator  from<= to >= to simulate @media (min-width: <BREAKPOINT>)

Hi @equinusocio, I'm curious to the reasoning behind this - is it because your project uses a "mobile first" breakpoint philosophy?
Also, how could you see this being implemented into Masonry (ie. what props / interface would this component have to support this)? Thanks!

Yes, I follow mobile-first approach with custom breakpoints. Right now I have to set the default columns to be the highest number of columns i need. Like this:
columns: {
    default: 6,
    980: 5,
    740: 4,
    480: 3,
    320: 1,
  }

Is a bit "controversial" when you work with mobile-first, where I would set the default number of columns to be the smallest one, on mobile:
columns: {
    1400: 6,
    980: 5,
    740: 4,
    480: 3,
    default: 1,
  }

Maybe a simple boolean prop like mobileFirst would be enought

"controversial"? Mobile-first has been recognized as the "right way" for like fifteen years.

"controversial"? Mobile-first has been recognized as the "right way" for like fifteen years.
The reasoning, incidentally, is that when you go desktop first, the browser has to summarize the styles from the default values first, then the next largest, then the next largest, down the line until you get to the "small" screen.
That's more computation than "start from the default values, then stop because every succeeding query is bigger than you." Given that phones are more power-constrained than larger ones, it's more power and CPU efficient.

That's why setting desktop first breakpoints on this lib is controversial. But it seems abandoned like many other libs.