Functions are typechecked once, but called multiple times, resulting in error

Example:
t = string_to_dmterm("function test6()
           function twice(f)
               ff(x) = f(f(x))
           end
           three(x) = 3
           g = twice(three)
           g(1)
       end")

Log:
julia> DiffPrivacyInference.typecheck_hs_from_dmterm(t)
hello!
Starting DiffMu!
Checking term   : FLet test6 [] (Lam [] (FLet twice ["Any"] (Lam [(:-) f "Any"] (FLet ff ["Any"] (Lam [(:-) x "Any"] (Apply (Var f "Any") [Apply (Var f "Any") [Var x "Any"]])) (Var ff "Any"))) (FLet three ["Any"] (Lam [(:-) x "Any"] (Sng 3.0 "Integer")) (SLet ((:-) g "Any") (Apply (Var twice "Any") [Var three "Any"]) (Apply (Var g "Any") [Sng 1.0 "Integer"]))))) (Var test6 "Any")
Left f : any_0
Left
Left f : any_1
Left
Left x : any_2
Left f : any_1
Left x : any_2,
f : any_1
Left f : any_0
Left f : s_0 ↷ (any_0∧any_1)
Left
Left
Left
Left
Left
Left
Left
Left
Left
Left
Left
Left
Left
Left
Left
[Solver]: currently solving constr_2 : IsFunctionArgument (Fun([([s_0 ↷ (any_0∧any_1)] -> Fun([([any_2] -> τ_4) @ (Just ["Any"],s_0)])) @ (Just ["Any"],s_1)]),Fun([([Fun([([0 ↷ τ_6] -> Num(Int[3.0]) @ s_2) @ (Just ["Any"],s_3)])] -> τ_7) @ (Nothing,1)]))
[Solver]: currently solving constr_4 : IsChoice (fromList [(["Any"],(([s_0 ↷ (any_0∧any_1)] -> Fun([([any_2] -> τ_4) @ (Just ["Any"],s_0)])) @ s_1,0))],[([Fun([([0 ↷ τ_6] -> Num(Int[3.0]) @ s_2) @ (Just ["Any"],s_3)])] -> τ_7) @ 1])
inside callback!
I got Function and Any
My res is: 1
[Solver]: currently solving constr_5 : IsFunctionArgument (Fun([([0 ↷ τ_6] -> Num(Int[3.0]) @ s_2) @ (Just ["Any"],s_3)]),s_0 ↷ (any_0∧any_1))
[Solver]: currently solving constr_3 : IsFunctionArgument (τ_7,Fun([([Num(Int[1]) @ s_4] -> τ_8) @ (Nothing,1)]))
[Solver]: currently solving constr_6 : IsFunctionArgument (Fun([([any_2] -> τ_4) @ (Just ["Any"],s_0)]),Fun([([Num(Int[1]) @ s_4] -> τ_8) @ (Nothing,1)]))
[Solver]: currently solving constr_8 : IsChoice (fromList [(["Any"],(([any_2] -> τ_4) @ s_0,0))],[([Num(Int[1]) @ s_4] -> τ_8) @ 1])
inside callback!
I got Integer and Any
My res is: 1
[Solver]: currently solving constr_11 : IsEqual (s_0,1)
I have the subs , and I want to add: s_0 := 1
[Solver]: currently solving constr_5 : IsFunctionArgument (Fun([([0 ↷ τ_6] -> Num(Int[3.0]) @ s_2) @ (Just ["Any"],s_3)]),1 ↷ (any_0∧any_1))
[Solver]: currently solving constr_10 : IsFunctionArgument (τ_4,τ_8)
[Solver]: currently solving constr_9 : IsFunctionArgument (Num(Int[1]) @ s_4,any_2)
[Solver]: currently solving constr_9 : IsFunctionArgument (Num(Int[1]) @ s_4,τ_12 @ s_6)
[Solver]: currently solving constr_7 : IsEqual (s_1,1)
I have the subs s_0 := 1, and I want to add: s_1 := 1
[Solver]: currently solving constr_13 : IsEqual (s_4,s_6)
I have the subs s_0 := 1, s_1 := 1, and I want to add: s_4 := s_6
[Solver]: currently solving constr_0 : IsFunctionArgument (any_1,Fun([([τ_12 @ s_6] -> τ_3) @ (Nothing,1)]))
[Solver]: currently solving constr_5 : IsFunctionArgument (Fun([([0 ↷ τ_6] -> Num(Int[3.0]) @ s_2) @ (Just ["Any"],s_3)]),1 ↷ (any_0∧Fun([([τ_12 @ s_6] -> τ_3) @ (Nothing,1)])))
[Solver]: currently solving constr_12 : IsEqual (Num(Int[1]),τ_12)
[Solver]: currently solving constr_5 : IsFunctionArgument (Fun([([0 ↷ τ_6] -> Num(Int[3.0]) @ s_2) @ (Just ["Any"],s_3)]),1 ↷ (any_0∧Fun([([Num(Int[1]) @ s_6] -> τ_3) @ (Nothing,1)])))
[Solver]: currently solving constr_1 : IsFunctionArgument (any_0,Fun([([τ_3] -> τ_4) @ (Nothing,1)]))
[Solver]: currently solving constr_5 : IsFunctionArgument (Fun([([0 ↷ τ_6] -> Num(Int[3.0]) @ s_2) @ (Just ["Any"],s_3)]),Fun([([τ_3] -> τ_4) @ (Nothing,1),([Num(Int[1]) @ s_6] -> τ_3) @ (Nothing,1)]))
[Solver]: currently solving constr_14 : IsChoice (fromList [(["Any"],(([0 ↷ τ_6] -> Num(Int[3.0]) @ s_2) @ s_3,0))],[([τ_3] -> τ_4) @ 1,([Num(Int[1]) @ s_6] -> τ_3) @ 1])
inside callback!
I got Union{} and Any
My res is: 1
inside callback!
I got Integer and Any
My res is: 1
[Solver]: currently solving constr_16 : IsFunctionArgument (Num(Int[3.0]) @ s_2,τ_4)
[Solver]: currently solving constr_16 : IsFunctionArgument (Num(Int[3.0]) @ s_2,τ_13 @ s_7)
[Solver]: currently solving constr_20 : IsEqual (Num(Int[3.0]),τ_13)
[Solver]: currently solving constr_21 : IsEqual (s_2,s_7)
I have the subs s_4 := s_6, s_0 := 1, s_1 := 1, and I want to add: s_2 := s_7
[Solver]: currently solving constr_10 : IsFunctionArgument (Num(Int[3.0]) @ s_7,τ_8)
[Solver]: currently solving constr_10 : IsFunctionArgument (Num(Int[3.0]) @ s_7,τ_14 @ s_8)
[Solver]: currently solving constr_15 : IsFunctionArgument (τ_3,0 ↷ τ_6)
[Solver]: currently solving constr_19 : IsEqual (s_3,1)
I have the subs s_4 := s_6, s_0 := 1, s_1 := 1, s_2 := s_7, and I want to add: s_3 := 1
[Solver]: currently solving constr_22 : IsEqual (Num(Int[3.0]),τ_14)
[Solver]: currently solving constr_17 : IsFunctionArgument (Num(Int[1]) @ s_6,0 ↷ τ_6)
[Solver]: currently solving constr_15 : IsFunctionArgument (τ_3,τ_15 @ 0)
[Solver]: currently solving constr_15 : IsFunctionArgument (τ_16 @ s_10,τ_15 @ 0)
[Solver]: currently solving constr_24 : IsEqual (τ_16,τ_15)
[Solver]: currently solving constr_25 : IsEqual (s_10,0)
I have the subs s_3 := 1, s_4 := s_6, s_0 := 1, s_1 := 1, s_2 := s_7, and I want to add: s_10 := 0
[Solver]: currently solving constr_17 : IsFunctionArgument (Num(Int[1]) @ s_6,τ_15 @ 0)
[Solver]: currently solving constr_26 : IsEqual (Num(Int[1]),τ_15)
[Solver]: currently solving constr_27 : IsEqual (s_6,0)
I have the subs s_3 := 1, s_10 := 0, s_4 := s_6, s_0 := 1, s_1 := 1, s_2 := s_7, and I want to add: s_6 := 0
[Solver]: currently solving constr_23 : IsEqual (s_7,s_8)
I have the subs s_3 := 1, s_10 := 0, s_4 := 0, s_0 := 1, s_6 := 0, s_1 := 1, s_2 := s_7, and I want to add: s_7 := s_8
[Solver]: currently solving constr_18 : IsFunctionArgument (Num(Int[3.0]) @ s_8,Num(Int[1]) @ 0)
[Solver]: currently solving constr_28 : IsEqual (Num(Int[3.0]),Num(Int[1]))
[Solver]: currently solving constr_29 : IsEqual (s_8,0)
I have the subs s_3 := 1, s_10 := 0, s_4 := 0, s_0 := 1, s_6 := 0, s_1 := 1, s_7 := s_8, s_2 := s_8, and I want to add: s_8 := 0
[Solver]: currently solving constr_30 : IsEqual (3.0,1)
Encountered error: The constraint Just IsEqual (3.0,1) is not satisfiable.
true

This should be solved by the new ForAll types.


I am getting the error message  ModuleNotFoundError: No module named 'azure

Hi Support,
I am using VSCODE and run same command but getting the error message but it is working fine in python Compiler
Error Code:
from azure.common.client_factory import get_client_from_cli_profile
ModuleNotFoundError: No module named 'azure'
[Enter feedback here]

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

ID: e72557de-b5e1-5cd2-bff1-f23d9221337b
Version Independent ID: bfab25db-3a95-a704-dca9-7c67b2387c97
Content: Provision a virtual machine using the Azure SDK libraries for Python
Content Source: articles/python/azure-sdk-example-virtual-machines.md
Product: azure-python
GitHub Login: @kraigb
Microsoft Alias: kraigb

Hi @pkvk14, assuming that you created a virtual environment for the project, then you need to make sure that VS Code is selecting that environment as the Python interpreter.
To be more specific, from what you indicate, I assume that you're able to run the code directly from a command prompt in which you've activated the virtual environment you created, yes? (And with which you ran pip install -r requirements.txt.)
When you run VS Code and open that same project folder (or run code . from the command line), typically VS Code finds and activates the virtual environment automatically. However, run the Python: Select Interpreter command from the command palette and make sure the virtual environment is selected. Then you should be able to run the code within VS Code.
If the virtual environment isn't activated in VS Code, then you'd be running on your default global python environment that probably doesn't have the Azure libraries installed.
Let me know if this resolves your issue.

Closing as I assume this is resolved given that there's been no reply.


Android - Steps to test on a real device?

This is not a bug, I'm just looking for someone who has debugged on a physical device.
Bug Information
Version Number of Plugin: 8.0.2-beta
Device Tested On: Android - BLU B160V, Tracfone
Simulator Tested On: N/A
Version of Jetbrains Rider: 2023.3.4
Version of Maui: 8.0.20
Versions of other things you are using:
Steps to reproduce the Behavior

Created a Closed Testing release in Google Play Console
Added testers in Google Play Console
Created a Subscription on my app in Google Play Console
Created a keystore and have created a 'Release' build with it
Uploaded the signed AAB to Google Play Console for the Closed Testing release
Release was approved by Google (realized this was needed before my subscription could be queried)
Signed into the Android device with a user from the testers group
Connected phone via USB, and launched a Debug session on the device
Called 'GetProductInfoAsync' and the subscription details are returned successfully (YAY!)
Called 'PurchaseAsync' and get an error stating "this version is not configured for billing"

Expected Behavior
n/a
Actual Behavior
n/a
Code snippet
var purchase = await billing.PurchaseAsync("MY_SUB_ID", ItemType.Subscription);
What I think is happening is, I've signed the AAB as a Release build and that is tied to the Subscription, so when I run a Debug build on the device, the signatures don't match and I can't purchase the subscription.
Can anyone provide the steps to Debug this successfully? Thanks, and @jamesmontemagno this package is sweet, thank you for making this!!

HI @atkinsonbg
Can you set the keystore information for your DEBUG configuration to the same as your RELEASE config and try again?

Hey @wickedw thanks for the reply!
I did try that, and the build is successful, but during install I get the following error: "Error ADB0010 : Mono.AndroidTools.InstallFailedException: The package was not properly signed (NO_CERTIFICATES)."
When I built the release for upload I used the following: dotnet publish -c Release -f net8.0-android -p:AndroidSigningKeyPass=$(ANDROID_KEYSTORE_PASS) -p:AndroidSigningStorePass=$(ANDROID_KEYSTORE_PASS)
My csproj has this PropertyGroup (normally):
<PropertyGroup Condition="$(TargetFramework.Contains('-android'))"> 		<AndroidKeyStore>True</AndroidKeyStore> 		<AndroidSigningKeyStore>.android/MY_KEY_NAME.keystore</AndroidSigningKeyStore> 		<AndroidSigningKeyAlias>MY_KEY_ALIAS</AndroidSigningKeyAlias> 	</PropertyGroup>
And I used this to try debugging with:
<PropertyGroup Condition="$(TargetFramework.Contains('-android'))"> 		<AndroidKeyStore>True</AndroidKeyStore> 		<AndroidSigningKeyStore>.android/MY_KEY_NAME.keystore</AndroidSigningKeyStore> 		<AndroidSigningKeyAlias>MY_KEY_ALIAS</AndroidSigningKeyAlias> 		<AndroidSigningKeyPass>PASS</AndroidSigningKeyPass> 		<AndroidSigningStorePass>PASS</AndroidSigningStorePass> 	</PropertyGroup>

Still getting the error stating "this version is not configured for billing", even after getting a signed Debug build going.
So if anyone has any ideas on that one, please let me know.

I did however find the issue for "error: "Error ADB0010 : Mono.AndroidTools.InstallFailedException: The package was not properly signed (NO_CERTIFICATES)."
Turns out my keystore file somehow got corrupted and I was missing the error. When I hit debug in the IDE and build would happen, and I was getting a generic "java build error code 2" or something like that. Hitting debug again would get past that error but the install failed with the error above. Luckily, I was smart enough to save off a copy of the keystone file and copying it back in and all worked correctly for the install.

Fixed one issue, still having another! So turns out signing the app was not the issue at all. I have confirmed that debugging a debug-signed version works fine and I the code can communicate with the Play billing APIs just fine.
Fix for error stating "this version is not configured for billing":

Make sure your testers and configured and they have accepted

I created a Closed testing track and under the "Testers" tab I included a test Gmail account
Logged into the phone with that account
At the bottom of the Track page, there is a "How testers join your test" section, copy that link and go to it on the phone, join the program

Navigate to the Play Console home screen, and click Settings from the left nav
Click the License testing link on that page

From here, you should see the Test group you created in the Track on the app page. You have to select a group and hit Save, see this link: https://community.revenuecat.com/sdks-51/android-says-this-version-of-the-application-is-not-configured-for-billing-through-google-play-3929

When you land on this page, it looks like its already selected, but it is not. So select your testers group, select "RESPOND_NORMALLY" for the Lincense response section and hit save. Now the billing seems to work correctly.

Now my problem is, if I call GetProductInfoAsync I get the product details back, but if I call PurchaseAsync it says it can not find the product! @wickedw did you see this issue?
I'm making progress which is good, but still not quite there.

The app has to be Published as well. Mine was in Unpublished, once published the billing worked great.


Wrong rotations in MLO entities

Upon exporting a MLO with rotated entities, the rotations have shown to be wrong both in CW and in-game, the Z axis of the quaternion needs to be inverted.
Blender:

CW: Ignore the entities' position

Fixed in b8f6b9158cfcca561a555387a25df7e3487da6ea


Added docfx metadata.

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


Adding a section for 0.33 to UPDATING.md

CATEGORY
Choose one

[ ] Bug Fix
[ ] Enhancement (new features, refinement)
[ ] Refactor
[ ] Add tests
[x] Build / Development Environment
[ ] Documentation

SUMMARY
I cherry-picked the update to FAB 2.0 to 0.33.rc1.dev2 so changing UPDATING.md to reflect the notable changes that will be included in 0.33.1. I'm not sure if we have a 0.33.1 planned or if we'll just go to 0.34.0 so we may want to wait to merge this.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

REVIEWERS
@john-bodley @mistercrunch
cc: @dpgaspar

@michellethomas should this have been merged?


script in based.html can't be executed

Expected Behavior
The script
<script>
    theme = localStorage.getItem('theme-scheme') || localStorage.getItem('darkmode:color-scheme') || 'light';
    if (theme == 'system') {
      if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
        theme = 'dark';
      } else {
        theme = 'light';
      }
    }
    document.documentElement.setAttribute('data-theme', theme);
  </script>

included in based.html should be executed, but it isn't.
Current Behavior
davidgs.com/:68 Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' https://app.posthog.com/ *.googletagmanager.com https://cdn.userfront.com https://commento.davidgs.com:8088  *.unpkg.com apis.google.com *.googleapis.com cdn.polyfill.io https://buttons.github.io  cdn.jsdelivr.net *.zencdn.net https://cdnjs.cloudflare.com https://*.google-analytics.com https://*.statcounter.com". Either the 'unsafe-inline' keyword, a hash ('sha256-WiE2LPSnZlTiP9NnrQN14OnMKI2ild8fGH0n+PhofS0='), or a nonce ('nonce-...') is required to enable inline execution.

So with no hash, it won't execute (and I'm not enabling unsafe-inline as that's just a bad idea. Can we move this script to a .js file that we can calculate a hash on?
Possible Solution
move all in-line scripts to a proper script file to be included.
Steps to Reproduce
Screenshots

Browsers Affected

[X] Chrome
[ ] Firefox
[ ] Edge
[X] Safari 11
[X] Safari 10
[ ] IE 11

Detailed Description

I'm working on a fix for this and all other 'in-line' scripts which will fail with a Content-Security policy that does not allow unsafe-inline

Addressed in #1004


Getting a blank form

I am getting a blank form whenever I try to open and run this app.
To Reproduce
Not sure how to reproduce this - it's happening no matter what I do, even if I restart the app.
Screenshots

Technical Info (please complete the following information)
Version: 6.8.0
Electron: 3.1.1
Chrome: 66.0.3359.181
Node: 10.2.0
V8: 6.6.346.32
OS: Linux x64 4.19.18-surface-linux-surface

It is so unfortunate I get this black form all the time but when I put it under the debugger it goes away. So I can't debug it, my suspicion though it is related to Authentication when it can't authenticate it shows a blank page.
I think someone with more time and/or experience needs to look into this.

looks like internet problem

Internet problem confirmed. Whenever I turn on my VPN half the apps and Firefox stop working. Opening a ticket with them.

It definitvely is NOT cause by VPN for me. Or Internet-Connection for this matter. On Firefox it loads not problem, with GNOME-Web (Epiphany) and chromium-based browsers it does NOT.
So some problem due to chromium engine?


Clarify/tweak some comments

One comment's phrasing was a bit confusing for me. The other I think was incorrect grammar.

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

Good catches, thanks :detective:


Retype run_audit and rhel8cis_sectionX variables to bool in conditions

Enhancements:
I ran to issue when running ansible command and setting variables via -e option, i.g. -e rhel8cis_section2=false. The false value is interpreted as string and non-empty string is evaluated as true. Retyping variables in conditions will fix it.
How has this been tested?:
N/A

Hi @miso231
Thank you for the PR, this particular question is something we have looked at and contemplated a few times. We are aware at that extra vars on the commandline passed as ini are always sent as a string. This while makes it easier for booleans this could also introduce issues if trying to pass and extra variable that needs to be an int or float.
If we change it for this one repo we would need to change it everywhere and this could in turn introduce more maintenance.
It is documented at ansible this particular scenario.
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#defining-variables-at-runtime
I have setup a little poll on the discord channel to see what people think.
Lets see what the consensus is and the work involved but i do see why this could be a preference.
Many thanks
uk-bolly

hi @miso231
I hope that the previous comment makes sense?
We have had no clear feedback either way on the booleans, so we are leaving as it currently is due to the huge uplift in work across all the managed repos that would be required.
best regards
uk-bolly

Hi, @uk-bolly
Yes, makes sense. You can close the issue


Emiting instance member property in .d.ts instead of a function in Mixin contexts (when no override)

TypeScript Version:  3.3.0-dev.20181201

Search Terms: mixin emit function instance class
I know you say that it was fixed. Here I write an example that shows that there are cases that still faill.
Code

export type Oxygen = { volume:number }

export class Creature {
    breathe(o: Oxygen):void {
        console.log('breathing', o.volume)
    };
}

export type Constructor<T> = new (...args: any[]) => T;

export function emergeAnimal<T extends Constructor<Creature>>(Base: T) {
    return class Animal extends Base{
        constructor(...args:any[]){
            super(args);
        }
        breathe(o: Oxygen): void {
            console.log("breathing like animal")
            super.breathe(o);
        }
    }
}

export var Animal = emergeAnimal(Creature);

var fish = new Animal()

fish.breathe({ volume: 2.1 });

function emergeDog<T extends Constructor<InstanceType<typeof Animal>>>(Animal: T) {
    return class Dog extends Animal{
        constructor(...args:any[]){
            super(args);
        }
    }
}

export var Dog = emergeDog(emergeAnimal(Creature));

var boss = new Dog();
boss.breathe({volume:4});

export function emergePoodle<T extends Constructor<InstanceType<typeof Dog>>>(Dog: T) {
    return class Poodle extends Dog{
        constructor(...args:any[]){
            super(args);
        }
        breathe(o: Oxygen) {
            super.breathe(o);
        }
    }
}

export var Poodle = emergePoodle(emergeDog(emergeAnimal(Creature)));

var poodle = new Poodle();
poodle.breathe({ volume: 4 });

{
    "compilerOptions": {
        "declaration": true,
        "lib":["es2015", "dom"],
        "target": "es2017",
        "module": "none",
        "strict": true,
        "outDir": "out"
    }
}

Expected behavior:
In emited .d.ts file:
// [...]
export declare var Dog: {
    new (...args: any[]): {
        breathe(o: Oxygen): void;
    };
} & {
    new (...args: any[]): {
        breathe(o: Oxygen): void;
    };
} & typeof Creature;
// [...]

Actual behavior:
In emited .d.ts file:
// [...]
export declare var Dog: {
    new (...args: any[]): {
        breathe: ((o: Oxygen) => void) & ((o: Oxygen) => void);
    };
} & {
    new (...args: any[]): {
        breathe(o: Oxygen): void;
    };
} & typeof Creature;
// [...]

Playground Link:
The playground doen't emits .d.ts
I upload a complete example in https://github.com/emilioplatzer/typescript-emmit.d.ts
There

example-m.ts is a medium example
out/example-m.d.ts is the incorrect result
example-a.ts is a complete (non nonsense) example that shows why can be needed a mixin like that
tsconfig.json the config file

Related Issues:
https://github.com/Microsoft/TypeScript/issues/14849
https://github.com/Microsoft/TypeScript/issues/14615
https://github.com/Microsoft/TypeScript/pull/14635

This may be a design limitation, since we actually see the signature as the intersection of two types and so emit is as such - and such a type ofc, cannot be a method (you can;t have an intersection for a method); but it might be worth looking into regardless.

The problem exists when I have a class without the method.
In the example the Dog class hasn't thebreathe method. If I add 'breathetoDog` the problem disappears and tsc emits what I expect.

I think about this. I still have this problem.
I suggest another posibility
Expected behavior (economic alternative):
In emited .d.ts file:
// [...]
export declare var Dog: {
   new (...args: any[]): {
        // no mention of breathe because it is not here
    };
} & {
   new (...args: any[]): {
       breathe(o: Oxygen): void;
    };
} & typeof Creature;
// [...]

This doesn't seem to be affecting enough people to warrant further investigations.


can't make it work

Hi,
sorry, i'm a complete beginner with code so it may seem obvious for you but I can't make it work. I got aviglitch to work with the datamosh command or by calling scripts, installed Gifsicle with homebrew, copied the avi_glitching/bin content in /usr/local/bin and created a _INPUT_DIR folder in my user folder. still, I get this error :
MacBook-Pro-de-robin:~ robin$ glitch all
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler (LoadError)
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/bin/helper.rb:6:in `<top (required)>'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/bin/glitch:3:in `<main>'

What did I do wrong ? Again, sorry for the noobish question and thanks for your time!

Do you have bundler installed? You might need to do gem install bundler and then cd /user/local/bin/avi_glitching && bundle install. It's been a while since I've looked at this repo though, so I'm not totally sure.

hi,
followed your instructions, now I get this error :
/Library/Ruby/Gems/2.0.0/gems/bundler-1.12.5/lib/bundler/definition.rb:23:in `build': /usr/local/Gemfile not found (Bundler::GemfileNotFound)
	from /Library/Ruby/Gems/2.0.0/gems/bundler-1.12.5/lib/bundler.rb:123:in `definition'
	from /Library/Ruby/Gems/2.0.0/gems/bundler-1.12.5/lib/bundler.rb:91:in `setup'
	from /Library/Ruby/Gems/2.0.0/gems/bundler-1.12.5/lib/bundler.rb:102:in `require'
	from /usr/local/bin/helper.rb:7:in `<top (required)>'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /usr/local/bin/glitch:3:in `<main>'

I think I misread your first message. Leave the files in avi_glitching/bin.
You should be able to run bundle install inside of the avi_glitching
directory.
On Wednesday, 7 September 2016, zupabxl<EMAIL_ADDRESS>wrote:

hi,
followed your instructions, now I get this error :
/Library/Ruby/Gems/2.0.0/gems/bundler-1.12.5/lib/bundler/definition.rb:23:in build': /usr/local/Gemfile not found (Bundler::GemfileNotFound)     from /Library/Ruby/Gems/2.0.0/gems/bundler-1.12.5/lib/bundler.rb:123:in definition'
from /Library/Ruby/Gems/2.0.0/gems/bundler-1.12.5/lib/bundler.rb:91:in setup'     from /Library/Ruby/Gems/2.0.0/gems/bundler-1.12.5/lib/bundler.rb:102:in require'
from /usr/local/bin/helper.rb:7:in <top (required)>'     from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require'     from /usr/local/bin/glitch:3:in '
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ScottKbka/avi_glitching/issues/2#issuecomment-245479089,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABweve5Te1R80oVhU9Gx9elV5BOsTpToks5qn3d8gaJpZM4J3M3a
.

--
SCOTT KOBEWKA(647) 458-0587
scottontheinter.net

Hey @zupabxl, I was curious if I could make this work again since it's been a while since I've looked at this code. I tried out datamosh.rb and it all worked. Here are the exact steps I took to make it work:
git clone git@github.com:ScottKbka/avi_glitching.git
cd avi_glitching
rbenv local 2.2.2 # see note below
bundle install
bin/datamosh.rb ~/Desktop/1.m4v -o done.mp4
open done.mp4

Note The gemfile doesn't state the ruby version. I couldn't run bundle install using ruby 2.3.1, so I tried an earlier version and everything worked.
You can probably ignore all the stuff I wrote in the readme about putting the scripts in your $PATH. I wrote that for some other folks when they were using this stuff.


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v5.5 to before v5.14.16",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=8756828a81485f7b28b588adbf0bac9bf6fc6651",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=f1e3cd1cc80204fd02b9e9843450925a2af90dc0"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "8756828a81485f7b28b588adbf0bac9bf6fc6651",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "f1e3cd1cc80204fd02b9e9843450925a2af90dc0",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "octeontx2-af: Fix possible null pointer dereference.\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.14.16 by commit f1e3cd1cc80204fd02b9e9843450925a2af90dc0, it was introduced in version v5.5 by commit 8756828a81485f7b28b588adbf0bac9bf6fc6651. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1002134


Poetry could not find a pyproject.toml file in {} or its parents

`poetry install
RuntimeError
Poetry could not find a pyproject.toml file in /home/hero or its parents
at .local/lib/python3.8/site-packages/poetry/core/factory.py:369 in locate
365│             if poetry_file.exists():
366│                 return poetry_file
367│
368│         else:
→ 369│             raise RuntimeError(
370│                 "Poetry could not find a pyproject.toml file in {} or its parents".format(
371│                     cwd
372│                 )
373│             )`

You have to navigate to the folder containing this project first, before running poetry install. If you're running Linux or macOS, you can do that by using the command cd.
This problem has nothing to do with the software itself, but I will look into updating the README to make things more clear.


Safecat

Coverage increased (+6.9%) to 43.678% when pulling efdc0abc882ce19e72891c8f7b1ef9c515a80347 on aponte411:safecat into d5fd52c818b07dcac4abe7eb852a216c80b6fde2 on keeppythonweird:master.


LabeledMarker: new (draggable) plot type

Features Suggestion
Feature description: Allow users to drag the text around
Example:
I copied the code from the DraggableMarkerPlot.cs to Text.cs. I can move the text around but drag cursor only appears on the text's alignment point. Detecting the text's alignment point is difficult if the font size is large.

I like this idea, thanks for suggesting it!
I also like the idea of adding a MarkerShape and MarkerSize (which defaults to zero) to Text.cs so the label and the marker could move together. If this is done maybe the Text type and the Marker type could both inherit a LabeledMarker base class (a new plot type) that has all this functionality in it, and the only difference between the two child classes is that the text or marker is hidden by default.
@Niravk1997 are you interested in making this modification and submitting it as a pull request? If not perhaps @BambOoxX may want to (it's similar to work they've been doing recently). Otherwise I'll leave this issue open and get to implementing this myself some time over the next week or two.

Detecting the text's alignment point is difficult if the font size is large

This is a very difficult problem to achieve! I'm happy to take a shortcut where we assume the text is not rotated and keep the math simple. Perhaps we could add logic like "if rotation is enabled treat the draggable area as a circle at the label's center with a diameter equal to the longest edge of the label"

If this is done maybe the Text type and the Marker type could both inherit a LabeledMarker base class

Dang, this is more complicated than I thought 😝
It's close to possible, but the existing APIs are slightly different so I can't do it without breaking things
I'll go for a bit of duplication here and just make a new plot type LabeledMarker

@swharden I tried to implement the draggable Text including the bounding box to the isUnderMouse test, but something seems broken in RectangleF.Contains would you have an idea about this ? See #1616

Implemented in #1616


Add node step to flow which returns the node of the capture

patch link https://softwarefactory-project.io/r/#/c/5628/


Add support for branches and instructions metric in verify task

Adding other types of coverage metric verification: branches and instructions

Thanks for the contribution, but unfortunately we have decided to follow a different path here: verification will be performed not on the plugin side, but by the IntelliJ Coverage Engine.
In the next versions of the plugin, this code will be removed and the IntelliJ verifier call will be implemented.

Ok, thanks for the information.
Do you mean it will still be available via plugin?
So it will be available for CI?
In this case would we add the current implementation until there is an alternative?
I'm trying to migrate the project to Gradle and this is unfortunately one of the important functions.
This will force me to maintain a fork until the new implementation is available

@mskonovalov, yes, verification will also be configuring via plugin, only the implementation of the verification itself will change. The current implementation is not a very nice temporary solution.
I expect that the next release will happen with a new verification implementation, so it will be pointless to apply these changes to the main branch. Therefore, unfortunately, you will have to use the forked version until the next release.


Error: Cannot find a valid baseurl for repo: extras

Dear All,
I have the following error with the migrate script :

[root@svr1 ~]# ./migrate2rocky.sh -r
migrate2rocky - Begin logging at Fri 25 Feb 2022 07:43:47 PM CST.
Removing dnf cache
Preparing to migrate CentOS Linux 8 to Rocky Linux 8.
Baseurl for extras is invalid, setting to .
Baseurl for AppStream is invalid, setting to .
Determining repository names for CentOS Linux 8.Error: Cannot find a valid baseurl for repo: extras
Failed to fetch info for package apr-util-ldap.x86_64.
An error occurred while we were attempting to convert your system to Rocky Linux. Your system may be unstable. Script will now exit to prevent possible damage.
A log of this installation can be found at /var/log/migrate2rocky.log
[root@svr1 ~]# cat /etc/redhat-release
CentOS Linux release 8.5.2111
And not https://github.com/rocky-linux/rocky-tools/issues/85

This happened to me, when the machine was unable to reach the centos.org repository, due to a missing proxy configuration/firewall in place.

I switched to centos-vault bcz Centos8 EOL，so can “yum clean all  && yum makecache” OK。
FYI:  https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651<IP_ADDRESS>e221b11QKtolj
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
[root@svr1 ~]# ls /etc/yum.repos.d/
CentOS-Base.repo  epel-modular.repo  epel.repo  epel-testing-modular.repo  epel-testing.repo  nux-dextop.repo

This happened to me, when the machine was unable to reach the centos.org repository, due to a missing proxy configuration/firewall in place.

migrate2rocky should have automatically switched to the vault mirror that is maintained by Rocky Linux.  Can you add set -x before line 609 and set +x before line 660, then run migrate2rocky again and copy the resulting migrate2rocky.log file here?
Thanks

migrate2rocky should have automatically switched to the vault mirror that is maintained by Rocky Linux. Can you add set -x before line 609 and set +x before line 660, then run migrate2rocky again and copy the resulting migrate2rocky.log file here?
Thanks

[root@svr1 ~]# cat  /var/log/migrate2rocky.log
migrate2rocky - Begin logging at Sat 26 Feb 2022 12:21:29 PM CST.
Removing dnf cache
Preparing to migrate CentOS Linux 8 to Rocky Linux 8.

local -A dist_repourl_map
dist_repourl_map=([centos:baseos]=https://dl.rockylinux.org/vault/centos/8.5.2111/BaseOS/$ARCH/os/ [centos:appstream]=https://dl.rockylinux.org/vault/centos/8.5.2111/AppStream/$ARCH/os/ [centos:ha]=https://dl.rockylinux.org/vault/centos/8.5.2111/HighAvailability/$ARCH/os/ [centos:powertools]=https://dl.rockylinux.org/vault/centos/8.5.2111/PowerTools/$ARCH/os/ [centos:extras]=https://dl.rockylinux.org/vault/centos/8.5.2111/extras/$ARCH/os/ [centos:devel]=https://dl.rockylinux.org/vault/centos/8.5.2111/Devel/$ARCH/os/)
for name in BaseOS AppStream PowerTools Devel
dist_repourl_map["centos:$name"]=https://dl.rockylinux.org/vault/centos/8.5.2111/BaseOS/x86_64/os/
for name in BaseOS AppStream PowerTools Devel
dist_repourl_map["centos:$name"]=https://dl.rockylinux.org/vault/centos/8.5.2111/AppStream/x86_64/os/
for name in BaseOS AppStream PowerTools Devel
dist_repourl_map["centos:$name"]=https://dl.rockylinux.org/vault/centos/8.5.2111/PowerTools/x86_64/os/
for name in BaseOS AppStream PowerTools Devel
dist_repourl_map["centos:$name"]=https://dl.rockylinux.org/vault/centos/8.5.2111/Devel/x86_64/os/
dist_repourl_map[centos:HighAvailability]=https://dl.rockylinux.org/vault/centos/8.5.2111/HighAvailability/x86_64/os/
enabled_repos=()
local -a enabled_repos
enabled_repo_check=()
declare -g -A enabled_repo_check
dist_repourl_swaps=()
declare -g -a dist_repourl_swaps
readarray -s 1 -t enabled_repos
++ dnf -q -y repolist --enabled
for r in "${enabled_repos[@]}"
enabled_repo_check[${r%% *}]=1
for r in "${enabled_repos[@]}"
enabled_repo_check[${r%% *}]=1
for r in "${enabled_repos[@]}"
enabled_repo_check[${r%% *}]=1
for r in "${enabled_repos[@]}"
enabled_repo_check[${r%% *}]=1
for r in "${enabled_repos[@]}"
enabled_repo_check[${r%% *}]=1
for r in "${enabled_repos[@]}"
enabled_repo_check[${r%% *}]=1
for k in "${!dist_repourl_map[@]}"
local d=centos r=ha
[[ centos != \c\e\n\t\o\s ]]
[[ ! -n '' ]]
continue
for k in "${!dist_repourl_map[@]}"
local d=centos r=PowerTools
[[ centos != \c\e\n\t\o\s ]]
[[ ! -n '' ]]
continue
for k in "${!dist_repourl_map[@]}"
local d=centos r=extras
[[ centos != \c\e\n\t\o\s ]]
[[ ! -n 1 ]]
check_repourl extras
repoinfo extras
[[ ! -n '' ]]
_repoinfo extras
local name val result
++ safednf -y -q --repo=extras repoinfo extras
++ args=()
++ for a in "$@"
++ [[ -n -y ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n -q ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n --repo=extras ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n repoinfo ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n extras ]]
++ args+=("$a")
++ dnf -y -q --repo=extras repoinfo extras
result='Repo-id            : extras
Repo-name          : CentOS-8.5.2111 - Extras - mirrors.aliyun.com
Repo-status        : enabled
Repo-revision      :<PHONE_NUMBER>
Repo-updated       : Fri Dec 10 20:56:25 2021
Repo-pkgs          : 38
Repo-available-pkgs: 38
Repo-size          : 426 k
Repo-baseurl       : http://mirrors.aliyun.com/centos-vault/8.5.2111/extras/x86_64/os/, http://mirrors.aliyuncs.com/centos-vault/8.5.2111/extras/x86_64/os/, http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/extras/x86_64/os/
Repo-expire        : 172800 second(s) (last: Sat Feb 26 12:21:30 2022)
Repo-filename      : /etc/yum.repos.d/CentOS-Base.repo
Total packages: 38'
[[ Repo-id            : extras
Repo-name          : CentOS-8.5.2111 - Extras - mirrors.aliyun.com
Repo-status        : enabled
Repo-revision      :<PHONE_NUMBER>
Repo-updated       : Fri Dec 10 20:56:25 2021
Repo-pkgs          : 38
Repo-available-pkgs: 38
Repo-size          : 426 k
Repo-baseurl       : http://mirrors.aliyun.com/centos-vault/8.5.2111/extras/x86_64/os/, http://mirrors.aliyuncs.com/centos-vault/8.5.2111/extras/x86_64/os/, http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/extras/x86_64/os/
Repo-expire        : 172800 second(s) (last: Sat Feb 26 12:21:30 2022)
Repo-filename      : /etc/yum.repos.d/CentOS-Base.repo
Total packages: 38 == \T\o\t\a\l\ \p\a\c\k\a\g\e\s:\ \0 ]]
repoinfo_results=()
declare -gA repoinfo_results
IFS=' :'
read -r name val
[[ -n Repo-id ]]
[[ -z Repo-id ]]
prev=Repo-id
repoinfo_results[$name]=extras
IFS=' :'
read -r name val
[[ -n Repo-name ]]
[[ -z Repo-name ]]
prev=Repo-name
repoinfo_results[$name]='CentOS-8.5.2111 - Extras - mirrors.aliyun.com'
IFS=' :'
read -r name val
[[ -n Repo-status ]]
[[ -z Repo-status ]]
prev=Repo-status
repoinfo_results[$name]=enabled
IFS=' :'
read -r name val
[[ -n Repo-revision ]]
[[ -z Repo-revision ]]
prev=Repo-revision
repoinfo_results[$name]=1639140985
IFS=' :'
read -r name val
[[ -n Repo-updated ]]
[[ -z Repo-updated ]]
prev=Repo-updated
repoinfo_results[$name]='Fri Dec 10 20:56:25 2021'
IFS=' :'
read -r name val
[[ -n Repo-pkgs ]]
[[ -z Repo-pkgs ]]
prev=Repo-pkgs
repoinfo_results[$name]=38
IFS=' :'
read -r name val
[[ -n Repo-available-pkgs ]]
[[ -z Repo-available-pkgs ]]
prev=Repo-available-pkgs
repoinfo_results[$name]=38
IFS=' :'
read -r name val
[[ -n Repo-size ]]
[[ -z Repo-size ]]
prev=Repo-size
repoinfo_results[$name]='426 k'
IFS=' :'
read -r name val
[[ -n Repo-baseurl ]]
[[ -z Repo-baseurl ]]
prev=Repo-baseurl
repoinfo_results[$name]='http://mirrors.aliyun.com/centos-vault/8.5.2111/extras/x86_64/os/, http://mirrors.aliyuncs.com/centos-vault/8.5.2111/extras/x86_64/os/, http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/extras/x86_64/os/'
IFS=' :'
read -r name val
[[ -n Repo-expire ]]
[[ -z Repo-expire ]]
prev=Repo-expire
repoinfo_results[$name]='172800 second(s) (last: Sat Feb 26 12:21:30 2022)'
IFS=' :'
read -r name val
[[ -n Repo-filename ]]
[[ -z Repo-filename ]]
prev=Repo-filename
repoinfo_results[$name]=/etc/yum.repos.d/CentOS-Base.repo
IFS=' :'
read -r name val
[[ -n Total ]]
[[ -z Total ]]
prev=Total
repoinfo_results[$name]='packages: 38'
IFS=' :'
read -r name val
[[ ! -n 1 ]]
++ awk '
$0=="[extras]",$0=="end_of_file" {
if (l++ < 1) {next}
else if (/^[.]$/) {nextfile}
else if (sub(/^gpgkey\s=\s*file:///,"")) {print; nextfile}
else {next}
}
'
repoinfo_results[Repo-gpgkey]=
++ awk '
BEGIN {FS="[)(]"}
/^# Managed by (.*) subscription-manager$/ {print $2}
'
repoinfo_results[Repo-managed]=
repoinfo_results_cache[$1]=1
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=38
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=enabled
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='CentOS-8.5.2111 - Extras - mirrors.aliyun.com'
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='packages: 38'
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='426 k'
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=extras
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='Fri Dec 10 20:56:25 2021'
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=/etc/yum.repos.d/CentOS-Base.repo
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=38
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='http://mirrors.aliyun.com/centos-vault/8.5.2111/extras/x86_64/os/, http://mirrors.aliyuncs.com/centos-vault/8.5.2111/extras/x86_64/os/, http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/extras/x86_64/os/'
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=1639140985
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='172800 second(s) (last: Sat Feb 26 12:21:30 2022)'
[[ ! -n http://mirrors.aliyun.com/centos-vault/8.5.2111/extras/x86_64/os/, http://mirrors.aliyuncs.com/centos-vault/8.5.2111/extras/x86_64/os/, http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/extras/x86_64/os/ ]]
curl -sfLI http://mirrors.aliyun.com/centos-vault/8.5.2111/extras/x86_64/os/,repodata/repomd.xml
return
dist_repourl_swaps+=("--setopt=$r.mirrorlist=" "--setopt=$r.metalink=" "--setopt=$r.baseurl=" "--setopt=$r.baseurl=${dist_repourl_map[$k]}")
infomsg 'Baseurl for %s is invalid, setting to %s.\n' extras ''
local msg
msg_format msg 'Baseurl for %s is invalid, setting to %s.\n' extras ''
local _var
_var=msg
shift
((  3 > 1  ))
printf -v msg 'Baseurl for %s is invalid, setting to %s.\n' extras ''
printf %s 'Baseurl for extras is invalid, setting to .
'
Baseurl for extras is invalid, setting to .
printf %s%s%s '' 'Baseurl for extras is invalid, setting to .
' ''
for k in "${!dist_repourl_map[@]}"
local d=centos r=HighAvailability
[[ centos != \c\e\n\t\o\s ]]
[[ ! -n '' ]]
continue
for k in "${!dist_repourl_map[@]}"
local d=centos r=devel
[[ centos != \c\e\n\t\o\s ]]
[[ ! -n '' ]]
continue
for k in "${!dist_repourl_map[@]}"
local d=centos r=AppStream
[[ centos != \c\e\n\t\o\s ]]
[[ ! -n 1 ]]
check_repourl AppStream
repoinfo AppStream
[[ ! -n '' ]]
_repoinfo AppStream
local name val result
++ safednf -y -q --repo=AppStream --setopt=extras.mirrorlist= --setopt=extras.metalink= --setopt=extras.baseurl= --setopt=extras.baseurl= repoinfo AppStream
++ args=()
++ for a in "$@"
++ [[ -n -y ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n -q ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n --repo=AppStream ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n --setopt=extras.mirrorlist= ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n --setopt=extras.metalink= ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n --setopt=extras.baseurl= ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n --setopt=extras.baseurl= ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n repoinfo ]]
++ args+=("$a")
++ for a in "$@"
++ [[ -n AppStream ]]
++ args+=("$a")
++ dnf -y -q --repo=AppStream --setopt=extras.mirrorlist= --setopt=extras.metalink= --setopt=extras.baseurl= --setopt=extras.baseurl= repoinfo AppStream
result='Repo-id            : AppStream
Repo-name          : CentOS-8.5.2111 - AppStream - mirrors.aliyun.com
Repo-status        : enabled
Repo-revision      : 8.5.2111
Repo-distro-tags      : [cpe:/o:centos:centos:8]:  , 8, C, O, S, e, n, t
Repo-updated       : Fri Dec 31 14:06:52 2021
Repo-pkgs          : 6533
Repo-available-pkgs: 5596
Repo-size          : 11 G
Repo-baseurl       : http://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/x86_64/os/, http://mirrors.aliyuncs.com/centos-vault/8.5.2111/AppStream/x86_64/os/, http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/AppStream/x86_64/os/
Repo-expire        : 172800 second(s) (last: Sat Feb 26 12:21:34 2022)
Repo-filename      : /etc/yum.repos.d/CentOS-Base.repo
Total packages: 6533'
[[ Repo-id            : AppStream
Repo-name          : CentOS-8.5.2111 - AppStream - mirrors.aliyun.com
Repo-status        : enabled
Repo-revision      : 8.5.2111
Repo-distro-tags      : [cpe:/o:centos:centos:8]:  , 8, C, O, S, e, n, t
Repo-updated       : Fri Dec 31 14:06:52 2021
Repo-pkgs          : 6533
Repo-available-pkgs: 5596
Repo-size          : 11 G
Repo-baseurl       : http://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/x86_64/os/, http://mirrors.aliyuncs.com/centos-vault/8.5.2111/AppStream/x86_64/os/, http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/AppStream/x86_64/os/
Repo-expire        : 172800 second(s) (last: Sat Feb 26 12:21:34 2022)
Repo-filename      : /etc/yum.repos.d/CentOS-Base.repo
Total packages: 6533 == \T\o\t\a\l\ \p\a\c\k\a\g\e\s:\ \0 ]]
repoinfo_results=()
declare -gA repoinfo_results
IFS=' :'
read -r name val
[[ -n Repo-id ]]
[[ -z Repo-id ]]
prev=Repo-id
repoinfo_results[$name]=AppStream
IFS=' :'
read -r name val
[[ -n Repo-name ]]
[[ -z Repo-name ]]
prev=Repo-name
repoinfo_results[$name]='CentOS-8.5.2111 - AppStream - mirrors.aliyun.com'
IFS=' :'
read -r name val
[[ -n Repo-status ]]
[[ -z Repo-status ]]
prev=Repo-status
repoinfo_results[$name]=enabled
IFS=' :'
read -r name val
[[ -n Repo-revision ]]
[[ -z Repo-revision ]]
prev=Repo-revision
repoinfo_results[$name]=8.5.2111
IFS=' :'
read -r name val
[[ -n Repo-distro-tags ]]
[[ -z Repo-distro-tags ]]
prev=Repo-distro-tags
repoinfo_results[$name]='[cpe:/o:centos:centos:8]:  , 8, C, O, S, e, n, t'
IFS=' :'
read -r name val
[[ -n Repo-updated ]]
[[ -z Repo-updated ]]
prev=Repo-updated
repoinfo_results[$name]='Fri Dec 31 14:06:52 2021'
IFS=' :'
read -r name val
[[ -n Repo-pkgs ]]
[[ -z Repo-pkgs ]]
prev=Repo-pkgs
repoinfo_results[$name]=6533
IFS=' :'
read -r name val
[[ -n Repo-available-pkgs ]]
[[ -z Repo-available-pkgs ]]
prev=Repo-available-pkgs
repoinfo_results[$name]=5596
IFS=' :'
read -r name val
[[ -n Repo-size ]]
[[ -z Repo-size ]]
prev=Repo-size
repoinfo_results[$name]='11 G'
IFS=' :'
read -r name val
[[ -n Repo-baseurl ]]
[[ -z Repo-baseurl ]]
prev=Repo-baseurl
repoinfo_results[$name]='http://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/x86_64/os/, http://mirrors.aliyuncs.com/centos-vault/8.5.2111/AppStream/x86_64/os/, http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/AppStream/x86_64/os/'
IFS=' :'
read -r name val
[[ -n Repo-expire ]]
[[ -z Repo-expire ]]
prev=Repo-expire
repoinfo_results[$name]='172800 second(s) (last: Sat Feb 26 12:21:34 2022)'
IFS=' :'
read -r name val
[[ -n Repo-filename ]]
[[ -z Repo-filename ]]
prev=Repo-filename
repoinfo_results[$name]=/etc/yum.repos.d/CentOS-Base.repo
IFS=' :'
read -r name val
[[ -n Total ]]
[[ -z Total ]]
prev=Total
repoinfo_results[$name]='packages: 6533'
IFS=' :'
read -r name val
[[ ! -n 1 ]]
++ awk '
$0=="[AppStream]",$0=="end_of_file" {
if (l++ < 1) {next}
else if (/^[.]$/) {nextfile}
else if (sub(/^gpgkey\s=\s*file:///,"")) {print; nextfile}
else {next}
}
'
repoinfo_results[Repo-gpgkey]=
++ awk '
BEGIN {FS="[)(]"}
/^# Managed by (.*) subscription-manager$/ {print $2}
'
repoinfo_results[Repo-managed]=
repoinfo_results_cache[$1]=1
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=6533
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=enabled
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='CentOS-8.5.2111 - AppStream - mirrors.aliyun.com'
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='packages: 6533'
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='11 G'
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=AppStream
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='Fri Dec 31 14:06:52 2021'
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=/etc/yum.repos.d/CentOS-Base.repo
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=5596
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='[cpe:/o:centos:centos:8]:  , 8, C, O, S, e, n, t'
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='http://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/x86_64/os/, http://mirrors.aliyuncs.com/centos-vault/8.5.2111/AppStream/x86_64/os/, http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/AppStream/x86_64/os/'
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]=8.5.2111
for k in "${!repoinfo_results[@]}"
repoinfo_results_cache[$1:$k]='172800 second(s) (last: Sat Feb 26 12:21:34 2022)'
[[ ! -n http://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/x86_64/os/, http://mirrors.aliyuncs.com/centos-vault/8.5.2111/AppStream/x86_64/os/, http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/AppStream/x86_64/os/ ]]
curl -sfLI http://mirrors.aliyun.com/centos-vault/8.5.2111/AppStream/x86_64/os/,repodata/repomd.xml
return
dist_repourl_swaps+=("--setopt=$r.mirrorlist=" "--setopt=$r.metalink=" "--setopt=$r.baseurl=" "--setopt=$r.baseurl=${dist_repourl_map[$k]}")
infomsg 'Baseurl for %s is invalid, setting to %s.\n' AppStream ''
local msg
msg_format msg 'Baseurl for %s is invalid, setting to %s.\n' AppStream ''
local _var
_var=msg
shift
((  3 > 1  ))
printf -v msg 'Baseurl for %s is invalid, setting to %s.\n' AppStream ''
printf %s 'Baseurl for AppStream is invalid, setting to .
'
Baseurl for AppStream is invalid, setting to .
printf %s%s%s '' 'Baseurl for AppStream is invalid, setting to .
' ''
for k in "${!dist_repourl_map[@]}"
local d=centos r=BaseOS
[[ centos != \c\e\n\t\o\s ]]
[[ ! -n '' ]]
continue
for k in "${!dist_repourl_map[@]}"
local d=centos r=appstream
[[ centos != \c\e\n\t\o\s ]]
[[ ! -n '' ]]
continue
for k in "${!dist_repourl_map[@]}"
local d=centos r=Devel
[[ centos != \c\e\n\t\o\s ]]
[[ ! -n '' ]]
continue
for k in "${!dist_repourl_map[@]}"
local d=centos r=baseos
[[ centos != \c\e\n\t\o\s ]]
[[ ! -n '' ]]
continue
for k in "${!dist_repourl_map[@]}"
local d=centos r=powertools
[[ centos != \c\e\n\t\o\s ]]
[[ ! -n '' ]]
continue
set +x
Determining repository names for CentOS Linux 8.Error: Cannot find a valid baseurl for repo: extras

Failed to fetch info for package apr-util-ldap.x86_64.
An error occurred while we were attempting to convert your system to Rocky Linux. Your system may be unstable. Script will now exit to prevent possible damage.
[root@svr1 ~]#

Can you try this version of migrate2rocky please?
https://raw.githubusercontent.com/pajamian/rocky-tools/repo_fix/migrate2rocky/migrate2rocky.sh
Thanks

Can you try this version of migrate2rocky please? https://raw.githubusercontent.com/pajamian/rocky-tools/repo_fix/migrate2rocky/migrate2rocky.sh
Thanks

BAD.....
[root@svr1 ~]# ./pajamian_rocky-tools_repo_fix_migrate2rocky_migrate2rocky.sh  -r
migrate2rocky - Begin logging at Sat 26 Feb 2022 04:12:36 PM CST.
Removing dnf cache
Preparing to migrate CentOS Linux 8 to Rocky Linux 8.
Determining repository names for CentOS Linux 8......
Found the following repositories which map from CentOS Linux 8 to Rocky Linux 8:
CentOS Linux 8  Rocky Linux 8
AppStream       appstream
base            baseos
extras          extras
Getting system package names for CentOS Linux 8........Error: No Matches found
Can't get package that provides /etc/yum.repos.d/CentOS-Base.repo.
An error occurred while we were attempting to convert your system to Rocky Linux. Your system may be unstable. Script will now exit to prevent possible damage.
A log of this installation can be found at /var/log/migrate2rocky.log

It looks like the fix worked, but you have a .repo file which contains all your system packages but it doesn't actually belong to a package itself (ie: centos-linux-repos).  This is an edge case that migrate2rocky currently doesn't allow for, but it can be made to work (and it looks like I'm going to have to figure out a way to get migrate2rocky to recognize it and work with it).  For starters let's verify the issue, what's the output of:
rpm -qf /etc/yum.repos.d/CentOS-Base.repo
echo "==========================="
rpm -qa centos\*

It looks like the fix worked, but you have a .repo file which contains all your system packages but it doesn't actually belong to a package itself (ie: centos-linux-repos). This is an edge case that migrate2rocky currently doesn't allow for, but it can be made to work (and it looks like I'm going to have to figure out a way to get migrate2rocky to recognize it and work with it). For starters let's verify the issue, what's the output of:
rpm -qf /etc/yum.repos.d/CentOS-Base.repo
echo "==========================="
rpm -qa centos\*

[root@svr1 ~]# ls /etc/yum.repos.d/
CentOS-Base.repo  epel-modular.repo  epel.repo  epel-testing-modular.repo  epel-testing.repo  nux-dextop.repo
[root@svr1 ~]# cd /etc/yum.repos.d/
[root@svr1 yum.repos.d]# rpm -qa CentOS-Base.repo
[root@svr1 yum.repos.d]# rpm -qa centos*
centos-logos-85.8-2.el8.x86_64
centos-linux-repos-8-3.el8.noarch
centos-linux-release-8.5-1.2111.el8.noarch
centos-gpg-keys-8-3.el8.noarch
[root@svr1 yum.repos.d]#

[root@svr1 yum.repos.d]# rpm -qa CentOS-Base.repo

That's rpm -qf ... not -qa.  Can you please show the output of rpm -qf /etc/yum.repos.d/CentOS-Base.repo as requested.

centos-linux-repos-8-3.el8.noarch

...and can you show the output of rpm -ql centos-linux-repos ?

[root@svr1 yum.repos.d]# rpm -qf /etc/yum.repos.d/CentOS-Base.repo
file /etc/yum.repos.d/CentOS-Base.repo is not owned by any package

This is what I thought.

[root@svr1 yum.repos.d]# rpm -ql centos-linux-repos
...
/etc/yum.repos.d/CentOS-Linux-AppStream.repo
/etc/yum.repos.d/CentOS-Linux-BaseOS.repo
/etc/yum.repos.d/CentOS-Linux-ContinuousRelease.repo
/etc/yum.repos.d/CentOS-Linux-Debuginfo.repo
/etc/yum.repos.d/CentOS-Linux-Devel.repo
/etc/yum.repos.d/CentOS-Linux-Extras.repo
/etc/yum.repos.d/CentOS-Linux-FastTrack.repo
/etc/yum.repos.d/CentOS-Linux-HighAvailability.repo
/etc/yum.repos.d/CentOS-Linux-Media.repo
/etc/yum.repos.d/CentOS-Linux-Plus.repo
/etc/yum.repos.d/CentOS-Linux-PowerTools.repo
/etc/yum.repos.d/CentOS-Linux-Sources.repo
...
None of the above .repo files exist on your system, and the file that contains your system repos is the wrong file.  This falls under the following warning:

https://github.com/rocky-linux/rocky-tools/blob/main/migrate2rocky/README.md#custom-replacements-of-default-repositories
Any distribution that has had its core repositories altered, removed, duplicated or overridden may cause migrate2rocky to break or corrupt the system when run. Any attempt to migrate such systems, even after reversing the changes made by such software, is not supported in any way.
...my suggestion:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.DISABLED
dnf --disablerepo=\* reinstall https://dl.rockylinux.org/vault/centos/8.5.2111/BaseOS/x86_64/os/Packages/centos-linux-repos-8-3.el8.noarch.rpm

Then run the new copy of migrate2rocky that I shared with you.

...my suggestion:
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.DISABLED
dnf --disablerepo=\* reinstall https://dl.rockylinux.org/vault/centos/8.5.2111/BaseOS/x86_64/os/Packages/centos-linux-repos-8-3.el8.noarch.rpm

Then run the new copy of migrate2rocky that I shared with you.

It works!!!
Now is upgrading and reinstall 1659 packages, waiting for final result.


validation-test: adjust stdlib tests for Windows

The embedded shell script in the RUN command for lit is problematic for
non-sh shell environments (i.e. Windows).  This adjusts the tests to
uniformly build the code for the ObjC runtime.  However, the Objective-C
code is only built under the same circumstances that it is currently
enabled - the availability of the needed frameworks.  The empty object
on other runtimes will have no material impact.  The swift side of it
checks whether the runtime is built with ObjC interop.  This allows us
to largely use the same command line for all the targets.  The last
missing piece is that the -fobjc-runtime requires that we run a modern
ObjC runtime.  We enable this unconditionally in lit for the non-Apple
targets.
This improves the validation test coverage for the standard library on
Windows.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

CC: @milseman @mikeash @Catfish-Man

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - ccf2666ada042585a8cd3482b2afbc83d5ddca73

@swift-ci please test

@swift-ci please test


Error when using electron-forge

Hi,
I'm using webpack-license-plugin with electron-forge. Since the update to 4.3.0 I'm experiencing the following error:

ERROR in WebpackLicensePlugin: Found licenses after license files were already created. If you see this message, you ran into an edge case we thought would not happen. Please open an isssue at https://github.com/codepunkt/webpack-license-plugin/issues with details of your webpack configuration so we can invastigate it further. compiler: undefined, isChild: false compiler: HtmlWebpackCompiler, isChild: true compiler: undefined, isChild: false

The previous versions of webpack-license-plugin worked fine.
How to reproduce:

Create an electron-forge project (npm init electron-app@latest my-app -- --template=webpack-typescript)
Install webpack-license-plugin
Add webpack-license-plugin to webpack.plugins.ts
Run npm run package

Thank you in advance for your help :)

So 4.2.3 works in that setup, and all versions since are broken?

I just retested with the patch versions of 4.2.x
4.2.0 -> working
4.2.1 and up -> broken


Windows Information Protection support as enlightened app

Add support as enlightened app for Windows Information Protection on Windows 10 computers

@bernie-d Can you explain what you actually mean by that?

Copying from Microsoft's documentation:

Windows Information Protection (WIP) classifies apps into two categories: enlightened and unenlightened. Enlighted apps can differentiate between corporate and personal data, correctly determining which to protect based on internal policies. Corporate data is encrypted on the managed device and attempts to copy/paste or share this information with non-corporate apps or people will fail. Unenlightened apps, when marked as corporate-managed, consider all data corporate and encrypt everything by default.

please see the links below for more detailed information

https://docs.microsoft.com/en-us/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip
https://docs.microsoft.com/en-us/windows/security/information-protection/windows-information-protection/app-behavior-with-wip

Also below is the developer guide

https://docs.microsoft.com/en-us/windows/uwp/enterprise/wip-dev-guide

Basically it would involve coding the application to support the WIP APIs when WIP has been enabled on a device/for a user. Without this capability VSCode will encrypt any files it edits if marked as a corporate/managed app. If VSCode were integrated with the APIs mentions then it can allow for any personal files that are edited and saved to continue to be marked as personal (unencrypted). It would make it context aware for personal and corporate data under this Windows 10 feature.


[WIP] Add general taxonomy

From the dataset doc:

Fondant should define a taxonomy of general data types that components can use. We should try to cover as many general cases as we can without making it too complex.

This is a first draft of how this could look like. Basically, each component would need to define expected input and output data sources (they are still called data sources in the code base). Fondant will then check whether those are met based on the input and output manifests.

Closing this since we'll start without a taxonomy.


How to add box-shadow for React-native?

in essence:
shadowOffset:{  width: 10,  height: 10,  },
shadowColor: 'black',
shadowOpacity: 1.0,

Just like normal CSS: https://developer.mozilla.org/de/docs/Web/CSS/box-shadow
const BoxShadow = styled.div`
  box-shadow: 10px 5px 5px black;
`

@k15a I forgot to add that this is on react-native

/cc @jacobp100 we should write some docs specifically for ReactNative on the new website. https://github.com/styled-components/styled-components-website

For some reason @k15a @mxstbr  the following two give me different results in terms of styling(equivalent property values):
const styles = StyleSheet.create({
  containerStyle: {
    borderWidth: 1,
    borderRadius: 2,
    borderColor: '#ddd',
    borderBottomWidth: 0,
    shadowColor: '#000',
    shadowOffset: { width: 0, height: 2 },
    shadowOpacity: 0.8,
    shadowRadius: 2,
    elevation: 1,
    marginLeft: 5,
    marginRight: 5,
    marginTop: 10,
  }
})```

```const StyledView = styled.View`
  border-width: 1;
  border-radius: 2;
  border-color: #ddd;
  border-bottom-width: 0;
  shadow-color: #000;
  shadow-offset: {width: 0, height: 2};
  shadow-opacity: 0.8;
  shadow-radius: 2;
  elevation: 1;
  margin-left: 5;
  margin-right: 5;
  margin-top: 10;

NOTICE THE DIFFERENT PLACEMENT OF SHADOW:

You can use shadow-offset: 5px 10px where the values are width and height, respectively. I think you got the rest!

These props are relevant only to iOS right?
shadow-color, shadow-offset, shadow-opacity, shadow-radius
Will they work on Android?

@guysegal they won't since shadows are not supported on RN Android. But you can use elevation

<View
      style={{
        shadowOpacity: 0.75,
        shadowRadius: 5,
        shadowColor: 'red',
        shadowOffset: { height: 0, width: 0 },
      }}
    >

Is this working? Trying to put some shadow on a view with the exact same above code and nothing is happening.

It only works for iOS IIRC

We're building React Native for iOS and it's not showing up.

Does it work with the native StyleSheet.create?

@ColinFendrick Does this definitely not work for you?
styled.View`
  shadow-opacity: 0.75;
  shadow-radius: 5px;
  shadow-color: red;
  shadow-offset: 0px 0px;
`

Figured out the problem. overflow: hidden; will ofc turn that box shadow off. Thanks.

This isn't working for me, I tried to add:
box-shadow: 10px 5px 5px black;

but it gives me the following warning:
Error:  Error: "boxShadow" is not a valid style property.
StyleSheet generated: {
  "borderBottomWidth": 1,
  "borderBottomColor": "#ebebeb",
  "display": "flex",
  "flexDirection": "row",
  "alignItems": "center",
  "backgroundColor": "#fff",
  "boxShadow": "10px 5px 5px black"
}

@mxstbr @philpl Do we want to try and support a translation from box-shadow to various shadow-* properties?

@jacobp100 Yes! I'd love that :heart: :smile:

my emulator is android but the shadow props dont work!!!

@dakdreams AFAIK android doesn't support shadows.
Try elevation:

(Android-only) Sets the elevation of a view, using Android's underlying elevation API. This adds a drop shadow to the item and affects z-order for overlapping views. Only supported on Android 5.0+, has no effect on earlier versions.

As @jasan-s pointed out, the shadows seem to be on the top instead of the bottom of the View. Any way around this?

Upvote here: https://react-native.canny.io/feature-requests/p/shadow-does-not-appear-if-overflow-hidden-is-set-on-ios

I tried this
shadowOffset:{  width: 10,  height: 10,  },
shadowColor: 'black',
shadowOpacity: 1.0,
but I have some text inside the view and it make the text have shadow too, any way around this?

I just tried wrapping a scrollview with text in a view styled with shadow props, but as @Nemesis30G said the shadow actually applied to the text inside the scrollview, not around the borders of the view.. What gives?

Set a background colour on the scrollview

This is different than CSS style.

Inset is not working.

OK

[ ] 1

inset is not supported by React native

The issue with shadowOffset should be documented a little bit better. The only way to work with shadowOffset on React Native was by using the shorthand property
boxShadow: 1px 10px 10px black

elevation:4,
shadowOffset: { width: 5, height: 5 },
shadowColor: "grey",
shadowOpacity: 0.5,
shadowRadius: 10,
Dont forget to put margin and padding efficiently as the shadows wont fall out of the container view in android.. However in iOS it shudn't be an issue

So is anybody going to answer why shadows are appearing on top on IOS, no matter what the shadowOffset properties, @jasan-s pointed out?

elevation:4,
shadowOffset: { width: 5, height: 5 },
shadowColor: "grey",
shadowOpacity: 0.5,
shadowRadius: 10,
Dont forget to put margin and padding efficiently as the shadows wont fall out of the container view in android.. However in iOS it shudn't be an issue

all above solutions doesn't worked in android but this works!!! :smiley:

try this https://www.npmjs.com/package/react-native-cardview

Just like normal CSS: https://developer.mozilla.org/de/docs/Web/CSS/box-shadow
const BoxShadow = styled.div`
  box-shadow: 10px 5px 5px black;
`

what is this syntax @k15a
as we are used to with react native to have:
style: {
//some react native css info
}

This seems to be working fine for me:
const IconImage = styled.Image`
  height: 30px;
  width: 30px;
  shadow-color: #000;
  shadow-offset: 1px 1px;
  shadow-opacity: 0.5;
  shadow-radius: 2px;
`;

I tried this
shadowOffset:{ width: 10, height: 10, },
shadowColor: 'black',
shadowOpacity: 1.0,
but I have some text inside the view and it make the text have shadow too, any way around this?

Hi is there a solution for this ?

elevation:4,
shadowOffset: { width: 5, height: 5 },
shadowColor: "grey",
shadowOpacity: 0.5,
shadowRadius: 10,
Dont forget to put margin and padding efficiently as the shadows wont fall out of the container view in android.. However in iOS it shudn't be an issue

all above solutions doesn't worked in android but this works!!! 😃

thanks


Switch back to system database/environment

Hi
I have manual tenant identification by header and middleware. But there is a specific case use that I want to use a global notifications table. The table works okey, but in a place a need to use one element from a tenant and then put it back again in the global notifications table.
I tried some ways to reset the tenant specification without success.
        $account = Account::whereUuid($tenant_uuid)->firstOrFail();
// this notification works fine because accounts are global and notifications too
        \Notification::send($account, new WialonWebhookNotification("Check unit {$request->get('unit')}", $request->all()));

// Then I enter to find an element, which It works too, and retrieves the element
        $environment = app(\Hyn\Tenancy\Environment::class);
        $environment->tenant($account);
        $device = Trip::findOrFail($trip_id)->truck->device;

        config(['database.connections.tenant.database' => 'mydatabasename']);
// Here it fails because dont switch back to system environment
        $device->notify(new WialonWebhookNotification("Check unit {$request->get('unit')}", $request->all()));

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'f1b45786af864c1f813187bb0b18f540.notifications' doesn't exist (SQL: insert into `notifications` (`id`, `type`, `data`, `read_at`, `notifiable_id`, `notifiable_type`, `updated_at`, `created_at`) values (71f274e1-33a4-4331-9d79-0d4a47892294, App\Notifications\WialonWebhookNotification, {"message":"Check unit PTS003","unit":"PTS003","timestamp":"2019-05-02 "X-Tenant-Id":"f1b45786af864c1f813187bb0b18f540","trip_id":"49","device":"6"}, ?, 6, App\Device, 2019-05-02 07:55:49, 2019-05-02 07:55:49))

Any idea?
Thanks

Please follow the issue template.  It prompts you to provide much of the information we need to best support you.  Questions are better asked on our discord chat or forums.
The system connection is always available, regardless of whether a tenant has been identified or not.  Just use the UsesSystemConnection trait.
Also, I'm not sure why you're setting the config directly.  Please refer to the docs on how to manually identify tenants.

@Punksolid If you have any lucky can you share the solution?


How can I use facets

When I use elasticsearch-model, I find there has nothing to do with the facets search ,then I edit the source to achieve my function,will it be better to add the facets to the response?
Elasticsearch::Model::Response::Response
def facets
response['facets']
end
    def terms name=nil
      facets[name]['terms']
    end

@magieSky Can I help somehow? Or should we close this?


Currying support

I just recently started using TypeDoc - mostly for documentation - but I am wondering if it just doesn't support currying or if I am implementing it incorrectly.
I have the below file:
/**
 * Helper File
 * @description Contains helper functions needed for multiple entities
 * @exports setParentData
 */

/** ignore this comment */
import React from "react";

/**
 * Takes in an array of props and runs the change function in props.
 * Used in the children where change is passed down from parent for state management.
 * Using currying to pass props, then field, then (e) change event for onchange in child.
 * @param {any} props
 * @param {string} field
 * @param {React.ChangeEvent} e
 */
export const setParentData = (props: any) => (field: string) => (
  e: React.ChangeEvent<any>
) => {
  props.change(field, e.currentTarget.value);
};

and get this output:

Thanks for any help in advance!

The "Anonymous function" type certainly isn't ideal, we should support this pattern, and I thought we did... but apparently not. I don't think you did anything wrong.

I just installed typedoc and experienced the same thing.
For example this function:
export const numberGreaterThan = (otherNum: number) => (num: number) => num > otherNum

got this signature:
numberGreaterThan(otherNum: number): (Anonymous function)

It's not just functions that returns functions though, it is higher order functions in general. Functions in parameters just becomes function
Example:
validateField<T>(...tuples: Array<[function, string]>): (Anonymous function)

In 0.20, the code in the OP renders as:

This still isn't exactly ideal, but the confusing non-indented tags is a theme issue, this issue has been resolved


Nonmappable sort keys

Part of #3021
Provide support for nonmappable sort keys.
Add tests for ExtractFreeMap.

@alissapajer Ping me when you're finished with the changes you mentioned and I'll merge!

@wemrysi ready for another look!


Build validation rules from known types

This PR fixes #396.
External constraints (previously validation rules) are now assembled from KnownTypes. Also, any KnownTypes extension will trigger an update of ExternalConstraints and ExternalConstraintOptions singletons.
As a part of the PR we have also renamed validationOf Protobuf option to constraintFor. During an update to the current base module version, the compilation will fail in case of previous validationOf usage.

@armiol PTAL.

@armiol PTAL.

@armiol PTAL

The PR is closed because it was not showing the latest changes. The #404 is a new attempt.


Move versioning logic out of 'widget'

This change moves the versioning code, needed to fix the "multiple inputs" issue, out of VirtualDOM.Internal and into the Component module, the only place where it is used.
This should make it easier for widgets to implement their own custom diffing code. Now each widget contains:

Its "context" ctx, created during init and passed to update.
Its "value" val. In the Component module the value is the version, an Int, and we only update if the version increased. In general though, this could be used for more fine-grained diffing.

The high-level API hasn't changed apart from to rename state to context, since the state never really changed.
@jdegoes @garyb Could you please review?

:+1:


rm/reorg some unused build tags, include the json1 extension

which evidently is currently not working

Codecov Report

Merging #135 (f26fdb9) into main (9771027) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #135   +/-   ##
=======================================
  Coverage   67.11%   67.11%
=======================================
  Files          12       12
  Lines         663      663
=======================================
  Hits          445      445
  Misses        126      126
  Partials       92       92

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 9771027...f26fdb9. Read the comment docs.


fall back to formatting entire document outside of git repos or when lsp doesn't support range formatting

Add an option to do this

This is a good shout, I'll implement this when I have some time free.

Had a chance to think more about this today. Here's my current stance.

Fall back to formatting

@bagel897
Had a chance to think more about this today. My current view: I’m against adding new options, but all for changing the API to enable these uses. For this kind of workflow it's better to step away from the attach style of setup (which is for convenience really) and take things more into your own hands. I'm actually in two minds whether or not to deprecate the whole attach dance (:FormatModifications command included, since its semantics can be unintuitive) and guide folks toward the "hard way" (with a bunch of example setups).
To address the issue direct: there are two separate asks here, and both can be solved with the same solution. Here’s what I think would work:

Change the core API functions so that they return a boolean indicating success. If the LSP server doesn't support range formatting, or we're outside of a Git repository, it'll be signalled by a false return value.
You can inspect this result and decide what to do of your own accord. I.e. if we fail, you can fall back to full-document formatting, abort entirely, or do something else -- but the logic will live in your config. I think this beats adding specific fallback options to the plugin.

A future 'blessed configuration' would look like this:
local on_attach = function(client, bufnr)
  -- your usual configuration — options, keymaps, etc
  -- ...

  -- setup autocmd to format modifications on save
  local augroup_id = vim.api.nvim_create_augroup(
    "NvimFormatModificationsDocumentFormattingGroup",
    { clear = false }
  )
  vim.api.nvim_clear_autocmds({ group = augroup_id, buffer = bufnr })

  vim.api.nvim_create_autocmd(
    { "BufWritePre" },
    {
      group = augroup_id,
      buffer = bufnr,
      callback = function()
        local lsp_format_modifications = require"lsp-format-modifications"
        local success = lsp_format_modifications.format_modifications(client, bufnr, {})
        if not success then -- e.g. not in a git repository, range formatting not supported, ...
          vim.lsp.buf.format{bufnr = bufnr} -- fallback to full-buffer formatting
        end
      end,
    }
  )
end

I don't think this setup -- without the attach function -- is hard to grok. And it's a lot more flexible.
I have some local changes for this. I'll push these shortly as a PR and request your review?

@bagel897
I'd value your opinion on this PR, time permitting! It's small. I'll probably merge in the next few days otherwise. 😄

I don't really use neovim right now, sorry.  Couldn't we use the LspAttach event to do this instead of on_attach?
Thanks for your consideration

This would be awesome! I can review it for you. I don't have a ton of experience writing plugins, but I am really interested in getting something like this setup in my nvim config, so anything to help that along!

This is now possible (#7). Something like:
local on_attach = function(client, bufnr)
  -- your usual configuration — options, keymaps, etc
  -- ...

  local augroup_id = vim.api.nvim_create_augroup(
    "FormatModificationsDocumentFormattingGroup",
    { clear = false }
  )
  vim.api.nvim_clear_autocmds({ group = augroup_id, buffer = bufnr })

  vim.api.nvim_create_autocmd(
    { "BufWritePre" },
    {
      group = augroup_id,
      buffer = bufnr,
      callback = function()
        local lsp_format_modifications = require "lsp-format-modifications"
        local result = lsp_format_modifications.format_modifications(client, bufnr)
        if not result.success then -- fall back to full-document formatting
          vim.lsp.buf.format {
            id = client.id,
            bufnr = bufnr,
          }
        end
      end,
    }
  )
end

... should work for formatting modifications on save, falling back to full-document formatting if unsuccessful.
Note this isn't perfect; if we return { success = false } for something unexpected/"weird" like not being able to find the comparee, this will format the whole document. I'm contemplating how best to solve this -- perhaps adding more detail to the value returned from require"lsp-format-modifications".format_modifications.


Auth Expires after 30 min.

Sezzle : 5.0.0
Magento: 2.3.3-p1
STR
Configuration :

Payment action : Authorize only

Place an order and wait, don't capture it right away.
After 30 min the order will be cancelled because it was not captured.

Issue
It might be that the merchant can not process or ship the order right away. There could be a delay up to even a few days if there is no stock. Hence this should be configurable in the admin or the min increased to at least two weeks.
I believe the API does offer this option to set the expiration time under https://docs.sezzle.com/#create-a-session under Order object and checkout_expiration. This should be added when building the order payload based on an admin config or a minimum of 7 days if not more.
Solution
Add the checkout_expiration to the payload returned by this method.
https://github.com/sezzle/sezzle-magento2/blob/8fdb62594bfcee2d94cc6a64e2e73720a467d339/Model/Api/PayloadBuilder.php#L88-L106

I think you have already got a reply on this from our team and also, that it cannot be configurable from the Sezzle Configuration in Magento admin at this point in time, I am closing this issue.


[bug]can not auto refresh，Mistakenly deleted other data for SQLite

can not auto refresh
After multiple operations above, manually refreshed, and then found that the data that was not deleted was also deleted by mistake
Now, there is no data
a big bug

😭😭😭😭😭

Hi, could you provide the video that demonstrates mentioned issue?

Hello @hktalent
I can see in your table that you have the "id" column marked as a key. But unlike other databases, SQLite can have a NULL value as a value for the Primary key column. And this is not correct because the value must be unique for the good work of the primary key.

You can check your delete script with the help of the "Script" button.

It is confirmed that it is because the id is empty


fix(mutate): fix types of mutate/trigger; make mutate/trigger always return the result of MutatorCallback

Fix for issue 2690 issue 2647 and issue 2661

Make mutate/trigger always return the result of MutatorCallback
Make KeyedMutator/ScopedMutator accept generic type parameters to make the data type flexible and work with populateCache

Hello.
It seems this PR need an approval to run the test workflow, since I had to modify a test file.
Could a maintainer kindly give it a try? Thanks.

I ran pnpm run-all-checks locally this time. It passed.
Fixed FIXME left by @shuding in test/type/mutate.ts.


Multiple CANopen Networks on Single Microcontroller

Is it possible to run multiple CANopenNode networks on a single micrcontroller?

Yes, it is object oriented. But may be complex.

I am having issues with a too high dataload. The 1 MBit Baud isnt sufficient and therefore i have to split the CANopen Bus into two. Can I just add another transceiver and use the same OD for both busses?

Yes. Each CANopen object has reference to can module. I used some PDOs on second CAN module. You should adapt CANopen.h and .c file.

Okay, so right now everywhere where only CO->CANmodule[0] is used I should implement a CO->CANmodule[1] with the same functionality if I understand that correctly?

For example, CO_RPDO_init(), you have to specify your other CANdevRx and CANdevRxIdx (index inside your other CANdev).
You have to call CO_CANmodule_init() to initialize your other CANdev first.

I had to take over a project for Formula Student where we need to use CANopen on a ESP32.
ecu_state_t initCanOpen()
{
CO_ReturnError_t err;
uint32_t heapMemoryUsed;
CO_CANsetPins(CAN_RX, CAN_TX);

err = CO_new(&heapMemoryUsed);

if (err != CO_ERROR_NO)
{
    debugLog(LOG_LEVEL_ERROR, "Can't allocate memory");
}
else
{
    debugLog(LOG_LEVEL_VERBOSE,
             "Allocated %ld bytes for objects",
             heapMemoryUsed);
}

return ECU_STATE_CANOPEN_RESET;

}
ecu_state_t canOpenResetCommunication()
{
CO_ReturnError_t err;
void*            CANmoduleAddress = NULL;
uint8_t          pendingNodeId    = 1;
uint8_t          activeNodeId     = 1;
uint16_t         pendingBitRate   = 500;
if (CAN_JOK)
{
    debugLog(LOG_LEVEL_WARNING, "Attempting to un-jok CAN");
}

const esp_timer_create_args_t periodic_timer_args = { .callback = &coRealtimeTask,
                                                      .name = "co_realtime" };

debugLog(LOG_LEVEL_INFO, "Reset communication");
CANopenConfiguredOK = false;

err = CO_CANinit(CANmoduleAddress, pendingBitRate);
if (err != CO_ERROR_NO)
{
    debugLog(LOG_LEVEL_ERROR,
             "CAN initialisation failed: %d",
             err);
}

err = CO_LSSinit(&pendingNodeId, &pendingBitRate);
if (err != CO_ERROR_NO)
{
    debugLog(LOG_LEVEL_WARNING,
             "LSS initialisation failed: %d",
             err);
}

activeNodeId = pendingNodeId;
err = CO_CANopenInit(activeNodeId);

if (err == CO_ERROR_NO)
{
    debugLog(LOG_LEVEL_INFO, "Initialisation successful");
    CANopenConfiguredOK = true;
}
else if (err != CO_ERROR_NODE_ID_UNCONFIGURED_LSS)
{
    debugLog(LOG_LEVEL_ERROR,
             "CANopen Initialisation failed: %d",
             err);
}

if (!CAN_JOK)
{
    esp_timer_handle_t periodicTimer;
    ESP_ERROR_CHECK(esp_timer_create(&periodic_timer_args, &periodicTimer));
    ESP_ERROR_CHECK(esp_timer_start_periodic(periodicTimer, 1000));
}

if (CANopenConfiguredOK)
{
    CO_CANsetNormalMode(CO->CANmodule[0]);
    CO_EM_initCallbackRx(CO->em, &heartbeatCallback);

    const int8_t idx = CO_HBconsumer_getIdxByNodeId(CO->HBcons, NODE_ID_THROTTLE_SENSOR_LEFT);
    CO_HBconsumer_initCallbackTimeout(CO->HBcons, idx, NULL, &hbTimeoutCallbackForThrottleSensors);
    const int8_t idx2 = CO_HBconsumer_getIdxByNodeId(CO->HBcons, NODE_ID_THROTTLE_SENSOR_RIGHT);
    CO_HBconsumer_initCallbackTimeout(CO->HBcons, idx2, NULL, &hbTimeoutCallbackForThrottleSensors);

    return ECU_STATE_START_TASKS;
}

return ECU_STATE_ERROR;

}
So if we take the first function that is being used which is err = CO_new(&heapMemoryUsed and go to the implementation of that I see
/* Create objects from heap ***************************************************/
#ifndef CO_USE_GLOBALS
CO_ReturnError_t CO_new(uint32_t *heapMemoryUsed)
{
    int16_t i;
    uint16_t errCnt = 0;
    uint32_t CO_memoryUsed = 0;

    /* If CANopen was initialized before, return. */
    if (CO != NULL)
    {
        return CO_ERROR_NO;
    }

    /* globals */
    CO = &COO;

    /* CANmodule */
    CO->CANmodule[0] = (CO_CANmodule_t *)calloc(1, sizeof(CO_CANmodule_t));
    if (CO->CANmodule[0] == NULL)
        errCnt++;
    CO_CANmodule_rxArray0 =
        (CO_CANrx_t *)calloc(CO_RXCAN_NO_MSGS, sizeof(CO_CANrx_t));
    if (CO_CANmodule_rxArray0 == NULL)
        errCnt++;
    CO_CANmodule_txArray0 =
        (CO_CANtx_t *)calloc(CO_TXCAN_NO_MSGS, sizeof(CO_CANtx_t));
    if (CO_CANmodule_txArray0 == NULL)
        errCnt++;
    CO_memoryUsed += sizeof(CO_CANmodule_t) +
                     sizeof(CO_CANrx_t) * CO_RXCAN_NO_MSGS +
                     sizeof(CO_CANtx_t) * CO_TXCAN_NO_MSGS;
[...]

With my knowledge right now I would do the same with CANmodule[1]:
    /* CANmodule 1*/
    CO->CANmodule[0] = (CO_CANmodule_t *)calloc(1, sizeof(CO_CANmodule_t));
    if (CO->CANmodule[0] == NULL)
        errCnt++;
    CO_CANmodule_rxArray0 =
        (CO_CANrx_t *)calloc(CO_RXCAN_NO_MSGS, sizeof(CO_CANrx_t));
    if (CO_CANmodule_rxArray0 == NULL)
        errCnt++;
    CO_CANmodule_txArray0 =
        (CO_CANtx_t *)calloc(CO_TXCAN_NO_MSGS, sizeof(CO_CANtx_t));
    if (CO_CANmodule_txArray0 == NULL)
        errCnt++;
    CO_memoryUsed += sizeof(CO_CANmodule_t) +
                     sizeof(CO_CANrx_t) * CO_RXCAN_NO_MSGS +
                     sizeof(CO_CANtx_t) * CO_TXCAN_NO_MSGS;

    /* CANmodule 2*/
    CO->CANmodule[1] = (CO_CANmodule_t *)calloc(1, sizeof(CO_CANmodule_t));
    if (CO->CANmodule[1] == NULL)
        errCnt++;
    CO_CANmodule_rxArray1 =
        (CO_CANrx_t *)calloc(CO_RXCAN_NO_MSGS, sizeof(CO_CANrx_t));
    if (CO_CANmodule_rxArray1 == NULL)
        errCnt++;
    CO_CANmodule_txArray1 =
        (CO_CANtx_t *)calloc(CO_TXCAN_NO_MSGS, sizeof(CO_CANtx_t));
    if (CO_CANmodule_txArray1 == NULL)
        errCnt++;
    CO_memoryUsed += sizeof(CO_CANmodule_t) +
                     sizeof(CO_CANrx_t) * CO_RXCAN_NO_MSGS +
                     sizeof(CO_CANtx_t) * CO_TXCAN_NO_MSGS;

If I look at the next function CO_CANinit then inside of it the CO_CANmodule_init function gets CO->CANmodule[0] as a parameter. Must I call the CO_CANmodule_init function again with CO->CANmodule[1] as a parameter?

Sorry for my late answer. Files CANopen.h and .c offers mush flexibility, so they seems complex.
However, you are right. You have to allocate memory for CO_CANmodule_rxArray1, CO_CANmodule_txArray1 and CANmodule1. You don't have to put them into CO. Then you have to CO_CANmodule_init with those objects.
Then you may use your second CANmodule for initialization of any CANopen object. For example, if you have 6 TPDOs and you want to use TPDO 5 and 6 with second module:

edit CO_CANopenInitPDO
Make CO_TPDO_init() so, it will use arguments co->CANmodule, CO_GET_CO(TX_IDX_TPDO) + i from second module.

Please note, CANopen.h and .c files are for general usage. You can do some "magic" there, but if you want to have full control, you can create them completely new according to your requirements.
If you have problems with bus load, you may also try different strategies with single CAN module. You can get good results, if you use SYNC with PDOs. And make sure, you driver works correctly. For example, CANopenPIC example has no problems of full PDO communication without delays inside 1ms timer task. Also CANopenLinux, if it is used in RT mode. I'm not sure, how driver for ESP32 works.

Im about to do the same type of modification. For my use case the device recieves data in some networks and send diferent but related data on others. Would it be best to do this using a single OD with multiple devices or separate them?

The question is not very clear.
If you only need some PDOs to work on different networks, you can only configure those PDOs (init PDO with alternate CO_CANmodule_rxArray1, CO_CANmodule_txArray1 and CANmodule1). All other can stay the same, single canopen device, single OD.


User input prompt from REPL instead of GUI?

In order to support Console.ReadKey(), it would make more sense to prompt user input through the REPL window instead of pop up a input dialog for it.

Agreed, we should [eventually] support user Input from CmdLine instead of a gui in general.
However, is it simple to have a quick prompt for ReadKey at this point in time, but so we don't block people who have scripts with ReadyKey in them?

For now ReadKey is crashing the console app itself due to "no console at all", so it is technically not blocking anything from continuing using posh tools. so we'd address it when we work on REPL prompt.


Svelte Windi Compilation issues

1. Conditionally applied classes within class aren't detected by windi

Here Windi will not consider bg-blue-500 or bg-red-600 in it's compiled css, whether this is  the  best or worst way to implement such a  feature is  a debate for another day but the easiest fix I have is to make a hidden component and shove these classes in it.
2. @apply hover:bg-red-300 in a svelte files style tag fails to compile
There's a compilation  error when there's a : in an @apply statement. I moved the definition to the style.css file and everything compiled and worked as normal.

This should be included. Can you share are minimal repo?

Might be related to #54

/cc @dominikg do you have any idea on this?

I mean 2. would refuse to compile at all not just emit something broken

Then please keep track in #54, thanks.

would be better like this  because it would be easier for an extractor to look for class:XXXX=  than to try and tokenize anything inside class={YYYYY}.
In the end all dynamic uses of generated classes pose a risk though because extracting them is harder and they might end up staying unused at runtime. So if you can, think about how you can solve this styling in a consistent way without using dynamic classes on a scoped component.
That being said i'm not sure how to best solve the underlying issue of how to properly extract and preprocess svelte files within vite, that discussion is best continued in #54.

whether this is the best or worst way to implement such a feature is a debate for another day.
Again I implemented this differently with a couple of selectors because that was easier to do, however it doesn't mean this problem should persist.

would be better like this  because it would be easier for an extractor to look for class:XXXX=  than to try and tokenize anything inside class={YYYYY}.

This wasn't working either tho, which is why I defaulted to adding it in the classes attribute.

I don't have the second issue.
Regarding the first one, I have found the following workaround:
Instead of :

use:
`
`
Another option is to use bg-$color where --color is a css variable. The value of the css variable can be conditionnally set in an inline css statement.
Of course, it would be better if windicss could handle the situation described above.


fixes querying for a single primary key on a partitioned table

an exception was raised instead of returning a zero row count

@dobe pls review

lgtm


Transparency bug in "Test your agent here" panel

In Chrome, with a tall vertical view, the transparency in the "Test your agent here" panel is not rendered correctly. When you reduce the height of the browser, it corrects itself.

Closed in favor of #65


Update entrepreneurship issue# 261

Updated the source narration of the image.

@Aini-Bashir please review this pull request I made the changes that you are requested.


Enable sphinxcontrib-programoutput to run project code

The sphinxcontrib-programoutput extension provides a DRY way to include project's CLI help text in docs (among other things). With the extension installed, including:
.. program-output:: foo --help

should result in the help text for foo being inserted in the docs. That works locally for me, but fails on RTD because the bin/ directory of the project's build venv is not included in PATH. I verified that with:
.. program-output:: echo $PATH
   :shell:

The log from that test is at https://readthedocs.org/builds/salishsea-meopar-tools/1352996/

The Debian package for Jenkins Job Builder has a patch which change the invoked command:
-.. program-output:: jenkins-jobs --help
+.. program-output:: cd ../.. && ./tools/jenkins-jobs.py --help
+   :shell:

http://bazaar.launchpad.net/~ubuntu-branches/debian/sid/jenkins-job-builder/sid/revision/6#debian/patches/workaround-programoutput.patch
That solves the issue of generating doc out of tox or when jenkins-job hasn't been installed with pip install -e.

@douglatornell @zaro0508 We are using Sphinx 1.3.1 now on the server. Is this resolved now for you?

I triggered a build https://readthedocs.org/builds/jenkins-job-builder/3131982/
It fails because sphinx is apparently not run in the venv that has all the requirements.
File "conf.py", line 54, in <module>   # That is Sphinx config file
    from jenkins_jobs.version import version_info as jenkins_jobs_version
   from pbr.version import VersionInfo
   jenkins_jobs/version.py", line 18, in <module>
   ImportError: No module named pbr.version

I think the reason for this is that you specified -rrequirements.txt -rtest-requirements.txt as your requirements file. You can find the following line in the build logs: Could not open requirements file: [Errno 2] No such file or directory: '-rrequirements.txt'
Please only provide the filename here. No pip options are allowed there. So if you need multiple files with requirements installed, please make one doc_requirements.txt or similiar that references the two other files.

I've stated my use case for passing in multiple requirements files in issue https://github.com/rtfd/readthedocs.org/issues/1112 so I'm not sure why ericholscher shot down the idea.  Anyways I guess the root of the problem is that passing multiple requirements files will not be supported

@zaro0508 The pattern I see in projects evolving is that you have one requirements file for every usecase and then use composition to bring in the exact packages you need.
requirements/_base.txt
pip==7.0.11
other_base_dep==1.0.0

requirements/development.txt
-r _base.txt
ipython==1.0.0

requirements/deploy.txt
-r _base.txt
gunicorn==18.0.0

requirements/docs.txt
-r _base.txt
-r tests.txt

requirements/tests.txt
-r _base.txt
mock

Ofcourse it's a matter of taste but we decided to only support one requirements file since that reduces the complexity for readthedocs quite a bit. With multiple files we need to make sure they are applied in the right order etc.

We went with docs-requirements.txt .  I have updated the readthedocs.org project to use it and sphinx-programoutput got installed properly.

Great :fireworks:


FancyZones UI Clarification : Move Gutter size setting to main screen

Microsoft Windows [Version 10.0.18363.778]
The "space around zones" setting is only available/editable in the Standard templates section.

Suggest adding the same control to the Custom layout editor or move it back to the main settings page

Thank you

Good catch. Should be part of the FancyZones Editor v2.

Hi @briandinsmore
it needs to be better implemented in the editor, not be placed in the FancyZones settings.

Closing this since is already tracked in https://github.com/microsoft/PowerToys/issues/1032


[Feature request] Multi-core processing for save-processing of animations

Currently, saving a multi-minute animation can take several minutes.
Most users have 2 or more cores these days, so if technically feasible, multi-core processing would be awesome.

With version 2.26, I improved substantially the encoding process.
Now it takes way less time to analyze and encode an animation.


Add suffix Query for all query classes

All queries and tests are renamed to have suffix Query (#378):
toRename := ClyQuery allSubclasses reject: [ :each | each name includesSubstring: 'Query' ].

toRename do: [ :each | | c |
	c := SycRenameClassCommand new targetClass: each; newName: (each name, 'Query') asSymbol.
	c execute	 ].

testsToRename := toRename collect: [ :each | (each name withoutSuffix: 'Query'), 'Tests' ] thenSelect: [ :each | (self environment at: each asSymbol ifAbsent: [ nil ]) notNil ].

testsToRename do: [ :each | | c |
	c := SycRenameClassCommand new targetClass: each asClass; newName: ((each withoutSuffix: 'Tests'), 'QueryTests') asSymbol.
	c execute	 ].

I close PR due to problems with Iceberg
https://pharo.fogbugz.com/f/cases/22749/Iceberg-does-not-see-rename-of-extended-class-which-leads-to-broken-commit.
(Script allows easily redo this change).


Week 7 Roadmap

[x] Gem and repo name (#13)
[ ] Gem Structure
[ ] Environment variables for secret credentials
[ ] Command-line application for your gem
[ ] Continuous Integration
[ ] Gemspec

Regarding the repo name and gem name, what do you think about tweet_search?

twweetsearch 可以啊！