Updating platform jobs for pluggable scm

This pull request will update miscellaneous platform jobs to support Pluggable SCM:

A new platform job to deploy the pluggable scm library in your Job DSL additional classpath
Updates to Generate_Project to allow you to add a new parameter to Load_Cartridge, letting you set a custom namespace for your repos to be loaded under
Updates to Load_Cartridge with a new parameter for SCM_PROVIDER and making it completely agnostic of your chosen SCM provider i.e. no references to Gerrit
Supports running load cartridge and masters and unix/linux slaves.

Test Scenarios

[x] Backwards compatibility: Load current Java Cartridge
** Expect spring petclinic repos to be created in Gerrit
[x] Backwards compatibility: Load current DOA Cartridge Collection

[x] Test Gerrit SCM Provider with SSH (Java Cartridge)
[x] Test Gerrit SCM Provider with SSH and without a cartridge folder name
[x] Test Gerrit SCM Provider with HTTPS (Java Cartridge)
[x] Test Gerrit SCM Provider with HTTPS and without a cartridge folder name (Java Cartridge)

As the build label is also set to !master the above tests should also confirm we can run the cartridge loader from unix/linux based slaves.
For all tests it is expected the respective repositories captured in urls.txt will be created with the respective SCM provider (Gerrit, BitBucket)
This PR is dependent on:
~~https://github.com/Accenture/adop-jenkins/pull/29~~
~~https://github.com/Accenture/adop-docker-compose/pull/187~~
~~https://github.com/Accenture/adop-pluggable-scm/pull/4~~

Thanks for the review @nickdgriffin
I have fixed that bug now.
Waiting for this PR to get merged in: https://github.com/dsingh07/adop-platform-management/pull/1 to my branch, and this PR should be in a reviewable state again.

There have been changes introduced by @BuleGeorge and @RobertNorthard which will be tested by me, after rebasing with all the other changes that have been introduced.
I shall update this PR with exciting developments :)

Thanks for the quick review @RobertNorthard
Have made those changes that you've requested.

Thanks @dsingh07.
@nickdgriffin this requires one final look over (fresh pair of eyes) before we merge.

Commits have been squashed and is ready for a final round of testing from @nickdgriffin and @anton-kasperovich :)

After this PR is merged. We should also merge https://github.com/Accenture/adop-cartridge-skeleton/pull/3 to demonstrate how to use the pluggable library.

LGTM. Thanks everyone for the hard work.
@dsingh07 @nickdgriffin @anton-kasperovich @BuleGeorge @SachinKSingh28 @MarisBahtins


istioctl analyze should add kube sources in all revisions

Please provide a description of this PR:
fix https://github.com/istio/istio/issues/38148

@zirain: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
4c71efff2602dfe0e611b9e9b64d469e7305f3f1
link
true
/test release-notes_istio

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

In response to a cherrypick label: new pull request created: #38666

Not sure about this. Should we have a --revision flag?
A bit concerned merging all of these:

99.99% of resources are not revision-tagged. So we will just read each resource many times. This may confused analyzers in the worst case, and cost performance in best case
Users may have conflicting resources in different revisions. In real world, this is fine -- they are never used together. But now we are merging them together and analyzing, may cause incorrect errors
Same as above mostly, but imagine resource 1 depends on res 2. res 1 is in rev A and res 2 in rev B. Before, this would correctly report an error. Now it will incorrectly report no issues.

I think --revision flag will not work correct with -A.
this PR make the logic same as v1.12.
what you said in (3) is reasonable, maybe we should take a look about the whole logic.

Not sure about this. Should we have a --revision flag?
A bit concerned merging all of these:

99.99% of resources are not revision-tagged. So we will just read each resource many times. This may confused analyzers in the worst case, and cost performance in best case
Users may have conflicting resources in different revisions. In real world, this is fine -- they are never used together. But now we are merging them together and analyzing, may cause incorrect errors
Same as above mostly, but imagine resource 1 depends on res 2. res 1 is in rev A and res 2 in rev B. Before, this would correctly report an error. Now it will incorrectly report no issues.

I think --revision flag will not work correct with -A. this PR make the logic same as v1.12.
what you said in (3) is reasonable, maybe we should take a look about the whole logic.

Hey @zirain @howardjohn, we have a use case where we have identical resources with different istio revisions in the same cluster. This is confusing istioctl analyze which is failing ( with errors such as Conflict with gateways & VirtualService defines the same host ) . Would it be possible to

enhance istioctl analyze with --revision to only analyze resources with a specific revision set

Will create a GH issue, if you agree :)
We would ideally like to refrain from using galley.istio.io/analyze-suppress=IST0107,IST0002 annotations of the revisioned resources. TIA !


Markdown not rendering correctly on GitHub

Issues with code formatting preventing markdown from being rendered correctly on github

replaced with #136


BSA attempt rate is lower than specified in the simulation setting file (ini file)

When a QNIC has more than one quantum memory, the photons are generated in batch (photon train) and the BSA would send the results back in batch. The rate at which a BSA can detect photons is specified by a parameter photon_detection_per_second in the BellStateAnalyzer.ned file, which in turns, dictates the temporal separation of the photons (wavepacket) in the train.
When the value is set to 1GHz, the actual attempt rate in the simulation is much much lower, (around 250 MHz), and is probably due to the conversion from detection per second parameter to time interval between photon (line 43).
https://github.com/sfc-aqua/quisp/blob/bd4c706fb9bef21f5bcd36f4b45ad0ec84ac849f/quisp/modules/PhysicalConnection/BSA/BSAController.cc#L42-L47

Upon further testing, the cause is line 43, and the time interval from setting 1GHz is
0.00000025801

instead of the expected value of
0.000000001


New energy articles source (Fox news)

What type of PR is this? (check all applicable)

[x] 💡 Feature
[ ] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test

Description

This PR adds a new energy articles source (Fox News).
Fixes issue

Screenshots (if appropriate)

Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[x] 🙅 no documentation needed

Accidentally closed 😃

@all-contributors please add @lukaszmielczarekdev for code


Add sepolicy for application rendering setting property

All app need the read/write authorization
to the customized property presist.vendor.intel.dGPU.*
and persist.vendor.intel.lowPir.* for rendering option.
Tracked-On: OAM-122333

one of the dependent pr cannot be Rebase and Merged; please fix the issue and commit your changes once again to run EB.

Android CI has started Engineering Build for this issue ,Please check the linked Tracked-On issue/Android CI Web  for more details.

SUCCESS: Android CI has completed Engineering Build for this issue.Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has started MERGE Build for this pr ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has completed MERGE Build for this pr, build is FAILURE. Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has started MERGE Build for this pr ,Please check the linked Tracked-On issue/Android CI Web  for more details.

Android CI has completed MERGE Build for this pr, build is SUCCESS. Please check the linked Tracked-On issue/Android CI Web  for more details. For Binaries: /cactus-absp-or-local/celadon-merge/721


Add x, y, and z labels to Euler angles

These labels help communicate that the input left to right order of rotations  does not automatically follow the selected order of rotations. It took me some time to figure this out.

Thanks for posting the first pull request.
Honestly, I have little intuition for how the Euler angle interface should be.
Contrary to the other formats, I just offered some interface for what three.js provides.
Your patch only adds labels to the input side. Should we also have labels on the output side? (Feel free to add this if you think yes.)

To me it would be more intuitive if the order of inputs from left to right would correspond to the order of rotation axes. The labels could then be 1., 2., 3. . But having the x, y, and z labels should be enough of a hint that the given rotations apply to the labelled axes, and not the axes in the rotation order.
With my PR the input boxes become a bit misaligned with the input boxes above for the other notations but I did not know how to fix this.
Yes, it would be also good to add the axes labels to the output. Let me take a look.

Again, thanks for contributing!
I would accept a patch where the order of rotation axes for Euler angles is first-second-third instead of x-y-z.
But it would need to be consisted with both input and output sides, probably using one helper function to do the swapping.
Another reason to do so is to allow "x-z-x" and other Euler angle formats.

You are welcome. How does Three deal with x-z-x output ?


Update RouteParentStatus.ControllerName Description

/kind documentation
What this PR does / why we need it:
Add additional comment explaining that this field cannot be empty or updates to status will be rejected.  It is not immediately clear otherwise from looking at the RouteParentStatus struct that this is required.
Does this PR introduce a user-facing change?:

NONE

I think you may need to commit the results of make generate before tests will pass.

Ah makes sense - added to PR

/lgtm


Oxford University Press: OSO Math display issue on new content - March updates

Editorial raise the following problem with Maths display on this OSO title on Staging2 (this is a title from the March 2016 release):
Math Issue - Blocker:
Chapter 26, math processing error for second half of page. (Chrome and IE and firefox) -
Looks like up to page 635 displays maths ok, thereafter in this chapter the display is strange or missing.
Most of the math rendering seems to be fine. However, there are some errors being reported by MathJax? (the javascript MathML renderer). I’ve run the MathML against W3C’s MathML Validator ( http://www.w3.org/Math/validator/ ) and it passes okay, so this looks like an issue with MathJax?. The error seems to be caused by MathJax? not liking the attributes on  elements in the MathML
http://oso.upso-staging2.pubfactory.com/view/10.1093/acprof:oso/9780198736912.001.0001/acprof-9780198736912-chapter-26
Could you please investigate?
Thanks,
Efi

Could you please write me an email to<EMAIL_ADDRESS>

you will need access details to reproduce the issue. Should I add screen shots?

Thanks, @Anastasiouef I'll follow up by email.


For example query1 returns [period_n]: [validator1, validator2, validator3]
query2 returns [period_n]: [validator2, validator3, validator4]
=> we should delete validator1 out of our duties, and overwrite duties for validator2, validator3, add new duties for validator4

Description

When next duties query returned, check for redundant duties and delete

Closes #3572

Why not just completely overwrite the contents of the Map on every request?

yeah that would be simpler, will do it 👍


Only parse and display a limited number of rows

Right now the CSV widget blindly parses the entire file and tries to display it. The d3 parsing library we have can parse only certain lines of a file. We should only parse and display the first N lines of a CSV file, where N is a number we play with to see where performance problems hit. Guessing that 500-1000 is a good start...

Pinging @sccolbert as this will be solved in a better way by the grid widget he is building...

While we are doing this, let's also put the table header and body in thead and tbody elements to pick up the full default table styling we are offering. Note: I am adding the needed CSS class to pick up that style in a separate PR...

I can tackle this, or the thead/tbody portion of it at least.
For the partial parsing, is this really needed for the demo? If we do it, are we actually needing to implement a virtual renderer here? I assume you'd still want to be able to scroll through the entire data set?

I checked the docs for d3, and it parses the entire file.  We can dynamically choose which of those rows to render based on scroll position, but IMO that should wait until we have a grid widget.  I think the best we can do now is set a hard limit on the number of rows and console warn if it is above a certain number.

Fixed for now in master...


Start Triggers take long time

Hi,
I noticed that each trigger need 7-10 seconds to start
2022-03-07T09:37:56.8032193Z STEP: Starting all triggers...
2022-03-07T09:37:56.8368563Z The number of triggers to start: 34
2022-03-07T09:37:56.8440656Z - Enabling trigger: Trigger_EnergyAccounts
2022-03-07T09:38:06.7243379Z - Enabling trigger: Trigger_EnergyAccountsValuesDplus2
2022-03-07T09:38:14.6076618Z - Enabling trigger: Trigger_EnergyAccountsValues_Dplus1
2022-03-07T09:38:21.6392792Z - Enabling trigger: Trigger_FifteenMinuteSchedules_D
2022-03-07T09:38:29.1591836Z - Enabling trigger: Trigger_FifteenMinuteSchedules_Dplus1
2022-03-07T09:38:37.0635166Z - Enabling trigger: Trigger_Files
2022-03-07T09:38:44.2511779Z - Enabling trigger: Trigger_Logs
2022-03-07T09:38:51.5068808Z - Enabling trigger: Trigger_MarketInfo
2022-03-07T09:38:58.7606055Z - Enabling trigger: Trigger_Nominations_DPlus1
2022-03-07T09:39:07.2418678Z - Enabling trigger: Trigger_Nominations_Dplus2
2022-03-07T09:39:14.6856809Z - Enabling trigger: Trigger_Nominations_Dplus3
2022-03-07T09:39:21.5254603Z - Enabling trigger: Trigger_Nominations_Dplus4
2022-03-07T09:39:28.5538825Z - Enabling trigger: Trigger_OffersManual_MGP_Dplus2
2022-03-07T09:39:36.2423907Z - Enabling trigger: Trigger_OffersManual_MGP_PCE_Dplus1
2022-03-07T09:39:43.3249056Z - Enabling trigger: Trigger_OffersManual_MSD_Dplus1
2022-03-07T09:39:51.3401412Z - Enabling trigger: Trigger_OffersMGP_UC_Dplus1
2022-03-07T09:39:58.4508292Z - Enabling trigger: Trigger_OffersPending
2022-03-07T09:40:06.7031972Z - Enabling trigger: Trigger_Operators
2022-03-07T09:40:15.7685895Z - Enabling trigger: Trigger_OperatorsMine
2022-03-07T09:40:25.5090866Z - Enabling trigger: Trigger_Portfolio_D
2022-03-07T09:40:42.7885277Z - Enabling trigger: Trigger_Portfolio_Dminus1
2022-03-07T09:40:51.8798989Z - Enabling trigger: Trigger_Portfolio_Dplus1
2022-03-07T09:40:59.8249339Z - Enabling trigger: Trigger_Portfolio_Dplus2
2022-03-07T09:41:08.8339975Z - Enabling trigger: Trigger_Portfolio_Dplus3
2022-03-07T09:41:16.7712883Z - Enabling trigger: Trigger_RealtimeRupDynamic_Dplus1
2022-03-07T09:41:24.5933129Z - Enabling trigger: Trigger_Topics_Dplus1
2022-03-07T09:41:32.1465659Z - Enabling trigger: Trigger_Topics_Dplus2
2022-03-07T09:41:39.7569680Z - Enabling trigger: Trigger_Units
2022-03-07T09:41:47.5738163Z - Enabling trigger: Trigger_XbidOffers
2022-03-07T09:41:54.7658884Z - Enabling trigger: Trigger_XbidUnitNomination_D
2022-03-07T09:42:03.7828249Z - Enabling trigger: Trigger_XbidUnitNomination_Dplus1
2022-03-07T09:42:11.1830245Z - Enabling trigger: Trigger_XbidWarranties_D
2022-03-07T09:42:19.0886348Z - Enabling trigger: Trigger_XbidWarranties_Dplus1
2022-03-07T09:42:27.0648016Z - Enabling trigger: Trigger_Zones
I tried to disable the functionality for start/stop triggers and use another tool to start and stop them. It takes 10 seconds to start all (I checked after the release and pipelines starts correctly)
2022-03-09T16:37:16.3980399Z Found 34 trigger(s).
2022-03-09T16:37:16.3986092Z Toggle 'Trigger_EnergyAccounts' to 'start'.
2022-03-09T16:37:16.3993954Z Toggle 'Trigger_Files' to 'start'.
2022-03-09T16:37:16.3996746Z Toggle 'Trigger_Logs' to 'start'.
2022-03-09T16:37:16.3998750Z Toggle 'Trigger_MarketInfo' to 'start'.
2022-03-09T16:37:16.4000507Z Toggle 'Trigger_Operators' to 'start'.
2022-03-09T16:37:17.5880905Z Toggle 'Trigger_OperatorsMine' to 'start'.
2022-03-09T16:37:17.6547431Z Toggle 'Trigger_Topics_Dplus1' to 'start'.
2022-03-09T16:37:17.7056067Z Toggle 'Trigger_Topics_Dplus2' to 'start'.
2022-03-09T16:37:17.8801908Z Toggle 'Trigger_Units' to 'start'.
2022-03-09T16:37:17.9849761Z Toggle 'Trigger_XbidOffers' to 'start'.
2022-03-09T16:37:18.8920115Z Toggle 'Trigger_Zones' to 'start'.
2022-03-09T16:37:19.0186087Z Toggle 'Trigger_Nominations_DPlus1' to 'start'.
2022-03-09T16:37:19.0778829Z Toggle 'Trigger_Nominations_Dplus2' to 'start'.
2022-03-09T16:37:19.2007505Z Toggle 'Trigger_Nominations_Dplus3' to 'start'.
2022-03-09T16:37:19.3377007Z Toggle 'Trigger_Nominations_Dplus4' to 'start'.
2022-03-09T16:37:20.2111807Z Toggle 'Trigger_Portfolio_D' to 'start'.
2022-03-09T16:37:20.2627879Z Toggle 'Trigger_Portfolio_Dminus1' to 'start'.
2022-03-09T16:37:20.2933496Z Toggle 'Trigger_Portfolio_Dplus1' to 'start'.
2022-03-09T16:37:20.6029506Z Toggle 'Trigger_Portfolio_Dplus2' to 'start'.
2022-03-09T16:37:20.7653271Z Toggle 'Trigger_Portfolio_Dplus3' to 'start'.
2022-03-09T16:37:21.3688525Z Toggle 'Trigger_FifteenMinuteSchedules_D' to 'start'.
2022-03-09T16:37:21.5687221Z Toggle 'Trigger_FifteenMinuteSchedules_Dplus1' to 'start'.
2022-03-09T16:37:21.7216771Z Toggle 'Trigger_XbidWarranties_D' to 'start'.
2022-03-09T16:37:22.1462882Z Toggle 'Trigger_XbidWarranties_Dplus1' to 'start'.
2022-03-09T16:37:22.2285796Z Toggle 'Trigger_XbidUnitNomination_D' to 'start'.
2022-03-09T16:37:22.6144882Z Toggle 'Trigger_XbidUnitNomination_Dplus1' to 'start'.
2022-03-09T16:37:23.0261483Z Toggle 'Trigger_RealtimeRupDynamic_Dplus1' to 'start'.
2022-03-09T16:37:23.0863467Z Toggle 'Trigger_EnergyAccountsValuesDplus2' to 'start'.
2022-03-09T16:37:23.3950181Z Toggle 'Trigger_EnergyAccountsValues_Dplus1' to 'start'.
2022-03-09T16:37:23.9494910Z Toggle 'Trigger_OffersManual_MGP_Dplus2' to 'start'.
2022-03-09T16:37:24.0180492Z Toggle 'Trigger_OffersPending' to 'start'.
2022-03-09T16:37:24.2664711Z Toggle 'Trigger_OffersMGP_UC_Dplus1' to 'start'.
2022-03-09T16:37:24.5107313Z Toggle 'Trigger_OffersManual_MGP_PCE_Dplus1' to 'start'.
2022-03-09T16:37:24.7667485Z Toggle 'Trigger_OffersManual_MSD_Dplus1' to 'start'.
2022-03-09T16:37:26.0055594Z ##[section]Finishing: Toggle trigger(s) in $(arm.AdfName) Start
Apologies the question but is there a reason why your tool take too much to restart triggers?
Thanks
Fabio

Hi Fabio,
I think the main difference is due to the way how the request is being raised.
In this tool (#adftools) it sends requests and waits for confirmation before moving on (sync method).
The other tool (I guess it is Jan Pieter Posthuma's tool ) does it asynchronously, which is obviously faster, but you don't know whether the action fails or completes successfully.
I will consider adding an additional option (sync/async switch) to the method of Publish-ADF, Start, Stop-Triggers.


Left pad let to infinite for loop

https://github.com/rancher/rancher/issues/7926
https://github.com/rancher/rancher/issues/7983
There is a function for leftpadding hostnames with 0s, in case my first host is host001, so next clones would be host002, host003 and so on.
func leftPad(str, pad string, length int) string {
	for {
		if len(str) == length {
			return str[0:length]
		}
		str = pad + str
	}
}

before calling this, the suffix for clone was being calculated by incrementing highest suffix so far by one. This new suffix was passed as str,  length of the currently present clone's suffix was passed as length and pad was just 0.
So if my current host from scaling group with highest suffix is dev9, the current suffix would be 9. So then str would be strings.Itoa(9+1)=10, and length would be len(suffix)=len('9') which is one.
So in the for loop, condition if len(str) == length would never be true since len('10') > len('9') always, thus resulting in infinite for loop and high CPU util.
Changed the for loop to this:
for {
		if len(str) >= length {
			return str[0:len(str)]
		}
		str = pad + str
	}

I checked this manually,

Created host dev8 and scaled it up by 11 without webhook-service hanging.
Created host host01 and scaled up by 11 without webhook-service hanging.
Created host test and scaled up.
Works for cases when suffix provided, has left padding with 0s or is not provided
This won't get stuck infinitely, because whenever length of new clone is equal or greater than previous one it'll return, and the condition of len(str) < length would never arise since str is calculated by incrementing highest suffix so far

LGTM


clean_formatting doesn't handle line breaks correctly

With this file as test.txt
okay
yeah
okay

I get this as an output
okayyeahokay

Interesting. What version are you using?


Adding env level details to CSV and JSON loaders

Extending the CSV and JSON loaders to include environment level details for metrics, to better align with the API responses and allow for more detailed dashboarding

MUnits passing and coverage remaining at 98.29%


v3.0.1 testing

I've pushed a pre-release npm i ts-toolbelt@next --save with the following changes:
Breaking changes:

Removed N.Clamp
All types returning boolean now return 0 | 1 (still need to update the docs)
Boolean (B) now only accepts 0 | 1 as a boolean with possibility to transform to a real boolean with Fmt

Changes:

Increased computation speed
Removed excess extends
Integrated Boolean internally
Fixed buggy type distribution

I've removed a lot of <x> extends infer X so you might encounter "type instantiation is excessively deep..." when combining types together, but I haven't encountered any in the tests though. If necessary, I'll write more tests.
I would appreciate if you can install the next version and give me your feedback :smiley:
Thanks,
(@regevbr)

@pirix-gh glad to - will keep you posted

@pirix-gh looks good for now! nothing breaks for my projects so far

@pirix-gh got a new too deep error:
import { Object, Any, Union } from 'ts-toolbelt';
export declare function getProp<O extends object, P extends string[]>(obj: Union.Nullable<O>, ...keys: Any.Cast<P, Object.PathValid<O, P>>): Object.Path<O, P> | undefined;

then when using it:
getProp(booking, 'props', 'personalInfo'); // Error:(290, 26) TS2589: Type instantiation is excessively deep and possibly infinite.

And it doesn't happen with 2.1.5

Thank you, I'm going to have a look, I invite you to switch back to the other version until further notice. This is from all the infers I've removed.

@regevbr can you post me the type of booking ? I don't get errors with my tests.

@pirix-gh it is very complicated and spread over a few files and also kind of sensitive :-)
Let me see if I can reproduce it with a different type.
The weired thing is it only happens on webstorm itself, but not when I run tsc... Can you explain it? They are both using the same typescript version

Strange now it disappeared... No clue what is going on

I use VSCode, I got tired of the slow IntelliJ... But anyway, this also happened to me. I suggest deleting your node_modules as TS stores it's cache. Just yesterday, I was working on the new update and everything seemed to work fine... till I removed the cache (of 150MB) then I realised 100 tests were not passing :anger:
Hope it solves your problem

I guess that what got it solved in the first place...
I'm planning on moving to VSCode for a long time now but my entire project management is based on YouTrack and the current plugin for VSCode just doesn't do the trick for me.


git create org/ to create within the org with the current directory's name

It would be nice if git create github/ created the repo in the GH org, but kept the behavior of using the current directory's name.

How about git create -o github instead, to create the repo named after the current directory under the org specified by -o|--org flag?


Type TXT, order irelevant

If a domain have 2 TXT-records, and one server returns them in one order, and the 2nd one return them in another order, they should still be ok?
Or are there a reason they are marked as missmatched?

There was one char different in one of the lines, so it should be a miss-match, but the output could be better, like:

indent all lines equally, so they are comparable, of the two lines I needed to compare, only one of them hade a prefix " Received:  ", so they one without a prefix was 12 chars off.
if some of the rows are identical, hide them or otherwise mark them as uninteresting.


Introduction to EnemyType Slimeball

Contributing a new enemy type to open source.

Hi, before I merge this, the etSlimeball case must be added to the Game::SetEnemy() method.

I am pretty sure that should work.  What am I not seeing here?

You also need to include the slimeball header file in EnemyTypes.h, sorry I didn't notice that originally

Thanks for contributing!


Sales return

[x] Crud
[x] Preferences
IN CREATION SCREEN
[x] Show credit note voucher number and transaction type column with drop down (others, nominal supply, export, summary).
[x] Remove payment terms and due date, expected delivery date in creation screen.
[x]  Show invoice date below of invoice selection drop down at the time of choosing invoice.
[x] Reason keep as non mandatory fields.
IN DETAILED VIEW
[x] In draft stage: 1.Refund only after working approval need buttons in popup
[x] Buttons in clone (submit button rename to save as draft)
[x] comments and history section.
[x] show submit by user name in detailed screen.
[x] In clone function selected invoice will be blank.
[x] In pending for approval stage: 1. in edit- remove save and submit button.
[x] In approved stage: 1. need apply to invoices option 2. convert to draft 3. show approved by user name and option to se approver's details. 4. send sales return. (after sent status changed to open) 5.buttons in edit: save, save as open.
[x] In rejected stage 1.  buttons in edit: save, save and submit
[x] In open stage: 1. buttons in edit: save.
[x] In void: 1. convert to draft. 2. no need send mail option.
[x] New button in invoice listing in detailed view
IN LISTING VIEW
[x] Sort by function
[x] Path to preferences
[x] Path to manage custom fields
[x] Need more columns in listing
[x] Custom field creation

completed


[Feature Request] use tsup bundle. make cz-git independent | static dependencies

💭 Describe the feature
Lightweight Feature

use tsup bundle. make cz-git independent | static dependencies
npm install only one package

💡 Proposed Solution

[x] turn cz-git dependencies to devDependencies

$ npm i -D cz-git

+<EMAIL_ADDRESS>added 1 package from 1 contributor and audited 1 package in 0.611s

$ du -sh ./node_modules
5.6M	./node_modules/cz-git/


[FLINK-29430] Add sanity check when setCurrentKeyGroupIndex

What is the purpose of the change
Currently the HeapStateBackend check whether the current key group index is a valid one while the RocksDBStateBackend will not.
This PR do this check in InternalKeyContextImpl#setCurrentKeyGroupIndex, to expose the data correctness problem immediately when using RocksDB as well as heap.
Brief change log

Add the checking logic in InternalKeyContextImpl#setCurrentKeyGroupIndex.
Add a test for the new logic.
Change some test code in CoBroadcastWithKeyedOperatorTest, since it fails after adding the check.

Verifying this change
This change added a new test class InternalKeyContextImplTest.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving):no
The serializers: no
The runtime per-record code paths (performance sensitive): yes
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

@rkhachatryan @Myasuka Would you please take a look?

Thanks for your detailed review @rkhachatryan . I have updated the PR, would you please take another look? Thanks.


changing distribution group is not supported

Node Version 10.16.1
appcenter Version 2.2.1
appcenter distribute release --file [omitted].apk --group [omitted] --app [omitted] --debug
Debug Logs
| Finishing release upload...Response status code: 200
| Updating release details...logFilter, request: {
  "rawResponse": false,
  "queryString": {},
  "url": "[omitted]",
  "method": "PUT",
  "headers": {
    "Content-Type": "application/json; charset=utf-8",
    "user-agent": "appcenterCli/2.1.1 NodeJS/v10.16.1 darwin/18.7.0",
    "x-api-token": "[omitted]"
  },
  "body": null
}
- Updating release details...Response status code: 400
Body: {"status":400,"name":"Error","message":"Missing required body parameter \"body\""}
Error: changing distribution group is not supported```

I spent 3 hours today with this same thing. The error message is just wrong. Went through their swagger documentation and realized they have made the "Release notes" mandatory. So basically if you ran your command appcenter distribute release --file [omitted].apk --group [omitted] --app [omitted] --debug **-r "Release notes mandatory"**, it will work. The missing required body parameter that they have mentioned is the "release notes"

Hi there!
Sorry to hear that you've spent so much time because of this.
The release notes are not required (except for Apple's App Store). What happened is that the API was misbehaving for a while, it has now been reverted to its normal working state. I will close this ticket (and #681) as this is not actually a problem in the CLI.
Best regards.

just noticed in my case when adding the --debug flag to identify any errors I do have a completely unrelated issue which seems fixable but the error message you get doesn't provide you the correct insights:
{"code":"two_factor_authentication_error","message":"Error in fetching the Apple service connection details for managing devices. apple connection is not valid for connectionId: 39bed04f-bce6-4128-bb85-9ccf00c23cdf"}


Correction for raw affiliation Univ. Rennes, CNRS, ISCR – UMR 6226, F-35000 Rennes, France

Correction needed for raw affiliation Univ. Rennes, CNRS, ISCR – UMR 6226, F-35000 Rennes, France
raw_affiliation_name: Univ. Rennes, CNRS, ISCR – UMR 6226, F-35000 Rennes, France
new_rors: 015m7wh34;02feahw73;00adwkx90
previous_rors: 015m7wh34;02feahw73
works_examples: W4362636010;W4361292518;W4386710781;W4388912751
contact: a3d39d491d51996a2d149808fe33402a:bf1f7f4e402405b93aa4b45e2b4bda42 @ univ-rennes.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


I”m getting an error on facebook login “This authorization code has been used”, google “invalid_grant”

Steps to reproduce
https://blog.feathersjs.com/how-to-setup-oauth-flow-with-featherjs-522bdecb10a8
Hi!
I”m getting an error on facebook login “This authorization code has been used”, google “invalid_grant”
any clues? I”m running server on localhost:3030 client on localhost:3000
Expected behavior
after clicking my account on redirected google/facebook signin page it should redirect to localhost:3000 with authentication.
Actual behavior
after clicking my account on redirected google/facebook signin page it just waits for long and returns wrong response.
System configuration
Module versions (especially the part that's not working):
"@feathersjs/authentication": "^2.0.1",
"@feathersjs/authentication-jwt": "^2.0.0",
"@feathersjs/authentication-local": "^1.0.2",
"@feathersjs/authentication-oauth2": "^1.2.2",
"@feathersjs/configuration": "^1.0.1",
"@feathersjs/errors": "^3.2.0",
"@feathersjs/express": "^1.1.2",
"@feathersjs/feathers": "^3.0.2",
"@feathersjs/socketio": "^3.0.1",
"compression": "^1.7.1",
"cors": "^2.8.4",
"feathers-mongoose": "^6.1.4",
"feathers-sync": "^1.0.3",
"helmet": "^3.9.0",
"mongoose": "^5.2.13",
"passport-facebook": "^2.1.1",
"passport-google-oauth2": "^0.1.6",
"serve-favicon": "^2.4.5",
"winston": "^3.0.0"
NodeJS version:  v9.11.1
Operating System: mac os
Browser Version: chrome
React Native Version:
Module Loader:

Duplicate of https://github.com/feathersjs/feathers/issues/998


neopixels WS2812B PWM source reads one byte beyond the end of the data

In https://github.com/lancaster-university/codal-nrf52/blob/master/source/WS2812B.cpp#L97
The second comparison should be >=.
samplesToSend = length * 8, where length is the number of bytes pointed to by data.
When samplesSent == WS2812B_ZERO_PADDING + samplesToSend,
index = (WS2812B_ZERO_PADDING + samplesToSend - WS2812B_ZERO_PADDING) / 8 = samplesToSend / 8 = length,
and data[ length] is outside the array.
https://github.com/lancaster-university/codal-nrf52/blob/master/source/WS2812B.cpp#L172
    this->samplesToSend = length * 8;
    this->samplesSent = 0;

https://github.com/lancaster-university/codal-nrf52/blob/master/source/WS2812B.cpp#L97
        if (samplesSent < WS2812B_ZERO_PADDING || samplesSent > (WS2812B_ZERO_PADDING + samplesToSend))
        {
            *out = WS2812B_PAD;
        }
        else
        {
            int index = (samplesSent - WS2812B_ZERO_PADDING) / 8;
            int bit = (samplesSent - WS2812B_ZERO_PADDING) % 8;

            *out = ((data[index] >> (7-bit)) & 1) ? WS2812B_HIGH : WS2812B_LOW;
        }

@finneyj to take a look.

Thanks @microbit-carlos  @martinwork.
I think you're right that it might be an off by one condition there. The memory write is guarded by the outer loop though: https://github.com/lancaster-university/codal-nrf52/blob/master/source/WS2812B.cpp#L91, which guarantees the write operations are always within the range of the associated ManagedBuffer.
As the code is safe, and we haven't had any report of any bugs around the code, I'd propose no change.

Sorry, I should have thought in the first place to add some trace to confirm what happens. Reading the next byte after the data changes just the first post data padding value to a high or low. Maybe this doesn't actually matter to the WS2812B, given the amount of padding!
Here's an attempt to write (0,0,0) to a single pixel, with a 255 added after the 3 data bytes. The buffer values are masked with &= ~0x8000.
With >
length 3 samplesToSend 24
data 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255
buffer 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

data
buffer 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

With >=
length 3 samplesToSend 24
data 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
buffer 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

data
buffer 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

neopixels-buffer.zip


Custom property based theming

Replaces the theme property (which only supported two hard-coded themes), with a pure custom property based system with all standard CodeMirror themes included.
Try it out at https://polymerlabs.github.io/playground-elements/?theme=ayu-mirage

Adds CSS Custom Properties for configuring the CodeMirror theme.
Includes broad properties like --playground-code-background and
--playground-selection-color, as well as token-specific properties like
--playground-code-keyword-color and --playground-code-string-color.

Adds themes/ directory which includes CSS files and JS modules for each of
the standard CodeMirror themes, adapted to use CSS Custom Properties. These
files are generated using a playwright script that tests each stylesheet against
some mock CodeMirror DOM.
To load a theme, load its stylesheet into your document or shadow root scope,
and set the corresponding playground-theme-NAME class on any playground
element or ancestor.
In HTML:
<head>
  <link
    rel="stylesheet"
    href="/node_modules/playground-elements/themes/mbo.css"
  />
</head>

<body class="playground-theme-mbo">
  <playground-ide></playground-ide>
</body>

In a LitElement:
import mbo from 'playground-elements/themes/mbo.css.js';
class MyElement extends LitElement {
  static styles = [mbo, css`...`];
  render() {
    return `
      <playground-ide class="playground-theme-mbo">
      </playground-ide>
    `;
  }
}

Here's an example of a generated theme (34 properties):
.playground-theme-ayu-mirage {
  --playground-code-background: rgb(31, 36, 48);
  --playground-code-color: rgb(203, 204, 198);
  --playground-code-cursor-color: rgb(255, 204, 102);
  --playground-code-selected-background: rgb(52, 69, 90);
  --playground-code-focused-selected-background: rgb(52, 69, 90);
  --playground-code-activeline-background: rgb(25, 30, 42);
  --playground-code-selection-background: rgb(52, 69, 90);
  --playground-code-gutter-background: rgb(31, 36, 48);
  --playground-code-gutter-border-right: 0px;
  --playground-code-linenumber-color: rgb(61, 66, 77);
  --playground-code-atom-color: rgb(174, 129, 255);
  --playground-code-attribute-color: rgb(255, 213, 128);
  --playground-code-bracket-color: rgb(92, 207, 230);
  --playground-code-builtin-color: rgb(255, 204, 102);
  --playground-code-comment-color: rgb(92, 103, 115);
  --playground-code-def-color: rgb(255, 213, 128);
  --playground-code-error-color: rgb(255, 51, 51);
  --playground-code-header-color: rgb(186, 230, 126);
  --playground-code-hr-color: rgb(203, 204, 198);
  --playground-code-keyword-color: rgb(255, 167, 89);
  --playground-code-link-color: rgb(92, 207, 230);
  --playground-code-meta-color: rgb(203, 204, 198);
  --playground-code-number-color: rgb(255, 204, 102);
  --playground-code-operator-color: rgb(203, 204, 198);
  --playground-code-property-color: rgb(242, 158, 116);
  --playground-code-qualifier-color: rgb(203, 204, 198);
  --playground-code-quote-color: rgb(203, 204, 198);
  --playground-code-string-color: rgb(186, 230, 126);
  --playground-code-string-2-color: rgb(203, 204, 198);
  --playground-code-tag-color: rgb(92, 207, 230);
  --playground-code-type-color: rgb(255, 167, 89);
  --playground-code-variable-color: rgb(203, 204, 198);
  --playground-code-variable-2-color: rgb(242, 135, 121);
  --playground-code-variable-3-color: rgb(92, 207, 230)
}

spicy!

On custom props vs theme: Are we afraid of reaching this supposed css custom prop performance threshold that Dan keeps warning me that youtube reached? In MWC we use custom props because it makes it easier to maintain with the one version policy. If this ends up living only externally, would it be worth weighing this contribution to that perf threshold?

On custom props vs theme: Are we afraid of reaching this supposed css custom prop performance threshold that Dan keeps warning me that youtube reached? In MWC we use custom props because it makes it easier to maintain with the one version policy. If this ends up living only externally, would it be worth weighing this contribution to that perf threshold?

Maybe? I'm a little skeptical that ~30 properties could cause a problem (especially as a proportion of all the other work this component already does), but I guess only a benchmark could really tell us.
I did shrink the number of properties to ~34 to ~26 by finding some that weren't actually being used by our particular highlighters, and collapsing a few selection related ones into a single property. There are a few more token classes that we could potentially collapse (e.g. meta which is only used for <!doctype html> in HTML, and qualifier which is only used for .class selectors in CSS).
I added documentation of all these properties in the README, with examples in each language.


Awaiting channel

Strange behavior if I set nbChannelsPerNode=1, occupy this channel by slow query and then send several fast queries:
several fast queries fail (No active channel ...), several executed successfully
And everything happens after slow query completed

Which is coherent, if no channel is available in the pool, it fail. Alternative would be to queue request.

@eugeneatnezasa unless you've remove the failover, this is used to retry (and possibly succeed).

sorry, it was a mistake with approval (mixed up multiple github windows)

@cchantep I approved twice this PR by mistake (wrong window). Just notifying

@eugeneatnezasa You're free to approve if it's ok for you ;-)


deserialize fix for not-known Ethernet types

For Ethernet types not in Ethernet.etherTypeClassMap, the deserialization would set the payload to the whole data array (including the mac addresses and eth type) instead of the rest of the data array.
For example, this would fail to print:
Ethernet l2 = new Ethernet();
l2.setEtherType(EthType.of(65535)); // some type
l2.setSourceMACAddress(MacAddress.of("00:00:00:00:00:01"));
l2.setDestinationMACAddress(MacAddress.BROADCAST);
Data packetData = new Data();
packetData.setData("some string".getBytes());
l2.setPayload(packetData);
byte[] l2bytes = l2.serialize();
Ethernet l2d = new Ethernet();
l2d.deserialize(l2bytes, 0, l2bytes.length);
Data packetDataDeserialized = (Data) l2d.getPayload();
// printing "new String(packetDataDeserialized.getData())" gives "?????"
I ran the JUnit tests in floodlightcontroller.core.internal, floodlightcontroller.core.test and floodlightcontroller.packet. Are there any more relevant tests?

@AndreMantas Thanks! I appreciate it!


preflight migrate-identity fixes (again)

There are some small fixes:

Always use ClusterFirst DNS policy for preflight: This came up because when etcd.managed=true the etc-operator daemonset is also included in the output yaml, but that yaml is expected to only be the preflight daemonset. The risk here is that a etcd-operator was tweaked in some way and running this yaml would overwrite it.
The dependency here was on how DNS lookups worked. The preflight pod is on host networking but it needs to lookup the etcd service. This was enabled by etcd.managed=true. It is now always true.
Fix deadlock in cilium preflight on etcd timeout: In some cases, when the etcd config wasn't actually correct, we would deadlock on a ListAndWatch call. This function is blocking but I was calling it inline. embarrassing.
cilium preflight uses cilium RBAC role: https://github.com/cilium/cilium/pull/8848 (merged just this morning!) added a new role for preflight. It is replaced by directly using the cilium role. In my testing this didn't work but aanm helped me figure it out :)

[fixes https://github.com/cilium/cilium/pull/8848]
[fixes 238ae5b]
[fixes 7227d45]

This change is

test-docs-please

test-me-please

test-docs-please

test-me-please

Coverage decreased (-0.02%) to 44.16% when pulling 4bd8a2e1241698d547b9a3c719ca6db2536aa7d2 on raybejjani:migrate-rbac into a71ceb65ca455253f665c878cbc1cfca48dc7813 on cilium:master.


http: changing the default order of filter chain creation

Moving filter chain creation after route selection.
This allows for per-route websocket filter chains as well as generic per-route filter chains
@mattklein123 I may have stumbled into some yak shaving on #4921 but either we opt a whole HCM into websocket and then disable on a per-route basis, or I do a change I'd been wanting to do anyway for the dynamic filter chains we discussed, and make it so we can do filter chain creation after route selection.
This turned out to be harder than I'd hoped.  I naively tried to move route selection earlier, but we can't really move it ahead of a bunch of the sanity checks for complete headers, keep-alive, head checking etc.  Next I looked at moving filter chain creation later but that lost us access logging for a whole bunch of error cases which I'd hate to do.  This pass preserves the existing behavior for as many paths as possible by adding a bit of complexity.  I think it's the way to go but I'd like your take before I go comment it up and fix up all the mocks in the unit tests.
I lean away from special-casing the overload path but I wanted to give @eziskind a chance to weigh in so special cased it for now with a comment about the pros and cons.
Risk Level: High as high can be.
Testing: Unit tests not working yet.  Integration tests pass.
Docs Changes: No
Release Notes: Not yet added
Part of #4921

Marking as waiting.
/wait

What I was looking at was the hcm tests, which call addAccessLogHandler when filters are created.  As far as I can tell addAccessLogHandler isn't called anywhere else?  So if someone is calling addAccessLogHandler in their filter stack and we don't instantiate filters in common error conditions wouldn't that behavioral change cause problems for them?

So if someone is calling addAccessLogHandler in their filter stack and we don't instantiate filters in common error conditions wouldn't that behavioral change cause problems for them?

Ah yes, I had forgotten that we even had this capability. TBH I think it's very rare that people are doing custom access logging in this way, but it's definitely true that it would cause problems for them if we delay filter creation in this way. One thought here that would be a bunch more work would be to split out allowing extensions to install custom access log handlers vs. actually creating the filter stack? Then you could keep the access log hook where it is (stream creation) but delay the actual filter stack creation? I think this is the "best" and most correct option but not sure if it's worth the extra effort?

I think we could split out the creation/registration of access log handlers, and it'd fit better the Envoy pluggable interface model, but I wonder if there's anything else that folks might be doing on filter creation they'd prefer to do for all requests that have headers?  Basically not creating headers for the various early response cases is a major enough change I am pretty wary of doing it, even if we already have a ton of cases that nghttp2/http_parser already do it for us

I think we could split out the creation/registration of access log handlers, and it'd fit better the Envoy pluggable interface model, but I wonder if there's anything else that folks might be doing on filter creation they'd prefer to do for all requests that have headers? Basically not creating headers for the various early response cases is a major enough change I am pretty wary of doing it, even if we already have a ton of cases that nghttp2/http_parser already do it for us

Yeah that's a good point. I'm torn here. On one hand I do think splitting out access log helper creation is the right thing to do (especially once we start thinking about internal redirects), but on the other hand I think what you have now also makes sense and is a small semantic change. @envoyproxy/maintainers any other opinions here?

Given no one has weighted in I'm going to go with what I have.  Tests and comments cleaned up.

pinging @itayd - these are probably the same as repokitteh errors reported on other PRs but I figure more information can't hurt :-)

Huh, @lizan, I had 2 runs of failed clang-tidy* before giving up and running locally, to fix the error on a nearby line of code.  Anything we can do offhand about proximity errors or CI timing out on tidy failure?

Running clang-tidy-diff against master branch...
From https://github.com/envoyproxy/envoy

branch            master     -> FETCH_HEAD
32935 warnings generated.
62503 warnings generated.
disk space at end of build:
Filesystem      Size  Used Avail Use% Mounted on
none            826G  112G  714G  14% /
tmpfs            35G     0   35G   0% /dev
tmpfs            35G     0   35G   0% /sys/fs/cgroup
/dev/nvme1n1    826G  112G  714G  14% /etc/hosts
shm              30G     0   30G   0% /dev/shm
udev             35G   12K   35G   1% /dev/tty
tmpfs            35G     0   35G   0% /sys/firmware
ci/build_setup.sh: line 111:   197 Hangup                  ./run_clang_tidy.sh
Too long with no output (exceeded 10m0s)

Moving filter chain creation after route selection.
This allows for per-route websocket filter chains as well as generic per-route filter chains
This implementation preserves the existing behavior for as many paths as possible by adding a bit of complexity, including special-casing the overload path.
Risk Level: High as high can be.
Testing: Unit tests not working yet. Integration tests pass.
Docs Changes: No
Release Notes: Not yet added
Part of #4921


fix: depends on libsqlite3-dev

Add installation of libsqlite3-dev package to Dockerfile

Merged as 1f7d0d89ef5c56e77ef0c2a2366d267961b11009. Thanks, @dscottboggs :+1:


Error translate

Describe the Bug
I also suggest adding translations of the color names in the code editor.

Also, when creating a new page, the wrong translation clearly appeared here.

Steps to Reproduce

Expected Behaviour

Screenshots or Additional Context
No response
Browser Details
No response
Exact BookStack Version
22.06
PHP Version
No response
Hosting Environment

Thanks @Statium,
I've now simply removed text labels from the color grids.
The page create activity text was correct in English so is likely a translation side issue, although I noticed this was updated shortly after this issue was opened.


Add allow option in style-prop-object

Since #1819 went idle, I decided to fix it in a new Pull request.

Please do not create duplicate PRs - if the PR isn't updated by its creator, then it simply won't ever be merged.


contrib: add a goto basedir function

This way if the script is not executed from the git directory we jump
into it, do our stuff and then go back to the dir where the user was.
Signed-off-by: Sébastien Han<EMAIL_ADDRESS>

This looks OK to me


Update marketplace-publishers-guide.md

Add MPN Id as required for becoming a publisher .
Adjust comments to make DevCenter required only for Transact offers.

@nunocms : Thanks for your contribution! The author, @ellacroi, has been notified to review your proposed change.

#sign-off

@nunocms: I'm sorry - only the author of this article, @ellacroi, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off

@nunocms : Thanks for your contribution! The author, @ellacroi, has been notified to review your proposed change.

#sign-off


Testing decryptFRAM

Hi,
In Libre2.swift, you provide encrypted test example for Libre 2. For example,
enum Example2 {
        static let sensorInfo: [UInt8] = [0x9D, 0x08, 0x30, 0x01, 0x76, 0x25]

        static let sensorId: [UInt8] = [0xDF, 0x20, 0xBE, 0x00, 0x00, 0xA4, 0x07
, 0xE0]

        static let buffer: [UInt8] = [
            0x52, 0x0B, 0xF3, 0x44, 0xDC, 0xA0, 0x43, 0x21,
            0xCC, 0x7D, 0xD7, 0x4E, 0x29, 0xE2, 0x82, 0xE3,

Is it possible that you supply the expected output of decryptFRAM for that? Would help ensure your code does not have regression, and that my own code (writing a Python version of decryptFRAM) works :=)
Thanks,

don't worry too much, I figured it out :+1:  but it might be helpful to you indeed to include the decryption and test against it.

Hi
Since I am busy porting this part of LibreTools to Kotlin, it would be great to have a confirmed correct expected output.
Thanks in advance!

This is what I'm getting:
ID2: [223, 32, 190, 0, 0, 164, 7, 224]
ID2: df20be0000a407e0
Info2: [157, 8, 48, 1, 118, 37]
Info2: 9d0830017625
Data in: 520bf344dca04321cc7dd74e29e282e3e704c9cf6c572c7da88210aad73219b3c79f395fe37a4508b709bc6efada3407b46568607ea504e665654813f89ca7c870a74d9d523586f202cc9b9b7432ffc5bfe9781f46c2c70b0fb0c85423e20d449744368fac12ae4a6ce137e2462b5c741b7afe674fccdd951773b325e9aba65e70e46cce568db9e5feaa503652d2c5222439d863086204adfa89001072cfa9f3474bf57096f28acaffefa39e1aec9f4a2fe8a9cae6c8744698b2a29e8df0af09c15b52597e00d33f59417b33eedb4051b23d9482f3b2e4caad3cd8c0d7d74c51caa3ad2624ab10ba6135e17f3d3fecb4cfe3a2316ae7d73618215b435a9c757c89e2496cb1716a476e8ae5b2c537e9e5ddb31237957ad01f73ebb815f1e65d51fb1688a69c17b0400ebbd7ca9dcd8b60888854fc657143e751e218ea631d5baad1d3d708b7ed87c4b42431e7a0e6595193fda3e6bfe1f209
Data out: 815a101c030000000000000000000000000000000000000008da0213480500849600430500b896008305005c96008305005c96007505006496006d05005c960072050068d6007d05005c96007705005096006b05004096006105003896006905083696006505003496005105002496004b05003496004e0500509600c30700849600210800d4d500f10600d496006f0500ec9600890500149900950500c89800d505088698007106083298009b06008c5800d00600585800a80600249800b605002898001705000c9800f10400dc97005805003458009d05005897008f0500d496008a05008c96005805003496000e04089e5800c303000098007a0400189700f80400c89700420400409800150400649800710400fc97007104005097002f04083e58008604082a9800c10408c657009e06006097002c0700309700620c010071c63001ca091751140396805a00cda618a31a0000b2c860


x/tools/godoc/vfs: path separator character(s) in FileSystem, Opener interfaces is not specified

Problem
Documentation for net/http.FileSystem reads:

A FileSystem implements access to a collection of named files. The elements in a file path are separated by slash ('/', U+002F) characters, regardless of host operating system convention.

However, the FileSystem interface in golang.org/x/tools/godoc/vfs does not clearly specify what the path separator character is expected or allowed to be:

The FileSystem interface specifies the methods godoc is using to access the file system for which it serves documentation.

Edit: vfs.Opener interface is affected too:

Opener is a minimal virtual filesystem that can only open regular files.

We need to document it so this is clear to the users and implementors of the interfaces.
Proposed Resolution
Following logic, I expect that it has to be slash, regardless of host OS conventions, since it's meant to be a virtual filesystem that works across platform boundaries, just like http.FileSystem. (Of course, implementations may use non-slash separator paths to access underlying physical filesystems.)
Applying NeedsDecision label because I want someone else to confirm my reasoning that this is a documentation bug and that we must specify / as the only allowed path separator element. /cc @andybons @bradfitz

Actually, in the vfs.OS documentation, it says:

... because the slash-separated path passed to Open ...

Which implies that the paths are indeed slash-separated (at least to Open, but presumably that applies to all other methods). But this is very indirect and hard to spot.

I'll decide here that my analysis was right and this documentation issue needs to be fixed.
/cc @jayconrod FYI.

is this still relevant?

This issue is still valid and relevant to the package, but the package itself is probably less relevant now that io/fs exists. It should probably be deprecated in favor of that as part of #59056.


兼容 Rails 3

问题描述
Rails Version: 3.2.2
WeixinRailsMiddleware Version: 1.3.2
在 Rails 3 下，请求 weixin_server / weixin_reply 路由时，发生模板缺失错误
异常栈
Started GET "/weixin/gRUxi7molUMFG1AwXFDxZe6DL2BHAKGB?signature=34d7ce4bf1d7cc748d1590188e1c30f40bb432ae&echostr=6508565465004900319&timestamp=1520301017&nonce=1847195940" for <IP_ADDRESS> at 2018-03-06 09:50:18 +0800
Processing by WechatController#index as */*
  Parameters: {"signature"=>"34d7ce4bf1d7cc748d1590188e1c30f40bb432ae", "echostr"=>"6508565465004900319", "timestamp"=>"1520301017", "nonce"=>"1847195940", "weixin_secret_key"=>"gRUxi7molUMFG1AwXFDxZe6DL2BHAKGB"}
Completed 500 Internal Server Error in 27.0ms

ActionView::MissingTemplate - Missing template wechat/index, weixin_rails_middleware/weixin/index with {:locale=>[:en, :"zh-CN"], :formats=>[:html, :text, :js, :css, :ics, :csv, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip, :mobile, :diff, :patch], :handlers=>[:erb, :builder, :coffee, :haml]}. Searched in:
  * "/home/jinhu/Repos/gitee/gitlab/app/views"
  * "/home/jinhu/.rvm/gems/ruby-2.1.9/gems/xray-rails-0.3.1/app/views"
  * "/home/jinhu/.rvm/gems/ruby-2.1.9/bundler/gems/kaminari-4d236ae3736a/app/views"
  * "/home/jinhu/.rvm/gems/ruby-2.1.9/gems/doorkeeper-2.2.1/app/views"
  * "/home/jinhu/.rvm/gems/ruby-2.1.9/gems/devise-2.2.8/app/views"
:
  (gem) actionpack-3.2.22/lib/action_view/template/error.rb:46:in `initialize'
  (gem) actionpack-3.2.22/lib/action_view/path_set.rb:58:in `find'
  (gem) actionpack-3.2.22/lib/action_view/lookup_context.rb:122:in `find'
  (gem) actionpack-3.2.22/lib/action_view/renderer/abstract_renderer.rb:3:in `find_template'
  (gem) actionpack-3.2.22/lib/action_view/renderer/template_renderer.rb:34:in `determine_template'
  (gem) actionpack-3.2.22/lib/action_view/renderer/template_renderer.rb:10:in `render'
  (gem) actionpack-3.2.22/lib/action_view/renderer/renderer.rb:36:in `render_template'
  (gem) actionpack-3.2.22/lib/action_view/renderer/renderer.rb:17:in `render'
  (gem) actionpack-3.2.22/lib/abstract_controller/rendering.rb:110:in `_render_template'
  (gem) actionpack-3.2.22/lib/action_controller/metal/streaming.rb:225:in `_render_template'
  (gem) actionpack-3.2.22/lib/abstract_controller/rendering.rb:103:in `render_to_body'
  (gem) actionpack-3.2.22/lib/action_controller/metal/renderers.rb:28:in `render_to_body'
  (gem) actionpack-3.2.22/lib/action_controller/metal/compatibility.rb:50:in `render_to_body'
  (gem) actionpack-3.2.22/lib/abstract_controller/rendering.rb:88:in `render'
  (gem) actionpack-3.2.22/lib/action_controller/metal/rendering.rb:16:in `render'
  (gem) actionpack-3.2.22/lib/action_controller/metal/instrumentation.rb:40:in `block (2 levels) in render'
  (gem) activesupport-3.2.22/lib/active_support/core_ext/benchmark.rb:5:in `block in ms'
  /home/jinhu/.rvm/rubies/ruby-2.1.9/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
  (gem) activesupport-3.2.22/lib/active_support/core_ext/benchmark.rb:5:in `ms'
  (gem) actionpack-3.2.22/lib/action_controller/metal/instrumentation.rb:40:in `block in render'
  (gem) actionpack-3.2.22/lib/action_controller/metal/instrumentation.rb:83:in `cleanup_view_runtime'
  (gem) activerecord-3.2.22/lib/active_record/railties/controller_runtime.rb:24:in `cleanup_view_runtime'
  (gem) actionpack-3.2.22/lib/action_controller/metal/instrumentation.rb:39:in `render'
  (gem) weixin_rails_middleware-1.3.2/app/controllers/weixin_rails_middleware/weixin_controller.rb:34:in `check_weixin_legality'
  (gem) activesupport-3.2.22/lib/active_support/callbacks.rb:429:in `_run__2952409497157519699__process_action__942689586656842624__callbacks'
  (gem) activesupport-3.2.22/lib/active_support/callbacks.rb:405:in `__run_callback'
  (gem) activesupport-3.2.22/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
  (gem) activesupport-3.2.22/lib/active_support/callbacks.rb:81:in `run_callbacks'
  (gem) actionpack-3.2.22/lib/abstract_controller/callbacks.rb:17:in `process_action'
  (gem) actionpack-3.2.22/lib/action_controller/metal/rescue.rb:29:in `process_action'
  (gem) actionpack-3.2.22/lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
  (gem) activesupport-3.2.22/lib/active_support/notifications.rb:123:in `block in instrument'
  (gem) activesupport-3.2.22/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  (gem) activesupport-3.2.22/lib/active_support/notifications.rb:123:in `instrument'
  (gem) actionpack-3.2.22/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
  (gem) actionpack-3.2.22/lib/action_controller/metal/params_wrapper.rb:207:in `process_action'
  (gem) activerecord-3.2.22/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
  (gem) actionpack-3.2.22/lib/abstract_controller/base.rb:121:in `process'
  (gem) actionpack-3.2.22/lib/abstract_controller/rendering.rb:45:in `process'
  (gem) actionpack-3.2.22/lib/action_controller/metal.rb:203:in `dispatch'
  (gem) actionpack-3.2.22/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
  (gem) actionpack-3.2.22/lib/action_controller/metal.rb:246:in `block in action'
  (gem) actionpack-3.2.22/lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
  (gem) actionpack-3.2.22/lib/action_dispatch/routing/route_set.rb:36:in `call'
  (gem) journey-1.0.4/lib/journey/router.rb:68:in `block in call'
  (gem) journey-1.0.4/lib/journey/router.rb:56:in `call'
  (gem) actionpack-3.2.22/lib/action_dispatch/routing/route_set.rb:608:in `call'
  (gem) xray-rails-0.3.1/lib/xray/middleware.rb:38:in `call'
  (gem) omniauth-1.1.4/lib/omniauth/strategy.rb:184:in `call!'
  config/initializers/devise.rb:17:in `call'
  (gem) omniauth-1.1.4/lib/omniauth/strategy.rb:184:in `call!'
  config/initializers/devise.rb:17:in `call'
  (gem) omniauth-1.1.4/lib/omniauth/strategy.rb:184:in `call!'
  config/initializers/devise.rb:17:in `call'
  (gem) omniauth-1.1.4/lib/omniauth/strategy.rb:184:in `call!'
  config/initializers/devise.rb:17:in `call'
  (gem) omniauth-1.1.4/lib/omniauth/strategy.rb:184:in `call!'
  config/initializers/devise.rb:17:in `call'
  (gem) omniauth-1.1.4/lib/omniauth/strategy.rb:184:in `call!'
  config/initializers/devise.rb:17:in `call'
  (gem) omniauth-1.1.4/lib/omniauth/strategy.rb:184:in `call!'
  config/initializers/devise.rb:17:in `call'
  (gem) exception_notification-4.0.0/lib/exception_notification/rack.rb:28:in `call'
  (gem) http_accept_language-2.0.5/lib/http_accept_language/middleware.rb:14:in `call'
  (gem) rack-cors-0.4.0/lib/rack/cors.rb:80:in `call'
  (gem) warden-1.2.3/lib/warden/manager.rb:35:in `block in call'
  (gem) warden-1.2.3/lib/warden/manager.rb:34:in `call'
  (gem) actionpack-3.2.22/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
  (gem) rack-1.4.7/lib/rack/etag.rb:23:in `call'
  (gem) rack-1.4.7/lib/rack/conditionalget.rb:25:in `call'
  (gem) actionpack-3.2.22/lib/action_dispatch/middleware/head.rb:14:in `call'
  (gem) actionpack-3.2.22/lib/action_dispatch/middleware/params_parser.rb:21:in `call'
  app/middleware/catch_json_parse_errors.rb:8:in `call'
  config/initializers/rails4_to_rails3_downgradability.rb:14:in `call'
  (gem) rack-1.4.7/lib/rack/session/abstract/id.rb:210:in `context'
  (gem) rack-1.4.7/lib/rack/session/abstract/id.rb:205:in `call'
  (gem) actionpack-3.2.22/lib/action_dispatch/middleware/cookies.rb:341:in `call'
  (gem) activerecord-3.2.22/lib/active_record/query_cache.rb:64:in `call'
  (gem) activerecord-3.2.22/lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
  (gem) actionpack-3.2.22/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
  (gem) activesupport-3.2.22/lib/active_support/callbacks.rb:405:in `_run__998290489803278211__call__4486599693378775495__callbacks'
  (gem) activesupport-3.2.22/lib/active_support/callbacks.rb:405:in `__run_callback'
  (gem) activesupport-3.2.22/lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
  (gem) activesupport-3.2.22/lib/active_support/callbacks.rb:81:in `run_callbacks'
  (gem) actionpack-3.2.22/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  (gem) rails-dev-tweaks-0.6.1/lib/rails_dev_tweaks/granular_autoload/middleware.rb:34:in `call'
  (gem) actionpack-3.2.22/lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
  (gem) better_errors-0.8.0/lib/better_errors/middleware.rb:84:in `protected_app_call'
  (gem) better_errors-0.8.0/lib/better_errors/middleware.rb:79:in `better_errors_call'
  (gem) better_errors-0.8.0/lib/better_errors/middleware.rb:56:in `call'
  (gem) actionpack-3.2.22/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
  (gem) actionpack-3.2.22/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  (gem) railties-3.2.22/lib/rails/rack/logger.rb:32:in `call_app'
  (gem) railties-3.2.22/lib/rails/rack/logger.rb:16:in `block in call'
  (gem) activesupport-3.2.22/lib/active_support/tagged_logging.rb:22:in `tagged'
  (gem) railties-3.2.22/lib/rails/rack/logger.rb:16:in `call'
  (gem) quiet_assets-1.0.2/lib/quiet_assets.rb:18:in `call_with_quiet_assets'
  (gem) actionpack-3.2.22/lib/action_dispatch/middleware/request_id.rb:22:in `call'
  (gem) rack-1.4.7/lib/rack/methodoverride.rb:21:in `call'
  (gem) rack-1.4.7/lib/rack/runtime.rb:17:in `call'
  (gem) rack-1.4.7/lib/rack/lock.rb:15:in `call'
  (gem) actionpack-3.2.22/lib/action_dispatch/middleware/static.rb:83:in `call'
  (gem) rack-utf8_sanitizer-1.3.0/lib/rack/utf8_sanitizer.rb:15:in `call'
  (gem) railties-3.2.22/lib/rails/engine.rb:484:in `call'
  (gem) railties-3.2.22/lib/rails/application.rb:231:in `call'
  (gem) railties-3.2.22/lib/rails/railtie/configurable.rb:30:in `method_missing'
  (gem) rack-1.4.7/lib/rack/builder.rb:134:in `call'
  (gem) rack-1.4.7/lib/rack/urlmap.rb:64:in `block in call'
  (gem) rack-1.4.7/lib/rack/urlmap.rb:49:in `call'
  lib/demote.rb:30:in `call'
  (gem) rack-1.4.7/lib/rack/content_length.rb:14:in `call'
  (gem) railties-3.2.22/lib/rails/rack/log_tailer.rb:17:in `call'
  (gem) thin-1.5.1/lib/thin/connection.rb:81:in `block in pre_process'
  (gem) thin-1.5.1/lib/thin/connection.rb:79:in `pre_process'
  (gem) thin-1.5.1/lib/thin/connection.rb:54:in `process'
  (gem) thin-1.5.1/lib/thin/connection.rb:39:in `receive_data'
  (gem) eventmachine-1.0.3/lib/eventmachine.rb:187:in `run'
  (gem) thin-1.5.1/lib/thin/backends/base.rb:63:in `start'
  (gem) thin-1.5.1/lib/thin/server.rb:159:in `start'
  (gem) rack-1.4.7/lib/rack/handler/thin.rb:13:in `run'
  (gem) rack-1.4.7/lib/rack/server.rb:268:in `start'
  (gem) railties-3.2.22/lib/rails/commands/server.rb:70:in `start'
  (gem) railties-3.2.22/lib/rails/commands.rb:55:in `block in <top (required)>'
  (gem) railties-3.2.22/lib/rails/commands.rb:50:in `<top (required)>'
  script/rails:6:in `<main>'

原因
Rails 3 不支持 render :plain， WeixinController#check_weixin_legality 没有正常返回请求，代码执行到 WeixinController#index
修改描述
对 Rails 3 进行兼容，使用 render :text 代替 render :plain

暂时关闭， master 分支已经有很多不兼容 rails 3 的特性


Fix missing Python coverage in Codecov reports

Fixes #1039
Use one line for each Issue. This allows auto-closing the related issue when the fix is merged.
Summary
As stated in #1039 , with the recent update of the codecov/codecov-action GH action, the Python coverage is missing from the Codecov reports.
This is due to the fact that the old Codecov action was using a different uploader script that was taking care of calling coverage xml when it found Python coverage files. The new action doesn't seem to do it.
So the fix is as simple as calling coverage xml from the make coverage target.
I've also added an rm in the lcov target because the C++ coverage files coverage.filtered.info and coverage.info were both uploaded which waas basically undoing the filtering we were doing in the lcov target. Though, I see that there is also some filtering in .codecov.yml, but it doesn't seems to be applied... Not too sure why.

Codecov Report

Merging #1040 (91c87fe) into master (3a312c6) will increase coverage by 5.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1040      +/-   ##
==========================================
+ Coverage   79.30%   84.36%   +5.06%
==========================================
  Files         113      232     +119
  Lines        6102    21892   +15790
  Branches        0     2113    +2113
==========================================
+ Hits         4839    18469   +13630
- Misses       1263     2876    +1613
- Partials        0      547     +547

Flag
Coverage Δ

unittests
84.36% <ø> (+5.06%)
:arrow_up:

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

Impacted Files
Coverage Δ

tests/test_multithreading.py
97.05% <0.00%> (ø)

...-opentimelineio/opentimelineio/schema/schemadef.py
94.73% <0.00%> (ø)

...y-opentimelineio/opentimelineio/schema/__init__.py
100.00% <0.00%> (ø)

tests/test_url_conversions.py
90.47% <0.00%> (ø)

tests/test_item.py
98.50% <0.00%> (ø)

...ontrib/adapters/tests/test_hls_playlist_adapter.py
98.16% <0.00%> (ø)

tests/test_timeline_algo.py
96.36% <0.00%> (ø)

...ineio/opentimelineio/schema/generator_reference.py
100.00% <0.00%> (ø)

...rc/py-opentimelineio/opentimelineio/schema/clip.py
100.00% <0.00%> (ø)

tests/test_otioz.py
97.95% <0.00%> (ø)

... and 109 more

Continue to review full report at Codecov.

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

For transparency: I've let this PR as a draft while I find time to investigate a little bit more. I'd like to get to the bottom of why the ignore list in .codecov.yaml doesn't seems to have any effect.
If anyone wants to participate/help, feel free to replay :)
I was also unable to produce C++ coverage on my Linux laptop, which annoys be quite a lot.

This is now ready to go.


feat: image cropping

This PR brings image cropping to the Excalidraw editor. Image cropping has long been requested and was even implemented in #6517. Because so much has happened in the editor since then, we've decided to restart the work in a separate branch, which is what you have in this PR. Kudos to the original work done by @wbm1113 and we thank @DanielJGeiger for reviewing and providing feedbacks on #6517.
With image cropping, we've added the property crop: ImageCrop | null to an image element.
export type ImageCrop = {
  x: number;
  y: number;
  width: number;
  height: number;
  naturalDimension: [number, number];
};

x, y, width, and height are all relative to the natural width and height of an image. This is because cropping an element in canvas is done using natural dimensions. Once an image is loaded and added to the image cache, we could always obtain its natural width and height. However, there are places where a cropped image is used and where image cache is not available. For this particular reason, we've added the naturalDimension property to ImageCrop as well.
By setting the croppingElementId on AppState, we enter the crop mode, where the un-cropped image is displayed underneath at a reduced alpha as a visual guide. When inside the crop editor, we'd display crop handles to guide the user. In addition, when cropping, we'd update the crop property and set isCropping on AppState. When isCropping, we'd temporarily hide the crop handles to reduce visual clutter. The code and logic on cropping have been simplified so it should be fairly straightforward.
One tricky issue encountered during the implementation was the handling of cropping and flipping. We ended up deciding to keep crop unchanged when flipping a cropped image so that we don't have to add special logic to any place an image might be flipped. And when cropping the flipped image, we'd update the crop "in reverse". For example, if the image is flipped horizontally, then cropping from the left is viewed as cropping from the right in the original image. So, crop.x is unaffected and only crop.width will be updated. For more details, please refer to the code.
Some additional features that we could add later

once in the crop editor, we could double click the edge of the crop region to revert to the state at the start of the crop session
once inside the crop editor, we could introduce different aspect ratios for the user to choose from

todos

[x] centering of icon in side panel
[x] context menu
[x] remove padding from image element bounding box
[x] refresh crop handles on undo/redo
[x] fix the rotated translation of image inside crope editor
align pointer behavior:

[ ] shift-dragging should translate across single axis
[x] shift-resize of crop area should maintain aspect ratio
[ ] not critical: alt-resize should mirror axes on resize

[ ] dragging image outside of crop area should drag the image instead of exit crop editor
stats

[ ] modifying stats width/height should affect crop area, not image
[ ] x/y should be crop area's position relative to image's [0,0]

This is a great new feature! 🚀🚀 I love how simple it is to use.
But it introduced a major performance degradation when there are many images. Here's a sample file:
https://github.com/user-attachments/assets/4f44374d-9f14-4f89-a312-345aca3e20d0


Self hosted users not able to fork sample apps

We need to allow people to download apps from our cloud URLs. Example: https://app.appsmith.com/app/pdf-files/generatepdf-fromformdata-62a76c1284b913372519db81 This app can’t be forked by a self-hosted user(85% of our user base)
We can just provide a way to download the JSON (our Export app feature) when users open these kind of apps.

https://www.notion.so/appsmith/Forking-Sample-Apps-Self-Hosted-Instance-13bb853b0ebd499ba58fd162e8f9fd9c

We are going to track this as a project based on doc shared above. Closing this issue for now.


cannot find package 'esbuild'

Hello all,
I tried to run "node scripts/create-common-bundle" as per README but I encountered the following issue.
Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'esbuild' imported from /home/rizal/learn.svelte.dev/scripts/create-common-bundle/index.js
any idea on how to proceed ?

You need to install the project's dependencies first with pnpm.


Disabling auto closing quotes does not have any effect on Python raw, binary, and f-strings.

User Environment

VSCode Version: 1.31.1
OS Version: Windows 10, Version 1803 (OS Build 17134.590)

The issue does occur when all extensions are disabled.
Steps to Reproduce:

Disable auto closing quotes via the setting "editor.autoClosingQuotes": "never"
Create an empty .py file and type test = r'

Expected Behavior:
The content of the file is test = r'.
Observed Behavior:
A closing quote is inserted and the content of the file is test = r''.
Illustration:

python contributes some funny looking auto closing sets:
https://github.com/Microsoft/vscode/blob/9daddf91cbbeea15a3a72dc01c64d94d82410314/extensions/python/language-configuration.json#L11-L34

Well those generally look correct, u'' is unicode strings. It's odd that they are configured the same way as "normal" quotes, yet setting editor.autoClosingQuotes to never has no effect on them.

This was also fixed by 37981d8fd5d4ba1619f69dc8a0f4670543d39650


Add managed indicator to overview

For modules that can manage add a simple indicator check box to overview

Ugly on API 19

Fixed in recent PR


Registration Failed: XSD Validation Failed: file:

I just updated to the beta 2 client, did a new clone of the repo, and installed node v8.11.2.  I'm attempting to look at the DataSources sample extension under the Samples folder.  After install and starting the node http-server in the repo with the default port, I open Tableau, open the Superstore demo dashboard, drag the extension object, and navigate to the Datasources.trex.  After clicking open, Tableau throws an error stating "Error parsing extension manifest" and goes on to list that there is no declaration found for any element or attribute.  I used logviewer to take a closer look and the log shows this:

It doesn't even look like the manifest is being found.  The log is writing the "file: " instead of "file: datasources.trex".  I verified in the browser that I can manually navigate to directory where the Datasources files are located while the server is running and verified in the manifest that the location was the same as the server.  The error is the same for any of the samples.

Hello!
Thank you for your report.
We will be updating github and the documentation shortly.
This will be included in the documentation:
This release introduces two changes to XML schema for the extensions manifest file (.trex). If you have an existing .trex file, you need to make a couple of corrections.
•	The first change is to the URL of the extensions namespace (xmlns). The URL is now www.tableau.com... instead of wwww.tableau.com...

. . .
•	The second change is to the author’s web site. This link to your web site must now be over HTTPS for security. This link to your web site becomes the Get Support link in the About dialog box for your extension.

Those changes should allow the extension to load properly.
Sorry for the inconvenience.
John

Editing the namespace URL worked and the extension now loads.  Thanks John.


CI caching strategy for pods

Anyone tried to build in CI, and want to eliminate the long download of all the pods?
It's a Cordova project though, so the iOS folder isn't present until a certain point...
Trying to do this with GitHub Actions. anyone have any ideas?

This is beyond the scope of this plugin and better raised against the cordova-ios platform

Can you pls raise it in a way that's accurate? Or can you pinpoint exactly what mechanism is causing this so I can follow it up? It blows up build logs and takes ages but you know more than I do, I just want to phrase the problem in the best way possible.

Hi @dpa99c sorry to poke, but do you know the exact nature of the issue? Can you help me write an issue to the Cordova-ios guys or point me in the right direction?


Black screen & cinnamon fallback mode after Debian 11.4 update

I've recently updated my system from Debian 11.3 to 11.4. Unfortunately XRDP stopped working. That is, for a non-sudo user. With my local admin account I can log-in fine, but when I use the normal user, I get a Cinnamon fallback error. The .xsession-errors file is attached below. From the looks of it, it seems like a rights issue, but if I check the Debian 11.4 changelogs, nothing catches my eye in that context. Is there somewhere else I can look for clues?
Xsession: X session started for normaluser at Thu 28 Jul 2022 05:13:22 PM CEST
WARNING: tempfile is deprecated; consider using mktemp instead.
dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/2558/bus
dbus-update-activation-environment: setting DISPLAY=:10.0
localuser:normaluser being added to access control list
dbus-update-activation-environment: setting GTK_MODULES=gail:atk-bridge
dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
dbus-update-activation-environment: setting USER=normaluser
dbus-update-activation-environment: setting XDG_SESSION_TYPE=x11
dbus-update-activation-environment: setting LD_LIBRARY_PATH=:/usr/local/lib:/packages/lib:/packages/lib/vtk:/usr/local/lib:/packages/lib:/packages/lib/vtk
dbus-update-activation-environment: setting HOME=/home/normaluser
dbus-update-activation-environment: setting CINNAMON_2D=1
dbus-update-activation-environment: setting GTK_MODULES=gail:atk-bridge
dbus-update-activation-environment: setting XRDP_PULSE_SINK_SOCKET=xrdp_chansrv_audio_out_socket_10
dbus-update-activation-environment: setting XRDP_PULSE_SOURCE_SOCKET=xrdp_chansrv_audio_in_socket_10
dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/2558/bus
dbus-update-activation-environment: setting PULSE_SCRIPT=/etc/xrdp/pulse/default.pa
dbus-update-activation-environment: setting LOGNAME=normaluser
dbus-update-activation-environment: setting XDG_SESSION_CLASS=user
dbus-update-activation-environment: setting PATH=/home/normaluser/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/packages/bin:/home/localsw/bin
dbus-update-activation-environment: setting GTK3_MODULES=xapp-gtk3-module
dbus-update-activation-environment: setting XRDP_SOCKET_PATH=/run/xrdp/sockdir
dbus-update-activation-environment: setting XDG_RUNTIME_DIR=/run/user/2558
dbus-update-activation-environment: setting DISPLAY=:10.0
dbus-update-activation-environment: setting LANG=en_US.UTF-8
dbus-update-activation-environment: setting UID=2558
dbus-update-activation-environment: setting SHELL=/bin/bash
dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
dbus-update-activation-environment: setting XRDP_SESSION=1
dbus-update-activation-environment: setting GPG_AGENT_INFO=/run/user/2558/gnupg/S.gpg-agent:0:1
dbus-update-activation-environment: setting PWD=/nfs/rtsan02/userdata/home/normaluser
dbus-update-activation-environment: setting XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
** Message: 17:13:22.937: couldn't access control socket: /run/user/2558/keyring/control: No such file or directory
** Message: 17:13:22.938: couldn't access control socket: /run/user/2558/keyring/control: No such file or directory
** Message: 17:13:22.939: couldn't access control socket: /run/user/2558/keyring/control: No such file or directory
SSH_AUTH_SOCK=/run/user/2558/keyring/ssh
Xlib:  extension "DPMS" missing on display ":10.0".
Xlib:  extension "DPMS" missing on display ":10.0".
Xlib:  extension "DPMS" missing on display ":10.0".
** (csd-media-keys:1473): WARNING **: 17:13:23.336: Unable to inhibit keypresses: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Permission denied
Xlib:  extension "DPMS" missing on display ":10.0".
Xlib:  extension "DPMS" missing on display ":10.0".
[cinnamon-settings-daemon-smartcard] Failed to start: no suitable smartcard driver could be found
** Message: 17:13:23.349: Existing monitor config (/home/normaluser/.config/cinnamon-monitors.xml) not found at startup. Looking for legacy configuration (monitors.xml)
=== xinerama setup Configuration ===
Clone: false
Output: Unknown attached to rdp0
status: on
width: 1920
height: 1200
rate: 50
primary: false
position: 0 0
=== Applying Configuration Configuration ===
Clone: false
Output: Unknown attached to rdp0
status: on
width: 1920
height: 1200
rate: 50
primary: true
position: 0 0
Xlib:  extension "DPMS" missing on display ":10.0".
Xlib:  extension "DPMS" missing on display ":10.0".
Xlib:  extension "DPMS" missing on display ":10.0".
** (csd-color:1464): WARNING **: 17:13:23.414: failed to get edid: unable to get EDID for output
Xlib:  extension "DPMS" missing on display ":10.0".
** (csd-color:1464): WARNING **: 17:13:23.433: failed to create device: failed to obtain org.freedesktop.color-manager.create-device auth
** (csd-color:1464): WARNING **: 17:13:23.433: could not find device: property match 'XRANDR_name'='rdp0' does not exist
** (csd-color:1464): WARNING **: 17:13:23.434: failed to obtain org.freedesktop.color-manager.create-profile auth
** (csd-color:1464): WARNING **: 17:13:23.439: failed to obtain org.freedesktop.color-manager.create-profile auth
** (csd-color:1464): WARNING **: 17:13:23.444: failed to obtain org.freedesktop.color-manager.create-profile auth
** (csd-color:1464): WARNING **: 17:13:23.448: failed to obtain org.freedesktop.color-manager.create-profile auth
** (csd-color:1464): WARNING **: 17:13:23.453: failed to obtain org.freedesktop.color-manager.create-profile auth
** (csd-power:1436): WARNING **: 17:13:23.454: Failed set DPMS mode: Display is not DPMS capable
** (csd-power:1436): WARNING **: 17:13:23.457: Unable to inhibit lid switch: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Permission denied
[cinnamon-settings-daemon-smartcard] Failed to start: no suitable smartcard driver could be found
Xlib:  extension "DPMS" missing on display ":10.0".
Xlib:  extension "DPMS" missing on display ":10.0".
Cinnamon warning: Software rendering detected: llvmpipe (LLVM 11.0.1, 256 bits)
Cjs-Message: 17:13:48.305: Profiler is disabled. Not setting up signals.
Clutter-Message: 17:13:48.322: Sync method: PRESENTATION TIME
** (light-locker:1707): ERROR **: 17:13:48.463: Environment variable XDG_SESSION_PATH not set. Is LightDM running?
Cjs-Message: 17:13:48.509: JS LOG: About to start Cinnamon
Cjs-Message: 17:13:48.509: JS LOG: ACTIVATING SOFTWARE RENDERING
Cjs-Message: 17:13:48.510: JS LOG: [LookingGlass/error] Cinnamon Software Rendering mode enabled
git-annex: Nothing listed in /home/normaluser/.config/git-annex/autostart
** (nemo-desktop:1715): WARNING **: 17:13:48.549: Current gtk theme is not known to have nemo support (Adwaita) - checking...
** (xiccd:1732): WARNING **: 17:13:48.553: EDID is empty
** (xiccd:1732): CRITICAL **: 17:13:48.553: unable to create profile: failed to obtain org.freedesktop.color-manager.create-profile auth
** (xiccd:1732): CRITICAL **: 17:13:48.560: unable to create profile: failed to obtain org.freedesktop.color-manager.create-profile auth
** (xiccd:1732): CRITICAL **: 17:13:48.560: unable to create profile: failed to obtain org.freedesktop.color-manager.create-profile auth
** (xiccd:1732): CRITICAL **: 17:13:48.569: unable to create profile: failed to obtain org.freedesktop.color-manager.create-profile auth
** (xiccd:1732): CRITICAL **: 17:13:48.574: unable to create profile: failed to obtain org.freedesktop.color-manager.create-profile auth
** (xiccd:1732): CRITICAL **: 17:13:48.593: failed to create colord device: failed to obtain org.freedesktop.color-manager.create-device auth
** (nemo-desktop:1715): WARNING **: 17:13:48.639: The theme appears to have no nemo support.  Adding some...
(nemo-desktop:1715): GLib-CRITICAL **: 17:13:48.664: g_strstr_len: assertion 'haystack != NULL' failed
** Message: 17:13:48.664: nemo-desktop: session is not cinnamon (checked XDG_SESSION_DESKTOP,DESKTOP_SESSION environment variables.) Applying default behavior
Cjs-Message: 17:13:48.692: JS LOG: [LookingGlass/info] Cinnamon.AppSystem.get_default() started in 180 ms
Cjs-Message: 17:13:48.712: JS LOG: [LookingGlass/info] loading default theme
kdeconnect.core: Could not query capabilities from notifications server
blueman-applet 17.13.48 WARNING  PluginManager:148 __load_plugin: Not loading DhcpClient because its conflict has higher priority
blueman-applet 17.13.48 WARNING  PluginManager:148 __load_plugin: Not loading PPPSupport because its conflict has higher priority
blueman-applet 17.13.48 ERROR    BasePlugin:76 _load     : [Errno 13] Permission denied: '/dev/rfkill'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/blueman/plugins/BasePlugin.py", line 70, in _load
self.on_load()
File "/usr/lib/python3/dist-packages/blueman/plugins/applet/KillSwitch.py", line 61, in on_load
self._fd = os.open('/dev/rfkill', os.O_RDONLY | os.O_NONBLOCK)
PermissionError: [Errno 13] Permission denied: '/dev/rfkill'
blueman-applet 17.13.48 ERROR    PluginManager:162 __load_plugin: Failed to load KillSwitch
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/blueman/main/PluginManager.py", line 160, in __load_plugin
inst._load()
File "/usr/lib/python3/dist-packages/blueman/plugins/AppletPlugin.py", line 57, in _load
super()._load()
File "/usr/lib/python3/dist-packages/blueman/plugins/BasePlugin.py", line 70, in _load
self.on_load()
File "/usr/lib/python3/dist-packages/blueman/plugins/applet/KillSwitch.py", line 61, in on_load
self._fd = os.open('/dev/rfkill', os.O_RDONLY | os.O_NONBLOCK)
PermissionError: [Errno 13] Permission denied: '/dev/rfkill'
blueman-applet version 2.1.4 starting
Traceback (most recent call last):
File "/usr/bin/blueman-applet", line 42, in
BluemanApplet()
File "/usr/lib/python3/dist-packages/blueman/main/Applet.py", line 34, in init
self.Plugins.load_plugin()
File "/usr/lib/python3/dist-packages/blueman/main/PluginManager.py", line 122, in load_plugin
self.__load_plugin(cls)
File "/usr/lib/python3/dist-packages/blueman/main/PluginManager.py", line 160, in __load_plugin
inst._load()
File "/usr/lib/python3/dist-packages/blueman/plugins/AppletPlugin.py", line 57, in _load
super()._load()
File "/usr/lib/python3/dist-packages/blueman/plugins/BasePlugin.py", line 70, in _load
self.on_load()
File "/usr/lib/python3/dist-packages/blueman/plugins/applet/KillSwitch.py", line 61, in on_load
self._fd = os.open('/dev/rfkill', os.O_RDONLY | os.O_NONBLOCK)
PermissionError: [Errno 13] Permission denied: '/dev/rfkill'
Cjs-Message: 17:13:48.963: JS LOG: [LookingGlass/info] loaded at Thu Jul 28 2022 17:13:48 GMT+0200 (CEST)
Cjs-Message: 17:13:48.963: JS LOG: Cinnamon started at Thu Jul 28 2022 17:13:48 GMT+0200 (CEST)
Cjs-Message: 17:13:48.983: JS LOG: [LookingGlass/info] ExtensionSystem started in 1 ms
Cjs-Message: 17:13:48.983: JS LOG: [LookingGlass/info] DeskletManager started in 1 ms
Cjs-Message: 17:13:48.983: JS LOG: [LookingGlass/info] SearchProviderManager started in 0 ms
openGL version 4.5 detected (GL3 Cogl Driver)
MetaSyncRing disabled: couldn't find required GL extensions, or the minimum safe openGL version was not met
Cjs-Message: 17:13:49.054: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 48 ms
Cjs-Message: 17:13:49.058: JS LOG: [LookingGlass/info] Role locked: tray
Cjs-Message: 17:13:49.061: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 7 ms
Cjs-Message: 17:13:49.069: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 8 ms
Cjs-Message: 17:13:49.079: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 10 ms
Cjs-Message: 17:13:49.123: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 44 ms
St-Message: 17:13:49.126: cogl npot texture sizes SUPPORTED
Cjs-Message: 17:13:49.141: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 18 ms
Cjs-Message: 17:13:49.154: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 13 ms
Cjs-Message: 17:13:49.161: JS LOG: [LookingGlass/info] Role locked: notifications
Cjs-Message: 17:13:49.177: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 23 ms
Cjs-Message: 17:13:49.181: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 4 ms
Cjs-Message: 17:13:49.207: JS LOG: [LookingGlass/info] Role locked: panellauncher
Cjs-Message: 17:13:49.209: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 28 ms
Cjs-Message: 17:13:49.234: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 25 ms
** (csd-power:1436): CRITICAL : 17:13:49.242: abs_to_percentage: assertion 'max > min' failed
Cjs-Message: 17:13:49.267: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 33 ms
Cjs-Message: 17:13:49.296: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 29 ms
Cjs-Message: 17:13:49.312: JS LOG: NetworkManager is not running, hiding...
Cjs-Message: 17:13:49.447: JS LOG: [LookingGlass/info] Loaded applet<EMAIL_ADDRESS>in 151 ms
Cjs-Message: 17:13:49.447: JS LOG: [LookingGlass/info] AppletManager started in 483 ms
Cjs-Message: 17:13:49.450: JS LOG: [LookingGlass/info] Cinnamon took 941 ms to start
Traceback (most recent call last):
File "/usr/bin/cinnamon-launcher", line 72, in
os.execvp(FALLBACK_COMMAND, (FALLBACK_COMMAND,) + FALLBACK_ARGS)
File "/usr/lib/python3.9/os.py", line 574, in execvp
_execvpe(file, args)
File "/usr/lib/python3.9/os.py", line 616, in _execvpe
raise last_exc
File "/usr/lib/python3.9/os.py", line 607, in _execvpe
exec_func(fullname, argrest)
FileNotFoundError: [Errno 2] No such file or directory
15:13:49:0956 Gs  plugin fwupd took 1.2 seconds to do setup
15:13:50:0013 Gs  enabled plugins: desktop-categories, fwupd, os-release, packagekit, packagekit-local, packagekit-offline, packagekit-proxy, packagekit-refine-repos, packagekit-refresh, packagekit-upgrade, packagekit-url-to-app, appstream, desktop-menu-path, hardcoded-blocklist, hardcoded-popular, malcontent, modalias, odrs, packagekit-refine, rewrite-resource, packagekit-history, provenance, systemd-updates, generic-updates, provenance-license, icons, key-colors, key-colors-metadata
15:13:50:0013 Gs  disabled plugins: dpkg, dummy, repos
15:13:50:0427 Gs  not handling error failed for action refresh: Failed to update metadata for lvfs: checksum failure: failed to verify data, expected 4829e71dd0c59fb5bc302ee632c7aaddbb4a4078
15:13:50:0550 Gs  not handling error no-security for action refresh: Failed to check for authentication: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
15:13:50:0701 Gs  adding wildcard app ////org.gnome.Builder.desktop/ to plugin cache
15:13:50:0702 Gs  adding wildcard app ////org.gnome.Calculator.desktop/ to plugin cache
15:13:50:0702 Gs  adding wildcard app ////org.gnome.clocks.desktop/ to plugin cache
15:13:50:0702 Gs  adding wildcard app ////org.gnome.Dictionary.desktop/* to plugin cache
15:13:50:0702 Gs  adding wildcard app ////org.gnome.Documents.desktop/* to plugin cache
15:13:50:0702 Gs  adding wildcard app ////org.gnome.Evince/* to plugin cache
15:13:50:0702 Gs  Only 0 apps for recent list, hiding
15:13:50:0702 Gs  adding wildcard app ////org.gnome.gedit.desktop/* to plugin cache
15:13:50:0702 Gs  adding wildcard app ////org.gnome.Maps.desktop/* to plugin cache
15:13:50:0705 Gs  adding wildcard app ////org.gnome.Weather/* to plugin cache
15:13:50:0714 Gs  hiding category games featured applications: found only 0 to show, need at least 9
15:13:50:0714 Gs  hiding category audio-video featured applications: found only 0 to show, need at least 9
15:13:51:0187 Gs  FIXME: Unknown progress handling is not yet implemented for GsProgressButton
15:13:51:0187 Gs  FIXME: Unknown progress handling is not yet implemented for GsProgressButton
15:13:51:0187 Gs  FIXME: Unknown progress handling is not yet implemented for GsProgressButton
15:13:51:0187 Gs  FIXME: Unknown progress handling is not yet implemented for GsProgressButton
15:13:51:0301 Gs  automatically prevented from changing kind on system/package//generic/org.gphoto.libgphoto2/ from generic to unknown!
15:13:51:0323 Gs  automatically prevented from changing kind on system/package//generic/com.yubico.yubikey.ykpers/ from generic to unknown!
15:13:51:0332 Gs  automatically prevented from changing kind on system/package//generic/com.yubico.yubikey.udev/ from generic to unknown!
x-session-manager[1289]: WARNING: t+31.38578s: Detected that screensaver has appeared on the bus

It could also be something stale in the user account related to Cinnamon, possibly.
Try creating a gash empty non-privileged user and see what that does.
Failing that, comparing the ~/.xsession-errors for the sudo user and the non-sudo user could be informative.

@Benjemmin - do you need any more help with this?

Thanks for the reply. With a new user there is indeed no errors, so it has to be an issue concerning the config files. I've deleted every .file in a testaccount and that got things working again. However, after more carefully selecting which files I should delete, I couldn't figure out what file could be responsible. Do you have any pointers on that?

Not really. I'd start by assuming a single file is the culprit, and using some kind of binary chop. So copy half the files in to the new account, and if that works, copy half the remainder. When it stops working, the file that's responsible is probably in the last lot you've copied, so you can work your way though that to find it.

No more info from OP - closing.

Sorry for the late response. I've found out this issue has to do with the mesa_shader_cache in the .cache folder of a user. Once we delete it, the problem seems to be solved. However, it will re-occur once a user signs in to a PC with a different Debian version (e.g. 11.2 vs 11.4). Is there someway around this, or do we need to delete the mesa_shader_cache everytime on a log-out just in case?

That's useful information - thanks for sharing it.
Just had a poke around. One workaround might be to set  might be to set MESA_SHADER_CACHE_DIR (see here) in /etc/profile.d depending on the Debian version, or even move it to the local disk in a per-user directory under /var or /run (I take it you're using networked home directories).
I also came across this which isn't quite consistent with the link above:-
https://www.phoronix.com/news/Mesa-Shader-Cache-Env-Var
It's possible you may have to set more than one environment variable.
Hope that's useful.


Add 'imagequant' package

I've followed this guide
step by step carefully. Yes

I've tested this package remotely and have excluded all broken builds.
Here is the links to the Travis/AppVeyor with status "All passed":

https://ci.appveyor.com/project/rbsheth/hunter/builds/21047731
https://travis-ci.com/rbsheth/hunter/builds/94906931

I have submitted CI configs to https://github.com/ingenue/hunter targeting pkg.template branch,
see this merged pull request https://github.com/ingenue/hunter/pull/311

My change will resolve this "New package" request: https://github.com/ruslo/hunter/issues/1648

Testing:

https://ci.appveyor.com/project/ingenue/hunter/builds/21055563
https://travis-ci.org/ingenue/hunter/builds/468903250?utm_source=github_status&utm_medium=notification


nixos/tests: add predictable-interface-names.nix

Motivation for this change
https://github.com/NixOS/nixpkgs/issues/33738
Things done
I tested that the revision incriminated in the issue makes the test fail, and that the test succeeds on current revision.
I think this test should be added to "release critical tests" as well, but I don't know how to do it (if it is in
nixpkgs).

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Feeling pretty good about this now.
@fpletz Can you take a look?

ping @fpletz @globin

Thanks!