text:
Implementing perspective, rotateX, rotateY, skewX and skewY for Android

Setting 3D transform properties to the Android View. The "perspective" property is a workaround and maybe needs to be thought a little better.

@felipemartim @chirag04 Really looking forward to have this PR merged! Can I somehow support here to bring it to a state where it can be reviewed / merged by @kmagiera?

@PhilippKrone sure. feel free to review and drop comments. I would use uiexplorer perspective example and see if it works after applying this PR.

@PhilippKrone sure! I already identified a bug with perspective. Depending on the order of the transform properties, -1/perspective[2] can be a completely different number. This has to do with how the perspectiveMatrix is calculated. I believe it would be better to set the perspective value specified on "styles" directly to "setCameraDistance()" Android View without all that magic that's happening in "decomposeMatrix()". Another issue is to set this value correctly according to the device pixel density.
Unfortunately I don't have the time to work on this right now and this is my first PR ever, so I don't know how can I help here. Are you able to evolve this PR?

@felipemartim @PhilippKrone I really want to work on this but can't get the uiexplorer to compile on master branch. I will spend some more time on it.

I got the perspective to work with all the examples on the uiexplore transform. I will share the update tomorrow.
@kmagiera would you have ideas about how to implement backfaceVisibility of ios on android? It is implemented on ios already. I can do it if you can give some info on java side of things.
https://developer.mozilla.org/en-US/docs/Web/CSS/backface-visibility

@chirag04 cool! thanks! :) The backfaceVisibility topic is exactly the last thing missing for me to have my animation / screen working!

diff --git a/Libraries/Utilities/MatrixMath.js b/Libraries/Utilities/MatrixMath.js
index 23db738..702578f 100755
--- a/Libraries/Utilities/MatrixMath.js
+++ b/Libraries/Utilities/MatrixMath.js
@@ -423,62 +423,26 @@ var MatrixMath = {
     );

     // output values
-    var perspective = [];
     var quaternion = [];
     var scale = [];
     var skew = [];
     var translation = [];

     // create normalized, 2d array matrix
-    // and normalized 1d array perspectiveMatrix with redefined 4th column
     if (!transformMatrix[15]) {
       return;
     }
     var matrix = [];
-    var perspectiveMatrix = [];
     for (var i = 0; i < 4; i++) {
       matrix.push([]);
       for (var j = 0; j < 4; j++) {
         var value = transformMatrix[(i * 4) + j] / transformMatrix[15];
         matrix[i].push(value);
-        perspectiveMatrix.push(j === 3 ? 0 : value);
       }
     }
-    perspectiveMatrix[15] = 1;

-    // test for singularity of upper 3x3 part of the perspective matrix
-    if (!MatrixMath.determinant(perspectiveMatrix)) {
-      return;
-    }
-
-    // isolate perspective
-    if (matrix[0][3] !== 0 || matrix[1][3] !== 0 || matrix[2][3] !== 0) {
-      // rightHandSide is the right hand side of the equation.
-      // rightHandSide is a vector, or point in 3d space relative to the origin.
-      var rightHandSide = [
-        matrix[0][3],
-        matrix[1][3],
-        matrix[2][3],
-        matrix[3][3]
-      ];
-
-      // Solve the equation by inverting perspectiveMatrix and multiplying
-      // rightHandSide by the inverse.
-      var inversePerspectiveMatrix = MatrixMath.inverse3x3(
-        perspectiveMatrix
-      );
-      var transposedInversePerspectiveMatrix = MatrixMath.transpose4x4(
-        inversePerspectiveMatrix
-      );
-      var perspective = MatrixMath.multiplyVectorByMatrix(
-        rightHandSide,
-        transposedInversePerspectiveMatrix
-      );
-    } else {
-      // no perspective
-      perspective[0] = perspective[1] = perspective[2] = 0;
-      perspective[3] = 1;
-    }
+    //perspective
+    var perspective = -1 / matrix[2][3];

     // translation is simple
     for (var i = 0; i < 3; i++) {
diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java
index fbbae4c..b2d28a2 100644
--- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java
+++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java
@@ -6,6 +6,7 @@ import android.graphics.Color;
 import android.os.Build;
 import android.view.View;

+import com.facebook.react.bridge.ReadableArray;
 import com.facebook.react.bridge.ReadableMap;

 /**
@@ -17,7 +18,8 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode

   private static final String PROP_BACKGROUND_COLOR = ViewProps.BACKGROUND_COLOR;
   private static final String PROP_DECOMPOSED_MATRIX = "decomposedMatrix";
-  private static final String PROP_DECOMPOSED_MATRIX_ROTATE = "rotate";
+  private static final String PROP_DECOMPOSED_MATRIX_PERSPECTIVE = "perspective";
+  private static final String PROP_DECOMPOSED_MATRIX_ROTATION = "rotationDegrees";
   private static final String PROP_DECOMPOSED_MATRIX_SCALE_X = "scaleX";
   private static final String PROP_DECOMPOSED_MATRIX_SCALE_Y = "scaleY";
   private static final String PROP_DECOMPOSED_MATRIX_TRANSLATE_X = "translateX";
@@ -142,12 +144,18 @@ public abstract class BaseViewManager<T extends View, C extends LayoutShadowNode
             (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_TRANSLATE_X)));
     view.setTranslationY(PixelUtil.toPixelFromDIP(
             (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_TRANSLATE_Y)));
-    view.setRotation(
-        (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_ROTATE));
     view.setScaleX(
         (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_SCALE_X));
     view.setScaleY(
         (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_SCALE_Y));
+
+    float scale = DisplayMetricsHolder.getDisplayMetrics().density;
+    view.setCameraDistance(
+      (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_PERSPECTIVE) * scale);
+    ReadableArray rotationArray = matrix.getArray(PROP_DECOMPOSED_MATRIX_ROTATION);
+    view.setRotationX((float) rotationArray.getDouble(0));
+    view.setRotationY((float) rotationArray.getDouble(1));
+    view.setRotation((float) rotationArray.getDouble(2));
   }

   private static void resetTransformMatrix(View view) {
diff --git a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewPropertyApplicator.java b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewPropertyApplicator.java
index ec9117e..0613efd 100644
--- a/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewPropertyApplicator.java
+++ b/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewPropertyApplicator.java
@@ -16,6 +16,7 @@ import java.util.HashMap;
 import android.graphics.Color;
 import android.os.Build;
 import android.view.View;
+import com.facebook.react.bridge.ReadableArray;
 import com.facebook.react.bridge.ReadableMap;

 /**
@@ -26,7 +27,8 @@ import com.facebook.react.bridge.ReadableMap;
 public class BaseViewPropertyApplicator {

   private static final String PROP_DECOMPOSED_MATRIX = "decomposedMatrix";
-  private static final String PROP_DECOMPOSED_MATRIX_ROTATE = "rotate";
+  private static final String PROP_DECOMPOSED_MATRIX_PERSPECTIVE = "perspective";
+  private static final String PROP_DECOMPOSED_MATRIX_ROTATION = "rotationDegrees";
   private static final String PROP_DECOMPOSED_MATRIX_SCALE_X = "scaleX";
   private static final String PROP_DECOMPOSED_MATRIX_SCALE_Y = "scaleY";
   private static final String PROP_DECOMPOSED_MATRIX_TRANSLATE_X = "translateX";
@@ -130,23 +132,6 @@ public class BaseViewPropertyApplicator {
         view.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS);
       }
     }
-
-    // DEPRECATED
-    if (props.hasKey(PROP_ROTATION)) {
-      view.setRotation(props.getFloat(PROP_ROTATION, 0));
-    }
-    if (props.hasKey(PROP_SCALE_X)) {
-      view.setScaleX(props.getFloat(PROP_SCALE_X, 1.f));
-    }
-    if (props.hasKey(PROP_SCALE_Y)) {
-      view.setScaleY(props.getFloat(PROP_SCALE_Y, 1.f));
-    }
-    if (props.hasKey(PROP_TRANSLATE_X)) {
-      view.setTranslationX(PixelUtil.toPixelFromDIP(props.getFloat(PROP_TRANSLATE_X, 0)));
-    }
-    if (props.hasKey(PROP_TRANSLATE_Y)) {
-      view.setTranslationY(PixelUtil.toPixelFromDIP(props.getFloat(PROP_TRANSLATE_Y, 0)));
-    }
   }

   private static void setTransformMatrix(View view, ReadableMap matrix) {
@@ -154,12 +139,19 @@ public class BaseViewPropertyApplicator {
       (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_TRANSLATE_X)));
     view.setTranslationY(PixelUtil.toPixelFromDIP(
       (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_TRANSLATE_Y)));
-    view.setRotation(
-      (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_ROTATE));
     view.setScaleX(
       (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_SCALE_X));
     view.setScaleY(
       (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_SCALE_Y));
+
+    float scale = DisplayMetricsHolder.getDisplayMetrics().density;
+    view.setCameraDistance(
+      (float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_PERSPECTIVE) * scale);
+
+    ReadableArray rotationArray = matrix.getArray(PROP_DECOMPOSED_MATRIX_ROTATION);
+    view.setRotationX((float) rotationArray.getDouble(0));
+    view.setRotationY((float) rotationArray.getDouble(1));
+    view.setRotation((float) rotationArray.getDouble(2));
   }

   private static void resetTransformMatrix(View view) {

Above is the diff for getting flip. We really need to understand backfaceVisibility for android. Hoping for ideas from @kmagiera . I couldn't find anything related to backfaceVisibility on android.

Sorry guys, I accidentaly commited a merge on this PR that has nothing to do with it. Don't know how to undo it.

@chirag04 Isnt that something we could use? http://developer.android.com/training/animation/cardflip.html

@PhilippKrone I saw that link and it seem it uses native animation lib. I'm not sure how we can using the js animated library to work with the native one.
If it's a blocker, I think specific cardflip animation would be possible by bridging a new package and using the native animated lib. That's what i think we are going to do.

@chirag04 From how I understand it, currently no cardflip animation is possible at all in android as you will always see the backside, wont you?

Not sure we want to merge this in the current form. In any case, features like this need an example in the UIExplorer. Is there an iOS example? Have you tried running it on Android? Provide lots of screenshots.

I was trying to do some animations today, realized rotateX and rotateY weren't working in Android and found issue #3491 and from there I got here.
I've applied current diff to my local react-native and I'm getting this exception:

I'm doing a very basic rotateX with an interpolated Animated.Value, just in case it helps. It would be wonderful to have support for this animation properties in Android.
Cheers,
Miguel

@chirag04 can you make a new PR with your proposed changes? Perhaps we can get this stuff merged soon then

@kmagiera Sorry for pushing this, it's kind of a show stopper for me at the moment. Do you have an idea concerning the implementation of the css attribute "backfaceVisiblity" in android? (https://developer.mozilla.org/en-US/docs/Web/CSS/backface-visibility)

@chirag04 I get an exception using your diff. It seems that if matrix[2][3] is 0, then perspective is infinite, which will be handled as "null" in java. Following this, the line "view.setCameraDistance(
(float) matrix.getDouble(PROP_DECOMPOSED_MATRIX_PERSPECTIVE) * scale);" throws an exception.

@PhilippKrone I'm out of the office this week so won't be able to dig into this and answer your question anytime soon. Maybe @astreet can help?

I'm not very familiar with the Android 3D APIs, but I doubt anything like backface-visibility is available on the View class. You'll probably just need to mimic it (or polyfill it in JS using the standard 3D transform APIs?)

@PhilippKrone I managed to overcome the backfaceVisibility issue by setting the opacity of the front side of the card to 0 when the rotation reached 90º.

Can you check all of the places where MatrixMath is used? Can you verify your changes to that file don't break anything?

I have the same problem. Ugly, I use state to control rotation

Any updates on this @felipemartim ?

@satya164 I'll probably have to create a pull request to set rotateY, rotateX, skewX, skewY separated from perspective. I'll try to do it this weekend.

Awesome. Thanks for working on this @felipemartim

authors: PhilippKrone astreet chirag04 felipemartim kmagiera maraujop mbinge mkonicek satya164


text:
[ReactNative][oss] Run an e2e packager test on CircleCI

Motivation: Catch packager breakages (such as bad shrinkwrap, package.json) quickly and reliably. This is also done as part of the e2e test on Travis. Having an isolated packager test as well makes it easier to see there's a problem with the packager, running in on CircleCI helps detect issues even if the Travis e2e test gets ever broken (have some redundancy, these breakages are pretty painful to fix so we want to detect them as reliably as possible).
Test plan (required)
Ran this locally:
git checkout master
./scripts/e2e-test.sh --packager  # The packager created the bundle, exit code was 0
# Made the packager fail on bad JS
./scripts/e2e-test.sh --packager  # Exit code was 1

:+1: good idea

I'll wait for tests to pass before shipping :)

It worked, took 4 minutes 20s. Quite long but I think worth it. Once we have the Android e2e test we can probably remove this one.
https://circleci.com/gh/facebook/react-native/3465

@facebook-github-bot shipit

source: gharchive/pull-request

authors: bestander mkonicek

repo: facebook/react-native

license: MIT

license_type: permissive

license_source: github-api


text:
Implement Console tab support with Rhino

This is an implementation of issue facebook/stetho#81 using Mozilla's Rhino JavaScript library.

Can you post a screenshot or a sample session that shows what you can do with this?  I'm also interested in how large the dependencies are (how big is the sample APK with this change)?

Ok, I have updated my repository with a new branch.  See the branch https://github.com/potyl/stetho/commits/stetho/repl-js.
The integration in the sample app is kept to a bare minimum. I have added a dedicated stetho-repl-js readme for the plugin. In thee i cover examples on how to enhance the runtime, documented the APK file sizes with tips on how to proguard the app.
Mandatory screenshot:

I also have a branch that adds this screenshot to the gh-pages, see https://github.com/potyl/stetho/tree/gh-pages.

Wow, amazing.  A whopping 1.2MB jar file though, but as it is optional I think we can definitely work with that.
This PR is based off your repl branch, not repl-js.  Was that on purpose?  I'd like to put comments on an actual PR instead of the diffs since it's easier to manage through the review.

I've changed the branch so that the old one would still be present just in case. For now i wanted to have your opinion. I see that i forgot to add the APK sizes, I'l add that to my documentation.
I will do a reset --hard to the original branch of the PR.
As you mentioned the APK does take a load with the javascript REPL, i would suggest that we keep it optional. For instance in our main app at work I can't enable the module since it busts the dex count even with proguard :/

I have updated the read me to include apk sizes and tweaked a bit the documentation. The branch stetho/repl is now final.
I'm waiting for your comments.

Can you take a look at the Travis CI failures?  Looks like simple lint errors which you can see locally by checking out the XML report generated by gradle lint

I pushed a fix to lint. I don't understand why my branch still fails. The error i get is for:
OldTargetApi: Target SDK attribute is not targeting latest version

Which is triggered by:
defaultConfig {
    minSdkVersion 9
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"

But all the other projects have targetSdkVersion 21 so i don't understand why stetho-repl-js fails.
Any ideas?

Any news on this pull request?

Sorry for the review delay, I've been focusing on a big thorn in my side: https://github.com/facebook/stetho/pull/197 :)

Do you mind changing the PR title to something more descriptive like "Implement Console tab support with Rhino"?  Makes things nicer when it gets merged :)

Any more updates?  I think with the latest round of feedback implemented this should be merge-able.

I didn't finish going through all comments/remarks. Let me review the branch this evening and merge the commits. I now have a bit more free time and I can work on this.

Ok, I've rebased all my  changes and removed the commit that modifies stetho-sample so that it doesn't use the javascript repl (I believe that this was requested at some point).
Code can still be improved at some point:

use a custom writeToConsole
find a way to get a handle to JsonRpcPeer for the console output

I still believe that as a preview the current basis is solid enough to be used, so we could merge this.

Oh I see, you actually changed the branch.  It looks like you're really expecting to merge https://github.com/potyl/stetho/tree/stetho/js-rhino, is that right?  If so, can you just push to the original repl branch from js-rhino so I can merge with github's UI?

My bad! Once I get home i'll update the proper branch
On Friday, July 17, 2015, Josh Guilfoyle notifications@github.com wrote:

Oh I see, you actually changed the branch. It looks like you're really
expecting to merge https://github.com/potyl/stetho/tree/stetho/js-rhino,
is that right? If so, can you just push to the original repl branch from
js-rhino so I can merge with github's UI?
—
Reply to this email directly or view it on GitHub
https://github.com/facebook/stetho/pull/188#issuecomment-122222896.

--
Emmanuel Rodriguez

I've pushed to the proper branch. Turns out that I also confused the commits and I previously left the commit to add the javascript to the stetho-sample app and removed the documentation on how to integrate it. This is also now corrected in the stetho/repl branch.

Very minor documentation comments; this is otherwise ready to merge.  Great work, I'm so excited for this feature!

Thanks for spotting the 2 documentation errors. I've squashed the fix and ran a grep. No more occurrences of the old repo name.

Excellent, I'm AFK this weekend but will merge when I get back.  Awesome
stuff :)
El sáb., 18 de julio de 2015 0:26, Emmanuel Rodriguez <
notifications@github.com> escribió:

Thanks for spotting the 2 documentation errors. I've squashed the fix and
ran a grep. No more occurrences of the old repo name.
—
Reply to this email directly or view it on GitHub
https://github.com/facebook/stetho/pull/188#issuecomment-122508398.

Thanks a lot!
Cheers.

EvaluatorException for sql query is this caused by Rhino?

authors: jasta potyl ubaierbhat

repo: facebook/stetho

license: mit

license_source: bigquery


text:
Help with Amazon Machine image

Hello,
Thanks for this code.
Please can you advise after running rpmbuild -ba tacacs.spec what will next step to start tac_plus service and make changes to tac_plus.conf?
I'm trying to install on Amazon Machine image vm on AWS.
sorry in advance for my dumb question, as i'm new to linux.
appreciate your support.

Hi,
Could you try to install the rpm you just built?
<rpm -i path_to_rpm>
If it doesn't install the conf file and a systemd unit then you might need to create one manually.
Try running:
</usr/sbin/tac_plus -C /etc/tac_plus.conf>

source: gharchive/issue

authors: elizabethjoshi zee-shany


text:
Crash on robyn_refresh() using json_file: Can't combine ..1$ds  and ..2$ds

Describe issue
A user reported in our FB group that experimented the following issue when running robyn_refresh(). The full error is:
Error in `bind_rows()`:
! Can't combine `..1$ds` <character> and `..2$ds` <date>.
---
Backtrace:
     ▆
  1. ├─Robyn::robyn_refresh(...)
  2. │ └─listReportPrev$xDecompVecReport %>% ... at R/R/refresh.R:402:4
  3. └─dplyr::bind_rows(...)
  4.   ├─dplyr:::fix_call(vec_rbind(!!!dots, .names_to = .id))
  5.   │ └─base::withCallingHandlers(...)
  6.   └─vctrs::vec_rbind(!!!dots, .names_to = .id)
  7.     └─vctrs (local) `<fn>`()
  8.       └─vctrs::vec_default_ptype2(...)
  9.         └─vctrs::stop_incompatible_type(...)
 10.           └─vctrs:::stop_incompatible(...)
 11.             └─vctrs:::stop_vctrs(...)
 12.               └─rlang::abort(message, class = c(class, "vctrs_error"), ..., call = vctrs_error_call(call))

Provide reproducible example
User shared his data and json files to reproduce the error.
modelrf.csv <- ".../data_for_refresh.csv"
modelrf.json <- ".../RobynModel-inputs.json"

modelrf.df <- read.csv(modelrf.csv, row.names = NULL)
RobynRefresh <- robyn_refresh(
  json_file = model1.json,
  dt_input = modelrf.df,
  dt_holidays = Robyn::dt_prophet_holidays,
  refresh_steps = 12,
  refresh_iters = 500,
  refresh_trials = 1
)

Environment & Robyn version
Make sure you're using the latest Robyn version before you post an issue.

Check and share Robyn version: 3.7.1
R version: R version 4.1.1 (2021-08-10)

Hi
Robyn Version 3.7.2
R version 4.2.2
Robyn Demo.R
Im' geting the same issue with different code..date and IDate..

Running Pareto calculations for 10000 models on 3 fronts...
Error in bind_rows():
! Can't combine ..1$ds  and ..2$ds .
Run rlang::last_error() to see where the error occurred.
rlang::last_error()
<error/vctrs_error_ptype2>
Error in bind_rows():
! Can't combine ..1$ds  and ..2$ds .

Backtrace:

Robyn::robyn_outputs(...)
Robyn:::robyn_pareto(...)
dplyr::bind_rows(...)
vctrs::vec_rbind(!!!dots, .names_to = .id)
Run rlang::last_trace() to see the full context.

rlang::last_trace()
<error/vctrs_error_ptype2>
Error in bind_rows():
! Can't combine ..1$ds  and ..2$ds .

Backtrace:
▆

├─Robyn::robyn_outputs(...)
│ └─Robyn:::robyn_pareto(...)
│   └─dplyr::bind_rows(...)
│     ├─dplyr:::fix_call(vec_rbind(!!!dots, .names_to = .id))
│     │ └─base::withCallingHandlers(...)
│     └─vctrs::vec_rbind(!!!dots, .names_to = .id)
└─vctrs (local) <fn>()
└─vctrs::vec_default_ptype2(...)

├─base::withRestarts(...)

│ └─base (local) withOneRestart(expr, restarts[[1L]])

│   └─base (local) doWithOneRestart(return(expr), restart)

└─vctrs::stop_incompatible_type(...)

  └─vctrs:::stop_incompatible(...)

    └─vctrs:::stop_vctrs(...)

      └─rlang::abort(message, class = c(class, "vctrs_error"), ..., call = vctrs_error_call(call))

Hi @NN-Marketing this issue has already been fixed in the latest dev version. Can you please update to Robyn >=3.8.1 and try again in a fresh new session? Thanks.

authors: NN-Marketing laresbernardo

repo: facebookexperimental/Robyn


text:
libomnibus changing weak symbol to undefined?

I'm building a cxx_python_extension,  but when I'm trying to import it I'm getting an undefined symbol:
ImportError: ...buck-out/v2/gen/root/291b6c3a26d6a3e9/__hello__/hello#link-tree/libomnibus.so: undefined symbol: _ITM_registerTMCloneTable

AFAICT this is happens because libomnibus changes w to U. I think the nm command should probably exclude weak symbols (with --no-weak) but I don't understand whether this is by design or a bug?
example output from nm:
ls buck-out/v2/gen/root/291b6c3a26d6a3e9/__hello__/hello#link-tree/*.so | xargs -tn1 nm | rg _ITM_registerTMCloneTable
nm buck-out/v2/gen/root/291b6c3a26d6a3e9/__hello__/hello#link-tree/libc10.so
                 w _ITM_registerTMCloneTable
nm buck-out/v2/gen/root/291b6c3a26d6a3e9/__hello__/hello#link-tree/libomnibus.so
                 U _ITM_registerTMCloneTable
nm buck-out/v2/gen/root/291b6c3a26d6a3e9/__hello__/hello#link-tree/libtorch_cpu.so
                 w _ITM_registerTMCloneTable
nm buck-out/v2/gen/root/291b6c3a26d6a3e9/__hello__/hello#link-tree/libtorch_python.so
                 w _ITM_registerTMCloneTable

I thought the open source code defaulted to turning off Omnibus? We generally don't recommend using omnibus mode. Did you do something to explicitly enable it?

I didn't turn it out explicitly but I can reproduce how it got turned on: by depending on an extension that in turn depends on a prebuilt_cxx_library:
python_binary(
    name="hello",
    main_module="hello.main",
    deps=[":hello_lib"],
)

python_library(
    name="hello_lib",
    srcs=["hello/main.py"],
    visibility=["PUBLIC"],
    deps=[":hello_ext"],
)

cxx_python_extension(
    name="hello_ext",
    srcs=["hello/main.cc"],
    visibility=["PUBLIC"],
    deps=[":pybind11"],
)

prebuilt_cxx_library(
    name="pybind11",
    header_dirs=["deps/include/"],
    exported_headers=glob(["deps/include/pybind11/**/*.h"]),
    header_only=True,
    visibility=["PUBLIC"],
)

Omnibus is fairly experimental - it has advantages if you have absolutely huge C++ codebases, but normally can be safely turned off. Unfortunately our open source toolchain was defaulting to it being turned on, which was a mistake. I'm just putting up a diff which reads:
--- a/buck2/prelude/toolchains/python.bzl
+++ b/buck2/prelude/toolchains/python.bzl
@@ -62,7 +62,7 @@
             make_pex_inplace = ctx.attrs.make_pex_inplace[RunInfo],
             compile = RunInfo(args = ["echo", "COMPILEINFO"]),
             package_style = "inplace",
-            native_link_strategy = "merged",
+            native_link_strategy = "separate",
         ),
         PythonPlatformInfo(name = "x86_64"),
     ]

Hopefully that resolves the problem by not using Omnibus.

abd385076daad8297817a4b349424996d470e9c9 applies that change - can you give it another go?

I can confirm that stops building libomnibus, thank you! I think the original bug (don't rewrite weak symbols to undefined symbols) is still valid so will leave closing of issue to you.

authors: ndmitchell teh


text:
adds documentation for specific config  in react-scripts

adds documentation for Exclude Storybook Stories from code coverage #3278
makes clear how to alter collectiveCoverage and make snapshot and jest options overridable

Hi! Thanks a bunch for this PR, but https://github.com/facebookincubator/create-react-app/pull/3279 was opened first so I think we'll go with it.
Sorry, I look forward to more from you in the future! 😄

authors: Timer bkudler

repo: facebookincubator/create-react-app


text:
Checkpoint for RedCaps

Congratulations on this great work!
I am wondering if you have plans to release the CLIP/SLIP models for RedCaps dataset in the near future .
Thanks.

Sorry, I don't have these weights available.

repo: facebookresearch/SLIP


text:
Object detection from the DeiT III pretrained model

After I replace the commonly used random resized crop with the simple resized crop from DeiT III, I find the performance on object detection degrades sharply. But image classification and semantic segmentation are unaffected. Have you ever run object detection, initialized by the supervised pre-trained weights of DeiT III. If so, did you observe the same degradation of performance on object detection task?  I will be grateful if you can explain this phenomenon. Thanks!

@TouvronHugo

Hi @YuanLiuuuuuu,
Thanks for your message.
No we have not tested this. That's a pretty interesting observation. You have experimented this with models that you have pre-trained on which dataset?
Best,
Hugo

authors: TouvronHugo YuanLiuuuuuu

repo: facebookresearch/deit


text:
EpisodicCompassSensor gives incorrect observation

Habitat-Lab versions
Habitat-Lab: main branch
🐛 Bug
The EpisodicCompassSensor defined in habitat-lab/habitat/tasks/nav/py is not correct.
def get_observation(
        self, observations, episode, *args: Any, **kwargs: Any
    ):
        agent_state = self._sim.get_agent_state()
        rotation_world_agent = agent_state.rotation
        rotation_world_start = quaternion_from_coeff(episode.start_rotation)

        if isinstance(rotation_world_agent, quaternion.quaternion):
            return self._quat_to_xy_heading(
                rotation_world_agent.inverse() * rotation_world_start # should be rotation_world_start.inverse() * rotation_world_agent
            )
        else:
            raise ValueError("Agent's rotation was not a quaternion")

the line

rotation_world_agent.inverse() * rotation_world_start

should actually be

rotation_world_start.inverse() * rotation_world_agent

because we want to convert the current agent's states in the world coordinate to the reference frame defined by the start state of the current episode.

Sorry it's not a bug. It's the same reason as I commented in #1086

@jiaming-robot-learning -- would you consider sending a PR w/ a docstring/explanation at the right place in the code so others don't make the same mistake?

I'd love to! But I'm still not sure if this is correct.
From my understanding, this line
rotation_world_agent.inverse() * rotation_world_start

transforms the world (0,0,-1) to the robot's local frame, then it calls the following function:
def _quat_to_xy_heading(self, quat):
        direction_vector = np.array([0, 0, -1])

        heading_vector = quaternion_rotate_vector(quat, direction_vector)

        phi = cartesian_to_polar(-heading_vector[2], heading_vector[0])[1]
        return np.array([phi], dtype=np.float32)

Notice

phi = cartesian_to_polar(-heading_vector[2], heading_vector[0])[1]

first rotate the vector - pi/2, then calculate the angle between the rotated vector and x-axis. By doing this, it actually returns $\pi - \theta$, but not theta, which is the actual angle rotated by the robot.
Can anyone familiar with this explain it?

authors: dhruvbatra jiaming-robot-learning

repo: facebookresearch/habitat-lab


text:
Habitat Object Nav Dropbox Link Expired

Looks like the link provided in the object nav project README to download the episode dataset (https://www.dropbox.com/s/n1g1s6uvowo4tbm/v0.2.0_receptacle_cat_indoor_only_val.zip) is an expired dropbox link

The link has been updated with #204.

authors: Michael-Equi mukulkhanna

repo: facebookresearch/home-robot


text:
Confusion about Alpaca dataset and instruction task.

I'm using this repo for running my custom data on various tasks (thank you by the way, this repo is a great example of FSDP, Any Precision Optimizer, and a variety of useful techniques for working with these models).
However, one portion I don't quite understand, but I'm assuming it is not a bug since it is also the same way on the original Alpaca repo, is how the input ids and labels are generated for the instruction tasks. The InstructionDataset doesn't offset the token ids, it just masks the prompt inputs. For example, you might have an input and label as below:
input_ids = [1, 1951, 31, 3642, 9342, 1002, 2] # assume token_ids 1, 1951, 31 are part of the prompt
labels = [-100, -100, -100, 3642, 9342, 1002, 2]

In this example, at index 3, the input token id is 3642 and the target at the same time step is 3642. This doesn't really make sense to me, it seems like a trivial task, because we are simply asking the model to predict the token we are currently inputting, rather than the next token in the sequence (like it does during pretraining). Can someone help me understand why this is the case?

Closing this as I found out what I wasn't understanding correctly. The CasualLM class from Transformers automatically offset these values in the forward pass, so the input to the model class above is correct, since it is then shifted correctly in the loss computation.

repo: facebookresearch/llama-recipes


text:
[MUGEN] Add autoregressive decoding utility

Stack from ghstack (oldest at bottom):

-> #203
#202
#201
#176

Codecov Report

Merging #203 (fee86d9) into gh/langong347/16/base (30e5b61) will increase coverage by 4.23%.
The diff coverage is n/a.

@@                    Coverage Diff                    @@
##           gh/langong347/16/base     #203      +/-   ##
=========================================================
+ Coverage                  89.19%   93.42%   +4.23%
=========================================================
  Files                         48       48
  Lines                       2952     2952
=========================================================
+ Hits                        2633     2758     +125
+ Misses                       319      194     -125

Impacted Files
Coverage Δ

torchmultimodal/models/gpt.py
100.00% <ø> (+100.00%)
:arrow_up:

torchmultimodal/modules/layers/attention.py
98.07% <0.00%> (+1.92%)
:arrow_up:

Continue to review full report at Codecov.

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

repo: facebookresearch/multimodal


text:
Fix gym: thread safety

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Motivation and Context / Related issue

How Has This Been Tested (if it applies)

Checklist

[x] The documentation is up-to-date with the changes I made.
[x] I have read the CONTRIBUTING document and completed the CLA (see CLA).
[x] All tests passed, and additional code has been covered with new tests.

I merge because this is a bug fix.
There are things that should be cleaned in this same file, I do this asap.

repo: facebookresearch/nevergrad


text:
[Feature] Replaced prints by warnings in gym envs

Description
Replaced warnings by prints in gym
Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!

[x] I have read the CONTRIBUTION guide (required)

Can you give some context about why we need this?
I prefer warnings, they only appear once and they have a dedicated purpose

It's a change that was made in dreamer. I don't really know why

Ok probably something I thought was a good idea haha
If you don't mind I'd suggest to stick to warnings and close this

Wait but don't you prefer to have warnings? Right now the code has prints

authors: nicolas-dufour vmoens

repo: facebookresearch/rl


text:
Running yarn && yarn start error

I ran the web demo on my laptop, the error pop-up, I have no idea about it since I'm not familiar with JS. need to help from expert.
it's ran under windows 10, I installed the node.js 18.16.0 LTS.
Thanks!
Logging is here
(SAMenv) D:\segment-anything\demo>yarn && yarn start
yarn install v1.22.19
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.55s.
yarn run v1.22.19
$ yarn run start-dev
$ webpack serve --config=configs/webpack/dev.js
 [webpack-dev-server] Project is running at:
 [webpack-dev-server] Loopback: http://localhost:8080/
 [webpack-dev-server] On Your Network (IPv4): http://X.X.X.X:8080/
 [webpack-dev-server] Content not from webpack is served from 'D:\segment-anything\demo\public' directory
 [webpack-dev-middleware] wait until bundle finished: /
ERROR  Failed to compile with 1 errors                                                                         21:45:27
error
unable to locate 'D:/segment-anything/demo/model' glob
assets by path .wasm 36.6 MiB
asset ort-wasm-simd.wasm 9.55 MiB [emitted] [from: node_modules/onnxruntime-web/dist/ort-wasm-simd.wasm] [copied]
asset ort-wasm-simd-threaded.wasm 9.5 MiB [emitted] [from: node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.wasm] [copied]
asset ort-wasm.wasm 8.8 MiB [emitted] [from: node_modules/onnxruntime-web/dist/ort-wasm.wasm] [copied]
asset ort-wasm-threaded.wasm 8.73 MiB [emitted] [from: node_modules/onnxruntime-web/dist/ort-wasm-threaded.wasm] [copied]
assets by path assets/ 439 KiB
asset assets/data/dogs.jpg 438 KiB [emitted] [from: src/assets/data/dogs.jpg] [copied]
asset assets/index.html 550 bytes [emitted] [from: src/assets/index.html] [copied]
asset assets/scss/App.scss 62 bytes [emitted] [from: src/assets/scss/App.scss] [copied]
asset main.js 2.23 MiB [emitted] (name: main) 1 related asset
asset index.html 587 bytes [emitted]
runtime modules 27.5 KiB 14 modules
modules by path ./node_modules/underscore/modules/.js 83.1 KiB 161 modules
modules by path ./node_modules/webpack-dev-server/client/ 68.9 KiB 16 modules
modules by path ./src/ 31.5 KiB 11 modules
modules by path ./node_modules/onnxruntime-common/dist/lib/.js 35.3 KiB 10 modules
modules by path ./node_modules/style-loader/dist/runtime/.js 5.84 KiB 6 modules
modules by path ./node_modules/webpack/hot/.js 4.59 KiB 4 modules
modules by path ./node_modules/html-entities/lib/.js 81.3 KiB 4 modules
modules by path ./node_modules/react-dom/ 1000 KiB 3 modules
modules by path ./node_modules/react/ 85.7 KiB 2 modules
modules by path ./node_modules/scheduler/ 17.3 KiB 2 modules
modules by path ./node_modules/css-loader/dist/runtime/*.js 2.74 KiB 2 modules

6 modules

ERROR in unable to locate 'D:/segment-anything/demo/model' glob
webpack 5.79.0 compiled with 1 error in 6480 ms

Remove this block from Webpack's common.js config file:

{
  from: "model",
  to: "model",
},

Copy these files to demo/src/assets/data directory:
sam_onnx_npy_jpg.zip
Update constants in the App.tsx file, so they point to the files that you just copied.

I fix it by:

create “model” dir under: "PATH_TO_MAIN/demo" ---- we get "PATH_TO_MAIN/demo/model"
copy converted onnx model to: "PATH_TO_MAIN/demo/model"

Actually just follow the steps in README :) ... https://github.com/facebookresearch/segment-anything/blob/main/demo/README.md

In App.tsx in demo/src near the top you can see a constant
const MODEL_DIR = "/model/sam_onnx_quantized_example.onnx";
Both the model subdirectory nor the onnx model sam_onnx_quantized_example.onnx need to be created in order to run the demo as is.
To create the model shown here you need to

download the default model checkpoint listed here
convert the checkpoint to onnx as illustrated for example in this tutorial notebook

poor documentation, the steps for exporting should be put on top not the other way around....

authors: chaoer jazzlee008 jermwatt kvilon mfproto mtrabelsi

repo: facebookresearch/segment-anything


text:
Update README.md

Certain typo changes.

Hope its better now... i wish i was productive here, though quite meagerly.

Definitely! Every bit counts. Thanks a lot for your contribution :smiley:

indeed ... Thanks a lot for giving me the opportunity 😸 :

authors: RealAnishSharma faheel

repo: faheel/Algos


text:
Consider time based thresholds for CircuitBreaker

For example, where .5 executions fail over 1 minute period. See Polly's advanced circuit breaker as a reference:
https://github.com/App-vNext/Polly
Either requires windowing or inexact stats, neither of which are ideal.

Interesting idea, but I'd wait for more :+1:.

This was added to Failsafe.

authors: jhalterman whiskeysierra

repo: failsafe-lib/failsafe


text:
chore: pin tox also for emulated s390x/arm64v8 tests

Test run: https://github.com/falconry/falcon/actions/runs/473948191

Thanks for looking into it

Thanks for looking into it

repo: falconry/falcon


text:
adding event on triggering rule decoding payload in container

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind documentation

/kind tests

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area commands

/area pkg

/area events

What this PR does / why we need it:
this is an syscall event which will trigger Decoding payload in container rule
Which issue(s) this PR fixes:

Fixes #115
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: h4l0gen
Once this PR has been reviewed and has the lgtm label, please assign leogr for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

this rule triggered with use of base64 -d no need to give any encoded payload.
as expected this rule triggered in above terminal when i used base64 -d command inside container. Please provide your feedback @FedeDP

LGTM label has been added.  Git tree hash: ee59191998f4eed3167dd5a8f86695a26310d905

repo: falcosecurity/event-generator


text:
event on potential local privillege escalation via env var misuse

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind documentation

/kind tests

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area commands

/area pkg

/area events

What this PR does / why we need it:
this event triggered rule potential local privillege escalation via environment variable misuse
Which issue(s) this PR fixes:

Fixes #146
Special notes for your reviewer:

in creating this malicious event i used  one use case which is described in rule description as, detecting the use of the GLIBC_TUNABLES environment variable, which could be used for privilege escalation  on systems running vulnerable glibc versions

oh i just missed it 😅, Thank you @GLVSKiriti ❤

this event triggers related rule in terminal below

Is it still triggering the rule? (just to be sure :laughing: )

@FedeDP Yes I checked it. Rule is triggered successfully.

Let me rebase PR again.

Let me rebase PR again.

no need to :)

LGTM label has been added.  Git tree hash: ba89949bfd379e53f7991a591718bafe942e8d8c

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, h4l0gen
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

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

authors: FedeDP h4l0gen poiana


text:
update(docs): rephrase and update rule override

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind user-interface

/kind content

/kind event

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area blog

/area documentation

/area community

What this PR does / why we need it:
This PR rephrases the rule overriding documentation by putting more emphasis on append key deprecation. Moving in this direction, the operator precedence section has been moved before sections documenting the deprecated feature.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: ekoops
Once this PR has been reviewed and has the lgtm label, please assign vjjmiras for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

content/OWNERS

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ekoops, Issif
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS [Issif]

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

LGTM label has been added.  Git tree hash: 5d084fc54a0f2cae93ddbead48105f1c2b98bf30

authors: ekoops poiana

repo: falcosecurity/falco-website


text:
fix: Ignore NSS user and group entries

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area libsinsp
Does this PR require a change in the driver versions?
No
What this PR does / why we need it:
NSS (Named Service Switch) users can be listed in /etc/passwd with a name starting with a + or - sign and an empty uid field (the same idea applies to groups in /etc/group). For instance a line in /etc/passwd can take the form +@r_unix:::::: and, when parsed by function fgetpwent(), it translates the empty uid field in a zero. This uid is then used as key to an internal map, effectively overwriting the data of the root user, which typically gets uid equal to zero.
This PR aims at ignoring such users and groups (the ones with a + or - prefix) that cannot find a place in the map in any case, having all the same zeroed uid.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: federico-sysdig
Once this PR has been reviewed and has the lgtm label, please assign incertum for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

cc @FedeDP

@wigol: changing LGTM is restricted to collaborators

In response to this:

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

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: federico-sysdig, wigol
Once this PR has been reviewed and has the lgtm label, please assign incertum for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, federico-sysdig, wigol
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

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

LGTM label has been added.  Git tree hash: c230d5c64ebe088ffde7923054ed9af871ab066a

/milestone 0.17.2

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, federico-sysdig, wigol
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

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

/hold
I'm stopping the merge for the moment. I need to check a couple of things.
Also, may I ask your advice on whether we should have a debug log when ignoring a user?
E.g.
	if(!name.empty() && (name[0] == '+' || name[0] == '-'))
	{
		libsinsp_logger()->format(sinsp_logger::SEV_DEBUG,
			"NSS user %.*s ignored", static_cast<int>(name.length()), name.data());
		// ignore NSS entries
		return nullptr;
	}

For sure this fix is great thank you!
I'm not sure what NSS (Named Service Switch) users are, but I will try to search for something about them... Is it possible that a process under these users could generate some syscalls? if yes we will have <NA> that is not so cool...
More in general maybe we shouldn't remove all the users that start with + or - not sure how common they are but maybe we should just fill an entry with an invalid uid. WDYT?

Also, may I ask your advice on whether we should have a debug log when ignoring a user?

I would add it, as said in the previous comment is possible that we are loosing some valid users (we are probably talking about very strange corner cases)

Also, may I ask your advice on whether we should have a debug log when ignoring a user?

+1 from me!

More in general maybe we shouldn't remove all the users that start with + or - not sure how common they are but maybe we should just fill an entry with an invalid uid

If we map them to an invalid uid we are just wasting memory space, since we will still show NA infos.

If we map them to an invalid uid we are just wasting memory space, since we will still show NA infos.

Yep probably this is not the right way, what I would like to obtain is the name of the user even if the uid is invalid or empty, not sure if we have an easy way to do it today

More in general maybe we shouldn't remove all the users that start with + or - not sure how common they are but maybe we should just fill an entry with an invalid uid. WDYT?

This is the crucial point and the one I don't feel confident to overcome without a broader discussion with the core maintainers. The issue is that the internal map has the uid as key and we don't have a key for these users, I'm taking the easy way out of ignoring these users as they are causing trouble overwriting the slot in the map for root and competing among each other for this slot (the last one wins). Briefly put, this change should not make things worse and overcome an issue that can be serious. I'm afraid that managing these users might mean taking a trip over the network to find their info in an external source.

Briefly put, this change should not make things worse and overcome an issue that can be serious. I'm afraid that managing these users might mean taking a trip over the network to find their info in an external source.

Yes that's for sure, unless they are cached somewhere.
Anyway, we need to use the uid as key for the map; i would love to understand which uid are nss users mapped to.

New changes are detected. LGTM label has been removed.

I've added a log line when ignoring a user/group and fixed a problem: it turns out that the check for an NSS user/group must be done earlier.

Added one unit test. I should be finished now, unless something else comes up.

LGTM label has been added.  Git tree hash: a1f77f7f0e6316e2ecd8c166b9ffa028bb7291ce

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, federico-sysdig, wigol
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, FedeDP, federico-sysdig, wigol
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Andreagit97,FedeDP]

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

/unhold

authors: Andreagit97 FedeDP federico-sysdig poiana

repo: falcosecurity/libs


text:
🛑 Archive is down

In 7b90f69, Archive (https://archive.stsci.edu) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Archive is back up in 940b9a8.

repo: falkben/mast-status


text:
🛑 Home 主页 is down

In 4550509, Home 主页 (https://www.fangkehou.eu.org) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Home 主页 is back up in 51600fb.

repo: fangkehou-team/fangkehou-status


text:
Incompatible with systems/modules that override the class of actors, items, etc (e.g. PF2E)

When trying to use:

@inlineActor[mcnoyziJ3Je4nVoU]{test}

I got this bug:

The issue stems from the fact that the pathfinder 2e actor class is CharacterPF2E and not Actor.
I believe this could be solved by refactoring the code, so that instead of converting the doc type to string it explicitly checks classes like this:
if (doc instanceof Actor) .....
if (doc instanceof Item) .....
Perhaps there is a cleaner way of solving it, though.

Thanks for the report!
This is fixed in 0.5.2


text:
🛑 Metabase is down

In 2880306, Metabase (https://metabase.farolcode.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Metabase is back up in b30510f after 1 hour, 56 minutes.


text:
Cant run from source.

When running from source getting import error.
  File "/home/robertbarnett/Documents/programming/pacvis/pacvis/pacvis.py", line 12, in <module>
    from .console import start_message, append_message, print_message
ImportError: attempted relative import with no known parent package```
While running from source ```pacvis.py``` can't import from ```console.py``` and ```infos.py``` due to the fact the they are referenced as ```.console``` and ```.infos```. Removing the period in ```.infos``` and ```.console``` seemed to fix the issue.

I assume you are running by calling pacvis/pacvis.py directly. This project uses a syntax in Python called "relative import". The correct way to run from source is to cd into the project's root directory, and run:
python -m pacvis.pacvis

repo: farseerfc/pacvis


text:
Update notebook with docs and printing of broken links

@jph00 This is ready to review

I guess the linkcheck.rc could really be an ini file to allow for more flexibility?  Not sure if it is worth it at this stage

repo: fastai/fastlinkcheck


text:
Change the Ubuntu logo to look more like the modern official design

Why does it display the picture first and then the text?

there's a lot of free space here

I'll just reduce the size to the original size, here's the final version:

ubuntu.txt

Let's see if other people prefer this one.

And how to do this?  They will not come to GitHub and vote. They will simply use neofetch.

Isn't this logo already the new one? It's just inverted, so instead of having a square block, only the circle is actually colored, which I think is better.

@pesaventofilippo
Screenfetch replicates the Ubuntu 2004 logo 1 to 1. Neofetch replicates the Ubuntu 2010 logo 1 to 1, it doesn't just draw the Ubuntu logo like in 2004, but places it specifically inside a circle. Starting from 2022, the Ubuntu logo is inside a rectangle. Perhaps this won't be liked by nostalgic people, but it's the new reality. The fact that it's inside a rectangle is noticeable in many places in the system:
On the Ubuntu website

During startup/shutdown

At login

In system->About

The only reason why this isn't in Dash to Dock is because they are very lazy. They would have to write new code, synchronize this color with the accent color, not just change the image. Why isn't this in Dash to Dock? The answer is simple: they're lazy. They didn't even make accent colors for the app store, even though they were asked to, and they were also asked for a yellow accent.

Let's see if other people prefer this one.

I don't think changing the whole logo to fill out a rectangle would look good in any way, however changing the ubuntu logo to a more neofetch way (or a config switch for this) would be really nice, so the logo still has some white color inside.
To me the ubuntu logo looks also a bit squished in height:

Either way I don't like this lonely point
In any case, I don’t like this lonely point, I need to add 3 more points to create symmetry

Either way I don't like this lonely point In any case, I don’t like this lonely point, I need to add 3 more points to create symmetry

Let's just remove it.

replicates the Ubuntu 2004 logo 1 to 1

@vadimk1337 Except it isn't? This IS the current logo, notice how the circles are fully embedded inside the lines, not only partially like the 2004 logo. It's just missing the rectangle background but it is the current correct redesigned logo since the 2004 one had a completely different shape

The actual 2004 logo is under ubuntu2_old in the repo, you can see how the circles only partially jut into the lines

The lonely point has been removed.

repo: fastfetch-cli/fastfetch


text:
How to write export_options in gym command, instead of Gymfile

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
How can I write below export_options in gym command, instead of Gymfile.
export_options: {
    method: options[:export_method],
    iCloudContainerEnvironment: "Production",
    teamID: "Apple Team ID Here",
    provisioningProfiles: { "com.example.bundleid": "Provisioning Profile Name" }
}

I want export_options to be included into following gym command:
fastlane gym --scheme <SchemeName> <export_options>
I am having similar issue to this, and trying this solution.

I ended up with using ExportOptions.plist file already added, and then referenced in following command.
fastlane gym --scheme "<Scheme Name>" --export_options "/<Path-To-File>/ExportOptions.plist" --verbose
Here is how my ExportOptions.plist looks like,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>method</key>
	<string>app-store</string>
	<key>provisioningProfiles</key>
	<dict>
		<key><Bundle ID></key>
		<string>match AppStore <Bundle ID></string>
	</dict>
	<key>signingCertificate</key>
	<string>iPhone Distribution</string>
	<key>signingStyle</key>
	<string>manual</string>
	<key>stripSwiftSymbols</key>
	<true/>
	<key>teamID</key>
	<string><Team-ID></string>
	<key>uploadBitcode</key>
	<true/>
	<key>uploadSymbols</key>
	<true/>
</dict>
</plist>

repo: fastlane/fastlane


text:
[Regression] scan fail_build set to false still fails on failed tests if Xcode 10 parallel tests is enabled

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Setting the fail_build to false when invoking scan when parallel testing is enabled on Xcode and tests fail still fails the build.
This might be related to #13414 and #13631.
Thanks! 🙏
+----------------------------+----------------------------------------------------------+
|                               Summary for scan 2.108.0                                |
+----------------------------+----------------------------------------------------------+
| scheme                     | AppTests                                                 |
| device                     | iPhone 8                                                 |
| skip_slack                 | true                                                     |
| output_directory           | ./unit-test-report                                       |
| buildlog_path              | ~/Library/Logs/scan/scan.log                             |
| fail_build                 | false                                                    |
| workspace                  | ./App.xcworkspace                                        |
| skip_detect_devices        | false                                                    |
| clean                      | true                                                     |
| code_coverage              | true                                                     |
| skip_build                 | false                                                    |
| include_simulator_logs     | false                                                    |
| disable_concurrent_testing | false                                                    |
| derived_data_path          | ./DerivedData/                                           |
| should_zip_build_products  | false                                                    |
| result_bundle              | true                                                     |
| open_report                | false                                                    |
| slack_only_on_failure      | false                                                    |
| use_clang_report_name      | false                                                    |
| app_identifier             | com.my.app-identifier                                    |
| reinstall_app              | false                                                    |
| xcode_path                 | /Applications/Xcode.app                                  |
+----------------------------+----------------------------------------------------------+

Parallel testing
[2018-11-28 20:36:27.263 xcodebuild[23877:9033462] [MT] IDETestOperationsObserverDebug: (B4BD45A8-5189-4A91-932B-1ED942CBA8AC) Beginning test session AppTests-B4BD45A8-5189-4A91-932B-1ED942CBA8AC at 2018-11-28 20:36:27.263 with Xcode 10B61 on target <DVTiPhoneSimulator: 0x7f89cb573fd0> {
SimDevice: Clone 1 of iPhone 8 (7DFC1033-5C04-40CE-B29A-764F817B2DDC, iOS 12.1, Shutdown)
} (12.1 (16B91))
2018-11-28 20:36:48.267 xcodebuild[23877:9043391]  IDETestOperationsObserverDebug: Writing diagnostic log for test session to:
/path/to/code/unit-test-report/AppTests.test_result/3_Test/Diagnostics/AppTests-F759B84A-3BB8-4699-B099-F4521E244771/AppTests-CC3FD352-E909-4ADC-BF68-CF112394D379/Session-AppTests-2018-11-28_203648-YGk3hM.log
2018-11-28 20:36:48.267 xcodebuild[23877:9033462] [MT] IDETestOperationsObserverDebug: (50FA3F07-C4C3-4C98-865F-167B21D79E04) Beginning test session AppTests-50FA3F07-C4C3-4C98-865F-167B21D79E04 at 2018-11-28 20:36:48.267 with Xcode 10B61 on target <DVTiPhoneSimulator: 0x7f89cbacc0e0> {
SimDevice: Clone 2 of iPhone 8 (FE1F41BF-A34D-4BD7-BA91-63B9216E9A31, iOS 12.1, Shutdown)
} (12.1 (16B91))
2018-11-28 20:37:26.572 xcodebuild[23877:9043393] Connection peer refused channel request for "dtxproxy:XCTestManager_IDEInterface:XCTestManager_DaemonConnectionInterface"; channel canceled <DTXChannel: 0x7f89cb84f7b0>
2018-11-28 20:38:24.810 xcodebuild[23877:9033462] [MT] IDETestOperationsObserverDebug: 117.606 elapsed -- Testing started completed.
2018-11-28 20:38:24.810 xcodebuild[23877:9033462] [MT] IDETestOperationsObserverDebug: 0.000 sec, +0.000 sec -- start
2018-11-28 20:38:24.810 xcodebuild[23877:9033462] [MT] IDETestOperationsObserverDebug: 117.606 sec, +117.606 sec -- end
Failing tests:
URLTestCase.testKaboom()
** TEST FAILED **
[20:38:37]: Exit status: 65
+----------------------------+----------------+
|                Lane Context                 |
+----------------------------+----------------+
| DEFAULT_PLATFORM           | ios            |
| ENVIRONMENT                | default        |
| PLATFORM_NAME              | ios            |
| LANE_NAME                  | ios unit_tests |
| BUILD_NUMBER               | 2              |
| SCAN_DERIVED_DATA_PATH     | ./DerivedData/ |
| SCAN_GENERATED_PLIST_FILES | []             |
| SCAN_GENERATED_PLIST_FILE  |                |
+----------------------------+----------------+
[20:38:37]: Error building/testing the application - see the log above

Serial testing
AppTests.URLTestCase
testKaboom, failed - Kaboom 🧨💥
/path/to/code/AppTests/Sources/Shared/Foundation/URLTestCase.swift:13

    func testKaboom() {
        XCTFail("Kaboom 🧨💥")
    }

	 Executed 1027 tests, with 1 failure (0 unexpected) in 24.271 (25.692) seconds

2018-11-29 12:15:48.271 xcodebuild[55243:9232978] [MT] IDETestOperationsObserverDebug: 54.800 elapsed -- Testing started completed.
2018-11-29 12:15:48.271 xcodebuild[55243:9232978] [MT] IDETestOperationsObserverDebug: 0.000 sec, +0.000 sec -- start
2018-11-29 12:15:48.271 xcodebuild[55243:9232978] [MT] IDETestOperationsObserverDebug: 54.800 sec, +54.800 sec -- end
Failing tests:
URLTestCase.testKaboom()
** TEST FAILED **
[12:15:56]: Exit status: 65
+--------------------+------+
|       Test Results        |
+--------------------+------+
| Number of tests    | 1027 |
| Number of failures | 1    |
+--------------------+------+

Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.14

Ruby
2.3.1

Bundler?
true

Git
git version 2.15.1

Installation Source
~/.rvm/gems/ruby-2.3.1/bin/fastlane

Host
Mac OS X 10.14 (18A391)

Ruby Lib Dir
~/.rvm/rubies/ruby-2.3.1/lib

OpenSSL Version
OpenSSL 1.0.2j  26 Sep 2016

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
10.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
fastlane_require 'fastlane'
fastlane_require 'colorize'

fastlane_version "2.26.0"

default_platform :ios

platform :ios do
  before_all do
    reset_git_repo(force: true)
  end

  desc "Runs all the Unit Tests"
  lane :unit_tests do
    killsimulator
    resetsims(devices_regexp: reset_regexp)

    scan(
      scheme: ENV["UT_SCHEME"],
      device: ENV["UT_DEVICE"],
      skip_slack: true,
      output_directory: "./unit-test-report",
      buildlog_path: "~/Library/Logs/scan/#{ENV['BUILD_TAG']}-unit",
      fail_build: false
    )

    slather(
      scheme: ENV["UT_SCHEME"],
      workspace: ENV["WORKSPACE_PATH"],
      proj: ENV["PROJECT_PATH"],
      ignore: "App/Sources/View/*",
      html: true,
      build_directory: ENV["DERIVED_DATA_PATH"],
      output_directory: "./unit-coverage-test-report"
    )
  end
end

`./fastlane/Appfile`
app_identifier ENV["APP_IDENTIFIER"]

apple_id ENV["APPLE_ID"]

itc_team_id ENV["ITC_TEAM_ID"]
team_id ENV["TEAM_ID"]

fastlane gems

Gem
Version
Update-Status

fastlane
2.108.0
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-resetsims
0.1.1
✅ Up-To-Date

fastlane-plugin-killsimulator
0.1.0
✅ Up-To-Date

Loaded gems

Gem
Version

did_you_mean
1.0.0

io-console
0.4.5

CFPropertyList
2.3.6

concurrent-ruby
1.1.3

i18n
0.9.5

minitest
5.11.3

thread_safe
0.3.6

tzinfo
1.2.5

activesupport
4.2.11

public_suffix
2.0.5

addressable
2.5.2

atomos
0.1.3

babosa
1.0.2

bundler
1.16.0

claide
1.0.2

clamp
0.6.5

fuzzy_match
2.0.4

nap
1.1.0

cocoapods-core
1.5.3

cocoapods-deintegrate
1.0.2

cocoapods-downloader
1.2.2

cocoapods-plugins
1.0.0

cocoapods-search
1.0.0

cocoapods-stats
1.0.0

netrc
0.11.0

cocoapods-trunk
1.3.1

cocoapods-try
1.1.0

colored2
3.1.2

escape
0.0.4

fourflusher
2.0.1

gh_inspector
1.1.3

molinillo
0.6.6

ruby-macho
1.3.1

nanaimo
0.2.6

xcodeproj
1.7.0

cocoapods
1.5.3

colored
1.2

colorize
0.8.1

highline
1.7.10

commander-fastlane
4.4.6

declarative
0.0.10

declarative-option
0.1.0

unf_ext
0.0.7.5

unf
0.1.4

domain_name
0.5.20180417

dotenv
2.5.0

emoji_regex
0.1.1

excon
0.62.0

multipart-post
2.0.0

faraday
0.15.4

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday_middleware
0.12.2

fastimage
2.1.4

jwt
2.1.0

memoist
0.16.0

multi_json
1.13.1

os
1.0.0

signet
0.11.0

googleauth
0.6.7

httpclient
2.8.3

mime-types-data
3.2018.0812

mime-types
3.2.2

uber
0.1.0

representable
3.0.4

retriable
3.1.2

google-api-client
0.23.9

json
2.1.0

mini_magick
4.5.1

multi_xml
0.6.0

plist
3.4.0

rubyzip
1.2.2

security
0.1.3

naturally
2.2.0

simctl
1.6.5

slack-notifier
2.3.2

terminal-notifier
1.8.0

unicode-display_width
1.4.0

terminal-table
1.8.0

tty-screen
0.6.5

tty-cursor
0.6.0

tty-spinner
0.8.0

word_wrap
1.0.0

rouge
2.0.7

xcpretty
0.3.0

xcpretty-travis-formatter
1.0.0

fastlane-plugin-cosigner
2.0.1

fastlane-plugin-killsimulator
0.1.0

fastlane-plugin-logme
0.1.6

fastlane-plugin-resetsims
0.1.1

mini_portile2
2.3.0

nokogiri
1.8.5

slather
2.4.6

generated on: 2018-11-29

Ping @benasher44 as you were the author of these two PRs. Maybe you have some insight. Thanks! 🎢

Yep this is a dup of #13414. I recommend close this issue. The PR linked to that issue checks for Failing tests: (shown in your output), which covers this issue.

Thought it had already been released, sorry. 🙈
In that case, I think we can close this. Any ETA for a new release containing the above fix?

No idea sorry! I think I recommend a patch you could add to your Fastfile in the meantime in #13414

Damn, completely missed that too! 😓
Thank you very much 🙏

No prob!


text:
firebase_app_distribution Stopped deploying

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
After updating macOS, Xcode to newest versions, and when using fastlane, CI stopped deploying to firebase,
Command executed
bundle exec fastlane firebase_app_distribution
Complete output when running fastlane, including the stack trace and command used

 +---------------------+-----------------------------------------------------------------------------------------------------------------+
|                                                             Lane Context                                                              |
+---------------------+-----------------------------------------------------------------------------------------------------------------+
| DEFAULT_PLATFORM    | ios                                                                                |
| PLATFORM_NAME       | ios                                                                                |
| LANE_NAME           | ios deploy_firebase_debug                                                                                |
| BUILD_NUMBER        | 202108.12.153846                                                                                |
| CERT_FILE_PATH      | /Users/ci/builds/syqQyRNi/0/organization/apps/iOS/xxxxxx.cer                                 |
| CERT_CERTIFICATE_ID | QDZKXTUSPM                                                                                |
| SIGH_PROFILE_PATH   | /Users/ci/builds/syqQyRNi/0/organization/apps/iOS/AdHoc_com.xxx.App.mobileprovision             |
| SIGH_PROFILE_PATHS  | ["/Users/ci/builds/syqQyRNi/0/organization/apps/iOS/AdHoc_com.xxx.App.mobileprovision"]         |
| SIGH_UDID           | 031cc0ad-6c3a-42ed-8280-886f8c984ae0                                                                            |
| SIGH_UUID           | 031cc0ad-6c3a-42ed-8280-886f8c984ae0                                                                            |
| SIGH_NAME           | com.xxxx.App AdHoc 1623158172                                                                                |
| SIGH_PROFILE_TYPE   | ad-hoc                                                                                |
| IPA_OUTPUT_PATH     | /Users/ci/builds/syqQyRNi/0/organization/apps/iOS/xxx.ipa                                       |
| XCODEBUILD_ARCHIVE  | /Users/ci/builds/syqQyRNi/0/organization/apps/iOS/build/Build/xxx 2021-08-12 15.39.19.xcarchive |
| DSYM_OUTPUT_PATH    | /Users/ci/builds/syqQyRNi/0/organization/apps/iOS/xxx.app.dSYM.zip                              |
+---------------------+-----------------------------------------------------------------------------------------------------------------+
[15:50:51]: Could not find action, lane or variable 'firebase_app_distribution'. Check out the documentation for more details: https://docs.fastlane.tools/actions
+------+--------------------------------------+-------------+
|                     fastlane summary                      |
+------+--------------------------------------+-------------+
| Step | Action                               | Time (in s) |
+------+--------------------------------------+-------------+
| 1    | default_platform                     | 0           |
| 2    | app_store_connect_api_key            | 0           |
| 3    | cocoapods                            | 19          |
| 4    | increment_build_number               | 1           |
| 5    | automatic_code_signing               | 0           |
| 6    | update_code_signing_settings         | 0           |
| 7    | get_certificates                     | 1           |
| 8    | get_provisioning_profile             | 3           |
| 9    | Switch to ios download_lokalise lane | 0           |
| 10   | lokalise                             | 3           |
| 11   | cocoapods                            | 13          |
| 12   | gym                                  | 700         |
+------+--------------------------------------+-------------+
[15:50:51]: fastlane finished with errors
[!] Could not find action, lane or variable 'firebase_app_distribution'. Check out the documentation for more details: https://docs.fastlane.tools/actions
Cleaning up file based variables
00:00
ERROR: Job failed: exit status 1

Environment

🚫 fastlane environment 🚫
Stack

Key
Value

OS
11.5.1

Ruby
2.7.2

Bundler?
false

Git
git version 2.30.1 (Apple Git-130)

Installation Source
/usr/local/bin/fastlane

Host
macOS 11.5.1 (20G80)

Ruby Lib Dir
~/.rbenv/versions/2.7.2/lib

OpenSSL Version
OpenSSL 1.1.1k  25 Mar 2021

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
12.5.1

Swift Version
5.4.2

System Locale

Error

No Locale with UTF8 found 🚫

fastlane files:
`./fastlane/Fastfile`
default_platform :ios

platform :ios do
  before_all do
  app_store_connect_api_key(
    key_id: “xxxxx”,
    issuer_id: “xxxxx”,
    key_filepath: "fastlane/AuthKey_xxxx.p8",
    duration: 1200,
    in_house: false,
  )
    ENV['SLACK_URL'] = 'https://hooks.slack.com/services/xxxx/xxx/xxx’
    ENV['FASTLANE_XCODEBUILD_SETTINGS_RETRIES'] = '10'
    ENV['FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT'] = '20'
    ENV['CI_TMP_DIR'] = ENV['CI_PROJECT_DIR'].nil? ? nil : "#{ENV['CI_PROJECT_DIR']}/build"
  end

  # Defs

  def prepare_certificates
    enable_automatic_code_signing
    update_code_signing_settings(use_automatic_signing: true)
    get_certificates
    get_provisioning_profile
  end

  def prepare_adhoc_certificates
    enable_automatic_code_signing
    update_code_signing_settings(use_automatic_signing: true)
    get_certificates
    get_provisioning_profile(adhoc: true)
  end

  def update_build_number
    increment_build_number(
      build_number: Time.new.strftime("%Y%m.%d.%H%M%S")
    )
  end

  # Lanes
  desc 'Bump build number to current time'
  lane :bumpBuildNumber do
    update_build_number()
  end

  desc 'Bump patch in MAJOR.MINOR.PATCH format'
  lane :bumpPatch do
    increment_version_number(
      bump_type: 'patch'
    )
  end

  desc 'Bump minor in MAJOR.MINOR.PATCH format'
  lane :bumpMinor do
    increment_version_number(
      bump_type: 'minor'
    )
  end

  lane :upload_symbols do |options|
    download_dsyms(
      version: options[:version] || 'live'
    )

    upload_symbols_to_crashlytics(
      gsp_path: "./xxx/Resources/Google\ Services/GoogleService-Info.plist",
      app_id: “1xxxxx
    )

    clean_build_artifacts()
  end

  desc 'Bump major in MAJOR.MINOR.PATCH format'
  lane :bumpMajor do
    increment_version_number(
      bump_type: 'major'
    )
  end

  desc 'Run tests'
  lane :tests do
    scan(
      scheme: 'xxx - Production',
      derived_data_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/DerivedData",
      output_directory: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Scan",
      buildlog_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Logs/scan",
      xcargs: "-quiet"
    )
  end

  desc 'Update localizations from localise.co'
  lane :download_lokalise do
    lokalise(
        api_token: ‘xxxxx’,
        project_identifier: ‘xxxxxx’,
        use_original: true,
        languages: ['lt', 'en', 'ru', 'es', 'de', 'fr', 'pt', 'nl', 'pl', 'sv', 'ja', 'it'],
        destination: 'xxx/Resources'
    )
  end

  lane :add_sandbox_user do |options|
    number_of_accounts = 1
    country = options[:country] || ‘DE’
    password = options[:password] || 'xxx’
    email = options[:email]
    if !email && options[:count]
      number_of_accounts = options[:count].to_i
    end

    Spaceship::Tunes.login
    nextUserId = Spaceship::Tunes::SandboxTester.all.count + 1

    for userId in nextUserId..nextUserId+number_of_accounts-1
        generatedEmail = email || userId.to_s + '@xxx.app'
        user = Spaceship::Tunes::SandboxTester.create!(
          email: generatedEmail,
          password: password,
          country: country
        )
        puts 'Created ' + generatedEmail
    end
  end

  desc 'Build'
  lane :build do

    cocoapods(
      podfile: 'Podfile',
      try_repo_update_on_error: true
    )

    prepare_certificates()

    # Build
    gym(
      scheme: 'xxx - Production',
      derived_data_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/DerivedData",
      build_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Build",
      buildlog_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Logs/gym",
      xcargs: "-quiet",
      export_options: {
        'provisioningProfiles': {
          'com.xxx.App': 'com.xxx.App AppStore',
          'com.xxx.App.Today': 'com.xxx.App.Today AppStore',
          'com.xxx.App.watchkitapp': 'com.xxx.App.watchkitapp AppStore',
          'com.xxx.App.watchkitapp.watchkitextension': 'com.xxx.App.watchkitapp.watchkitextension AppStore',
          'com.xxx.App.Notification': 'com.xxx.App.Notification AppStore',
          'com.xxx.App.ClickerWidget': 'com.xxx.App.Notification AppStore',
          'com.xxx.App.LessonWidget': 'com.xxx.App.LessonWidget',
          'com.xxx.App.NotificationService': 'com.xxx.App.Notification AppStore'
        }
      },
      skip_archive: true
    )
    #
    scan(
      scheme: 'xxx - Production',
      derived_data_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/DerivedData",
      output_directory: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Scan",
      buildlog_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Logs/scan",
      xcargs: "-quiet"
    )
  end

  desc 'Upload to Testflight'
  lane :deploy do

    cocoapods(
      podfile: 'Podfile',
      try_repo_update_on_error: true
    )

    update_build_number()
    prepare_certificates()
    download_lokalise()

    # Build
    gym(
      scheme: 'xxx - Production',
      derived_data_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/DerivedData",
      build_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Build",
      buildlog_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Logs/gym",
      xcargs: "-quiet",
      export_options: {
        'provisioningProfiles': {
          'com.xxx.App': 'com.xxx.App AppStore',
          'com.xxx.App.Today': 'com.xxx.App.Today AppStore',
          'com.xxx.App.watchkitapp': 'com.xxx.App.watchkitapp AppStore',
          'com.xxx.App.watchkitapp.watchkitextension': 'com.xxx.App.watchkitapp.watchkitextension AppStore',
          'com.xxx.App.Notification': 'com.xxx.App.Notification AppStore',
          'com.xxx.App.ClickerWidget': 'com.xxx.App.Notification AppStore',
          'com.xxx.App.LessonWidget': 'com.xxx.App.LessonWidget',
          'com.xxx.App.NotificationService': 'com.xxx.App.Notification AppStore'
        },
      }
    )
    pilot(
      skip_waiting_for_build_processing: true
    )
  end

  desc 'Upload Debug App to Testflight'
  lane :deploy_debug do

    cocoapods(
      podfile: 'Podfile',
      try_repo_update_on_error: true
    )

    update_build_number()
    prepare_certificates()
    download_lokalise()

    #Build
    gym(
      scheme: 'xxx - Debug',
      derived_data_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/DerivedData",
      build_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Build",
      buildlog_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Logs/gym",
      xcargs: "-quiet",
      export_options: {
        'provisioningProfiles': {
          'com.xxx.xxx-DebugV2': 'com.xxx.xxx-DebugV2 AppStore',
          'com.xxx.xxx-DebugV2.Today': 'com.xxx.xxx-DebugV2 Today',
          'com.xxx.xxx-DebugV2.watchkitapp': 'com.xxx.xxx-DebugV2.watchkitapp AppStore',
          'com.xxx.xxx-DebugV2.watchkitapp.watchkitextension': 'com.xxx.xxx-DebugV2.watchkitapp.watchkitextensio',
          'com.xxx.xxx-DebugV2.Notification': 'com.xxx.xxx-DebugV2 Wildcard',
          'com.xxx.xxx-DebugV2.LessonWidget': 'com.xxx.xxx-DebugV2 LessonWidget',
          'com.xxx.xxx-DebugV2.ClickerWidget': 'com.xxx.xxx-DebugV2 Wildcard',
          'com.xxx.xxx-DebugV2.NotificationService': 'com.xxx.xxx-DebugV2 Wildcard'
        },
      }
    )
    # Upload
    pilot(
      skip_waiting_for_build_processing: true,
      changelog: ENV['RELEASE_NOTES'],
    )
  end

  desc '[Debug] Upload to Firebase Distribution'
  lane :deploy_firebase_debug do
    cocoapods(
      podfile: 'Podfile',
      try_repo_update_on_error: true
    )

    update_build_number()
    prepare_adhoc_certificates()
    download_lokalise()

    cocoapods(
      podfile: 'Podfile',
      try_repo_update_on_error: true
    )

    #Build
    gym(
      scheme: 'xxx - Debug',
      derived_data_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/DerivedData",
      build_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Build",
      buildlog_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Logs/gym",
      xcargs: "-quiet",
      export_options: {
        'method': 'ad-hoc',
        'provisioningProfiles': {
          'com.xxx.xxx-DebugV2': 'Debug Adhoc',
          'com.xxx.xxx-DebugV2.Today': 'Debug Adhoc Today',
          'com.xxx.xxx-DebugV2.watchkitapp': 'Adhoc Wildcard',
          'com.xxx.xxx-DebugV2.watchkitapp.watchkitextension': 'Adhoc Wildcard',
          'com.xxx.xxx-DebugV2.Notification': 'Adhoc Wildcard',
          'com.xxx.xxx-DebugV2.LessonWidget': 'Debug Adhoc LessonWidget',
          'com.xxx.xxx-DebugV2.ClickerWidget': 'Adhoc Wildcard',
          'com.xxx.xxx-DebugV2.NotificationService': 'Adhoc Wildcard'
        },
      }
    )

    firebase_app_distribution(
      app: "xxxxx",
      service_credentials_file: ENV['FIREBASE_APP_DIST_KEY_DEVELOP'],
      release_notes: ENV['RELEASE_NOTES'],
      groups: 'xxx-ios'
    )
  end

  desc 'Upload to Firebase Distribution'
  lane :deploy_firebase do
    cocoapods(
      podfile: 'Podfile',
      try_repo_update_on_error: true
    )

    update_build_number()
    prepare_adhoc_certificates()
    download_lokalise()

    cocoapods(
      podfile: 'Podfile',
      try_repo_update_on_error: true
    )

    #Build
    gym(
      scheme: 'xxx - Production',
      derived_data_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/DerivedData",
      build_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Build",
      buildlog_path: ENV['CI_TMP_DIR'].nil? ? nil : "#{ENV['CI_TMP_DIR']}/Logs/gym",
      xcargs: "-quiet",
      export_options: {
        'method': 'ad-hoc',
        'provisioningProfiles': {
          'com.xxx.App': 'com.xxx.App AdHoc',
          'com.xxx.App.Today': 'Adhoc Today',
          'com.xxx.App.watchkitapp': 'Adhoc Wildcard',
          'com.xxx.App.watchkitapp.watchkitextension': 'Adhoc Wildcard',
          'com.xxx.App.Notification': 'Adhoc Wildcard',
          'com.xxx.App.ClickerWidget': 'Adhoc Wildcard',
          'com.xxx.App.LessonWidget': 'Adhoc LessonWidget',
          'com.xxx.App.NotificationService': 'Adhoc Wildcard'
        },
      }
    )

    firebase_app_distribution(
      app: "1xxxa",
      service_credentials_file: ENV['FIREBASE_APP_DIST_KEY_PROD'],
      release_notes: ENV['RELEASE_NOTES'],
      groups: 'xxx-ios'
    )
  end
end

`./fastlane/Appfile`
app_identifier "com.xxx.App" # The bundle identifier of your app
team_id “xxxx” # Developer Portal Team ID
itc_team_id “xxxxxx”

for_platform :ios do
  for_lane :deploy_debug do
    app_identifier 'com.xxx.xxx-DebugV2'
  end
end

fastlane gems

Gem
Version
Update-Status

fastlane
2.191.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.4.0

atomos
0.1.3

CFPropertyList
3.0.3

claide
1.0.3

colored2
3.1.2

nanaimo
0.3.0

rexml
3.2.5

xcodeproj
1.21.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.7.0

terminal-table
1.8.0

plist
3.6.0

public_suffix
4.0.6

addressable
2.8.0

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

artifactory
3.0.15

babosa
1.0.4

colored
1.2

highline
2.0.3

commander
4.6.0

excon
0.85.0

faraday-em_http
1.0.0

faraday-em_synchrony
1.0.0

faraday-excon
1.1.0

faraday-httpclient
1.0.1

faraday-net_http
1.0.1

faraday-net_http_persistent
1.2.0

faraday-patron
1.0.0

faraday-rack
1.0.0

ruby2_keywords
0.0.5

faraday
1.7.0

unf_ext
0.0.7.7

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.4

faraday-cookie_jar
0.0.7

faraday_middleware
1.1.0

fastimage
2.2.5

gh_inspector
1.1.3

json
2.3.0

mini_magick
4.11.0

naturally
2.2.1

rubyzip
2.3.2

security
0.1.3

xcpretty-travis-formatter
1.0.1

dotenv
2.7.6

simctl
1.6.8

jwt
2.2.3

uber
0.1.0

declarative
0.0.20

trailblazer-option
0.1.1

representable
3.1.1

retriable
3.1.2

mini_mime
1.1.0

memoist
0.16.2

multi_json
1.15.0

os
1.1.1

signet
0.15.0

googleauth
0.17.0

httpclient
2.8.3

webrick
1.6.0

google-apis-core
0.4.1

google-apis-playcustomapp_v1
0.5.0

google-apis-androidpublisher_v3
0.10.0

google-cloud-env
1.5.0

google-cloud-errors
1.1.0

google-cloud-core
1.6.0

google-apis-iamcredentials_v1
0.6.0

google-apis-storage_v1
0.6.0

rake
13.0.1

digest-crc
0.6.4

google-cloud-storage
1.34.1

emoji_regex
3.2.2

jmespath
1.4.0

aws-eventstream
1.1.1

aws-sigv4
1.2.4

aws-sdk-core
3.119.0

aws-sdk-kms
1.46.0

aws-sdk-s3
1.98.0

uri
0.10.0

bundler
2.2.25

aws-partitions
1.485.0

forwardable
1.3.1

logger
1.4.2

cgi
0.1.0

date
3.0.0

timeout
0.1.0

stringio
0.1.0

ipaddr
1.2.2

openssl
2.1.2

zlib
1.1.0

mutex_m
0.1.0

ostruct
0.2.0

strscan
1.0.3

io-console
0.5.6

delegate
0.1.0

fileutils
1.4.1

singleton
0.1.0

open3
0.1.0

yaml
0.1.0

psych
3.1.0

generated on: 2021-08-12

Hi @JustinasKristopaitis
Quickly looked into your attached ^ Fastfile,
i think you should run bundle exec fastlane deploy_firebase
btw, firebase_app_distribution plugin has a completely different Git repo and if issue still exist, please feel free to open ticket here https://github.com/fastlane/fastlane-plugin-firebase_app_distribution/issues
.
.

authors: JustinasKristopaitis crazymanish


text:
Match: support for supplying multiple app identifiers at once

this  is a rebased version of https://github.com/fastlane/fastlane/pull/6080 - as there is no activity for many days. - original commit is preserved.
i would like to see this feature in match.

ok closed this - as i saw the original  PR just has not yet been reviewed - sorry


text:
Custom TLS API

This is a WIP. I am looking for feedback.
My organization needs Custom TLS certs and we hope to not maintain our own fork.
I may have discovered a platform bug. I have noticed that POST /tls/certificates will return a 500 Internal Server Error when the "type" field is blank (see https://developer.fastly.com/reference/api/tls/custom-certs/certificates/)
The Private Key (POST /tls/private_keys) and Platform TLS (POST /tls/bulk/certificates) APIs do not return an error if "type" is blank.
This is relevant because the jsonapi marshaller only marshals the attributes and not the type. Therefore the CreateCustomCertificate() function in this PR does not currently work. I can work around this by adding "type" to the Go type and marshaling however this will break the convention found throughout the library.

I have also reported this possible bug in an enterprise support ticket: #300454

Hey @joel-g. I believe I've found a fix for getting the correct type in the request json. In my testing adding a primary ID field to CreateCustomCertificateInput did cause the type to be set and did not require the ID to be set nor did it include an extraneous empty ID field in the json.
type CreateCustomCertificateInput struct {
	ID       string `jsonapi:"primary,tls_certificate"`
	CertBlob string `jsonapi:"attr,cert_blob"`
	Name     string `jsonapi:"attr,name"`
}

and from testing
// json before
{"data":{"type":"","attributes":{"cert_blob":"-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n","name":"My certificate"}}}

// json after
{"data":{"type":"tls_certificate","attributes":{"cert_blob":"-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n","name":"My certificate"}}}

Does this look like it will fix the issue?

@ryansouza I actually discovered the same thing this morning and added a "Type     string jsonapi:"primary,tls_certificate"" field that achieves the same thing.
I also have pushed more files to cover the /tls/activation and /tls/configuration API.

Oh god what I have I done

@phamann thank you for the thorough review. I believe I have resolved all of the requested changes except this one: https://github.com/fastly/go-fastly/pull/225#discussion_r518736212
Can you confirm that the official Postman collection is incomplete and that I should add Configuration and Domain fields?

@phamann that was actually very fast compared so some vendors open source. And it was a big PR so I'm happy to "get it right". I'm already working on adding these to https://github.com/fastly/terraform-provider-fastly so I'll see you there

authors: joel-g ryansouza

repo: fastly/go-fastly


text:
fit_generator/flow_from_directory shape bug

When I run the code in the link at the bottom of this post I get the following error:
Exception: Error when checking model input: expected input_1 to have shape (None, 3, 227, 227) but got array with shape (32, 3, 277, 277)
I specified batch_size=32 in flow_from_directory so fit_generator shouldn't expect 'None' as the batch size.
I tried changing line 48 from:
inputs = Input(shape=(3,227,227))
to:
inputs = Input(batch_shape=(32,3,227,227))
If I do this I get the following error:
Exception: Error when checking model input: expected input_2 to have shape (32, 3, 227, 227) but got array with shape (32, 3, 277, 277)
This looks like a bug.
Could there be a problem with the way fit_generator reads batch info from the flow_from_directory generator?
I have updated Keras and Theano to the newest releases.
https://gist.github.com/ssieges/61952bf5f0071cc4c8bf23515fc440cc

The error is because of different image size, your target size in flow_from_directory should be (227,227), not (277,277).

Thats embarrassing

repo: fchollet/keras


text:
Get SwiftInspector working with Xcode 13

Draft PR to start getting SwiftInspector passing tests locally with Xcode 13.
Next steps:

Set SwiftSyntax dependency to exact("0.50500.0") once the tag exists

We should likely take advantage of multiple Package.swift instead so we can support 5.4 and up! https://github.com/apple/swift-package-manager/blob/main/Documentation/Usage.md#version-specific-manifest-selection

authors: dfed fdiaz

repo: fdiaz/SwiftInspector


text:
Create the database connection and implement data inside the database

What does this mean
Implement the data based on the datamodel below.

Before you assign this issue or start working on it, read the "Important" section below for critical details.

Datamodel

For more detailed information, access the full design on Figma: View Figma Design
Important

Pull request staat open!

authors: Jesse-Kramer lemuelmgsn

repo: fdnd-agency/tumi-mundo


text:
How to get started... trying to debug and it gives me message "Application not fond"

First run, trying to comple the Hello world, that has some trace statements in it.
Can't seem to get the PROJECT / DEBUG command to work. It says haxe -debug...., build succeeded, Done(0), then says "Application not found".
Will be glad to pay for some help.

What type of project?
FD version? (Help -> About...)
Haxe version?

authors: SlavaRa magicmouse

repo: fdorg/flashdevelop


text:
404 when accessing route using customer authentication

I do not need jwt or any kind of session maangement as I receive the authenticated user in the http headers. for testing I wrote the following custom authenticator
I have a config
 "auth": {
    "strategies": ["http-headers"],
    "httpHeaders": {
        "header-name": "headername"
    },
    "secret": "-"
  }

const CustomStrategy = require('passport-custom');

module.exports = opts => {
  return function() {

    const verifier = (req, done) => {
      const user = {
        id: 'superuser'
      };

      done(null, user);
    };

    this.passport.use('http-headers', new CustomStrategy(verifier));
  };
};

I register it.
  const app = this;
  const config = app.get('auth');

  // Set up authentication with the secret
  app.configure(authentication(config))
    .configure(trustedheaders(config.httpHeaders));

  app.service('authentication').hooks({
    before: {
      create: authentication.hooks.authenticate([config.strategies])
    }
  });

Inside my service.hook I refer to it as
const { authenticate } = require('feathers-authentication').hooks;

module.exports = {
  before: {
    all: [
      authenticate(['http-headers'])
    ],

No matter what I do I keep getting a 404. if I comment out the authenticate hook. I got the reponsive.
I am really new to fethers, just started out and I am not sure how to debug this. I would appreciate any pointers. Also I think it shuold be throwing a 401.
Thanks

Can you share a repository with a complete demo application? 404 seems like an odd response (it should be at least 401 or 500 if something else went wrong).

authors: daffl istvano

repo: feathersjs/feathers-authentication


text:
how to initialize memory on app startup

How do I initialize the memory on app startup? I tried the following without success:
(function() {
  var app, bodyParser, feathers, memory;

  feathers = require('feathers');

  memory = require('feathers-memory')();

  bodyParser = require('body-parser');

  app = feathers();

  app.configure(feathers.rest())
    .use(bodyParser.json())
    .use('/values', memory).
    configure(feathers.errors())
    .listen(3000);

  console.log('App listening on 127.0.0.1:3000');

  // Here is what I tried
  memory.create({
    name: 'initial-value',
    type: "test",
    x: []
  });

}).call(this)

I also tried passing an object right after the require. Do you already have a solution for that? Thanks in advance.

Solution in #5
I should have passed all the parameters with json formart:
// create(data, params, callback), although I don't know yet what params are used for...
memory.create({
    "name": 'initial-value',
    "type": "test",
    "x": []
  }, {}, function(error, data){
    console.log('created data: ', data)
});

Yep. This is how it looks like:
var feathers = require('feathers');
var memory = require('feathers-memory')();
var bodyParser = require('body-parser');
var app = feathers();

app.configure(feathers.rest())
  .use(bodyParser.json())
  .use('/values', memory)
  .listen(3000);

console.log('App listening on 127.0.0.1:3000');

app.service('values').create({
    name: 'initial-value',
    type: "test",
    x: []
}, function(error, data) {
  console.log('Created', data);
});

You actually shouldn't have to pass the callback though, I'll have to look into why this is happening.

I case that might help, here is the error I got:
/Users/eder/js/agnez/node_modules/feathers-memory/lib/memory.js:79
    cb(null, data);
    ^
TypeError: undefined is not a function
    at Object.Proto.extend.create (/Users/eder/js/agnez/node_modules/feathers-memory/lib/memory.js:79:5)
    at Object.self.(anonymous function) [as create] (/Users/eder/js/agnez/node_modules/feathers-memory/node_modules/uberproto/lib/proto.js:61:21)
    at Object.<anonymous> (/Users/eder/js/agnez/app.js:17:10)
    at Object.<anonymous> (/Users/eder/js/agnez/app.js:50:4)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)

Related: https://github.com/feathersjs/feathers-commons/issues/4

This should be fixed now via https://github.com/feathersjs/feathers/pull/151 and will be available in the upcoming 1.2 release.

authors: EderSantana daffl

repo: feathersjs/feathers-memory


text:
Show instance type

We should probably show an instance type in the server list and probably also on the index for the random server.

Should be solved in #8.


text:
Deduplicate discovered Validators by their fully-qualified class name

Resolves: #119

The solution may be more complex to do right, but I would like to know if this is the source of the problems.

repo: fedora-java/javapackages-validator


text:
Keep media enclosures

Podcast feeds and RSS feeds in general can contain an enclosure element that enables players to show directly the sound file which can be played. Atom supports this as well, https://github.com/gpodder/podcast-feed-best-practice/blob/master/podcast-feed-best-practice.md#media-files-enclosures. But feedparser so far seems to strip that element. Is it possible to keep it, ideally to add it to the schema?

@onli Good point. Yes, attachments / enclosures are still missing in the model. Needs to get added. Cheers.

(Just to have the reference here, didn't realize I'd have to add it to the body of the PR) I sent a PR adding that, https://github.com/feedparser/feedparser/pull/5

Great.  Thanks for the kick off. Merged your changes / additions. Keep it up.  Cheers.

Hi @geraldb. I wanted to ask whether we could get a gem release with that feature enabled?

@onli Thanks for the reminder. Will try to push out a new release later this week. Cheers.

Great, thanks :)

@onli  Thanks for getting it started. Added a new struct for attachments (with an alias for enclosures) and pushed out a new version, that is, 2.1.0. Keep it up. Cheers. Prost.

Thanks for packing this into an update. It seems to work just fine :)
I just realized that one of the feeds this was requested for is from Youtube, and Youtube does not use simple enclosures. They use the Yahoo media namespace. http://bjohas.de/wiki/Enclosures_in_yahoo_media,_rss,_and_atom describes it, this is a live example with a slightly different syntax.
Do you see a proper way how this could be supported as well, or is this just too far off from a regular feed? I have to admit not even seeing a way how the ruby rss parser and builder could access or create such elements.

@onli  Good point.  Thanks for the detailed info about the media extension. I'd say looks like an attachment / enclosure with more attributes (if I'm not missing something), thus, I would add it to the attachments / enclosures array plus add some more (optional) attributes if missing.
As you said shouldn't be too hard if the ruby rss parses the element (way more difficult if the information is not accessible) - than the option is to extend the (standard) rss parser or use just a "vanilla" xml parser.  I'd say the first step is to check if you can access the media elements in rss2?

authors: geraldb onli

repo: feedparser/feedparser