Complexity in the design

I read through the proposal yesterday, and I'm happy to see that it is simpler than the first version.
It still feels too complex however. But the ideas are sound, and I think there is a much cleaner design struggling to get out. I think I can help with that.
I have in mind a design very similar (but not identical) to how async/await works in Javascript and Typescript. It would feature only three primitives: async (function/lambda keyword), await, and a Promise/Future class (I think only the usual then and catch method need to be exposed). It should handle all the use cases. I still have to go through the open issues however.
The advantages would be:

a simpler model
less reliance on libraries to implement the basic use cases
familiarity for users of async/await in other languages
ease of implementation for the javascript backend
improved java interop

I have a bit of time next week and I'm willing to write a detailed proposal. Would it be welcome, or are some part of the current design already set in stone? Is it going to be evaluated without respects to sunk cost?

Please, consider the case of an efficient generate/yield on JVM. The current version is indeed more complex than the version that uses only async/await/Promise as its primitive, but any kind of Promise is pretty heavy-weight, so it would neccessarily slow-down generate/yield pair. That is why mainstream languages that have async/await also have generate/yield and they still don't support all the other use-cases (like asyncGenerate/'yield`) and require additional built-in primitives to handle them.

What is the cause of the inefficiency?
Here's what I have in mind, you can let me know if you consider it inefficient or not.
It requires laying out some background, however.
An async function is a function that returns a promise. So: async fun foo(): String desugars to fun foo(): Promise<String>, and the body of the function is rewritten as a state machine. Within that state machine, each statement of the form await <EXPR>, where the expression evaluates to a promise, is rewritten as return <EXPR>.then { ... }. The code within the braces re-enters the state machine at the proper location. AFAIU, this is the same as is explained in the State Machine section.
Okay, generators now. Here is how I would implement yield and generate. Explanation will follow the code.
class Yielder<T> (start: Yield<T>.() -> Promise<Unit>)
{
    var value: T? = null
    var proceed = Promise<Unit>()
    init { proceed.then { start() } }

    // NOTE: inline is necessary to be able to use await in function f
    inline fun yield (value: T) {
        this.value = value
        proceed = Promise<Unit>()
        await proceed;
    }
}

fun <T> generate (f: Yield<T>.() -> Promise<Unit>)
    = object: Sequence<T>
    {
        val yielder = Yielder<T>(f)

        // NOTE: alternate Sequence interface, but you get the idea
        // TODO: handle the termination of the sequence
        override fun next(): T {
            // NOTE: will compute next value synchronously
             yielder.proceed.resolve(Unit)
             return yielder.value as T
        }
    }

The idea is that we compute a value, then suspend on the await inside yield() (yield() has to be inline so that we know how to rewrite). When it needs another value, the sequence just re-starts the computation by resolving the promise that was generated when the previous value was computed.
Notice how we didn't need to annotate f, even though it is an async function: we just treat it as a regular function returning a promise.
So essentially, compute each new value requires:

creating a promise beforehand
calling a lambda (one that was generate by the rewrite, to re-enter the state machine)

Seems reasonable to me. We might even be able to reuse a promise by resetting it after it has been fulfilled.
Let me know what you think.

A new promise on every yield invocation is extremely inefficient. The current implementation of generate/yield is optimised so that it does not create any objects on yield. This way, you can write your lazy collection transformations with generate/yield and get the same performance as using the standard Kotlin Sequence transformations.
Also, your design is C#/Dart-style. If you have await as a keyword, then you'll have to have `await for as a special case, etc, etc. That is a never-ending spiral. It does not compose with other language features.

Also, your design is C#/Dart-style. If you have await as a keyword, then you'll have to have await for as a special case, etc, etc. That is a never-ending spiral. It does not compose naturally with other language features.

This is not a fair argument. You are always going to have primitives. I have outlined mines (async, await, and basic implementation of Promises), so my proposal has strictly less primitives than the current one. You can make async a function if that's the bother. I think it's helpful making it a keyword, because it is magical after some fashion: it is what causes the execution to suspend. But that's really not an important point (async being a function or a keyword)

A new promise on every yield invocation is extremely inefficient.

You might have missed the section where I say:

We might even be able to reuse a promise by resetting it after it has been fulfilled.

(And really, I was too cautious, as I don't see any reason we might not be able too.)

There is no thread-safe way to reuse a promise object. You'll have to either give it GC or write your own, still expensive, thread-safe memory reclamation scheme.
You'd also recommend to workout a use-case for asynchronous iteration. How would a for loop work without introducing yet another await for primitive?

There is no thread-safe way to reuse a promise object. You'll have to either give it GC or write your own, still expensive, thread-safe memory reclamation scheme.

Indeed, but who says it should be thread-safe in this case?
If you have
interface Promise<T> {
    fun <U> then (f: (T) -> U): Promise<U>
    fun catch (f: (Exception) -> T
    fun accept (value: T)
    fun reject (exception: Exception)
}

Then you can have thread-safe and non-thread-safe implementations. If usability (safe defaults) is an issue, you can even make Promise a thread-safe base class, and have LocalPromise sub-class which can be reset, a bit in the same way that RuntimeException extends Exception.

I'd also recommend to workout a use-case for asynchronous iteration. How would a for loop work without introducing yet another await for primitive?

Maybe I'm missing something, but I thought this was being taken care of as part of the state machine transformation. It can certainly be done (resume the execution inside a loop). await can only be used inside async functions (or inside inline functions called from async functions.

Okay, I think I understand your concern for for, I suppose it's related to asyncGenerate.
My answer would simply be to build an Iterable<Promise<T>> in thise case, then simply use await within the loop body. It does entail creating an promise for each item iterated on, but in this case I think it's warranted.
It's not like a regular generator, which is just a more convenient/natural way to write an iterator, and so you expect the same performance characteristics. No, here you are waiting for something supplied by someone else. When you have this kind of coordination, I don't think an extra object instantiation is really significant.

You are right about performance in async case. When you are dealing with asynchronous computations extra overhead is not important.
However, I still don't see how can you ever make an efficient generate/yield on top of promises. There are at least three performance problems with promises:

The promise is conceptually non-reusable. You can only reuse a promise object if you are absolutely sure that nobody is holding any references to the Promise object, because the holder of the reference can invoke then at any time. Even in a single-threaded case figuring out when a Promise can be reused requires some GC-like approach.

The promise is conceptually heavy-weight object. It must support multiple then and catch invocation. While they can be optimised for a single-waiter case, it will still have extra checks and adds conceptual complexity.

The promise is conceptually asynchronous object. In JS all then and catch handlers are invoked asynchronously (i.e. later in event loop) for a good reason. Promise cannot invoke its then handler right await in the same stack frame, because that would lead to stack overflow on long-running loops.

Bottom-line: promise is too high-level and too domain-specific object to be part of the general purpose language. It is Ok to be a part of domain-specific language, but in the general purpose language it must be a library concept, not a language concept. We might have a promise-like object in the Kotlin standard library one day, but definitely not in the language.
It don't question your observation that Promise-based design has fewer primitives. The sound design is not about minimising the number of primitives. The sound design is about layering higher-level abstractions on top of an appropriate low-level abstractions. Kotlin coroutines provide a set of low-level abstractions that let you implement high-level Promise primitives on top of them without loosing efficiency.
Minimisation of the number of primitives in the second revision of coroutines KEEP was not a goal. The goal was to make it closer to metal in terms of abstractions that it exposes and the reduction in complexity was just a side effect.
Having said that, we'd welcome any further reduction in complexity in the design, but introduction of any Promise-like construct into the language is out of the question and will not be considered.

You can only reuse a promise object if you are absolutely sure that nobody is holding any references to the Promise object, because the holder of the reference can invoke then at any time.

True, and we seem to be in that very particular case here, so no worries. We just add an internal modifier in front of proceed in the Yielder class. (There is still the problem with its use from an inline function, but either a setter or @PublishedApi can resolve that.)

True again, at least in the general case. But if we have our own private subclass or Promise, which isn't leaked to other people, then we can safely break that rule. If you are thinking I'm riddling this thing with exceptions, hold on to that thought and seen my answer to point 3.

Not quite. This is the issue with describing a thing in a 15 minutes comment instead of a well thought-out proposal.

When I say, Promise is a primitive, I really mean the interface. Nothing really magical language-wise needs to happen in the implementation.
In fact, the implementations of resolve/reject correspond to the idea of dispatcher in the current design: you chose where to schedule the continuations. Running them immediately is a valid choice in that respect. (It does have the disadvantage you described, and that makes it inappropriate for certain use cases.)
I do agree it's not very nice to break the substitution principle (no multiple then for our local promise). There are ways to fix this (a class hierarchy of promises for instance). The key idea here is not the interface of Promise like in other language. That can change.
The key ideas is that of a trigger to continue some continuation. (1) you can add continuations (then, catch), (2) you can schedule them (resolve, reject). It makes sense that if only two actors share the trigger, then we can reuse it. Clearly, it's not an insurmountable problem: I'm pretty sure it can be done elegantly.

My initial question was if I could submit a detailed proposal.
I appreciate you pointing out potential pitfalls. I know you did it to save me time and avoid me some frustration.
I think what came out of it is that if we can make lightweight/reusable promises (something of which you are doubtful), it can work.
I might go ahead with it, I'll think on the concepts and we shall see.

It really worth the effort to write some nice and optimised Promise-based library for Kotlin coroutines. All the promise-like examples we have now are based on Java's CompletableFuture which is extremely heavy. I would really appreciate if you spend time to write some light-weight Promise library for Kotlin with the optimisations you have in mind.
Promise is the right abstraction for many use-cases and having a light-weight Promise library with the built-in support of async and await primitives is a good idea. You can base your implementation on top of the low-level abstractions that Kotlin coroutines provide. If you study "Implementation details" section of KEEP you'll find there description of CoroutineIntrinscis object that gives you an unhindered access to the underlying machinery without any overhead whatsoever. If you base your wait() implementation directly on top of CoroutineIntrinscis.suspendCoroutineOrReturn, then you implementation has a potential to be way more efficient that the one based on a CompletableFuture.

@elizarov kovenant is an alternative for CompletableFutures


pythonPackages.pytest-randomly: 3.5.0 -> 3.6.0

Motivation for this change
https://github.com/pytest-dev/pytest-randomly/releases/tag/3.6.0
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

@ofborg build python3Packages.fonttools python3Packages.httplib2

Result of nixpkgs-review pr 118588 at 44f41d90 run on aarch64-linux 1

93 packages marked as broken and skipped:

belle-sip
bonfire
cassandra_2_1
cassandra_2_2
cvc4
haskellPackages.linearEqSolver
haskellPackages.sbv
liblinphone
lime
linphone
...

731 packages skipped due to time constraints:

DisnixWebService
R
abcl
adapta-gtk-theme
adoptopenjdk-icedtea-web
aiodnsbrute
alloy (alloy5)
alloy4
ansible-lint (python38Packages.ansible-lint)
antlr
...

69 packages built successfully:

ansible (ansible_2_10)
ansible_2_8
ansible_2_9 (python38Packages.ansible)
calcurse
gcalcli
openshot-qt
python38Packages.afdko
python38Packages.backports_entry-points-selectable
python38Packages.booleanoperations
python38Packages.defcon
python38Packages.fontmath
python38Packages.fontparts
python38Packages.fontpens
python38Packages.fonttools
python38Packages.google-api-core
python38Packages.google-api-python-client
python38Packages.google-auth
python38Packages.google-auth-httplib2
python38Packages.httplib2
python38Packages.httpretty
python38Packages.launchpadlib
python38Packages.lazr-restfulclient
python38Packages.mailmanclient
python38Packages.mutatormath
python38Packages.nototools
python38Packages.oauth2
python38Packages.oauth2client
python38Packages.poetry
python38Packages.psautohint
python38Packages.pytest-randomly
python38Packages.python-pipedrive
python38Packages.rich
python38Packages.tqdm
python38Packages.ufoprocessor
python38Packages.wsgi-intercept
python39Packages.afdko
python39Packages.ansible
python39Packages.backports_entry-points-selectable
python39Packages.booleanoperations
python39Packages.defcon
python39Packages.fontmath
python39Packages.fontparts
python39Packages.fontpens
python39Packages.fonttools
python39Packages.google-api-core
python39Packages.google-api-python-client
python39Packages.google-auth
python39Packages.google-auth-httplib2
python39Packages.httplib2
python39Packages.httpretty
python39Packages.launchpadlib
python39Packages.lazr-restfulclient
python39Packages.mailmanclient
python39Packages.mutatormath
python39Packages.nototools
python39Packages.oauth2
python39Packages.oauth2client
python39Packages.poetry
python39Packages.psautohint
python39Packages.pytest-randomly
python39Packages.python-pipedrive
python39Packages.rich
python39Packages.tqdm
python39Packages.ufoprocessor
python39Packages.wsgi-intercept
scfbuild
sonota
visidata
xits-math

/rebase staging

When pandas is fixed on staging we can test this with home-assistant to see if it breaks tests.

When pandas is fixed on staging we can test this with home-assistant to see if it breaks tests.

That is not really necessary. Only two packages depend on pytest-randomly directly: httplib2 and fonttools. There are a lot of rebuilds, but almost all of them are indirectly affected. I've confirmed that the test suites for the packages in question are unaffected.

I think there was a little misunderstanding here.


unix domain socket pass by variable

this changes may fix problem when upstream address is in a variable

fix #7

thanks
cloud you please format the patch
4 spaces indent
and style like
if {
} else {
}

I fixed the indents and block style.

LGTM
thank you


fix: added private network id required by scaleway

Hello !
Private network id is now required : https://registry.terraform.io/providers/scaleway/scaleway/latest/docs/resources/k8s_cluster, this pr adds it as a variable.
Closes #45

Always required. :)


Remove favicon

Adds an option to skip building favicon which shaves off ~2min from the image build.
FAVICONS_BUILD=n make image-frontend

Could we just save off the favicon and drop this dependency completely?

Could we just save off the favicon and drop this dependency completely?

Well, I went digging for a while and I can't find anywhere the ico was getting rendered. The main logo render in the toolbar is handled by the CustomAppBar component from logo.png in tree.
Going to leave the commented piece in vite.config.ts until I make sure there aren't any residuals after a week or so. Random icons in bookmarks and things like that in case I'm missing something it is actually doing.
Removed favicon and rolled back the build options. Also leaving cross-env  to pass variables at build time as needed so I dont have to figure it out again. Its no overhead, just a means of expressing ENVs to vite.

Pretty sure a favicon gets served that’s rendered from the logo … I’ll take a look and review Monday!

Pretty sure a favicon gets served that’s rendered from the logo … I’ll take a look and review Monday!

ty ty, Check out:
https://github.com/nexodus-io/nexodus/blob/main/ui/src/layout/AppBar.tsx#L16

and later in the file:
https://github.com/nexodus-io/nexodus/blob/main/ui/src/layout/AppBar.tsx#L50

I capitulated and did a static when I noticed an icon in the bookmark that was the default react logo that react-admin must have been generating. Now I am getting the Nex logo in the bookmark bar. Im officially out of the logo business for the weekend.


Add etc/labels.conf from Director distribution

The labels.conf file is used by Cloudera Director to populate its UI with items specific to the Google plugin. This file ships with each Director release, but it should be instead disseminated to the public with the rest of the plugin, so that new items can be easily added.

Pinging @duftler since @mbrukman asked him for feedback. I'll merge this on Friday if there's no word otherwise. Thanks!


Create tomakomai

Please add the domain of National Institute of Technology, Tomakomai College.

@Ir13570 Please rename lib/domains/jp/kosen-ac/tomakomai to lib/domains/jp/kosen-ac/tomakomai.txt to reflect this repository rules. Thank you!

Sorry! I did not understand the rules.
I renamed a file to tomakomai.txt.
Thank you.

@Ir13570 Thank you! Pull request merged.


Support new Range values from BCDAMS-MAP

BCDAMS-MAP will put range_label and range_url in as a array. Brays will need to make adjustments to this change.
https://github.com/uhlibraries-digital/bcdams-map/issues/26

Revised BCDAMS-MAP range template including values for drop down menus. Range may contain multiple elements with the uri attribute but only one element with a values attribute (for drop down menus).
"range": [ 	{ 		"label": "", 	 	"uri": "" 	}, 	{ 		"label": "", 	 	"values": [ 			"", 			""] 	} ],


AttributeError: type object 'RegelumBase' has no attribute '_RegelumBase__metadata'

Got this error when initially ran the policy_gradient. example script.

@a1mrz Did you run it in ipython?


Add support for 'Authorization Code Grant with PKCE'

IAM Identity Center has added support for an authorization_code grant instead of the device_code grant which provides a smoother user experience. The documentation on this is (in keeping with tradition w/AWS SSO) extremely minimal/missing altogether but I found some pretty decent comments inside the aws-toolkit-vscode repository.
You can test out the flow yourself by installing the AWS Visual Studio Code Plug-In and authenticating using the "Workforce" option. Under the hood the extension calls RegisterClient using parameters roughly like this (I've removed the codewhisper scopes):
aws --region us-west-2 sso-oidc register-client --client-name 'AWS IDE Extensions for VSCode' --client-type public --grant-types authorization_code --redirect-uris http://<IP_ADDRESS>:50383/oauth/callback --issuer-url https://d-123456.awsapps.com/start --scopes sso:account:access

It then constructs an "authorization" URL which looks like this and opens it in the user's browser:
https://oidc.us-west-2.amazonaws.com/authorize?response_type=code&client_id=<removed>&redirect_uri=http://<IP_ADDRESS>:56369/oauth/callback&scopes=sso:account:access&state=552998d0-4b83-44c3-b022-aa02005a7bd9&code_challenge=CaN1lc6CfmPsJSrYcVa68HdoA1fQIeI5Een_1a9sVA0&code_challenge_method=S256

This page skips the "device code" workflow directly landing the user on a consent screen:

After approving the user sees this message:

Internally, VSCode will take the token (sent to http://<IP_ADDRESS>:56369/oauth/callback) and exchange it using the same CreateToken API using the code and codeVerifier parameters instead of the deviceCode parameter.
From my testing the clientName can be adjusted to something like "Granted CLI" and the redirect URI can be adjusted to any localhost port however it must be in the exact form of http://<IP_ADDRESS>:<port>/oauth/callback or it will be rejected during the registration call.

https://aws.amazon.com/about-aws/whats-new/2024/11/aws-command-line-interface-pkce-single-sign-on/

This AWS CLI commit implements the authorization code flow and may serve as a useful guide.


nightly: Add the loongaarch64-unkown-linux-gnu target

Fixes nightly issues.
Please refer to https://github.com/parallaxsecond/rust-cryptoki/actions/runs/6923840384

Please see https://github.com/tgonzalezorlandoarm/rust-cryptoki/actions/runs/6928647087 for the internal check on my fork

https://github.com/tgonzalezorlandoarm/rust-cryptoki/actions/runs/6931514956


Error handling when response is partially written

Was talking to @GrabYourPitchforks on Friday, and we have a way to cancel partially buffered response (as in response stream was written to, but it was never flushed out to the wire).
@GrabYourPitchforks can you provide more details on the API here.
The suggestion is to provide a clear API to cancel/clear the stream (either in MVC or externally) and utilize it by default when handling exceptions (it's debatable if it should happen in MVC or by default in a hosting middleware).
@Eilon @davidfowl @lodejard

This belongs in error handling middleware, I am not sure if it is actually handled alreayd, but I recall it was the intent @muratg


add 405 fix handler

Fixes #51

I did play with something similar after this PR.
My actual concern is the string comparison of the paths for example a route
might be defined as /home/ but the route that comes in might be /home or
vice versa. Only way I can think is to strip both the registered path and
the incoming path of the end slash but that seems inefficient to me but
might be maybe only option we have
On 7 November 2017 at 22:58, Federico Dipuma<EMAIL_ADDRESS>wrote:

@fdipuma commented on this pull request.
In src/BotwinExtensions.cs
https://github.com/jchannon/Botwin/pull/52#discussion_r149530414:

                 routeBuilder.MapVerb(route.verb, route.path, finalHandler);

             }
         }

         return builder.UseRouter(routeBuilder.Build());
     }

   private static void Add405Handler(IApplicationBuilder builder, IEnumerable<BotwinModule> srvs)

   {

       var systemRoutes = new List<(string verb, string route)>();

Wouldn't something like this be more efficient in the long run?
var systemRoutes = srvs.SelectMany(m => m.Routes)
.GroupBy(r => "/" + r.path)
.ToDictionary(
g => g.Key,
g => new HashSet(
g.Select(r => r.verb).Distinct()
)
); // IDictionary<string, HashSet>
We than could just do:
if (systemRoutes.ContainsKey(strippedPath) &&
!systemRoutes[strippedPath].Contains(context.Request.Method)) // almost O(1) access time
{
context.Response.StatusCode = 405;
return;
}
(the LINQ part may be simplified into a foreach if it appears too
cryptical)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jchannon/Botwin/pull/52#discussion_r149530414, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAGapjXrmBvNWzWcFpCAx9ggupXIvxUdks5s0OCrgaJpZM4QQUML
.

Pushed a change which should make the checks more precise but still not happy about the stripping per path on each request approach

@davidfowl any better perf suggestions?

Moved to #65


AV Detection

I'm using:
Kali 2016.2-vm-amd64
Veil-Evasion | [Version]: 2.28.2
Using Veil-evasion Payload: powershell/meterpreter/rev_https
Run result payload through MacroShop (macro_safe.py) and add to XLS
Expected behavior
Not detected by AV scanners, but 15/35 did
http://NoDistribute.com/result/NTQHwjYJiFkgAq4n6LZRfC72
Am I missing something?

AV Vendors have begun flagging on certain keywords to try and clamp down on macro "viruses".  I know what (most likely) AV is flagging on, but for now, i am leaving the code as is.  I would suggest looking into concatenating strings in VBA for a solution.


[Feature] Support config armeria responseTimeout

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
skywalking version. 8.9.1
elasticsearch7
now when i track the request, sw server always response ResponseTimeoutException

Use case
can i set a bit longer responseTimout of  armeria client
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@kezhenxu94 What is the timeout threshold value for now?

@kezhenxu94 What is the timeout threshold value for now?

The default response timeout is 15s

It seems reasonable to expose this setting. After all, we had this before.

It seems reasonable to expose this setting. After all, we had this before.

bro. i found it can be set by using -Dcom.linecorp.armeria.defaultResponseTimeoutMillis=15000 at startup.

Thanks for sharing. We prefer system environment variable to control, in order to be more cloud native

It seems reasonable to expose this setting. After all, we had this before.

bro. i found it can be set by using -Dcom.linecorp.armeria.defaultResponseTimeoutMillis=15000 at startup.

All Armeria/Netty options can be set in this way, but that requires users to be aware of the implementation and that's not portable because the implementation in SkyWalking is subject to change, example: we used ElasticSearch official client (that use HttpClient) and migrate to Armeria now.

wow. got it.

Thanks for sharing. We prefer system environment variable to control, in order to be more cloud native
Stay away from timeout:
`env:

name: JAVA_OPTS
value: "-Dcom.linecorp.armeria.defaultResponseTimeoutMillis=40000"
`


HTTP Error 405

Hi, i get HTTP Error code when checking site: http://www.amazon.com/
Can you help me please?

First of all, don't check somebody else's website if you don't have to (for example in broken links functionality it is valid usecase, but otherwise don't do it).
Currently when you don't check for some condition (like "</html>") on the page, the application will send HTTP HEAD request (also broken links functionality sends HTTP HEAD request). And amazon.com returns for HTTP HEAD request status code 405.
I will make broken links functionality more intelligent, so it will try GET request as well, but I won't change basic check functionality (because you can simply call GET request when you add some condition.

Thanks a lot for fast reply. I wanted to test if your (by the way great piece of software) is able to monitor content changes on a webpage. That was the reason i started with amazon, because i wanted to watch out for changes on an amazon article. As this was not working properly, i tested the root page which is amazon.com. Just to tell you why was watching amazon.com.

hi can you help me to write the update method for blog for Java-blog -aggregator

it's already done in the latest branch of the original project:
https://github.com/jirkapinkas/java-blog-aggregator/tree/latest
and also in the new project, which is based on Spring Boot and I replaced
JSP with Thymeleaf:
https://github.com/jirkapinkas/java-blog-aggregator-boot
JP
2016-02-08 16:01 GMT+01:00 araz1367<EMAIL_ADDRESS>
hi can you help me to write the update method for blog for Java-blog
-aggregator
—
Reply to this email directly or view it on GitHub
https://github.com/jirkapinkas/sitemonitoring-production/issues/1#issuecomment-181401987
.

tankeyou very much your tutorial is very good and many help me.
sry my english is very bad
On Tue, Feb 9, 2016 at 12:39 AM, Jirka Pinkas<EMAIL_ADDRESS>wrote:

it's already done in the latest branch of the original project:
https://github.com/jirkapinkas/java-blog-aggregator/tree/latest
and also in the new project, which is based on Spring Boot and I replaced
JSP with Thymeleaf:
https://github.com/jirkapinkas/java-blog-aggregator-boot
JP
2016-02-08 16:01 GMT+01:00 araz1367<EMAIL_ADDRESS>
hi can you help me to write the update method for blog for Java-blog
-aggregator
—
Reply to this email directly or view it on GitHub
<
https://github.com/jirkapinkas/sitemonitoring-production/issues/1#issuecomment-181401987
.

—
Reply to this email directly or view it on GitHub
https://github.com/jirkapinkas/sitemonitoring-production/issues/1#issuecomment-181542443
.


add honorLabels setting

Signed-off-by: André Bauer<EMAIL_ADDRESS>
add honorLabels setting to monitoring chart
if set to true the labels from the exporter are used
false (current behaviour) means that "namespace" label would be scraped as "exported_namespace"

Imho default could be "true" too but that would need changes to the Grafana dashboards as well.

Hmm... looking at the github actions it seems the chart version 2.13.2 was not released?
https://github.com/kyverno/policy-reporter/actions/runs/3280256710/jobs/5400817748
Output of the release is: "Nothing to do. No chart changes detected."

I have to release it manually at the moment, but the release is running now.


document how to deal with mix dependencies

@the-mikedavis words are hard, see what you think.

I think I might graft these docs onto a harness package like NFIBrokerage/harness_aggregate instead of keeping it in harness itself
it's a tough call because it's not just harness_aggregate that manages the mix.exs project and dependencies (e.g. harness_micro_controller does the same)
but this repo is published publicly and these docs pertain to our private dependencies on our private hex
I think if this info is in the harness_aggregate readme, we can just point to it in harness_process_manager et. al. and that'll be good enough

viola!: https://github.com/NFIBrokerage/harness_aggregate#dependencies


With Ubuntu stemcell 3363 or 3363.1, there is decreased network performance

IAAS: AWS
Stemcell versions: 3363 or 3363.1 (Both AWS Xen-HVM and AWS Xen-HVM Light)
OS: Ubuntu Trusty
VM Types: c3.large
VMs are deployed in the same placement group for maximum networking performance and stability.
Test setup (using elements of https://github.com/cloudfoundry-incubator/routing-perf-release):
Static web server (gostatic) running in a c3.large VM.
HAProxy configured to forward TCP traffic on designated ports the static web server (tcp-router from CF Routing Release)
Performance testing errand running in a c3.large VM.
This errand essentially runs a load testing tool (https://github.com/rakyll/hey) on HAProxy to measure HAProxy's performance when forwarding HTTP traffic using TCP proxying.
Running the load testing tool:
hey -c 64 -n 1500160 http://HAPROXY-ADDRESS:PORT
With stemcell version 3312.18:
Summary:
  Total:	31.7902 secs
  Slowest:	0.2035 secs
  Fastest:	0.0003 secs
  Average:	0.0014 secs
  Requests/sec:	47189.3936
  Total data:<PHONE_NUMBER> bytes
  Size/request:	1024 bytes

Status code distribution:
  [200]	1500160 responses

Response time histogram:
  0.000 [1]	|
  0.021 [1499097]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  0.041 [901]	|
  0.061 [153]	|
  0.082 [7]	|
  0.102 [0]	|
  0.122 [0]	|
  0.143 [0]	|
  0.163 [0]	|
  0.183 [0]	|
  0.204 [1]	|

Latency distribution:
  10% in 0.0011 secs
  25% in 0.0012 secs
  50% in 0.0013 secs
  75% in 0.0014 secs
  90% in 0.0015 secs
  95% in 0.0015 secs
  99% in 0.0031 secs

requests_per_sec: 47189.3936
90% of response times: 0.0015 secs
95% of response times: 0.0015 secs
99% of response times: 0.0031 secs

With stemcell version 3363+:
Summary:
  Total:	46.9886 secs
  Slowest:	0.0830 secs
  Fastest:	0.0002 secs
  Average:	0.0020 secs
  Requests/sec:	31926.0268
  Total data:<PHONE_NUMBER> bytes
  Size/request:	1024 bytes

Status code distribution:
  [200]	1500160 responses

Response time histogram:
  0.000 [1]	|
  0.009 [1495006]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  0.017 [3038]	|
  0.025 [1476]	|
  0.033 [315]	|
  0.042 [100]	|
  0.050 [95]	|
  0.058 [47]	|
  0.066 [49]	|
  0.075 [21]	|
  0.083 [12]	|

Latency distribution:
  10% in 0.0014 secs
  25% in 0.0019 secs
  50% in 0.0020 secs
  75% in 0.0020 secs
  90% in 0.0022 secs
  95% in 0.0024 secs
  99% in 0.0036 secs

requests_per_sec: 31926.0268
90% of response times: 0.0022 secs
95% of response times: 0.0024 secs
99% of response times: 0.0036 secs

We have consistent results with the old stemcell (~44000 requests per second) vs the new stemcell (~32000 requests per second), so it seems like there is something in the new stemcells that causes this performance regression.
You might be able to reproduce the same issue without HAProxy and directly generating load to the static web server.
Please look into this issue.
Thanks,
Edwin and @swetharepakula

cc @dsboulder @richardsalloum

This was investigated in https://www.pivotaltracker.com/story/show/140452723 and concluded to not be caused by 3363 stemcell (the issue was reproduced in earlier lines).


Automated Merge fix

Changelog

Removed check for Mergeable as Github doesn't provide the information when fetching Pull Requests

/label bug

/approve

/label merge

Codecov Report

Merging #53 (fba329e) into main (a36f1c7) will decrease coverage by 0.02%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##             main      #53      +/-   ##
==========================================
- Coverage   84.06%   84.03%   -0.03%
==========================================
  Files          11       11
  Lines         546      545       -1
==========================================
- Hits          459      458       -1
  Misses         61       61
  Partials       26       26

Flag
Coverage Δ

unittests
84.03% <33.33%> (-0.03%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/github/schedules.go
91.01% <33.33%> (-0.10%)
:arrow_down:

Continue to review full report at Codecov.

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


cordova-plugin-geolocation does not work in android phone (SDK 6.0.0)

this is code in cordova-plugin-geolocation plugin code (package.json)!
"engines": {
"cordovaDependencies": {
"3.0.0": {
"cordova-android": ">=6.3.0"
},
"5.0.0": {
"cordova": ">100"
}
}
},
Why this supports only from 6.3.0?

It doesn't, it supports anything equal to or greater than 6.3.0.
Why it doesn't support less than 6.3.0? See https://github.com/apache/cordova-plugin-compat. Pre 6.3.0 required this dependency to handle permissions. Permission management has been since added to the core framework, which was added in 6.3.0, hence the requirement.
Despite it supporting as low as 6.3.0, you should be using cordova-android@8 for a number of reasons, with the largest one it supports targeting API 28, which is a requirement for deploying to the google play store.
Hope this answers your question. If you have any other questions, I invite you to join our slack for support style questions such as this one.


Multiple duplicates of programs

I suggest to add option to filter duplicates links of programs (and possible prefer links from start menu)

Hi how's it going, this feature already exists, you can do it via Program plugin or using shift+enter to go to the program's context menu and disable it there:

But if you are a thousands links, it's maybe boring. Meybe do it automatic for identical links ?

But if you are a thousands links, it's maybe boring. Meybe do it automatic for identical links ?

They shouldn't be 100% identical, usually their path is different, in this scenario you can choose just to index the start menu and not the registry.
Can you screenshot what you mean?

Yes path is different, but if 2 links absolutly identical but different path's it's shouldn't it be filtered ? I have folder on Desktop where i store links, and same as start menu have links to same programs which duplicated

Yes path is different, but if 2 links absolutly identical but different path's it's shouldn't it be filtered ? I have folder on Desktop (which i indexing) where i store links, and same as start menu have links to same programs which duplicated in suggestions

In this case couldn't you untick 'index start menu' in settings or have the desktop folder(assuming it should be a custom index location you added) not have the same shortcut as start menu?

Not an option, in start menu there's a lot of standart programs, which i not nowhere to store. Ok this is only suggestion to add filtering identical links, thanks, i close issue


Should it be 'first gpu' in "Managing-context" watch out section ?

Imagine that your variable z already lives on your second GPU (gpu(0))
should it be first above?

I think gpu(0) is first GPU (computer usually counts from 0 :smiley: )


esl-note-ignore mixin: initial implementation

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Device tests pass one-by-one but not in a batch

Hi.
I followed the docs. While running the device tests, I encounter the following issue:
karthik@opentitan-vm:~/opentitan$ bazel test --test_tag_filters=-cw310,-dv,-verilator //sw/device/silicon_creator/lib/...
INFO: Analyzed 998 targets (1 packages loaded, 1523 targets configured).
INFO: Found 973 targets and 25 test targets...
ERROR: /home/karthik/opentitan/hw/BUILD:24:14: FuseSoC hw/build.verilator_real failed: (Exit 1): fusesoc failed: error executing command fusesoc '--cores-root=.' '--cores-root=.' '--cores-root=.' run '--flag=fileset_top' '--target=sim' --setup --build '--build-root=bazel-out/k8-fastbuild/bin/hw/build.verilator_real' ... (remaining 3 arguments skipped)
src/main/tools/process-wrapper-legacy.cc:80: "execvp(fusesoc, ...)": No such file or directory
INFO: Elapsed time: 1.628s, Critical Path: 0.96s
INFO: 24 processes: 10 internal, 14 linux-sandbox.

FAILED: Build did NOT complete successfully

The issue, is that these tests, when run individually, pass successfully.
karthik@opentitan-vm:~/opentitan$ bazel test //sw/device/silicon_creator/lib:crc32_unittest
INFO: Analyzed target //sw/device/silicon_creator/lib:crc32_unittest (0 packages loaded, 0 targets configured).
INFO: Found 1 test target...
Target //sw/device/silicon_creator/lib:crc32_unittest up-to-date:
  bazel-bin/sw/device/silicon_creator/lib/crc32_unittest
INFO: Elapsed time: 0.416s, Critical Path: 0.08s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
//sw/device/silicon_creator/lib:crc32_unittest                  (cached) PASSED in 0.1s

Executed 0 out of 1 test: 1 test passes.
INFO: Build completed successfully, 1 total action

Am I right about this, or is something else is happening completely?

FYI, the machine is fresh install of Ubuntu 20.04, being run on QEMU/KVM.
here's my verilator version:
$ verilator --version
Verilator 4.210 2021-07-07 rev v4.210

It seems your environment is still missing some dependencies in the PATH.  Can you double check you have your PATH updated to add the additional folders as described in https://docs.opentitan.org/doc/getting_started/? These are easy to miss. We should probably make those steps more clear.

@moidx You were right! I think the Step 3 in your docs needs to be modified.
It currently says this:
To build device software you need a baremetal RISC-V toolchain. Even if you already have one installed, we recommend using the prebuilt toolchain provided by lowRISC, because it is built with the specific patches and options that OpenTitan needs. You can install the toolchain using the util/get-toolchain.py script, which will download and install the toolchain to the default path, /tools/riscv.
$ cd $REPO_TOP
$ ./util/get-toolchain.py

If you did not encounter errors running the script, you’re done and can go to step 4. If you did, read on.
That's the minor quibble. The script util/get-toolchain.py does NOT modify the path variable to have /tools/riscv post installation.
Perhaps this change needs to happen inside util/get-toolchain.py

This part of your error "execvp(fusesoc, ...)": No such file or directory suggests that fusesoc is currently not in your path (i.e. the error has nothing to do with the RISCV toolchain).
If you installed the python-requirements.txt as a user, then fusesoc is likely to be in ~/.local/bin. You should add this to your PATH variable as indicated by the documentation in step-2-install-package-manager-dependencies.
(e.g. add export PATH=$PATH:~/.local/bin to your ~/.bashrc file)

@msfschaffner

Closing for now. Please re-open if you have additional questions. Thanks


Enable the line curve in the line annotation

This PR is enabling the line curve representation by the line annotation.

Option
Type
Default
Description

curve
boolean
false
if true, the line will be drawn as a curve

controlPoint
string - number- {x: string - number, y: string - number}
{y:'-50%'}
Distance (in px or percentage of the distance between the start and end point) from the center

It uses quadratic curve and Path2D.
TODO

[x] review control point calculation
[x] test cases
[x] types
[x] documentation
[x] sample

@stockiNail I'm not merging these, so you can decide the order you want to go.


Add Goods Class

Addition of Goods Class, and required logic.
Does not include storage.

Looks good so far. Merge and integrate first.


Bump google/go-jsonnet to v1.16.0

Make it possible to use std.find() in .drone.jsonnet
Keep go version aligned across files: BULIDING, .drone.yml, go.mod

related to https://github.com/drone/drone/pull/3024

@bradrydzewski given that https://github.com/drone/drone/pull/3024 was merged, could we have this companion PR reviewed as well? 🙏
This would unblock using std.parseJson() for us.


Fix not null constraint failed during many to many audit recording

Subject
I am targeting this branch, because this is a bug fix.
The computed commit order in the unit of work is different depending on the order in which $entityManager->persist() calls were made. The audit logic for inserting INS revision type records is executed on the postPersist event (which is dispatched in the commit order). That means that we have two possible cases here depending on the order of  $entityManager->persist() calls:
$em->persist($entityOne);
$em->persist($entityTwo);
$em->flush();

A persisted first, B persisted second -> by the time the postPersist event logic is executed for A entity the B entity was already flushed to the database so it's got the ID and everything works fine
$em->persist($entityTwo);
$em->persist($entityOne);
$em->flush();

B persisted first, A persisted second -> by the time the postPersist event logic is executed for A entity the B entity has NOT been flushed to the database yet so its ID field was still null and as there was no code in place to handle this scenario we'd get a Doctrine\DBAL\Exception\NotNullConstraintViolationException: An exception occurred while executing a query: SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed exception
This PR fixes this issue by deferring the save of the revision record for that case to the postFlush event by which point we are sure that all changes in the entity manager were flushed to the database (which means that our entity now has its ID assigned).
I've added tests to ensure that both cases work with this fix.
Closes #522.
Changelog
### Fixed
- Not null constraint violation during many to many association audit recording

Thanks


top | bottom half and quarter screen size window resizing function results in vertically overlapping windows

Followup to https://github.com/ospfranco/sol/issues/52 (thanks for the addition!)
Currently
Windows overlap vertically when using quarter screen size or bottom | top half window resizing.
Expected
No overlapping.
Obviously low priority, filing so this remaining problem is visible in tracker

.

1.1.52 works fine. Thanks!


wsl --mount not working on arm64

Windows Version
Microsoft Windows [Version 10.0.22631.4169]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-2
Distro Version
Ubuntu 22.04
Other Software
No response
Repro Steps
wsl --mount
Expected Behavior
mounted disk
Actual Behavior
wsl-2.3.21 was supposed to fix #9611 on ARM64, however it still doesn't work:
PS C:\Users\elsaco> wsl --mount \\.\PHYSICALDRIVE2 --bare
wsl.exe --mount is not supported for ARM64 on this version of Windows.

Diagnostic Logs
No response

wsl.exe --mount on ARM64 requires Windows platform support which was added in version 27653.


Can I add this to my PHP project?

Hi my friend, it looks like promising project, but can I add this lib to my PHP project?
Thans for reply in advace
EDIT:
this is the place where I want to use your lib, please help!

EDIT 2:
It liiks line promising project but you are not responding @LadislavBohm !!!!???
EDIT 3:
OK, I just found new lib jQuery, i will solve my problem with this new lib. They have great support!

Hello, my friend, I am afraid you are a bit lost. This repository hosts client for C# programming language as stated in a title of readme:

Please refer to some of your PHP friends, they might be able to help you with that.

Thanks for closing issue. You wasnt helpfull to me anyway. Bye


[Event Hubs] Execute Samples failing in nightly runs

Event Hubs nightly test runs are failing with:

Error message:

For more details check here:

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1365791&view=results

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Azure.Core:0.4654374,Event Hubs:0.3075045,Docs:0.035000175'


Add verified layer to mesh service

motivation
When a client is using a remote api endpoint, the node service is not available as it is designed to monitor and control a managed node. We still want to let this client know about the verified layer number. Currently this data is only available via the node api.
changes

Add verified layer api method to the mesh service. The method should return the verified layer as reported by the api service backing node.

What's the downstream use case for this?

What's the downstream use case for this?

Explorer backend.


Map.add_popup method not working

The MapLibre JS does not seem to have the addPopup method. Ideally, the add_popup() method should accept lon/lat coordinates and HTML string to be displayed on the popup, similar to the JS functionality.
self.add_call("addPopup", layer_id, prop, template)

https://maplibre.org/maplibre-gl-js/docs/examples/popup/

I do not know what's the usecase for this, but I can add it if needed as Map.add_popup2 :-)

It works now with this. Not sure why it didn't work earlier.
url = "https://github.com/opengeos/datasets/releases/download/world/world_cities.geojson"
geojson = requests.get(url).json()
source = {
    "type": "geojson",
    "data": geojson
}

layer = {
    "id": "cities",
    "type": "symbol",
    "source": "point",
    "layout": {
        "icon-image": "marker_15",
        "icon-size": 1,
    },
}
m.add_source("point", source)
m.add_layer(layer)
m.add_popup("cities")


TravisCI inactive?

It would be preferable to run the tests automatically on changes/PRs.

@johnpaulett maybe you can enable the settings in github?  We currently have to enable it in our own forks, but it would be much appreciated having it for the main one too so that it tests PRs automatically.

I believe I've enabled the settings now, just waiting on next commit (I don't see a way to trigger a first job on travis):
https://travis-ci.org/jsonpickle/jsonpickle

thanks @johnpaulett. It works now!


Expiration of access token

Hello.
I have an issue with access token expiration.
It seems that access token does not get refreshed. If I run destreamer with an argument of video URLs file, it crashes in 1 hour with the following error message:
[WARNING] Got HTTP code 401. Retrying request...
[VERBOSE] Here is the error message:
'
[ERROR] Error: Request failed with status code 401
at createError (c:\Users\vytau\Downloads\destreamer\node_modules\axios\lib\core\createError.js:16:15)
at settle (c:\Users\vytau\Downloads\destreamer\node_modules\axios\lib\core\settle.js:17:12)
at IncomingMessage.handleStreamEnd (c:\Users\vytau\Downloads\destreamer\node_modules\axios\lib\adapters\http.js:244:11)
at IncomingMessage.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1220:12)
at processTicksAndRejections (internal/process/task_queues.js:84:21)
[FATAL ERROR] Unhandled error or uncaught exception!
Please check your download directory/directories and try again.
If this keep happening please report it on github "https://github.com/snobu/destreamer/issues"
As I understand from the source, application tries to refresh session after finishing each video download and convert process, but perhaps it failes.

Are you using the -k option when running Destreamer? If so did you click yes when asked to 'remember the credential'?

Yes I'm using -k option and "remember me" is checked.
2020-10-02 17:05 GMT+03:00, lukaarma<EMAIL_ADDRESS>
Are you using the -k option when running Destreamer? If so did you click yes
when asked to 'remember the credential'?
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/snobu/destreamer/issues/239#issuecomment-702753544

After each download did a chromium window pop up for a couple of seconds or after the first login no windows were spawned?

No, Chromium pops up only once at the beginning.
2020-10-02 17:30 GMT+03:00, lukaarma<EMAIL_ADDRESS>
After each download did a chromium window pop up for a couple of seconds or
after the first login no windows were spawned?
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/snobu/destreamer/issues/239#issuecomment-702767092

Mhhh ok I'll take a look and I'll let you know, but since I have little free time it will take time

Oh and just to make sure, you are running the latest commits on master branch?

--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/snobu/destreamer/issues/239#issuecomment-702800914

Could you please run it adding the --verbose flag and then copy here the output?

destreamer_output.txt

Thanks, found the bug
We have to pass the new session to the API class, fixing it tomorrow

You can work around this bug for now by adding the '-x' option at launch

OK, thanks.
2020-10-05 3:32 GMT+03:00, lukaarma<EMAIL_ADDRESS>
You can work around this bug for now by adding the '-x' option at launch
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/snobu/destreamer/issues/239#issuecomment-703339568

closing keep track of the bug in #244


I used the plugin to remove sections from my code using a regexp, is this still possible somehow?

         new ModifySourcePlugin({
            rules: [
               {
                  test: /\.tsx?$/,
                  modify: (src) =>
                     src.replace(/(?<=\/\/\s*#region ssr)[\s\S]*?.*?(?=\/\/\s*#endregion)/g, ""),
               },
            ],
         })

Hi! In last stable version (v4) unfortunately not. But recently I was working on new version (v5) that should have functionality for replacing text ranges and line ranges. And released it under 5.0.0-beta.1 version. There still is no official docs, but I can help you try it out right here.
In your example it will be:
new ModifySourcePlugin({
  rules: [
    {
      test: /\.tsx?$/,
      operations: [
        new ReplaceOperation(new MarkedLinesRange("// #region ssr", "// #endregion"), "", "all")
      ]
    }
  ]
})

Note that it's not final API and can be changed later.

Thank you, that works 👍🏻


accept a decription of a connection in the cli and translate it to co…

…mmon.ConnectionSet

Much better :-)
To make the parms complete, please add to AnalysisType another possible value query and add the following validity checks:

protocol must be specified for  AnalysisType query
All the new parms can be specified only if AnalysisType is query

Looks good, a few more minor comments


Automatic registeration of page layouts

Easy!
import React, { Component } from "react"
import { Route } from "react-router"

import AppContainer from "../components/AppContainer"
import PhenomicPageContainer from "phenomic/lib/PageContainer"

/* ! HERE IS THE TRICK */
const reqLayouts = require.context("../layouts", true, /\/index\.js$/)
const layouts = reqLayouts.keys().reduce((layouts, layout) => ({
  ...layouts,
  [layout.replace("./", "").replace("/index.js", "")]:
    reqLayouts(layout).default,
}), {})
/* ! */

class PageContainer extends Component {
  render() {
    const { props } = this
    return (
      <PhenomicPageContainer
        { ...props }
        layouts={ layouts }
      />
    )
  }
}

export default (
  <Route component={ AppContainer }>
    <Route path="*" component={ PageContainer } />
  </Route>
)

We should add this in the default theme and also try to reduce this code, maybe using a function that accept the "reqLayouts". An issue might be the context that will be used for the require (same thing as the hot reload for markdown...)

Can we force users to use web_modules/layouts as layouts location ? This would eliminate a lots of unneeded code in the boilerplate

We could highly recommend, but nothing should be mandatory. Especially file tree, which is likely to be adjusted depending on the need, context, legacy etc...
But I am not even sure that with this restriction, the problem will go away. The require.context usage can be very tricky from my previous tests (for markdown hot loading).

I used require.context a few times and like you said, it's very tricky.

I like the idea. =)
I wanted this originally but realized that it might be limiting for people who want custom file directories.
Maybe if you make that trick an optional phenomic util people can use?

Going to be fixed with #925 (moving to user-land)


Storing secrets

Motivation
In the past we have relied on keeping secrets in the filesystem and mounting them as:
volumes:
  /secrets: !Readonly /secrets

This is fine for smaller installations but has the following downsides:

Application must be able to read secrets from there
Users deploying applications are unaware of what is in the /secrets dir (i.e. is the config there is up to date)
They are plain-text for the host system
We need to sync them to machines somehow

Solution
Add the following to sandbox config:
secrets-private-key: /etc/some/file

Add the following to container config:
secret-environ:
  SOME_SECRET: I7OO1RBTRYk+oAZ6n/dhRMCDXwgW

The value of SOME_SECRET is the actual value encoded by a public key.
When process is started, lithos will decode those values and pass them as environment variables to the process.
Upsides:

Passing secrets as env vars is known industry practice
It requires minimal support from applications (and most already support that)
Secrets are versioned even if the contents is unknown
Anybody with commit privileges can add a secret (no need to access server by SSH or other means)

Downsides:

You have to publish public key somehow
If private key is compromised you need to redeploy every project (however, it's safe to assume that if private key is compromised, all the secrets are compromised, so you should change all the secrets anyway, presumably it's much more work than changing environment itself)
Many keys will be duplicated if multiple lithos configs need same secrets, this is convenience vs explicitness trade-off

Alternatives / Extra Features
We may also add the following to sandbox:
environ-secrets-file: /encrypted/secret.file # file is encrypted

And the following to container config:
external-secret-environ: [VAR1, VAR2]

To allow changing environ more dynamically.  But this means /encrypted/secret.file has to be deployed separately
Thoughts?
/cc @popravich, @anti-social, @jirutka, #13

In terms of the downsides (1) and (2) we can consider Travis' approach described here, ie:
update our deployment tools to generate/update/revoke key-pair for roles being deployed.

In terms of the downsides (1) and (2) we can consider Travis' approach described here, ie:
update our deployment tools to generate/update/revoke key-pair for roles being deployed.

The problem we're facing is not encryption of secrets, but the distribution of secrets. If we're going to have a key per project we're going to face the same issue: how to distribute private keys.
Saying it in other words: every server having a project should have a private key for that project. And if we could securely and reliably deliver keys to that nodes, we could deliver secrets in the first place and not bother encryption (And reiterating on why security is basically equivalent: both ways are hackable by root user on a host system, and both cases are unhackable by other containers)

This is done and released in lithos v0.16.0. Docs are here


FR for configuration summary on locust page; happy to implement if reasonable

Is your feature request related to a problem? Please describe.
Load tests have various configuration options (which test file, which test classes) which can be set on the command line but are not echoed in the status page. This can lead to some confusion (if you're not running the test you thought you were) and can make it a little harder to interpret screen grabs or reports.
Describe the solution you'd like
It would be great if key configuration options (locustfile selected, weighted mixture of test classes, etc) would be shown in locust reports. (The host and current worker count are already shown which is great.)
Describe alternatives you've considered
Can manage it by hand, but it's error prone!
Additional context
I'm happy to make a PR if the feature seems reasonable.

I think it sounds reasonable!
If we're adding it to the Web UI (not just HTML reports), I don't think we should cram in more stuff into the top bar. Instead we could maybe add an additional tab (among the Statistics, Charts, Failures, etc.) where we could have this info.
If you want to give this a shot, I'd recommend you to base it on PR #1644 (since it brings quite a few changes to the Web UI/reports).


Set up accept2ship for Dependabot

Current dependencies on/for this PR:

main

PR #74   👈

This comment was auto-generated by Graphite.


Refactor and improve integration test fixtures.

Closes #359. More details on the related issue.
This PR contains the following improvements.

Created a brand new DatabaseFixture. We'll create a unique database per each instance, and we'll delete the database on disposal.
We seed the database with test data (we actually write data, and not using HasData).
The tests won't reuse a shared DbContext, instead, we create a separate context for each test. This will lead to more reliable tests (especially while testing Include features).
We can define collection fixtures now. All tests part of the same collection will work against the same database. For now, we have a single ReadCollection that is utilized for all repository read actions.
For write actions, either we define a separate collection or utilize the ClassFixture instead.
The fixtures for EF Core and EF6 are consistent now.
Other improvements and cleanup.

Note to self: The connection to the database fails. It happens randomly for a given project, usually 2 of them succeed completely and 1 one of them fails (and they shift randomly). I suspect now that we're creating DbContext for each test separately, we face connection pool exhaustion perhaps?
Btw, locally there is no issue at all; neither running from Test Explorer, nor through cli, nor through Docker. It has to do something with the environment in CI.
System.Data.SqlClient.SqlException : Connection Timeout Expired.  The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement.  This could be because the pre-login handshake failed or the server was unable to respond back in time.  The duration spent while attempting to connect to this server was - [Pre-Login] initialization=20164; handshake=24;


add URL params to set unit and authoring controls visibility

This PR adds two URL parameters that can be used to configure the initial simulation state.

hide-model-options: when included, the model options authoring dialog in the upper-right is hidden.
unit={name}: when included we configure the application for the specified unit. Unit name can currently be set to Seismic or Tephra (e.g., unit=Seismic). Values are case sensitive.

This PR can be tested with the following URLs...
No URL params:
https://geocode-app.concord.org/branch/set-seismic-from-url/index.html
Hide the model options:
https://geocode-app.concord.org/branch/set-seismic-from-url/index.html?hide-model-options
Set the unit to Seismic:
https://geocode-app.concord.org/branch/set-seismic-from-url/index.html?unit=Seismic
Hide the model options AND set the unit to Seismic
https://geocode-app.concord.org/branch/set-seismic-from-url/index.html?hide-model-options&unit=Seismic

D'oh, you have number 1 already. I knew that.

This is probably fine for the PT story as specified. If the authors are going to start asking for changes to these defaults, however, I think it would be much better to simply bring in generic url-parameter-authoring, so that the authors can construct their own urls from the authoring.
We actually had this a while ago. It was originally added here: 65d6270, and removed here: #73. I think it would be possible to integrate it into the current merging of props that happens during the loading of authored data.
This would let us return to the state of having a "Generate URL" button in the authoring menu.
However, again, that's overkill for this story, and would also result in ugly urls.
One small change I might suggest:

Also support ?unit=Tephra, for symmetry
If a unit is specified in the url, automatically hide the authoring menu

This would allow you to have two smaller, obvious urls for the two units.

Yeah, I'm with you on this too.  If this gets any more complex, then we should just make it so someone can author their own URL for whatever authoring settings that they want.  It could be a button in the model options to make the URL (like you did in CBio).  I'll add change 2, merge, and investigate your suggestions.  There might end up being a little more GeoCode time to do something like this.


Dev

Code test out, maybe GitHub will play nice?

The code is clear and well written. There are no issues or conflicts with the master branch. I tested out the added code and it works with the grade book repo.


[CRITICAL] [Groups] Frontend (Part 2): Update the Group Chat creation flow UI and Details page

Doc Section: https://docs.google.com/document/d/1NcklRh6NogUWhKL0J5udTE8bok3_9ZoZ57JTllP-QJg/edit#bookmark=id.pa6oyw3cxv7q
Holding on:

[x] https://github.com/Expensify/Expensify/issues/340997
[x] https://github.com/Expensify/Expensify/issues/352995
[x] https://github.com/Expensify/Expensify/issues/340999
[x] https://github.com/Expensify/Expensify/issues/341005
[x] https://github.com/Expensify/Expensify/issues/341001
[x] https://github.com/Expensify/Expensify/issues/341002
[x] https://github.com/Expensify/Expensify/issues/341004
[x] https://github.com/Expensify/Expensify/issues/341003
[x] https://github.com/Expensify/App/issues/32317

Group Chats Design Doc
High level section with mockups: https://docs.google.com/document/d/1NcklRh6NogUWhKL0J5udTE8bok3_9ZoZ57JTllP-QJg/edit#bookmark=id.9fdzsieljz63
At this point, the latest app version has already migrated off of Group DMs and is creating Group Chats under the hood. We now need to add the ability to:

Give a custom group name during creation
Upload a custom avatar
Add the update member role page and set the roles

We will also allow people to do these things + invite members via the "Details" page when tapping on a Group chat.
By the end of this ticket we should be able to:
Creation

Give a custom group name

Tapping/clicking the group name on the confirmation will push to a new page where editing is possible. The group name is pre-selected to optimize for adding a custom, unique name instead of the default

Upload a custom avatar

This should work similar to how uploading an avatar works for workspaces (example)

Both of these will need to be staged/stored locally so that they can be passed to the API when we tap "Start group"
Details view (accessible from tapping on the Avatar in the header of the chat)

Avatar can be updated from here (by anyone)
The "Leave" button will allow a user to leave the Group (HOLD on API changes)
The "Pin" button will be the same action as right-click to pin
"Call" will generate a Google Meet link
Share page - works the same as existing chats
Private notes - same as existing chats
Settings - same as existing chats however we can also change the Name of the report here (anyone)

Members page

The design for this closely follows the design for the Simplified Collect design doc so should be held on those changes and/or worked on in parallel and we will have a shared component for both flows.

We can see who is an admin and not in the Members page (pill tag)
For admins, we can select multiple or all members (for bulk actions)

Selecting members will replace the "Invite members" button with the n selected button with dropdown (shown above)
Note: The highlighting styles when members are selected.
Tapping the "3 selected" opens the popover menu with these options:

Remove members
Make admin (when at least one member is selected)
Make member (when at least one admin is selected)

Confirmation modal will be shown for "Remove members"

For members (non-admins), we will see this:

Tapping a row (not the checkbox) will bring them to these screens respectively:
Admins

"Remove from group" option will launch a confirm modal
Role selector will launch a new screen like this:

Profile - takes you to the profile

Members
Just go direct to the profile screen for the user

Invite member button
Opens to a new screen:

Multiple members can be invited
"Invite" button shows when at least one member is staged
Redirect back to the "Members" page on success with new members visible.

Testing membership changes
When a member is added/removed or their admin status changes we will display the following "system messages" and must confirm these messages are present and showing up correctly prior to launching these features.

a system message will clarify when someone is invited, e.g. “invited %displayName%”, visible to all participants
Removing a member from a Group chat triggers a system message for all Group chat participants, e.g. “removed %displayName%”
When someone is made an admin, or demoted back to a member, we’ll use a “whisper” style message so that person knows that their role changed, e.g. “made %displayName% a member” or “made %displayName% an admin”

Bumping to Weekly but it's still on HOLD pending more Auth changes and the first App PR. This issue will introduce all the features we need to complete the Group Chats feature.

Still on HOLD as we need to get the first PR merged. I think @waterim will help us here as well. But let me know if that has changed!

Making this a Daily since I think the first PR is close enough that we can begin to work on the second.

Hello, Im Artem from Callstack

Removing this issue from the scope to HOLD on https://github.com/Expensify/Expensify/issues/341000 (I have doubts we will complete that particular migration by May 1st).
However, the issue here really needs to happen ASAP.
@waterim Thank you for your continued hard work here! 🙇
We ideally need to have something in review by next week. Let me know if it will be possible. I am hopeful because the APIs for these other features we are layering on top of the Members page should be pretty simple in comparison to adding the ability to create a Group Chats together with the Group DMs.

Last PR still not deployed - but removing the HOLD since there is no need to wait 🚀

@waterim do you have an update on this one? This is high priority so it would be great to make some steady progress.

@danielrvidal yes, already had a conversation with @marcaaron
Started today and working till the end of this week before OOO and after @marcaaron will take it not to loose any time here

My update: added invite, updated members page, added edit chat name

@s77rt would you like to work with us on this one as the C+?

Yes sure!

The final major front end PR is more or less shaping up into a testable state 🚀
To do list before merge:

[ ] Wait for https://github.com/Expensify/Web-Expensify/pull/41571 to go to production to fix a bug related to updating the avatars (it's on staging already so should be sometime today or tomorrow).

[ ] Trigger an AdHoc build on the current PR and loop in Design team for feedback.

[ ] Cover failure cases for the new API commands. The "success" case works well, but there's basically no error handling so I want to make sure there is at least some minimal error handling in case something goes wrong.

[ ] The es translations are placeholder. Need to request help with that.

[ ] We need to confirm the marketing copy for this:

In the case where the last member of a Group chat opts to leave, we’ll display a confirmation warning message explaining that the Group chat will be inaccessible to all users for all time if they leave.

Lastly, as we work through this it has become more clear that there are opportunities to harmonize the UI for both the UCR and Group Chat flows. I suspect we will have some follow up issues as part of this. My goal for this week is to get the Group Chats feature as laid out in the doc onto staging. Then we can look at everything else. cc @shawnborton @dannymcclain since you both had some ideas here. I want to make sure we address them - but maybe we can do some follow up collaboration once we first implement what was decided in the Design Doc.

In final reviews now.

This is on production now.


Log in After Installtion

Bug Report
Installation Method
I installed it on Ubuntu using docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Problem
After installation following GitHub instructions, the app can be visisted on localhost. It requires email and password to log in, but I don't see any admin or default username and password. Anyone knows what to do next?

You need to enable new sign ups and register a user. First one gets admin rights automatically


The differences from the official implementation?

Hi developers, thank you for completing this wonderful re-implementation.
As I am checking the differences between this repo and the original one, I noticed that the original repo also implemented stable diffusion.
I am wondering if you would like to list the additional features, those exclusive in this repo, on the README page. Will appreciate your clarification very much!

Hi, this implementation was done before the authors had released the code, so in a sense, the official repo's code is more "correct" with respect to the paper, while here I had to take some guesses and add a few modifications.
Currently there are three main differences:

As there is zero code overlap between the two repos, the license and code ownership is different, (this one is licensed under MIT, official one is Apache)
The official repo has implemented local editing (using the cross attention masks), while this one does not.
This repo has implemented image inversion (finding the latent given an image), while the official repo does not (at least not currently).

While the actual implementation of the cross-attention control/injection might be slightly different, the results are mostly the same, as I tried to be as faithful to the paper but had to modify the algorithms slightly for stable diffusion. I guess the original authors had to do the same thing but in a different way.


Added next_permutation in algorithm section

I have Added next_permutation code as well as description in algorithm section

#257


Start on SequenceCollections refactor

working towards #1867
questions wrt direction are commented in place

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

47 of 51 (92.16%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 92.013%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/cogent3/core/new_alignment.py
45
46
97.83%

src/cogent3/init.py
2
5
40.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
30539

Relevant Lines:
33190

💛  - Coveralls


What version of yarn to use?

What version of yarn is recommended?
This is Ubuntu 20.04
(venv) irrexplorer2@irrexplorer0:~/irrexplorer$ yarn --version
0.32+git
(venv) irrexplorer2@irrexplorer0:~/irrexplorer$ poetry run frontend-install
Usage: yarn [options]

yarn: error: no such option: --cwd
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/irrexplorer2/irrexplorer/scripts.py", line 28, in frontend_install
    check_call(["yarn", "--cwd", "frontend/"])
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['yarn', '--cwd', 'frontend/']' returned non-zero exit status 2.

I have tested with 1.22.10 on Mac OS and Arch. So yours seems really old. From some googling, it seems like the typical thing is to install yarn not through apt, but through npm, as npm install -g yarn.


test: Optimize feature_block_reward_reallocation.py

Locally, develop is running in 308 seconds while this branch is running at 199 seconds. A nice improvement if I do say so myself :D

Can confirm 340s -> 130s improvement locally here 👍 I remember that we had to do sync_blocks every so often to make sure nodes aren't overwhelmed with blocks which was critical for Travis builds at some point, waiting for https://travis-ci.com/github/UdjinM6/dash/builds/186965759 to confirm that I was too cautious :) Also, pls see 4abd311c98 and 902c35156d

I don't see the point of 902c35156d96b081f6f35c54cdb7b436c1cb93d4

We push all blocks and check chain state changes via node0 only. Would probably make sense to make sure blocks are propagated via p2p and accepted on the other node too, just in case.

Maybe I'm misunderstanding something, but in my mind, this other node is really just needed to serve as the mn to get paid in block reward, there should be no situation where we accept a block (in test suite) where our peer doesn't since we are running the same build and generating / submitblock will validate the block against validation rules in the same way the peer would..
Maybe I'm missing some value

generating / submitblock will validate the block against validation rules in the same way the peer would

But, technically, these are two different routes (rpc vs p2p). If we would need to test internal validation rules only we could probably be simply using unit tests instead.

Seems fair, cherry-picked

Those changes are intentional in order to make the file more in line with python formatting standards


Remove pinot-core and related dependencies from presto-pinot-driver

Description
This PR intended to remove the dependency of pinot-core so the only JDK 8 dependent libs are pinot-spi/pinot-segment-spi/pinot-common.
To remove the dependency, we need to copy some data structure implementations from pinot-core to presto-pinot-driver.
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes

Documentation

Codecov Report

Merging #7932 (d31c436) into master (6037cac) will decrease coverage by 56.81%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master    #7932       +/-   ##
=============================================
- Coverage     71.15%   14.33%   -56.82%
+ Complexity     4111       80     -4031
=============================================
  Files          1593     1548       -45
  Lines         82365    80494     -1871
  Branches      12270    12067      -203
=============================================
- Hits          58609    11541    -47068
- Misses        19806    68097    +48291
+ Partials       3950      856     -3094

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
14.33% <ø> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Remove debugging Println call from View()

Looks like some debug code was left in View().  Please merge this so we don't get the unnecessary output.

Sorry about that :) Done!


Fix an "Undefined offset" error

Coverage remained the same at 80.361% when pulling 814b12b46936542e41c44dc8f98bf7af777636c5 on hotfix/fix_undefined_offset_error into 5c1bb23cdcc694b7877393bbcb871c80a5cf728e on master.


html tag function for generating templates

Fixes #4937

@justinfagnani No, I generate the Changelog when we make a release
A docs issue would be great!

One comment on file names: I'd consider naming the file html-tag.html, as user might not see this as a normal function.


[SVCS-418] Improve md rendering

Ticket
https://openscience.atlassian.net/browse/SVCS-418
This PR replaces: https://github.com/CenterForOpenScience/modular-file-renderer/pull/272
Purpose
Credit goes to @AddisonSchiller 🎆 🎆 .
Currently MFR and the OSF wiki pages do not use the same flavor of markdown to render .md files. This ticket/PR fixes the inconsistency.
Changes
Before (The MFR Way)
MFR uses python's markdown library to parse the .md file in backend and send the ready content directly to iframe.
After (The OSF Way)
MFR uses markdown-it with several plugins to perform rendering at the front-end.
MFR backend only bleaches the .md content in advance.
Difference between OSF and MFR

bleach is not exactly the same due to python version difference.
Scripts in MFR are customized and ES5-downgraded due to no package manager

An Example

Side Effects
Side Products

Introduce eslint with es5 plugin (Need to write a guide on how to use eslint for MFR)
.gitignore update: ignore /node_modules/ and /src/

Issues

MFR's bleach handles invalid tags better then OSF's. Here is an example:

Most issues I found are shared by OSF and MFR. (Need comprehensive tests)

QA Notes
Please refer to the https://github.com/CenterForOpenScience/modular-file-renderer/pull/272 for QA and Dev notes.
Deployment Notes
TBD

@felliott Thanks for the review. Need to take another look since it's been a while. Hopefully later this week.

Coverage decreased (-0.2%) to 71.114% when pulling edf8ae58a1d3b7a8513dbd4022fdc6ef2a51645c on cslzchen:feature/svcs-418-improve-md into 681a0ce0618d047cc9481b1bd9174b9f7b2d2b1b on CenterForOpenScience:develop.


no option to disable fly from top Animation

Please add an option to disable the alert presenting animation.
Either add an animation interval parameter or a bool to enable or disable it
self.baseView.frame.origin.y = -400
        UIView.animateWithDuration(animationInterval, animations: {
            self.baseView.center.y = rv.center.y + 15
            self.view.alpha = 1
            }, completion: { finished in
                UIView.animateWithDuration(0.2, animations: {
                    self.baseView.center = rv.center
                })
        })

Feel free to submit pull request


Add waitpid flags for *BSD operating systems

Works on FreeBSD 11, FreeBSD -CURRENT and NetBSD 7. OpenBSD -CURRENT and DragonFly 4.8 don't compile for other reasons, I should probably fix that stuff too…
Prompted by ion's use of WCONTINUED :)

@myfreeweb Thanks for the PR! This work overlaps heavily with #651. Could you comment on that PR with what BSD platforms support the various WaitPidFlags constants?

Oh I completely missed that one. Sure.


Spark Core: Error writing firmware...CRC is invalid, use --force to override

I re-installed particle-cli on a Mac (trying to get my old Spark Cores to work) and now I get this error when trying to update the firmware:

particle flash --usb cc3000
running dfu-util -l
Found DFU device 1d50:607f

Error writing firmware...CRC is invalid, use --force to override

Add --force to your command to bypass this error. I will fix the CLI to not warn about known apps in the future.

I did, just wanted to make sure it would be ok. Thanks. This can be closed.
Regards,
Ernesto

On 17 Jan 2016, at 10:34, Bryce Kahle<EMAIL_ADDRESS>wrote:
Add --force to your command to bypass this error. I will fix the CLI to not warn about known apps in the future.
—
Reply to this email directly or view it on GitHub.


Target files missing while building

Some target files are missing while building solang-0.3.3 on macos.
Steps to reproduce the behavior:

Build LLVM-LLD: cmake -S llvm -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS=lld -DCMAKE_INSTALL_PREFIX=$HOME/llvm-15.0.7
install: cmake --build . --target install
set $HOME/llvm-15.0.7/bin to PATH
run cargo build from top-level directory
output of solang --version: 0.3.3
I am getting below error:

error: couldn't read src/emit/../../target/bpf/stdlib.bc: No such file or directory (os error 2)
    --> src/emit/binary.rs:1247:5
     |
1247 |     include_bytes!("../../target/bpf/stdlib.bc"),
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read src/emit/../../target/bpf/bigint.bc: No such file or directory (os error 2)
    --> src/emit/binary.rs:1248:5
     |
1248 |     include_bytes!("../../target/bpf/bigint.bc"),
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read src/emit/../../target/bpf/format.bc: No such file or directory (os error 2)
    --> src/emit/binary.rs:1249:5
     |
1249 |     include_bytes!("../../target/bpf/format.bc"),
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read src/emit/../../target/bpf/solana.bc: No such file or directory (os error 2)
    --> src/emit/binary.rs:1250:5
     |
1250 |     include_bytes!("../../target/bpf/solana.bc"),
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read src/emit/../../target/bpf/ripemd160.bc: No such file or directory (os error 2)
    --> src/emit/binary.rs:1251:5
     |
1251 |     include_bytes!("../../target/bpf/ripemd160.bc"),
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read src/emit/../../target/bpf/heap.bc: No such file or directory (os error 2)
    --> src/emit/binary.rs:1252:5
     |
1252 |     include_bytes!("../../target/bpf/heap.bc"),
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read src/emit/../../target/wasm/stdlib.bc: No such file or directory (os error 2)
    --> src/emit/binary.rs:1256:5
     |
1256 |     include_bytes!("../../target/wasm/stdlib.bc"),
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read src/emit/../../target/wasm/heap.bc: No such file or directory (os error 2)
    --> src/emit/binary.rs:1257:5
     |
1257 |     include_bytes!("../../target/wasm/heap.bc"),
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read src/emit/../../target/wasm/bigint.bc: No such file or directory (os error 2)
    --> src/emit/binary.rs:1258:5
     |
1258 |     include_bytes!("../../target/wasm/bigint.bc"),
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read src/emit/../../target/wasm/format.bc: No such file or directory (os error 2)
    --> src/emit/binary.rs:1259:5
     |
1259 |     include_bytes!("../../target/wasm/format.bc"),
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

error: couldn't read src/emit/../../target/wasm/ripemd160.bc: No such file or directory (os error 2)
    --> src/emit/binary.rs:1262:30
     |
1262 | static RIPEMD160_IR: &[u8] = include_bytes!("../../target/wasm/ripemd160.bc");
     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |
     = note: this error originates in the macro `include_bytes` (in Nightly builds, run with -Z macro-backtrace for more info)

I checked the ../../target/wasm directory and it is empty.

1- you should use the solana's llvm-fork: https://github.com/hyperledger/solang-llvm.
2- you should cd into stdlib, and run make.

hey @salaheldinsoliman, thanks for the steps. While running make in stdlib directory, I am getting below error:
error: unknown target triple 'sbf', please use -triple or -arch
make: *** [../target/bpf/solana.bc] Error 1```


Bootstrap Support

It would be great to see a Bootstrap version of MegaType, a lot of our clients use it.

https://github.com/studiothick/megatype-bootstrap :+1:


Hacking_Windows_ALPHA.pdf errors

On page 5, "We also use the stdcall Win32 callign" calling misspelled.
On page 5 it says, "Our first Win32API that we will call is the ExitProcess which simply exits the application and frees up the operation to the Windows OS." But that is the second function called, MessageBoxA is the first.
On page 6, "The first param is HWND hWnd which is a handle to the owner of the window of the message box to be created and in our case it is NULL meaning the message bhas has no owner." "has" or "box has" misspelled.

Thank you so kindly @HadManySons I will make these revisions during the next lessons release.

Just pushed revision 2.


[Bug] Thaumcraft support completely broken in 0.8.1

As the title suggests, Thaumcraft support seems to not work at all with the most recent version. The scripts parse just fine, there are no errors... but nothing changes. Neither on /mt reload, world restart or full game restart. Even something as simple as changing the oak log aspects to ignis doesn't work.
Forge version is <IP_ADDRESS>1
Thaumcraft <IP_ADDRESS>
MineTweaker3 3.0.9C
ModTweaker2 0.8.1

Use 0.8

That's still somehow bugged compared to way earlier versions like 0.6.0. Adding or changing anything research related now creates a NPE, which always looks like this.
java.lang.NullPointerException
at modtweaker2.mods.thaumcraft.research.AddPrereq.apply(AddPrereq.java:33)
at minetweaker.runtime.MTTweaker.apply(MTTweaker.java:65)
at minetweaker.MineTweakerAPI.apply(MineTweakerAPI.java:173)
at modtweaker2.mods.thaumcraft.handlers.Research.addPrereq(Research.java:117)
at Thaumcraft.script(thaumcraft.zs:8)
at ZenMain.run(thaumcraft.zs)
at minetweaker.runtime.MTTweaker.load(MTTweaker.java:157)
at minetweaker.MineTweakerImplementationAPI.reload(MineTweakerImplementationAPI.java:624)
at minetweaker.MineTweakerImplementationAPI$1.execute(MineTweakerImplementationAPI.java:82)
at minetweaker.MineTweakerImplementationAPI$19.execute(MineTweakerImplementationAPI.java:610)
at minetweaker.mc1710.server.MCServer$MCCommand.func_71515_b(MCServer.java:124)
at net.minecraft.command.CommandHandler.func_71556_a(CommandHandler.java:94)
at net.minecraft.network.NetHandlerPlayServer.func_147361_d(NetHandlerPlayServer.java:739)
at net.minecraft.network.NetHandlerPlayServer.func_147354_a(NetHandlerPlayServer.java:718)
at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:37)
at net.minecraft.network.play.client.C01PacketChatMessage.func_148833_a(SourceFile:9)
at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:212)
at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:165)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:659)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
The only difference is that AddPrereq in the very first line is replaced with either AddSibling or AddPage, depending on what is used (Parent or Sibling) or if Parent/Sibling is missing (so it goes straight to AddPage).

Seconded. Thaumcraft research broken for me once I upgraded as well. 0.8.1 silently ignores all research commands.