Allow modules to validate transaction, second attempt

second attempt (first is #2428) to Fix #2391

change origin::Inherent to origin::None, and rename ensure_inherent to ensure_none
ValidateUnsigned trait is introduced.
modules can return a transaction validity of a call

still in thoughts:

maybe rename to unsigned or nobody instead of none origin.
make a real world test

@0x7CFE can you check this API to ensure that the UTXO module could use this accordingly?

hmm it doesn't work because of:
https://github.com/paritytech/substrate/blob/4a85ee9c09ebe2227bf8fcb2158db1e13bdd3564/srml/executive/src/lib.rs#L229-L231
when extrinsic is applyied it will fail to check it.

@0x7CFE can you check this API to ensure that the UTXO module could use this accordingly?

@gavofyork, I don't see any potential issues with UTXO compatibility, so it's probably OK.

oups forget to update labels

It returns None when the extrinsic don't know if it is signed. In the runtime it should never return None. (should also be documented in the trait)

Updated as described in https://github.com/paritytech/substrate/pull/2463#discussion_r281178708 but I have some kind of issue understanding the Extrinsic traits:
in what circumstances does is_signed returns None ?

Updated as described in https://github.com/paritytech/substrate/pull/2463#discussion_r281178708 but I have some kind of issue understanding the Extrinsic traits:
in what circumstances does is_signed returns None ?

I still want to make a real world test by hand but unit test is done and extraneous logic removed.

would be good if you could introduce this into the polkadot claims module so that claim extrinsics become unsigned transactions.


Unmark pieces' typings as abstract.

Describe the issue
Almost all of the pieces' typings mark certain methods as 'abstract'.
The methods are normally optional, but the 'abstract' marking forces you to implement them.
Code or steps to reproduce
import { Command } from 'klasa';
import { Client } from '../../structures/Client';

// [ts] Non-abstract class 'default' does not implement inherited abstract member 'disable' from class 'Command'.
export default class extends Command {

	constructor(client: Client, dir: string, file: string[]) {
		super(client, dir, file, {
			aliases: ['details', 'what'],
			description: 'Provides some information about this bot.'
		});
	}

	async run(msg) {
		return msg.sendMessage(msg.language.get('COMMAND_INFO'));
	}

};

Expected an actual behavior
No errors; typescripts allows the class.
Further details

discord.js version: 11.3.2
node.js version: 10.1.0
Klasa version: 0.4.0
[ ] I have modified core files.
[ ] I have tested the issue on latest master. Commit hash:

To start with, I will point out two things:

Klasa does not work with discord.js stable, you must install master. If anything, its support would be very wanky as Resolver#user (for example) fetches users, which is different in stable and master versions of discord.js. We use the latter.
Klasa 0.4.0 is very old, flawed, and its typings are very outdated. In Klasa 0.5.0, you should not have those issues anymore.

Feel free to install latest master (you will need to fix many, many, breaking changes, as it's almost a full rewrite of the framework) and tell us if it works correctly. 👍


TypeError: Profiler.resolveAllSources is not a function

Description
Sabre analysis exits with a typeError:
$ $SABRE analyze contracts/TokenSale.sol
✔ Downloaded solc v0.7.0 and saved to local cache
✖ Resolving imports
TypeError: Profiler.resolveAllSources is not a function

Expected behaviour
The analysis should complete successfully.

Can you provide more details on how to reproduce the error?

Hi @b-mueller, I sent this PR #107 with a solution to this.


pywinauto crashes with tkinter on Python 3.7 on exit

Simply importing pywinauto and tkinter together will crash Python 3.7 post execution
Expected Behavior
Not get any "Python has stopped working" crash message after Python script has executed.
Actual Behavior
After execution, Python should be able to exit gracefully without a crash message.
Steps to Reproduce the Problem

import tkinter
import pywinauto
create a Tk() instance
quit Tk instance
Python script will exit but a crash message will be shown

Short Example of Code to Demonstrate the Problem
import tkinter as tk
import pywinauto as pyw
root = tk.Tk()

Specifications

Pywinauto version: 0.6.7
Python version and bitness: 3.7-32
Platform and OS: Windows 10 64 bit

Can you please add the printer traceback? I remember we had a problem with TK and COM (see: #517) Can you try to play with sys.coinit_flags ?

@airelil when Python crashes, it's not possible to get traceback. Just attaching the debugger and looking into C call stack makes sense, but it might be non-trivial for a newcomer.
@idlehandle I've tried both 32-bit and 64-bit Python 3.7.4 and couldn't reproduce the issue with provided 3 lines of code. Maybe you have some previous Python 3.7.x which contains this bug?

Thank you both.  It is a new machine with a fresh Python install, so the suggestion was unlikely.  I forgot to mention however this is in a venv.
Maybe I'll try it on a fresh venv without other packages and see if either the installation went awry or some other packages are interfering it somehow?

Tried a fresh venv, still same issue.  It's worth noting that this issue doesn't seem to happen when you run it in an IDE like VS Code or Idle.  However when running the scripts from pythonw.exe or python.exe, or run it line by line in console, the error message occurs after exit().

I've tried it on my side in python.exe line by line, but without venv. Will try with venv later. Thanks for the details.

Hi,
I confirm the problem also with

Python 3.7.7 32-bit (with and without venv)
pywinauto 0.6.8
Windows 10 64-bit

To reproduce the error (Crash every time python script ends), you need to make tkinter to draw any window, so you would need to add root.mainloop() to the example code:
import tkinter as tk
import pywinauto as pyw
root = tk.Tk()
root.mainloop()

The code above does not cause python to crash if pywinauto import is commented out.

@np-8 thanks for the findings! It makes me thinking that it could be pywin32 issue. But Pythonwin/win32uimodule.cpp is pretty volume C++ code to me.
There are two ways:

Reduce dependency on win32ui as it is used only for taking screenshots (method capture_as_image) for multiple monitors case.
Debug CPython+pywin32 and find the root cause in C++ code.

The first way is easier for us. And in a long term we're thinking about eliminating pywin32 dependency at all (for example, to run in Jython and other Python interpreters). But the second way is a good opportunity to start with Python core development.
If someone will have time to workaround the problem first way (appreciate it), I'd prefer to keep the issue open till it's fixed in pywin32. Yes, it might be useful to file the issue in pywin32 repository after we have some proof. But it requires debug Python+pywin32 build with a call stack pointing to the problem.

I tried to reproduce the problem with the abovementioned
import win32ui
import tkinter as tk
root = tk.Tk()
root.mainloop()

but was unable to get any errors. I tested even with the same exact Python version, and tried multiple pywin32 versions. Tested versions, without any error:

Python 3.8.6 32-bit (venv), + pywin 300
Python 3.7.9 64-bit, + pywin 300
Python 3.7.7 32-bit, + pywin 300, 227, 226, 225, 224, 223 and 222

This is strange since before at least with Python 3.7.7 32-bit + pywin 222-227 (some of them) I last time could reproduce the error. Also this did not produce the error (Python 3.7.7 32-bit + pywin 227 + pywinauto 0.6.8):
import tkinter as tk
import pywinauto as pyw
root = tk.Tk()
root.mainloop()

Some hypothesis for the reason:
(1) The pywin pywin32_postinstall.py had one error on  -remove : (Failed to unregister Pythonwin: [WinError 5] Access is denied), even with admin rights, but the -install and dll copying was working without errors. This could in theory affect testing of multiple pywin32 versions, but I think that's very small change.
(2) I have now new laptop and probably also newer Windows 10 build. (1909, OS Build 18363.1139). Maybe that could affect?
Maybe there could be some other reasons, too, but seems that this will be difficult to hunt down. This as a note if anyone starts debugging the issue some day.

Just wanted to add some additional information. In my case, I have Python 3.7.6 on Windows 10 and I was experiencing the same issue. The workaround of launching the script with pythonw did not work. The only workaround I found was using a hard exit after mainloop:
import os
import tkinter as tk
import win32ui
root = tk.Tk()
root.mainloop()
os._exit(0)


Generate an HTML file that links to all the thumbnails

Problem
The thumbnails are created, but aren't easily findable / browseable without running ipfs object links or URL hacking your gateway path.
Impact
Requires users to do a lot of thinking and exploring to even see what this does.
Solution
After generating all the thumbnails and outputing the image hash with linked thumbnails, create a second file, thumbnails.html which shows the original file and links / previews of all of the sized thumbnails.
On running the command, something like:
"Generated XX thumbnails, original image hash is Qm..."
"Thumbnail generated locally as thumbnails.html, and added to IPFS as https://localhost:8080/ipfs/Qm..."

Commit 302945e9a3f44d6a04ef502c24e2ade19b7ac0bf closes this issue by offering a thumbnails.html directly accessible through <root_cid>/thumbnails.html.


[About commit]What branch should we choose ?

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description
What branch should be the base branch if we want to contribute the code. I set the master branch as the upstream and push commit. I find it have some problems. So should we set the develop branch as the upstream and fetch it ?
Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
Just paste your stack trace here!

Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

xxx
xxx
xxx

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

JDK version :
OS :
Others:

It seems ok now.
because of no update for a long time, I will close the issue, if you have other questions, please reopen it or create a new one


Expected behavior from failed transactions

This is less a bug than a request for what the expected behavior should be for a failed transaction. Background, I initiated a transaction from zap-desktop 0.7.2 beta on Windows (20H2) 1/9/21, I did so with a low fee using the predetermined rates in the client. The transaction went through at 1 sat per byte, and has been stuck since.
Transaction was sent from Zap-desktop to Coinbase wallet. I have connected to the LND instance created by the Zap install (which is no longer allowing me to connect over 11009, it uses dynamics), and tried using the "lncli wallet bumpfee" command, but the command will not go through successfully (index does not belong to wallet).
If/when the transaction fails, will my funds be returned to my wallet? Are there any steps I can take to get the transaction through successfully?

I believe the transaction will be dropped from the mempool eventually (if it hasn't been already). You won't lose access to the funds. In the meantime you could try compiling LND from source and recovering the funds that way but it does require some effort.

@bolatovumar Understood. The transaction details still pull on blockchair, though it doesn't show up on other explorers. Once it's not pulling from any explorers, the balance should come back to my wallet (currently balance isn't in my wallet and transaction just shows as pending)?

@bolatovumar Understood. The transaction details still pull on blockchair, though it doesn't show up on other explorers. Once it's not pulling from any explorers, the balance should come back to my wallet (currently balance isn't in my wallet and transaction just shows as pending)?

I'm not sure what the behavior would be in this case but you will definitely not lose funds.

So the transaction fell off mempool a few days ago, I waited a few extra days to be safe and verify it wouldn't pop back up. I opened Zap moments ago, and it just rebroadcast the transaction and its back in the mempool. How can I prevent it from doing this and retrieve my funds?

So the transaction fell off mempool a few days ago, I waited a few extra days to be safe and verify it wouldn't pop back up. I opened Zap moments ago, and it just rebroadcast the transaction and its back in the mempool. How can I prevent it from doing this and retrieve my funds?

You can wait for it for leave the mempool and using LND which you build from source code to rebroadcast the transaction.

DONE.
Okay. I found a way to return our funds.
if your funds are stuck like mine, I mean you send them from Zap (on-chain) wallet to Zap Lightening and is stuck on Pending.
What you need is to copy your recovery words, download new app on a different PC and recover (!) your wallet from the seed numbers you copied before. if you don't have a different PC you can use virtualization software like virtualbox (https://www.virtualbox.org) to create a virtual PC and install Zap on it.
After that, when you open your Zap on that new PC you will see all your coins on On-Chain, it means you can send it back to your original account/address or any other address

@grubeli Thank you, that was what I needed. TX had been stuck since 1/9, couldn't get that info out of anyone here/slack/reddit. Tried it last night despite the TX still showing up on the chain and the funds came back, immediately sent them to another wallet.


KnockToReact.swift not working

I don't know why it won't work. I copied line by line :cry:

hey @lfarah, I've made some changes on the original implementation in Swift, now it is working properly and in foreground. The class KnockToReact.swift is already using a customisable implementation, so we just need to make some adjusts and it will be good to go.
Also, I've thought about a general structure of the project:

Example App:

Only in Swift.
Uses the KnockToReact.swift in a background task (very similar to the original Obj-c example app, but with background tasks being handled in the example app and not in the main lib class).
Not use the class SingletonLocation anymore (trigger notification with message "knock performed").
Form fields to give to user the option to customize values.

Library:

Swift and Obj-c to drag and drop installation.
Delegate to knockOperationPerformed.
public properties for customization (do you think we should use data source instead?).

Do we have to request anything to to the background task, or the devs may have their apps rejected on App Store?

Datasource is too complicated. We could do something like:
knockManager.numberOfKnocks = 2
knockManager.limitDifference *= 2

What do you think?

BTW: can we implement the incrementLimitDifference again?

I created different issues for what you said in the project structure. We only need to finish discussing the background tasks before we can close this Bug issue

About the background task, as soon as we are going to implement just in the example app, we don't have to worry about App Store release (it will not be in the lib), right? We can say that the example app uses background tasks that is not guaranteed to be approved by App Store review teams.
So let's use public properties, did you see that I've changed some properties names? I believe that it is better now.
Sure, we can implement the increment/decrement LimitDifference again, but the property limitDifference is called ZVariationThreshold now.

The problem is that we're offering a feature that they'll never be able to use.
Also, I think that limitDifference is a simpler name to understand than ZVariationThreshold.
You definitely made a good job on rewriting the library and it's way cleaner now! :wink:

Hm, I understand, actually I believe that an app that just uses background task with accelerometer isn't rejected on App Store. The problem is when using other background modes (like location). If you prefer, we can remove the background feature on the example app (even not being used in the lib). What do you think?
And about the limitDifference, I am not sure if it the best name yet, but we can use it for now (instead of ZVariationThreshold)
Thank you! :)

Already changed ZVariationThreshold to limitDifference and included the incrementLimitDifference and decrementLimitDifference.

Take a look at Knock to Unlock. They are using the accelerometer in background and I think they are using that location in background to bypass something. I don't think that App Store people would approve this.
I'm talking about that because I once got rejected because of background location stuff and it sucks!

Yes, I see.  So, do you think that just using background tasks would result in a rejected app? And how do you think that KnockToUnlock wasn't rejected?
(Maybe KnockToUnlock was accepted before the iOS 8 launch, when Apple started to reject more apps because of location permissions?)


Application name should be inherited from folder name when dot is used

If I create a new project into existing folder:
$ mkdir jets-demo
$ cd jets-demo
$ jets new .

It works otherwise but the: config/application.rb ends up looking like this:
Jets.application.configure do
  config.project_name = "."
  ...
end

And the dot results in name error with AWS when I try to deploy it.

Ah, nice interface. Yes, this should be added. Tagging issue with help wanted

Addressed in #46 Will go out in the next release

Released in v0.10.1 CHANGELOG


[macOS export] Allow unpacked .app export in "Distribution" export mode.

Implements https://github.com/godotengine/godot-proposals/issues/8969

I don't know what makes a PR a better or worse candidate for the next minor version, but I'm hoping this will also be considered for 4.3 as opposed to a potentially future 4.x release! Together with https://github.com/godotengine/godot/pull/87908 it really enhances the experience of exporting to macOS apps.

Thanks!


[state store ttl] Add context to persisting state

Description
Add context provided by Bernd in Discord to the state store ttl 'persist state' section.
Issue reference
PR will close: #3415

@olitomlinson

@msfussell Thanks!
I'm not sure 'explicitly persist' is the right words to describe whats happening here.
Persisting of state is a given, right?
This is about hinting to the underlying component to not apply any global TTLs.
note : Also, if this -1 semantic is only applicable to CosmoDb, does it make sense that this is in the docs?
note : This probably isn't the time or place, but -1 isn't a great way of exposing this capability. It feels very arbitrary. I would prefer something more high level i.e. pass a string IGNORE_TTL or something like that at the Dapr API level, which is then translated into component specific instructions i.e. -1 for cosmosDb etc.

@olitomlinson  thanks for your review!

note : Also, if this -1 semantic is only applicable to CosmoDb, does it make sense that this is in the docs?

I can just move this to the CosmosDB component spec, if that works?

@olitomlinson - Is this really only for CosmosDB? The way @berndverst  wrote this I though he meant all. @berndverst ?

This applies to all state stores which either at the Dapr component level - or when creating the resource outside of Dapr - let you specify a default TTL that is used for all data.
In those cases when no TTL is specified the data would expire after that period of time - which is not facilitated by Dapr at all.
Now all of such state stores also support the option to explicitly persist data anyway, which means to ignore the default database policy (which may or may not have been set up using Dapr) to indefinitely retain a given database record. This is done by setting "ttlInSeconds" to the value "-1"
Hope this is clear.
"Explicit persistence bypassing globally defined TTL" or something along those lines is the way to describe this.


Update sentry-logback to 6.3.1

Updates io.sentry:sentry-logback from 5.7.4 to 6.3.1.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.sentry", artifactId = "sentry-logback" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "io.sentry", artifactId = "sentry-logback" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #22.


Default zoom controls don't scroll map in FF, Safari

Default zoom controls for scroll the map if the map's container is below the visible page. This is working as expected on Chrome and doesn't work on FF and Safari.
Example with default and custom zoom controls:
http://output.jsbin.com/vusobogoqi
I'm not clear if this is a bug or feature but for now, it has some browser inconsistencies.

I don't really understand the issue. Can you be more specific as to the exact steps required to reproduce the bug?
(Also, I used my mouse scrollwheel outside of the map area and got no strange behaviour)

No more information has been provided, and more than a few weeks have passed. We'll assume this issue is no longer relevant and/or there is no interest to make a better report.


Rebuild notifications

I am in the process of rebuilding the notifications system to take advantage of Laravel 5.3's built in notification system.
It will allow for different notifications rather than just slack, solving #159 and allow you to select which events trigger certain notifications, solving #158
New notification listing

Add notification - Step 1

Add notification - Step 2

Currently the following channels are planned

Slack
E-mail
Hipchat
SMS
Custom (i.e. a webhook)

and the following triggers

Deployment Succeeded
Deployment Failed
URL Failed
URL Recovered
Heartbeat Missing
Heartbeat Recovered

If you can think of any other triggers or channels I am open to suggestions
Todo

[x] Create a new "channels" table
[x] Migrating existing data from "notifications" and "notify_emails"
[ ] Build new UI
[ ] New repository, controller & model
[ ] Trigger notifications
[ ] Clean up deprecated code

Current coverage is 8.53% (diff: 0.00%)

Merging #297 into master will decrease coverage by 0.02%

@@            master      #297   diff @@
========================================
  Files          102       106     +4
  Lines         2010      2015     +5
  Methods        350       357     +7
  Messages         0         0
  Branches         0         0
========================================
  Hits           172       172
- Misses        1838      1843     +5
  Partials         0         0

Powered by Codecov. Last update d169d8c...4412d93

This is to support different notification channels (i.e. hipchat which people have asked for) and to make things consistent (i.e deployments currently let you select to only notify on failure, heartbeats notify on failure and recovery and links only notify on failure) plus to allow webhooks to be called on various actions (some people have asked to be able to call a webhook when deployment finishes so it makes sense to do all events). Admittedly no one has asked for SMS but Laravel's notification feature makes it trivial to add


Lists not rendered through data binding

Markwon version: 3.0.0

Expected behavior can be seen in Markwon own app that you build from this repo clone. You get lists well rendered:

Actual behavior is lists not rendered at all. This is what I get in my own app (truncated to first items).

I use data binding to populate my TextView with its content, but I'm not particularly sure it is what causes the problem. Here is my layout:

<?xml version="1.0" encoding="utf-8"?>
<layout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools">

    <data>

        <variable
                name="model"
                type="StaticTextFieldItem"/>
    </data>

    <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="@dimen/editor_field_separation"
            android:background="@android:color/transparent">

        <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintStart_toStartOf="parent" />

    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>

and the binding adapter where I hardcoded the list from the repo README.md:
@BindingAdapter("richText", "markdownProvider", "isRich")
fun setRichText(view: TextView, richText: String, markdownProvider: MarkdownProvider, isRich: Boolean) {

    val markdown = "## Supported markdown features:\n" +
            "* Emphasis (`*`, `_`)\n" +
            "* Strong emphasis (`**`, `__`)\n" +
            "* Strike-through (`~~`)\n" +
            "* Headers (`#{1,6}`)\n" +
            "* Links (`[]()` && `[][]`)\n" +
            "* Images\n" +
            "* Thematic break (`---`, `***`, `___`)\n"

    val mw: Markwon = Markwon.create(markdownProvider.getAndroidContext())
    mw.setMarkdown(view, markdown)
}

I tried to edit the theme (listItemColor, bulletListItemStrokeWidth and bulletWidth) through the theme plugin, but nothing changed.
What I found curious is that titles and style (bold and italic) are well rendered. It only lacks lists and numbered lists which are not demonstrated here.

Hello @stephanepechard !
Can you please try applying sample markdown to a TextView directly without databinding first? There are multiple possibilities:

databinding fault
layout fault
markwon fault
device fault

And we need to narrow them down

Hello @noties !
Thanks for your help. I've tried to narrow my bug down, without success for now. I've succeeded in creating a small app combining Marwon and databinding and it works as expected. My app is kinda complex and it is not easy to simplify the usage of Markwon to a simple case.
What puzzles me the most is that some parts are rendered (titles, text styling, links) and some are not,  list bullets here. Do you have any idea what may be the cause of such a behaviour? Or if there's a specific part I should into?
Thanks in advance!

Hello again,
I've found more valuable information. It seems that there's an incompatibility between Markwon and another dependency I use, Android-Iconics. More specifically, I an option that enable automatic XML icons detection (see here). Removing this line shows the list bullets back in Markwon-rendered TextView.
I'll therefore need to find a way to combine both libraries into my project. If you have any idea, I'll be glad to hear it :-)
Thanks!

Hey @stephanepechard !
After a quick glance at iconics, I think I know there the problem is: Iconics only copies ParcelableSpan and CharacterStyle spans and ignores all the rest. The obvious workaround would be to copy all the spans, for example like this:
for (Object span : spannable.getSpans(0, spannable.length(), Object.class)) {
    existingSpans.add(new StyleContainer(spannable.getSpanStart(span), spannable.getSpanEnd(span), span, spannable.getSpanFlags(span)));
}

But I haven't invested much time in this solution. For starters it's not clear why copying is required in the first place... so, take this solution with a grain of salt.
But in general solution for this problem can actually be good for Iconics library also, because current implementation breaks some things that rely of spans (Markwon for example 😄 ).


Update presence more frequently, so it is more obvious if bots have stopped updating

This will also hopefully be more fun to look at :)

Bummer, discord rate limit is probably too low to do this effectively (5 updates per 20 seconds, or one update every 4 seconds): https://discord.com/developers/docs/game-sdk/activities#:~:text=Sets a user's presence in,Settings -> Game Activity).


#50: Gyp refactor

LGTM!

@brett19 We should document --compile=false as well in the README and explain that the use case is for modules having .js fallbacks

P.S. Using -no-compile looks nicer :)

P.S. Using -no-compile looks nicer :)

Agree!

@ralphtheninja Thanks for merging everything at once, I can stop the rebase/branch-management dance! :)

And I can prune your remote :D

2.6.0
Documented --no-compile flag here


error[E0277]: the trait bound u8: Buf is not satisfied

I get this error trying on compile that tool:
error[E0277]: the trait bound `u8: Buf` is not satisfied
   --> src/scanner.rs:257:25
    |
257 |         self.buffer.put(c as u8)
    |                         ^^^^^^^ the trait `Buf` is not implemented for `u8`

warning: unreachable expression
   --> src/scanner.rs:352:9
    |
314 | /         loop {
315 | |             match self.current {
316 | |                 EOF => {
317 | |                     if is_comment {
...   |
350 | |             }
351 | |         }
    | |_________- any code following this expression is unreachable
352 |           unreachable!()
    |           ^^^^^^^^^^^^^^ unreachable expression
    |
    = note: `#[warn(unreachable_code)]` on by default
    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to previous error; 1 warning emitted

I encountered the same problem.


[accountManagePage] getBalances always loads Icon from chosen cid and with wrong key

https://github.com/encointer/encointer-wallet-flutter/blob/5ef09d3c8e5fa915795279d315700622a6adf1f7/lib/page/profile/account/accountManagePage.dart#L87
This should probably use the cache keys of the IPFS, that is going to be implemented: #349

As a hotfix I defaulted to ERT icon now.

#324 has indeed resolved this.


dfp: adding an experimental option for E-M

This adds an off-by-default flag that allows the DFP filter to force resolution if there are no upstream connections. This doesn't work for strict DNS, and is largely intended for use for Envoy mobile.  As the TODO states, if the performance is net positive we'll add configuration knobs, otherwise it'll be torn out.
Risk Level: low (off by default)
Testing: new e2e tests
Docs Changes: n/a
Release Notes: n/a
[Optional Runtime guard:] yes

/wait on CI

/retest

/retest

OK ci sorted, PTAL


Logger provided in opts is not used.

The docs give the impression that something like this is possible:
var my_log = bunyan.createLogger({
  name: 'ActiveDirectory',
  streams: [
    { level: 'info',
      stream: process.stdout }
  ]
});

var config = {
  url: [...]
  log: my_log,
};

However, this is ignored.

+1

This is how I used it:
logging: {
        name: 'ActiveDirectory',
        streams: [{
            level: 'debug',
            stream: process.stdout
        }]
 }


sim: fix asan address space conflict

Summary
sim: fix asan address space conflict
Modify the starting position of the elf segment to 0x5000000
==2561587==Shadow memory range interleaves with an existing memory mapping. ASan cannot proceed correctly. ABORTING. ==2561587==ASan shadow was supposed to be located in the [0x1ffff000-0x3fffffff] range. ==2561587==Process memory map follows:
Impact
Testing
sim

let's ignore the ci error:
https://github.com/apache/nuttx/actions/runs/11462831417/job/31895285848?pr=14462
which is already fixed by https://github.com/apache/nuttx/pull/14463


sass compile time error

"status": 1,
"file": "D:/CSS/natours/sass/base/_animations.scss",
"line": 1,
"column": 1,
"message": "only UTF-8 documents are currently supported; your document appears to be UTF-16 (little endian)",
"formatted": "Error: only UTF-8 documents are currently supported; your document appears to be UTF-16 (little endian)\n        on line 1 of sass/base/_animations.scss\n        from line 7 of sass/main.scss\n>> ��@\n   ^\n"
}

I think it's proper compilers behavior. Try to change encoding for whole _animations.scss file.
Short "how to" if you are using sublime3:
https://stackoverflow.com/questions/21289157/set-encoding-of-file-to-utf8-with-bom-in-sublime-text-3


Prevent inflight's correlation id collisions

Resolves #793
This is my first PR here, please let me know if there is anything that does not fit with the project standards :)

Thanks for the contribution!


pull request for e2e test at 11/19/2016 15:26:06

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Creating a new Xbox Live Account to use with Xemu

Hey, im hoping someone can help me, I would like to create an xbox live account to use with xemu, but im not sure how to link the file with the xemu, any help would be greatly appreciated, thank you!!!

There are a few ways, some of them are easier, some of them require some more research by either you or others.
The live accounts are not files, they are stored within hidden portions of the harddisk or memory cards/units.. we have chosen a file extension, but microsoft nor xemu the emulator know what to do with those. We need to transfer them onto these secret hidden locations (and in the case on the harddisk location, also do some magic calculation with the matching eeprom).
Your dashboard/running version of the xbox dash should also be supporting xbox live, else it wont see the live account at all. run a dashupdate if they dont show up and try again.
Id pick option 1.

I guess for most people, https://insignia.live/ might be a easy solution, get some relatively unique eeprom (serial) I think from a original xbox or, if i understand https://xemu.app/docs/eeprom/ correctly, one will be generated for you. When you signup for insignia (and have a live enabled dashboard), they will make the xbox  a live account on your virtual xemu. besides maybe findleing with DNS settings for xemu, youll end up with a live account. looks to be the easiest for Phantasy Star online and maybe online multiplayer if you want.
Someone made what appears a tutorial: https://inputselect.net/xemu-setup-xbox-live-insignia/
and ive spotted some network settings in this video: https://www.youtube.com/watch?v=dKlKEZ8Jf0k
I havent tried these at all yet. but seem doable.

use a raw(not cqow2) xbox harddisk image for xemu and use this repo's tool to read/write a new live account to the emulated harddisk. I dont know if writing to the harddisk is supported, if not, try a virtual memory unit. It should be able to write whatever you want Nickname to the memoryunit/harddisk if this tool does not support writing to harddisk, qcow2 is fine

get xemu working. including a original xbox dashboard that supports xbox live (you may run a older dash and get a dash live updater from a live enabled game to get the live enabled dashboard
https://xemu.app/docs/xmus/ follow this.
xemu will boot your dashboard and formats the memory unit if you go into the xbox storage menu, it will prompt you and format the XMU (as xemu calls them)
when xemu is off, use the repo tool to write any live account to the XMU
transfer Live account form XMU onto the harddisk using the storage menu in the dashboard.
profit, fun, awesome. sadly you cannot go online with this anymore, unless its a insignia created account.

use a real xbox memory unit or usb storage stick formatted/prepared (or PSP in storage mode was rumoured to work? some smartphones too? rooted im afraid) to use with the OG xbox and connect it to the xemu, how to get a live account onto the memory unit? Either generate one with the tool on this repo, or find an original one and load it in with said program and write to memoryunit/usb stick. (to make a normal usb stick work, insert in a real xbox or connect to xemu and try browse with the dash to the storage menu. it will wipe ALL DATA, and tell you if succeeded.
Options to get a memorycard in xemu:

Real memorycard using a original controller as usb hub+ connector
a usb stick with not too much space (4gb or less?) a 512mb one worked for me. USB1.1 should be supported.
a raw file acting as a usb memory stick.
I have mounted read memoryunits onto xemu (and especial back when xqemu still was new) succesfully. something like https://superuser.com/questions/566536/boot-an-existing-gnu-linux-installation-from-a-real-hdd-in-qemu-windows hints how to maybe mount a real harddisk or memory unit to xemu. if you somewhat familiar with qemu, xemu is based on qemu and takes similiar commands, including inside the monitor. Id pick and try memorycards maybe, because if you go harddisk, you may break a real harddisk if doing something wrong or if xemu crashes somehow maybe

use a eeprom and harddisk image that contain a live account. the eeprom should match the harddisk image. this way, the software in the xbox will use the right keys to load the live account from the harddisk and they may work. if you dont have the matching eeprom, i hope you do have the serial numbers and such to rebuild a seemingly correct eeprom. Someone might be sharing a harddisk image and eeprom with a used to work live account. Dont share insignia accounts this way, it will break eventually in many ways if yall connect at the same time. many cry.

manually copy a live account from one memory card to another. this might be "easy" if your familiar with the tools, can be confusing and troublesome if this is all too new for you.

go https://web.archive.org/web/20170627145213/http://assemblergames.com/threads/xbox-live-accounts-xqemu-and-mu.60352/ and read, follow somewhat what i wrote. (sorry if confused)
grab one of my (original) live accounts: https://codeasm.com/xbox/live/accounts/ (same as old forum post)
use whatever hexeditor or raw byte writing tool you have to get them on your memory card
transfer to xemu emulated xbox harddisk (basicly parts of my point 2)

TLDR: Go for option 1, its the easiest way to get a live account that even works today. many games that require or like a live account will work fine with this option. and you dont really need to do magic commands or trickery with editors. https://inputselect.net/xemu-setup-xbox-live-insignia/ looks easy enough.


Missing Google Maps UI in emulator extended controls

There should be a Google Maps UI in "Location" part of an emulator extended controls, but instead, there is an old "pre google maps" ui with gpx support.
Are there any plans to introduce that feature to M1 android emulators?
I'm using the latest stable android emulator with android studio arctic fox.

I also have the same issue. I'm also using the latest emulator with android studio arctic fox. aarm64 should be able to handle the maps UI. Can we get a comment on this?

I have the same issue

Same issue on Ubuntu 22.04, latest build of android studio

I have the same problem, has anyone found a solution?

Same here on ubuntu 22.04, latest build as well. Used to work on 21.10.

I have the same problem, DISTRIB_ID=ManjaroLinux DISTRIB_RELEASE=21.2.6, Any solution?

I have the same issue on ubuntu 22.04

I also face this issue in ubuntu 22.04

Same issue Ubuntu 22.04


CI: add a Github workflow CI for builder service

Problem Context
We have a GitHub workflow for both the client and dashboard right now. However, there's no CI for builder service (since it was recently introduced into the project).
Solution

So we basically want a new GitHub workflow (very similar to the existing one for the dashboard) that should run on updating builder service code to verify if the code and docker image can be built successfully.
Note: Check out this file for reference.

I can add this workflow.


spdm_secured_message_lib unit tests

The Secured Message Library is complex and well-defined enough that it should have its own unit tests. This will help prevent bugs like #1259.

This was fixed by #2383.


Fuse staking Dapp Submission

App Logo (Required)
(Attach image here)

App Details (Required)
Type: Dapp
Name: Fuse staking Dapp
Homepage Url: https://fuse.io/
Chains supported: Fuse Network
App Url (Required - at least one)
Browser Url: https://staking.fuse.io/
Mobile Linking (Optional)
Deep Link:
Universal Link:
Desktop Linking (Optional)
Deep Link:
Universal Link:
Metadata (Optional)
Short Name:
Primary Color: #031928
Secondary Color: #f8ff00

Added on commit 3c74f704a38e2fcb4a0e96193e15639702ca8015


1.19.3 Update

Fixes creative inventory for 1.19.3 and newer versions. This fix brokes creative inventory for all versions before 1.19.3 so maybe create a new branch for 1.19.3+ versions? I'd suggest keeping this separate from the 1.13 version if anyone wants to commit/update anything to the older version.

Lgtm.
Tested it fine in game myself.


Use without tag?

Thanks for developing this plugin, it is very useful!
The one thing I'm struggling with though is that I always have to add the #-tag. Would it be possible to make it work without the #-tag? For me, this just adds double work.
Usually my notes will look something like this:

Mike mentioned need to clean up
[ ] Clean up room
Discussion if we should paint the wall green or blue
Decided on blue paint
[ ] Buy blue paint

This would require me to either add the #-tag add the top of the list or for every item, instead of just adding the [ ].
So, would a setting to have it scan for all checkboxes, no matter what tag, be possible?

Yeah, that's a reasonable request. I personally use checkboxes all over for temporary things that I don't want to show up, so that's why I required the tag. I will make it so that you can leave it blank to scan all lines in a future update.

Great stuff, thank you!

Just wanted to +1 the feature request. I don't think I'll be able to use the plug-in with the tag requirement; perhaps the value could be inferred from the Page title, or the Header title, or similar? Just an idea. Thanks!

maybe it could be generalized to match prefix of hash specified by user.
if none prefix is specified, then all checkboxes are matched.
I just thought about similar idea this morning and found that you already did it. 👏

+1 for this feature. My system is as follows: I have todos without any hashtag which I would like to show up. Then when I plan my day I turn those todos as #today #upcoming #later #waiting

i would also like to have it without tags, but then for some use tags and show those as well.

Great ideas. In my opinion it would be great, if could just add the todo tag to the yaml front matter and all todos from that page are added to the checklist.
Thank you very much. I love this plugin 👍

I just released 1.1.0 which adds two features. You can now leave the Todo tag setting empty, which will parse every file. You can also add the todo tag to the front matter YAML which will parse all checklists in that file regardless of if they're tagged or not.


Retrofit periodically error No address associated with hostname

Hello,
I come to you to find out the progress of this problem which is really causing us a lot of problems currently with our application.
https://github.com/square/retrofit/issues/3915
https://github.com/square/okhttp/issues/7677
These topics have been closed and I have not found any other Thread on this discussion.
We would like to know if you were able to find a solution to this connection problem, our ratings on the play stores are taking a hit.
Thanks for your feedback

We need a reproduction, or at least more details, such as which devices/os versions it is happening on.
A similar error at https://github.com/TeamNewPipe/NewPipe/issues/8030 related to Samsung restrictions.
Are you using OkHttp 5.0.0-alpha.12, it's probably best if we agree on this for any further testing.

Thanks for your feedback.
You will look to update the library so that you can have additional logs
Here is a list of all users reporting the issue to us:

Android 14.0, Galaxy s22 (r0s)
Android 12.0, Galaxy a12 (a12)
Android 13.0, Xiaomi 11t (amber)
Android 14.0, Pixel 7 (panther)
Android 14.0, Galaxy s21+ 5g (t2s)
Android 13.0, Galaxy z flip4 (b4q)
Android 13.0, Galaxy jump (a32x)
Android 11.0, Redmi 9 (galahad)
Android 13.0, Honor x8 (hntfy-q)
Android 14.0, Galaxy s23 ultra (dm3q)
Android 9.0, Galaxy j4+ (j4primelte)
Android 13.0, Galaxy a14 (a14)
Android 11.0, Redmi k20 pro (raphael)
Android 13.0, Xiaomi 13t (aristotle)

I was hoping to get some clear signal out of it, like Samsung only, or Android 13.
Regarding the switch to Ktor with Android client working, it's quite possible that the platform HTTP stack is handling things in a different way.
But I believe the default implementation is a very early alternative fork version of OkHttp.
https://cs.android.com/android/platform/superproject/main/+/main:external/okhttp/repackaged/okhttp-urlconnection/src/main/java/com/android/okhttp/internal/huc/HttpURLConnectionImpl.java
calling
https://cs.android.com/android/platform/superproject/main/+/main:external/okhttp/repackaged/okhttp/src/main/java/com/android/okhttp/OkHttpClient.java
So it should be doing basically the same thing. I doubt they are installing Cronet for example.
But without some additional signal, it's hard to understand why InetAddress.getAllByName(hostname) fails for OkHttp but not for Android. It's the same platform operation.
So we still need some way to reproduce.

I might write a logging event listener outputting all relevant info when it happens. Too late I guess if you are switching to URLConnection

A stack trace would help too, if possible.  I'm not very familiar with okhttp internals - but the exception is being thrown from Inet6AddressImpl.lookupHostByName() but there are multiple public APIs that reach that and I'm also unfamiliar with okhttp internals to figure out where name resolution is happening and/or retried... Looks like mostly in Route.
The retry logic (if any) is of interest because it looks like negative results are unconditionally cached at the Java level, but with a TTL of only two seconds.
Anyway, I don't think there's any material difference between ye olde Android platform okhttp implementation and okhttp3 as used by retrofit, and if there were, we'd be seeing this from other, non-Retrofit okhttp users.
However, it's also very weird that Retrofit should be influencing DNS resolution in any way!
@WilliamBankin is it possible there was something in your app's setup code for Retrofit which may have affected this but isn't in your setup code for Ktor?

https://github.com/square/okhttp/issues/7677#issue-1565399720
Caused by java.net.UnknownHostException: Unable to resolve host <HOST_NAME>: No address associated with hostname
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:124)
at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
at java.net.InetAddress.getAllByName(InetAddress.java:1152)
at okhttp3.Dns$Companion$DnsSystem.lookup(Dns.kt:49)
at okhttp3.internal.connection.RouteSelector.resetNextInetSocketAddress(RouteSelector.kt:164)
at okhttp3.internal.connection.RouteSelector.nextProxy(RouteSelector.kt:129)
at okhttp3.internal.connection.RouteSelector.next(RouteSelector.kt:71)
at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:205)
at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)

@prbprbprb would an app making an attempt in background, affected by doze restrictions get this error. Which gets cached and then also fail if immediately brought to foreground and retried?

Retrofit is not doing anything here. It only interacts with OkHttp through the Call.Factory API which does not offer the ability to configure behavior. It quite simply issues requests and parses responses as if OkHttp is a black box. And you can actually replace OkHttp with any other HTTP client for use with Retrofit as a result.

Retrofit is not doing anything here. It only interacts with OkHttp through the Call.Factory API which does not offer the ability to configure behavior. It quite simply issues requests and parses responses as if OkHttp is a black box. And you can actually replace OkHttp with any other HTTP client for use with Retrofit as a result.

Appreciate what you're saying but iff retrofit is the only trigger (still awaiting a reply above, e.g. about other things like app setup code) then something is going on, even if it's as esoteric as it's the trigger for an obscure platform caching bug.

I think the difference is.
InetAddress.getAllByName via a) OkHttp and b) Android URLConnection.

Thanks for the
https://stackoverflow.com/questions/73774716/android-unknownhostexception-even-there-is-an-active-and-working-internet-connec link.
Very interesting.

OK, this gives me something to repro with a strict device. And a possible workaround, unfortunately with non-public APIs.

I don't have a real repro with doze mode or background restrictions.  But It's pretty easy to simulate something similar with airplane mode.
https://github.com/square/okhttp/pull/8217
Basically any app recently experiencing a failed network request, responding to a change that would now allow it to succeed, will likely immediately fail.
a) App listening to airplane mode being disabled and making network requests.
b) An app under normal doze (https://developer.android.com/training/monitoring-device-state/doze-standby) or OEM restrictions (https://dontkillmyapp.com/) being removed, such as moving to foreground.
23:20:25.352  I  looping(isFlightModeOn = true) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:25.608  I  looping(isFlightModeOn = true) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:25.866  I  looping(isFlightModeOn = true) android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
23:20:26.120  I  looping(isFlightModeOn = true) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:26.376  I  looping(isFlightModeOn = false) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:26.632  I  looping(isFlightModeOn = false) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:26.885  I  looping(isFlightModeOn = false) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:27.140  I  looping(isFlightModeOn = false) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:27.392  I  looping(isFlightModeOn = false) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:27.644  I  looping(isFlightModeOn = false) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:27.911  I  looping(isFlightModeOn = false) android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
23:20:28.164  I  looping(isFlightModeOn = false) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:28.418  I  looping(isFlightModeOn = false) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:28.673  I  looping(isFlightModeOn = false) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:28.929  I  looping(isFlightModeOn = false) java.net.UnknownHostException: Unable to resolve host "www.google.com": No address associated with hostname
23:20:29.201  I  looping(isFlightModeOn = false) [www.google.com/<IP_ADDRESS>]
23:20:29.457  I  looping(isFlightModeOn = false) [www.google.com/<IP_ADDRESS>]
23:20:29.737  I  looping(isFlightModeOn = false) [www.google.com/<IP_ADDRESS>]
23:20:29.992  I  looping(isFlightModeOn = false) [www.google.com/<IP_ADDRESS>]
23:20:30.249  I  looping(isFlightModeOn = false) [www.google.com/<IP_ADDRESS>]
23:20:30.505  I  looping(isFlightModeOn = false) [www.google.com/<IP_ADDRESS>]
23:20:30.759  I  looping(isFlightModeOn = false) [www.google.com/<IP_ADDRESS>]
23:20:31.069  I  looping(isFlightModeOn = false) [www.google.com/<IP_ADDRESS>]
23:20:31.325  I  looping(isFlightModeOn = false) [www.google.com/<IP_ADDRESS>]
23:20:31.707  I  looping(isFlightModeOn = false) [www.google.com/<IP_ADDRESS>]
23:20:32.079  I  looping(isFlightModeOn = false) [www.google.com/<IP_ADDRESS>, www.google.com/2a00:1450:4009:820::2004]

This doesn't prove the problem, it probably takes some time when coming out of airplane mode.  But proves I can detect the real problem or cached repeat.
At the moment, I'm inclined to set a bar for any real repros of this bug, that they must last for 2 seconds past when network connectivity is regained. Network calls can always fail.  But it also leaves more room for OkHttp to be doing something observably different than URLConnection.

I'm going to close this, it's an Android bug, probably exacerbated by different OEM restrictions? Or app behaviour, such as network traffic in the background or when restricted.
Simplest fix, is retry after 2 seconds when you know you now have network connectivity, and the exception doesn't have a cause. The non cached failures have a root cause of android.system.GaiException.
Caused by: java.net.UnknownHostException: Unable to resolve host "google.invalid": No address associated with hostname
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156)
at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
at java.net.InetAddress.getAllByName(InetAddress.java:1152)
at okhttp3.Dns$Companion$DnsSystem.lookup(Dns.kt:50)
...
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
at libcore.io.Linux.android_getaddrinfo(Native Method)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:133)
at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:222)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:133)
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)

If you want to move this forward, you could try running this workaround Dns implementation and seeing if it helps.
https://github.com/square/okhttp/pull/8226/files

Similar issue in Firebase
https://github.com/firebase/firebase-android-sdk/issues/2637
With fixes to avoid traffic while backgrounded, and then retry after foregrounding.
https://github.com/firebase/firebase-android-sdk/pull/2693
https://github.com/firebase/firebase-android-sdk/pull/2763
The use com.google.android.gms.common.api.internal.BackgroundDetector and ConnectivityManager


Infura queried on window claim page where it's not needed

When on token claim window presented with static results, frontends queries Infura like crazy. Feel free to close it if not relevant.
URL: https://app.pooltogether.com/account?address=0x......&claim=1
Video:
https://user-images.githubusercontent.com/3277207/108784042-537df180-7523-11eb-9a6d-859c4942b3ad.mov

Thanks @kolya182 ! Yeah there's a plethora of optimization improvements we could make to the apps. Less calls to Infura is definitely up there! Cheers


h2 2.x convertDate to support dates with time part as old h2 1.4 did

What type of PR is this?

What does this PR do / why is it needed ?

Which issue(s) this PR fixes:

Fixes #
Other notes for reviewers:
Does this PR introduce a user-facing change?

This PR is stale because it has been open for 30 days with no activity. Please remove stale label or add any comment to keep this open. Otherwise this will be closed in 5 days.

This PR was closed because it has been inactive for 35 days. Please re-open if this PR is still relevant.


Design Proposal: Change pagination_items in returns from lists

All of the model.get() calls return PaginationItem, List[<model>] which means there's a lot of
_, all_workbooks  = server.workbooks.get()

I propose that we either:

Don't return the PaginationItem because you, the caller, already know your pagination parameters, since you applied them when you issued the 'get' AND you can't do anything interesting with them after the fact (the most interesting item, the total number, is available idiomatically as len(all_workbooks)
Switch the order of the items in the return to that it's (List[], PaginationItem)

You can't remove them. By default, you get 100 items per page and without this return value you won't know if you got all of the items / how many items there are. The only way to "get rid of it" would be if we didn't return a list but instead some more complicated object which, as you called get-next eventually asked for the next page as needed. This, however, is something I would build on top of this low level api.

to clarify, total is total_available, not how many were returned so it does not necessarily match len(all_workbooks)

Thanks for your reply.
I didn't realize that .get doesn't get all resources in the collection by default!
I still think it's very weird to expose this implementation detail do the high-level get call.
When 99% of the time folks are ignoring a return value maybe we don't need to return it.
But your comments make me wonder if there's a different route for me to propose -- should .get by default get all resources. That's a different issue that I can file.
For now, what about just reversing the return order?
all_workbooks, _  = server.workbooks.get()

I had an idea for a decorator @paginated that we wrap the get calls with, it'll check for get_all=True and just loop through collecting all results and returning them.
It would leverage the pagination_item that's currently being returned.

And I've got a working decorator.
It obeys the request options if you specify them, else it just loops at the default size.
I can figure out how to pass in a flag to do this by default but disabled if you'd like in another revision. I'll get some working code up for a PR with a test but I need to learn how to use the test framework first.
Here's a preview
def paginate(get_call):
    from math import ceil
    from ..request_options import RequestOptions

    def wrapper(self, opts):

        all_things = []

        # First call
        print("FIRST CALL")
        res, PI = get_call(self, opts)
        all_things.extend(res)
        print("ALL THINGS HAS: " + str(len(all_things)))

        # Build loop Conditions
        number_of_workbooks = PI.total_available
        pageSize = PI.page_size
        print("TOTAL AVAILABLE: " + str(number_of_workbooks))
        print("PAGESIZE: " + str(pageSize))

        # Do it
        if number_of_workbooks > pageSize:  # Need to page through responses
            print("NEED TO LOOP")
            number_of_pages = ceil(number_of_workbooks / pageSize)
            print("THERE ARE THIS MANY PAGES: " + str(number_of_pages))
            for pageNum in range(2, number_of_pages + 1):
                opts = RequestOptions(pageNum, pageSize)
                res, _ = get_call(self, opts)
                all_things.extend(res)

        return all_things

    return wrapper

/cc @RussTheAerialist @shinchris @LGraber

Couple of comments:

I was thinking that I wanted a class which could be used to "stream" the list back and hide the pagination, but not necessarily get them all at once. This is a layer on top of what we have and similar to yours above, is only really one class, but this one exposes the list and as you iterate, if it runs out but knows that there are more on the server, it will go and get them. It is useful for building "infinite" scroll experiences. This class could be used to preload everything if we wanted, also. I am not saying we have to do one or the other and not both but we should consider all of the use cases.
Your decorator always pulls all items which is not something our library should do by default. If we want to key this off of them setting the page_size to "ALL" or something like that, okay, but we should not enforce a behavior that is not always desirable
There are actually better ways to do "ALL". Specifically, I think a larger page size (perhaps the max of 1000) would be advisable. if they indicate "ALL" we should probably be increasing the page size to try and optimize the interaction with the server. Network latency is not an issue since they will block until we get all of them anyways.

Definitely a valid approach, and we could do one or both.
But I really don't see the use case for not wanting them all by default, or with lazy loading them, as far as the complexity it could introduce into the code.
When getting a list of all workbooks you're likely going to do something to that list shortly after, either a bulk update or a bulk filter/map/read type operation. I don't think we save much time by calling them lazily if most code will be:
wbs = server.workbooks.get()
for w in wbs:
    do_stuff(w)

We have other methods to get a specific workbook (get_workbook_by_id). I think this endpoint really implies 'all'. Maybe that's the philosophical question to resolve.
Consider the case where I build a RequestOptions with a filter and a sort and forget to change the default page size, I don't realize my 100 results aren't all of them, without all my calling code checking total_available. But why would I ever not want all my search results?
It's possible I just can't think of the use cases around this -- anyone have any that I'm missing?

Building a UI for one example.


ItsVIchy depot Off

Hello, the depo
https://github.com/Its-Vichy/PyTerm.git
is down, have u a solution ? Thank's a lot

i will fix it

fixed

Yes thank u


⚠ GLDDNS Server (ns2.glddns.com) has degraded performance

In e1ecd32, GLDDNS Server (ns2.glddns.com) (ns2.glddns.com) experienced degraded performance:

HTTP code: 200
Response time: 902 ms

Resolved: GLDDNS Server (ns2.glddns.com) performance has improved in d8a9b6c after 14 minutes.


SGB-68| Stable extract dir

@eren-wix and myself solved this ticket.
Now the mysql is extracted to a stable(consistent) directory each run. (deleted between running)

Thanks, looks nice - I will take a better look @ it tomorrow.
I see AppVeyor build is failing: https://ci.appveyor.com/project/viliusl/wix-embedded-mysql-ppwc6/build/124, but this windows thing is constant headache, so not sure if it's flaking again or smth is wrong. Will check it out.

@maximn is the data dir random ?
@viliusl we can have a stable dir on target, but I still want to have a random data dir on each run, I don't want to deal with cases of dirty data bases.

@noam-almog The entire directory is deleted at the end (as it originally was) and before each run (in case something broke in the middle of a previous run). Shouldn't it solve such cases? (If the directory cannot be deleted the extractor itself will throws an exception)

Ok, by a short glance it is now stable and there is no option to change
behavior, but delete is strict, so if it cannot delete, startup will fail.
My idea was to make it configurable, but then again I have to think about
config extension point - MysqldConfig is not the right place, SchemaConfig
is not the right place, etc.
So me being lazy would pass this change without configurable option until
we face issues with dirty data. Otherwise it fixes that annoying firewall
problem.
On Thu, Oct 22, 2015 at 5:51 PM, Noam Almog<EMAIL_ADDRESS>wrote:

@maximn https://github.com/maximn is the data dir random ?
@viliusl https://github.com/viliusl we can have a stable dir on target,
but I still want to have a random data dir on each run, I don't want to
deal with cases of dirty data bases.
—
Reply to this email directly or view it on GitHub
https://github.com/wix/wix-embedded-mysql/pull/35#issuecomment-150250844
.

--
Vilius Lukošius
Software Engineer
Cell: +37061111226
33 Didžioji St./ 2 Rudininku St. Vilnius Lithuania

@viliusl regarding AppVeyor build. Maybe because now we've added the version to the name of the dir so the . in the name might cause problems on windows.

@maximn, @eren-wix - thanks:)


mask segmentation

Hi, thanks for sharing your code!
How do you mask the refractive object from the background (real dataset)? I have tried mask rcnn, but apparently its pretrianed model  is not working on such datasets.

Hi,
Thank you for your question.
Unfortunately, the object silhouettes are annotated manually.
Thanks!

Thanks for sharing your code!
How did you extract the mesh.obj from the real dataset? If the object silhouettes are annotated manually, what application did you use?

Hi,
The preprocessing workflow is shown below, and the corresponding instructions can be found here.

Thanks!


Fix NPE if an embeddable query info provider is not set on the snapsh…

…ot server.

JIRA + smart commit please.


Define project path to find all code dependencies

I'm currently able to setup and use matlab_ls under neovim. However, one of the projects I work on has multiple functions and scripts defined in different folder paths. Usually these are added with some setup scripts so as to not contaminate the path with unnecessary entries when working with other projects.
Is it possible to setup the LSP to load these paths via a script or some other setting? Is there a different approach to help the language server find my function definitions?
thanks!

Thanks for raising this!
This seems similar to mathworks/MATLAB-extension-for-vscode#98. Do you think these are the same, or do you have additional requirements to address your pain?

This seems similar to mathworks/MATLAB-extension-for-vscode#98. Do you think these are the same, or do you have additional requirements to address your pain?

I suppose it could be implemented in the VSCode extension by way of a startup script (if the language server supports that).  It may be cleaner to implement path definitions in the language server, though.  It would be nice to specify paths in the project workspace preferences in a generic fashion in order to support multiple editors.

Yes they're similar, and agree that having the option to execute a script like startup.m would take care of this. Whether it is fixed (i.e., always startup.m) or defined in options per project would be awesome. And I think it would fix my issue.
Thanks for showing me the other issue! That was helpful.


Updates the library to include both the concept of HTTP routes and TCP

routes.

Route is now an interface, implemented by HttpRoute and TcpRoute.
RouteMapSerializer deals with the distinction based on key ('cf-router' or 'tcp-router')
DesiredLRPCreate/UpdateRequest now have addHttpRoute and addTcpRoute methods
Tests updated to deal with both types of routes

squashed and merged as https://github.com/cloudfoundry-incubator/receptor-client/commit/01779cc1ba322b5c62d1ea4787c3d254de3459ff along with https://github.com/cloudfoundry-incubator/receptor-client/commit/c4a785faab31d89b09f491a598b4af5b91e8bd44


ci: workflow to consume dispatch events from compose repo

closes https://github.com/docker/docker.github.io/pull/14457
As discussed with @glours in https://github.com/docker/docker.github.io/pull/14457#discussion_r878128542, workflow has been changed to use a remote context instead of cloning the repo.

The "Fetch reference API" step will use the context and target from the payload to build the Docker image. In this case it will build and output to ./_data/compose_cli. This way we avoid extra logic in docs repo so compose team can focus and maintain docs reference logic in their dockerfile.
Then we commit changes and open a PR on docs repo

Signed-off-by: CrazyMax<EMAIL_ADDRESS>

Much magic. Much GHA.. I'm guessing this is fine?
One question I have / was wondering; so this action listens for events in the other repository; slightly wondering if it would make sense to do the reverse (so have an action in the compose repository that listens for these events, and that to open a PR in the docs repository? or is that a lot more complicated?

open a PR in the docs repository?

Yes I think we can open a PR from a remote repository, I'm just afraid of some desync complications but it should work. I will try that.

@thaJeztah Looks like it works: https://github.com/crazy-max/compose/runs/7045193447?check_suite_focus=true so no need to create a workflow on docs repo :tada:

Oh, nice! That is, of course, if you think that's a good idea (it felt slightly cleaner to trigger from the source repository)

Oh, nice! That is, of course, if you think that's a good idea (it felt slightly cleaner to trigger from the source repository)

Yes that's wayyy better as we don't need to take care of another workflow. Only drawback would be to manage conflicts but that's not an issue as _data/compose is not supposed to be manually changed.

but that's not an issue as _data/compose is not supposed to be manually changed.

yup! that should not be an issue


Is there any way in tonic to append data on the request ?

Feature Request
For example, if I have a 4MB data that I don't want to encode into a protobuf field, can I directly append this chunk of data to the end of the request, like req.append_data(chunk_data); req.get_append_data()
Crates

Motivation

Proposal

Alternatives

I came here looking for something like this as well. The protobuf wire protocol is simple enough where I think you could theoretically manually construct a message if you could get access to the underlying HTTP/2 response body.


Explicitly export package.json

This fixes the issue where node cannot resolve the module's package.json, triggering following warning in rollup-plugin-svelte:
[rollup-plugin-svelte] The following packages did not export their `package.json` file so we could not
check the "svelte" field. If you had difficulties importing svelte components from a package, then please
contact the author and ask them to export the package.json file.

- @zerodevx/svelte-toast

Tested it with Svelte and SvelteKit and it worked just fine for both.

This works for me. Thanks for your help!


[feature] Add Linked Registrations to Nodes and Registrations [OSF-7227]

Purpose

Recently, linked_nodes were separated into linked_nodes and linked_registrations. When this change was made, it appears that linked_registrations were added to Collections, but not to Nodes or Registrations, where they also belong.

Changes

Nodes

Adds NodeLinkedRegistrationsList view.
Adds NodeLinkedRegistrationsRelationship view.
Adds linked_registrations to the NodeSerializer.
Adds the /v2/nodes/<id>/linked_registrations/ endpoint.
Adds the /v2/nodes/<id>/relationships/linked_registrations/ endpoint.
Adds all of the tests.

Registrations

Adds RegistrationLinkedRegistrationsList view.
Adds RegistrationLinkedRegistrationsRelationship view.
Adds linked_registrations to the RegistrationSerializer.
Adds the /v2/registrations/<id>/linked_registrations/ endpoint.
Adds the /v2/registrations/<id>/relationships/linked_registrations/ endpoint.
Adds all of the tests.

QA Notes

Nodes

linked_registrations are writeable

a link to a registration can be added, updated, and deleted via the /relationships/linked_registrations/ endpoint.

Registrations

linked_registrations are read-only

Side effects

None expected.

Ticket

OSF-7227

Looks like there are some failing tests.


Offer "declare bankruptcy" option if you're super far behind current

See https://github.com/zulip/zulip-android/issues/326 for some details on how this should work.

Now we have Mark stream as read,   Mark topic as read,  Mark all as read.
But I thinks scroll position is remaining (after marking move to latest message)
So can we close this and open another issue or edit this one?

We will also have more 'mark as read' options with the improved upcoming unread messages card UI.
Closing this.


fix: useExisting for multi providers for flexibility (GH-5129)

Looks good, however it looks one file was missed: projects/core/src/auth/http-interceptors/index.ts

One additional improvement would be to make our global meta reducers also overridable, i.e.
in file projects/core/src/state/reducers/index.ts we could have sth like this:
export const TRANSFER_STATE_META_REDUCER = new InjectionToken(
  'TransferStateMetaReducer'
);
export const STORAGE_SYNC_META_REDUCER = new InjectionToken(
  'StorageSyncMetaReducer'
);

export const stateMetaReducers: Provider[] = [
  {
    provide: TRANSFER_STATE_META_REDUCER,
    useFactory: getTransferStateReducer,
    deps: [
      PLATFORM_ID,
      [new Optional(), TransferState],
      [new Optional(), Config],
    ],
  },
  {
    provide: STORAGE_SYNC_META_REDUCER,
    useFactory: getStorageSyncReducer,
    deps: [WindowRef, [new Optional(), Config]],
  },
  {
    provide: META_REDUCERS,
    useExisting: TRANSFER_STATE_META_REDUCER,
    multi: true,
  },
  {
    provide: META_REDUCERS,
    useExisting: STORAGE_SYNC_META_REDUCER,
    multi: true,
  },
];


Remove Storage CODEOWNER

Removing tasherif-msft from Storage CODEOWNER as he no longer works on the Storage SDK.

/check-enforcer override


Dedicated entrypoint for service with TLS Termination without SNI with certresolver

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?
Currently I have OPENLDAP behind a dedicated entry point with a rule=HostSNI(hosthere.local.lan). Also, for it I'm using stepca as a local acme cert provider.
The problem is that there are still some clients, like RocketChat, that use various implementations, like ldapjs, that don't do SNI by default. In this case traefik fails to route the traffic.
Using HostSNI(*) breaks the cert resolver getting certificates for the TLS. And I can't find a way for to tell what certificate for it to use that it can auto-use the resolver to refresh/renew.
My usecase for traefik besides the routing to containers is to do TLS termination. Most clients do know how to do SNI, ldapjs knows how to do that too, but doesn't do it by default and expects the project implementing ldapjs to add servername: host to enable SNI.

Hello @d3xt3r01,
Thanks for your interest in Traefik!

Using HostSNI(*) breaks the cert resolver getting certificates for the TLS. And I can't find a way for to tell what certificate for it to use that it can auto-use the resolver to refresh/renew.

Are you looking for a way to not catch the ACME TLS challenge connections but catch every other?
If so, please consider using the ALPN matcher with the protocols you want to catch (e.g.: ALPN(`http/1.1`, `h2`)), please see this part of the documentation.
Please note that ACME TLS challenge protocol (acme-tls/1) is forbidden to use with the ALPN matcher.

Hi!
No, the service I'm trying to use is openldap which is a tcp service. I'm using traefik to terminate TLS for it.
The problem is that I have a ldap client that can't do SNI so traefik can't route the traffic to the service.
I have a dedicated entrypoint for it, I can do HostSNI(*) but then the resolver can't do certificate refreshing.

Hello @d3xt3r01,
Have you tried to configure the domains in the TLS configuration of the TLS Router? Please see https://doc.traefik.io/traefik/v2.9/routing/routers/#domains_1.

    labels:
      - "traefik.enable=true"
      - "traefik.tcp.routers.openldap.entrypoints=openldap"
      - "traefik.tcp.routers.openldap.rule=HostSNI(`*`)"
      - "traefik.tcp.routers.openldap.tls=true"
      - "traefik.tcp.routers.openldap.tls.options=nonstrictsni@file"
      - "traefik.tcp.routers.openldap.tls.domains.main=openldap.local.lan"
      - "traefik.tcp.routers.openldap.tls.certResolver=stepca"
      - "traefik.tcp.services.openldap.loadbalancer.server.port=1389"
      - "traefik.docker.network=docker-traefik_traefik"

Like this?
traefik_1   | time="2023-03-16T11:05:23Z" level=error msg="Unable to obtain ACME certificate for domains \"\"" error="no domain was given" routerName=openldap@docker rule="HostSNI(`*`)" providerName=stepca.acme ACME CA="https://stepca.local.lan:9000/acme/acme/directory"
traefik_1   | time="2023-03-16T11:05:31Z" level=info msg="Testing certificate renew..." providerName=stepca.acme ACME CA="https://stepca.local.lan:9000/acme/acme/directory"

I think it's - "traefik.tcp.routers.openldap.tls.domains[0].main=openldap.local.lan" and it might work! Tried it and didn't yell an error yet. I'll wait for a renew to make sure.

Yep... That was it. The docs need more examples...
Thanks and sorry for wasting your time.


Arguments in Client Execute PDU do not seem to work in windows server 2012 RemoteApp

The arguments in client execute PDU for remoteApp does not seem to work in server 2012, i.e., the arguments value in Client Execute PDU does not transmitted successfully to windows server 2012; the remoteApp can execute successfully, but the arguments for the RemoteApp does not work.
But there's no problem in server 2008. Does anyone have any ideas?
The following is the command I execute in my ubuntu machine,
xfreerdp -u srvadmin -d domain -p password --app --plugin rail --data "%windir%\system32\notepad.exe:%windir%:%windir%\mytest.txt" -- <IP_ADDRESS>
In server 2008 R2, notepad.exe will execute and mytest.txt will open, but in server 2012, the notepad.exe will execute but mytest.txt will not open.
Furthermore, I use processExplorer.exe to see the commandline argument of RemoteApp(which is notepad.exe)  in server 2008 R2, I can see the "Command Line" displaying "c:\windows\system32\notepad.exe c:\windows\mytest.txt".
But in server 2012,  I use processExplorer.exe to see the commandline argument of RemoteApp(which is notepad.exe), I can see the "Command Line" displaying only "c:\windows\system32\notepad.exe", which means that the argument for RemoteApp is not transmitted successfully or somehow dropped by RemoteApp shell of server 2012.

I was running into the same problem for Windows Server 2012 R2. RemoteApp programs need to be specifically allowed to use command-line parameters. That can be configured from Server Manager, see section 5 and 6 of http://blogs.technet.com/b/infratalks/archive/2013/02/06/publishing-remoteapps-and-remote-session-in-remote-desktop-services-2012.aspx.

Closing as a configuration issue.


keyword errors in statements

keywords unusable in print statement
print make
returns error

Is this issue still open? I would like to take up this issue can you please assign this to me?

@ajjayymahato Yes

Is this open for Hacktoberfest?

@ajjayymahato Yes!

Can you please elaborate on this issue?

@ajjayymahato You tried print make?

working on it

Inside my file.gb I put the following code :
class Man:power = 10 action walk: print walking...
make Man walk
In the terminal i executed greenberry file.gb
This returned me the output as walking...
Can I know what exactly is the issue?

What is expected output from print make?

make

can i work on this issue too?

@4the4ryushin Ok!

there's really big issue with gb.py file , it imports S for symbols and but S class doesn't contain error messages and each except section is trying  to access error messages from S class but errors are in E class which not even imported
working on it ,  shall i open a new issue  for this? or fix it along with this issue? because before fixing the error messaged issue working  print make is impossible

okay found the fix for print make but its with every keyword followed by print
eg: print if would make the same error isn't it better for string printing we should  implement the use of quotes  (",' ) like other programming language

i am fixing the error class and make issue but for rest i would suggest you should open a new issue

okay there are more issues with function calls and if statements i am fixing them all under single PR

i have made the PR lemme know

i guess i have fixed all the working keyword with print in the previous PR ,


5 ways to fix the great jQuery debacle (no. 4 may surprise you)

It's time to get rid of jQuery from Ghost's {{ghost_foot}} helper...
The problem
Currently, Ghost's {{ghost_foot}} helper includes jQuery for everyone. Many moons ago, when Ghost's theme API was first born, this seemed like a good idea as it seemed to be something the majority of themes would benefit from, making it worthwhile to add to core.
Overtime, we've come to realise this wasn't a good decision. Themes that don't want or need it have no good way to remove it. Although it is possible to remove using an app, apps aren't officially 'ready' and regardless, forcing people to install an app to disable something is counter intuitive. The result of all this has been many themes not including the required {{ghost_foot}} helper, which means Code Injection doesn't work for everyone, and that's just the start of the problems.
Ideally, jQuery should have been opt-in, rather than opt-out. It's time to fix that.
The solutions

Just remove it
Unfortunately, many many themes depend on it, so just removing jQuery from {{ghost_foot}} would break countless themes with no warning. This is a no-go.

Add a jQuery="false" type attribute to {{ghost_foot}}
This would sort of solve the problem, but it would leave us supporting this forever. It's also still opt-out. And it's really ugly. Let's not do that.

Add a setting or config.js option
As with no.2, we don't really want to be supporting this jQuery opt-out/in/up/down thing forever. We want to solve the problem once and for all.

Move the inclusion of jQuery from {{ghost_foot}} into Code Injection
Now that users can customise content output by {{ghost_foot}}, why not move the script tag there, rather than having it hardcoding into the helper itself? Then every user has the power to remove or leave it as they see fit.

Leave it as it is
Eurgh really?

So assuming we're all in agreement that 4 is the awesome solution we've all been waiting for, we first have to give kudos to @JohnONolan who thunk it up.
Now to the how:
ghost_foot is a row in the settings table, which stores anything that anyone puts in their Blog Footer section on the Code Injection screen.
The proposal is to write a special migration function which runs when anyone is upgrading 'through' a specific version of Ghost (i.e. their old version is lower, and their new version will be equal or higher). At the moment, the only system we have for this sort of thing exists for database migration. Therefore it may make sense to tie doing this to a database change (of which there are a few in the pipeline).
This function will insert the script tag for jQuery into the start of the ghost_foot field, with a newline after, and a comment before saying to only delete the line if the user is sure their theme doesn't require it. At the same time, the code can be removed from the {{ghost_foot}} helper.
Moving forward
All existing installed blogs will be unaffected by this change. jQuery will continue to be present, and so their themes will continue to work. Any theme which wasn't including the {{ghost_foot}} helper also won't get jQuery from Code Injection, so the net effect for existing blogs should be exactly 0.
All newly installed blogs however, will no longer have jQuery included & themes that require jQuery and do not include it will be missing functionality. To mitigate this we will start announcing that this change is going to happen on the dev blog and theme developer mailing lists. Theme developers will need to update their themes to include jQuery.

I approve of this issue title

Option 4 sounds good to me.  Are we talking no longer providing jquery.js from /public as well?  :+1:

Yeah I think it's less useful than using a CDN which is the norm, and where you can pick a version?

I guess the script tag we put in {{ghost_foot}} ought to link to a CDN rather than Ghost - then we can remove it 100%.

Yep.  That's what I was thinking.  When doing the conversion, use a CDN for the code injection link and then we can also remove the plumbing where we're copying jquery.js out of the admin app into /public.

Linking to CDN requires disclosure in privacy.md and - as it's a retro-fitted change to existing installs - I don't think this is a good idea.
The reason it was self-hosted from the beginning was for privacy, not performance. We shouldn't make privacy-affecting changes to an existing feature, which users have no control over.
In this context it's not really a big deal - but the principal is important.
Can we think of any other way of handling this? I realise leaving jquery where it is isn't very desirable for forwards compatibility

Good point. As part of the one-time conversion could we add a persistent notification linking to a relevant section in PRIVACY.md, or a separate document if it's only a temporary thing?
That way people who don't want the CDN version are made aware of the change and provided instructions for getting rid of it.

Because this impacts only existing users, I recommend doing the following:

use the http://code.jquery.com/ CDN, as it's provided by the jQuery Foundation, it's significantly less of a privacy issue than using a Google CDN.
display a notification/alert to anyone who has any of the existing privacy settings enabled - these are the users who need to know about this
disclose the change loudly and clearly in the release post / release page on GitHub

This should mean the message reaches the people who care, without concerning people who won't understand it or aren't affected.

Number four sounds like a good solution however I think you should show a depreciation warning for a few versions if the installed themes rely on it, then remove it from fresh fresh installs later.

The way this is going to be implemented, it won't affect existing installs. Deprecation warnings don't work because there is nowhere to put it that guarantees it will get seen.

What about options 4, on the 0.7.0 release - before version 1.0.0 your allowed to make breaking changes if you follow semantic versioning before the first major release. http://semver.org/

@ErisDS

Because this impacts only existing users, I recommend doing the following:
use the http://code.jquery.com/ CDN, as it's provided by the jQuery Foundation, it's significantly less of a privacy issue than using a Google CDN.

Do not do this. It is not just a privacy issue but rather a massive security issue; if the jQuery CDN were to be compromised, every Ghost blog would be compromised as well. Additionally, if a client visits any website that uses this CDN with a compromised session, a malicious version of jQuery could be served with an enormous cache time. This means that Ghost could be compromised even if it was not directly targeted. Pulling in third party assets, especially scripts, is a very bad idea.
Instead of using a CDN, just exclude jQuery from the new release tarballs. Users of existing installations can just delete the jQuery file along with the code injection if they see it fit.

@SushiDude unfortunately simply removing jQuery from the release zip is not an option, as the Ghost upgrade process includes deleting all existing core files and replacing them with the new ones. Everyone would be left without jQuery with no way to know that had happened.
We already depend on the Google CDN, with the option to disable. Anyone concerned about using the jQuery CDN can remove the file from ghost_foot and add a local copy to their theme.
This change only affects existing blogs. New blogs will not have any reference to jQuery at all.

@ErisDS
TryGhost/Ghost#5787 would mitigate the worries about CDN security.


Add option to config to choose the alert types

PR could do with adding documentation to the readme

@calumk I have updated the README. Let me know if you need anything else

LGTM. Thanks, @collimarco and @calumk! 👏


Standardize resolution to use {} for empty.

Fixes #76 by making sure all fields are present, and set to empty, for did resolution.

@andresuribe87 This should be errors: true?
https://github.com/TBD54566975/sdk-development/pull/77/files#diff-318c4b5bc4436fbd65a1c336bb5667ebaa012c6e805093b51b18889cc925d6edR104

@andresuribe87 This should be errors: true?
https://github.com/TBD54566975/sdk-development/pull/77/files#diff-318c4b5bc4436fbd65a1c336bb5667ebaa012c6e805093b51b18889cc925d6edR104

Done in c72bfbb

interpretation of didDocument empty is null not an empty object. Reference


AERO_PROVIDER can now be GOCART2G, GMICHEM;  get SZA from MAPL

This PR is non-zero-diff for GMI simulations due to SZA.
Solar zenith angle had been computed locally for Emission and Deposition, but now SZA is
taken from MAPL, as had been done for Photolysis.  NOTE: this requires CHEMISTRY release v1.13.1 or later.
Aerosols from GOCART2G are now supported. Also, GMI can provide its own aerosols (via ExtData).
Details:

Added capability for AERO_PROVIDER=GOCART2G
Added capability for AERO_PROVIDER=GMICHEM
Added capability for AERO_PROVIDER=CARMA (uses GMICHEM right now)
Changed default aerosdust filename (for case AERO_PROVIDER=GMICHEM)
Removed code that might have eventually run GOCART-like aerosols from within the GMI framework (note: doubtful this ever worked and would take significant effort to get working
Instead of calling the Gmi routines for SZA (in Chem_Shared), now call a wrapper for the corresponding MAPL routine

Super powered in due to this version of GMI needing a Chem GC that the CI can't pick up

@mathomp4 Many thanks!


Added Prestige badge code and adjusted sizes and positions.

Something went odd with the tabs in that but the code is fine.

Yes, I use 4-space indentation instead of tabs.


plugins: add sgx-config plugin.

Add a sample plugin for SGX EPC resource configuration based on pod annotations. Note that this plugin needs a patched kernel with support for something like
echo 'sgx_epc 65536' > /sys/fs/cgroup/$CGRP/misc.max
to work.

@mythi Here is the sgx-config. It is the original NRI PoC sample plugin. The code is updated for latest NRI main HEAD, retrofitted to this repo, and extended with the necessary bits for image building and a kustomizable Helm chart for easier deployment. PTAL.

I think the SGX EPC NRI plugin should also have an UpdateContainer method (similar to the already implemented CreateContainer method).
The use case for this is that a user defines an EPC limit for a pod after it has already been created. Or a user updates a defined limit because it was too low/high.

The current project structure makes you write three daemonset specs for a single plugin. I guess we could make this somehow simpler, but did not get any good ideas when writing memory plugins. Yet another layer of templating on top of templating did not feel good idea at that point, but this repetition with slight differences is not very nice either.

I think we should be able to get this down to one per plugin, the one in the helm chart templates, with relative ease. We have now extra copies to be able to wire up plugins differently for e2e tests which tend to use config files and not ConfigMaps. I think we should (be able to) change this once we reworked the configuration handling bits (IOW, manage to iron out the worst monkey puke from #164 and add the missing bits for e2e test there). That will get us rid of the fallback configuration file altogether.
At that point it would be nice to use helm and a local unpacked helm chart directory for e2e tests, too (and make sure that all the necessary {k,c}ustomizability and other templating is correctly in place to support the e2e test cases).

I think the SGX EPC NRI plugin should also have an UpdateContainer method (similar to the already implemented CreateContainer method).
The use case for this is that a user defines an EPC limit for a pod after it has already been created. Or a user updates a defined limit because it was too low/high.

So does that really work already without recreating the whole pod ? In-place vertical pod scaling ?

I think the SGX EPC NRI plugin should also have an UpdateContainer method (similar to the already implemented CreateContainer method).
The use case for this is that a user defines an EPC limit for a pod after it has already been created. Or a user updates a defined limit because it was too low/high.

So does that really work already without recreating the whole pod and container ? With in-place vertical pod scaling ?

To me it looks this is not possible right now. I tried patching sgx.intel.com/epc  and I get an error:
* spec: Forbidden: pod updates may not change fields other than `spec.containers[*].image`,`spec.initContainers[*].image`,`spec.activeDeadlineSeconds`,`spec.tolerations` (only additions to existing tolerations),`spec.terminationGracePeriodSeconds` (allow it to be set to 1 if it was previously negative)

I think the SGX EPC NRI plugin should also have an UpdateContainer method (similar to the already implemented CreateContainer method).
The use case for this is that a user defines an EPC limit for a pod after it has already been created. Or a user updates a defined limit because it was too low/high.

So does that really work already without recreating the whole pod and container ? With in-place vertical pod scaling ?

After thinking it completely through, I don't think so. If the annotations change on the pod level (e.g. in .spec.template.metadata.annotations for a Deployment) then Kubernetes is creating a new ReplicaSet. I forgot that when I was writing, sorry. So please ignore my comment. I also deleted it.

@ffuerste I think that would be a reasonable feature for the future if we can get rid of the annotations and in-place autoscaling can be made to work etc but for know I'd keep the focus on the CreateContainer flows