Implement more optimal scheduling for pages stream

Currently the pages stream is an equivalent of a hand-written loop that can look something like this:
let mut request = SomeRequest::default();

loop {
    let response = client.send(request).await?;

    process(response.extract_data());

    match response.token {
        Some(next_page_token) => {
            request = SomeRequest::from(next_page_token);
        }
        None => break,
    }
}

The loop above sends the request awaits the response and process results sequentially. However, there is a more optimal way of doing the same things which should be fairly easy to implement by modifying the current request_next_page impl. If there exists a next page we can send a request for it immediately, even before yielding the current response results, and at the next stream evaluation we will await the already progressing future making awaiting the next response and processing current results go in parallel!
Here is a list of primitives which can help to achieve the desired behavior:

futures::MaybeDone
FutureExt::now_or_never
futures::poll!

This would make sense especially when iterating on the items() stream (which I assume to be a common usecase). From that perspective it seems odd that there are these special elements (at page ends), after which getting the next one takes considerably longer (fetching the next page).
It's a bit unclear from the documentation whether pages_ahead fares any better in this regard? Does that just greedily try to get all the pages regardless of how many have been yielded?
PS. This is a nice project! There's definitely use for this kinda crate.

From that perspective it seems odd that there are these special elements (at page ends), after which getting the next one takes considerably longer (fetching the next page).

Yes, this is exactly what I'm trying to solve in this issue, the new implementation should reduce(but not eliminate) fetch delays at page boundaries.

It's a bit unclear from the documentation whether pages_ahead fares any better in this regard? Does that just greedily try to get all the pages regardless of how many have been yielded?

Yes, certainly, and pages_ahead will be more optimal even compared to the next implementation of pages. Unlike pages, pages_ahead fetches first requests_ahead_count pages in parallel and as soon as it gets any page it immediately starts to fetch the next one. In other words while you're processing fetched items there are always requests_ahead_count fetch tasks running on the background which makes delays a lot smoother.
In general, for non-cursor pagination patterns you should always prefer pages_ahead/pages_ahead_unordered streams.

PS. This is a nice project! There's definitely use for this kinda crate.

Thank you! I'm already at the point where I cannot imagine how to work with AWS/Azure APIs or scrap sites without the help of this crate. It just reduces all the mess into a bunch of combinators or into a simple while loop :)

Thanks for the explanation @a1akris.

Yes, certainly, and pages_ahead will be more optimal even compared to the next implementation of pages. Unlike pages, pages_ahead fetches first requests_ahead_count pages in parallel and as soon as it gets any page it immediately starts to fetch the next one. In other words while you're processing fetched items there are always requests_ahead_count fetch tasks running on the background which makes delays a lot smoother.

The one thing I'm a bit worried about with this is memory usage. If the processing of elements is slower than the page fetching and the iterated collection is huge, I'll end up with an unbounded amount of pages in memory? If this is correct then I'd feel better about having an argument for throttling the page fetching. E.g. something like ready_pages_limit.

Good question! The argument you're referring to already exists: request_pages_ahead_count. I mentioned that fetching happens in the background in parallel, which is true because pages_ahead_* streams schedule multiple futures that query a corresponding page at the same time. However, the scheduling itself does not happen in the background! The scheduling logic triggers only when the .next() method is called hence asymmetries in processing and fetching speeds don't matter!
Example
let mut items = std::pin::pin!(client.pages(4, req, Limit::None));

// Here the stream schedules 4(requests_ahead_count) futures and as soon as the first one completes it schedules the 5th request and returns you the first page to process
let page1 = items.next().await;

// While we're here, no extra futures can be scheduled in the background, but futures that have already been scheduled are executing.
process_page(page1); // sleep for 300 seconds

// The 2nd request was certainly completed in 300 seconds, so you get the second page immediately but before yielding results the stream schedules the 6th request
let page2 = items.next().await;

// Get 3rd page, schedule 7th request.
let page3 = items.next().await;

// and so on...
let page4 = process_page(items.next().await);

TL;DR
If turn_page allocates M bytes of memory then pages_ahead_* allocates NM + C bytes of memory, where N is request_pages_ahead_count and C is a scheduler state allocated only once upon stream creation.

Thanks again for the detailed explanation! Ya that makes sense. Perhaps a similar note about memory usage could be added to the docs too?


MASS should be able to supply (and apply) a reasonable set of anti-pile-up cuts

Original report by Joseph Fowler (Bitbucket: joe_fowler, ).

The current design of MASS requires the user to create a cuts-definition object, in which the minimum and/or maximum values of certain summary quantities are specified. These values have to be given as actual numbers, after which the user can then proceed to apply the cuts.
As @oneilg has discovered (in his work on real-time processing), we can usually get away with a relatively short list of key cuts. More importantly, the values of these key cuts can be computed in a similar manner to how we can make a perfectly sensible guess at the pulse's typical peak time (see #90). I forget the details.
Anyway, the point is that we should be able to add a few methods such that the user can do the following:
for ds in data:
    cuts = ds.auto_cuts()  # this is the only new bit
    ds.clear_cuts()
    ds.apply_cuts(cuts)

# And perhaps we could even add the following, which would be a synonym of the above:
data.apply_auto_cuts()

Notice that--for the first time--that interface would allow each channel to get a different set of cuts. Is this good or bad? Probably, but not definitely, good.

Original comment by Joseph Fowler (Bitbucket: joe_fowler, ).

I think I'm going to add auto-cuts as a separate feature from smart-cuts. However, it would make sense to unify the two interfaces, so I'll look into that. I'll give both the same behavior in terms of storing the last-used cuts.


Operator metrics

Added support for operator metrics, by default at port 8080, which could be configured using --metrics-addr command-line argument.
Changed the validation logic in e2e tests to make use of these metrics to know when a deployment CR went through the reconciliation loop and, to detect if any unexpected object updates initiated by the operator.

Tests didn't pass: "unexpected sub-object updates by the operator".


[DOC] Documentation on how to Trying out saml app with WSO2 Identity Server in a tenant

Is your suggestion related to a missing or misleading document? Please describe.
Currently we don't have the information about how to trying out a saml app with a tenant in IS official documentations.[1]
Describe the improvement
There are some additional configurations we need to follow when trying out saml app with a tenant.
We can found out the steps from this blog. [2]
Need to document these steps in IS official documentations.
Ref:
[1] https://is.docs.wso2.com/en/latest/learn/deploying-the-sample-app/#deploying-the-saml2-web-app-pickup-dispatch-webapp
[2] https://piraveenaparalogarajah.medium.com/trying-out-saml2-pick-up-dispatch-app-with-wso2-identity-server-in-a-tenant-20626ac4865a

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Unable to click on post in thread to expand it

Describe the bug
I noticed today that I can no longer click in the body of a reply in a thread to expand the reply. Everything else is clickable, as expected (e.g. I can click on the age / visibility link in the top right to access the menu to expand / like / etc. the reply). I am still able to go in the opposite direction: I can click in the body of the parent post seen above the expanded reply to expand that instead.
I have reproduced this on two different computers in Firefox and also in Chrome. The same thing happens on phanpy.social and on dev.phanpy.social. My instance: hachyderm.io.
To Reproduce
Steps to reproduce the behavior:

Click on any post which has a thread of replies
Click in the text body of a reply
Nothing happens.

Expected behavior
When I click in the body of the reply I expect it to be expanded (for the view of the original expanded post to be replaced by the view of the expanded reply).
Desktop:

OS: Ubuntu Focal
Browser: Firefox (also tested in Chromium)
Version: Firefox 121; Chromium 120

Unfortunately the same thing here, but with Google Chrome 120.0.6099.199 (Official Build) (64-Bit)

Currently this is a feature. I would be interested to know why you want the whole body to be clickable? 🙇♂

Two reasons I don't like this:

Here's a screenshot. This is a very short thread where maybe I want to boost or reply to the 2nd in the thread, not the first, but I can't.

Today, @laffy was doing this huge courtroom thread. Used to be, when I went away and came back after a minute, I could click on any unselected post in the thread and it would pull in any new posts. That doesn't work any more.

@timbray

Here's a screenshot. This is a very short thread where maybe I want to boost or reply to the 2nd in the thread, not the first, but I can't.

The functionality is still there but under a menu. Either right-click or click on the timestamp/3-dots which will show the action buttons and "View post" menu if you still want to expand it.

Today, laffy was doing this huge courtroom thread. Used to be, when I went away and came back after a minute, I could click on any unselected post in the thread and it would pull in any new posts. That doesn't work any more.

Hmm, interesting. You click on the unselected post(s) to refresh the whole thread and see new replies 🤔. For this use-case, there's a refresh button in the other 3-dot menu (topmost header) which I guess is kinda hidden and requires more clicks. If I'm not mistaken, scroll position should still be preserved when clicking on "Refresh" (unless the whole thread suddenly have huge number of replies that they push down the reply that you're "watching" 🤔)

On the first use case, it seems to me that a core idea of phanpy is that if I want to interact with a post then I click on the post.  Why should that change just because it's in a thread?  This really seems like a step backward.
On the second, I admit that I was relying on a side-effect .But wanting to refresh a hot thread is very common for me, particularly this year with lots of hot political events. BTW Twitter used to have the same semantic, click on a non-current post in the thread and it refreshes the thread. So I guess my only request is, give a way to refresh that doesn't require drilling into a menu.

Whole-post click works for timelines, where posts are truncated with smaller media previews, etc.
For nested replies, they are not truncated, so I assume there's not much benefit "expanding" them into individual post. Using the menu (that contains actions) to interact directly would be faster than opening the whole post which will fetch all ancestors/descendants again (which you use it as a side-effect).
I personally also suspect this is a habitual "muscle memory" that was trained from other platform UI's (e.g. X, some mobile apps, Mastodon itself even, etc) where they don't have nested replies UI, so you have to keep clicking the post to dive deep into the conversation. This doesn't apply to other platforms with built-in nested replies UI e.g. Reddit (I know Reddit has single-sub-comment view/page too, but it's mainly for sharing as links)
As for relying on the side-effect, I'll try experiment a faster way to refresh the thread and see if it works 🤞.
I'm aware that this will be a bit hard to "unlearn" 🙇♂

I was beginning to suspect that this was an intentional change. I agree with @timbray that the old behaviour is what I would intuitively expect by analogy to the behaviour of posts in other contexts, but I can understand the efficiency argument.
My main use case for this is not to read the replies to the replies (since I prefer to expand the subthread in the original thread), but to like and boost replies. I usually do both at once, and it's a bit irritating to have to expand the menu, like, expand the menu, and boost, rather than expand the post, like, and boost. But I can see the benefit of not having to leave the main thread to interact with a reply.
My main objection to the new behaviour is not the added step (since you could count clicking to go back to the parent post as a step), but the change in the spatial layout of the commands, if that makes sense. ~I also don't think that the new behaviour is easily discoverable: there is no visual indication that you can click on the date link to get a menu (if you hover over it you see a link to the post, and I would expect clicking on it to open the post on its original server). Would it be possible to add an additional, explicit icon for the menu, which is the same as the icon used for the thread's menu and the expanded post's menu?~ I just refreshed and I see that you've done exactly that, which is great (although I would still suggest using the exact same icon, with the ellipsis inside a circle).

Whole-post click works for timelines, where posts are truncated with smaller media previews, etc.

This still feels like a real UX inconsistency, maybe because an ordinary human doesn't really distinguish a list of posts that are a feed from a list of posts that are a thread.  When I see a list of posts and I want to interact with one of them, I click on it.   Except for now I can't.

For nested replies, they are not truncated, so I assume there's not much benefit "expanding" them into individual post. Using the menu (that contains actions) to interact directly would be faster than opening the whole post which will fetch all ancestors/descendants again (which you use it as a side-effect).

If you provide a good UX for "please refresh" then I think it would be totally OK to lose that.  But when I explain phanpy to people I say "the most important thing to know is that if you want to boost or reply, click on the post first".  It bothers me that I would have to say "…except for…"

I personally also suspect this is a habitual "muscle memory" that was trained from other platform UI's (e.g. X, some mobile apps, Mastodon itself even, etc) where they don't have nested replies UI, so you have to keep clicking the post to dive deep into the conversation. This doesn't apply to other platforms with built-in nested replies UI e.g. Reddit (I know Reddit has single-sub-comment view/page too, but it's mainly for sharing as links)

Yes, I agree, I like the way phanpy handles threads/conversations. But I don't see why we have to lose the click-to-interact semantic.

As for relying on the side-effect, I'll try experiment a faster way to refresh the thread and see if it works 🤞.

👏👏

By analogy, here's a thread. Because it happens to be in the main feed, I can click on any entry to interact.  So I have to explain “in phanpy, if you want to interact you click, unless it's in a thread, except for when the thread is in the main feed…” Why can't it just be “want to interact? click.”


Resource contention on Windows using the Python API

When I try to insert nodes and relations in a loop, like below, sooner or later I get the following exception:
(<class 'RuntimeError'>, RuntimeError('remove: The process cannot access the file because it is being used by another process.: "C:\\Users\\Egor\\Dropbox\\Code\\motleycrew\\examples\\bug_db\\nodes.statistics_and_deleted.ids.wal"'), <traceback object at 0x000001E21B6AB280>)
This only happens on Windows (at least not on a Mac), but on Windows it always does :(.
Sleeping between inserts makes the problem less likely, but it still appears sometimes.
Running kuzu==0.3.2 installed with pip, on Python 3.11 on Window.s
import shutil
from pathlib import Path
from time import sleep
import os
import shutil

import kuzu

WORKING_DIR = Path(__file__).parent
DB_PATH = WORKING_DIR / "bug_db"
node_table_name = "entity"
rel_table_name = "links"

if os.path.isdir(DB_PATH):
    shutil.rmtree(DB_PATH)

database = kuzu.Database(DB_PATH)
connection = kuzu.Connection(database)
node_tables = connection._get_node_table_names()

if node_table_name not in node_tables:
    connection.execute("CREATE NODE TABLE %s (ID STRING, PRIMARY KEY(ID))" % node_table_name)
rel_tables = connection._get_rel_table_names()
rel_tables = [rel_table["name"] for rel_table in rel_tables]
if rel_table_name not in rel_tables:
    connection.execute(
        "CREATE REL TABLE {} (FROM {} TO {}, predicate STRING)".format(
            rel_table_name, node_table_name, node_table_name
        )
    )

def create_relation(subj: str, obj: str, rel: str) -> None:
    connection.execute(
        (
            "MATCH (n1:{}), (n2:{}) WHERE n1.ID = $subj AND n2.ID = $obj "
            "CREATE (n1)-[r:{} {{predicate: $pred}}]->(n2)"
        ).format(node_table_name, node_table_name, rel_table_name),
        {"subj": subj, "obj": obj, "pred": rel},
    )

def create_entity(entity: str) -> None:
    connection.execute(
        "CREATE (n:%s {ID: $entity})" % node_table_name,
        {"entity": entity},
    )

create_entity("entity0")

sleep_time = 0
for i in range(10):
    print(i + 1)
    create_entity(f"entity{i+1}")
    sleep(sleep_time)
    create_relation("entity1", f"entity{i+1}", "rel1")
    sleep(sleep_time)

Just noticed that this doesn't happen if I make the relation name unique, eg f"rel{i+1}" instead of "rel1".
Do the relation names have to be unique even when they connect different nodes?

Hi @ZmeiGorynych, relationship tables reference the underlying node table's primary keys in the FROM and TO columns (you can only have one relationship between any given pair of nodes based on their primary keys).
Just clarifying the intent behind this snippet, which doesn't seem right (or safe) to me:
sleep_time = 0
for i in range(10):
    print(i + 1)
    create_entity(f"entity{i+1}")
    sleep(sleep_time)
    create_relation("entity1", f"entity{i+1}", "rel1")
    sleep(sleep_time)

When you just create entity1 within the for loop and then immediately reference it to create the relationship, the transaction may not have been committed yet. From an I/O perspective, you're much better off creating the nodes beforehand, so that the node table's hash index can get up to date and all the transactions are committed safely. Then you would be able to safely reference these primary keys in a subsequent loop to update the relationships. Maybe @ray6080 might be able to offer more advice if I've missed anything here.

Thanks a lot for the quick answer!
However, I would challenge it on several counts:
firstly, as I said the exception vanishes when I replace the line
create_relation("entity1", f"entity{i+1}", f"rel")
with
create_relation("entity1", f"entity{i+1}", f"rel{i+1}") ,
and it doesn't seem like that would happen if your explanation was correct.
Secondly, the above is a very natural calling pattern, think of it as having a function add_child that is called several times in a row, and each time it first creates a child node and then a relationship between it and entity1.
Finally, I find it very alarming that you appear to say that a collision between subsequent execute methods can happen if they are not called in a certain magic order. Is there no way to make sure each call of the execute method returns only after all the commits have been made, all the indices updated, etc? I don't mind waiting a bit longer on each call, but having random errors like this pop up on a logically sound sequence of calls might be a deal breaker for us using kuzu if there is no fix or workaround :(

Thanks for reporting the bug. Just to weign in:  I don't see anything wrong with the query. Each of your calls to connection.execute should auto-commit before returning, so you should not even need to sleep in between these. This looks like a bug with our management of the nodes.statistics_and_deleted.ids.wal file. Let's have @ray6080 look into this bug and fix it.

Thanks @semihsalihoglu-uw! Relieved to have you agree that this is indeed a bug :)
Probably not caught yet because your tests are likely on a Linux, and Windows can be a lot more anal about locking files.
Hopefully the fact that the bug disappears if the relation names are all distinct will make it easier to locate.

Hey @ZmeiGorynych , we will take a look into it today and get back to u on the ETA. prioritizing this now.

I haven't been able to reproduce this, but it could just be from another program accessing the wal file when it is being removed after committing. Is it possible that it's caused by Dropbox accessing the files? Have you tried disabling anti-virus scanning for the database directory?

Ah, nice catch! After moving the disk location to a non-Dropbox directory, the error disappeared (or at least hasn't appeared after a dozen or so runs).
Still, this sounds like something others might encounter - would it be worth waiting for (a second?) and retrying if this error occurs, instead of failing right away?

That might work, though I think a more reliable alternative would be to avoid removing the WAL files at all and to just empty them instead.


Record student number

I'm working on this via a Google Form to get more information after sign up like interests, demographic info, etc. No longer a task related to this repo.


rename "Select build target" by "Select target"

Fixed by https://github.com/LedgerHQ/ledger-vscode-extension/pull/19


QuestionnaireResponses should be able to have Items without Answers in disabled Questions

Related to issue  #1042
This augments our earlier pull request with Enablewhen support. Without these fixes the validation fails with answers that have items, but no answers – which should be allowed in R4.

Coverage decreased (-0.01%) to 74.924% when pulling 5e0996d8ff68a82cfe8b5ce160ebd017bd927586 on eevaturkka:enablewhen_master into<PHONE_NUMBER>527d56a14a07ab15268e25907eeb50 on jamesagnew:master.

Working on the conflicts

Merge conflicts resolved. Unfortunately rest of the code is not compiling but I can't get the master to compile either.

I made the fixes requested in the review. Thr PR is ready for a new review.


Fix range responses

Motivation
Fixes https://github.com/apple/swift-openapi-generator/issues/197, broken range responses, such as 4xx.
Modifications
Fix the bug, seems to have been some old copy paste gone wrong, and we didn't have a test for it.
Result
Now range responses work again.
Test Plan
Changed one of the status code responses to be a range response, updated fixtures.

@swift-server-bot test this please


Can't build flowers / other cosmetic decorations in the Halidom

When attempting to build a non-upgradeable cosmetic building such as Red Flowers, the game attempts to look up level 1 of this structure in the buildings table.

Red Flowers have an ID of 100701 so the game attempts to look up the detailed building ID of 10070101 for level 1. This works for most upgradeable buildings, but flowers are stored as a level 0 entry:

Special logic needs to be added for these buildings to be able to construct them anew.

Fixed by #230


Add missing item var

Question
Answer

Bug fix?
yes

New feature?
no

BC breaks?
no

Deprecations?
no

Tests pass?
yes

Fixed tickets
comma-separated list of tickets fixed by the PR, if any

License
MIT

Codecov Report

Merging #164 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #164      +/-   ##
==========================================
+ Coverage   76.42%   76.43%   +0.01%
==========================================
  Files          26       26
  Lines        1476     1477       +1
==========================================
+ Hits         1128     1129       +1
  Misses        348      348

Impacted Files
Coverage Δ

src/Adapter/Chain/CachePoolChain.php
80.88% <100%> (+0.14%)
:arrow_up:

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 116662e...eb61b6a. Read the comment docs.


Possible to use with expo

Hi there,
is it possible to use this library with expo?
I am getting the error: "null is not an object (evaluating '_utils.RNInAppBrowser.isAvailable')"
Thanks!

Hi,
I've tried to experiment a bit over this topic.
It seems like the browser package can be abstracted away.
I haven't yet prepared it as a PR, but you can find a seemingly working example here:
https://github.com/TheHatSky/react-native-keycloak/tree/abstract-from-browser-impementation

@TheHatSky Hi! Is there any plan to open a PR for this? :)

Hi there, is it possible to use this library with expo? I am getting the error: "null is not an object (evaluating '_utils.RNInAppBrowser.isAvailable')" Thanks!

I had the same issue. In my case I skipped "react-native-inappbrowser-reborn" installation . Once I installed it the issue was solved

is that working for any one who using EXPO


fix style_guide.md my_op-example

2 Typos causes errors:
-tf.add_to_collections -> tf.add_to_collection
-adding missing indentation (0 -> 2 spaces)
Resulting my_op-chunk tested with tf. version 1.0.1
See:
https://www.tensorflow.org/community/style_guide
For the erronous version.

Can one of the admins verify this patch?

Jenkins, test this please.


It should always be possible to see selected practice(s) on spine chart

We've had a report that when using the Highcharts "print" function, the histogram labelling does not always show the currently selected practice(s).

Can we have a few more details?

From discussion - the bar for the practice is always present and highlighted (assuming it is non-zero) but the axis tick/label may not be present, because Highcharts will automatically hide some labels to save space. This confused at least one user, who thought his practice was missing.


Avoid sharing _options across multiple streams

node: v8.15.0.
Before this commit, variable _options is sharing multiple streams.
It causes problems. _options.rebaseTo that was always set first is used.
If we have below files and gulpfile.js, rebaseTo was always <PROJECT_ROOT>/scss/entries/lp/lp1/css, and never <PROJECT_ROOT/scss/entries/lp/lp2/subpage/css>
scss/entries/lp/lp1/css/index.scss
scss/entries/lp/lp2/subpage/css/index.scss

gulp
  .src('scss/entries/**/*.scss')
  .pipe(plumber())
  .pipe(sass())
  .pipe(cleanCSS()) // rebaseTo always 'scss/entries/apps/app1/css/',
  .pipe(gulp.dest('public/'));

EDIT: This changes breaks backwards compatibility.

@troter nice! Now available in the 4.2.0 release


Xcode 12 :  PR 163 & WeakMapTable bug

dyld: Library not loaded: @rpath/WeakMapTable.framework/WeakMapTable
Referenced from: /Users/pierrebrisorgueil/Library/Developer/CoreSimulator/Devices/2D27349F-91E4-45BB-84C9-9D8C2D47A637/data/Containers/Bundle/Application/A1589774-02B6-46C1-8A70-AAAA03D1E0FE/waosSwift.app/Frameworks/ReactorKit.framework/ReactorKit
Reason: image not found
dyld: launch, loading dependent libraries
DYLD_SHARED_CACHE_DIR=/Users/pierrebrisorgueil/Library/Developer/CoreSimulator/Caches/dyld/19G2021/com.apple.CoreSimulator.SimRuntime.iOS-14-0.18A372
DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot
DYLD_LIBRARY_PATH=/Users/pierrebrisorgueil/Library/Developer/Xcode/DerivedData/waosSwift-blklsvylyurdhqcbfsxcfirghxkd/Build/Products/development-iphonesimulator:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection
DYLD_INSERT_LIBRARIES=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libBacktraceRecording.dylib:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platf
(lldb)
i'm facing this issue after carthage installation on xcode 12 swift 5, any idea ?

probably linked to https://github.com/ReactorKit/ReactorKit/pull/138/files

ref : https://github.com/ReactorKit/ReactorKit/issues/168

Hello, quick conclusion on my tests, I allow myself to ping people who have discussed similar subjects
@kbw2204 @chihaodong @dodgecm @devxoul @tokijh
So, for xcode 12 / swift 5 migration we are facing two issues:

swift package update
WeakMapTable issue

based on my fork https://github.com/PierreBrisorgueil/ReactorKit/tree/fixUpgradeIosDeploymentTarget2

after update swift package like this https://github.com/ReactorKit/ReactorKit/pull/163 for Xcode 12
and revert this pr https://github.com/ReactorKit/ReactorKit/pull/138/files for WeakMapTable (I haven't found any other solution for PR, but I'm not an expert )

i'm facing this last issue :
transformedState.connect().disposed(by: self.disposeBag)
Thread 1: EXC_BAD_ACCESS (code=2, address=0x10ce6c450) (lldb)

Reactor.swift

probably the last issue for xcode 12 migration, but not very competent, on this stuff i will try to understand.

Ok, after a switch on last rxSwift 5.1.1 in project everything is ok.
So to be ready for xcode 12 i think we just need to accept https://github.com/ReactorKit/ReactorKit/pull/163 and resolve WeakMapTable issue.
I would try to look again at why the package is missing and causing problems. With carthage it seemed to be in the checkout directory without a problem, however once build the dependency is missing for ReactorKit in our project, really strange.
(ps: Xcode 12 carthage require https://github.com/Carthage/Carthage/issues/3019)

Hi, my apologies for the slow response.  In our Fastfile, we do:
    Dir.chdir("../Carthage/Checkouts/ReactorKit") do
      sh "swift package generate-xcodeproj --xcconfig-overrides ../../../Frameworks/ReactorKit.xcconfig"
    end
    Dir.chdir("../Carthage/Checkouts/WeakMapTable") do
      sh "swift package generate-xcodeproj --xcconfig-overrides ../../../Frameworks/WeakMapTable.xcconfig"
    end

The Carthage workaround documentation in ReactorKit should probably be updated to include this as well, but I didn't think to include it in my PR.

@dodgecm hum, thx for this information, i will try it soon, and I would give feedback to update the readme 👍


Reasonable ARM Template readme formatting

#minor

Pull Request Test Coverage Report for Build 312551

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.003%) to 79.041%

Totals

Change from base Build 312372:
0.003%

Covered Lines:
25520

Relevant Lines:
32287

💛  - Coveralls


[T4A4][T15-A2]Amro Shohoud

Ready for review

@AmroShohoud Some comments added. Please close the PR after reading comments.


Razor Support - _Imports.razor not being looked at for using directives, giving false problems

Type: Bug
Issue Description
Since the latest update, problems are repeatedly reported like this:
The attribute names could not be inferred from bind attribute 'bind-Value'. Bind attributes should be of the form 'bind' or 'bind-value' along with their corresponding optional parameters like 'bind-value:event', 'bind:format' etc.
They are not problems, just falsely being reported?
Steps to Reproduce
Open a .razor page using EditForm and @bind-Value on the input(s)
Expected Behavior
Not to get errors for things that aren't problems
Actual Behavior
Getting errors for non problems
Logs

C# log
Post the output from Output-->C# here
C# LSP Trace Logs
Post the output from Output-->C# LSP Trace Logs here.   The project is with the latest update to the dotnet/vscode-csharp plugin? @dibarbet

We generally track Razor issues here (even if they are related to the vscode extension).  It gets them to the right people sooner :)

I am also experiencing this issue - notably I only started experiencing it after migrating my blazor project from .NET 7 to .NET 8. Using VS 17.8.2

Thank you @phil-allen-msft! that indeed worked.
I also noticed my proj files had an explicit reference to use razor language version 7, so I deleted that so it could be inferred. (that alone did not fix my issue, but worth checking if you're experiencing razor compiler issues).
Also - worth noting - I used the upgrade assistant to upgrade to .NET 8. I'm not sure if including a deletion of the obj folder is a good idea but maybe worth considering.

My issue is not related to dotNET 8, only to the C# plugin in VSCode showing false problems after the latest update?

The issue is resolved now, was caused by different package versions of Microsoft.AspNetCore.Components packages. All moved to 7.0.14 now and the issue is resolved

We are sorry you are running into this. @ztquinn , we have an issue where after upgrade from .NET 7 to .NET 8, Razor might be looking at the built contents of .NET 7 instead of .NET 8 in some cases; can you delete your "obj" folder and see if the issue persists? This may be a workaround for others seeing related issues, particularly after changing the TargetFramework of your project.

Does this work for multitargeted projects?
Since the multiple framework folders will be recreated on the next build.

Multi-targeted projects should work, yes. The bug fix is specifically about Razor picking up obj folders that are no longer relevant, it should still be aware when the net7 and net8 subfolders are both relevant though.


added tests

Related Issue or bug

test for blog

Fixes: #156
Proposed Changes

Added test scripts for urls,forms and models of blog app

Additional Info

made 10 unit test for urls.py , 1 test for forms.py and 2 unit test for str function of models.py

Screenshots/Gif

are u a participent of DWOC or NWOC?

are u a participent of DWOC or NWOC?

DWOC sir

DWOC sir

okey

okey


Table cell text align don't work

Description
// Good
#show table: set align(left)
#show table.cell.where(x: 2): set align(right)
#table(columns: (1fr, 1fr, 1fr), [A], [A], [A])

// Bad A (align right don't work)
#show table: set table(align: left)
#show table.cell.where(x: 2): set align(right)
#table(columns: (1fr, 1fr, 1fr), [A], [A], [A])

// Bad B (align right don't work)
#show table: set table(align: left)
#show table.cell.where(x: 2): set table(align: right)
#table(columns: (1fr, 1fr, 1fr), [A], [A], [A])

Reproduction URL
No response
Operating system
Windows
Typst version

[X] I am using the latest version of Typst

The priority order is set table.cell(align: ..) > set table(align: ..) > set align(..) if I recall correctly.
In Bad A, the set table(align: left) therefore wins over set align(right). An easy solution for your case is this:
#set table(align: (left, left, right))
#table(columns: (1fr, 1fr, 1fr), [A], [A], [A])

Also possible is #set table(align: (x, y) => if x == 2 { right } else { left }).
In theory A, I think #show table.cell.where(x: 2): set table.cell(align: right) should also work, but it's blocked by https://github.com/typst/typst/issues/4159.
Bad B is working correctly since a set table scoped to table.cell has no effect at all, since there is no table in a cell.
Side note: #show table: set table(align: left) is just set table(align: left).
Overall, I think things are mostly working as intended here (except for known bugs), but there are perhaps a bit too many options to set alignment, which makes things confusing. Perhaps we are able to streamline this a bit in the future.
cc: @PgBiel

Bad A is an interesting case. IIRC, set align isn't explicitly applied by the cell, but rather inherited when there's no alignment override. It loses here because the table cell's alignment is set by the non-overridden table-wide alignment and is applied in the cell's show rule, thus having more priority than alignment from outside the cell. That is, set table.cell and set table both override alignment from "outside" - a show-set rule would count as such. Would be interesting to find a way to make that work (set align specifically on table cell would somehow be between table-wide and table.cell alignment), but that sounds complicated. The ideal approach would be to use #show table.cell: set table.cell(align: ...) instead, but we don't have it yet.
Bad B is working as expected (as explained by Laurenz).

In principle, our current alignment options have two different "levels":

Table alignment, per cell. Setting align: ... on the table to something other than auto will apply that alignment to each cell, which can only be overridden using table.cell(align: ...). Then the outside alignment (via set align is ignored).

Alignment via set align, which can be applied to anything. This is used when alignment isn't overridden by any particular table/grid cell.

In principle, I think the current options are doing their job relatively well given the current limitations (no show-set table cell on itself etc.). They do spawn a few weird cases like this, but at least things are consistent at the moment (and for every odd case we fix, many more may potentially pop up if not done carefully).
We can keep this in mind if we ever find a good alternative (based on show/set rules) to the current table options though.

I can't reproduce in principle:
#table(
  columns: 4,
  table.cell(align: horizon)[a], table.cell(align: bottom)[b], table.cell(align: top)[c], lorem(40)
)

Please share more information.


also compile extension media when transpiling for code oss tests

Learn more: https://github.com/microsoft/vscode/issues/139672#issuecomment-1235283886
Related to: #139672

This change seems to switch back from transpile-client-swc to transpile-client.

Bad merge 🤦

Should this task be executed in parallel with the other tasks (ex: `yarn gulp "transpile-client" "transpile-extensions" "compile-extension-media-build")

That was the first attempt which failed in mysterious ways.

Should this task be executed on Windows, macOS as well otherwise the platform jobs get out of sync.

Up to you. With this PR, I intended to point @roblourens in the right direction.

This seems still stuck at [09:44:00] Error: Command failed: /opt/hostedtoolcache/node/16.17.0/x64/bin/node /mnt/vss/_work/1/s/extensions/simple-browser/esbuild-preview.js --outputRoot /mnt/vss/_work/1/s/.build/extensions/simple-browser
It seems like this change https://github.com/microsoft/vscode/commit/4150c81b97eac8d365f3b28063ba081f10a2e7aa worked and I have no idea what the difference would be but I could go with that one

Closing as this was meant as a way to point to code locations.


Unable to create account on Parse

I am trying to create an account on parse, but after I choose any of the available options I am redirected to the main page

I'm guessing you mean at parse.com? As they are winding down the service it is not possible to create a new account anymore. You should use the standalone parse server and parse dashboard instead

can we convert our parse app to firebase easily?


Verify DBL activation status

It may be worth mentioning you can verify Office has activated via DBL by logging into https://config.office.com and looking under the Health > Licensing section. This just gives some more assurances beyond the "belongs to: this device" text in the apps themselves.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e52eb9c1-1755-bec5-4ad8-6df59779e041
Version Independent ID: 10e4cf5d-ea61-806e-f226-1e14265eabe1
Content: Device-based licensing for Microsoft 365 Apps for enterprise - Deploy Office
Content Source: DeployOffice/device-based-licensing.md
Service: o365-proplus-itpro
GitHub Login: @jwhit-MSFT
Microsoft Alias: jwhit

@dcruickshankuoa , i think " belongs to this device" means licence can be tied with single device windows PC or MAC.


Missing space between Dialog Header and Body

What are you trying to accomplish?
Add top-padding for the Dialog body to move it closer to the React component and avoid it being glued to the divider.
Screenshots

Before
After

Default

With large header and divider

Custom header

Header filter

List the issues that this change affects.
Closes #3008
Risk Assessment

[ ] Low risk the change is small, highly observable, and easily rolled back.
[ ] Medium risk changes that are isolated, reduced in scope or could impact few users. The change will not impact library availability.
[ ] High risk changes are those that could impact customers and SLOs, low or no test coverage, low observability, or slow to rollback.

What approach did you choose and why?

Looking at the React component, which always has a padding-top for the body of a dialog
In Rails this was explicitly canceled (probably because the divider is not always visible as in React??). However, this results in the body being glued to the header which looks super strange
I am aware that the spacings are sill not optimal and consistent with the React component, however I think that this might already be a good improvement and would fix the related issue.

Accessibility

Fixes axe scan violation - This change fixes an existing axe scan violation.
No new axe scan violation - This change does not introduce any new axe scan violations.
New axe violation - This change introduces a new axe scan violation. Please describe why the violation cannot be resolved below.

Merge checklist

[ ] Added/updated tests
[ ] Added/updated documentation
[ ] Added/updated previews (Lookbook)
[x] Tested in Chrome
[x] Tested in Firefox
[x] Tested in Safari
[x] Tested in Edge

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

Hi @team can I please get any feedback on this?

Thanks for the review @lukasoppermann ! 🙇  I think the CI failures are due to the fork setup. In previous PRs, a member of the Primer team opened an own PR with the commit to trigger the CI runs. Could someone please do that so that the visual regression step can run trough?

Hi everyone :) Are there any updates on this? Is there anything I can do to help? /cc @lukasoppermann @camertron @lesliecdubs

Hi @HDinger, I'm sorry for the delay! I'll add this to the team's queue and we'll try to get back to you within the next two weeks.


Implement coverage analysis for Jest

Is your feature request related to a problem? Please describe.
Since we've implemented mutation switching, we can now implement coverage analysis more easily in jest.
Describe the solution you'd like
We would need a way to retrieve the __mutantCoverage__ object after the dry run. See https://github.com/facebook/jest/issues/7421
We would also need to hook into the test environment
Additional context
Mutation switching: #1514

Should stryker 4.0.0-beta.0 work with jest when coverage analysis disabled?

Hi @Djaler Jest is not yet supported by v4, we will add this support soon. I'll update the blog highlight this better.

Yeap, just so far I have understood that only coverage does not work. Maybe you shouldn't release 4.0.0-beta.0 of jest-runner?

F.y.i: jest is supported in the current beta version<EMAIL_ADDRESS>

Just to be clear, jest is supported in the current version but only with coverage analysis "off". This issue is there to implement coverage analysis in jest. We've also shuffled the names of the variables a bit. Mutant coverage is now reported under __stryker__.mutantCoverage.


failed to emit precompiled header '/Users/flutter-dev/Library/Developer/Xcode/DerivedData/Runner-dghhhijkztquumaijdrrzdcoklxr/Build/Intermediates.noindex/PrecompiledHeaders/Runner-Bridging-Header-swift_3M45BMBR9VCN7-clang_3TF9NZCX310S2.pch' for bridging header '/Users/flutter-dev/AndroidStudioProjects/flutter_lt_3.0/ios/Runner/Runner-Bridging-Header.h'

Hi, not able to build iOS app due to this build issue:
failed to emit precompiled header '/Users/flutter-dev/Library/Developer/Xcode/DerivedData/Runner-dghhhijkztquumaijdrrzdcoklxr/Build/Intermediates.noindex/PrecompiledHeaders/Runner-Bridging-Header-swift_3M45BMBR9VCN7-clang_3TF9NZCX310S2.pch' for bridging header '/Users/flutter-dev/AndroidStudioProjects/flutter_lt_3.0/ios/Runner/Runner-Bridging-Header.h'
Earlier it was working properly.
output of flutter doctor -v
✓] Flutter (Channel stable, 2.5.0, on macOS 11.2.1 20D75 darwin-x64, locale en-IN)
• Flutter version 2.5.0 at /Volumes/Macintosh HD - Data/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 4cc385b4b8 (7 months ago), 2021-09-07 23:01:49 -0700
• Engine revision f0826da7ef
• Dart version 2.14.0
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at /Users/flutter-dev/Library/Android/sdk
✗ cmdline-tools component is missing
Run path/to/sdkmanager --install "cmdline-tools;latest"
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run flutter doctor --android-licenses to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 12.4, Build version 12D4e
• CocoaPods version 1.10.1
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 4.1)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
podfile:
Uncomment this line to define a global platform for your project
platform :ios, '12.0'
CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), FILE)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end
File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
flutter_ios_podfile_setup
target 'Runner' do
use_frameworks!
use_modular_headers!
flutter_install_all_ios_pods File.dirname(File.realpath(FILE))
end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['ENABLE_BITCODE'] = 'NO'
config.build_settings['SWIFT_VERSION'] = '5.0'
end
end
end

Hi @ArpanaSwarnkar, Thanks for filing the issue.
There is a similar issue describing this case https://github.com/flutter/flutter/issues/99387, Please check this comment on the issue for the cause of the solution
Please follow up there for further updates, Closing this issue as a duplicate. If you disagree feel free to write in the comments and we will reopen it.
Thank you.


Do you know why the left side of the monkey's left eye is always black after running this code? Didn't I replace the color of 500 faces?

https://github.com/sexfio/blender/blob/main/每个face不同颜色.py
Do you know why the left side of the monkey's left eye is always black after running this code? Didn't I replace the color of 500 faces?

obj.active_material_index = face.index         Hello, there is something wrong with this code in some cases. If some material is created before the for loop, it will lead to incorrect results. Is there a similar “face.material = mat” , or “face.material_ Index=mat.material_index”  ????  I have studied for a long time and have not found the correct writing method。 How to get the mat's material_index after  obj.data.materials.append(mat)  ???  :)

ok， I have solved this problem  ：）


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter snmp for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.snmp
   -
:thumbsup: No errors found
WARNINGS:

[ ] :eyes: [W162] js-controller 5.0.0 listed as dependency but 5.0.19 is recommended. Please consider updating dependency at io-package.json.
[X] :eyes: [W853] .npmignore found - consider using package.json object "files" instead.xx
[ ] :eyes: [W853] .npmignore found - consider using package.json object "files" instead.

:thumbsup: No suggestions found
Please review issues reported and consider fixing them as soon as appropiate.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
You may start a new check at any time by adding the following comment to this issue:
@iobroker-bot recheck
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
Note: This issue replaces issue #464
@mcm1957 for evidence

This issue has been updated by ioBroker Check and Service Bot

This issue has been updated by ioBroker Check and Service Bot
The following isses have been fixed
[W853] .npmignore found - consider using package.json object "files" instead.xx
:thumbsup:Thanks for fixing the issues.
The following issues are not fixed and have been reopened
[W853] .npmignore found - consider using package.json object "files" instead.

This issue has been updated by ioBroker Check and Service Bot
The following isses have been fixed
[W853] .npmignore found - consider using package.json object "files" instead.xx
:thumbsup:Thanks for fixing the issues.
The following issues are not fixed and have been reopened
[W853] .npmignore found - consider using package.json object "files" instead.

###This issue has been updated by ioBroker Check and Service Bot
The following issues are not fixed and have been reopened
[W853] .npmignore found - consider using package.json object "files" instead.

Issue closed due to RECREATE request. Folloow up issue #469 has been created.
This issue can be closed.
your
ioBroker Check and Service Bot


The build log ignores the time offset and keeps duplicating itself.

Fixed: was parsing the log offset from the client as Integer rather than Long. Changed from string to Integer in last release 1.0.3.


Could not update from 22.10.2 to 23.01: Unknown column 'pages.restricted'

Describe the Bug
After starting v23.01, the interface is not accessible. The migrations failed with
Waiting for DB to be available
Migrating: 2022_10_08_104202_drop_entity_restricted_field

   Illuminate\Database\QueryException

  SQLSTATE[42S22]: Column not found: 1054 Unknown column 'pages.restricted' in 'on clause' (SQL: select `entity_permissions`.`id` as `id` from `entity_permissions` inner join `pages` on `pages`.`restricted` = 0 and `pages`.`id` = `entity_permissions`.`entity_id` where `entity_type` = page)

  at /app/www/vendor/laravel/framework/src/Illuminate/Database/Connection.php:712
    708▕         // If an exception occurs when attempting to run a query, we'll format the error
    709▕         // message to include the bindings with SQL, which will make this exception a
    710▕         // lot more helpful to the developer instead of just the database's errors.
    711▕         catch (Exception $e) {
  ➜ 712▕             throw new QueryException(
    713▕                 $query, $this->prepareBindings($bindings), $e
    714▕             );
    715▕         }
    716▕     }

      +9 vendor frames
  10  /app/www/database/migrations/2022_10_08_104202_drop_entity_restricted_field.php:26
      Illuminate\Database\Query\Builder::pluck()

  11  /app/www/database/migrations/2022_10_08_104202_drop_entity_restricted_field.php:29
      DropEntityRestrictedField::{closure}()

Steps to Reproduce
Setup 22.10.2, start 23.01.
Expected Behaviour
No error
Screenshots or Additional Context
Migration table correctly show the previous migrations were applied:

select * from migrations;
+----+----------------------------------------------------------+-------+
| id | migration                                                | batch |
+----+----------------------------------------------------------+-------+
|  1 | 2014_10_12_000000_create_users_table                     |     1 |
|  2 | 2014_10_12_100000_create_password_resets_table           |     1 |
|  3 | 2015_07_12_114933_create_books_table                     |     1 |
|  4 | 2015_07_12_190027_create_pages_table                     |     1 |
|  5 | 2015_07_13_172121_create_images_table                    |     1 |
|  6 | 2015_07_27_172342_create_chapters_table                  |     1 |
|  7 | 2015_08_08_200447_add_users_to_entities                  |     1 |
|  8 | 2015_08_09_093534_create_page_revisions_table            |     1 |
|  9 | 2015_08_16_142133_create_activities_table                |     1 |
| 10 | 2015_08_29_105422_add_roles_and_permissions              |     1 |
| 11 | 2015_08_30_125859_create_settings_table                  |     1 |
| 12 | 2015_08_31_175240_add_search_indexes                     |     1 |
| 13 | 2015_09_04_165821_create_social_accounts_table           |     1 |
| 14 | 2015_09_05_164707_add_email_confirmation_table           |     1 |
| 15 | 2015_11_21_145609_create_views_table                     |     1 |
| 16 | 2015_11_26_221857_add_entity_indexes                     |     1 |
| 17 | 2015_12_05_145049_fulltext_weighting                     |     1 |
| 18 | 2015_12_07_195238_add_image_upload_types                 |     1 |
| 19 | 2015_12_09_195748_add_user_avatars                       |     1 |
| 20 | 2016_01_11_210908_add_external_auth_to_users             |     1 |
| 21 | 2016_02_25_184030_add_slug_to_revisions                  |     1 |
| 22 | 2016_02_27_120329_update_permissions_and_roles           |     1 |
| 23 | 2016_02_28_084200_add_entity_access_controls             |     1 |
| 24 | 2016_03_09_203143_add_page_revision_types                |     1 |
| 25 | 2016_03_13_082138_add_page_drafts                        |     1 |
| 26 | 2016_03_25_123157_add_markdown_support                   |     1 |
| 27 | 2016_04_09_100730_add_view_permissions_to_roles          |     1 |
| 28 | 2016_04_20_192649_create_joint_permissions_table         |     1 |
| 29 | 2016_05_06_185215_create_tags_table                      |     1 |
| 30 | 2016_07_07_181521_add_summary_to_page_revisions          |     1 |
| 31 | 2016_09_29_101449_remove_hidden_roles                    |     1 |
| 32 | 2016_10_09_142037_create_attachments_table               |     1 |
| 33 | 2017_01_21_163556_create_cache_table                     |     1 |
| 34 | 2017_01_21_163602_create_sessions_table                  |     1 |
| 35 | 2017_03_19_091553_create_search_index_table              |     1 |
| 36 | 2017_04_20_185112_add_revision_counts                    |     1 |
| 37 | 2017_07_02_152834_update_db_encoding_to_ut8mb4           |     1 |
| 38 | 2017_08_01_130541_create_comments_table                  |     1 |
| 39 | 2017_08_29_102650_add_cover_image_display                |     1 |
| 40 | 2018_07_15_173514_add_role_external_auth_id              |     1 |
| 41 | 2018_08_04_115700_create_bookshelves_table               |     1 |
| 42 | 2019_07_07_112515_add_template_support                   |     1 |
| 43 | 2019_08_17_140214_add_user_invites_table                 |     1 |
| 44 | 2019_12_29_120917_add_api_auth                           |     1 |
| 45 | 2020_08_04_111754_drop_joint_permissions_id              |     1 |
| 46 | 2020_08_04_131052_remove_role_name_field                 |     1 |
| 47 | 2020_09_19_094251_add_activity_indexes                   |     1 |
| 48 | 2020_09_27_210059_add_entity_soft_deletes                |     1 |
| 49 | 2020_09_27_210528_create_deletions_table                 |     1 |
| 50 | 2020_11_07_232321_simplify_activities_table              |     1 |
| 51 | 2020_12_30_173528_add_owned_by_field_to_entities         |     1 |
| 52 | 2021_01_30_225441_add_settings_type_column               |     2 |
| 53 | 2021_03_08_215138_add_user_slug                          |     2 |
| 54 | 2021_05_15_173110_create_favourites_table                |     3 |
| 55 | 2021_06_30_173111_create_mfa_values_table                |     4 |
| 56 | 2021_07_03_085038_add_mfa_enforced_to_roles_table        |     4 |
| 57 | 2021_08_28_161743_add_export_role_permission             |     4 |
| 58 | 2021_09_26_044614_add_activities_ip_column               |     5 |
| 59 | 2021_11_26_070438_add_index_for_user_ip                  |     6 |
| 60 | 2021_12_07_111343_create_webhooks_table                  |     7 |
| 61 | 2021_12_13_152024_create_jobs_table                      |     7 |
| 62 | 2021_12_13_152120_create_failed_jobs_table               |     7 |
| 63 | 2022_01_03_154041_add_webhooks_timeout_error_columns     |     7 |
| 64 | 2022_04_17_101741_add_editor_change_field_and_permission |     8 |
| 65 | 2022_04_25_140741_update_polymorphic_types               |     8 |
| 66 | 2022_07_16_170051_drop_joint_permission_type             |     9 |
| 67 | 2022_08_17_092941_create_references_table                |    10 |
| 68 | 2022_09_02_082910_fix_shelf_cover_image_types            |    10 |
| 69 | 2022_10_07_091406_flatten_entity_permissions_table       |    10 |
+----+----------------------------------------------------------+-------+
69 rows in set (0.00 sec)

This is probably related to #3714, but I'm not getting the same error and the other issue is closed.
Since all previous migrations were applied correctly, I'm opening a bug report.
Browser Details
N/A
Exact BookStack Version
23.01
PHP Version
8.1
Hosting Environment
Using docker.io/linuxserver/bookstack:version-v23.01

Hi @bendem,
This indicates there would have been another underlying error upon the initial upgrade & use of a v22.10 version of BookStack. Will be hard to find the issue/cause at this stage though.
Might need some manual database massaging since it looks like you hit an error part-way through a database migration during that v22.10 upgrade.
Hows your database knowledge?

Hm, it's a problem if a previous migration silently failed. I'll have to make sure our automations parse logs to avoid those errors from cropping up too late when context about what went wrong is gone.
If this is indeed a previous migration that has gone wrong, this issue can be closed, there is nothing to fix in bookstack. I just wanted to make sure it was reported if it was indeed a problem in the newer migrations.

Hows your database knowledge/skill/comfort?

I'm fairly proficient. I'm currently perusing through the migrations to see what could have gone wrong. I should be able to resolve it on my own by adding the missing columns until the migrations succeed.

I should be able to resolve it on my own by adding the missing columns until the migrations succeed.

Based on the current error, The failure would have been fairly far along before failure.
Can only think it failed on one of these lines. Might be easier/better to drop the restricted column from those mentioned tables manually (If existing). Then add a 2022_10_08_104202_drop_entity_restricted_field entry to the migrations table with a batch number of 11, based on your original table output provided above.

I don't think I have lost much. The column that was missing comes from here (2016), but the next table created is restrictions, later renamed to entity_permissions, and that table exists in my DB. I guess I'll just live with the fact that a column was missing and I don't know where it went. 🤷♂


LBO checks

Under certain circumstances the LBO cross primitive moments, u and vtSq, can acquire unreasonable results, like
u > v_max
vtSq < 0
vtSq > v_max^2
Add if-statements in the LBO equation objects so that in these cases we turn the LBO off. We had this in g2 and it may improve stability.
In g2 we did two more things:

We kept track of how often the LBO gets turned off.
We also turned the LBO off if M2<0.
at some point we should implement these in g0 as well, but for now I want to check if these are sufficient to get rid of some numerical instabilities.

I do not want to support this robustness check. I don't think it does anything for Vlasov and I think it clutters the code. If either of these three conditions are met, the simulation should abort, not take time steps. If you want to add this robustness check to GK, that's fine, but I am rejecting this change to Vlasov.

@JunoRavin
changing
  if (dir >= lbo_vlasov_diff->cdim) {

to
  bool noPrimMomCross = checkPrimMomCross(lbo_vlasov_diff, nuSum_p, nuUSum_p, nuVtSqSum_p);
  if ((dir >= lbo_vlasov_diff->cdim) && (noPrimMomCross)) {

hardly qualifies as cluttering.
Negative thermal speeds can happen, and you can still get useful results in those cases because vtSq<0 may only happen in a few cells, so it's not necessary to terminate the whole simulation. That's like saying we should throw away every Vlasov simulation just because it has a negative f somewhere (which many do).
I'll reopen and we can wait for @ammarhakim to weigh in

No, negative distribution function is not the same as negative VtSq. Negative VtSq implies imaginary temperatures and the distribution function is not actually representable. Negative distribution function is fine so long as certain moments stay positive definite because we can always represent the distribution function with a positive definite basis in which the solution is positive everywhere.
That is definitely cluttering as it's a check which is called in every phase space cell, every forward Euler call, ever time step for a quantity that only varies in configuration space and should never, in any production Vlasov calculation, return false.
If we want to check this and then abort out of the simulation loop, I am fine with that, but I don't want this inside the update method for Vlasov.

Negative distribution function is fine so long as certain moments stay positive definite because we can always represent the distribution function with a positive definite basis in which the solution is positive everywhere.

The same is true of vtSq, but I think that the if the cell average f is <0, there's no representation that will give you f>0 everywhere (correct me if I'm wrong). So, checking vtSq[0]>0 is just as sensible as checking f[0]>0. But by your argument we should throw away a simulation with f[0] somewhere, which is too stringent.

Again, that is wrong because we can safely take time steps when f[0] < 0 because nothing in the solver depends on f being positive definitely, but we cannot necessarily take time steps if nuVthSq[0] < 0 because then the diffusion is the wrong sign and then there is no stable time step.
A proposed compromise: instead of using dg_mul_op_range to get nuvthSqSum and nuuSum, we write an updater which loops over configuration space and checks the three conditions you've stated. If any are true, nu, nuvthSq and nuu are set to 0 in that cell, otherwise the updater works like weak multiplication.
This moves the check to where it should be in configuration space and avoids further conditional checking in the inner loop of the LBO updater. It also makes it easier to count how often this happens since how often this happens is just a function of configuration space. And any simulation we run should not have this happen very often, so the extra cost of calling the LBO with nu, nuVthSq, and nuu all equal to 0 won't matter.

I'd say we leave that as a potential improvement for later (which I believe
may actually be (negligibly) slower than what we are doing now because
it'll involve launching more kernels and looping over the conf-grid again).
At the moment the priority should be to make sure we can run simulations in
g0-g2 that we used to be able to run in g2 with both vlasov and
gyrokinetics (which is why I implemented this), and not to prioritize
(negligible) improvements to performance.
On Thu, 29 Sept 2022 at 17:46, James Juno @.***> wrote:

Again, that is wrong because we can safely take time steps when f[0] < 0
because nothing in the solver depends on f being positive definitely, but
we cannot necessarily take time steps if nuVthSq[0] < 0 because then the
diffusion is the wrong sign and then there is no stable time step.
A proposed compromise: instead of using dg_mul_op_range to get nuvthSqSum
and nuuSum, we write an updater which loops over configuration space and
checks the three conditions you've stated. If any are true, nu, nuvthSq
and nuu are set to 0 in that cell, otherwise the updater works like weak
multiplication.
This moves the check to where it should be in configuration space and
avoids further conditional checking in the inner loop of the LBO updater.
It also makes it easier to count how often this happens since how often
this happens is just a function of configuration space. And any simulation
we run should not have this happen very often, so the extra cost of calling
the LBO with nu, nuVthSq, and nuu all equal to 0 won't matter.
—
Reply to this email directly, view it on GitHub
https://github.com/ammarhakim/gkylzero/pull/93#issuecomment-1262978230,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQ6DKAJVG6FFO3ULBG4MX3WAYZ73ANCNFSM6AAAAAAQZINIPQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Automatically pick up new dependencies

hie-bios's componentDependencies returns the dependencies of a cradle
that might change the cradle. Add those deps to the shake graph so that
the GHC session is newly created whenever they change.
For that, add a new rule type, GetHscEnvEq, to cache GHC sessions with
the key of GHC options and dependencies. And delete the optGhcSession
field from IdeOptions.
This is for https://github.com/digital-asset/ghcide/issues/50.
hie-bios's componentDependencies can return files that don't exist yet:
https://github.com/mpickering/hie-bios/blob/master/src/HIE/Bios/Types.hs#L90-L93.
This PR handles changes in the existing dependency files, but doesn't
handle newly created dependency files.

I'm wondering how I can write a test for this. Is it possible to write a test that simulates changes in files like ghcide.cabal?

Rebased and resolved merge conflicts.

For tests, I would try to setup a simple test project in a temp directory and then just modify the cabal file in there.

One more question. Do we have any existing tests that do this so that I can steal the code from them? :)

One more question. Do we have any existing tests that do this so that I can steal the code from them?

Sadly I think we don’t. All our existing tests don’t have a .cabal file. That said, I don’t think it should change much. Basically in addition to the file, you just write out the cabal fie and a hie.yaml and hopefully things should work out :crossed_fingers:

Sorry for the late response. I added a test that verified that the changes in package.yaml is picked up and reflected correctly. PTAL.

Hmm... The new test seems flaky, sometimes timing out. I'm not sure how I can make it stable...

Updated the test. Hopefully now it's stable.

Now all the CI passed! PTAL


Packages: Support for GHES (Beta)

Summary
GitHub Packages will be available to GHES (GitHub Enterprise Server) for on-premise deployments.
Intended Outcome
GitHub Enterprise Server customers can use GitHub Packages.
How will it work?
This initial release is a beta available to customers for feedback purposes. Features include:

All existing Packages services:

Docker (note: we plan to replace the Docker service with a beta of the GitHub Container Registry in the next GHES release)
npm
maven/Gradle
RubyGems
NuGet

Configurable storage backend (requires AWS S3 or MinIO)
Private package deletion via APIs and UI

https://enterprise.github.com/releases/2.22.0/notes


Failed to build minimal example of Tensorflow Lite on Qualcomm robotic kit rb5

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
Device: Qualcomm Robotic kit rb5 with 16Gb RAM (I connect the board directly to a monitor using HDMI)
TensorFlow installed from (source or binary): 2.6 build from source using Cmake (Also I tried 2.5)
TensorFlow version: -
Python version:  2.7
Installed using virtualenv? pip? conda?: -
Bazel version (if compiling from source): -
GCC/Compiler version (if compiling from source): Cmake 3.20.5
CUDA/cuDNN version: -
GPU model and memory: GPU: Qualcomm Adreno 650         DSP: Qualcomm Hexagon 698

Dear All,
I’v followed the instruction in this link and successfully build Tensorflow Lite using Cmake. I tried to build the minimal example in this link, but I get a black screen after the build process is 98% completed. Then the black screen remains permanently.
Anyone has an idea why this happens?
My ultimate goal is to link Tensorflow lite as a static library to a ROS(melodic) package and run an inference for Tensorflow Lite models using Hexagon delegate on the Qualcomm rb5 DSP in order to do an object detection task. Anyone has an idea what is the best way to do it?
Thanks
Hamoun

Black screen .Like the whole system freezes and it needs a reset? If this is the case I don't think the problem is from the tensorflow. Have you tried to compile something other than tensorflow with cmake ?

Finally, I was able to solve the problem. It wasn't the Cmake problem. The problem was coming from setting the default parallelization values. Before that, I used: cmake --build . -j in order to build the TFLite. I changed it to cmake --build . -j4 and it worked successfully.
But I still don't know how and why it solved the problem?

I don't know why the build on your machine was freezing and limiting threads worked.
But looks like you don't have an issue now.
Closing the issue, feel free to reopen if needed.
Thanks


Configure extensions-dir setting in the user settings file

REQUEST
Add the ability to configure the location of the VS Code extensions directory in the user's settings file.
BACKGROUND
There can be a variety of reasons why the default location of the VS Code extension directory is not appropriate for users, including:

Limited disk space in user profile
Windows group policies restricting which executables can run (i.e. only certain directories permitted).

To circumvent this, users can specify an alternative directory location for the extensions from the command line (i.e. `code --extensions-dir "path\to\dir").
While this command line option works, it is less convenient, particularly when starting VS Code using the Windows Explorer context menu "Open With Code", or using code . from the command line.
PROPOSAL
Add a new configuration setting (e.g. extensions.directory) in the user settings file, which allows the user to specify the directory of the VS Code extensions directory. The command line option should remain for backwards compatibility.
On startup, VS Code should look for the extensions directory setting in the following order

Command line (--extensions-dir)
Workspace settings
User settings
If the setting is not specified, use default setting:

Windows %USERPROFILE%\.vscode\extensions
macOS ~/.vscode/extensions
Linux ~/.vscode/extensions

@sandy081 Hard to do since CLI doesn't know about settings. I'd mark it as out of scope.

Duplicate of #53154

Duplicate of #17691


Migrate prod to a new cluster

We've been asked to migrate from our existing operate-first cluster to a new cluster on AWS. We can use this issue to capture details about the migration. We can also reference this issue if other work is blocked on this migration.

This is currently blocked while we wait for the new cluster to be ready for us to work with.


Bump version to 0.4.0

Complement to https://github.com/kbatch-dev/kbatch/pull/43

I believe the CI is failing because the images for 0.4.0 have not yet been built/pushed to ghcr.


Search results when using Cloudflare Worker

I use Cloudflare Worker to render my blog on my domain.
I have blog.mydomain.com/blog, and I render it on mydomain.com/blog.
Everything works fine except the search. The URL in the search results is blog.mydomain.com/blog/my-blog-post instead of mydomain.com/blog/my-blog-post.
How can I fix this?

Hey @marqbeniamin 👋  What configuration do you use for your Ghost instance for url and admin:url? I suspect your instance should be running with a custom domain for url set to mydomain.com/blog/my-blog-post.


TableRow decoration wrong with scroll

When I user TableRow with bottom BorderSide, border not visible with scroll.
Problem reproduce on flutter web with html (on canvaskit looks good).
Steps to Reproduce
/// Flutter code sample for Table

// This sample shows a `Table` with borders, multiple types of column widths and different vertical cell alignments.

import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

/// This is the main application widget.
class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  static const String _title = 'Flutter Code Sample';

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: _title,
      home: Scaffold(
        appBar: AppBar(title: const Text(_title)),
        body: const MyStatelessWidget(),
      ),
    );
  }
}

/// This is the stateless widget that the main application instantiates.
class MyStatelessWidget extends StatelessWidget {
  const MyStatelessWidget({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return SingleChildScrollView(
      scrollDirection: Axis.horizontal,
      child:  Table(
        border: TableBorder(
          verticalInside: BorderSide(
            color: Theme.of(context).dividerColor,
            style: BorderStyle.solid,
            width: 1,
          ),
        ),
        columnWidths: const <int, TableColumnWidth>{
          0:  FixedColumnWidth(250),
          1: FixedColumnWidth(250),
          2: FixedColumnWidth(250),
        },
        defaultVerticalAlignment: TableCellVerticalAlignment.middle,
        children: <TableRow>[
          TableRow(
            decoration: BoxDecoration(
              color: Theme.of(context).colorScheme.surface,
              border: Border(
                bottom: BorderSide(
                  color: Colors.black,
                  style: BorderStyle.solid,
                  width: 10,
                ),
              ),
            ),
            children: <Widget>[
              TableCell(
                child: Container(
                  height: 32,
                  color: Colors.green,
                ),
              ),
              TableCell(
                verticalAlignment: TableCellVerticalAlignment.top,
                child: Container(
                  height: 32,
                  width: 32,
                  color: Colors.red,
                ),
              ),
              TableCell(
                child: Container(
                  height: 64,
                  color: Colors.blue,
                ),
              ),
            ],
          ),
        ],
      ),
    );
  }
}

Example:
https://user-images.githubusercontent.com/14288495/121723692-4439a880-cb00-11eb-9deb-cbeb5725a0e0.mov
Env:
boriskarabanov@MacBook-Pro-Boris clubslane % flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.1, on macOS 11.4 20F71 darwin-x64, locale ru-RU)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2021.1.2)
[✓] VS Code (version 1.56.2)
[✓] Connected device (2 available)
    ! Error: DNS s4502 has recently restarted. Xcode will continue when DNS s4502 is unlocked. (code -14)

! Doctor found issues in 1 category.

Thanks for the detailed report and code sample. Verified on latest stable and seems to be an issue with html renderer, wherein, resizing the browser window removes the bottom border, as shown below:
https://user-images.githubusercontent.com/67046386/121856535-36f40800-cd12-11eb-869b-307f1ee52015.mov
Canvaskit is working as expected:
https://user-images.githubusercontent.com/67046386/121856589-483d1480-cd12-11eb-806b-537fd16a0aa8.mov
Same as above (canvaskit behavior) when running on macOS desktop.

flutter doctor -v
/Users/dhs/Documents/Fluttersdk/flutter/bin/flutter doctor --verbose
[✓] Flutter (Channel stable, 2.2.2, on Mac OS X 10.15.4 19E2269 darwin-x64, locale en-GB)
    • Flutter version 2.2.2 at /Users/dhs/Documents/Fluttersdk/flutter
    • Framework revision d79295af24 (3 days ago), 2021-06-11 08:56:01 -0700
    • Engine revision 91c9fc8fe0
    • Dart version 2.13.3

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.56.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                • darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 91.0.4472.77

• No issues found!


os: apparent deadlock in TestFdReadRace on Solaris-derivative builders

2021-03-05T09:24:34-2217e89/illumos-amd64
goroutine 260 [semacquire, 2 minutes]:
sync.runtime_Semacquire(0xc00031f4a8)
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/runtime/sema.go:56 +0x45
sync.(*WaitGroup).Wait(0xc00031f4a0)
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/sync/waitgroup.go:130 +0x65
os_test.TestFdReadRace(0xc000453080)
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/os/pipe_test.go:474 +0x1e9
testing.tRunner(0xc000453080, 0x5e5358)
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/testing/testing.go:1194 +0xef
created by testing.(*T).Run
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/testing/testing.go:1239 +0x2b3

…

goroutine 383 [syscall, 2 minutes]:
syscall.read(0x6, 0xc000445786, 0xa, 0xa, 0x0, 0x405ba5, 0xc000051260)
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/syscall/zsyscall_solaris_amd64.go:766 +0x8d
syscall.Read(...)
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/syscall/syscall_unix.go:188
internal/poll.ignoringEINTRIO(...)
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/internal/poll/fd_unix.go:582
internal/poll.(*FD).Read(0xc00004ef00, 0xc000445786, 0xa, 0xa, 0x0, 0x0, 0x0)
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/internal/poll/fd_unix.go:163 +0x14e
os.(*File).read(...)
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/os/file_posix.go:32
os.(*File).Read(0xc000010270, 0xc000445786, 0xa, 0xa, 0x0, 0x0, 0x6fdee0)
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/os/file.go:119 +0x77
os_test.TestFdReadRace.func1(0xc00031f4a0, 0xc000010270, 0xc000051260, 0xc000453080)
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/os/pipe_test.go:453 +0xf2
created by os_test.TestFdReadRace
	/var/tmp/workdir-host-illumos-amd64-jclulow/go/src/os/pipe_test.go:448 +0x18a

2020-04-23T19:40:07-6303c34/solaris-amd64-oraclerel
goroutine 194 [semacquire, 2 minutes]:
sync.runtime_Semacquire(0xc00007e008)
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/runtime/sema.go:56 +0x42
sync.(*WaitGroup).Wait(0xc00007e000)
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/sync/waitgroup.go:130 +0x64
os_test.TestFdReadRace(0xc0006c2140)
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/os/pipe_test.go:454 +0x1da
testing.tRunner(0xc0006c2140, 0x5b0c00)
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/testing/testing.go:1027 +0xdc
created by testing.(*T).Run
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/testing/testing.go:1078 +0x355

…

goroutine 417 [syscall, 2 minutes]:
syscall.read(0xd, 0xc00029e786, 0xa, 0xa, 0x0, 0xc0007c2000, 0xc0000801e0)
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/syscall/zsyscall_solaris_amd64.go:765 +0x90
syscall.Read(...)
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/syscall/syscall_unix.go:189
internal/poll.(*FD).Read(0xc0000800c0, 0xc00029e786, 0xa, 0xa, 0x0, 0x0, 0x0)
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/internal/poll/fd_unix.go:156 +0x133
os.(*File).read(...)
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/os/file_posix.go:31
os.(*File).Read(0xc0003b0000, 0xc00029e786, 0xa, 0xa, 0x0, 0x0, 0x6f65e0)
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/os/file.go:116 +0x71
os_test.TestFdReadRace.func1(0xc00007e000, 0xc0003b0000, 0xc0007c2000, 0xc0006c2140)
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/os/pipe_test.go:433 +0xed
created by os_test.TestFdReadRace
	/tmp/workdir-host-solaris-oracle-amd64-oraclerel/go/src/os/pipe_test.go:428 +0x17f

It's not obvious to me whether this in a bug in the test, the os package, the Go runtime, or a longstanding bug in Solaris-based kernels.
CC @jclulow @ianlancetaylor @bradfitz

2021-05-01T11:43:19-879db69/solaris-amd64-oraclerel
2021-04-12T15:17:33-117b1c8/solaris-amd64-oraclerel
2021-03-15T12:30:38-4350e49/solaris-amd64-oraclerel
2021-03-11T02:32:05-68f3344/illumos-amd64
2021-03-05T23:32:44-87d2993/illumos-amd64
2021-03-05T22:14:48-a829114/illumos-amd64
2021-03-05T18:45:59-70b277c/illumos-amd64
2021-03-05T09:24:34-2217e89/illumos-amd64
2021-03-01T21:11:10-a69c452/solaris-amd64-oraclerel
2020-04-23T19:40:07-6303c34/solaris-amd64-oraclerel

Given the sudden increase in the failure rate at the beginning of March, I think this needs to be a release-blocker at least until we can figure out whether it is a symptom of a 1.17 regression in the os package.

Also /cc'ing @griesemer as an owner of os

Weekly check-in: this needs to be investigated before beta 1.

Another weekly ping as this is a release blocking issue.

I think I see a possible sequence of events that can lead to this.  TestFdReadRace is making a concurrent call to Read in one goroutine and to Fd and Close in a different goroutine.  The call to Fd is interesting because it puts the descriptor into blocking mode.  I think that this can happen:

goroutine 2 calls Fd

Fd calls the fcntl system call to put the descriptor into blocking mode

goroutine 1 calls Read

Read calls readLock which adds a reference to the associated fdMutex
Read calls the read system call, which blocks, because the descriptor is in blocking mode

goroutine 2 calls Close

Close calls increfAndClose which adds a reference and sets mutexClosed in the fdMutex
Close calls evict to unblock any I/O waiting in the poller, but there is none
Close calls decref, which removes a reference, leaving the one added by Read
Close sees that the FD is in blocking mode, so it returns

At this point goroutine 2 has returned and exited, and goroutine 1 is sitting in a blocked call to read which will never wake up.  This is consistent with the stack traces in the test failures.
As far as I can tell this could happen on any system.  I don't know why we only see the problem on Solaris.  The test has a 10 millisecond wait to let goroutine 1 call Read before goroutine 2 calls Fd.  If Read is called before the descriptor is put into blocking mode, the problem described here won't happen.  It is possible that on Solaris the timeout is not enough for goroutine 1 to call Read, but I don't know why Solaris would be significantly different here.
So I'm not sure that this analysis is correct.  Maybe I'm missing something.  If this is correct, I don't see a way to fix it.  Concurrent calls to Fd and Read will always carry the possibility of a blocking read system call that never returns.  This is not a likely sequence of events.  But see https://golang.org/cl/123176, which was written because of an internal Google test case that did exactly that (internal Google reference 111218325).


TechDocs: Make requestUrl and storageUrl optional configs by using discovery APIs

As of now, TechDocs has two URLs in its config, techdocs.requestUrl and techdocs.storageUrl. The requestUrl is used by TechDocs frontend plugin to discover techdocs-backend endpoints, and the storageUrl is another endpoint in techdocs-backend which acts as a middleware between TechDocs and the storage (where static generated docs site are stored).
These configs need not be defined and can be optional. Using Backstage core's Discovery mechanism, one could get the url for techdocs-backend, and use that to construct endpoints for requestUrl and storageUrl.
Give this feature a backwords compatibility and if the user defines techdocs.requestUrl and techdocs.storageUrl, continue to use them over discovery API.
Context

Backend Discovery API https://github.com/backstage/backstage/tree/master/packages/backend-common/src/discovery
Frontend Discovery API https://github.com/backstage/backstage/blob/master/packages/core-api/src/apis/definitions/DiscoveryApi.ts
Suggestion from @freben https://github.com/backstage/backstage/pull/3432/files#r538687470

@OrkoHunter I want to work on this one. Can you please assign it to me. Thanks :)


Add tags for agenda and assignments (Should fix Issue #2110

Add tags for assignments

Tested tags for assignments: works good! Only two coding style remarks.

@joelmacht Two more remarks. If you change something, please first add a several commit so I can check the last changes without reviewing everything again. Just before merge we will ask you to rebase your commits. Thanks. ;-)

@joelmacht Can you fix/answer the two open remarks? Thx.

@emanuelschuetze Sorry, I was not able to work on this issue for the last weeks because of exams. But I will have to time to fix them in the next two weeks.

Removed unnecessary injections

@joelmacht Sorry. One remark again. Thanks for your work.

Fixed remarks

One last layout remark.

Updated

Ok. Looks good now. Please rebase to one commit that we can merge it.

Rebase done.


add jgi-mg-interaface sample data files

For issue #114 : @turbomam @mslarae13  I added the jgi-mg-interface sample data files. There was one unexpected pass for the dna_sample_name slot. I was able to add a colon in it when it should only allow "a-z, A-Z, 0-9, - and _".

...dna_sample_name ...  I was able to add a colon in it when it should only allow "a-z, A-Z, 0-9, - and _".

Thanks for the PR, @brynnz22 . I'm going to merge it now.
Can you say how you determined that dna_sample_name should only allow a-z, A-Z, 0-9, - and _? Is that in one of our schemas and I just missed it?! Or are you referring to a specification from some other source, like JGI? If that's the case, could you share the JGI specification, preferably in a computable format?


Palera

Feature Description
sudo /bin/sh -c "$(curl -fsSL https://static.palera.in/scripts/install.sh)"
Start going into detail..
No response

can you explain more what this issue is even about


cmd/go: go test cache unaffected by GODEBUG value

As we work on getting x/tools tests passing with GODEBUG=gotypesalias=1 in #65294, I noticed that GODEBUG is not included in the test cache key. It probably should be.
[gopls]> go test -count=1 ./doc
ok      golang.org/x/tools/gopls/doc    1.912s
[gopls]> GODEBUG=gotypesalias=1 go test ./doc
ok      golang.org/x/tools/gopls/doc    (cached)
[gopls]> GODEBUG=gotypesalias=1 go test -count=1 ./doc
--- FAIL: TestGenerated (1.71s)
    generate_test.go:26: documentation needs updating. Run: cd gopls && go generate
FAIL
FAIL    golang.org/x/tools/gopls/doc    1.774s
FAIL

CC @bcmills @matloob

Adding GODEBUG to the test cache key seems appropriate — every Go program depends on GODEBUG via the runtime package, and it is likely that the runtime parses that variable in a way that is not visible to the test log.

Duplicate of #51561

Hmm, no. #51561 is about the build output, not the test output. Reopening.

Other environment variables go into the test-output cache key here:
https://cs.opensource.google/go/go/+/master:src/cmd/go/internal/test/test.go;l=1869-1870;drc=e076c1b897b30648db794b66fd10929fe9a9852e
GODEBUG is probably not being recorded their because it is parsed directly by the runtime package without going through the usual os.Getenv hooks. We should probably add it to the cache key explicitly.

A little confused here, -count=1 disables test caching explictly. (link)
This is the current behavior:
$go clean -cache
$GODEBUG=gotypesalias=1 go test ./doc

runtime
../../go/src/runtime/runtime2.go:993:6: internal compiler error: assertion failed
FAIL

$ go test ./doc

ok      golang.org/x/tools/gopls/doc    4.267s

$ GODEBUG=gotypesalias=1 go test ./doc

ok      golang.org/x/tools/gopls/doc    (cached)

$ go test -count=1 ./doc

ok      golang.org/x/tools/gopls/doc    4.281s

$ GODEBUG=gotypesalias=1 go test -count=1 ./doc

--- FAIL: TestGenerated (3.88s)
generate_test.go:26: documentation needs updating. Run: cd gopls && go generate
FAIL
FAIL    golang.org/x/tools/gopls/doc    3.955s
FAIL

It seems to me something fishy is going on with the first line: GODEBUG=gotypesalias=1 go test ./doc fails but then succeeds using the cached test with GODEBUG=gotypesalias=1 omitted.
Are we expecting GODEBUG=gotypesalias=1 go test ./doc to fail initially?

Do we want GODEBUG=gotypesalias=1 go test ./doc to not use the cached result from go test ./doc?

Yep, exactly. The mismatched GODEBUG setting should cause the cache key for the new test run not to match the prior run.

Sorry if you were working on this @samthanawalla. I ran into this problem myself and had to fix it to make progress debugging something else. I didn't see this issue until after I'd written the CL.


Marker image is not updating on android

I used rn maps in the same way and it works. So I guess that this can be connected with this module (btw thanks for this module :)).
So I want to change marker image when marker is pressed.
And this works on IOS but doesn't work on android.
Implementation is simple on marker press I store it in state and markers are rendered again but should use different image. Problem is that image is not changing on android.
renderMarker = (pin) => {
    return (
      <Marker onPress={() => {
        if (this.state.selectedPin && this.state.selectedPin.id == pin.id) {
          this.setState({selectedPin: null});
        } else {
          this.setState({selectedPin: pin});
        }

        }} key={pin.id || Math.random()} coordinate={pin.location}>
        {this.selectMarkerImage(pin)}

      </Marker> )
    }

How did you fix this issue?


Another Gatsby Develop Fails

I have imported the example content into my free Contentful account.  New to Gatsby and Contentful - perhaps this is too big a bite for me...  Any help with this?
jweirich@LAPTOP-97G89Q4N:~/projects/barcadia$ gatsby develop
success load gatsby config - 0.036s
success load plugins - 0.529s
success onPreInit - 0.006s
success initialize cache - 0.050s
success copy gatsby files - 0.291s
success Compiling Gatsby Functions - 0.132s
success onPreBootstrap - 0.143s
success createSchemaCustomization - 0.183s
success Contentful: Sync changed items - 0.075s - 1/1 13.38/s
info Contentful: 0 new/updated entries
info Contentful: 0 deleted entries
info Contentful: 15 cached entries
info Contentful: 0 new/updated assets
info Contentful: 25 cached assets
info Contentful: 0 deleted assets
success Contentful: Fetch data (s1oiqlt103tb-master) - 0.256s
info Creating 3 Contentful Page nodes
info Creating 4 Contentful Post nodes
info Creating 5 Contentful Product nodes
info Creating 3 Contentful FAQ nodes
info Creating 25 Contentful asset nodes
success Contentful: Create nodes (s1oiqlt103tb-master) - 0.053s
success Contentful: Process data (s1oiqlt103tb-master) - 0.166s
success Checking for changed pages - 0.002s
success source and transform nodes - 0.585s
success building schema - 0.588s
success createPages - 0.001s
success createPagesStatefully - 0.229s
info Total nodes: 97, SitePage nodes: 17 (use --verbose for breakdown)
success Checking for changed pages - 0.004s
success write out redirect data - 0.009s
success onPostBootstrap - 0.007s
info bootstrap finished - 4.205s
success onPreExtractQueries - 0.003s

 ERROR

(node:155803) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 end listeners
added to [PassThrough]. Use emitter.setMaxListeners() to increase limit
(Use `node --trace-warnings ...` to show where the warning was created)

 ERROR

(node:155803) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 end listeners
added to [PassThrough]. Use emitter.setMaxListeners() to increase limit

 ERROR

(node:155803) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 end listeners
added to [PassThrough]. Use emitter.setMaxListeners() to increase limit

 ERROR

(node:155803) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 end listeners
added to [PassThrough]. Use emitter.setMaxListeners() to increase limit

 ERROR #85923  GRAPHQL

There was an error in your GraphQL query:

Cannot query field "references" on type "ContentfulPostContent".

If you don't expect "references" to exist on the type "ContentfulPostContent" it is most likely a typo.
However, if you expect "references" to exist there are a couple of solutions to common problems:

- If you added a new data source and/or changed something inside gatsby-node.js/gatsby-config.js, please
try a restart of your development server
- The field might be accessible in another subfield, please try your query in GraphiQL and use the GraphiQL
 explorer to see which fields you can query and what shape they have
- You want to optionally use your field "references" and right now it is not used anywhere. Therefore
Gatsby can't infer the type and add it to the GraphQL schema. A quick fix is to add at least one entry with
 that field ("dummy content")

It is recommended to explicitly type your GraphQL schema if you want to use optional fields. This way you
don't have to add the mentioned "dummy content". Visit our docs to learn how you can define the schema for
"ContentfulPostContent":
https://www.gatsbyjs.com/docs/reference/graphql-data-layer/schema-customization#creating-type-definitions

File: src/pages/news/{contentfulPost.url}.js:25:9

failed extract queries from components - 3.066s
success write out requires - 0.007s
success run page queries - 0.009s - 1/1 114.39/s
warn Browserslist: caniuse-lite is outdated. Please run:
  npx browserslist@latest --update-db
  Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating

 ERROR #98123  WEBPACK

Generating development JavaScript bundle failed

You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize({
'lib/mappings.wasm': ... }) before using SourceMapConsumer

File: .cache/app.js

 ERROR #98123  WEBPACK

Generating development JavaScript bundle failed

You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize({
'lib/mappings.wasm': ... }) before using SourceMapConsumer

File: .cache/polyfill-entry.js

failed Building development bundle - 9.132s
ERROR in ./.cache/app.js
Module build failed (from ./node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/index.js):
Error: You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize({
'lib/mappings.wasm': ... }) before using SourceMapConsumer
    at readWasm (/home/jweirich/projects/barcadia/node_modules/source-map/lib/read-wasm.js:8:13)
    at wasm (/home/jweirich/projects/barcadia/node_modules/source-map/lib/wasm.js:25:16)
    at /home/jweirich/projects/barcadia/node_modules/source-map/lib/source-map-consumer.js:264:14
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at Object._loader
(/home/jweirich/projects/barcadia/node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/index.js:81:9)

ERROR in ./.cache/polyfill-entry.js
Module build failed (from ./node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/index.js):
Error: You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize({
'lib/mappings.wasm': ... }) before using SourceMapConsumer
    at readWasm (/home/jweirich/projects/barcadia/node_modules/source-map/lib/read-wasm.js:8:13)
    at wasm (/home/jweirich/projects/barcadia/node_modules/source-map/lib/wasm.js:25:16)
    at /home/jweirich/projects/barcadia/node_modules/source-map/lib/source-map-consumer.js:264:14
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at Object._loader
(/home/jweirich/projects/barcadia/node_modules/@pmmmwh/react-refresh-webpack-plugin/loader/index.js:81:9)

develop compiled with 2 errors
success Writing page-data.json files to public directory - 0.165s - 3/17 103.14/s
```

Hey I recently came across this same issue. Seems its related to newer versions of node, fixed it by defining:
export NODE_OPTIONS="--no-experimental-fetch"