Follow redirects improvement

Previously redirect(env, next, 0) raised error immediately when if fact I would expect it to check this last location and raise only if it return another redirect

Hmm, isn't this the same as changing left <= 0 to left <0, so that left == 0 case goes into the second redirect(..) clause?

Technically yes, but for me it seems to be more clear to have 0 remaining redirects than -1 remaining redirects.

Added note about httpc, because this middleware won't work for httpc default config
defmodule RedirectTest.Hackney do
  use Tesla

  adapter :hackney

  plug Tesla.Middleware.FollowRedirects, max_redirects: 0
end

defmodule RedirectTest.Ibrowse do
  use Tesla

  adapter :ibrowse

  plug Tesla.Middleware.FollowRedirects, max_redirects: 0
end

defmodule RedirectTest.Httpc do
  use Tesla

  adapter :httpc

  plug Tesla.Middleware.FollowRedirects, max_redirects: 0
end

defmodule RedirectTest.FixedHttpc do
  use Tesla

  adapter :httpc, autoredirect: false

  plug Tesla.Middleware.FollowRedirects, max_redirects: 0
end

iex(1)> RedirectTest.Hackney.get("http://yahoo.pl")
** (Tesla.Error) too many redirects

iex(2)> RedirectTest.Ibrowse.get("http://yahoo.pl")
** (Tesla.Error) too many redirects

iex(3)> RedirectTest.Httpc.get("http://yahoo.pl")
%Tesla.Env{status: 200}

iex(4)> RedirectTest.FixedHttpc.get("http://yahoo.pl")
** (Tesla.Error) too many redirects

Shouldn't the default for httpc be the same as all the other http clients, i.e. autoredirect: false and then if people want this functionality they can enable Tesla.Middleware.FollowRedirects?
Seems like strange behaviour that changing the http client changes this and exactly the sort of thing something like Tesla should be hiding from the user?

I think you're right @aphillipo, we should make the httpc adapter have default opts with autoredirect: false


Create twindle-cli project under playground/cli

copy the pdf program here
copy the epub program here
copy the MD program here
copy the CLI program here

I'll like to take this up

@vijaya-bhaskar @johnjacobkenny this task is going to be important to encourage everyone to work together.

@proful yes I agree! :partying_face:
@michaelcosj let's get the minimum out and then we can organize and split some tasks for others

@johnjacobkenny
I just sent in a PR #536
I created the twindle-cli folder in playground/cli and added the folders into it

Please don't close this issue. Next step is to copy other relevant code here.


v4 SiteTree History not functioning with Fluent

Possibly something to do with augmentWrite()? I haven't had time to look into this much further though unfortunately. Hopefully I can in the coming weeks.

Versioned::doRollbackTo() calls $owner->copyVersionToStage(...), which overrides our current DRAFT state.
Immediately after that it calls $owner->writeWithoutVersion();.
With Fluent installed, the content from $owner is written against the DRAFT state again.

Below I'm tracking the events that take place when doRollbackTo() is invoked. I log a message before and after each new method is called, and log any data within that method that is relevant.
Versioned::doRollbackTo(): calling "$owner->copyVersionToStage()"
Versioned::copyVersionToStage(): calling '$from->write()'

SiteTreeExtension::onBeforeWrite(): entered onBeforeWrite
SiteTreeExtension::onBeforeWrite(): Content:
Page version 1

Versioned::copyVersionToStage(): finished '$from->write()'
Versioned::copyVersionToStage(): calling '$from->destroy()'
Versioned::copyVersionToStage(): finished '$from->destroy()'

Versioned::doRollbackTo(): finished "$owner->copyVersionToStage()"
Versioned::doRollbackTo(): calling "$owner->writeWithoutVersion()"

SiteTreeExtension::onBeforeWrite(): entered onBeforeWrite
SiteTreeExtension::onBeforeWrite(): Content:
Page version 3

Versioned::doRollbackTo(): finished "$owner->writeWithoutVersion()"

Below are some screen shots of what is happening in the CMS. I published 3 new versions of the Page (these are Database Version numbers 2, 3, and 4), and i then rolled back to Database Version 2.
Database Version 2 published:

Database Version 3 published:

Database Version 4 published:

Rolling back to Database Version 2:

Rollback to Database Version 2 completed:

Cheers :)

This is going to be fun.

In the $this->write() in copyVersionToStage please capture the fluent-augmented $manipulation when doing the rollback.
What should happen is that all the localised rows for that record are re-created with the new version.

Also please dump the rows (both SiteTree and SiteTree_Localised) before / after the rollback.

The first issue I'm investigating is that versions from other locales show up in the list (generated via $page->allVersions(); in CMSPageHistoryController.
Set up steps:

Create a page in default locale, publish
Change content, publish
Switch locale to another locale, adjust content and publish
Change content, publish
Switch back to default locale
Go to history for page

You should see the original two published versions, but you also see the other locale's versions as well.

Here's the full SQL query that $page->allVersions() is running: https://gist.github.com/robbieaverill/d328c7da85d5160bb1aea7a74f80bff2
Context:

Page ID: 11
Current locale: en_US
Two records exist in de_DE, and one exists from earlier in zh_CN

Results of query:

Note that red boxes indicate version results that belong to locales other than en_US. Also there's a fixed en_US Locale column result in the SQL query, and the RecordID column returns 11 in all rows.

Tables (filtered by record ID):
SiteTree:

SiteTree_Localised:

SiteTree_Localised_Versions:

SiteTree_Versions:

I think this is the bug
FROM   `SiteTree_Versions`
  LEFT JOIN `SiteTree_Localised` AS `SiteTree_Localised_en_US_Versions`
    ON `SiteTree_Versions`.`ID` = `SiteTree_Localised_en_US_Versions`.`RecordID`
       AND `SiteTree_Localised_en_US_Versions`.`Locale` = 'en_US'

Should be
FROM   `SiteTree_Versions`
  LEFT JOIN `SiteTree_Localised_Versions` AS `SiteTree_Localised_en_US_Versions`
    ON `SiteTree_Versions`.`RecordID` = `SiteTree_Localised_en_US_Versions`.`RecordID`
    AND `SiteTree_Versions`.`Version` = `SiteTree_Localised_en_US_Versions`.`Version`
       AND `SiteTree_Localised_en_US_Versions`.`Locale` = 'en_US'

@robbieaverill how did you dump https://gist.github.com/robbieaverill/d328c7da85d5160bb1aea7a74f80bff2? Normally the ORM produces double-quoted SQL not back-ticked ones.

@tractorcow I've switched it so I can run it in my MySQL client =)

Ok that example SQL change works for me but I also need to switch it for an inner join. We could add another WHERE clause instead and keep it as a left join - thoughts?

Bug is in FluentVersionedExtension::rewriteVersionedTables. I'm not sure exactly what the fix will be, as I'll need to write some unit tests.

Strange, I can see a SiteTree_Localised => SiteTree_Localised_Versions table rename being created, but it's not working.

It is working, my code works. I'm not sure how you got your SQL ... it's incorrect and non-reproducable. see my comment on https://gist.github.com/robbieaverill/d328c7da85d5160bb1aea7a74f80bff2#gistcomment-2355188

So apparently it's this
    public function doRollbackTo($version)
    {
        $owner = $this->owner;
        $owner->extend('onBeforeRollback', $version);
        $owner->copyVersionToStage($version, static::DRAFT, true);
        $owner->writeWithoutVersion();
        $owner->extend('onAfterRollback', $version);
    }

The $owner->writeWithoutVersion() overwrites the correctly rolled back version, with the current version, messing everything up.

Noting here that as discussed with @tractorcow the fact that history shows versions of a page across all locales is a feature, not a bug.
Perhaps in future we could add locale indicators to the list to show which locale they belong to.
cc @sachajudd @clarkepaul

Fixed with https://github.com/silverstripe/silverstripe-versioned/pull/118

@robbieaverill yeah on that issue I think a "show only version changes in this locale" could be a checkbox, or maybe a config?


Refac/general refactoring

C4Sharp version 6.0.x is released 🚀

We released a new version of C4Sharp. The release includes new improvements such as minor bug fixes to the write test log, code maintainability, and performance. You can read the full list of new enhancements and bug fixes below:

Improve Integration tests to use sample code
Removing unnecessary unit test project
Removing HTML Builder code from Tools
Update package version
Remodeling Library Structure
Update version of C4 PUML files in Resource
Adapting Sample to new C4Sharp DSL
removing C4Bank sample
Rename folder Model to Elements
Removing HTML builder capabilities.

revisado


Create a footer white-1

One need to make this component using HTML and Tailwind CSS. I would suggest to use Tailwind Playgrounds to make things faster and quicker.
Here is a reference to the component.

After building the component please raise a PR with a screenshot of the component and add the component in Footer/footer-white-1.html.
If you need to use any icon please use it from Hero Icons
Good luck.

pls assign this to me

Go ahead @Priyanshu-su30

is using tailwind playground necessary??

No you can built in your local system as well. Tailwind Playground just makes the process fast and easy and you only write the code you ned to submit. @Priyanshu-su30

Ok

Hey @Rajdip019
I'd like to solve this issue.

Go ahead @pranavajith

@Rajdip019
This might be an issue from my side, but it doesn't seem to be assigned to me yet.. just to avoid any confusions, could you assign the issue to me?

Done @pranavajith

May I work on this issue ?

@Rajdip019
I'm working on this issue.. could you give me some directions on what resources to use, and what stack it is adviced to build it on?

You need to use HTML and TailWind CSS to build this. You can see the official Tailwind Docs for this, that is super good.
And see the other Footers and components to get and good idea. Ask me if any query. @pranavajith

@Rajdip019 assign this to me I would like to contribute

@pranavajith are you still working on it?


Check machine after create

Check that docker is running just after Create. This is to avoid the case where a machine is created
and docker-machine env fails just after that.
Signed-off-by: David Gageot<EMAIL_ADDRESS>

LGTM
ping @docker/machine-maintainers

Looks pretty good.  I think I would prefer conncheck as the module name since there is a lot of different meanings that check could have.
Medium-term, let's work on defining the different things that could potentially go wrong with a check.  E.g., tell the user if it was impossible to dial the host IP.
LGTM


New icon

I think the app should have the same color palette has the web UI, so I made this icon with it. (I'll open another pull request with the changes and screenshots of the app with new colors).

Same answer as in #293, a black theme is not something I'm looking for right know.
Sorry.


(PUP-5995) Fix source text extraction when preceded by multibyte character

This fixes a regression (on some platforms, and real error on others) regarding source text extraction when extracted source is preceded by multi byte characters.
Before this, the encoding was the platform encoding, and if it was not UTF-8, some operations would operate on a per byte level. When this was changed to UTF-8 the extract_text and extract_tree_text method ended up using a char based slice where it should have used a byte based slice.
This resulted in the wrong text being extracted.
The fundamental problem was that the two methods in question thought that they could handle the slicing on their own. Now they delegate to corresponing methods in the Locator where the knowledge resides regarding the unit of "offset" (byte or char).
This also adds unit tests in the lexer and parser to assert that the positions returned by the lexer are correct.
PR contains two maint fixes (see commits for details).

Looks OK but needs a rebase.

rebased


Selected SharePoint group will display as another user when user name contains group name

Category
[ ] Enhancement
[x] Bug
[ ] Question
Version
Please specify what version of the library you are using: [3.14.0]
Expected / Desired Behavior / Question
Create a user named Adelve  Vance, and a SharePoint group named  Van.
Add a PeoplePicker as flollowing:
<PeoplePicker
    ....
    defaultSelectedUsers={loginNames}
    principalTypes={[PrincipalType.User, PrincipalType.SharePointGroup]
/>

Input Van in PeopleSelector, and select group Van from options, record group login name Van to loginNames, PeoplePicker will change the displayed Van group to user Adelve Vance immediately.  If we leave the defaultSelectedUsers empty, when this PeoplePicker inited with Van group name, it will display people Adelve Vance not groupc Van either.

Hey @yungfu,
I tried to reproduce this but out of luck. It would be nice if you be more specific with some screenshots code sample etc?
Thanks,
Nishkalank

A user named Adele Vance and a group named Van exist, when you input Van and select group Van in people picker, selected item will changed to Adele Vance one second late.
I found when I select group Van , the group login name returned is Van, PeopleSearchService will initialize the selected user next time by a rule, login name contain specified value, but when PeopleSearchService.searchTenant return multi matched items (Adele Vance and Van by key word Van), it will return first item only.
export const Sample = (props)=> {
    const {spfxContext} = props;
    const [users, setUsers] = useState([]);

    const getPeopleItems = (items: any[]) => {
        var users = items.map(item => {
            return {
                id: item.id,
                loginName: item.loginName,
                displayName: item.text};
        });
        setUsers(users);
    };

    const getLoginNames = users => {
        let ids = users?.map(user => {
            let index = user.id.lastIndexOf('|');
            return index > -1 ? user.loginName.substring(index + 1) : user.loginName;
        });
        return ids;
    };

    return (
        <PeoplePicker
            context={spfxContext}
            titleText={"Select a user"}
            defaultSelectedUsers={getLoginNames(users)}
            personSelectionLimit={100}
            principalTypes={[PrincipalType.User, PrincipalType.SharePointGroup]}
            onChange = {getPeopleItems}
            resolveDelay={200}
      />
    );
};

Hey @yungfu Did you try testing using beta version of the controls?
Thanks,
Nishkalank

Hey @NishkalankBezawada  unfortunately, in latest built 3.16.0-beta.6203356, I can still reproduce this issue.


[BACKLOG-31208] Update 'Fixed file input' step to use enhanced Open D…

…ialog for browsing and selecting files

:white_check_mark: Build finished in 10m 23s
Build command:
mvn clean verify -B -e -Daudit -amd -pl ui

:ok_hand: All tests passed!
Tests run: 1123, Failures: 0, Skipped: 0    Test Results

:information_source:  This is an automatic message


BatchActivation service down?

Hi - we've used your excellent WS to activate many thousands of systems - thanks for your hard work. Apologies for opening this issue as it doesn't look to be a problem with ActivationWS itself - but it is related.
We have hit an issue this year as we deploy keys for 2021 - and we're trying to troubleshoot it.
ActivationWS is running fine - but returns error 500 when we try to activate keys. First step is to check access to the MS URLs.
When we test connectivity to https://activation.sls.microsoft.com/BatchActivation/BatchActivation.asmx - the service appears down - get the generic error shown below. We've tested outside a proxy and it's the same result.
Is anyone else having issues? We are pretty sure this worked for us before the weekend of 16th Jan 2021. We're also going to log a ticket with Microsoft.
Server Error in '/BatchActivation' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Hello @4var1 , thank you for reaching out! I just checked the service and could not reproduce any issues. I would recommend to update to release v.0.19.0. Please let me know if that works!
Thank you for believing in ActivationWs, stay healthy!
Best regards,
Daniel

Hello @4var1 , thank you for reaching out! I just checked the service and could not reproduce any issues. I would recommend to update to release v.0.19.0. Please let me know if that works!
Thank you for believing in ActivationWs, stay healthy!
Best regards,
Daniel

My apologies - we've discovered that our license provider didn't increase activation limit on our Year 2 keys - they added them to the Year 1 keys. Updating to the latest version of ActivationWS showed the activation limit exceeded rather than just the 500 error - so all good. Thanks for your time and support. Closing case!

My apologies - we've discovered that our license provider didn't increase activation limit on our Year 2 keys - they added them to the Year 1 keys. Updating to the latest version of ActivationWS showed the activation limit exceeded rather than just the 500 error - so all good. Thanks for your time and support. Closing case!


Cherry Pick PR 3095 To The 0.11.x and 0.12.x branches

Please take the changes in PR 3095 and apply them to 0.11.x and 0.12.x branches so that we can release them.

I have a couple of other changes that I have parties interested in getting in a 0.12.x release:

#3112
#2835
#2943

Any chance we could cherry-pick these over as well?

Happy to do some leg-work to make it happen, too

Happy to see those in the release — go for it.  Hopefully the tests cover these.  I’m not good enough at git to do the cherry picking :-).

I'll give it a shot and see how many issues I encounter.

I remember now. I looked at this before. I think 0.11.x is straightforward but I'm not sure about 0.12.x? There's no branch for this. Should we create one first? Or am I going to be using tags instead?

Please create a branch for 0.12.0 at the 0.12.1 tag.
BTW — @dbluhm — are any of those PRs you listed security patches such that they should be 0.11.x as well, or are they just nice to haves for 0.12.x?
Thanks!

Nice to haves; bug fixes, interop, and extensibility

Oh, thought of one more (sorry): #3050

Thanks for including that one @dbluhm ! I tested out the 0.12.2 RC in a Traction deployment and it indeed now successfully completes OOB connections from Traction to the version of Credo in the BC Wallet.


Fix 381

Fixes #381.
I tried to keep changes to a minimum. I only needed to extend some of the test fixtures in order to test "altering nested property/field combinations".
Furthermore I decided to copy some stuff into ByNameSingleExtractor.java to avoid a variety of changes when for instance moving PropertySupport to the Introspection package.
I used the code style mentioned in CONTRIBUTING.md ... however I noticed that ByNameSingleExtractor.java seems to be not formatted conforming to that style. However I DID NOT reformat the code in order to avoid "unrelated changes".

Please let me know if you'd like me to squash the commits into one. I let them separated in order to highlight the changes.

Thanks for the contribution, I will review it shortly.

Integrated, I have just moved the test to ByNameSingleExtractorTest.
Thanks !

I do not know if this intended, but a side-effect? of this pull request is that AbstractIterableAssert#usingElementComparatorOnFields() now works for properties without a backing field.

Thank you for bringing this up. I will investigate this.

usingElementComparatorOnFields supports properties not backed by a field or a field (which can be private, javadoc is wrong on this last point).
It does not support nested values mixing fields and properties (which is what #381 fixed on extraction).
For consistency sake's and intuitive behaviour, all comparison by value strategies should support mixed nested field/property.


2d myocardial strain

Thank you for your work！
Can you share the code of 2d myocardial strain test based on NeuralCMF？
Thank you！

Our method is specifically designed to accurately estimate the 3D motion of each point within the heart by utilizing 3D echocardiogram videos or specifically multi-angle 2D echocardiogram videos, rather than conventional 2D echocardiogram videos. You can understand it as our approach first reconstructs a 3D heart using multi-angle 2D echocardiogram videos, and then performs precise 3D motion estimation based on this reconstructed model.


Remove need for app-level dependency list

Currently this multi-application structure uses NPM packages managed by Lerna in an unusual way: with TypeScript code and no compiled JavaScript. When compiling an application, all of the referenced library code is compiled at that time.
This considerably simplifies and improves the development process, but creates the following unfortunate dependency situation:
Consider the dependencies A -> B, B -> C. Application A must declare a dependency on library C for it to work. This is because B gets compiled in A's context.
There are different possible approaches to eliminate this tedium. Perhaps the easiest would be to simply automate it in place, it would involve only a small amount of logic.

This was made irrelevatt by switching to Nx.


jsonSerialize skiped on related models

Laravel Version
9.30.1
PHP Version
8.2.5
Database Driver & Version
No response
Description
Senario
When running json_encode($model) on a model with an HasMany relation,
we end up running the following methods (trace):

Model->jsonSerialize https://github.com/laravel/framework/blob/973b54ed201cdf1ec820699831e39189327ae17e/src/Illuminate/Database/Eloquent/Model.php#L1665

Model->toArray https://github.com/laravel/framework/blob/973b54ed201cdf1ec820699831e39189327ae17e/src/Illuminate/Database/Eloquent/Model.php#L1636

Model/HasAttributes->relationsToArray https://github.com/laravel/framework/blob/973b54ed201cdf1ec820699831e39189327ae17e/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php#L354

Collection/EnumeratesValues->toArray https://github.com/laravel/framework/blob/973b54ed201cdf1ec820699831e39189327ae17e/src/Illuminate/Collections/Traits/EnumeratesValues.php#L865

Model->toArray

When we reach the 2nd model, the code goes directly to the toArray method.
Problem
the modifications added in jsonSerialize on that related model is never applied.
Sugestions
    public function jsonSerialize(): array
    {
        return array_merge($this->attributesToArray(), $this->getArrayableRelations());
    }

Steps To Reproduce
Class A extends Model
{
   public function jsonSerialize(): array
   {
       return ['type' => A] + $this->attributesToArray();
   }
}

Class B extends Model
{
    public function children(): HasMany
    {
        return $this->hasMany(A::class);
    }
}

echo json_encode(B::first());

In your example you're overwriting jsonSerialize. I don't think we can consider that as reasonable use case.


Add very basic "students" subflow that we can expand

This is the most basic "students" subflow which allows for submitting the "studentsAdd" page multiple times and stores the data in the database properly. All the other pages (and even that page) still need to be built.

Merging even though it will crash demo, since it'll be harder to build atop if I don't.


Why the images are flipping while taking it from camera after cropping?

This is a browser issue you can fix with an external library - refer to https://github.com/DominicTobias/react-image-crop#how-to-correct-image-exif-orientationrotation

@DominicTobias  Have same issue on IPhone7+after cropping an image getting it rotated on the side.

@JustFly1984  Have you tried the library mentioned by @DominicTobias . It worked for me.


Write a Haskell program to convert minutes to seconds

Description
Write a Haskell program to convert minutes to seconds
1 minute = 60 seconds
Input  : 5
Output : 300

How to contribute

Save the solution in convert_minutes_to_seconds.hs file
Add convert_minutes_to_seconds.hs file in convert-minutes-to-seconds folder

!assign


Add multiple choice selection to the Prompt action

Used in line_manager, it'd be nice to add this utility to the Prompt action. The goal is to be able to call selection = prompt(text: "Which cat?", choices: ["happy", "fluffy", "furry"]) and have the user be able to just input the index of the choice, getting back fluffy if I type 2.
The user would see something like
Which cat?
1) happy
2) fluffy
3) furry

Ah, back then I was still young, there is a much cooler way to do that: https://github.com/fastlane/gym/blob/master/lib/gym/detect_values.rb#L62-L63
But yes, having this as a fastlane action as past of prompt sounds great! :

Hey everyone! I am going to go ahead and close this issue for now as it has been quite some time since there has been activity on it! We will leave it marked as a feature request and reopen it as soon as we have a chance to bite this off for a future release!
Thanks @czechboy0 ! :octopus:

@ohwutup We now actually have a new method that makes it super easy for us to add
project = UI.select("Select your project: ", ["Test Project", "Test Workspace"])

It's probably 10 minutes of time to add an action for that :+1:

@czechboy0 Do you want to take this over? :smile:

@KrauseFx I'll take a look at it, sure. Time to write some Ruby anyway. :laughing:

Oh yeah :rocket:

Actually, the UI.select function does pretty much what I need. It's trivial to just look up the index of the answer afterwards, so I don't think there's much value in adding that to fastlane_core.

Agreed


openshitf的v2ray 部署无数次了 还是不行

看日志
都是显示
Failed Create Pod Sand Box
Failed create pod sandbox: rpc error: code = Unknown desc = [failed to set up sandbox container "db0b2dc7a4ef9e2ab25ee7a91b3169102117ee388a04c36f4109682aa73dc771" network for pod "cundanx0g-1-deploy": NetworkPlugin cni failed to set up pod "cundanx0g-1-deploy_myopsv2ra9" network: failed to send CNI request: Post http://dummy/: dial unix /var/run/openshift-sdn/cni-server.sock: connect: connection refused, failed to clean up sandbox container "db0b2dc7a4ef9e2ab25ee7a91b3169102117ee388a04c36f4109682aa73dc771" network for pod "cundanx0g-1-deploy": NetworkPlugin cni failed to teardown pod "cundanx0g-1-deploy_myopsv2ra9" network: failed to send CNI request: Post http://dummy/: dial unix /var/run/openshift-sdn/cni-server.sock: connect: connection refused]

openshift你是拿不到root权限的，所以没办法部署成功


Prisma shadow database is incompatible with the electric proxy

I'm struggling to generate new db migrations using prisma.
node@da54a5ab2d97 ~/workspace (main) [1]> yarn prisma migrate dev --create-only --schema prisma/electric-proxy/schema.prisma
yarn run v1.22.19
$ /home/node/workspace/node_modules/.bin/prisma migrate dev --create-only --schema prisma/electric-proxy/schema.prisma
Environment variables loaded from .env
Prisma schema loaded from prisma/electric-proxy/schema.prisma
Datasource "db": PostgreSQL database "sheets", schema "public" at "electric:65432"

Error: P3006

Migration `20230923050414_init` failed to apply cleanly to the shadow database.
Error:
ERROR: Cannot alter column "" of electrified table "public"."Column"
   0: schema_core::state::DevDiagnostic
             at schema-engine/core/src/state.rs:270

error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

The problem is that the electric proxy thinks that the shadow database is the main database. I'm right now trying to find a workaround for generating migrations.

Raised an issue internally to investigate this

This may be related to this issue shared on Discord: https://discord.com/channels/933657521581858818/1165673468512182282
As @alco noted there:

Prisma resets the database before it runs any migrations, undoing Electric's initialization.

Could this be the issue?

@kevin-dp Prisma never deletes/resets your database when running migrations, the error message which prisma gives may cause you to believe that but that's not what is actually happening. I see there is a misunderstanding on how prisma works under the hood. Let me give you a quick rundown on prisma so you may implement proper electric-proxy support(so prisma migrate dev just works without hacks or a high pain tolerance).
Prisma when tasked with generating migrations needs to answer the question "ok what changes do I need to make so the db is in the desired state". The naive approach would be to look at the current migrations and see what changes to the schema were made and generate a new migration based on the difference. This unfortunately has an issue, it doesn't protect you against schema drift. Let's say before generating the migrations i went to the db and added an index on a table and forgot to write an migration for it.  Prisma would have no idea that index exists and may generate invalid migrations! This problem is called schema drift.
To protect and properly handle schema drift prisma uses a so called shadow database. Before doing anything prisma creates a NEW DATABASE, applies all existing migrations to the shadow database and then dumps the schema from the shadow database and the target database. Those schemas are getting diffed so prisma may detect schema drift and act accordingly.
The shadow database is built into prisma and can't be disabled. Half of the prisma commands require it :)
Now let's fire up wireshark and see how this works in practice. First set up wireshark to capture traffic on the electric proxy

And try to generate a migration using prisma

Now let's analyze the tcp streams

We see that prisma made 3 connections to the db

Let's see what data was sent over the wire on those tcp streams

On the first connection prisma checks if the creds are ok, inspects if the target schema exists and checks the version of postgres

On the second connection prisma introspects the existing db schema and creates the SHADOW database

Now the third connection is where the problem is, the previous 2 connections were made to the desired target database. The third one is made to the SHADOW database

Prisma then proceeds to apply all existing migrations to the shadow database. The problem is that electric-proxy sends the queries to the target database and not to the shadow database :( Also if electric-proxy sees DDLX on the shadow database connections it thinks it should act on it.
Generally the creation of the shadow database fails because electric thinks it should talk to the main database.

To properly support prisma electric-proxy should understand that when a connection is made to prisma_migrate_shadow_db_* then it should:

proxy queries to the shadow db, not the main db
ignore all DDLX ever

With regards to https://discord.com/channels/933657521581858818/1165673468512182282 you came to the wrong conclusion there. Electric was created, installed and available in the main database but not in the shadow database. I also had this issue and that's why I had https://github.com/electric-sql/electric/issues/651#issuecomment-1810262515 in my migrations which checked if the electric schema exists before trying to electrify the tables. Otherwise prisma was unable to create the shadow database.

@gorbak25 Thanks, that's a very clear explanation of how Prisma works and why it doesn't work with our current proxy.

@gorbak25 Have just merged #769 that hopefully provides support for shadow tables. Please try again with main and feel free to re-open this if you're still having trouble

Sidenote: every push to main publishes an updated electricsql/electric:canary image to Docker Hub. That should give you an easier way to try it out compared to building from source.


TypeError: invalid file: PosixPath('wall.log')

I receive the following error

TypeError: invalid file: PosixPath('wall.log')

I have used the following command (git clone + run) to tun the script.

python -m deletefb.deletefb -E 'email@com' -P 'pwd' -U 'https://www.facebook.com/username'

What could this possibly refer to?

@denzilc I think it's your python version. Are you using <3.6?
It's tested with 3.6 or greater (see https://github.com/weskerfoot/DeleteFB#how-to-use-it ). If your system python is older than 3.6, then I would recommend either installing 3.6 (if you can) or use something like Pyenv to allow for newer versions of Python 3 alongside the system one.
https://github.com/pyenv/pyenv
I wasn't aware that this interface is not backwards compatible, so maybe I can take a look and see if it's possible to make backwards compatible, but TBH I would rather just support 3.6 or greater at this point, since it's already tied to Python 3 and doesn't support 2.
https://docs.python.org/3/whatsnew/3.6.html#pep-519-adding-a-file-system-path-protocol

Hmm actually it looks like it should be easy to fix. Just calling the str() constructor on it should work.

@denzilc Should be fixed in master now. Please give it another try :)

Thanks, it works : )


document tutorial on how to build wasm in java

I saw an example there:
https://github.com/konsoletyper/teavm/blob/master/samples/benchmark/build.gradle.kts#L44
do you want to write tutorials, or do I do?

I write tutorials, which you can see on teavm.org. However, I'm limited in my spare time, so did not have any opportunity to document WebAssembly backend. If you want to write tutorial, you can open a PR on https://github.com/konsoletyper/teavm-site
Also, there are more examples with WebAssembly in samples dir.

thanks! I will try the soft and progressively update the doc then. :)
see you soon :)


Add Employment/ForeignerJobRecommendations_v0.4.0

Copied 0.3.0 as a base for 0.4.0
Added industries to requests and in the jobs in the response.
Mark 0.3.0 as deprecated

Both the v0.3 and v0.4 are now identical to VirtualFinland/definitions.

Add the list of industries in the input of the request
Add the list of industries in the output of the response


hack: fix broken build for ARM64-arch

When building over AWS-Graviton, need to use ARM64 (aarch64) protoc binaries. Upstream project does not provides proper ARM64 binaries for protoc-gen-go and protoc-gen-go-grpc so we need to build it from source within temporary directory.
Refs RHSTOR-2044
Signed-off-by: Shachar Sharon<EMAIL_ADDRESS>

/restart
On Sun, Dec 25, 2022 at 4:40 PM openshift-ci[bot] @.***>
wrote:

@synarete https://github.com/synarete: The following tests failed,
say /retest to rerun all failed tests or /retest-required to rerun all
mandatory failed tests:
Test name Commit Details Required Rerun command
ci/prow/ocs-operator-bundle-e2e-aws f0b1d38
https://github.com/red-hat-storage/ocs-operator/commit/f0b1d380d64e58f588aa4cb8ead69dd606d9cce1
link
https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/red-hat-storage_ocs-operator/1904/pull-ci-red-hat-storage-ocs-operator-main-ocs-operator-bundle-e2e-aws/1607018369280643072
true /test ocs-operator-bundle-e2e-aws
ci/prow/images f0b1d38
https://github.com/red-hat-storage/ocs-operator/commit/f0b1d380d64e58f588aa4cb8ead69dd606d9cce1
link
https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/red-hat-storage_ocs-operator/1904/pull-ci-red-hat-storage-ocs-operator-main-images/1607018369150619648
true /test images
Full PR test history
https://prow.ci.openshift.org/pr-history?org=red-hat-storage&repo=ocs-operator&pr=1904.
Your PR dashboard
https://prow.ci.openshift.org/pr?query=is:pr+state:open+author:synarete.
Instructions for interacting with me using PR comments are available here
https://git.k8s.io/community/contributors/guide/pull-requests.md. If
you have questions or suggestions related to my behavior, please file an
issue against the kubernetes/test-infra
https://github.com/kubernetes/test-infra/issues/new?title=Prow issue:
repository. I understand the commands that are listed here
https://go.k8s.io/bot-commands.
—
Reply to this email directly, view it on GitHub
https://github.com/red-hat-storage/ocs-operator/pull/1904#issuecomment-1364692011,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB5ZRRYCMSHGVFG7CJXCLUDWPBMEPANCNFSM6AAAAAATJALXDI
.
You are receiving this because you were mentioned.Message ID:
@.***>

The changes look good to me, Were these changes tested well? CI does not test it on arm ENV so we need to make sure they work well.

Currently, I am testing the build process over ARM64 using RH's beaker machines. This is just the first step in a more comprehensive cycle of adjusting ocs-operator to ARM64 environment (specifically, AWS Graviton). See https://github.com/red-hat-storage/ocs-operator/issues/1906 for more details.


WISH: 3D view rotate key alternative

The right-click event of my mouse is being intercepted by the "mouse gesture" plugin in Firefox. As a result, I am unable to rotate the 3D map. Would it be possible to have an alternative, such as left-click + alt?

Sorry, not awake, i did not see the purpose of those 2 icons.

Ctrl + left click also works - not perfectly because the key handling in he 3D lib is not great.
You can also use keyboard navigation (see "Sceneview Navigation")

Actually Ctrl + Left click does not seem to work anymore, let me re-open this issue to take a look


onIconTap is not a function

Running this
<Rating size={48} totalCount={1} rated={stern1} />
and clicking on it crashes the app because of
ERROR    TypeError: onIconTap is not a function. (In 'onIconTap(position + 1)', 'onIconTap' is undefined)
There is never a check if this function exists and from reading the docs there is no need to define this function.
Please either check if the function exists (which should be the way to go anyways) or update the docs :) Thanks!

Good catch.. Will fix and revert soon.

Fixed. Check v5.3.2

LGTM


converting 10 MSDN converted topics to use relative links to other topics

Hmm conflict. Must have done something wrong.  Closing for now.


Display Attribute localization does not work on shared resource

In 1.1.0-alpha1-22125 localization Name property in DisplayAttribute works well when all models have their own resource files (assume that ~/Resources/Models/TestBindingModel.en.resx) but when I try to use single resource file by
.AddDataAnnotationsLocalization(options => {
    options.DataAnnotationLocalizerProvider = (type, factory) =>
        factory.Create(typeof(SharedResource));
})

localization does not work.

@ryanbrandenburg

@akanmuratcimen I was able to reproduce this, I'm working on a fix now. Thanks!

Fixed by #5287. Thanks!


Move to RustCrypto/PAKEs?

RustCrypto already has SRP implementation and SPAKE2 will be a good addition! I can give you admin access to the repo (same as with KDFs) if you want.

Yeah, sounds good to me.

Done!

Done. This repository is now empty.


Restore ZoomButton's auto hide feature

Issue Type
[ ] Improvement
Description and/or steps/code to reproduce the problem
The previous setup, using Android's built in zoom buttons would leak references while the animation for fading the buttons in and out.
https://github.com/osmdroid/osmdroid/pull/741
https://github.com/osmdroid/osmdroid/issues/736
This issue to restore that function

In order to support the auto hide, we'll need to add mapview handling for onpause and onresume, which means all app that use osmdroid will also need to add these calls to activity or fragment using osmdroid.

@monsieurtanuki the current issue with this branch is that the zoom controls work intermittently and i have no idea why. Once in a state of not working, panning the map, even just by one pixel, usually restores the functionality.
I'm starting to think that it may be easier to create and attach a custom view/layout to the map view and just rely on that instead of calculating our own hit test. The other option is to revert the zoom buttons overlay back to the original android based zoom controls

@spyhunter99 Initially, when I developed the current version of the zoom buttons, it was supposed to be a quick win in order to get rid of a harmless exception caused by the standard Android zoom buttons, when I was interested by no specific issue.
If it's a pain in the neck to fine tune our own version of zoom buttons, I guess we can forget it and switch back to the standard version. And survive with that harmless exception that nobody cares about - except those who read the logs.

sadly i think we should. We can revisit this for 6.1 or some other future version. 6.0 has already taken much longer than expected. The core features and performance are more important that zoom buttons IMO

Definitely.

ok, working on it now...

Fixed by #1190. Feel free to reopen.


Chat - Input briefly disappears after saving edited message

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

Version Number: 1.3.80-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Open the app
Navigate to any chat
Send a message
Long tap the message you just sent
Select "Edit"
With or without editing tap "Save"

Expected Result:
The input is visible
Actual Result:
The input briefly disappears after tapping "Save"
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

https://github.com/Expensify/App/assets/78819774/82ee2cef-395a-4fca-b46d-298685b697b6

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

View all open jobs on GitHub

I can't reproduce this - the saved "Edit" flickers but it doesn't disappear. I think we need a video and the steps checked in the OP.

Hi @Christinadobrzyn, I can reproduce this issue with build v1.3.83-4 on iOS 16.6.1. Input field disappears for a moment for me. It's like scrolling down off the screen.
https://github.com/Expensify/App/assets/115492554/aa6d10fb-af7c-49ef-b81f-c435137a6673

I can reproduce - I think this can be external.

Hey!! I'm Bartek from Callstack and I would like to help with this issue. I will send the proposal soon

Awesome! Thanks @barttom - feel free to add the proposal here for a review!

Hey!
Small update from my side.
I'm still investigating this issue.
What I found is not like input disappearing, but it shows with delay. This feature is Implemented like:

when the user want to edit a comment - display the input field instead of the comment content
hide new message input on the footer
After finishing editing: show input on the footer again

So there are two inputs and there could be more if we decide to edit a few messages at the same time.
The problem is first render of ReportActionCompose in the footer. Looks like it have expensive operations before render.
Maybe this PR resolve this issue, I'll check that.
So I still working on proposal :)

hi @thesahindia can you provide an update on the proposal review? Thanks!

@Christinadobrzyn yup, still looking for solution.
This issue is tricky. I find out that delay with render bottom input happens only when we have opened keyboard. I’m analysing keyboard listeners and looking for reason of this behaviour.

Proposal
Please re-state the problem that we are trying to solve in this issue.
When user start to edit message, main input has been hide to avoid displaying two inputs.
When user cancel edition or send edited message, main input will be displayed with visible delay.
What is the root cause of that problem?
Input visibility is set by shouldShowComposeInput key in Onyx store. Toggle of this attribute is managed in setShouldShowComposeInputKeyboardAware function located in  src/libs/setShouldShowComposeInputKeyboardAware/index.native.ts.
Looking on the implementation on the native side, the key will be enabled on keyboardDidHide event, so only when the animation oof hiding keyboard has been finished.
That is the reason of latency in visibility message input
keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', () => {
    Composer.setShouldShowComposeInput(true); // this part make input visible
    keyboardDidHideListener?.remove();
});

What changes do you think we should make in order to solve the problem?

Change event listener to keyboardWillHide that makes input visible while the keyboard is closing.
Even if Android doesn't support this event, it still works smoothly on both platforms.
What alternative solutions did you explore? (Optional)
Remove enabling visibility from event and enable it directly. However, it can occur some design elements 'jumping'.
samples of solution:
https://github.com/Expensify/App/assets/7682108/64673ad7-1f95-48c7-affa-0d15166128a6
https://github.com/Expensify/App/assets/7682108/cf79c9dc-1f6f-47cb-9c12-12afd0ae717c

@Christinadobrzyn is my proposal is fina, should I implement it?

Sorry for the delay. I'm not familiar with reviewing proposals - @thesahindia could you review https://github.com/Expensify/App/issues/29211#issuecomment-1775407691 to see if that's good to move forward with?

@Christinadobrzyn could You assign this one to me?

The proposal looks OK to me too. @barttom Did you look into the git blame of that method to see if there was a specific reason that it was using keyboardDidHide in the first place?

Hi @s-alves10!
I have one question about the solution from https://github.com/Expensify/App/issues/23908#issuecomment-1657736680
Was there a specific reason to choose 'keyboardDidHide' listener event?
That provides a delay in displaying input after ending the editing comment, so just wonder if this was a requirement.

It's super weird but when I tested if we don't have a regression with the flashing mentioned here, I realized that on Android main input didn't show. So I've changed my pull request to  listen event conditionally based on the platform

Great, thanks for checking on that and it sounds like it was a good thing that we looked into it!

I'm going ooo until Monday Nov 27th so going to assign another BZ teammate to monitor this until I'm back. Thanks!
Status: discussing the solution

The fiox was merged in production two weeks ago, should we close this issue?

Ah good catch @barttom! This is the PR for this right? https://github.com/Expensify/App/pull/30564
Not sure why the payment prompt didn't show. I don't see anything about regressions so I think we can pay this out.
Do we need a regression for this @barttom @thesahindia?

No regression noticed I think.

I don't  think we need a regression test for this one

$500 payment approved for @thesahindia based on comment above.


WalletConnect with Trust Wallet

Hell there,
Is there any special setup for Trust Wallet?

PR #21 seems to be working with Trust Wallet. I will be testing on mobile as well but please let me know if this PR resolves your issue

@buihuuloc, PR #21 has been merged into main, are you still experiencing this issue?

Confirmed working on Mobile (android)


Create Get-SPOTenantRenameStatus

Documenting the new PowerShell cmdlets to support SPO Tenant Renames.
Please include this PR with the other files:

Start-SPOTenantRename
Get-SPOTenantRenameStatus
Stop-SPOTenantRename

@yogkumgit  How long is it expected for JohanFreelancer9 to do the review as this article needs to be published. (Also note that I can't @mention him.) I also can't resolve the conflicts

@tiburd Dario and Johan cannot be tagged or assigned/review, please help. Thanks


Delay Inline Completion Audio Cues

TLDR: We got some reports that the inline suggest audio cues mask/annoy users when suggest dropdown is triggered, allowing users with screen readers to select when the cue should be played would be helpful.
Current state
Currently the inline completion audio cues are played right when the inline completion appears on screen. If a suggest dropdown triggers the inline completion, the alert cue is played at the time when the suggest dropdown is red. Causing annoyance and possible confusion for the users.
Proposal
Provide a optional setting for the inline suggest audio cues, that would allow to select when a cue is played.

When no suggest dropdown is rendered (playing audio cue, only if a suggest dropdown has been resolved and inline completion is shown)
Every time inline suggest is rendered (the current state)

This would allow the screen reader users to keep the audio cues, but decide whether and when they should be played.

I don't think a setting is necessary here - when the suggest widget is visible, inline completion signals just shouldn't be played.


Initial WebXR display support for Scene

This PR will be limited to making CesiumJS work with WebXR-enabled UAs at the Scene level, and it is considered as a Proof Of Concept due to its caveats, which may be worked on to make it acceptable for merging. The idea is to have a base to continue the discussion regarding WebXR support.
For a demo on how to use this proposal, check the cesium-vr demo. The most imprtant file is htdocs/index.js. This was initially a fork from a NICTA experiment, but most of the code originally found there is not in use by my demo.
Related issue: #3422

[x] CONTRIBUTORS.md: added an entry for myself.
[x] Signed the CLA Google Form.
[x] CHANGES.md: added an entry for Scene.webXRContext property.
[x] No changes found regarding the test report (26 tests failed in unrelated areas for unrelated assert failures).

TO-DO:

[ ] Currently to achieve display on the Head Mounted Display (HMD) hardware, as a final stage in Scene:executeWebVRCommands, I am doing a low-level GL blit operation from the provided passState GL framebuffer to the GL framebuffer provided by WebXR.

This should be done at a Render level, using Context and something like Renderer/MultisampleFramebuffer.
The current method additionaly has the limitation that antialiasing cannot be activated in the WebGL context or the Blit will fail, and this is specially bad for HMDs due to the low resolution of the displays. Here the error that is produced:

[WebGL-0x20036ff00]GL ERROR :GL_INVALID_OPERATION : glBlitFramebufferCHROMIUM: destination framebuffer is multisampled

[x] Also on executeWebVRCommands, make use of the transform and projection matrix that WebXR provides to calculate camera offsets, frustum, etc. Right now we are using the method that was already in place for WebVR, but the parameters provided by WebXR are supposed to be the ideal ones and are provided by the HMD. For example, the Meta Quest 2 is aware of the IPD the user is phisically setting inside the device, and the transform+projection parameters probably obay such adjustment. The WebXR documentation strongly recommends using these params to avoid discomfort for the users.
[ ] Establish a mechanism to allow the containing app to know if pose information from the HMD was not available at a given frame (probably due to lost tracking). Maybe an event handler.

Next steps
After the issues of this POC are resolved, it would be interesting to work on Viewer, where device and API discovery, scene configuration and WebXR session handling would be taking place. Discussion would be necessary regarding HUD widget display inside the VR session, since it is a WebGL pure view and also a default controller scheme that adapts/degrades according to the different VR sets capabilities. Also camera handling, beyond the trivial direct mapping of HMD orientation to camera orientation.

Thanks for the pull request @pupitetris!

:heavy_check_mark: Signed CLA found.
:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.

Thanks for opening the PR @pupitetris, this is super exciting to see!
We have a few VR headsets around such as the Oculus and are excited to test this out.
Do you have a timeline in mind for addressing the TO DO items in this PR? We're happy to discuss the approach and provide a code review when you are ready.

Hi @ggetz and team in general. I finally got time to work on this.
Camera frustum and translation are now derived from WebXR parameters. When testing on the Meta Quest 2, a more realistic experience is obtained mostly because the calculated FOV goes up from 60deg in the arbitrary calculation to 90 degrees.
Other notes:
Implemented abstractions/factorization that allow the same workflow if
either plain old WebVR is executed, or new WebXR is executed. This
code which is mostly processing and applying the WebXR pose to the
Cesium Camera should be implemented in a class of its own and avoid
Scene.js from getting too large.
Also, the code needs to be optimized, as the HMD and frustum
parameters are not expected to change too often, so recalculating
these transformations on every frame is overkill. We just need for
adjustments on the Camera frustum and IPD parameters to trigger
recalculations on the transformations (on an as-needed basis).
Next steps:

First, a code reorg because we have quite a few functions now that should go into its own class / module, and others should be complements to existing CesiumJS classes. Scene.js is quite bloated already, so it's good to send code to independent modules where there is opportunity due to identifiable decoupling.
Second, do a bit of optimization on the new routines to avoid unnecesary calculations for configurations that will not change too often.
Move on to the bitblit PoC code that is in use now and make it better or more natural for the Cesium pipeline.
Before moving on to topics related to the viewer (controls and UI overlays), check how much we can comply with the WebXR API (example: makeXrCompatible call)

OK, the refactoring is done, and optimizations are in place to avoid unnecesary Camera translation and frustum recalculations. I'll be busy for a couple of weeks so I don´t know if I'll be able to focus much on the bitblit TODO, but we are moving forward with this. Some feedback would be appreciated. Cheers!

Awesome, thanks @pupitetris!
We're beginning to test this out on the Quest and potentially some other headsets. I understand we should follow directions in https://github.com/pupitetris/cesium-vr?
We'll also take a look shortly at the code in more detail, but the overall approach seems reasonable. I understand that other engines such as Mozilla's A-Frame use blit operation as well.

Before moving on to topics related to the viewer (controls and UI overlays), check how much we can comply with the WebXR API

I would recommend we keep the scope of this PR to a MVP in order to facilitate smaller reviews and a more focused discussion. For instance, UI overlays should probably be deferred to a later PR.

Awesome, thanks @pupitetris!
We're beginning to test this out on the Quest and potentially some other headsets. I understand we should follow directions in https://github.com/pupitetris/cesium-vr?

Yeah. I hope the instructions are good enough. I haven´t tried the new code with Cardboard setups: only with the WebXR HMD emulator and my Quest 2.

We'll also take a look shortly at the code in more detail, but the overall approach seems reasonable. I understand that other engines such as Mozilla's A-Frame use blit operation as well.

OK, I'll see if I can find the core part of A-Frame where the blit is performed, to see if we can have a WebGL operation that allows the use of a multisample framebuffer (right now antialiasing must be turned off).

Before moving on to topics related to the viewer (controls and UI overlays), check how much we can comply with the WebXR API

I would recommend we keep the scope of this PR to a MVP in order to facilitate smaller reviews and a more focused discussion. For instance, UI overlays should probably be deferred to a later PR.

Totally. This PR is only about the display part, at the Scene level. Afterwards, a good default input scheme should be discussed for implementation at the Viewer level, and see what can be done to have HUD controls which would be provided by the Viewer as well (probably two independent PRs).
Greetings,
Arturo

Awesome, thanks @pupitetris!
We're beginning to test this out on the Quest and potentially some other headsets. I understand we should follow directions in https://github.com/pupitetris/cesium-vr?
We'll also take a look shortly at the code in more detail, but the overall approach seems reasonable. I understand that other engines such as Mozilla's A-Frame use blit operation as well.

Before moving on to topics related to the viewer (controls and UI overlays), check how much we can comply with the WebXR API

I would recommend we keep the scope of this PR to a MVP in order to facilitate smaller reviews and a more focused discussion. For instance, UI overlays should probably be deferred to a later PR.

Hi @pupitetris and @ggetz , is development/integration stalled or will there be some WebXR support for Cesium?

Hi @geotom,
We think WebXR support in CesiumJS would be awesome! At least on the Cesium side, we haven't been able prioritize getting this merged.
However, we would would be happen to reengage and discuss a plan of action to get something merged. Let us know your thoughts.

Hi ggetz, thanks for your fast response. I am very new to WebXR and need to first orientate myself, how far this PR goes, etc. What were the issues, not accepting the PR so far? What needs to be improved?


Add badges to the README file

Description
Add some badges to the top of readme.md file, since the badges will be colorful and more attractive at the top of README.md file than the text the users will like it and after linking the badges it will also help them to navigate to different sections/ webpages like PRs, issues, contributors, etc.
Solution
I will add some badges at the top and also will add links related to them so that the README.md file will look more interactive and awesome.

@akrish4 @arpit-dwivedi should I do the above changes??


Tea Club TLC.txt

Just a small pull with a couple of Ciel's scenes from day 1. I'll comment on other pulls for the rest of the day.

Just a small pull with a couple of Ciel's scenes from day 1. I'll comment on other pulls for the rest of the day.

This was supposed to be proofreading, my bad. I'd change the title, but it's pretty much done anyway.


setPulse doesn't work for two accessories with two different pulses

setPulse doesn't work for two accessories with two different pulses. I'm trying to solve this on your script but just letting you know that it doesn't work 😊

Huh. Thanks for the report -- unfortunately I don't have a great way to test.
I assume you're talking about pulse length -- can you provide a little more detail?
What pulse lengths are you trying? Does it work on the two devices individually?
What does your config look like?

I've pushed a change to the dev branch -- @jcbriones can you install that and see if it fixes the issue?

Ok I'll try :)

Hi n8henrie, it does work now. Also, I suggest putting the other two inside the service as well.
    rcswitch.enableTransmit(config.pin || 17);
    rcswitch.setRepeatTransmit(config.repeats || 10);

Thanks! Nice code btw.

Thanks -- wish I could take more credit, but I don't know much javascript and didn't make much modification to existing code.
What would be the reason to move the others? Seems like it would slow things down, and I don't imagine much benefit.

For the enableTransmit, it can stay where it is but for setRepeat, I also set mine to different settings inside my config.json for those devices that only accepts lower count of repeats or else it doesn't function properly.

Huh, you have devices that only accept lower amounts? I haven't heard of this (though common to only work with higher amounts in cases of poor transmission).

Yeah it's actually weird. I have an LED strip lights that only works with transmitting the same data for 3 to 5 times only.

Fair enough, I just pushed 1.1.3 to dev -- let me know if it works for you, if so I'll push it to npm. Thanks for the feedback.


Add option to skip TLS verification in OIDC filter

In case of an internal OIDC Provider behind envoy, the verification of the certificate may not needed.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: bruegth
To complete the pull request process, please assign icygalz after the PR has been reviewed.
You can assign the PR to them by writing /assign @icygalz in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: bruegth
To complete the pull request process, please assign icygalz after the PR has been reviewed.
You can assign the PR to them by writing /assign @icygalz in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@googlebot I fixed it.

@googlebot I fixed it.

@bruegth: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

OIDC is built on top of OAuth2 which mandates HTTPS AFAIK https://datatracker.ietf.org/doc/html/rfc6749#section-3.1
Prod environment can have insider compromise and we don't want the employee(or other user account) be transmitted over plain-text either. If public cert is not available to you, you can use your own organization PKI(self signed), and have authservice use plugged root for verification (which makes sense).


Indicate in the CLI docs that you can specify your own templates

Document that the wash new component command can also be used with a path to a template, a git URL for a template, or a favorites file with your templates.

In addition, it'd be great if this also added documentation about the available template interpolation!
I wasn't aware that was possible till Brooks mentioned it in slack and pointed me here:
https://github.com/wasmCloud/project-templates/tree/main/actor/hello


wallet-ext: stake home view functionality

ts-sdk: add delegation utility class

wallet-ext: stake home view functionality

show total staked amount
show list of delegations

wallet-ext: disable stake coins

wallet-ext: fix navigating to home when route doesn't exist

By default users are able to access the stake home view, but not stake new coins. (Stake coins button is disabled)
https://user-images.githubusercontent.com/10210143/184360386-809e1d3e-7650-4541-91ab-e2995326f109.mov
In order to be able to stake new coins, we need to enable it in the config file and will look like the following:
https://user-images.githubusercontent.com/10210143/184360505-b17542d7-720e-4d5a-a674-8066de5f7948.mov

@pchrysochoidis please double check the font weight and color for the Title and description sections.

Otherwise layout looks good overall.

@mystie711 do you mean the title Stake & Earn and the description Staking SUI provides SUI holders with rewards in addition to market price gains.?  Double checked with figma the values are the same

@pchrysochoidis yes. Interesting.
In Figma, the title looks bolder than what i see in the video and the subtitle in Figma are a lighter color than in the video.
Please ping me on Slack when you have a moment and we could do a huddle to see what's going on over screenshare.

Discussed with @mystie711 about the font weight for the title and description. Probably it has to do with the font that we are using and since this PR adds extra functionality (the style for the title etc was done it previous PRs) I think we can merge this one, if you agree @mystie711 (and there isn't any other comments) and I will fix the font issue in another PR.

Yes. Sounds good @pchrysochoidis .


Make website headings Uniform

Currently, there are multiple headings on the page that have different headings.

Keep all the headings uniform across the complete page.

I want to work on this one.

I would like to contribute to this isssue.Please assign me this issue i'll use the tech stack provided by you and give best results.
lakshita(gssoc participant)..

I'll add proper heading tags and fonts and make all the page headings and sub heading responsive . If you insist  i'll put hover effects on the same..

@ashuvssut you already have many issues. Give others chance.

Please tell the commands to run the project.
On Mon, Mar 15, 2021 at 12:14 PM Anush Bhatia @.***>
wrote:

Assigned #643 https://github.com/smaranjitghose/doc2pen/issues/643 to
@lakshita15 https://github.com/lakshita15.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/smaranjitghose/doc2pen/issues/643#event-4456775677,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AP3G4AR4EKHQXSRDYV2YNDDTDWUDNANCNFSM4ZFL6WOA
.

Please tell the commands to run the project.
…
On Mon, Mar 15, 2021 at 12:14 PM Anush Bhatia @.***> wrote: Assigned #643 <#643> to @lakshita15 https://github.com/lakshita15. — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub <#643 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP3G4AR4EKHQXSRDYV2YNDDTDWUDNANCNFSM4ZFL6WOA .

first, do npm install
then npm start and open the port it is pointing too

@lakshita15 please look into our README.md files to setup the project. (u can watch some youtube also) then you will be able to start contributing
Please make sure you  at least know the basics before directly commenting on the issue that you wanna work on it😅.
We have given resources to make sure that beginners have no issues.
Please look in all the markdown files that help contributors know the codebase.

Please tell the commands to run the project.
…
On Mon, Mar 15, 2021 at 12:14 PM Anush Bhatia @.***> wrote: Assigned #643 <#643> to @lakshita15 https://github.com/lakshita15. — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub <#643 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP3G4AR4EKHQXSRDYV2YNDDTDWUDNANCNFSM4ZFL6WOA .

first, do npm install
then npm start and open the port it is pointing too

Please tell the commands to run the project.
…
On Mon, Mar 15, 2021 at 12:14 PM Anush Bhatia @.***> wrote: Assigned #643 <#643> to @lakshita15 https://github.com/lakshita15. — You are receiving this because you were assigned. Reply to this email directly, view it on GitHub <#643 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP3G4AR4EKHQXSRDYV2YNDDTDWUDNANCNFSM4ZFL6WOA .

see contributingGuidelines.md (section 3)

npm start i did same but it gave error so i asked

can you show a screenshot?

ok

It has started. Thanks.

I would like to do this task.
Can you please assign this task to me?
Thanks

hello
i'm taking part in gssoc 2021. And i would like work on this issue, will you please assign this to me?

@amritakesh @mandepsingh this issue has already been assigned
if the assignee fails to give PR then you can take it!

Okk

I have already made PR..

Re-assigned to @ashuvssut for 1 day.
Only Headings**

Hey! May I work on this as a part of GSSoC'21?


Use Hamcrest instead of equals for field value matching

Allow a matcher to be provided when adding a matched field
When no matcher is provided, the value is matched using the default eq matcher for values that are not collections and containsInAnyOrder for values that are collections
Update examples to use matcher for collection field

Done


[testing] Add fixture finder

@samsonasik I got to handling the ECS files provider, so don't worry about it :wink: :+1:

@TomasVotruba thank you :+1:

👍


Bug (or documentation error) in the arguments to Diff.blobToBuffer

If you look at the argument list here for Diff.blobToBuffer: http://www.nodegit.org/api/diff/
And then compare that to the argument list that's actually exposed in the code; https://github.com/nodegit/nodegit/blob/83f6affb4f1305826336fd34b3126d8b35debb2a/lib/diff.js#L61
They're different, with the actual API lacking the arguments buffer_len (and actually computing this value itself) and payload.
I'd submit a fix the documentation or the API, but I wasn't sure which one was the buggy one - seems to me like computing buffer_len inside blobToBuffer is intentional, but it also seems odd to me (e.g. what happens if the buffer passed in isn't UTF-8? The current code assumes that it is, and I imagine it would compute an incorrect length for non UTF-8 buffers.)

So the documentation in this case is wrong. This can be fixed by doing the same that we do here and just override the generated docs. After that's done we can close this out.


Doesnt seem to get past initalisation

Hello,
Have been running a much older version of this docker image for a while. Trying to update to the latest one.
I have stopped the old container, pulled the latest version and created a new container pointing at my existing config directory.
docker run -d --name plex --restart always -h plex.domain.co.uk -v /var/plex:/config -v /media:/data -p 32400:32400 timhaak/plex

First time I run the container I get this:
docker logs plex
+ GROUP=plextmp
+ mkdir -p /config/logs/supervisor
+ chown -R plex: /config

However, this is all I get, even on subsequent runs (restart of the container, stop and start etc). It just repeats the same 3 lines over and over on every run.
Any thoughts as to what the issue might be?

Could you try the following.
docker run -it --rm {your normal settings here} timhaak/plex /bin/bash
Then run
/start.sh
Can you see an error ?

Some more progess, with some errors!
+ GROUP=plextmp
+ mkdir -p /config/logs/supervisor
+ chown -R plex: /config
+ touch /supervisord.log
+ touch /supervisord.pid
+ chown plex: /supervisord.log /supervisord.pid
+ rm -rf /var/run/lock /var/run/motd.dynamic /var/run/sendsigs.omit.d /var/run/shm /var/run/utmp
+ rm -f '/config/Library/Application Support/Plex Media Server/plexmediaserver.pid'
+ mkdir -p /var/run/dbus
+ chown messagebus:messagebus /var/run/dbus
+ dbus-uuidgen --ensure
+ dbus-daemon --system --fork
+ sleep 0.2
+ avahi-daemon -D
Timeout reached while wating for return value
Could not receive return value from daemon process.

Looks like an issue with avahi?

Tried running avahi-daemon manually in the container and get this error:
Found user 'avahi' (UID 102) and group 'avahi' (GID 103).
Successfully dropped root privileges.
chroot.c: fork() failed: Resource temporarily unavailable
failed to start chroot() helper daemon.

So I managed to get it working.
I had to change /etc/avahi/avahi-daemon.conf to have enable-dbus=no and then modify start.sh to have avahi-daemon -D --no-drop-root
All seems to be working now! (I can connect from plex web and stream things at least)
Not sure what impact this might have though?

Odd.
Though I have a feeling we don't need to install avahi independently anymore as I think plex has something built in.
Will try and test this coming weekend.
I'll also testing your changes and if they work on my side (Should :) )
Will add it to the default.

I got this same error today after updating my image to the latest version. Seems to be related to https://github.com/lxc/lxc/issues/25

Hmm. I'll have a look over the weekend properly this week is a bit busy. Will if there is something we can do once I have time to properly understand what the problems is.

If you remove the rm -rf /var/run/* from the start file it will run fine. Not sure if this is a valid solution, but it works for me.

Sorry didn't have time last weekend and away next. Will look at it when I get some time.

I've just removed that and a bit more that looks like it isn't needed any more.
Seems to be working on my side but please test once the docker servers have rebuilt the images.


Update gettingStartedFromScratch.md

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


The right and left scroll arrows and click trigger don't align on firefox

The click trigger is slightly off from the left and right arrows  in firefox

This could be issue css styles.


use high efficiency recording extractor when saving filtered data during spike sorting

for now saving to binary with spikeinterface. saving with high efficiency extractor for interfacing with sortingview


[Feature] Create a headless instance in NodeJS

Initial checklist

[X] I agree to follow the code of conduct
[X] I searched issues and discussions and couldn’t find anything (or linked relevant results below)

Problem
This is as much a request for advice as it is a feature request.
Background: I attempted to use prosemirror-docx to export docx files, and it works for markdown text -- but not for images. Prosemirror-docx depends on docx, which is NodeJS-dependent because of its reliance on node's Buffer as the return type from a callback when serializing the images in the content. I tried the Buffer package to emulate node's Buffer in the browser, but docx has a call to Buffer.isBuffer(my_buffer) that is returning false so it errors out.
I thought about forking Docx to make it work with Buffer, but I finally concluded that I should be doing this server-side, anyway, because exporting very large documents could probably freeze the UI.
Solution
I would like to use prosemirror-docx on the server side, which means instantiating a Milkdown editor instance in NodeJS to get the EditorState. But as far as I can tell, instantiating the editor -- with function editor(dom) -- will require dom emulation. It would be nice to have ability to instantiate a Milkdown instance without requiring a dom, e.g., editor(). But maybe this is not even possible, given that milkdown works by manipulating the dom.
Alternatives
Probably what I should do: Try using jsdom to emulate the dom and instantiate Milkdown server side.

I'm canceling this.
I need to more fully understand docx; it's supposed to work in the browser using polyfills, but I could not get them to work with Sveltekit.
Sorry to trouble you.

If/when I get it to work, I'll try to convert it to a plugin and share it here.


[shared_preferences] remove android no-op implementation

Description
Remove the Android directory in the shared_preferences's shared_preferences_web and shared_preferences_macos subdirectories. These are unused implementations and do not need to be included.
Related Issues
flutter/flutter#46304
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

It also needs to update bump the version of shared_preferences_web

FAILURE: Build failed with an exception.

Where:
Initialization script '/Users/username/sdk/flutter/packages/flutter_tools/gradle/aar_init_script.gradle' line: 15
What went wrong:
Android property not found.

It will cause build failed when the android directory is removed from the plugin.

when running command "flutter build aar", it will return "Android property not found." error. In the aar_init_script.gradle file , will check if project has property "android". Please don't delete android folder after correct the aar_init_script.gradle.


Feature ge medication basic and advanced search

Basic search for medication - users can search medication by selecting medication name from the combo box. Result displays location of the medication and its quantity inside of that map object(room).
Advanced search for medication - users can click on selected map object and display its location on hospital map (jump to exact building and floor).
For now, because medication doesn't have any connections with rooms in database, it is displayed ("stored") only in storage room and our product owner is okay with that.

 (0) PR Feature ge medication basic and advanced search

Refactored methods that were almost the same- setWindowForMediaction(forEquipment) and  Equipment(Medication)ToContentRows


Add Extra Virgin Olive Inu token data

Added token metadata
Added token image

Will republish from a local branch


[Request]: Include manifest.json file in the repo

Description
Can you please include the manifest.json file in the repo too so we can add it to jellyfin?
Using another website for the manifest is risky for us, what happens when you forgot to renew and someone uploads malware? That's a new vector for attacks, please consider including the manifest file in the git repo.
Proposed solution
Include manifest.json file in the git repo.
Additional context
No response

... we can add it to jellyfin?

Not sure what do you mean? You can add any repository to Jellyfin server, these repositories do not have to be hosted on GH.

Using another website for the manifest is risky for us

In general, using any repository you have no control over is risky and it does not matter where the manifest file is. Also the manifest can still point to another server which serves the files. So I don't see any difference between using github for repo and my server.

what happens when you forgot to renew and someone uploads malware? That's a new vector for attacks...

Imo, there is not any new attack vector. Either the bad actor gains access to my server or to my GH account. After getting access, they can quietly make changes. I can see a slight advantage here, where a new commit to the manifest file might be visible, but let's be honest, the odds of someone spotting that is pretty low.
If you do not trust the plugin repository, you can also just install the plugin manually. Or better - compile it yourself after inspecting the code and build process. I do not mean this in any condescending or similar way, it's just the factual safest way in terms of running a code from a third party.

At first, I indeed had the manifest in the repository, but maintaining it was pretty cumbersome and moving to an external server allowed me to properly automate the plugin releases.
I admit I do not have any particular deep knowledge of stuff related to security, so I may be missing something of course, but I am always willing to learn.


修复文档中175-185中的问题

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Error 400: "unauthorized_client"

Hi,
when I try to sign into "simple-viewer-app", the following error will occur:

Invalid scope for client!
registered app:

registered project:

configuration.ts-imjs_browser_test_scope(default):

Node.js version: 10.15.3
Regards,
He

Hi @bhec362587,
I am currently working with the iModel.js team to resolve this issue. For now, can you please try running the app with the default client id:

imjs_browser_test_client_id = imodeljs-spa-test-2686

That should work for your local environment.

Hi @roopsaini,
Yes, it worked! Thanks a lot.
But why did I have the problem with my own client Id?
Regards,
He


Use backwards for loop instead of linq for performance in AttributeCollection.Remove

Avoids List allocation and slower OrderByDescending.

Hello @campersau ,
Thank you for your contribution,
Your change has been merged and should be released later today.
Best Regards,
Jon

Hello @campersau ,
The v1.11.51 has been released.
Thank again for your contribution ;)


feat(atenlib): ops 4/n

Stack from ghstack (oldest at bottom):

-> #256
#255
#252

Some more math and matrix ops

@fatcat-z ready for review


Set Service Account (not in TLS)

The chart doesn't seem to have a place to specify serviceAccount.  Note, TLS is off. I'm not referring to the TLS SA.
So, cluster pods come up with:
serviceAccount: default
serviceAccountName: default

For GCP bucket backup access, we need to define a SA, other than default. How can it be done?

@prafull01 can you answer this question?


add one channel of output containing the input files for subworkflow stage_input

Will need to add a channel of output for stage_input which containing the input files so that CLEANUP can remove them at the end.

Addressed by https://github.com/icgc-argo-workflows/argo-modules/pull/13


Connectivity issues when cluster-cidr and network interface IP reside in the same address space

Environmental Info:
K3s Version:

k3s version v1.22.4+k3s1 (bec170bc)
go version go1.16.10

Node(s) CPU architecture, OS, and Version:

Linux tbiseud4 4.18.0-305.19.1.el8_4.x86_64 #1 SMP Tue Sep 7 07:07:31 EDT 2021 x86_64 x86_64 x86_64 GNU/Linux
Red Hat Enterprise Linux release 8.4 (Ootpa)

Cluster Configuration:

HA, Using embedded etcd (--cluster-init)
3 servers, 1 agent
Using tokenfiles on all nodes
Using --write-kubeconfig-mode=644
Everything else default

Describe the bug:

On a computer with a single network interface, whose IP address resides within the /16 of the cluster-cidr, traffic from pods destined for nodes or the kubernetes API is not NATed correctly.
Steps To Reproduce:

Installed K3s via playbook based on k3s-io/k3s-ansible where the k3s binary is downloaded directly, rather than running the sh install script.
Playbook creates a custom unit file:

Description=Lightweight Kubernetes
Documentation=https://k3s.io
After=network-online.target

[Service]
Type=notify
ExecStartPre=-/sbin/modprobe br_netfilter
ExecStartPre=-/sbin/modprobe overlay

ExecStart=/trvapps/bidata/k3s/bin/k3s server --cluster-init --write-kubeconfig-mode=644

Environment="K3S_TOKEN_FILE=/var/lib/rancher/k3s/server/tokenfile"
KillMode=process
Delegate=yes
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=1048576
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
TimeoutStartSec=0
Restart=always
RestartSec=5s

[Install]

Unit file on other servers and agents are identical except for command line options. Servers and agent have --server instead of cluster-init, agent instead of server, etc.
Expected behavior:

Pods scheduled on the agent node should be able to contact the Kubernetes API via the service IP (default: <IP_ADDRESS>), and metrics-server pod should be able to contact the metrics service running on all nodes on port 10250.
Actual behavior:

The issue manifested as i/o timeouts in various pods. For example, when the kubernetes-dashboard pod of the K8S dashboard was scheduled on the single agent node, it produced this:
$ kubectl -n kubernetes-dashboard logs kubernetes-dashboard-576cb95f94-255r5
2021/12/01 17:48:05 Using namespace: kubernetes-dashboard
2021/12/01 17:48:05 Using in-cluster config to connect to apiserver
2021/12/01 17:48:05 Using secret token for csrf signing
2021/12/01 17:48:05 Initializing csrf token from kubernetes-dashboard-csrf secret
2021/12/01 17:48:05 Starting overwatch
panic: Get "https://<IP_ADDRESS>:443/api/v1/namespaces/kubernetes-dashboard/secrets/kubernetes-dashboard-csrf": dial tcp <IP_ADDRESS>:443: i/o timeout

The metrics service also fails in a similar way:
(This is a separate, non-HA cluster, but the issue manifests the same way on the cluster that this report is concerned with.)
 $ kubectl top node
NAME       CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
tbiseud0   149m         3%     5377Mi          33%
tbiseud2   <unknown>                           <unknown>               <unknown>               <unknown>
tbiseud3   <unknown>                           <unknown>               <unknown>               <unknown>
tbiseud1   <unknown>                           <unknown>               <unknown>               <unknown>

metrics-server logs:
E1202 20:06:05.353389       1 scraper.go:139] "Failed to scrape node" err="Get \"https://tbiseud3:10250/stats/summary?only_cpu_and_memory=true\": dial tcp 10.42.x.x:10250: i/o timeout" node="tbiseud3"
E1202 20:06:05.360053       1 scraper.go:139] "Failed to scrape node" err="Get \"https://tbiseud1:10250/stats/summary?only_cpu_and_memory=true\": dial tcp 10.42.x.x:10250: i/o timeout" node="tbiseud1"
E1202 20:06:05.370311       1 scraper.go:139] "Failed to scrape node" err="Get \"https://tbiseud2:10250/stats/summary?only_cpu_and_memory=true\": dial tcp 10.42.x.x:10250: i/o timeout" node="tbiseud2"

I believe the root cause of this (as far as I understand it, anyways) are the following iptables chains:
Chain KUBE-SVC-NPX46M4PTMTKRN6Y (1 references)
target     prot opt source               destination
KUBE-MARK-MASQ  tcp  -- !tbiseud4/16          <IP_ADDRESS>            /* default/kubernetes:https cluster IP */ tcp dpt:https
KUBE-SEP-CNRSP6IYSTKQO5DG  all  --  anywhere             anywhere             /* default/kubernetes:https */ statistic mode random probability 0.33333333349
KUBE-SEP-QY44CRYVB534HB6O  all  --  anywhere             anywhere             /* default/kubernetes:https */ statistic mode random probability 0.50000000000
KUBE-SEP-X3CC6L4UZXJ5Z6ZV  all  --  anywhere             anywhere             /* default/kubernetes:https */

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
CNI-HOSTPORT-MASQ  all  --  anywhere             anywhere             /* CNI portfwd requiring masquerade */
KUBE-POSTROUTING  all  --  anywhere             anywhere             /* kubernetes postrouting rules */
RETURN     all  --  tbiseud4/16          tbiseud4/16
MASQUERADE  all  --  tbiseud4/16         !base-address.mcast.net/4  random-fully
RETURN     all  -- !tbiseud4/16          tbiseud4/24
MASQUERADE  all  -- !tbiseud4/16          tbiseud4/16          random-fully

For the first chain, because the source IP (<IP_ADDRESS>) resides within the /16 of tbiseud4 (10.42.183.x), the packet never gets marked for masquerading.
In the POSTROUTING chain, because the source ip and destination IP both reside in <IP_ADDRESS>/16, the chain RETURNs before the packets masqueraded.
The end result of this is that packets go out over the wire with a source address corresponding to the pod IP that originated the traffic. This isn't what's actually breaking connectivity, but this particular cluster resides in an environment where packets that don't match the IP address of the interface are silently dropped. Might be a vmWare thing, not sure. I have a packet capture of this happening, but I don't have the ability to provide it right now. I can look into that if it would help.
Additional context / logs:

I think it's worth mentioning that I don't really know if this constitutes a "bug". "Bad things happen if your cluster CIDR overlaps with the IP address of your machine" isn't unreasonable, but I was completely unable to find any reference to this potential issue in the K3s documentation or FAQs, and it doesn't seem that k3s check-config is checking for that. There is a warning when the cluster-cidr is already routed, but it's innocuous yellow text. Doesn't seem to suggest that it's going to cause issues with cluster functionality.
This is also my first time really diving into advanced iptables configuration like this, so I apologize if I'm mis-understanding how these rules are intended to function. Regardless of the cause, changing the cluster-cidr to <IP_ADDRESS>/16 fixed all of these issues.
Backporting

[ ] Needs backporting to older releases

On a computer with a single network interface, whose IP address resides within the /16 of the cluster-cidr, traffic from pods destined for nodes or the kubernetes API is not NATed correctly.

As the saying goes, "don't do that"

As the saying goes, "don't do that". This same issue would occur with any Kubernetes distro, not just K3s.

I kind of got the feeling that was the case, but I wasn't 100% sure. Thanks for clearing that up!


HTML tag completion + docs?

You know what'd be nice? If we could somehow pull MDN docs as markdown (or write our own) and complete + show the docs of HTML tags after you type <.
Might make it easier to pick something more appropriate than
s and s.
You know... Semantic web and all that.
Bonus points: If you're feeling it, might want to offer completing the unclosed tag when typing </.
Maybe even dissociate the completion sources from our release cycle. It shouldn't require a release to push support for new tags, filters or objects. But I guess I should extract that to another issue.

We completed this a long time ago.


Cannot index data unless all left by default

Hello,
I have no problem indexing my model's data if I don't override anything. All fields are being added properly to the ES index.
However, if I override $mappingProperties then I can't index my model anymore. There is no error but calling addAllToIndex has no effect, the ES index remains empty.
// Index and mappings created with success, but I can't index anything
SiteContenu::createIndex();
SiteContenu::putMapping();
SiteContenu::addAllToIndex();

Model's code;
<?php
namespace App\Models\Site;

use Elasticquent\ElasticquentTrait;

class SiteContenu extends \Eloquent{

    // Elastic Search
    use ElasticquentTrait;

    protected $table = 'siteContenu';
    protected $primaryKey = 'idSiteContenu';
    public $timestamps = true;
    const UPDATED_AT = 'updated';
    const CREATED_AT = 'inserted';

    protected $mappingProperties = array(
        'inserted' => array(
            'type' => 'date'
        ),
        'updated' => array(
            'type' => 'date'
        ),
        'idSiteContenu'=> array(
            'type' => 'integer'
        ),
        'idSiteMenu'=> array(
            'type' => 'integer'
        ),
        'idSiteTheme' => array(
            'type' => 'integer'
        ),
        'ordre'=>array(
            'type' => 'text'
        ),
        'expression'=>array(
            'type' => 'text'
        ),
        'intro'=>array(
            'type' => 'text'
        ),
        'contenu'=> array(
            'type' => 'text'
        ),
    );

    protected $guarded = ['idSiteContenu'];

    public function menu()
    {
        return $this->belongsTo('App\Models\Site\SiteMenu', 'idSiteMenu', 'idSiteMenu');
    }

    public function theme()
    {
        return $this->belongsTo('App\Models\Site\SiteTheme', 'idSiteTheme', 'idSiteTheme');
    }

    public function getIndexDocumentData()
    {
        return array(
            'inserted'      => $this->inserted,
            'updated'      => $this->updated,
            'idSiteContenu'      => $this->idSiteContenu,
            'idSiteMenu'      => $this->idSiteMenu,
            'idSiteTheme'      => $this->idSiteTheme,
            'ordre'      => $this->ordre,
            'expression'      => $this->expression,
            'intro'      => $this->intro,
            'contenu'      => $this->contenu,
        );
    }
}

I need to override the default behavior so that I can sort the updated and inserted fields, which is not possible if they are 'text' by default.
I use Laravel 5.4 and ES 5.2. I had to patch the Create.php endpoint by myself or I would get the "POST" operation unspported as reported in #125
Thanks

The problem was coming from
const UPDATED_AT = 'updated';
const CREATED_AT = 'inserted';

Removing it solved it.

I know this post was a while ago but if it helps anyone this is the reason why the OP is unable to index with these constants set. When an eloquent model has dates set then those dates are returned as Carbon objects. This is the case for anything added to the dates array as well as the default time stamps (created_at, update_at) etc. You can fix by removing the time stamps like the OP did but that may not be practical as you loose the eloquent functionality. Alternatively you could just call toDateTimeString() on the carbon object in the getIndexDocumentData method.
    public function getIndexDocumentData()
    {
        return array(
            'inserted'      => $this->inserted->toDateTimeString(),
            'updated'      => $this->updated->toDateTimeString()
        );
    }


Consider switching to GatsbyJS

Although Jekyll (and the Minimal Mistakes theme) is working great, we may want to consider switching to GatsbyJS for the sole reason of making everything run with Node.js. As we try to make this project more re-usable, it would make users' lives easier if they only have to install Node.js, instead of Node.js and Ruby. It would also remove an extra language that developers who want to customize the code would need to learn.

What would be the estimated lift in time and effort to make the switch?
Would existing translations and files be affected?
On Mon, Mar 30, 2020, 10:24 AM brockfanning<EMAIL_ADDRESS>wrote:

Although Jekyll (and the Minimal Mistakes theme) is working great, we may
want to consider switching to GatsbyJS for the sole reason of making
everything run with Node.js. As we try to make this project more re-usable,
it would make users' lives easier if they only have to install Node.js,
instead of Node.js and Ruby. It would also remove an extra language that
developers who want to customize the code would need to learn.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/OpenDataEnterprise/sdg-metadata/issues/27, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AE5WZKWHUILBDVL5D4D7TILRKCTSDANCNFSM4LWUDSVQ
.

A bit of background: Right now we're using the static-site generator Jekyll, which requires the programming language Ruby. In order to make our site look nice, we're using the Jekyll theme Minimal Mistakes.
If we wanted to remove the Ruby requirement, we could switch to a static-site generator which runs on Node.js (which is the programming language that the rest of this project is written in, such as the automated imports, PDF generation, etc.). The most popular such static-site generator is called GatsbyJS.
As for estimates for the various tasks - I would break it down something like this:

Implementing a basic site with Gatsby: between 10-15 hours
Making it look nice - for this part, there are two options:

Switching to a ready-made GatsbyJS theme (here is a gallery of GatsbyJS themes). This would mean that the look-and-feel of the website would change, but would be very easy. About 4-6 hours.
Writing custom styling to replicate what we have with Jekyll's "Minimal Mistakes" theme. This would mean that the site will keep the look-and-feel that we're accustomed to, but it would take a lot longer. Probably another 10-15 hours.

Either way, nothing would need to change in regards to the navigation of the site, the API endpoints, or the translations themselves.

With limited funding there are a lot of other tasks that are more important than this one. And since I opened this, I'll go ahead and close.


--include flags shouldn't be skipped

Is this flag valid for G++, Clang? Documentations use -I everywhere, with a single hyphen.

-include and --include flags are given a header file instead of a directory. This file will be included in the translation unit implicitly during the preprocessing phase.


[Database] For ReadTransaction::getProviderFileCodeReferences() make sure to filter the units properly

Previously it was returning the unit with the most recent modification time, and if that unit was filtered-out by SymbolIndexImpl::createProviderForCode()
then the whole provider would be ignored, which is incorrect because there could be other units for the same provider that are eligible.
This change moves the filtering into the ReadTransaction's call.

@swift-ci Please test