feat(cli): filter out uncommitted files

Fixes #108

Ahh ... merge conflicts again, it seems you need to squash and rebase your commits.

Ahh ... merge conflicts again, it seems you need to squash and rebase your commits.

Should be resolved now 👍🏼


koordlet: fix scope of prodReclaimablePredictor resource reclaim

Ref #1361
Reclaimable resources come from the prod type.

fix part of #1442

/approve


Update koalixcrm to django 2.1

Hey guys! How's Django 2.1 port going? ETA? Let me know if you need help

Hello yurman-cc. I think I will take care of this topic in the next month.
Anyway your help would be highly appreciated. So for instance if you could start to fix the dependencies I would later take over the branch and take care of fixing the issues in the code. Hopefully there are not too many issues -  i never tried it so far.
At the moment I am working on the automated deployment of all branches (fix issue #140) Because i have to do this with a script running on the Jenkins server this is not visible in this repository.

OK, so I got around to this and have checked in the change in my fork https://github.com/yurman-cc/koalixcrm but the testing has been very limited (only as far as it doesn't break my site). This should also be OK with the Django 1.11 (db migration is needed though). Mostly, it's just about adding explicit param "on_delete=models.CASCADE" (I believe this is the default param in 1.11 so no actual change) when creating ForeignKey. I guess you should just check if some of them might need to be set to NULL instead of CASCADE by design after all. Also, I have run it with the most recent django-filebrowser==3.11.1 +django-grappelli (it had to be updated for 2.1.4)
Let me know if I should create a pull request (I'm fine either way as this change is enough for me for now)
Cheers /Alex

Hello Alex
Thanks a lot for the first investigation. I will take care of this fork immediately after i finished the issue #140 . The continous deployment is trickier than I initially expected


Allow to apply $removeparam rules to all resources

https://github.com/AdguardTeam/tsurlfilter/issues/16

another sample
https://github.com/AdguardTeam/AdguardFilters/commit/d24a901d834baa629523f5ab4815d7a517e3b630

@sfionov moved it to 1.8. Please note that the documentation needs to be updated accordingly.
Re-posting from the tsurlfilter repo:

I suppose we should only allow it to target other content types if the rule has an explicit content-type modifier.

By default it should only target documents.


feat: Import/Export Contacts

SCREENSHOT

Working but no error handling or anything yet.
Closes #123 .

SUCCESS

WARNING


Lombok false positive: MissingOverride for "@EqualsAndHashCode(callSuper = true)" when extending base class

Description of the problem / feature request:
I'm compiling my Java 11 Spring Boot program with Error Prone and get a false positive on MissingOverride in a class that has the Lombok annotation @EqualsAndHashCode(callSuper = true) and extends another class.
Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
I reproduced the error in a test case repo.

Make sure that you have Java 11 installed.
Clone https://github.com/ksilz/check-error-prone
Run gradlew.bat (Windows) or ./gradlew (Mac, Linux).
The application runs fine.
Edit build.gradle:

Comment out the line with excludedPaths = ".*/issues/.*", currently line 103. This would include all files for Error Prone.
Uncomment the excludedPaths line for this issue #1481, which is currently line 123.
Save.

Run gradlew.bat (Windows) or ./gradlew (Mac, Linux) again.
You get the warning below. The error is in missingoverride/IssueShowCase.java

[...]/src/main/java/com/betterprojectsfaster/test/errorprone/lombokErrorProne/issues/missingoverride/IssueShowCase.java:8: warning: [MissingOverride] canEqual overrides method in Base; expected @Override
@EqualsAndHashCode(callSuper = true)
^
    (see https://errorprone.info/bugpattern/MissingOverride)
    Did you mean '@Override @EqualsAndHashCode(callSuper = true)'?

What version of Error Prone are you using?
Here's my my environment:

macOS Catalina 10.15.2
Gradle 5.6.4
AdoptOpenJDK Eclipse OpenJ9 11.0.5
Lombok 1.18.10
Error Prone Gradle plug-in 1.1.1
Error Prone 2.3.4

Have you found anything relevant by searching the web?
Didn't find anything relevant in the mailing list. Here are related Lombox issues:

#1479: Lombok - MultiVariableDeclaration: IllegalArgumentException "Start [449] should not be after end [-1]" (Preconditions.java:300)
#1430:
IllegalArgumentException from AlmostJavadoc pattern on project using lombok

Please re-open this or file a new bug if you're still seeing issues with Lombok and Error Prone 2.13.0 when -XepDisableWarningsInGeneratedCode is enabled.


API-id must be provided

We should change rule #215 from "should" to "must" ( see http://zalando.github.io/restful-api-guidelines/index.html#215 ).
The API id is crucial to identify APIs throughout their life cycle; it is required, for instance, to support API Review tracking, API Linter tracking, API History via Portal consistently over the API change evolution, and is a crucial metadata for our API management procedures.
And the API-title is not an equivalent substitute for API-id since it eventually gets updated.

What about existing APIs?
On Sat, Mar 24, 2018, 18:11 Thomas Frauenstein<EMAIL_ADDRESS>wrote:

We should change rule #215
https://github.com/zalando/restful-api-guidelines/pull/215 from
"should" to "must" ( see
http://zalando.github.io/restful-api-guidelines/index.html#215 ).
The API id is crucial to identify APIs throughout their life cycle; it is
required, for instance, to support API Review tracking, API Linter
tracking, API History via Portal consistently over the API change
evolution, and is a crucial metadata for our API management procedures.
And the API-title is not an equivalent substitute for API-id since it
eventually gets updated.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/zalando/restful-api-guidelines/issues/371, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAaPnRoHivmCHyQ5xQ8_va7hnkqUqpWdks5thn5FgaJpZM4S50Ml
.

Of course, as always we are backward compatible:
Existing APIs don't have the api-id. Correspondingly, API management and tooling may not provide full consistent feature support for these APIs; and these APIs will be red-flagged in the portal.
Of course, API-ids can be added to existing APIs without loosing API History, Review Tracking etc. as long as the API-title is not simultaneously changed.
Yes, when we update the rule, we should say something about backward compatibility and migration path.

We already say in the introduction:
In case guidelines are changing, following rules apply:

existing APIs don’t have to be changed, but we recommend it
clients of existing APIs have to cope with these APIs based on outdated rules
new APIs have to respect the current guidelines

Isn't this enough to cover the backward compatibility aspect?


Latest lexer changes make integers unrecognizable

Submitting even a single digit gives error:
*** Syntax Error: Invalid word! value

while a signed number, eg -5 is recognized as a word. This is the more curious since integer-rule precedes word-rule in the grammar.

I guess you are referring to a case like: {Red [] 123} where the integer value is not followed by any other character. In such case, the lexer is not able to correctly determine the integer end. This can be fixed easily by taking the end marker into account into the integer parsing rule.


[Access Request] page 5077 "Create Interaction"

please change the declaration of the variable IsMainInfoSet to protected.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 51059.


feat(data): Add token for Search on dark placeholder

Add a colors.utility.yang.080 reference by the color.yang.080

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Block processing implementations

[x] #437
[ ] process_eth1_data
[ ] process_operations

can I take this one?

Sure! Feel free to split this into multiple issues if it's too much. Also, keep in mind some of the functions used by these are to be implemented in other issues (for example, most functions inside process_operations)

Isn't process_eth1_data already implemented?

@MegaRedHand it is possible to test these functions?

No. The tests for these would be the full state transition suite, but that requires it to be fully implemented.

can I take the process_operations()?


Reusing vitest global setup in EServices Descriptor Archiver

This PR closes IMN-536 only for the eservices-descritptors-archiver service, if the approach makes sense I will port it also to all other services.

@Carminepo2 this PR adapts the new testing approach you wrote in #441 so that it can be used also where not all containers or services are needed e.g., in consumer tests


Add header file in cmake static library

Thanks in advance to add static library in your CMakeLists.txt.
Utilizing nanomodbus with only simple cmake fetching method looks like require bundling include directory in the library target as well.
I've added nanomodbus.h directory with target_include_directory and removed messy manual library build which had been existed in stm32.

I've updated ci process in this PR with cmake configuration.
Main changes are like below.

Unit tests and examples are built by default when using vscode project (.vscode/setting.json provides BUILD_TESTS and BUILD_EXAMPLES flags)
Including library also bundle nanomodbus.h
CI process is dividend by Build and Test. I've tested that CI yaml in my forked repository. Take a Look
Updated by stm32 example code clang-format passable

Added Embedded job in ci to check whether arduino, rp2040, stm32 build is available.
You can check the structure HERE

@debevv if you don't mind, (I hope I do not bother you)  it would be really appreciated to review this PR in your free time. If this it is accepted, I'll add unit tests which is written in catch2 afterwards.


Marker Layer not working for ace custom cursor

markerLayer.elt is not a function.
When this function is executed ,curMgr.addCursor("uid1", "User 1", "orange", {row: 0, column: 10});

Was there a resolution to this, or did you figure something out?  I might be able to add a better error message.

Getting the same error, did you find the reason or any workaround? @yadurvt


Structural metadata for books.

@jpstroop @escowles @eliotjordan I'm thinking that the reorder interface and the structural metadata interface have to be in the same place. Otherwise what happens to the logical order (with intermediate nodes like "Chapter 1") when you re-order page 3 away from page 4?

Ugh, good point. Although I suppose a structure (range) could order the pages differently. Can't say that's a use case that's come up though.

There will also be cases where a page needs to be repeated in the structure because, e.g., chapter 1 ends and chapter 2 begins on it.

This leads me to think that the order within a structure and the order of the sequence should be independent. It makes sense to use the sequence/order as a point of departure, but maybe that's all.

oops. typing w/ thumbs...

I can't really think of a way to model order of structure/sequence separately, or what that gets us.

If IIIF-speak, the Sequence is just a list of Canvases. Ranges are lists of Canvas URIs and other Range URIs.
In PCDM speak I think they're all just different orders.

In PCDM speak I think they're all just different orders.
One of which is flat (the sequence) and the other of which has more structure.

Wouldn't that make workflow troublesome? You'd have to re-order in two places, when likely all you want is logical structure.

I'm saying the orders can be completely independent. Use the sequence as
the point of departure for any logical structure, but changing the order in
the structure doesn't change the sequence.

I can try it, but I wonder if it's expected that the order differs between the two

It's definitely a challenge. We'll probably need to iterate a bit, and (obviously) see what @joycebcat thinks once we have something.

I the more I think about this, relative to the METS we have now, the more It the structural metadata editor will probably need to support reordering as well. :sweat:

I've been reading this, but not really following the implications.  I guess if we have selected images 3-5 to be part of sectionA, and then we realize an image was missing and image 12 is added and positioned in the physical structure between image 3 and 4, it would also need to be part of sectionA.  I don't want to have to fix image ordering issues multiple times.  Trey's comment some time ago about the reordering interface and the structural MD interface being the same makes sense in that regard.

I don't want to have to fix image ordering issues multiple times.

This is what happens with the METS now, right? There are up to (3) structMaps, one that is flat, and is used for paging, and up to (2) more, one for the physical structure and one for the logical structure. If images are found to be out of order, all three need to change.
The use case hasn't come up here, but is has in the IIIF and PCDM communities, that multiple different orders may be desirable, e.g. to support dis-bound and reassembled MSS, or other loose-leaf sorts of items. I don't know that we need to support multiple sequences yet, but tying the order of of one sequence to the structural metadata feel like we'd be starting to close that door.
I'm also afraid that making a change in the sequence propagate across the other structures might be really hard, from a code perspective.

If the logical structMap is messed up because of imaging problems, I re-generate the structMap from the original spreadsheet once the image issues are sorted out.  It doesn't have to be re-done from scratch, just slightly adjusted to accommodate the change.  I'm concerned about all necessary changes being made if they are all separate.  An added images gets dragged to location 5, fine.  Also have to drag added image to location 5 for the logical structMap.  Also have to drag added image to location 5 for pagination structMap.  You have a rosier view of human nature than I do if you think they will all be done properly all the time.

We can iterate on it, but right now my sense is that there's as much
likelihood of the application getting it wrong as a human. And we don't
have to write any extra code for the human to get it wrong! ☺

OK, as long as functionality is there, we can control via procedure.

OK. To be clear, I'm not saying no, only that there are enough other
challenges with this first pass that I don't think we should pile this on
just now.

Oh, absolutely!  Not needed for first pass.  Glad to know not completely ruled out.


Associate CO2 emissions with capacity deployment for nuclear, wind and solar

This issue can be closed when CO2 emissions for the aforementioned electricity sources are tied to the construction of capacity (g CO2/kw) instead of the amount of electricity generated (gCO2 / kWh )

http://forum.kanors-emr.org/showthread.php?tid=706&pid=3574&highlight=emissions+capacity#pid3574

@yanhuan0713 Can you check -- it seems to me that this must already be complete, but maybe I'm misunderstanding the goal.

This will not be incorporated as it is not a meaningful way to compare nuclear, renewables etc. with fossil fuels.


pull request for e2e test at 01/19/2017 06:45:10

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


Adding O10S timeline

Technically, I believe these are the flip mechanics:
Coil - first spin, either orientation. 31AC is spin, 31AD is flip
Azure Wings - second spin, either orientation. 31AE is spin, 31B0 is flip
Collectively: Flip/Spin
Azure Wings - hits under the boss into max melee range, changed to In (31B2)
Stygian Maw - hits outside the boss's targetting circle changed to Out (31B4)
Collectively: In/Out
Crimson Wings - hits corners in an X, changed to Cardinals (31B3)
Bloodied Maw - hits a cross to the boss's front, rear, and sides, changed to Corners (31B5)
Collectively: Cardinals/Corners
All final actions together collectively (only shown in the cosmetic fake future parts): Positions
I'm normally very much in favor of leaving original mechanic names in whenever possible, since I believe a timeline should show what is about to happen rather than what to do about it. In this case though, the doubling up of the name Azure Wings and the lack of cast bars makes it difficult to justify. The only time the damage mechanic names appear is when someone gets hit by it, and I don't believe the real flip/spin names are seen anywhere at all. Feel free to change flip/spin to names you prefer if you'd like, I'm not sure how clear they are.
Next, I chose Cardinals/Corners to say where the safe spot is, to continue the style of In/Out which also indicate the safe spot rather than the dangerous spot, but I'm not particularly married to the terms. It feels unintuitive for some reason, so I'm open to swapping those or even changing them for new names I haven't thought of that would better indicate, at a glance, the meaning.
The add phase doesn't really sync properly, and probably never will without an overhaul to the timeline foundations. It does seem to consistently start with Frost Breath at 209, and will do its first Rime Wreath at 215. Frost Breath has a 10 second cooldown, Rime Wreath has a 15 second cooldown. As you might have guessed, both come up around 230, then, and it seems random which one it opts to use first. I've made the consistent ones synced and the rest cosmetic for that reason. It might be a better job for triggers to handle tracking the cooldowns of each and showing Frost Breath to tanks, and both to healers when the cooldowns are nearly up.
Lastly, there's the time-based enrage. The final phase has a loop, which, in the timeline, jumps back to an earlier part. It never completely finishes the second loop, though, as it jumps to enrage at 10:30, and where in the loop you hit 10:30 is determined by your nail phase speed. It is sometimes right after the second round of Exaflare and Akh Morn, and it is sometimes after another set of spin/flip roulette. I opted to not enter a whole third branch for this, and instead reuse the first ones. This means it won't show an enrage timer when nearing enrage, until the actual cast starts, but the enrage timer wouldn't have been accurate anyway.
I've tested up through about 450.0 ingame, and I've tested the whole thing with test_timeline against both a clear log and an enrage log provided by friends. I might be able to test it tomorrow but my raid schedule is in the air right now.

Ohmygosh, thanks again for all your hard work.
I agree with your tendency here to want to use the right ability names, but I think the right names are just confusing here.  In/Out seems great to me.  That's certainly what our group called it.  Cardinals/Corners also seems good.
Thanks for all the ability ids.  I looked at logs a little but didn't have time to find all the ids to write triggers for in/out/cardinal/corner calls, but those will help a ton.
Do you think it's worth putting in Flip, Spin, Flip/Spin at all? Part of me wonders if it's redundant to have Flip/Spin right next to In/Out.  I also wonder for the tell whether it's a cardinals/corners vs in/out if it'd be better to just drop those in general (except for the one where it branches)?  I can go either way here, but mostly just curious if you feel like it's noisy vs helpful.
Re: nail dragon.  The thing that's rough when tanking/healing seems to be the Frost Breath.  I wonder if it'd be worth just syncing the Frost Breath always (and maybe at the 230 having a "Frost Breath?".  I'd be fine with dropping all the Rime Wreaths if it made the Frost Breaths sync ok.
Enrage not being precise seems fine.  This was also true for things like o2s, and there's not really that much you can do about it without a timeline overhaul.

Added in and tested the Frost Breath syncs via script.


Include dependencies with PyPi installation

Should not aioredis, memcache, and redis come with the installation of this package, as they are requirements?
Regarding redis vs memcache and PyPi, this is issue is related: #29

You need to use one of the named extras when installing the project; e.g. when you want to use the redis backend, use:
$ pip install fastapi-cache2[redis]

See the README.


Travis fix.

I believe there is something wrong with conda mayavi packaging. Let's see if this works.

Current coverage is 80.86% (diff: 100%)

Merging #3830 into master will not change coverage

@@             master      #3830   diff @@
==========================================
  Files           347        347
  Lines         61574      61574
  Methods           0          0
  Messages          0          0
  Branches       9435       9435
==========================================
  Hits          49789      49789
  Misses         9189       9189
  Partials       2596       2596

Powered by Codecov. Last update bac50dd...19a8aba

I don't think we should pip install mayavi or install all those libs by version number. Probably easier to mark the one failing test as knownfail using a numpy decorator instead, and wait for Anaconda to fix their packaging.
We could also try not forcing the version numbers for numpy/scipy/matplotlib in the full build, it's possible that's not necessary anymore.

Ok closing this. I believe circle is also failing because of this.


Building source XVideoRental getting error

while build XVideoRental project [source code v20.2.3] in VS2019, i got the below error
The command "dotnet paket restore" exited with code 1.
Kindly help to build the source

navigate to the XvideoRental directory and call the command again with the verbose param, it will tell u what is missing
dotnet paket restore -v

navigate to the XvideoRental directory and call the command again with the verbose param, it will tell u what is missing
dotnet paket restore -v

note that u cannot build only the XVideoRental u should be all source instead

note that u cannot build only the XVideoRental u should be all source instead

Hi,
i ran dotnet restore command, am getting error. for your reference i place the file.
Devexpress 20.2 installed folder as same as in the paket.dependencies

Hi,
i ran dotnet restore command, am getting error. for your reference i place the file.
Devexpress 20.2 installed folder as same as in the paket.dependencies

the message is clear i think, u need to install xaf in the default dir or change the nuget paket sources
https://github.com/eXpandFramework/eXpand/blob/29714623d50f40b5e6e03271e6cf48d2686bb8a1/paket.dependencies#L1

the message is clear i think, u need to install xaf in the default dir or change the nuget paket sources
https://github.com/eXpandFramework/eXpand/blob/29714623d50f40b5e6e03271e6cf48d2686bb8a1/paket.dependencies#L1

to buld xpand u do not required to install XAF u can also use your private dx nuget feed instead of c:\program...

to buld xpand u do not required to install XAF u can also use your private dx nuget feed instead of c:\program...

prefer installation however if u do not have experience in paket, if u change the paket.dependencies then paket will resolve again all packages and that might conflict cause new version fo the dependecies might be out

prefer installation however if u do not have experience in paket, if u change the paket.dependencies then paket will resolve again all packages and that might conflict cause new version fo the dependecies might be out

Hi,
Thanks for your guidance.
Devexpress installed in default directory only. Somehow packet dependencies not using the directory for downloading. But i changed the path to nuget private api url for restoring devexpress. Now it's working fine.
Thanks and Regards

Hi,
Thanks for your guidance.
Devexpress installed in default directory only. Somehow packet dependencies not using the directory for downloading. But i changed the path to nuget private api url for restoring devexpress. Now it's working fine.
Thanks and Regards

Closing issue for age. Feel free to reopen it at any time.
.Thank you for your contribution.


Minor bump in GH action version

PR currently in draft
Trying to figure out why GH actions still tries to run tests using python3.8 when that's no longer in the YAML configuration.

I updated the branch protections to no longer check for old Python versions.


Boolean is always false in Assert format(Object, Object, String, boolean), causes confusing assert messages

Affects 7.0.0-beta1
https://github.com/cbeust/testng/blob/590120c726086615944dd64221d4051009a781f6/src/main/java/org/testng/Assert.java#L845
The boolean parameter equality appears to always be false, leading to some nonsensical/confusing assert messages, such as:
did not expect to find [5.0] but found [0.5]
Whereas in the previous release it would read as:
expected [5.0] but found [0.5]
This is reproducible with a simple snippet:
assertEquals(0.5, 5.0);

Good find, I'm seeing this too.

This should be fixed by https://github.com/cbeust/testng/pull/1936


ugilify support

Trying to browserify the package and hit the error
'return' outside of function while parsing file

Sorry this comes from trying to uglify.

That sounds like an issue with uglify not stack-chain. Try and browserify before uglify, then the return statement should be inside a function.

Fixed by #6


feat: ne_nil equivalence for take and drop

https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there-code-for-X.3F


auto add "/" to url when use traefik rewrite

Welcome!

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

What did you do?
I use the rewrite function of traefik  to redirect url to / . The traefik config :
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    app.protocol: http
    customer/ingress-domain: http://example.com
    customer/rewrite-path: /
    traefik.ingress.kubernetes.io/rule-type: PathPrefixStrip
spec:
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: test-web
          servicePort: 8080
        path: /tech/TQATaskFrontend
status:
  loadBalancer: {}

What did you see instead?
when I request the url by curl:
curl http://example/tech/TQATaskFrontend

the response thows:
{"timestamp":"2022-02-23 11:22:57","status":404,"error":"Not Found","message":"No message available","path":"/tech/TQA/TaskFrontend/"}

the path TQATaskFrontend is auto added a "/" between "A" and "T"
What version of Traefik are you using?
v1.7
What is your environment & configuration?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    app.protocol: http
    customer/ingress-domain: http://example.com
    customer/rewrite-path: /
    traefik.ingress.kubernetes.io/rule-type: PathPrefixStrip
spec:
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: test-web
          servicePort: 8080
        path: /tech/TQATaskFrontend
status:
  loadBalancer: {}

Add more configuration information here.
If applicable, please paste the log output in DEBUG level
No response

Hi! I'm Træfiker :robot: the bot in charge of communication regulation.
Thanks for your interest in Traefik!
We dedicate the issue tracker to bug reports and feature requests only. My advanced AI has spotted that your issue might be a configuration problem or relates to something that doesn't look like a bug.
To confirm this, please join our Community Forum and reach out to us on the Traefik section.
In case I'm wrong (well, that would be embarrassing :sweat_smile:), my developers will re-open the issue and fix me!
In the meantime, you can double check Traefik's documentation.


loosen resolvers subscribe return type

maybe worth adding a test case with the IxJS types?

maybe worth adding a test case with the IxJS types?

It can also be with dev-test examples

This change seems incompatible with https://github.com/apollographql/graphql-subscriptions which uses AsyncIterator not AsyncIterable and the 2 types are not compatible.
I'm wary of changing any runtime code since what we have currently is working in apollo

graphql-subscriptions considered legacy implementation for subscriptions. It doesn't have any added value with today's tools.
@n1ru4l from what I understand, the AsyncIterable is the correct type here, so I guess graphql-subscriptions is just using the incorrect type?

graphql-subscriptions is using an incorrect type. I created a PR for fixing it a long time ago. No ody from apollo seems to care. We shouldnt generate wrong typings because of some unmaintained library. AsynIterable (which has a Symbol.asyncIterator property) is the correct return type here. You can use patch-package or as any if you use graphql-subscriptions.

relevant links
https://github.com/apollographql/graphql-subscriptions/pull/232
https://github.com/apollographql/graphql-subscriptions/issues/240

Thanks for the explanation. Since we're using Apollo, I don't want to diverge from their implementation.
I did use patch-package to change it back in our codebase so all good on my end, just wanted to understand the reasoning behind the change :D

@Cellule You can also patch graphql-subscriptions, this is what I am doing in a project where we are using redis:
diff --git a/node_modules/graphql-subscriptions/dist/pubsub-engine.d.ts b/node_modules/graphql-subscriptions/dist/pubsub-engine.d.ts
index 58fa1b1..c8168e5 100644
--- a/node_modules/graphql-subscriptions/dist/pubsub-engine.d.ts
+++ b/node_modules/graphql-subscriptions/dist/pubsub-engine.d.ts
@@ -2,5 +2,5 @@ export declare abstract class PubSubEngine {
     abstract publish(triggerName: string, payload: any): Promise<void>;
     abstract subscribe(triggerName: string, onMessage: Function, options: Object): Promise<number>;
     abstract unsubscribe(subId: number): any;
-    asyncIterator<T>(triggers: string | string[]): AsyncIterator<T>;
+    asyncIterator<T>(triggers: string | string[]): AsyncIterable <T>;
 }

diff --git a/node_modules/graphql-redis-subscriptions/dist/redis-pubsub.d.ts b/node_modules/graphql-redis-subscriptions/dist/redis-pubsub.d.ts
index af38928..c4784f3 100644
--- a/node_modules/graphql-redis-subscriptions/dist/redis-pubsub.d.ts
+++ b/node_modules/graphql-redis-subscriptions/dist/redis-pubsub.d.ts
@@ -20,7 +20,7 @@ export declare class RedisPubSub implements PubSubEngine {
     publish<T>(trigger: string, payload: T): Promise<void>;
     subscribe<T = any>(trigger: string, onMessage: OnMessage<T>, options?: unknown): Promise<number>;
     unsubscribe(subId: number): void;
-    asyncIterator<T>(triggers: string | string[], options?: unknown): AsyncIterator<T>;
+    asyncIterator<T>(triggers: string | string[], options?: unknown): AsyncIterable<T>;
     getSubscriber(): RedisClient;
     getPublisher(): RedisClient;
     close(): Promise<Ok[]>;

In other projects where I only have a single server instance I use the following PubSub instead:
// Node.js events module
import { EventEmitter, on } from "events";

export const createChannelPubSub = <
  TPubSubPublishArgsByKey extends PubSubPublishArgsByKey
>() => {
  const emitter = new EventEmitter();

  return {
    publish: <TKey extends Extract<keyof TPubSubPublishArgsByKey, string>>(
      routingKey: TKey,
      ...args: TPubSubPublishArgsByKey[TKey]
    ) => {
      if (args[1] !== undefined) {
        emitter.emit(`${routingKey}:${args[0] as number}`, args[1]);
      }

      emitter.emit(routingKey, args[0]);
    },
    subscribe: async function* <
      TKey extends Extract<keyof TPubSubPublishArgsByKey, string>
    >(
      ...[routingKey, id]: TPubSubPublishArgsByKey[TKey][1] extends undefined
        ? [TKey]
        : [TKey, TPubSubPublishArgsByKey[TKey][0]]
    ): AsyncGenerator<
      TPubSubPublishArgsByKey[TKey][1] extends undefined
        ? TPubSubPublishArgsByKey[TKey][0]
        : TPubSubPublishArgsByKey[TKey][1]
    > {
      const asyncIterator = on(
        emitter,
        id === undefined ? routingKey : `${routingKey}:${id as number}`
      );
      for await (const [value] of asyncIterator) {
        yield value as any;
      }
    },
  };
};

This is pretty cool as it allows typing the event payloads.
const pubSub = createChannelPubSub<{
  eventName: { payload: string }
}>()

pubSub.publish("eventName", {payload: "ayy" })

Thanks for tip!
We've already greatly improved typings of our subscriptions thanks to graphql-code-generator (I couldn't work with graphql without you guys ♥)
The payload is one the last portion using manual typings so I'll definitely look into improving this in the future


When  todo.txt File Is Synched From Other Device, It Desapears From Sleek

Bug Report
Important
Please follow this template strictly when reporting bugs.
Reports that do not adhere to this template will not be addressed and will be closed.
App Version: 2.0.13
Platform: Windows 10
Installation Method: Direct Download
Expected Behavior:
When sync from other devices ocur, sleek should refresh the todo.txt file, qith the changes.
Actual Behavior:
Just when the file get synched, it closes in Sleek, and shows the screen to open a file. Tried juggling with chokidar options to no effect.
Steps to Reproduce:

Open the app.
Modify the todo.txt file in another device.
Wait Syncthing to sync the file with the windows device.
Observe the unexpected behavior.

Screenshots:

Previous to sync:

Post sync:

The synch is between my android phone and my widows 10 computer, via Syncthing. Aditionally, the windows folder get synched with MEGA.

I am getting a similar problem https://github.com/ransome1/sleek/issues/732
but on mac, and sleek doesn't close, but reports error. related?


Provide util.deprecate test coverage

Coverage increased (+5.8%) to 100.0% when pulling 6cd04716b23de5db5fe3934c7d0825c6a84ea1cf on test/deprecate into ed4354d46a6323f6b241c6c68390fbef44baaa11 on master.


Update validation logger

Description
Bugfix: allowing logger to work for indicators using the runner
Fixes

Added name param to fix indicators using the runner not having validator log files saved to Elastic
Added summary output (checks run/failed/suppressed/warnings) to the logger

@nmdefries

@qx-teo ah sorry; you'll want to resubmit these as branches instead of forks so that the CI tests will run

😕  mmmmm I'm used to PRs submitted from forks not running CI tests, but it looks like they ran here. I guess this is safe? Regardless in future do them as branches; I've added you to @cmu-delphi/covidcast-engineering so you should have write access now

Superseded by #1103


Application stuck when closing the window

Is your issue REALLY a bug?

[X] My issue is indeed a bug!
[X] I am not crazy! I will not fill out this form just to ask a question or request a feature. Pinky promise.

Is there an existing issue for this?

[X] I have searched the existing issues.

Is this issue related to iced?

[X] My hardware is compatible and my graphics drivers are up-to-date.

What happened?
I am evaluating the library and I've tried the counter example. When I close the window by clicking on the close button, the application never ends, it just stays running in the background until I kill it manually (Ctrl+C in the terminal). I've added printlns around the iced::application call, and indeed, the "after" println never happens. Here's a screenshot to illustrate that. On the latest release (0.12.1) application terminates normally when the window is closed.

What is the expected behavior?
I would expect the application to terminate when the window is closed.
Version
master
Operating System
Linux
Do you have any log output?
No response

Are you sure https://github.com/iced-rs/iced/commit/a5b1a1df548a9bfeefc3e422defe6d67cf61c170 doesn't fix the issue?

I have iced.git = "https://github.com/iced-rs/iced.git" in Cargo.toml, and this commit has been merged. I was building outside of iced's source, so now I've checked out latest iced from git and built the example from there, and it still stalls when the window is closed. So, no, it doesn't fix the issue.

Interesting. I can't reproduce, but I wonder if this may have to do with the Drop order of our Window instances in the window_manager module.
Could you try https://github.com/iced-rs/iced/commit/6948c658a8e8f63ea7d40764bccb0ccf79e19f6e?

I've just tried that. It didn't help…

I've added if window_manager.is_empty { break 'main } from v0.12 to your fix branch and now closing the window works.

That is not a proper fix, since the application may need to exit even without a close request.
I believe you are not getting Destroyed window events for some reason. Try adding in line 930:
dbg!(&window_event);

I've added dbg at the start of the WindowEvent match and I do get the Destroyed event, but then the app continues getting keyboard events forever. Here's the output from the terminal (on the second run, when I promptly ctrl+c-ed it):
[winit/src/program.rs:924:25] &window_event = CloseRequested
[winit/src/program.rs:924:25] &window_event = Destroyed
[winit/src/program.rs:924:25] &window_event = ModifiersChanged(
    Modifiers {
        state: ModifiersState(
            CONTROL,
        ),
        pressed_mods: ModifiersKeys(
            0x0,
        ),
    },
)
^C

You should be getting 2 destroyed events.

I've moved boot_window_closed = true to before the if and it closes correctly. That clearly isn't the fix either if I should get two destroyed events :)

I imagine the boot window we use to initialize the Compositor may not be producing a Destroyed event in some platforms.

Are you on Wayland?
Does https://github.com/iced-rs/iced/commit/ce539c36968957829d8be39f24457a02fb2e499b fix the issue?

Nope, I'm on X11. But that change does fix the issue.

Well, then we know it's a winit bug for sure.

I think https://github.com/iced-rs/iced/commit/c6d1a0e8a0fde7679851d5b5721b59c1278bc3e5 works around the bug without keeping a ghost window around and also should avoid prematurely closing applications when a window is in the process of being opened.
Could you confirm it works?

Yes, it does work excellently. I also have a Mac and Windows machines, I could check if this change does break something on other systems, if you want.

@brcha I have access to those platforms too. I don't see why it would break anything, however.

You are welcome :) Excellent lib, I am really excited for an Elm style UI in Rust.


[DISCUSSION] Problem with contributing

About this discussion
I tried to contribute some icons to lawnicons. When i finished the pull request i wanted to push it, but i got this error in android studio:
Can't create a new pull request: Push failed: remote: Permission to LawnchairLauncher/lawnicons.git denied to Nido-nid. unable to access 'https://github.com/LawnchairLauncher/lawnicons.git/': The requested URL returned error: 403
How do i get permission to submit some icons?

Thanks for your interest in contributing! If I understand correctly, you're trying to push your fork to this repo and you don't have write access. You should instead push to your fork (https://github.com/Nido-nid/lawnicons), and create a PR in there. Hope it helps! (Note that for general git help, I'd recommend searching Google or Stackoverflow instead of creating an issue.)


truststore and keystore passwords should be configurable

truststore and keystore passwords should be configurable

we don't manage middleware anymore, so closing


Issue with symbols / emoji only strings

When running the clean() function with a string containing only emojis or symbols I receive the following error:
TypeError: Cannot read property '0' of null
at Filter.clean in bad-words/lib/badwords.js — line 58

As a workaround, I currently add "ABC" at the end of every string and remove it after the cleanup.
Example code:
const ProfanityFilter = require('bad-words');
const profanityFilter = new ProfanityFilter();
profanityFilter.clean('🙂');
profanityFilter.clean('.,-*');

Getting the same problem. Will try the workaround by @lkgoerges

For those interested, I'm using this as a workaround for now.
// filename bad-words-hacked.js
const Filter = require('bad-words')

class FilterHacked extends Filter {
    cleanHacked(string) {
        try {
            return this.clean(string);
        } catch {
            const joinMatch = this.splitRegex.exec(string);
            const joinString = (joinMatch && joinMatch[0]) || '';
            return string.split(this.splitRegex).map((word) => {
              return this.isProfane(word) ? this.replaceWord(word) : word;
            }).join(joinString);
        }
      }
}

module.exports = FilterHacked

Example code:
var Filter = require('./bad-words-hacked');
filter = new Filter();
const filteredString = filter.cleanHacked(string);

Looks like this repo is pretty much abandoned. Does anyone have a fork they plan on maintaining?

Hey!  Hopefully soon!
On Tue, Jan 9, 2024 at 5:20 PM Ian @.***> wrote:

Looks like this repo is pretty much abandoned. Does anyone have a fork
they plan on maintaining?
—
Reply to this email directly, view it on GitHub
https://github.com/web-mech/badwords/issues/93#issuecomment-1883893123,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACANVM6WQTWSITR4WIPG75DYNW7B5AVCNFSM4T6IHYJ2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBYGM4DSMZRGIZQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Story Serialization - issues with expression as URL

The current way the current view into a federation is presented as a URL presents a few issues.
There are two types entry points, URLs like http://fed.wiki.org/welcome-visitors.html, and http://fed.wiki.org/view/welcome-visitors/plugins.fed.wiki.org/about-plugins. http://fed.wiki.org/ is redirected to http://fed.wiki.org/welcome-visitors.html.

http://fed.wiki.org/welcome-visitors.html, for which the server serves a render HTML page. On loading, if javascript is not disabled, the page will be re-rendered by the client and the URL re-written as http://fed.wiki.org/view/welcome-visitors.

http://fed.wiki.org/view/welcome-visitors/plugins.fed.wiki.org/about-plugins, which in #411 is represents as the story serialization S( S( S(protocol) - V(://) - O(FQDN) ) - V(view) - O(welcome-visitors) ) - V(FQDN) - O(welcome-visitors). The way such requests are handled by the server, is not to return a single page with the content. But, to serve a page with place holders that the client will populate.

Re-writing the URL has a knock-on effect that an intelligent server is required, the URL does not point directly to a resource that a dumb server can serve. This acts as a barrier to using a cheap 'dumb' server to publish a public view of a private federation, part of #410.  Creation of a static server entails saving content (page json, sitemap, etc…), together with the client, in the locations that the client expects to find them.
Some additional issues:

While the protocol used to access the origin server is indicated, there is no indication of that needed to access those whose FQDN is given. It is hard-coded into the client, assumes http. Becomes a problem if the remote site is https only.
While not directly related, page names are restricted to subset of the ASCII character set, which presents a barrier to internationalization, I12N. There is probably little reason for not to URL encode page names.

A Proposal
Use fragment identifier, to separate the origin from the list of pages in the lineup. Pages within the lineup being separated with :. For example:

http://fed.wiki.org/view/welcome-visitors becomes http://fed.wiki.org/#welcome-visitors, and
http://fed.wiki.org/view/welcome-visitors/view/recent-changes becomes http://fed.wiki.org/#welcome-visitors:recent-changes

Where the page is from a server other than the origin, we need to indicate the page-name together with the FQDN, using = as a separator. For example:

http://fed.wiki.org/view/welcome-visitors/plugins.fed.wiki.org/about-plugins becomes http://fed.wiki.org/#welcome-visitors:plugins.fed.wiki.org=about-plugins

Server rendered pages retain the http://fed.wiki.org/welcome-visitors.html scheme, and the client must not re-write the URI, or re-render the page. The client should be able to configure link behaviour, so able to explore the federation as a series of static pages without needing to disable javascript.

Just noticed the Go problem you were having, you can parse /view/alpha/view/beta with
func handler(rw http.ResponseWriter, req *http.Request) {
	tokens := strings.Split(req.URL.Path, "/")[1:]
	// tokens[0] == "view"
	// tokens[1] == "alpha"
	// tokens[2] == "view"
	// tokens[3] == "beta"
}

req.URL.Path contains the pathname as a regular string so you can split/parse it as needed.

Good point. We were a little too attached to regex routing since that is what we had been doing in Sinatra. We do want the added validation provided by regex in the Factory drop logic but that is in the client where it is well supported.

There are plenty of different routers that provide different features (e.g. (http://www.gorillatoolkit.org/pkg/mux, https://github.com/bmizerany/pat, and even more https://github.com/vishr/go-http-routing-benchmark).
Of course, implementing your own router is trivial https://play.golang.org/p/lXRFobL4GJ (note, code untested and can be made nicer).

Yes, we went down the custom router route. It became more complicated than the rest of the server. I had to stop and ask, what is it about wiki that requires this complexity. My conclusion: nothing. Hence my desire to simplify.


New version: Random123 v1.5.0

Registering package: Random123
Repository: https://github.com/JuliaRandom/Random123.jl
Created by: @sunoru
Version: v1.5.0
Commit: 306982825bff57f0c9e327b6e2d86bab3c2eeda0
Reviewed by: @sunoru
Reference: https://github.com/JuliaRandom/Random123.jl/commit/306982825bff57f0c9e327b6e2d86bab3c2eeda0#commitcomment-52005061

@sunoru did you skip a version on purpose?  What do you want to do?

@giordano Sorry it's not on purpose. I thought v1.4 had been published and bumped the version number unnecessarily.

Ah, looks like the registrator created another or (#38621) instead of updating this one.


Introduces island-outlet

⚠ WIP - tests missing
My apologies if that has already been discussed.
This PR introduces the concept of island-outlet. An island-outlet behaves like a typical outlet: it is a named placeholder for content. It allows to define in the DOM a number of locations for which the content will be dictated by the blocks yielded within the {{island-outlet}} components with the same name.
As an example, here's the HTML I had to deal with:

and the following application.hbs:
{{outlet}}
{{ember-islands}}

Without using {{ember-outlet}}, I can not have the {{outlet}} to render at the correct place in the document (it will append to #ember-application).
With this PR, I can rewrite the template as follows:
{{#island-outlet "main-outlet"}}
  {{outlet}}
{{/island-outlet}}
{{ember-islands}}

and see my outlet rendered at the expected place.
If you welcome the idea, there's a lot of room for discussion and improvement (notably regarding the dependency of ember-wormhole), but for the moment, I simply wanted to share a draft on the concept.
Hope you'll like it!

Thanks for putting this PR together. My first impression is that this feature does fit with the purpose of Ember Islands.
One concern I have is that this is so close to typical usage of ember-wormhole that I wonder whether the abstraction is worth it or if it would be better to direct users to ember-wormhole.

{{#ember-wormhole to="main-outlet"}}
  {{outlet}}
{{/ember-wormhole}}

My other concern is that this is conceptually different from the existing feature. Currently I'm trying to build a mental model where the static template is asking for the content that it wants to render. Using ember-wormhole is generally a different model where the Ember app is pushing content into the static template.
Perhaps a more ideal API would be something like this:

Allowing the developer to arbitrarily render routes. But I'm not sure if this is feasible.
So this is my long-winded way of saying I need some time to think more about this 😄 . There is a lot in the mix with the ideas of routable components and presumably some forthcoming API for rendering Glimmer components without the rest of Ember. I'm hoping I'll have a lot more information to work with soon. In the mean time it could also make sense to merge a feature like this and then try to come up with a more comprehensive solution for a 2.0 version.
Let me know what you think.

I share your concerns about the similarity with the basic usage of ember-wormhole.
The only thing I can say in favour of this new API is my own story, highlighting some (hopefully interesting) Developer Experience facts:
I helped transition some apps to Ember, consistently having ember-islands in my toolset as a placeholder for Ember components. Every time, as the Ember app grows, comes a moment when I'd rather render the main {{outlet}} than statically declare the components in the HTML.
See the slides of a talk I've made recently about that (video soon): https://xcambar.github.io/emberfest_2016
So, the question here (from my perspective), can be solved by this question: "Does it make for a reasonable use case?" For me, this feature has somehow always been on my path.
As for your alternative, I don't feel confident about [data-route-path] because it suggests we can render 2 routes at the same time.
I am really looking forward to being able to use routable components with ember-islands too yet as you suggested, the impact is still very much unknown.

To be clear I'm leaning toward merging this feature because it seems to fit with the exact vision of this addon. If you've been using Ember Islands a lot recently then you probably have better perspective than I do at this point. I just want to stew on it for a day or two to make sure I'm not missing something.
 I'd like to see it.
When I wrote that data-route-path example I was trying to emphasize that the route path isn't necessarily tied to the page that the user is visiting. However, you're right that rendering 2 different pages at once is not a path toward a full Ember app. I'm assuming that you're co-opting the URL to choose which route to render (as per the README), but it would be nice if you didn't have to line up the URL on your web-server with the URL in your Ember app. Again I'm not sure if that is feasible.
Even though the use case is clear, there's nothing really specific to Ember's outlets here so I wonder if that's a misnomer. In other words, this would be perfectly valid:
{{#island-outlet "main-outlet"}}
  Hello from an Island Outlet!
{{/island-outlet}}
{{ember-islands}}

This is why I'm trying to think of a way to flip this from "pushing from Ember app into my static page" to "pulling the Ember app into my static page" to fit the current mental model. However, maybe the answer here is that there should just be a general-purpose way to "push" content into the placeholders. In that case, maybe there are some naming changes that can better support that idea.

{{#ember-islands "main"}}
  Hello from Ember Islands!
{{/ember-islands}}

As outlet is an Ember internal it might be difficult to build {{ember-islands 'main'}} with similar functionality to {{outlet 'main'}}.

@mixonic To be clear {{ember-islands 'main'}} has nothing to do with Ember outlets per se, which is why I was proposing the name change. This is roughy equivalent to:
{{#ember-wormhole to="main"}}
  Hi!
{{/ember-wormhole}}

(Video for the EmberFest talk is not ready yet. A previous version has been presented at EmberConf this year: https://www.youtube.com/watch?v=-iL8ME7Ux2k)
@mitchlloyd I love the syntax you proposed
👍 for [data-content-for]
👍 for using block templates in {{ember-islands}}
In the current implementation, at most one {{ember-islands}} is really ever used per template.
Here, as there could more than one and because I tend to favour explicit behaviour, I imagine that only the unlabelled instance provides the current behaviour. Do you have another perspective?
Following on this idea, a template could be as follows, correct?
{{!--
  for `[data-content-for]`
--}}

{{#ember-islands "main"}}
  Hello from Ember Islands!
{{/ember-islands}}
{{#ember-islands "secondary"}}
  Hello as well!
{{/ember-islands}}

{{!--
  for `[data-component]`
--}}

{{ember-islands}}

@xcambar Yes, that's what I was thinking, but there might be some more name tweaking ahead :)
One more factor to throw into the mix is that Ember Canary currently has an -in-element helper would allow us to avoid adding Ember Wormhole as a dependency. Because this is a new feature we could require the current version of Ember to use it.
This helper currently undergoing some churn (see https://github.com/emberjs/ember.js/pull/14472) but it would be great to use a purpose-made API for this.
Now we just need something like application.renderComponent('my-component', element) in Ember and this addon would be trivial :)

Hi,
Is this PR still relevant?
What would it take to revive the discussion?

@xcambar I think this idea is still relevant. The last API that you posted still looks good to me. Could you take a shot at implementing and explain it's "reason for being" in the README? Ideally we would use the newly public in-element helper. This polyfill seems good to support older versions.
Above and beyond (and maybe later) would be an attempt to use in-element for all of ember-islands which would make this library private-api-free. However the last time I looked into this, the fact that Ember does not have a splat operator or any way to send an object as attributes ("properties" in Glimmer terms) to a component meant that the API would not work as is for this library. I haven't really had my ear to the ground, so hopefully this has changed and in-element could replace all the private APIs in Ember Islands.


Microbit Update Blog Post

Hi Galen,
Can you prep a blog post for me?  Would like to release this week.
All files are located here: https://1drv.ms/f/s!AmMIW5Hxi0RtgZEk7l1tOG8WhWDEow
Need the following to happen before posting:

[ ] Change URL from https://makecode.microbit.org/v1 to https://makecode.microbit.org/beta
[ ] Create a banner (reuse app banner) on the current editor advertising and linking to beta ("Try the MakeCode Beta update!")

Waiting for https://github.com/Microsoft/pxt-microbit/issues/956

Done


Activating Open Collective

Hi, I'm making updates for Open Collective. Either you or a supporter signed this repo up for Open Collective. This pull request adds backers and sponsors from your Open Collective https://opencollective.com/redux-form ❤
It adds two badges at the top to show the latest number of backers and sponsors. It also adds placeholders so that the avatar/logo of new backers/sponsors can automatically be shown without having to update your README.md. [more info]. See how it looks on this repo.
We have also added a postinstall script to let people know after npm|yarn install that you are welcoming donations (optional). [More info]
You can also add a "Donate" button to your website and automatically show your backers and sponsors there with our widgets. Have a look here: https://opencollective.com/widgets
P.S: As with any pull request, feel free to comment or suggest changes. The only thing "required" are the placeholders on the README because we believe it's important to acknowledge the people in your community that are contributing (financially or with code!).
Thank you for your great contribution to the open source community. You are awesome! 🙌
And welcome to the open collective community! 😊
Come chat with us in the #opensource channel on https://slack.opencollective.com - great place to ask questions and share best practices with other open source sustainers!

Breaks build.
opencollective-postinstall: not found

I had the old postinstall - updated the dependency to : "opencollective-postinstall": "^2.0.0"


Feature/textual updates

Add jspsych to registrations model
Remove schoolleiding
Fix a bad link on the homepage

I'll try to go this review after the meetings today

Question for @tymees: do fixtures get loaded on deploy?
No. The fixtures rarely change, so it wasn't worth the effort of engineering a way to load them reliably. Also, more complex fixtures aren't really safe to re-import, like when dealing with relations between models.


Is this now being deprecated ?

Please can you confirm the status of this project/plugin

Is work/support for this plugin now dead ?
Is this plugin valid for latest Apple requirements for integrating within a Flutter project targetting iOS ?

Reflectly uses this but it seems that they are dropping support for FACEBOOK authentication and consequently this plugin.

What :o

has anyone tried this solution?
https://github.com/roughike/flutter_facebook_login/issues/209#issuecomment-563231679

@MsXam I have implemented web-view flow, in flutter and nodeJS if you are interested or anyone is, in the sample code, or probably converting to a plugin or something.

This should help,
  Future<void> _loginWithFacebook() async {
    Map<String, dynamic> result = await Navigator.push(
      context,
      MaterialPageRoute(builder: (context) =>
        CustomWebView(
          title: 'Facebook Login',
          selectedUrl: 'https://www.facebook.com/dialog/oauth?client_id=$your_cliend_id&redirect_uri=$your_redirect_url=email,public_profile',
        ),
        maintainState: true
      ),
    );

    if (result != null && result["authToken"] != null) {
      _sendTokenToServer(
        user: result,
        authProvider: AuthProvider.Facebook
      );
    } else {
      _showErrorOnUI(result != null ? 'Login error, this is our fault': 'You must be logged in to continue');
    }
  }

CustomWebView.dart

import 'dart:async';
import 'dart:convert';
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';

import 'package:webview_flutter/webview_flutter.dart';

class CustomWebView extends StatelessWidget {
  final String title;
  final String selectedUrl;

  final Completer<WebViewController> _controller = Completer<WebViewController>();

  CustomWebView({
    @required this.title,
    @required this.selectedUrl,
  });

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Colors.transparent,
      ),
      body: WebView(
        initialUrl: selectedUrl,
        javascriptMode: JavascriptMode.unrestricted,
        javascriptChannels: <JavascriptChannel>[
          JavascriptChannel(name: 'Print', onMessageReceived: (msg) {
            Map token = json.decode(msg.message);
            Navigator.pop(context, token);
          }),
        ].toSet(),
        gestureRecognizers: Set()
          ..add(Factory<VerticalDragGestureRecognizer>(
            () => VerticalDragGestureRecognizer())
        ),
        onWebViewCreated: (WebViewController webViewController) {
          _controller.complete(webViewController);
        },
      )
    );
  }
}

You can use this this way rather than this plugin as it is safe to assume it is no longer maintained.

@EmmanuelAmodu
Can you kindly expand on your solution with respect :

_sendTokenToServer(
And also your nodejs just for completeness as I think this could be a great solution now that this facebook plugin is no longer being maintained.

@bpaul7101 check it out here, I am working this. I have completed the mobile section, I would do the nodejs later

Hello,
How about using the new branch:
dependencies:
  flutter_facebook_login:
    git:
      url: https://github.com/roughike/flutter_facebook_login.git
      ref: update-to-latest-fbsdk

https://medium.com/@karlwhiteprivate/flutter-facebook-sign-in-with-firebase-in-2020-66556a8c3586

@EmmanuelAmodu can you please show how to log out?

Hi , anyone working on this?

@Dhuliang Honestly, I've given up on this library and instead followed the instructions from the article @kareldebedts mentioned:  https://medium.com/@karlwhiteprivate/flutter-facebook-sign-in-with-firebase-in-2020-66556a8c3586
It was not too challenging and I didn't need to worry about deprecated libraries.  And I ended up having to do the same thing with Twitter too.

I did the same as @awhitford, it was barely any work to change to that library.

there is a new plugin on pub dev. Visit https://pub.dev/packages/flutter_facebook_auth. It resolves the UIWebView issue.


0.9.0 release notes [skip ci]

This change is

google/cloud/bigtable/README.md, line 67 at r1 (raw file):
Previously, coryan (Carlos O'Ryan) wrote…
I would just say: "Implemented a number of missing code samples."

Done.


Starting an openrc container on an openrc instance fails when trying to mount /sys/fs/cgroup/systemd inside the guest

Required information

Distribution: Gentoo
Distribution version: N/A
The output of "lxc info" or if that fails:

lxc info
config:
  images.auto_update_interval: "0"
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_stop_priority
- container_syscall_filtering
- auth_pki
- container_last_used_at
- etag
- patch
- usb_devices
- https_allowed_credentials
- image_compression_algorithm
- directory_manipulation
- container_cpu_time
- storage_zfs_use_refquota
- storage_lvm_mount_options
- network
- profile_usedby
- container_push
- container_exec_recording
- certificate_update
- container_exec_signal_handling
- gpu_devices
- container_image_properties
- migration_progress
- id_map
- network_firewall_filtering
- network_routes
- storage
- file_delete
- file_append
- network_dhcp_expiry
- storage_lvm_vg_rename
- storage_lvm_thinpool_rename
- network_vlan
- image_create_aliases
- container_stateless_copy
- container_only_migration
- storage_zfs_clone_copy
- unix_device_rename
- storage_lvm_use_thinpool
- storage_rsync_bwlimit
- network_vxlan_interface
- storage_btrfs_mount_options
- entity_description
- image_force_refresh
- storage_lvm_lv_resizing
- id_map_base
- file_symlinks
- container_push_target
- network_vlan_physical
- storage_images_delete
- container_edit_metadata
- container_snapshot_stateful_migration
- storage_driver_ceph
- storage_ceph_user_name
- resource_limits
- storage_volatile_initial_source
- storage_ceph_force_osd_reuse
- storage_block_filesystem_btrfs
- resources
- kernel_limits
- storage_api_volume_rename
- macaroon_authentication
- network_sriov
- console
- restrict_devlxd
- migration_pre_copy
- infiniband
- maas_network
- devlxd_events
- proxy
- network_dhcp_gateway
- file_get_symlink
- network_leases
- unix_device_hotplug
- storage_api_local_volume_handling
- operation_description
- clustering
- event_lifecycle
- storage_api_remote_volume_handling
- nvidia_runtime
- container_mount_propagation
- container_backup
- devlxd_images
- container_local_cross_pool_handling
- proxy_unix
- proxy_udp
- clustering_join
- proxy_tcp_udp_multi_port_handling
- network_state
- proxy_unix_dac_properties
- container_protection_delete
- unix_priv_drop
- pprof_http
- proxy_haproxy_protocol
- network_hwaddr
- proxy_nat
- network_nat_order
- container_full
- candid_authentication
- backup_compression
- candid_config
- nvidia_runtime_config
- storage_api_volume_snapshots
- storage_unmapped
- projects
- candid_config_key
- network_vxlan_ttl
- container_incremental_copy
- usb_optional_vendorid
- snapshot_scheduling
- snapshot_schedule_aliases
- container_copy_project
- clustering_server_address
- clustering_image_replication
- container_protection_shift
- snapshot_expiry
- container_backup_override_pool
- snapshot_expiry_creation
- network_leases_location
- resources_cpu_socket
- resources_gpu
- resources_numa
- kernel_features
- id_map_current
- event_location
- storage_api_remote_volume_snapshots
- network_nat_address
- container_nic_routes
- rbac
- cluster_internal_copy
- seccomp_notify
- lxc_features
- container_nic_ipvlan
- network_vlan_sriov
- storage_cephfs
- container_nic_ipfilter
- resources_v2
- container_exec_user_group_cwd
- container_syscall_intercept
- container_disk_shift
- storage_shifted
- resources_infiniband
- daemon_storage
- instances
- image_types
- resources_disk_sata
- clustering_roles
- images_expiry
- resources_network_firmware
- backup_compression_algorithm
- ceph_data_pool_name
- container_syscall_intercept_mount
- compression_squashfs
- container_raw_mount
- container_nic_routed
- container_syscall_intercept_mount_fuse
- container_disk_ceph
- virtual-machines
- image_profiles
- clustering_architecture
- resources_disk_id
- storage_lvm_stripes
- vm_boot_priority
- unix_hotplug_devices
- api_filtering
- instance_nic_network
- clustering_sizing
- firewall_driver
- projects_limits
- container_syscall_intercept_hugetlbfs
- limits_hugepages
- container_nic_routed_gateway
- projects_restrictions
- custom_volume_snapshot_expiry
- volume_snapshot_scheduling
- trust_ca_certificates
- snapshot_disk_usage
- clustering_edit_roles
- container_nic_routed_host_address
- container_nic_ipvlan_gateway
- resources_usb_pci
- resources_cpu_threads_numa
- resources_cpu_core_die
- api_os
- container_nic_routed_host_table
- container_nic_ipvlan_host_table
- container_nic_ipvlan_mode
- resources_system
- images_push_relay
- network_dns_search
- container_nic_routed_limits
- instance_nic_bridged_vlan
- network_state_bond_bridge
- usedby_consistency
- custom_block_volumes
- clustering_failure_domains
- resources_gpu_mdev
- console_vga_type
- projects_limits_disk
- network_type_macvlan
- network_type_sriov
- container_syscall_intercept_bpf_devices
- network_type_ovn
- projects_networks
- projects_networks_restricted_uplinks
- custom_volume_backup
- backup_override_name
- storage_rsync_compression
- network_type_physical
- network_ovn_external_subnets
- network_ovn_nat
- network_ovn_external_routes_remove
- tpm_device_type
- storage_zfs_clone_copy_rebase
- gpu_mdev
- resources_pci_iommu
- resources_network_usb
- resources_disk_address
- network_physical_ovn_ingress_mode
- network_ovn_dhcp
- network_physical_routes_anycast
- projects_limits_instances
- network_state_vlan
- instance_nic_bridged_port_isolation
- instance_bulk_state_change
- network_gvrp
- instance_pool_move
- gpu_sriov
- pci_device_type
- storage_volume_state
- network_acl
- migration_stateful
- disk_state_quota
- storage_ceph_features
- projects_compression
- projects_images_remote_cache_expiry
- certificate_project
- network_ovn_acl
- projects_images_auto_update
- projects_restricted_cluster_target
- images_default_architecture
- network_ovn_acl_defaults
- gpu_mig
- project_usage
- network_bridge_acl
- warnings
- projects_restricted_backups_and_snapshots
- clustering_join_token
- clustering_description
- server_trusted_proxy
- clustering_update_cert
- storage_api_project
- server_instance_driver_operational
- server_supported_storage_drivers
- event_lifecycle_requestor_address
- resources_gpu_usb
- clustering_evacuation
- network_ovn_nat_address
- network_bgp
- network_forward
- custom_volume_refresh
- network_counters_errors_dropped
- metrics
- image_source_project
- clustering_config
- network_peer
- linux_sysctl
- network_dns
- ovn_nic_acceleration
- certificate_self_renewal
- instance_project_move
- storage_volume_project_move
- cloud_init
- network_dns_nat
- database_leader
- instance_all_projects
- clustering_groups
- ceph_rbd_du
- instance_get_full
- qemu_metrics
- gpu_mig_uuid
- event_project
- clustering_evacuation_live
- instance_allow_inconsistent_copy
- network_state_ovn
- storage_volume_api_filtering
- image_restrictions
- storage_zfs_export
- network_dns_records
- storage_zfs_reserve_space
- network_acl_log
- storage_zfs_blocksize
- metrics_cpu_seconds
- instance_snapshot_never
- certificate_token
- instance_nic_routed_neighbor_probe
- event_hub
- agent_nic_config
- projects_restricted_intercept
- metrics_authentication
- images_target_project
- cluster_migration_inconsistent_copy
- cluster_ovn_chassis
- container_syscall_intercept_sched_setscheduler
- storage_lvm_thinpool_metadata_size
- storage_volume_state_total
- instance_file_head
- resources_pci_vpd
- qemu_raw_conf
- storage_cephfs_fscache
- vsock_api
- storage_volumes_all_projects
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses: []
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
    MIICDTCCAZKgAwIBAgIQEwqxCz2j39ZNvcpGL0dY7jAKBggqhkjOPQQDAzA3MRww
    GgYDVQQKExNsaW51eGNvbnRhaW5lcnMub3JnMRcwFQYDVQQDDA5yb290QGxhcHB5
    Tk9PQjAeFw0yMjA3MjAwNjUxMzVaFw0zMjA3MTcwNjUxMzVaMDcxHDAaBgNVBAoT
    E2xpbnV4Y29udGFpbmVycy5vcmcxFzAVBgNVBAMMDnJvb3RAbGFwcHlOT09CMHYw
    EAYHKoZIzj0CAQYFK4EEACIDYgAEC+eaWwNjqI1iRQDXqtiwffNbo5HqnqIBdmA0
    5tdx7JB3amapmettsnlwpvowmpifI6eiEuZlw0FyGt+X0Vx6l2n+q3w9hN2nS8lD
    wUOXUEFuZ/1i+/whUkYX7wXtgZndo2MwYTAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0l
    BAwwCgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAsBgNVHREEJTAjgglsYXBweU5P
    T0KHBH8AAAGHEAAAAAAAAAAAAAAAAAAAAAEwCgYIKoZIzj0EAwMDaQAwZgIxAO5e
    TNHU8bYqhRxWlALiDVNGNENU4BvimPQRl+PsC2BxcYwol4IZLP4G6c0kZm6tkwIx
    AIAoOvPGeSaIsULLOB65YwTlZDAKbfOs9i9Q7GAKibueU/LHXRjoNkhm+2s0fghy
    rg==
    -----END CERTIFICATE-----
  certificate_fingerprint: 0392e94afba2dfb745781cbb4187c30b8b9c85f78dcda76db50535ccdbb5dd4b
  driver: lxc
  driver_version: 5.0.1
  firewall: xtables
  kernel: Linux
  kernel_architecture: x86_64
  kernel_features:
    idmapped_mounts: "true"
    netnsid_getifaddrs: "true"
    seccomp_listener: "true"
    seccomp_listener_continue: "true"
    shiftfs: "false"
    uevent_injection: "true"
    unpriv_fscaps: "true"
  kernel_version: 5.18.12-gentoo-dist
  lxc_features:
    cgroup2: "true"
    core_scheduling: "true"
    devpts_fd: "true"
    idmapped_mounts_v2: "true"
    mount_injection_file: "true"
    network_gateway_device_route: "true"
    network_ipvlan: "true"
    network_l2proxy: "true"
    network_phys_macvlan_mtu: "true"
    network_veth_router: "true"
    pidfd: "true"
    seccomp_allow_deny_syntax: "true"
    seccomp_notify: "true"
    seccomp_proxy_send_notify_fd: "true"
  os_name: Gentoo
  os_version: "2.9"
  project: default
  server: lxd
  server_clustered: false
  server_event_mode: full-mesh
  server_name: lappyNOOB
  server_pid: 4538
  server_version: 5.0.1
  storage: dir
  storage_version: "1"
  storage_supported_drivers:
  - name: dir
    version: "1"
    remote: false
  - name: lvm
    version: 2.03.17(2) (2022-11-10) / 1.02.187 (2022-11-10) / 4.46.0
    remote: false

Issue description
Starting an openrc gentoo container on an openrc gentoo machine fails when /sys/fs/cgroup/systemd if mounted.
Steps to reproduce

Step one - Install gentoo and lxd. emerge --verbose app-containers/lxd
Step two - Start an openrc gentoo container lxc start <gentoo-image-hash>.
Step three - See that the starting fails with the error message -

@root@lappyNOOB ~ # lxc info --show-log gentoo
Name: gentoo
Status: STOPPED
Type: container
Architecture: x86_64
Created: 2022/07/21 08:58 EDT
Last Used: 2023/01/01 19:55 EST

Log:

lxc gentoo<PHONE_NUMBER>5524.144 ERROR    cgfsng - ../lxc-5.0.1/src/lxc/cgroups/cgfsng.c:cgfsng_mount:2131 - No such file or directory - Failed to create cgroup at_mnt 24()
lxc gentoo<PHONE_NUMBER>5524.144 ERROR    conf - ../lxc-5.0.1/src/lxc/conf.c:lxc_mount_auto_mounts:851 - No such file or directory - Failed to mount "/sys/fs/cgroup"
lxc gentoo<PHONE_NUMBER>5524.144 ERROR    conf - ../lxc-5.0.1/src/lxc/conf.c:lxc_setup:4396 - Failed to setup remaining automatic mounts
lxc gentoo<PHONE_NUMBER>5524.144 ERROR    start - ../lxc-5.0.1/src/lxc/start.c:do_start:1272 - Failed to setup container "gentoo"
lxc gentoo<PHONE_NUMBER>5524.144 ERROR    sync - ../lxc-5.0.1/src/lxc/sync.c:sync_wait:34 - An error occurred in another process (expected sequence number 4)
lxc gentoo<PHONE_NUMBER>5524.146 WARN     network - ../lxc-5.0.1/src/lxc/network.c:lxc_delete_network_priv:3631 - Failed to rename interface with index 0 from "eth0" to its initial name "vethbf0c8995"
lxc gentoo<PHONE_NUMBER>5524.146 ERROR    start - ../lxc-5.0.1/src/lxc/start.c:__lxc_start:2107 - Failed to spawn container "gentoo"
lxc gentoo<PHONE_NUMBER>5524.146 ERROR    lxccontainer - ../lxc-5.0.1/src/lxc/lxccontainer.c:wait_on_daemonized_start:877 - Received container state "ABORTING" instead of "RUNNING"
lxc gentoo<PHONE_NUMBER>5524.146 WARN     start - ../lxc-5.0.1/src/lxc/start.c:lxc_abort:1036 - No such process - Failed to send SIGKILL via pidfd 19 for process 4887
lxc<PHONE_NUMBER>5529.305 ERROR    af_unix - ../lxc-5.0.1/src/lxc/af_unix.c:lxc_abstract_unix_recv_fds_iov:218 - Connection reset by peer - Failed to receive response
lxc<PHONE_NUMBER>5529.305 ERROR    commands - ../lxc-5.0.1/src/lxc/commands.c:lxc_cmd_rsp_recv_fds:128 - Failed to receive file descriptors for command "get_state"

Temporary Workaround

Unmount /sys/fs/cgroup/systemd before starting the openrc container.

Not an ideal solution as this inhibits the launching of systemd containers, which necessitates remounting it again.

Hmm it should work. Can you show your /etc/rc.conf file?
Then again I may accidentally have tested this with only my own lxd images, need to try with upstream images.
(For anyone wondering this is related,
https://github.com/gentoo/gentoo/commit/0fcc7c7e18b0e57e53c5aaf487744ca426dc949c)

Sure -
# Global OpenRC configuration settings

# Set to "YES" if you want the rc system to try and start services
# in parallel for a slight speed improvement. When running in parallel we
# prefix the service output with its name as the output will get
# jumbled up.
# WARNING: whilst we have improved parallel, it can still potentially lock
# the boot process. Don't file bugs about this unless you can supply
# patches that fix it without breaking other things!
#rc_parallel="NO"

# Set rc_interactive to "YES" and you'll be able to press the I key during
# boot so you can choose to start specific services. Set to "NO" to disable
# this feature. This feature is automatically disabled if rc_parallel is
# set to YES.
rc_interactive="NO"

# If we need to drop to a shell, you can specify it here.
# If not specified we use $SHELL, otherwise the one specified in /etc/passwd,
# otherwise /bin/sh
# Linux users could specify /sbin/sulogin
rc_shell=/sbin/sulogin

# Do we allow any started service in the runlevel to satisfy the dependency
# or do we want all of them regardless of state? For example, if net.eth0
# and net.eth1 are in the default runlevel then with rc_depend_strict="NO"
# both will be started, but services that depend on 'net' will work if either
# one comes up. With rc_depend_strict="YES" we would require them both to
# come up.
#rc_depend_strict="YES"

# rc_hotplug controls which services we allow to be hotplugged.
# A hotplugged service is one started by a dynamic dev manager when a matching
# hardware device is found.
# Hotplugged services appear in the "hotplugged" runlevel.
# If rc_hotplug is set to any value, we compare the name of this service
# to every pattern in the value, from left to right, and we allow the
# service to be hotplugged if it matches a pattern, or if it matches no
# patterns. Patterns can include shell wildcards.
# To disable services from being hotplugged, prefix patterns with "!".
#If rc_hotplug is not set or is empty, all hotplugging is disabled.
# Example - rc_hotplug="net.wlan !net.*"
# This allows net.wlan and any service not matching net.* to be hotplugged.
# Example - rc_hotplug="!net.*"
# This allows services that do not match "net.*" to be hotplugged.

# rc_logger launches a logging daemon to log the entire rc process to
# /var/log/rc.log
# NOTE: Linux systems require the devfs service to be started before
# logging can take place and as such cannot log the sysinit runlevel.
rc_logger="YES"

# Through rc_log_path you can specify a custom log file.
# The default value is: /var/log/rc.log
#rc_log_path="/var/log/rc.log"

# If you want verbose output for OpenRC, set this to yes. If you want
# verbose output for service foo only, set it to yes in /etc/conf.d/foo.
#rc_verbose=no

# By default we filter the environment for our running scripts. To allow other
# variables through, add them here. Use a * to allow all variables through.
#rc_env_allow="VAR1 VAR2"

# By default we assume that all daemons will start correctly.
# However, some do not - a classic example is that they fork and return 0 AND
# then child barfs on a configuration error. Or the daemon has a bug and the
# child crashes. You can set the number of milliseconds start-stop-daemon
# waits to check that the daemon is still running after starting here.
# The default is 0 - no checking.
#rc_start_wait=100

# rc_nostop is a list of services which will not stop when changing runlevels.
# This still allows the service itself to be stopped when called directly.
#rc_nostop=""

# rc will attempt to start crashed services by default.
# However, it will not stop them by default as that could bring down other
# critical services.
#rc_crashed_stop=NO
#rc_crashed_start=YES

# Set rc_nocolor to yes if you do not want colors displayed in OpenRC
# output.
#rc_nocolor=NO

##############################################################################
# MISC CONFIGURATION VARIABLES
# There variables are shared between many init scripts

# Set unicode to YES to turn on unicode support for keyboards and screens.
unicode="YES"

# This is how long fuser should wait for a remote server to respond. The
# default is 60 seconds, but  it can be adjusted here.
#rc_fuser_timeout=60

# Below is the default list of network fstypes.
#
# afs ceph cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs
# nfs nfs4 ocfs2 shfs smbfs
#
# If you would like to add to this list, you can do so by adding your
# own fstypes to the following variable.
#extra_net_fs_list=""

##############################################################################
# SERVICE CONFIGURATION VARIABLES
# These variables are documented here, but should be configured in
# /etc/conf.d/foo for service foo and NOT enabled here unless you
# really want them to work on a global basis.
# If your service has characters in its name which are not legal in
# shell variable names and you configure the variables for it in this
# file, those characters should be replaced with underscores in the
# variable names as shown below.

# Some daemons are started and stopped via start-stop-daemon.
# We can set some things on a per service basis, like the nicelevel.
#SSD_NICELEVEL="0"
# Or the ionice level. The format is class[:data] , just like the
# --ionice start-stop-daemon parameter.
#SSD_IONICELEVEL="0:0"
# Or the OOM score adjustment.
#SSD_OOM_SCORE_ADJ="0"

# Pass ulimit parameters
# If you are using bash in POSIX mode for your shell, note that the
# ulimit command uses a block size of 512 bytes for the -c and -f
# options
#rc_ulimit="-u 30"

# It's possible to define extra dependencies for services like so
#rc_config="/etc/foo"
#rc_need="openvpn"
#rc_use="net.eth0"
#rc_after="clock"
#rc_before="local"
#rc_provide="!net"

# You can also enable the above commands here for each service. Below is an
# example for service foo.
#rc_foo_config="/etc/foo"
#rc_foo_need="openvpn"
#rc_foo_after="clock"

# Below is an example for service foo-bar. Note that the '-' is illegal
# in a shell variable name, so we convert it to an underscore.
# example for service foo-bar.
#rc_foo_bar_config="/etc/foo-bar"
#rc_foo_bar_need="openvpn"
#rc_foo_bar_after="clock"

# You can also remove dependencies.
# This is mainly used for saying which services do NOT provide net.
#rc_net_tap0_provide="!net"

# This is the subsystem type.
# It is used to match against keywords set by the keyword call in the
# depend function of service scripts.
#
# It should be set to the value representing the environment this file is
# PRESENTLY in, not the virtualization the environment is capable of.
# If it is commented out, automatic detection will be used.
#
# The list below shows all possible settings as well as the host
# operating systems where they can be used and autodetected.
#
# ""               - nothing special
# "docker"         - Docker container manager (Linux)
# "jail"           - Jail (DragonflyBSD or FreeBSD)
# "lxc"            - Linux Containers
# "openvz"         - Linux OpenVZ
# "prefix"         - Prefix
# "rkt"            - CoreOS container management system (Linux)
# "subhurd"        - Hurd subhurds (to be checked)
# "systemd-nspawn" - Container created by systemd-nspawn (Linux)
# "uml"            - Usermode Linux
# "vserver"        - Linux vserver
# "xen0"           - Xen0 Domain (Linux and NetBSD)
# "xenU"           - XenU Domain (Linux and NetBSD)
#rc_sys=""

# if  you use openrc-init, which is currently only available on Linux,
# this is the default runlevel to activate after "sysinit" and "boot"
# when booting.
#rc_default_runlevel="default"

# on Linux and Hurd, this is the number of ttys allocated for logins
# It is used in the consolefont, keymaps, numlock and termencoding
# service scripts.
rc_tty_number=12

##############################################################################
# LINUX CGROUPS RESOURCE MANAGEMENT

# This sets the mode used to mount cgroups.
# "hybrid" mounts cgroups version 2 on /sys/fs/cgroup/unified and
# cgroups version 1 on /sys/fs/cgroup.
# "legacy" mounts cgroups version 1 on /sys/fs/cgroup
# "unified" mounts cgroups version 2 on /sys/fs/cgroup
rc_cgroup_mode="unified"

# This is a list of controllers which should be enabled for cgroups version 2
# when hybrid mode is being used.
# Controllers listed here will not be available for cgroups version 1.
#rc_cgroup_controllers=""

# This variable contains the cgroups version 2 settings for your services.
# If this is set in this file, the settings will apply to all services.
# If you want different settings for each service, place the settings in
# /etc/conf.d/foo for service foo.
# The format is to specify the setting and value followed by a newline.
# Multiple settings and values can be specified.
# For example, you would use this to set the maximum memory and maximum
# number of pids for a service.
#rc_cgroup_settings="
#memory.max 10485760
#pids.max max
#"
#
# For more information about the adjustments that can be made with
# cgroups version 2, see Documentation/cgroups-v2.txt in the linux kernel
# source tree.
#rc_cgroup_settings=""

# This switch controls whether or not cgroups version 1 controllers are
# individually mounted under
# /sys/fs/cgroup in hybrid or legacy mode.
#rc_controller_cgroups="YES"

# The following setting turns on the memory.use_hierarchy setting in the
# root memory cgroup for cgroups v1.
# It must be set to yes in this file if you want this functionality.
#rc_cgroup_memory_use_hierarchy="NO"

# The following settings allow you to set up values for the cgroups version 1
# controllers for your services.
# They can be set in this file;, however, if you do this, the settings
# will apply to all of your services.
# If you want different settings for each service, place the settings in
# /etc/conf.d/foo for service foo.
# The format is to specify the names of the settings followed by their
# values. Each variable can hold multiple settings.
# For example, you would use this to set the cpu.shares setting in the
# cpu controller to 512 for your service.
# rc_cgroup_cpu="
# cpu.shares 512
# "
#
# For more information about the adjustments that can be made with
# cgroups version 1, see Documentation/cgroups-v1/* in the linux kernel
# source tree.

# Set the blkio controller settings for this service.
#rc_cgroup_blkio=""

# Set the cpu controller settings for this service.
#rc_cgroup_cpu=""

# Add this service to the cpuacct controller (any value means yes).
#rc_cgroup_cpuacct=""

# Set the cpuset controller settings for this service.
#rc_cgroup_cpuset=""

# Set the devices controller settings for this service.
#rc_cgroup_devices=""

# Set the hugetlb controller settings for this service.
#rc_cgroup_hugetlb=""

# Set the memory controller settings for this service.
#rc_cgroup_memory=""

# Set the net_cls controller settings for this service.
#rc_cgroup_net_cls=""

# Set the net_prio controller settings for this service.
#rc_cgroup_net_prio=""

# Set the pids controller settings for this service.
#rc_cgroup_pids=""

# Set this to YES if you want all of the processes in a service's cgroup
# killed when the service is stopped or restarted.
# Be aware that setting this to yes means all of a service's
# child processes will be killed. Keep this in mind if you set this to
# yes here instead of for the individual services in
# /etc/conf.d/<service>.
# To perform this cleanup manually for a stopped service, you can
# execute cgroup_cleanup with /etc/init.d/<service> cgroup_cleanup or
# rc-service <service> cgroup_cleanup.
# If the kernel includes support for cgroup2's cgroup.kill, this is used
# to reliably teardown the cgroup.
# If this fails, the process followed in this cleanup is the following:
# 1. send stopsig (sigterm if it isn't set) to all processes left in the
# cgroup immediately followed by sigcont.
# 2. Send sighup to all processes in the cgroup if rc_send_sighup is
# yes.
# 3. delay for rc_timeout_stopsec seconds.
# 4. send sigkill to all processes in the cgroup unless disabled by
# setting rc_send_sigkill to no.
# rc_cgroup_cleanup="NO"

# If this is yes, we will send sighup to the processes in the cgroup
# immediately after stopsig and sigcont.
#rc_send_sighup="NO"

# This is the amount of time in seconds that we delay after sending sigcont
# and optionally sighup, before we optionally send sigkill to all
# processes in the # cgroup.
# The default is 90 seconds.
#rc_timeout_stopsec="90"

# If this is set to no, we do not send sigkill to all processes in the
# cgroup.
#rc_send_sigkill="YES"

Hmm it should work. Can you show your /etc/rc.conf file?
Then again I may accidentally have tested this with only my own lxd images, need to try with upstream images.
(For anyone wondering this is related, gentoo/gentoo@0fcc7c7)

All controllers that are supposed to be mounted by the container need to have been mounted/enabled on the host before. Over the years I've mentioned this quite a few times.
Systemd will first try to mount the unified cgroup hierarchy and use it for process tracking and if it isn't available or mounted it will fallback to the cgroup v1 name= feature where it creates a name=systemd controller it used for process tracking. If neither is available it will fail to boot.

@epsilon-0 if you update your rc.conf to have:
rc_cgroup_mode="hybrid"
rc_cgroup_controllers="yes"

, obviously reboot, and does it work then?
My system can use upstream images:gentoo/openrc images on openrc just fine.

I believe this is a Gentoo-related issue. I'm gonna (when I have some time) check the differences between rc_cgroup_modes in openrc and update the openrc init.d file accordingly.

@epsilon-0 please try with the latest lxd revision in ::gentoo repository tree,
https://github.com/gentoo/gentoo/commit/67e0c923557984eda05b09fcad093c0840ef8a12

the new one is working nicely
small point, it doesn't need the message rc_cgroup_controllers="yes", its the default value if it is commented out
here - https://github.com/OpenRC/openrc/blob/master/init.d/cgroups.in#L45 - it shows that if it is empty, its taken as YES


500 error

Sorry, don't know where to write
https://kool.dev/docs/getting-started/introduction gives laravel default 500 error page. Seems to a be a bug there.

Hello @inFureal ! thank you for the report!
The documentation links have been restored. Sorry about that!


No incentive to call Universe.sweepInterest()

https://github.com/AugurProject/augur/blob/67c0fec95e65fca8d27751f28a6c06e5247978c6/packages/augur-core/source/contracts/reporting/Universe.sol#L700
It seems this should be called automatically when the next disputeWindow is created?

We could add that. Some thoughts on that though:

If we depend on that someone can troll it by preemptively creating dispute windows in the future which we allow.
If there is some critical MKR related DSR bug that emerges in the future this would result in a total system shutdown whereas currently it would just stop sweeping interest.


XFail Kingfisher on watchOS and tvOS

Kingfisher fails on a new parsing error on an SDK's swiftinterface.
rdar://94154905

@swift-ci please test


Error while adding XCLogParser as Swift Package

Hello there, first of all thank you guys so much for that tool 🙏 You did a really good research!
The problem:
I can't integrate it into the project. Looks like I missed some little detail.
What I did?
I added XCLogParser as a SwiftPackage dependency and got a couple of errors.

In case when I add only executable file

This is iOS project with several build targets (i.e Dev, Staging, Prod). Could it be the problem?

In case when I add both library and executable files

To be clear - if want to integrate XCLogParser into your own tool, you should only set a dependency on XCLogParser library, not xclogparser executable.

Thanks for the response @polac24. No, I just wanted to test it in my project..
I added executable directly and ran a post-script with that. It works fine!


Ability to change parameters of of the default Deployment created from ServingRuntime and InferenceService

/kind feature
Describe the solution you'd like
I'd like to have the ability to modify some of the Deployment.spec for the predictor deployment created from  ServingRuntime and InferenceService. These parameters include strategy for adjusting rolling update strategy, template.spec.securityContext for adjusting the security context to name a few. The ideal solution would be to override any Deployment.spec inside the ServingRuntime and InferenceService.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Currently, the deployment created by ServingRuntime and InferenceService use the default Kubernetes deployment values.
Links to the design documents:
[Optional, start with the short-form RFC template to outline your ideas and get early feedback.]
[Required, use the longer-form design doc template to specify and discuss your design in more detail]

/assign

I think we need to think about how we can unify these fields with serverless mode, I am not sure if we want to simply add the deployment.spec.

in serverless mode, progressDeadlineSeconds is specified as a knative annotation and terminationGracePeriodSeconds is set according to the timeout field.
enableServiceLinks is a legacy field which I think should not be exposed.
deploymentStrategy is probably only applicable to raw deployment mode.
securityContext should be already defined on the podSpec of inferenceservice

For deployment spec, we'd like to customize the following:

spec.progressDeadlineSeconds: in serverless mode, this can be configured through KNative annotation serving.knative.dev/progress-deadline, I am proposing that we add a new field in ComponentExtensionSpec.ProgressDeadlineSeconds that can be used for both modes and document the precedence over the KNative annotation under serverless mode.
spec.deploymentStrategy: expose this through a new field ComponentExtensionSpec.RawDeploymentStrategy.

For deployment template spec, we'd like to customize the following:

spec.template.spec.terminationGracePeriodSeconds: can be set via the timeout field.
spec.template.spec.enableServiceLinks: @averyngo34 this is a legacy field. Is it really necessary to customize it?
spec.template.spec.securityContext: can already be customized in podSpec of inferenceservice

In short, we will only introduce two new fields:

ComponentExtensionSpec.ProgressDeadlineSeconds
ComponentExtensionSpec.RawDeploymentStrategy

WDYT? Anything I missed here? @averyngo34 @yuzisun

I agree with the approach you suggested. Thank you very much

Update: ComponentExtensionSpec.ProgressDeadlineSeconds is no longer needed by @averyngo34. Some known issues for reference https://github.com/kubernetes/kubernetes/issues/106697 https://github.com/knative/serving/pull/14835 https://github.com/knative/serving/pull/14835#issuecomment-1910430597

We discussed in the community meeting today. I'll update my PR to introduce a new field ComponentExtensionSpec.DeploymentStrategy.


Add final Azure URL output to the Pull Request

Right now make the URL static, via a secret (future: get this URL via the azure cli). Only for Prod.

Set secret.AZURE_PROD_URL in Github Secrets
Get the secret above, and append the repo-name to it.
Output this URL to the PR as a comment

Unfortunately this approach will not work, because for security reasons Github will obfuscate the name when you try to output the secret (as it should). It can only be hard-coded in the yml.

For the PATH_PREFIX, we would like to move away from using a secret and simply hardcode it since it's more useful to have it readable than hidden.
So that means we can echo the PATH_PREFIX right ? Which means for dev deploy we can echo stage.io/PATH_PREFIX and for prod deploy we can echo adobe.io/PATH_PREFIX wdyt ?

I'm against hardcode precisely for script update purposes. This is the reason for using the Github Secrets, for it to be variable, thus the Github Action scripts can be updated easily. With hardcoding, this becomes way harder.
An alternative is to read it from the config somewhere (fixed file) and the yml reads it via running a shell script


Add prune integration tests for many edge cases

What is the purpose of this change? What does it change?
Add prune integration tests for many edge cases like duplicate blobs, mixed blobs or all types of corrupt repo.
Currently one of these tests fails with upstream prune! #2674 will most likely heal this.
Was the change discussed in an issue or in the forum before?
This is part of #2718 that can be merged independently.
Checklist

[x] I have read the Contribution Guidelines
[x] I have enabled maintainer edits for this PR
[x] I have added tests for all changes in this PR
I have not added documentation for the changes (in the manual)
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (template here)
[x] I have run gofmt on the code in all commits
[x] All commit messages are formatted in the same style as the other commits in the repo
[x] I'm done, this Pull Request is ready for review

Just realized that the "failing test" (it was a blob existing in the pack file but missing in the index) is in fact cured by "old" prune. So I changed this accordingly here.

How did you generate the test data sets? I wonder if there's an easy way to generate those on the fly?

Honestly, by playing a lot around with creating backups, deleting manually single files from the repo, running prune and rebuild-index and sometimes even changing the source code to get the desired test repository.
I don't feel like I'm able to code that with small effort.
Also I think that keeping the repos as tar files "hardens" the tests cases in the sense that future code changes will not spoil the test cases.
E.g. the code-change that removed mixed pack creation effectively prevents to generate those test settings on the fly... Similar things could happen with the other cases in future.


Enhancement/Enable non-SSL connections to the database

Currently, whenever the database is changed from the default SQLite via the DATABASE_URL environment variable, the connection to the database is forced to be SSL. This is a great default for production use-cases. However, in some scenarios, users may not want to use SSL, e.g. when testing against a local MySQL or PostgreSQL database.
This change enables users to explicitly request a non-SSL connection to the database by passing the ?sslmode=disable (or similar) query argument in the DATABASE_URL environment variable.
For backwards compatibility, if the sslmode is not set explicitly in the connection URL, the code still defaults to requiring SSL on the connection.

Can this be merged, please?

Tagging @Hironsan for visibility.

Merged. Thanks!

New merge leads to an error:
File "/usr/local/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 159, in get_new_connection
conn = Database.connect(**conn_params)

TypeError: 'sslmode' is an invalid keyword argument for this function

@c-w looks like dj-database-url doesn't react to sslmode argument at all :(
I've got following DATABASES content with that URL - postgresql://postgres:mysecretpassword@database/postgres:
{
    'default': {
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': 'mysecretpassword',
        'HOST': 'database',
        'PORT': '',
        'CONN_MAX_AGE': 600,
        'OPTIONS': {
            'sslmode': 'require'
        },
        'ENGINE': 'django.db.backends.postgresql_psycopg2'
    }
}

@dveselov Could you please confirm that everything is set up correctly? See screenshot below for the database entry that I see when running with commit 6ee23ec.

@deltatree Could you please let me know what environment settings you're using? With the default SQLite mode, I'm seeing correct behavior any errors and this was confirmed in the CI too.

@deltatree I confirmed that this is an issue in dj-database-url which always sets the sslmode even if the underlying engine doesn't support SSL. I've implemented a work-around for this in https://github.com/chakki-works/doccano/pull/189.
I also tested the behavior with an older version of the code before the merge of this pull request and it seems to exhibit the same behavior so I believe this is not a regression but a newly discovered bug in its own right. Just to confirm, could you please share your environment settings so that I can properly reproduce? Thanks!

@c-w can be reproduced via
$ docker run -ti --rm -e "DATABASE_URL=postgresql://postgres:passwd@database/postgres?sslmode=disabled" chakkiworks/doccano:latest python app/manage.py shell

Python 3.6.8 (default, Mar 27 2019, 08:53:45)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from django.conf import settings
>>> settings.DATABASES['default']
{'sslmode': 'require'}

@dveselov Thanks for providing the repro steps. I can confirm the behavior.
Looks like this is an issue in django-heroku which seems to always override sslmode=True.
I've pushed a work-around to https://github.com/chakki-works/doccano/pull/189 in commit e5c935a.