⚠ Missing and/or wrong files in WalletConnect Node Packages + import React

Describe the bug
While trying to integrate WalletConnect to an existing Expo app, crash occurs claiming React is unable to detect the different modules and dependencies inside of WalletConnect.
Additionally, when modifying the indicated @web3modal files manually, WalletConnect is unable to detect the React DOM and demands to make a manual import...
import React from "react";
... in all UI files containing a pure React call like this one...
const opacity = (0, _react.useRef)(new _reactNative.Animated.Value(0));
  const isIos = _reactNative.Platform.OS === 'ios';

  // Fade in image on load for iOS. Android does this by default.
  const onLoadEnd = () => {
    _reactNative.Animated.timing(opacity.current, {
      toValue: 1,
      duration: 150,
      useNativeDriver: true
    }).start();
  };
  return isIos ? /*#__PURE__*/React.createElement(_reactNative.Animated.Image, _extends({
    source: {
      uri: source,
      headers
    },
    onLoadEnd: onLoadEnd,
    style: [_styles.default.image, {
      opacity: opacity.current
    }, style]
  }, rest)) : /*#__PURE__*/React.createElement(_reactNative.Image, _extends({
    source: {
      uri: source,
      headers
    },
    style: [_styles.default.image, style]
  }, rest));

Eventually, making imports (which feel very wrong) makes WalletConnect functional, but it is impossible to make a build of the Expo app for distribution (see additional details).
SDK Version (if relevant)

Client: Expo
Version 51

To Reproduce
Simply making these imports to the App.js of an existing functional Expo app after making the WalletConnect AppKit installs.
import "@walletconnect/react-native-compat";
import { WagmiProvider } from 'wagmi'
import { mainnet, polygon, arbitrum } from '@wagmi/core/chains'
import { createWeb3Modal, defaultWagmiConfig, Web3Modal, W3mButton } from '@web3modal/wagmi-react-native'

Expected behavior
The App should have no problem using WalletConnect after a fresh npx expo install described in the WalletConnect AppKit docs.
Error
None of these files exist:
  * node_modules/@web3modal/siwe-react-native/lib/src/client(.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.mjs|.native.mjs|.mjs|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json|.ios.cjs|.native.cjs|.cjs|.ios.scss|.native.scss|.scss|.ios.sass|.native.sass|.sass|.ios.css|.native.css|.css|.ios.svg|.native.svg|.svg)
  * node_modules/@web3modal/siwe-react-native/lib/src/client/index(.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.mjs|.native.mjs|.mjs|.ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json|.ios.cjs|.native.cjs|.cjs|.ios.scss|.native.scss|.scss|.ios.sass|.native.sass|.sass|.ios.css|.native.css|.css|.ios.svg|.native.svg|.svg)
  58 | });
  59 | var _utils = require("@walletconnect/utils");
> 60 | var _client = require("../src/client");
     |                        ^
  61 | var _index = require("./helpers/index");
  62 | var _SIWEController = require("./controller/SIWEController");
  63 | var _index2 = require("./scaffold/partials/w3m-connecting-siwe/index");]

Smartphone (please complete the following information):

Device: All phones
OS: iOS & Android
Expo with Dev build
Version [e.g. 22]

Additional context
We cannot build the project nor submit it to the stores at all if we fix manually, Expo EAS throws a Fastlane issue everytime we try to do so.
❌  (node_modules/@web3modal/siwe-react-native/lib/commonjs/index.js:59:23)

  57 |   }
  58 | });
> 59 | var _utils = require("@walletconnect/utils");
     |                       ^ Unable to resolve module ../src/client from<EMAIL_ADDRESS>
  60 | var _client = require("../src/client");
  61 | var _index = require("./helpers/index");
  62 | var _SIWEController = require("./controller/SIWEController");

Thank you for your assistance.

@AnesBkdm were you able to solve it? can you provide a MRE to reproduce the issue?

@AnesBkdm any news?


user object - hook vs. connection

On https://docs.feathersjs.com/real-time/filtering.html, the examples show that the 2nd parameter to a .filter method (connection) has a .user object of the currently authenticated user.
Shouldn't this actually be the third param - under hook.params.user ?

connection and hook.params is the same. I'd be careful using the hook object for now though until https://github.com/feathersjs/feathers/issues/408 is resolved since it actually isn't the same as in the actual hook chain (so if you add anything in a hook during the service call it won't be available in the filter).

Then I'm probably doing something wrong, because connection.user is undefined in my set-up.
This is my client code, listing to created events (testing via node --harmony-async-await on the console)
const feathers = require('feathers/client');
const socketio = require('feathers-socketio/client');
const authentication = require('feathers-authentication/client');
const hooks = require('feathers-hooks');
const io = require('socket.io-client');

const socket = io('http://localhost:5000/');
const app = feathers()
  .configure(hooks())
  .configure(socketio(socket))
  .configure(authentication());

const test = app.service('test');

(async function() {
  await app.authenticate({
    type: 'local',
    email<EMAIL_ADDRESS>    password: 'testing',
  });

  test.on('created', data => console.log('Created something ->', data));

})();

And this is my service code:
import authentication from 'feathers-authentication';
import knexService from 'feathers-knex';

import { conn } from '../db';

// Models
import {
  validateHook,
  create,
  mergeTagsHook,
} from '../models/test';

const service = knexService({
  Model: conn,
  name: 'test',
  paginate: {
    default: 25,
    max: 100,
  },
});

const auths = [
  authentication.hooks.verifyToken(),
  authentication.hooks.populateUser(),
  authentication.hooks.restrictToAuthenticated(),
];

export default function (app) {
  app.use('test', {
    get: service.get.bind(service),
    find: service.find.bind(service),
    create,
  });
  app.service('test')
    .before({
      find: [
        ...auths,
        authentication.hooks.queryWithCurrentUser({
          as: 'user_id',
        }),
      ],
      create: [
        ...auths,
        validateHook,
      ],
    })
    .after({
      get: [mergeTagsHook],
      find: [mergeTagsHook],
    })
    .filter({
      created(data, connection, hook) {
        console.log('connection.user ->', connection.user);
        console.log('hook.params.user ->', hook.params.user);
        if (hook.params.user && hook.params.user.id === data.user_id) {
          return data;
        }
        return false;
      },
    });
}

Creating a new 'test' via a HTTP POST to the REST interface successfully runs the filter, and sends the data back to the connected client.
However, I get:

connection.user -> undefined

But I do get the full user object via:

hooks.param.user -> {....}

In case it's useful, this is my user service:
import authentication from 'feathers-authentication';
import knexService from 'feathers-knex';
import hooks from 'feathers-hooks-common';

// Db
import { conn } from '../db';

// Models
import {
  createUserHook,
} from '../models/user';

const service = knexService({
  Model: conn,
  name: 'users',
  paginate: {
    default: 1,
    max: 10,
  },
});

const auths = [
  authentication.hooks.verifyToken(),
  authentication.hooks.populateUser(),
  authentication.hooks.restrictToAuthenticated(),
];

export default function (app) {
  app.use('users', service);
  app.service('users')
    .before({
      get: [
        ...auths,
        authentication.hooks.restrictToOwner({
          ownerField: 'id',
        }),
      ],
      find: [
        ...auths,
        authentication.hooks.queryWithCurrentUser({
          as: 'id',
        }),
      ],
      create: [createUserHook],
    })
    .after(
      hooks.remove('password'),
    )
    .filter({
      created() {
        return false;
      },
    });
}


URL Rewrite Support

implement iis.exec method. (like ngx.exec)

implemented partial iis.exec, has async handler issue.

Fixed 35b344ba0f802704e21ffeaa03cc301be50cd634


Improve styling for HTTP response details

There's a few pieces of data in the OpenAPI "Responses" data in zerver/openapi/zulip.yaml (displayed at /api) that aren't rendered at all:

[x] Types -- we should say which fields are guaranteed to be an integer (for example) or have an enum list of values.
[x] Deprecated status?  Though maybe our convention of explaining deprecations in the text is better, and we should just add an assertion that the deprecated flag is attached to fields only if **Deprecated** appears in the description (we currently have the "if" part of "if and only if").
[ ] Ensure for events we always display the id and type fields with a short 1-line description. In the OpenAPI data, we may want to use an allOf: EventObject reference to avoid duplicating these 100 times.

Additionally, we should:

[ ] Look at making a more attractive/usable visual styling for API responses
[ ] Look at making a more attractive/usable visual styling for Events responses (E.g. https://chat.zulip.org/api/get-events#update_display_settings).  E.g. the font is very small, change event types to be in a monospace font, etc.; see https://chat.zulip.org/#narrow/stream/19-documentation/topic/API.20docs.20for.20events!/near/961679
[ ] Debug why there's a completely blank line at the end of all of our code blocks on /api; this is some sort of weird regression.

This issue replaces one of the remaining projects form #14100, which has grown unwieldy.
@eeshangarg @orientor @akashaviator FYI.

Zulipbot claim

@zulipbot claim

Clarification- for deprecated status and types, we want the value of these flags to be rendered in a HTTP response, correct? eg- In a HTTP response, a deprecated field has a true value under deprecated (deprecated:true)

@zulipbot claim

@MSurfer20 @orientor to what extent are these items resolved?  I think this is probably one of the most important bundles of work for the API documentation.

@timabbott  https://github.com/zulip/zulip/commit/d1c24d3f670d757055dfc26f0700ebc1c70f58a3 fixes Debug why there's a completely blank line at the end of all of our code blocks on /api; this is some sort of weird regression.
https://github.com/zulip/zulip/commit/dd8964a31f0cdf952011317264ae3443309e1611 fixes  Ensure for events we always display the id and type fields with a short 1-line description. In the OpenAPI data, we may want to use an allOf: EventObject reference to avoid duplicating these 100 times.
As for the remaining two, improving the UI of /api pages is one of the goals of my summer project, and I can get started after collecting complete feedback about how to proceed with the design.


Add extra line to descibe or summarise  personal contributions in each publications

Hi, it's a very instresting and useful project which generates my CV really conveniently.
But I'm expecting if there is any chance to add extra line in each publications to descibe or summarise personal contributions.
I think it gona be helpful for people grasping the main idea of each work more quickly.
Thank you!

See if #210 would address your issue.

Duplicate of #210.


transform doesn't work with async methods like terser

The transform parameter doesn't work with async methods like terser.
https://www.npmjs.com/package/terser
How to make it support?
Thanks

Hi, I was looking for the same thing. I created a pull request with a basic implementation for async transform support.
For now I think I'll stick with the older version of Terser.


feat: Added grouped series and documented how to render stacked series

This adds a grouped series implementation (much the same as the one in the original d3fc, just tidied up a bit) for SVG and canvas.
For stacked the original d3fc is somewhat trivial, so rather than replicate the component, I've instead turned it into an example.
The example code depends on d3fc-spread.
After looking at the changes in the d3 stack component, I think the d3fc-spread API is still correct and of value.

NOTE: Build fails because d3fc-spread has not been released yet

d3fc-group has now been released, so this PR passes the build

@chrisprice - updated as per discussion


⚠ Cioos National CKAN has degraded performance

In 851cf8e, Cioos National CKAN (https://catalogue.cioos.ca/) experienced degraded performance:

HTTP code: 200
Response time: 9470 ms

Resolved: Cioos National CKAN performance has improved in 18237dd after 5 minutes.


[bug] Blank screen on opening or creating any GraphQL

After updating to Bruno 1.0 when I open or create a GraphQL Post request I got a blank screen.
In console, I see this error:
framework-49f1e091cbf6b261.js:formatted:4188 Error: Minified React error #130; visit https://reactjs.org/docs/error-decoder.html?invariant=130&args[]=undefined&args[]= for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

I can reproduce just creating a new Request of type GraphqL
Info:
Bruno 1.0.0 installed in MacOsX 14.0 installed by brew
electron | : 21.1.1
chrome | : 106.0.5249.103
node | : 16.16.0
v8 | : <IP_ADDRESS>-electron.0

This is fixed in 1.0.1 @lujop

Thanks, I've just updated it to 1.0.1, and now it works correctly.


add react native to platforms

Hi @tallytalwar, @matteblair
This PR is related to #1715 issue .
Just an init version of react-native module ready to use in android projects .
Now i'm using this module in reactnative projects . but i did not published it to  npm yet .
Please review and notify to me if any change needed to accept the PR .
Thanks .

Wow! Thanks for all the hard work on this @saeedtabrizi. We'll find some time to review this soon, please bear with us as none of us maintainers are very familiar with react-native.

hi @saeedtabrizi I try to integrate your module in my react native project .. I could not understand how to send scene file how is native module accessing it .. can you please guide me id you have any example i could refer .. I try to give scenePath prop but how to use it .. I mean what is that path


Long trips spanning multiple days

I realize this probably won't be noticed as this tool has been deprecated, but I don't have ArcGIS Pro so I'm stuck using this tool in ArcCatalog and ArcMap.
How can I get this tool to deal with trips that might span multiple days? For example, I'm keen on building a network with major US/Canada inter-city rail lines, using GTFS data from both VIARail and Amtrak. When I run the tool on the VIARail data, I get the following error:
Column "arrival_time in file C:\.....\viarail\stop_times.txt has an invalid value:101:01:00
Upon further inspection, it appears that this time corresponds to the transcontinental route, where times with hours greater than 24 signal the following the day. It appears this train leaves Toronto at 9:45 AM, then pulls into this stop at 5:01 AM on the 5th day of the trip.
How can I get around this issue? Should I manipulate the GTFS files to essentially start a new trip on each day? I'm just getting myself familiar with GTFS, but it should be possible to get it where I have an equivalent schedule, but without such large time values.
Any other suggestions?
EDIT: Just realized I didn't drop the link to the VIA Rail GTFS: https://www.viarail.ca/en/developer-resources

Your question has been noticed and understood!
I just tested your data with the new tools in ArcGIS Pro, and it works correctly there.  Because it's working there, I will not be able to make any updates to these old, deprecated tools to support this case.
If your organization is up to date on its ArcGIS licensing and maintenance, you should be able to get a copy of ArcGIS Pro.  You would need to talk to your Esri representative to find out what to do.  If you don't know who that is or need more help, respond here, and I will help you figure it out.

Thanks for the quick reply! I'm actually a university student, and I obtained a year-long ArcGIS license through a GIS class I took last semester. We received EVA codes by e-mail back in August, but since I'm not in the class anymore, I don't know how feasible getting an ArcGIS Pro license would be. In any case, I should be able to re-work the GTFS to get around the issue.
On a completely unrelated note, how can we add locations and get them to snap to the network without including streets? After removing those extreme times, I followed your instructions here: https://github.com/Esri/public-transit-tools/blob/master/add-GTFS-to-a-network-dataset/UsersGuide.md, but I ignored everything to do with connectivity because I don't wish to use streets. Whenever I try to calculate a route or generate a service area using TransitTime, my locations are always in a non-traversable location, even when I load exactly the stops themselves. I remember when I built the network I got a bunch of SourceName: Stops, ObjectID: , Standalone user-defined junction is detected. I also notice that there are no junctions in the network. That's probably the cause of the issue, but what is the solution?
I understand that using these tools without streets kind of makes them less "realistic," but with a national dataset, it would be a lot easier to just model between the stations themselves.
Another note—a suggestion—it would be a cool addition if you incorporated the shapes.txt file (if it exists) when drawing the transit lines. It would give some meaning to length, and would just look better for display purposes. Thanks again for your help!

Many universities have a university-wide ArcGIS license, so you might ask at the library or computer lab whether ArcGIS Pro is available somewhere.  You might not be able to install it on your own machine, but I'd be someone has it somewhere.  I realize this isn't the most convenient time to have to go to a computer lab, though.  Not sure if your area is as quarantined as mine is right now.
If the network has no junctions and you can't locate on anything, my guess is that it did not build successfully.  If you had enough of the right kind of build errors, it probably just isn't functioning at all.  Note that if you aren't using any street  features,  then all the  junctions are represented by transit stops, so there won't be any system junctions.  So, that might not actually be a problem.
Technically you shouldn't need the streets, and locating on transit stops should work.  I think the edits you made to the transit schedules are the more likely culprit.  The transit lines are generated by drawing a straight line between stops that are directly connected.  That information is determined by looking at the schedules.
Anyway, I can't really tell what's wrong, but unfortunately I also can't really spend a ton of time debugging this now-deprecated tool anymore.  I wish you the best of luck!

Yeah, there are few computers in a couple libraries that have ArcGIS installed, but it's more convenient to work on my personal computer, especially now when campus is basically closed. Hope you are staying safe!
I only deleted a few rows from a couple trips, and the locations I was testing with weren't on those trips. I still saw all the edge lines generate as usual. Plus, creating a route with "length" as the impedance tool works just fine.
In any case, I tried the Amtrak gtfs file, without any modifications, which built without any errors (yay!) However, when I load the network into ArcMap, I see the edges as expected, but the junctions set is empty again. I still see a Warning: Location ... in "Stops" is on a non-traversable network element position for every location whenever I try to use TravelTime_WithTransit as impedance. It's weird, as I can still draw a route with plain length as the impedance, so clearly the junctions are recognized somehow. I followed the suggestions under "My analysis never uses the transit lines. It only uses the streets." in your troubleshooting guide, but no luck.
Thanks for your help—I'll keep updating this with my progress just in case anyone else runs into similar issues in the future.

Hello.  I see you edited your post a few times since I initially read it.  Were you able to get your project done?

Yes, I was able to get it working, but only after adding another shapefile representing the tracks themselves (which I treated as streets), so the stop points wouldn't be clearly coincident with the lines. It appears that a requirement of the tool is that there be a streets layer that the stop points must snap to, and that stop points must not lie directly on the streets. So using the straight transit lines themselves as "streets" is an attempted workaround that doesn't work.


Implement singleR celltype annotation

Encountered a problem with the celldex R package, the functions are not available in the namespace as expected.
Reproduction:
docker run -it --entrypoint=R community.wave.seqera.io/library/anndata2ri_bioconductor-celldex_bioconductor-singlecellexperiment_bioconductor-singler_anndata:d6a21ee363999d21
library(celldex)
surveyReferences()


chore(RHTAPWATCH-504\505): {uid, ws}-map-maker fail on connection errors

Description
The uid-map-maker and ws-map-maker script ignored cases where
there was a connection failure. this change
aim to catch those failures and report them
for better visibility of the error.
Issue ticket number and link
RHTAPWATCH-504
RHTAPWATCH-505
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Not fully tested yet.
Checklist:

[x] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key (if applicable)
[ ] I have updated labels (if needed)

Closing as the script does exit when a connection error occur as  the code is written now. it also outputs the error.


only call step_function_task if the state has a Resource field that's callable

Thanks. Released in v1.4.5.


New version release

Since bindings are ready, we are good to go with releasing new version of bs-react-native-paper that supports new version of react-native-paper. There is only one thing left that we have to do. We have to merge paper2.0 branch into master or (second option) rename master to paper-v1 and rename paper2.0 to master. Second option has small advantage, we would be able to make fixes on paper-v1 branch and release versions with fixes that supports react-native-paper v1. I am not sure if we need that so I am ok with both options. What do you think @medson10 ?

I liked the second option, it indeed is not need but will be useful if someone still using v1 and want to check how code was in this version. I think this is the best option for all module which a breaking change is released

Version 5.0.0-alpha is released already! It's still alpha, cause we need to test it on real project and figure out bindings for withTheme HOC (@souhe I believe you are the right person to do it :p).
Btw, we can start promoting lib now :D @medson10 Send me your twitter handle and I'll mention you.

Nice, my twitter is @o_medson


fixNullSafeEqualToEqual rule only change to equal if both children are not nullable (#32374)

Proposed changes
pick #32374

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


(#81) Add CCM Deployments API worked example

Added a worked example with a brief description for the CCM Deployments API endpoints (and some related auxiliary endpoints needed for the example).
Resolves #81

If I click merge we'll see it live and make any changes right?

@ferventcoder yes clicking merge will trigger a build/deployment.

@vexx32 thanks for getting this added!

@ferventcoder said...
If I click merge we'll see it live and make any changes right?

Just to expand a little bit on what @designxsteph said...

@designxsteph said...
yes clicking merge will trigger a build/deployment.

Merging a PR into the master branch, or directly adding a commit into the master branch, will trigger the Publish Documentation GitHub Action to run.  To all intents and purposes, this is exactly the same as the Build Pull Request GitHub Action, with the one difference that it also publishes the site.
If the Build Pull Request GitHub action succeeds, which it did here, then there should be no reason that the Publish Documentation GitHub Action won't work, unless there is something wrong with git/GitHub.
Once the main portion of the build completes, the artifacts of the Statiq build are committed into the gh-pages branch of this repository, and after a short delay, the pages will be served ready for viewing.  There may still be some Cloudflare caching in action, so you might not see any changes immediately, unless we bust the necessary pages from Cloudflare.

@vexx32 @ferventcoder @designxsteph this change is now live on the site: https://docs.chocolatey.org/en-us/central-management/usage/api


SBT version conflict error when fastparse and os-lib are used together

SBT version is 1.8.0.
Here is build.sbt:
lazy val root = project
  .in(file("."))
  .settings(
    scalaVersion := "2.13.10",
    libraryDependencies ++= Seq(
      "com.lihaoyi"   %% "os-lib"   % "0.9.0",
      "com.lihaoyi"   %% "fastparse"  % "2.3.3",
    )
  )

The error:
[error] java.lang.RuntimeException: found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[error]
[error]         * com.lihaoyi:geny_2.13:1.0.0 (early-semver) is selected over 0.6.10
[error]             +- com.lihaoyi:os-lib_2.13:0.9.0                      (depends on 1.0.0)
[error]             +- com.lihaoyi:fastparse_2.13:2.3.3                   (depends on 0.6.10)
[error]
[error]
[error] this can be overridden using libraryDependencySchemes or evictionErrorLevel

Same issue with scalatags and fastparse in newer sbt versions.

Same issue for me with scalatags and fastparse.  I've been looking into libraryDependencySchemes but there is precious little documentation on the web.  A search at scala-sbt.org turns up nothing.  What I have found suggests that adding libraryDependencySchemes += "com.lihaoyi" %% "geny" % VersionScheme.Always should do it, but I haven't gotten it to work.

I did more work to confirm an SBT bug.  libraryDependencySchemes can serve as a workaround to this library conflict in a JVM project but does not work in a Scala.JS project.  See my bug report.

Here's a sketch of my work-around:

Fork the fastparse library.  Check it out to your local machine.
In build.sc, I changed:

-val scala213 = "2.13.6"
-val scalaJS1 = "1.7.1"
+val scala213 = "2.13.10"
+val scalaJS1 = "1.12.0"

and
-    ivy"com.lihaoyi::sourcecode::0.2.3",
-    ivy"com.lihaoyi::geny::0.6.10"
+    ivy"com.lihaoyi::sourcecode::0.3.0",
+    ivy"com.lihaoyi::geny::1.0.0"

Commit the changes.
Assign a tag in git.  I used "2.3.3a" to remind myself that it was a custom version.  This is important because mill gets the version number from the most recent tag.
Publish the artifacts locally with ./mill "fastparse.js[2.13.10].publishLocal" and ./mill "fastparse.js[2.13.10,1.12.0].publishLocal"
Adjust the library dependency in your project
Cross your fingers, reload, and compile your project

Fixed in #271


Test PR

A developer build has not yet been created for this branch. Click here to go ahead and create the build...

CI Build Link:
http://sou-jenkins2.swinfra.net:8080/job/FileAnalysisSuite/job/FileAnalysisSuite~adapter-rest-contract~test2~CI


Adds an example for a special string use case (using an email address).

I was looking for this use-case for a while and in the end constructed it myself like below. It adds data validation as a type to a dynamic string.
It may be kind-of-a-hack, and I don't know if this is the right place for it. I hope putting it here helps others who are looking for something similar.

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

Hi @gewoonwoutje - thanks for helping to improve the handbook! I had a chat with the team and we do want to figure out nominal typing like this example uses, but probably don't want to be encouraging it too much in the handbook until there's something a bit more solid in the language level support. So, I'm going to close this PR.


🎨 👷♂ Make Markdownlint happy in k6 readme

@rblaine95 I'll take a look at why regression tests failed and post a separate fix. Just seems like connection record was not ready after webhook indicated it is ...

@rblaine95 we can merge this one so long if you like, considering it's just a README change. will fix tests for #921


Add setObfuscatedAccountId and setObfuscatedProfileId to PurchaseManagerGoogleBilling

As seen in Google documentation and discussed at https://github.com/libgdx/gdx-pay/issues/228.
Let me know if you want me to add unit tests (I would be happy to). To do so, I would have to either create a fake class for BillingClient or use Mockito to mock it. For both strategies, I would create a protected constructor to pass mBillingClient as argument.
Thanks!

Now you should add some words to the billing readme.md file on how to use the stuff. The docs say you should use these fields to set the user's account.

Now you should add some words to the billing readme.md file on how to use the stuff. The docs say you should use these fields to set the user's account.

So, I didn't changed my game app to use these fields yet.
I believe these are values you decide. They should be unique for each user:

https://stackoverflow.com/a/62470237
https://developer.android.com/google/play/billing/developer-payload#attribute

The idea is that some types of fraud are related to malicious users who create multiple Google and in-app accounts to hide their activity. These methods are used to help Google map Google accounts to in-app accounts.
Should I add what I just said above to the readme?

Okay, looks like a misunderstanding here. When you first opened the issue about adding this fields, I thought you have to add these for some "magic" fraud protection on Google's site and that you already use it.
What I know understand is that these are some information fields you can fill, and you can roll your own fraud protection by retrieving and comparing the given keys. You need to use getAccountIdentifiers() on the purchase to do so.
My conclusion:

these fields need to be set from the core according to some own account information your game has
are of no use if you don't have a way to retrieve this information from the purchase

Do I understand correct?
If I do, I would suggest that you implement this fields in your own fork and use it in your game. If you found a way that is working for you and gives some benefit over not having these fields, you can update your PR accordingly.

Hi MrStahlfelge, sorry for the confusion.
Our understanding is that Google will run fraud protection in their side: https://developer.android.com/google/play/billing/security#fraud

Okay, but there's still the need to set from core then, isn't it?
My suggestion still holds, it is good practice to try changes first in an own project.

I understand you.
The problem I see here is that there will be no way of measuring the effect of populating this field. The reason is that Google won't tell us what they do with this data nor provide us any insights showing it had positive impact in fraud fighting.
Based on the above, how about we do something different: we create a protected method getBillingFlowParams that can be overriden:
protected BillingFlowParams getBillingFlowParams(SkuDetails skuDetails) {
  return BillingFlowParams.newBuilder()
        .setSkuDetails(skuDetails)
        .build();
}

@Override
public void purchase(String identifier) {
    SkuDetails skuDetails = skuDetailsMap.get(identifier);

    if (skuDetails == null) {
        observer.handlePurchaseError(new InvalidItemException(identifier));
    } else {
        mBillingClient.launchBillingFlow(activity, getFlowParamsBuilder(skuDetails));
    }
}

This way we allow anyone override that method and set whatever params in BillingFlowParams they want, not only these ovfuscated IDs.

That's a good idea.

Done! Let me know what you think.

Maybe it is better to do build() where it was before? Then you could override, but use the super method for the default params. The way it is now, you can only overwrite the default behaviour completely.

Good idea, done!

Thanks!


Use consistent function names in networkpolicy controller unittest

Use consistent function names in networkpolicy controller unittest
Other functions in the networkpolicy controller unittest use 'new' as a prefix  so getNetworkPolicyWithMultipleRules should have the same naming convention.
Signed-off-by: Yuki Tsuboi<EMAIL_ADDRESS>

Codecov Report

Merging #1334 into master will decrease coverage by 22.28%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #1334       +/-   ##
===========================================
- Coverage   64.47%   42.19%   -22.29%
===========================================
  Files         157       84       -73
  Lines       12626    10267     -2359
===========================================
- Hits         8141     4332     -3809
- Misses       3637     5555     +1918
+ Partials      848      380      -468

Flag
Coverage Δ

#integration-tests
?

#kind-e2e-tests
?

#unit-tests
42.19% <ø> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/agent/agent_linux.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/config/node_config.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/controller/networkpolicy/tier.go
0.00% <0.00%> (-90.00%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-85.72%)
:arrow_down:

pkg/ovs/openflow/ofctrl_group.go
0.00% <0.00%> (-84.38%)
:arrow_down:

pkg/agent/client.go
0.00% <0.00%> (-77.42%)
:arrow_down:

pkg/ovs/ovsconfig/ovs_client.go
0.00% <0.00%> (-72.30%)
:arrow_down:

pkg/ovs/openflow/ofctrl_action.go
17.76% <0.00%> (-72.09%)
:arrow_down:

... and 120 more

/test-all

/skip-e2e

Verify common spelling mistakes check is renamed to Verify docs and spelling on master branch and is a mandatory verification, the patch needs to rebase on ToT so that the check can be executed and passed.
@yktsubo could you rebase it so we can merge?

Thank you for your support on this issue.
Rebase is done.

Codecov Report

Merging #1334 into master will decrease coverage by 19.52%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #1334       +/-   ##
===========================================
- Coverage   64.39%   44.87%   -19.53%
===========================================
  Files         159       74       -85
  Lines       12681     5589     -7092
===========================================
- Hits         8166     2508     -5658
+ Misses       3660     2804      -856
+ Partials      855      277      -578

Flag
Coverage Δ

#integration-tests
44.87% <ø> (ø)

#kind-e2e-tests
?

#unit-tests
?

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

Impacted Files
Coverage Δ

pkg/agent/proxy/service.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/ovsconfig/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/proxy/types/groupcounter.go
0.00% <0.00%> (-95.00%)
:arrow_down:

pkg/agent/proxy/endpoints.go
0.00% <0.00%> (-88.58%)
:arrow_down:

pkg/agent/querier/querier.go
0.00% <0.00%> (-87.50%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-85.72%)
:arrow_down:

pkg/agent/proxy/types/types.go
0.00% <0.00%> (-84.62%)
:arrow_down:

pkg/agent/flowexporter/connections/conntrack.go
0.00% <0.00%> (-84.22%)
:arrow_down:

pkg/agent/types/networkpolicy.go
5.88% <0.00%> (-82.36%)
:arrow_down:

pkg/apis/stats/register.go
0.00% <0.00%> (-81.82%)
:arrow_down:

... and 125 more

Thanks @yktsubo for updating.
/skip-all as it's related to unit test only. will merge once mandatory verification is done.


Support asynchronous rendering

It would be nice if we could enhance the code splitting into one module for the store, and one for the current route. That way we can get more out of HTTP/2's multi-plexing.

@Inkdpixels This is currently supported since the 2.1.1 hypernova version. https://github.com/airbnb/hypernova/commit/ca74d2123708f29ab3bb3cc897874e2d894b8394#diff-19b62c5258de09e32f97ee52dd8e9615
is this still valid?


add v4 signing for google

I've started again from scratch, duplicating everything I needed for google v4 signing.
There is a "second" builder now, and I am not sure if we want to keep that or not.
I left in the header signing method, but I can remove it if you don't want it for now.
I believe we could just as well replace the current Google implementation with this one, I am not aware of any drawbacks and it would get rid of the more complicated token procedure.
Still need to add some tests.

There is a "second" builder now, and I am not sure if we want to keep that or not.

LGTM.

I left in the header signing method, but I can remove it if you don't want it for now.

Please remove it.

I believe we could just as well replace the current Google implementation with this one, I am not aware of any drawbacks and it would get rid of the more complicated token procedure.

We want to support fetch credentials from google's native IAM service, please keep them as-is.

Mostly LGTM! Let's get the query sign working first. Thanks for your hard work.

Cool!


[Impeller] Remove the list failing Vulkan unit-tests that the test harness skips.

This list is out of date.

cc @gaaclarke

Got rid of this in f499709cd23af81e261c62079b4be0311aa6f7c2


Replace deltaspike by spring data

Replace delta spike by spring data as JPA query abstraction layer

Cancelled, instead we are going to offer support for QueryDSL


Secured Web locations

When providing an appinstaller file with a web location for updates, is it possible to set credentials somewhere, which are used to acces the web location?

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

ID: 3eebf940-9282-41a2-f236-55984ff76aeb
Version Independent ID: a1b3c572-c6ba-eff7-637d-cbcb20801c57
Content: Create an App Installer file with Visual Studio - UWP app developer
Content Source: windows-apps-src/packaging/create-appinstallerfile-vs.md
Service: windows
GitHub Login: @ridomin
Microsoft Alias: rmpablos

Any news on this issue?

Hi @endyb66  thanks for the suggestion, we are evaluating different options and would be helpful if you describe your scenario. Which kind of credentials (Basic, NTLM, OAuth) ?
If you want to provide further details, please contact me: rmpablos at microsoft dot com.

Hi @rido-min, for my app package service, i'm using Basig and Digest Auth, so it would be really helpful, if there would be an option to provide username / password credentials for that.

Thanks for taking the time to let us know about this and we sincerely apologize for the delayed response.
Due to the sheer volume of feedback in our repo, we are currently prioritizing new Issues. If you believe your feedback is still actionable, let us know either directly in this thread or by filing a new issue by using the Feedback control at the bottom of the App Installer article.
Though the issue will be marked as closed, I will monitor any replies that come afterwards so feel free to treat this like an open Issue. Thank you.


Destination MAC address is not automatically set to correct value for flow.EthernetPause (but it works for flow.PfcPause)

I have listed below flow configuration for both. After having configured each of them, IxN GUI shows that dst mac addr is set to intended value for pfc_flow but it's set to 0 for global_pause_flow.
global_pause_flow = flow.Flow(
    name='rx_flow',
    tx_rx=flow.TxRx(
        flow.PortTxRx(tx_port_name=rx.name, rx_port_name=tx.name)
    ),
    packet=[
        flow.Header(
            flow.EthernetPause(
                src=flow.Pattern('00:AB:BC:AB:BC:AB'),
                control_op_code=flow.Pattern('01'),
                time=flow.Pattern('FFFF')
            )
        )
    ],
    duration=flow.Duration(flow.FixedSeconds(seconds=20)),
    size=flow.Size(size),
    rate=flow.Rate(value=100, unit='line')
)

pfc_flow = flow.Flow(
    name='rx_pause',
    tx_rx=flow.TxRx(
        flow.PortTxRx(tx_port_name=rx.name, rx_port_name=tx.name)
    ),
    packet=[
        flow.Header(
            flow.PfcPause(
                src=flow.Pattern('00:AB:BC:AB:BC:AB'),
                class_enable_vector=flow.Pattern('FF'),
                control_op_code=flow.Pattern('0101'),
                pause_class_0=flow.Pattern('FFFF'),
                pause_class_1=flow.Pattern('FFFF'),
                pause_class_2=flow.Pattern('FFFF'),
                pause_class_3=flow.Pattern('FFFF'),
                pause_class_4=flow.Pattern('FFFF'),
                pause_class_5=flow.Pattern('FFFF'),
                pause_class_6=flow.Pattern('FFFF'),
                pause_class_7=flow.Pattern('FFFF')
            )
        )
    ],
    duration=flow.Duration(flow.FixedSeconds(seconds=20)),
    size=flow.Size(size),
    rate=flow.Rate(value=100, unit='line')
)

Scripts:
https://github.com/open-traffic-generator/ixnetwork/blob/test-pfc/tests/pfc/test_global_pause_e2e.py
https://github.com/open-traffic-generator/ixnetwork/blob/test-pfc/tests/pfc/test_pfc_pause_e2e.py

IxNetwork default Destination MAC for PfcPause is "01:80:c2:00:00:01" where as Ethernet is "00:00:00:00:00:00" .  Whatever I have remember we have plan to take product default value. Please let me know if I have missed something.

Verified using test_global_pause_e2e.py


Use position-independent code

This makes the library compatible with other projects.
Are there any downsides?

@tbennun you're building a shared library and I think that's only when it must be PIC. Let's make it optional under a cmake option. There is a performance overhead because of the indirection, which we can avoid unless it's needed.

Why not make this conditional on BUILD_SHARED_LIBS? A user could also manually set CMAKE_POISITION_INDEPEDENT_CODE on the command line, and we should respect that by not overwriting with the set command

Why not make this conditional on BUILD_SHARED_LIBS? A user could also manually set CMAKE_POISITION_INDEPEDENT_CODE on the command line, and we should respect that by not overwriting with the set command

Thanks for double-checking @davidbeckingsale. The use-case is building libproteus as a static library but linking it with a shared library (@tbennun please correct me if I'm wrong). So, IIUC we don't need an extra option to support this use-case, just that the user needs to compile proteus with CMAKE_POSITION_INDEPENDENT_CODE set? That sounds reasonable as we deploy by source now and we could avoid the extra option (ENABLE_PIC). @tbennun thoughts? Does that work for you?

I’ll close this for now.


Update dynamic import article

CC: @petele

Whoops!
There were 8 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2017/11/dynamic-import.md#L45 - '

:tada: This has been pushed live to https://developers.google.com/web/


Always flush stdout to prevent buffering of data

Thanks for the cool crate :)
This prevents stdout from buffering data internally.
This is relevant when sending binary data (e.g. defmt logs) to stdout, as it will look for some marker to flush (usually  \n) which only semi-randomly appears. This causes the data to be buffered internally and flushed as a big block, instead of continually as it flows out of the device, making for a less-than-ideal logging experience.
Our use case is logging over USB with defmt-bbq for the rusty-probe-firmware.

@JoNil ping! :D (Sorry if it's superfluous, just wanted to make sure you saw the PR).


Add support for absolute paths

Some tasks require relative paths and some tasks require absolute paths.
Absolute paths aren't really necessary for the purpose I built the plugin for. It's feasible that someone might want to use this plugin for generating things like batch files which require absolute paths.

Ok this is going to be a little bit trickier than I thought. When I saw that path.resolve() turns a relative path into an absolute path, I thought "sweet, just put the relative path in and an absolute path comes out".
The absolute path would follow the relative path based on the current working directory, not the destination folder.
To get the absolute path to point to the right folder I think I need to:

Create a relative path from the CWD to the destination folder
Do this sort of thing path.resolve(CWD_relative_path, file_relative_path)

I've ran into a bit of an issue where backslashes and absolute paths are not compatible with order retention.


32 bits loadable extension for windows?

There is no pre-compiled 64 bits version of the command-line shell of SQLite for windows (AFAIK). On windows, one therefore has to use the 32 bits version (or build the 64 bits version).
But of course the 32 bits version won't load 64 bits extensions.
Would it therefore be possible to provide a 32 bits version of this extension as a windows dll?
Thank you and sorry for the trouble.
--
PS: Never mind. A 64 bits version of sqlite can be found here: https://github.com/nalgeon/sqlite but it doesn't fix my problem, so it must be some other cause.

@bambax let me know if you're able to figure it out! I have successfully used the 64-bit windows version of nalgeon/sqlite with other sqlite extensions, so would love to see if there's anything else that can be improved.

 I can load and use all the extensions found on https://github.com/nalgeon/sqlean in the latest sqlite x64 on Windows, but for http0 I get "Error: %1 is not a valid win32 application". Have you tested it successfully on Windows?

Also, compared to the extensions found on sqlean, the dlls for http0 and html0 are pretty huge... math.dll is only 67ko, crypto 112ko, wheras http0 is 15Mo or html0 12Mo...?


Implement an DebArtifactGenerator

Task Description
We need to implement a simple Deb package generator to be used during testing.
The code should be located in a class called DebArtifactGenerator under strongbox/strongbox-storage/strongbox-storage-layout-providers/strongbox-storage-deb-layout-provider/src/test/java/org/carlspring/strongbox/artifact/generator.
The generator must produce packages that are valid, along with all the required metadata and resource files.
A test case covering the functionality will be required.
For a reference of existing generators for other providers have a look at:

MavenArtifactGenerator
NpmArtifactGenerator
NugetArtifactGenerator

Tasks
The following tasks will need to be carried out:

[ ] Implement an artifact generator.
[ ] Implement a test repository annotation called DebTestRepository. For more details, check MavenTestRepository
[ ] Implement a test artifact annotation called DebTestArtifact. For more details, check MavenTestArtifact.
[ ] Implement a test case that uses the @DebTestRepository and @DebTestArtifact test annotations to create a test Debian test repository and generate a test artifact.

Task Relationships
This task:

Is a sub-task of: #861
Depends on: #863

Help

Our chat
Points of contact:

@carlspring
@sbespalov
@steve-todorov

@carlspring is this still open and can be picked up?


upgrade navstar and minuteman

High Level Description
Updates navstar and minuteman which has a fix wherein lashup was timing out on start of marathon-lb
Related Issues

DCOS-13430 Navstar crash after installing marathon-lb (DCOS 1.8.7).

Checklist for all PR's

[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

PLEASE FILL IN THE TEMPLATE ABOVE / DO NOT REMOVE ANY SECTIONS ABOVE THIS LINE
Instructions and Review Process
What is the review process and when will my changes land?
All PRs require 2 approvals using github's pull request reviews.
Reviewers should be:

Developers who understand the code being modified.
Developers responsible for code that interacts with or depends on the code being modified.

It is best to proactively ask for 2 reviews by @mentioning the candidate reviewers in the PR comments area. The responsibility is on the developer submitting the PR to follow-up with reviewers and make sure a PR is reviewed in a timely manner. Once a PR has 2 ship-it's, no red reviews, and all tests are green it will be included in the next train.

can you post the diff of whats changed?  (1st checklist)

@aeyakovenko  https://github.com/dcos/lashup/pull/21

@aeyakovenko @GoelDeepak another sanity check view of the changes:
Minuteman Changes: https://github.com/dcos/minuteman/compare/DCOS-13228-fix-ipvs...64952658a77a75db5f280c4c5f064012d8d323f9
Navstar Changes: https://github.com/dcos/navstar/compare/19d25bdd7c7c0f794c7417ecd664a896dbaad275...30a31d23ee28d6cc49e579bcdd364d74b2f53cf2
Lashup Changes: https://github.com/dcos/lashup/compare/c10a03c4f1d2aada54b00c95ef487378a3734051...f2a20fa1033724cf47724e6c9d701f4dcd4b4e01


Lua Modules don't work if they have a default export

For example, say that I have a Lua module that is just an "array". (Well, in Lua everything is tables, but hopefully you get what I mean.)
return {
  -- Thing 1
  {
    foo = 1,
    bar = 2,
  },
  -- Thing 2
  {
    foo = 1,
    bar = 2,
  },
}

TSTL will not handle this correctly. It will compile the code without any errors, but during runtime the array will be equal to nil because the transpiled code will be something along the lines of:
local foo = require("myDir.foo")
local ___foo = foo.default -- ".default" doesn't exist, obviously

See this minimal repository that reproduces the problem:
https://github.com/Zamiell/tstl-test

The default export is just an export you can access using the default key and import with a special syntax
Try out the export = <expression> syntax to specify that a module exports <expression> ONLY
I usually do something like this:
// module.d.ts
declare const contents: Array<{ foo: number; bar: number; }>;
export = contents;

And then import it like this
import * as contents from "./module"; // from module.d.ts, assuming "module.lua" is accessible at runtime
const x = contents[0]; // { foo: number; bar: number }

TypeScript may try to import it like this with the "esModuleInterop" flag
import contents from "./module"; // TypeScript will allow this syntax with "esModuleInterop", this

But this syntax tells TypeScriptToLua that you can access this value via the default key which you can't for this case

Try out the export =  syntax to specify that a module exports  ONLY

Thanks Hazzard. This syntax is a little arcane. I think this should be documented on the TSTL website, since you would likely never have to write code this way if you were just doing normal TypeScript.

Double checked with TS documentation: https://www.typescriptlang.org/docs/handbook/modules.html This is indeed working as intended.
Feel free to open a pull request to the docs with further clarification.


Implement onboarding modal step 1: Welcome

Part of #2872

Create initial modal window over the first-time Collective page welcoming the Collective

Starting to work on this today.
Per @znarf's advice, will be coding it as a standalone page for now, and then adding it as a modal later.


Add Examples in table

HI @elisiariocouto, I have a requirement to add an extra field "examples" in the table can you please help to add it in the next release?

Hello @saumilvolvo. I will add that feature in the next release, I also need it for one of my projects :)

Hello @saumilvolvo, implemented in 0.3.0. :)


services.xserver.synaptics.enable=true causes exception while upgrading to 19.9

My first attempt to upgrade to 19.9 ended in exception while nixos-rebuild switch --upgrade:
https://github.com/NixOS/nixpkgs/blob/fa456e42094ad1f0b11bc07ce9800e3c6cd2bf54/nixos/modules/services/x11/hardware/synaptics.nix#L207
because I used synaptics driver only. Agains exception's message libinput was disabled at the rebuild time:
# nixos-option services.xserver.libinput.enable
Value:
false
...

The issue could be solved by replacing synaptics with libinput services.xserver.libinput.enable=true
Metadata
$ nix run nixpkgs.nix-info -c nix-info -m
 - system: `"x86_64-linux"`
 - host os: `Linux 4.19.63, NixOS, 19.03.173592.e758436f986 (Koi)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.2.2`
 - channels(root): `"nixos-19.09.809.5000b1478a1"`
 - channels(palik): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

This means a module automatically enables it @p-alik.
Could you try?
services.xserver.libinput.enable = false;
services.xserver.synaptics.enable = true;

Could you try?
services.xserver.libinput.enable = false;
services.xserver.synaptics.enable = true;

No exception if both are set explicitly as suggested. It seems libinput's default causes the exception, because without explicit services.xserver.libinput.enable = false; nixos-rebuild fails.


Using less in Vue still doesn't work

need install postcss-less
I only found that recommendation here: https://github.com/ota-meshi/postcss-html


Installation Help

Hey I'm a little new to development and linux.  I've followed the installation docs as best as I could follow (except for the email because I'm a little confused how that works) and I am just getting text when I load localhost.  / / |-------------------------------------------------------------------------- | Register The Auto Loader |-------------------------------------------------------------------------- | | Composer provi  etc.
I'm also getting error  [PDOException]
could not find driver
on artisan migrate
My phpinfo is working and I have a database and user created.  Where am I going wrong?

Hi @devin42r,
It looks like your webserver is not parsing PHP files and is simply serving them as text (Since what you provided is the content of the main php file).
What webserver are you using? Apache or Nginx or something else?
Also, What variant and version of linux are you using?

Hey Dan thanks for the quick response.  I am using apache2 on kubuntu 16.  The info.php file I have created in the same directory that renders php is displaying desired php config info.

hmm, except for info.php which is owned by root.  Is there some way that www-data would not be able to utilize php?
drwxrwxr-x  8 www-data root  4096 Oct 24 22:29 ./
drwxrwxr-x 13 www-data root  4096 Oct 24 18:42 ../
drwxrwxr-x  2 www-data root  4096 Oct 20 21:22 build/
drwxrwxr-x  2 www-data root  4096 Oct 20 21:22 css/
drwxrwxr-x  2 www-data root  4096 Oct 20 21:22 fonts/
drwxrwxr-x  2 www-data root  4096 Oct 20 21:22 js/
drwxrwxr-x  8 www-data root  4096 Oct 20 21:22 libs/
drwxrwxr-x  2 www-data root  4096 Oct 20 21:22 uploads/
-rw-rw-r--  1 www-data root 10933 Oct 20 21:22 favicon.ico
-rw-rw-r--  1 www-data root   412 Oct 20 21:22 .htaccess
-rw-rw-r--  1 www-data root  1819 Oct 24 22:29 index.php
-rw-r--r--  1 root     root    20 Oct 24 20:02 info.php
-rw-rw-r--  1 www-data root 11098 Oct 20 21:22 loading.gif
-rw-rw-r--  1 www-data root  4682 Oct 20 21:22 logo.png
-rw-rw-r--  1 www-data root    24 Oct 20 21:22 robots.txt
-rw-rw-r--  1 www-data root  7405 Oct 20 21:22 user_avatar.png
-rw-rw-r--  1 www-data root  6580 Oct 20 21:22 ZeroClipboard.swf

@devin42r Does anything load if you go to http://localhost/index.php ?
Just to ensure it's the apache config that's the issue you can go to the folder containing BookStack in the terminal and run php artisan serve which will run a simple php server accessible at http://localhost:8000. See if that works. I'd imagine you'd still have errors since the database did not migrate but hopefully you'll be further along.

Hmm, a blank page.  Just empty ,  and  tags.  Now that is all I'm getting regardless of whether I use localhost or <IP_ADDRESS> (with or without index.php appended).
When I kick up the phpserver it is giving me the same on 8000.

What's your PHP version? How do the permissions look in the BookStack base directory? Laravel sometimes fails when it cannot access/write logs. So if the base directory (or the storage subfolder) is only writeable for root, this might be the problem.

php -v
PHP 7.0.12-1 (cli) ( NTS )

drwxr-xr-x  4 root     root 4096 Oct 24 19:37 .
drwxr-xr-x 15 root     root 4096 Oct 24 19:03 ..
drwxrwxr-x 13 www-data root 4096 Oct 24 18:42 BookStack
drwxr-xr-x  2 root     root 4096 Oct 24 20:03 html

My base directory is a little further up ^^

@devin42r Could you look for any clues in the Apache logs?
Should be an error log at /var/log/apache2/error.log or a similar location.

PHP Parse error:  syntax error, unexpected 'echo' (T_ECHO) in /var/www/BookStack/public/index.php on line 3
Good call Dan, I don't know why I didn't check the logs.  I had inserted a line asdfasdf and on the next line echo "asdfasdf"; trying to test earlier and forgotten.  I removed both lines (echo works if I just leave it), but now I'm facing this screen
Whoops, looks like something went wrong.
Nothin in apache logs for this.  I doublechecked the write permissions on respective files, re-ran, php artisan key:generate, doublechecked database user settings (and logged in from terminal), mail settings are still default, and tried to run php artisan migrate (still same error of [PDOException] could not find driver).

Whoops, looks like something went wrong.

This is a good line to see. The browser request is now reaching the application. You can turn on debugging or check the logs for more information. Details to do this can be found here:
https://www.bookstackapp.com/docs/admin/debugging

Also, Ensure you have the php7.0-mysql package installed (sudo apt install php7.0-mysql)

Awesome, I was trying all sorts of installs on mysql and sqlite as recommended on stack but the one you just provided got me another step further.  Now I'm hitting the following:
Base table or view not found: 1146 Table 'bookstack.settings' doesn't exist (SQL: select * from settings where setting_key = app-public limit 1)
I don't understand.  Am I supposed to configure some settings in mysql?  I created my db user, db and password but is there something else?

No, I forgot I needed to actually finish the php artisan migrate...now it's taking me to /login and giving me
The requested URL /login was not found on this server.
No apache logs hmmm

Okay, Now it looks like an issue in the apache configuration. What is the URL you are try to access BookStack at? is it something like http://example.com/ or are you accessing via a sub-directory like http://example.com/BookStack/?
If you have set up an apache virtual host for BookStack can you paste the config here? If not have you made any changes to the apache configuration while installing BookStack?

I have been accessing it at localhost or 127.0...
Hmm, dang I did make some changes earlier but can't remember.  Maybe the allowoverride.  I'll search for what the default is and try to bring it back..
`

Options FollowSymLinks
AllowOverride None
Allow from all
Require all denied

<Directory /usr/share>
AllowOverride None
Require all granted

<Directory /var/www/BookStack>
Options Indexes FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
Require all granted

`

sites-available/000-default.conf does have
DocumentRoot /var/www/BookStack/public

Interestingly, http://<IP_ADDRESS>/index.php/login brings me to the correct page.  I can't navigate anywhere from there.  Similar thing is happening in nginx on my amazon server (except I can't even get index.php/login to load).

Awesome that did it!  Any idea how to do the same on nginx?  From what I understand it happens with that line you guys included in the installation try_files $uri...index.php...  Here is my relevant code from nginx.conf
`server {
listen       81 default_server;
listen       [::]:81 default_server;
server_name  localhost;
root         /usr/share/nginx/bookstack/BookStack/public;
    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location ~ / {try_files $uri $uri/ /index.php?$args;}`

Awesome that did it!

:tada:

Any idea how to do the same on nginx?

No obvious issues from the config you pasted. Is PHP definately all working okay via nginx?
Here's the default config I put together for the default ubuntu 16.04 install script:
https://github.com/BookStackApp/devops/blob/master/config/nginx
You can compare your config with that one. It's made for ubuntu 16.04 so for other systems it may not be correct. You'll have to ensure you have the php7.0-fpm package installed on your system.

Closing due to lack of response. Feel free to still respond to the above and I'll re-open this.

Hi ! I encountered the same issue (blank login page after installation) on my Debian 8 installation. I eventually found the answer. It was a permission issue. What I did is the following, while in the app folder :
php artisan cache:clear chmod -R 777 storage chmod -R 777 bootstrap/cache chmod -R 777 public/uploads composer dump-autoload
Source
I'll tweak the permissions to not let the folders completely opened, but I got to make BookStack to work.

@bydox thanks for posting.  @ssddanbrown my apologies for not getting back.  I abandoned the nginx because I was simply doing that out of curiosity.  Recently I just spun up bookstack on an ec2 server, however, and might need to throw up an issue for that for future ec2 users.  I had to open permissions to 777 as well there.  Need to figure out who is in apache group and why ec2-user was having issues even as owner and group...

Hey guys, I'm having a very similar issue and was hoping I might be able to get some assistance if anyone felt so kind :) I've got a fresh install of Ubuntu 16.04, and have gone through the scripted install commands up to the nginix part, just entering applicable commands manually (pretty much all the commands but the ones that involve setting variables.
I stopped at the Nginx section as I'd like to run Apache if possible.  I've gotten that all installed but the config file is what's really throwing me for a loop.  Per this thread I've tried the permissions adjustment as noted by @bydox, have enabled apache's mod rewrite function, and tried all the different variations on URL noted above with no luck.
My apache config currently looks like this:
<VirtualHost *:80>

ServerName wiki.david-ohlin.com

DocumentRoot /var/www/bookstack/public
ServerAdmin webmaster@localhost

#Options +FollowSymLinks
#RewriteEngine On

#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^ index.php [L]

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /var/www/bookstack/public>
	AllowOverride All
	Order allow,deny
	Allow from all
</Directory>

</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

When I hit the IP of my server (or http://localhost on the server itself), I get the following:
<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell<EMAIL_ADDRESS> */

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| our application. We just need to utilize it! We'll simply require it
| into the script here so that we don't have to worry about manual
| loading any of our classes later on. It feels nice to relax.
|
*/

require __DIR__.'/../bootstrap/autoload.php';

/*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/

$app = require_once __DIR__.'/../bootstrap/app.php';

/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/

$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

$response->send();

$kernel->terminate($request, $response);

And if I uncomment the lines currently commented out in my config, then I get endless Error: 400 pages when visiting the same page.  I've looked in /var/log/apache2/error.log and don't see anything helpful.  Here it is just for reference purposes:
[Sun Apr 02 19:47:19.779814 2017] [mpm_event:notice] [pid 3692:tid<PHONE_NUMBER>26912] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:47:19.779934 2017] [core:notice] [pid 3692:tid<PHONE_NUMBER>26912] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 02 19:47:22.617287 2017] [mpm_event:notice] [pid 3692:tid<PHONE_NUMBER>26912] AH00493: SIGUSR1 received.  Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
[Sun Apr 02 19:47:22.622669 2017] [mpm_event:notice] [pid 3692:tid<PHONE_NUMBER>26912] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:47:22.622702 2017] [core:notice] [pid 3692:tid<PHONE_NUMBER>26912] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 02 19:52:19.882141 2017] [mpm_event:notice] [pid 3692:tid<PHONE_NUMBER>26912] AH00493: SIGUSR1 received.  Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
[Sun Apr 02 19:52:19.888133 2017] [mpm_event:notice] [pid 3692:tid<PHONE_NUMBER>26912] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:52:19.888169 2017] [core:notice] [pid 3692:tid<PHONE_NUMBER>26912] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 02 19:52:23.011607 2017] [mpm_event:notice] [pid 3692:tid<PHONE_NUMBER>26912] AH00491: caught SIGTERM, shutting down
[Sun Apr 02 19:52:24.168871 2017] [mpm_event:notice] [pid 4387:tid<PHONE_NUMBER>64992] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:52:24.168979 2017] [core:notice] [pid 4387:tid<PHONE_NUMBER>64992] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 02 19:57:01.013610 2017] [mpm_event:notice] [pid 4387:tid<PHONE_NUMBER>64992] AH00491: caught SIGTERM, shutting down
[Sun Apr 02 19:57:02.115402 2017] [mpm_event:notice] [pid 4697:tid<PHONE_NUMBER>97088] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:57:02.115521 2017] [core:notice] [pid 4697:tid<PHONE_NUMBER>97088] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 02 19:57:05.128422 2017] [mpm_event:notice] [pid 4697:tid<PHONE_NUMBER>97088] AH00493: SIGUSR1 received.  Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
[Sun Apr 02 19:57:05.136610 2017] [mpm_event:notice] [pid 4697:tid<PHONE_NUMBER>97088] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:57:05.136624 2017] [core:notice] [pid 4697:tid<PHONE_NUMBER>97088] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 02 19:57:25.381106 2017] [mpm_event:notice] [pid 4697:tid<PHONE_NUMBER>97088] AH00493: SIGUSR1 received.  Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
[Sun Apr 02 19:57:25.389079 2017] [mpm_event:notice] [pid 4697:tid<PHONE_NUMBER>97088] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:57:25.389091 2017] [core:notice] [pid 4697:tid<PHONE_NUMBER>97088] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 02 19:57:26.464980 2017] [mpm_event:notice] [pid 4697:tid<PHONE_NUMBER>97088] AH00491: caught SIGTERM, shutting down
[Sun Apr 02 19:57:27.555303 2017] [mpm_event:notice] [pid 4968:tid<PHONE_NUMBER>54208] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 19:57:27.555398 2017] [core:notice] [pid 4968:tid<PHONE_NUMBER>54208] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 02 20:03:44.503773 2017] [mpm_event:notice] [pid 4968:tid<PHONE_NUMBER>54208] AH00493: SIGUSR1 received.  Doing graceful restart
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using <IP_ADDRESS>. Set the 'ServerName' directive globally to suppress this message
[Sun Apr 02 20:03:44.509300 2017] [mpm_event:notice] [pid 4968:tid<PHONE_NUMBER>54208] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 20:03:44.509308 2017] [core:notice] [pid 4968:tid<PHONE_NUMBER>54208] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 02 20:03:46.944588 2017] [mpm_event:notice] [pid 4968:tid<PHONE_NUMBER>54208] AH00491: caught SIGTERM, shutting down
[Sun Apr 02 20:03:48.018174 2017] [mpm_event:notice] [pid 5382:tid<PHONE_NUMBER>95072] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 20:03:48.018254 2017] [core:notice] [pid 5382:tid<PHONE_NUMBER>95072] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 02 20:04:09.801201 2017] [mpm_event:notice] [pid 5382:tid<PHONE_NUMBER>95072] AH00491: caught SIGTERM, shutting down
[Sun Apr 02 20:04:10.893010 2017] [mpm_event:notice] [pid 5494:tid<PHONE_NUMBER>79520] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 20:04:10.893100 2017] [core:notice] [pid 5494:tid<PHONE_NUMBER>79520] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 02 20:04:36.058295 2017] [mpm_event:notice] [pid 5494:tid<PHONE_NUMBER>79520] AH00491: caught SIGTERM, shutting down
[Sun Apr 02 20:04:37.187084 2017] [mpm_event:notice] [pid 5607:tid<PHONE_NUMBER>04224] AH00489: Apache/2.4.18 (Ubuntu) configured -- resuming normal operations
[Sun Apr 02 20:04:37.187190 2017] [core:notice] [pid 5607:tid<PHONE_NUMBER>04224] AH00094: Command line: '/usr/sbin/apache2'

chmod -R 777 storage
chmod -R 777 bootstrap/cache
chmod -R 777 public/uploads

It should be noted that you don't want to allow everyone write, which is what 777 does. If the user and group are correctly set to the httpd user www-data or apache then you permissions don't have to be set wide open.
EXAMPLE:
sudo chown www-data:www-data -R bootstrap/cache public/uploads storage
sudo chmod -R 755 bootstrap/cache public/uploads storage


logging errors when authentication fails

I was trying out the library and had some initial configuration problems. I found that errors were swallowed in this piece of code in KeycloakAuthenticationHandler.cs. I wonder if there could be a possibility to log these errors (and a short paragraph in the configuration guide where to find the log information). This would have saved me some time, and I would need that before going to any non-testing environment.
                    catch (Exception)
                    {
                        // ignored
                    }

So to start a discussion on this topic, ASP.NET 4.5 has no formal support for file-based logging, and assumes every "fatal" error will be either gracefully handled or output as an HTTP/HTML -based error response. ASP.NET 5+ fixes with with its own logging solution, but currently this library isn't targeting that platform.
I wrote this library in the ASP.NET 4.5 mentality of "try to fix the problem if one comes up", but obviously this hides common-sense issues like configuration problems that would show up in logging immediately.
So the obvious solution here is to implement one of the various .NET logging libraries, dependent on a configuration option. So, default behavior may be the current behavior + log fatal errors to file using the logging framework. It can be configurable for no logging, or log-all and don't gracefully handle errors, etc.
I'll begin implementing this logging approach for the next major release, beginning in the next few days.

I'm not a .NET guy, I am just trying to get Keycloak to work for our setup. Maybe suggesting logging was jumping to conclusions here. Compatibility with ASP.NET 4.5 and minimal dependencies might be very valuable to the other users of the library, probably even to us.
In my case the URLs for Keycloak in the configuration and in the access token didn't match. It was great that there was a configuration option DisableIssuerValidation that solved the problem for me. But it was only by debugging that I found the reason of the problem.


invalid metsfiles?

https://github.com/bundesverfassung-oesterreich/bv-transkribus-import/actions/runs/4532051589/jobs/7982953821#step:5:12
transkribus doesnt like our gobi mets files except the first one.
Need to track this error first could be:

goobi producing invalid files
scripts processing the files contaminating files
api queing the requests getting hickups

This issue stems from the 'upload_mets_file_from_url' method in transkribus_utils.transkribus_utils.ACDHTranskribusUtils. Can be reproduced by not setting better_images arg / setting to False

But even if the transkribus-api isnt reporting errors if better_iamges = True, import failes

issue stems from goobi. still implemented fix here


[$500] Web - Workspace - No loading indicator is shown on WS screen when navigating via invite link

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

Version Number: 1.4.49-0
Reproducible in staging?: y
Reproducible in production?: n
Issue found when executing PR: https://github.com/Expensify/App/pull/37525
Issue reported by: Applause - Internal Team
Action Performed:
Preconditions:

Has a workspace (new or existing one)
Prepare join url link - use WorkspaceID and admin email for that workspace - ex<EMAIL_ADDRESS>For user:
Open link in a new tab (for a new user / or user which already logged in)

Expected Result:
A loading indicator should be shown
Actual Result:
No loading indicator is shown on all Workspace screen
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/003a4dad-4afb-4edf-b394-775da4e5f699
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01e403ef173151cba4
Upwork Job ID:<PHONE_NUMBER>321519104
Last Price Increase: 2024-03-08

We think that this bug might be related to #wave8-collect-admins
CC @zanyrenney

Removing the blocker label as this is a minor issue.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Web - Workspace - No loading indicator is shown on WS screen when navigating via invite link
What is the root cause of that problem?
we already have FullScreenLoadingIndicator inside WorkspaceJoinUserPage.tsx.
but after we calling the api, we redirect immeditally to WorkspacesListPage screen before api return workspace Policy date, and the onxy optimisticData not enough because it related to POLICY_JOIN_MEMBER not POLICY and not have workspace data.
https://github.com/Expensify/App/blob/86a990428df2c923ed4ebc291c0a3a73653cb7fe/src/pages/workspace/WorkspaceJoinUserPage.tsx#L51-L53
What changes do you think we should make in order to solve the problem?
we should wait to the api response then navigate by the two steps below:

add condition if(policy?.isJoinRequestPending) surround navigate method here.

step 1 not work alone because inside this useEffect while the policy change from {} to backend response, the isJoinLinkUsed is changed to true, and this will make useEffect return early and not navigate.
https://github.com/Expensify/App/blob/86a990428df2c923ed4ebc291c0a3a73653cb7fe/src/pages/workspace/WorkspaceJoinUserPage.tsx#L42-L45

isJoinLinkUsed is designed to call the api only one time not multipes times when deps change, so to fix this we need to remove it from the begining of useEffect and put it surround the api call
// if (!policy || !policies || isUnmounted.current || isJoinLinkUsed) {
if (!policy || !policies || isUnmounted.current) {

// PolicyAction.inviteMemberToWorkspace(policyID, inviterEmail);
if (!isJoinLinkUsed) {
    PolicyAction.inviteMemberToWorkspace(policyID, inviterEmail);
    isJoinLinkUsed = true;
}

What alternative solutions did you explore? (Optional)
we can optionaly handle errors by POLICY_JOIN_MEMBER and also add case for offline mode.

Still going through the proposals, but I am still haven't checked why it's not reproducible on production only on staging. Can someone highlight that in the proposals?

I also found same brandonhenry's result in production  "Hmm... it's not here", it seem the feature not deployed to production yet.

@brandonhenry Thanks, I got a little confused because  of WorkspacesListPage.
@Julesssss @kbecciv Considering this is from a recent PR not in production, then any specific reason it's not treated as regression? Should we be fixing it here or original PR?

Considering this is from a https://github.com/Expensify/App/pull/37525 not in production, then any specific reason it's not treated as regression? Should we be fixing it here or original PR?

We expect new bugs to occur on new features, so I don't think it is a regression.

your proposal causes regression in offline mode: Inifite loading on report screen

@mkhutornyi when offline we can use hook const {isOffline} = useNetwork(); to get network state and display offline screen, and add isOffline to useEffect deps to request api and complete proccess when back online.
alternatively we can call the api and navigate to WorkspacesListPage but in this case the pending workspace item not displayed util the network back online.

Proposal
Updated

Thanks for looping us in! My take:
I think showing loading is the cleanest in all the scenarios (option 1). We could use skeleton loaders if we wanna make it a bit more seamless. As for offline I think we should just use our standard offline UI:
. If workspace doesn't exist, then we should show the "not found" error we use.
But @Expensify/design might have another take.

Interesting, yeah given that we don't know if we're going to show the big empty state or a list of workspace rows, I think the simple loading spinner works for the loading state.

I tend to agree with Jon's proposal. Though if you are offline, how could you even navigate to a link that was shared with you in the first place? But yeah, I think we'd need to put the Offline placeholder there because we can't load the workspace if you are offline. cc @trjExpensify for a gut check too

I agree with 1.1 as well. And like the use of the spinner for that loading state. For 1.3 (offline) I think I agree with Jon and Shawn about using a simple offline placeholder for that content area.

Missed this yesterday, my bad! Just so I'm clear on the scenarios, I think it would be good to write them out in numbered steps.
Entering a join link in the URL bar

Go offline
Enter a join link URL in the address bar

Here the native browser will give you a 404 because you're offline and can't navigate to the link, no "Expensify specific" offline handling required right?
Clicking a join link sent you in chat

As userA, send a join link in a DM to userB
As userB, open the chat and go offline
Click the join link to deep link to the workspaces page

I don't think we should use a "full page blocking UI" (Pattern D) for this scenario. Independent of the "join link flow" you should be able to navigate to the settings/workspaces page offline, so it's pretty strange to throw a full page blocking UI on a page you can navigate to ordinarily when offline, isn't it?
Rather, I think we should be aiming to use "Pattern B - optimistic with feedback"
Whereby on navigating to the settings/workspaces pages from the join link deep link when offline:

The workspace you requested to join shows in the list greyed out to signify that it's a "pending" offline action
The workspaces page should have the offline indicator at the bottom of the page

When you come back online:
If the queued API call to action on submitting the join request is successful

The offline indicator in the footer of the page is removed
The workspace row shows at 100% opacity

If it fails

The offline indicator in the footer of the page is removed
The workspace row remains at 50% opacity (greyed out)
The "red brick road" (RBR) red dots are added to the avatar bottom tab and the workspaces row in settings to lead you to the error
The workspace row on the workspaces page shows an in-line dismissible error message to explain it failed
Dismissing the error message removes the workspace row from the Workspaces page and clears the RBR red dots

Am I missing something on why we can't handle it in-line with offline Pattern B?

I don't think we should use a "full page blocking UI" (Pattern D) for this scenario.

Ah, I was understanding this as being offline BEFORE clicking on the join link. At which point, I would think that if you are offline and try to navigate to the workspace overview page, you wouldn't be able to see anything. But you are right, having more clear steps here would be helpful.

Yeah, I don't see the need for the loading indicator if the workspace row is shown immediately.

@mkhutornyi
I think the optimistic data for the workspace is hard to handled here when user is offline.
if user send me a message to join its workspace like this<EMAIL_ADDRESS>the i go offline, how can i found the the optimistic data for this workspace before click the link > send api request > and wait api response that have this data?
are you agree?

Are you saying that if the join requests fails, this is what state we should be? what should design look like?

That's my understanding. We optimistically show the successful 'User was invited' UI.
However if the user closes the app and doesn't return, wouldn't they never know that this invite failed? 😕

Taking this back as per message

Hey @mananjadhav, any thoughts on my comment? https://github.com/Expensify/App/issues/37959#issuecomment-2009254318

Okay, so we're still seeking proposals again

Still waiting...

Hey @brandonhenry. Looking back I think this was the last comment about your proposal.

Anyway, after retesting I believe the current behaviour is desired, and this issue can be closed. We're matching this expected behaviour:
https://github.com/Expensify/App/assets/10736861/2f7a423d-7234-4239-8793-d78d3d33098e


Expose IsRequired to C# Code Generator

To add certain functionality to the generated classes, I need to know if a property is required or not.
I currently use {% if property.JsonPropertyRequiredCode contains "NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore" %} as a workaround, which could be simplified if IsRequired (and maybe IsOptional) would be exposed on PropertyModel.cs.
Would it be possible to expose these fields?

Awesome, thanks.
(Slightly off-topic: here is my example use-case. I keep track of which optional properties have been set, because the JSON I have to generate has different behaviour for undefined properties. I therefore use ShouldSerialize<Prop>, which should only be applied to optional properties. I did have to edit Class.Liquid for this.)


[BUG]

Describe the bug
Getting the following message when attempting Journeys per-app migration:
"Some of the Virtual Servers are not compliant with AS3. Only Tenants with all green Applications/VS' can be later converted to AS3 and deployed to a BIG-IP instance.
Please drill down to uncompliant VS' and fix unsupported configurations using the editor provided."
It does not explain why or how or why the uncompliant virtuals are not compliant.  There is no noticeable difference between the "compliant" and "uncompliant" virtual servers.
To Reproduce
Steps to reproduce the behavior:
Import a ucs file into Journeys and you will see this message as soon as the ucs is processed.
Expected behavior
Need to understand the reason why some virtual servers are marked red.
Please specify, app version:
Version 3.3.5
And Platform version of the system you want to migrate.
Migrating from iSeries to rSeries platform

I drilled down to the uncompliant virtual servers a little more, and noticed that they all have two things in common:

They all have a seem to be irrelevant snippet of bigip_base.conf file
They all have all been previously created by an iApp, not manually.


Update Image Segmentation Data Preparation Example Notebook

Updated and validated the DLPy image segmentation data preparation example Jupyter notebook. It now uses downloadable data owned by SAS so the example can be run by users end-to-end.

Contents reviewed by Doug, Xindian and Maggie. Merging to master.


just a test... don't merge

Signed-off-by: Matt Farina<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] DCO signed
[ ] Chart Version bumped
[ ] Variables are documented in the README.md

Closing test as things are working.


Add [ "@set", "name", "value" ] to set state variables.

Add [ "@set", "name", "value" ] to set state variables.
Making [ "$name", "value" ] a shorthand.

Update Trivial-Implementations as well.

Rolling into #17


Default value is not validated when type annotation is defined

Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
pydantic version: 1.4
pydantic compiled: False
install path: D:\fun\venvs\advanced_python\Lib\site-packages\pydantic
python version: 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)]
platform: Windows-10-10.0.18362-SP0
optional deps. installed: []

I have a question regarding unexpected behavior (in my opinion): when a default value does not meet with the type annotation, a validation error is not being raised.
It is mentioned in the documentation that when a default value is set it determines the type annotation of the field.
But, the guideline recommends to add a manual type annotation anyway:

"Therefore, we recommend adding type annotations to all fields, even when a default value would determine the type by itself to guarentee field order is preserved." (link)

When both type annotation and default value are used the default values is not validated, but a new value which is set should meet the manual type annotation.
See test example: (the test pass)
def test_default_vs_annotation(self):
        class ConfExample(pydantic.BaseModel):
            ids: List[int] = [1, 2, "a"]

        conf_ex = ConfExample()
        assert conf_ex.ids == [1, 2, "a"]

        with pytest.raises(pydantic.error_wrappers.ValidationError):
            """
            pydantic.error_wrappers.ValidationError: 1 validation error for ConfExample
            ids -> 2
              value is not a valid integer (type=type_error.integer)
            """
            ConfExample(**{"ids": [1, 2, "y"]})

I expected that the default value would be validated, whether it is on the class definition or only when an instance is being created and a new value is not supplied.
I could not find a test that contains such a mismatch, so I would be happy to hear your thoughts.
Thanks.

This is the intended behaviour, it's useful in many scenarios and improves performance.
You can however validate defaults, use Config.validate_all.


Allow users to customize Client Connection

Signed-off-by: nmengin<EMAIL_ADDRESS>
- What I did
Adding an option to allow users to give DialOptions to the ConnectionBroker and raft.Transport gRPC client connection.
- How I did it
By creating an option into the node.Node Configuration.
- How to test it
I modified the test to add DialOption.
- Description for the changelog

Adding an entry into the Node configuration to allow users to customize the DialOptions for the ConnectionBroker and raft.Transport gRPC client connection.
Fixes #2733

I guess the CI is down because of the problem described in #2728 .

cc @MagnusS @mefyl @dperny @anshulpundir

@nmengin is this one still valid? Can you rebase?

Hello @olljanat , yes the PR is still valid.
PR rebased and tested locally.
I hope the CI will validate it :smile:

@dperny @wk8 PTAL

Hello @olljanat , @dperny , @wk8
The CI failed since I rebased my branch. I haven't reproduced the problem locally.
Do you have any idea of the problem?
I can help to analyze if necessayr.

I think that it is flaky test #2559

Ok @olljanat , thank you for the response.
Do you think it's possible to relaunch the CI or do you prefer I make a push?

I kicked the build

Thank you @thaJeztah .
For information, do yo think this PR might be merged soon or there is a design problem with it?

@nmengin did I understood right that you actually want give user possibility to workaround #2733 ? If that is case I guess that this will not get approval from maintainers.
Related issues:

moby/moby#37941
moby/moby#37997

and afaik most technical discussion are done on #2774

Hello @olljanat .
Unfortunately the workaround you proposed did not work.
Indeed, when I create a huge number of Swarmkit objects, the nodes send the delta between the old configuration and the new one to the managers.
But the broker refuses to receive these messages because the maximum size for the messages it can received is the default one (4194304 byte) and the nodes send bigger messages.
I guess this PR will not be merged, so I close it.
But I just opened another (smaller) one to fix the initial issue #2869, don't hesitate to take a look if you want.


Add language translation

cs-CZ
da-DK
de-DE
el-GR
es-ES
fi-FI
fr-FR
hu-HU
it-IT
ko-KR
lv-LV
nl-NL
pl-PL
pt-BR
pt-PT
ru-RU
sv-SE
tr-TR
zh-HANS

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


Replacing ElementalArea with Injector causes infinite loop when generating GraphQL admin schema

Affected Version
SS 4.11.2
Elemental 4.9.4
Steps to Reproduce
/app/src/ChangedElementalArea.php
<?php

namespace Aljosa\DataObjects;

use DNADesign\Elemental\Models\ElementalArea;

class ChangedElementalArea extends ElementalArea
{
    // it happens even if there is no code here
}

/app/_config/injectors.yml
SilverStripe\Core\Injector\Injector:
  DNADesign\Elemental\Models\ElementalArea:
    class: Aljosa\DataObjects\ChangedElementalArea

Run
/vendor/silverstripe/framework$ php cli-script.php dev/graphql/build schema=admin flush=1

(which is also automatically executed every dev/build)
Error
[INFO]: --- Building schema "admin" ---
ERROR [Emergency]: Uncaught Error: Xdebug has detected a possible infinite loop, and aborted your script with a stack depth of '256' frames
IN GET dev/graphql/build
Line 50 in /vendor/silverstripe/framework/src/Core/Injector/SilverStripeServiceConfigurationLocator.php

Additional info

it breaks loading all elemental areas in CMS (GraphQL ajax calls)
it has something to do with

/vendor/dnadesign/silverstripe-elemental/_graphql/models.yml
# Expose access to Elements via Page -> ElementalArea -> Elements (see resolver)
DNADesign\Elemental\Models\ElementalArea:
  fields:
    id: true
    elements:
      plugins:
        paginateList: false
  operations:
    readOne: true

@AljosaB Have you tried increasing your max depth setting in xdebug or disabling xdebug? I have (occasionally) encountered legitimate code that exceeds the default limit of 256 before

I have debugged it step by step and can confirm that it gets into a function (can't remember which one atm) that recursively (and infinitely) calls itself over and over with same parameters.
Also, it seems like it's not a problem of elemental module, but rather graphql, so I think this is going to auto-resolve when silverstripe/silverstripe-graphql#524 is fixed.

This feels a lot like a duplicate of #524. @AljosaB is there a reason this is open as a separate issue?


WCU Kickoff/Planning

Summary
SOW
BD Meeting Notes
Project Budget = $11,150 (49 hours senior hours)
HykuUp

2 tenants (WCU and UNC Asheville
SSO Integration (SAML for both tenants)
Custom Metadata configuration
Bulkrax configuration
Discovery with Google & Google Scholar

Clockify Project = Western Carolina HykuUP Development
Acceptance Criteria

[ ] Cross reference functionalities they will be using with known bugs
[ ] Note any questions for client in the kick-off meeting notes

To Do:

[ ] Create 2 tenants

[ ] Western Carolina University
[ ] UNC - Asheville

[ ] Custom Metadata Configuration
[ ] Configure Bulkrax
[ ] Discovery with Google
[ ] Discovery with Google Scholar


docs(roc-package-web-app-react): Update recommended node+npm versions

Updates our guide to recommend appropriate versions of node and npm

Do we want to pitch 6 in doc context though? Makes sense to state LTS in contexts like this to me. 🤔 💭 Maybe specify 6+ as a requirement but that we recommend LTS?


detail of GMFlow+

Hi,
Thanks for the great code!
I find that there is GMFlow+ on the Sintel benchmark. It says GMFlow+ is a straightforward extention of GMFlow and achieves significant results. Could you give some details about GMFlow+ or the difference between GMFlow+ and GMFlow? Besides, I wonder whether the code of GMFlow+ will be released.
Thanks!

Hi, thanks! GMFlow+ is a simple extention built on top of GMFlow. Our original GMFlow paper purses a minimal design for better speed-accuracy trade-off, while GMFlow+ aims to fully unlash GMFlow's potential. The difference is that GMFlow+ uses additional refinements for further improvement. GMFlow+'s code will be released in future, please stay tuned! Thanks!

Thank you for your careful reply! Looking forward to the new code.

Hi @zwei-lin , I have released the GMFlow+ model at https://github.com/autonomousvision/unimatch, and more info about our new work can be found at at https://haofeixu.github.io/unimatch/. Hope it helps, thanks.


Provide an alias for or

or, when used alone, seems to be a keyword. So, it's not possible to use the builtin or matcher inside a with statement:
  src = nix-filter {
    root = ./.;
    include = with nix-filter; [
      (and
        (or (inDirectory "src") (inDirectory "test"))
        (matchExt "hs"))
    ];
  };

fails with:
error: syntax error, unexpected OR_KW

Although there is a workaround of using nix-filter.or, it would be nice to provide an alias, so something like above is possible. The first name I'd reach in this case would probably be or_.
I do not know why this isn't the case with and.

Good call, thanks for trying this out!

All the directories have to explicitly be added, by the way, otherwise builtins.path won't recurse into them.
  nix-filter {
    root = ./.;
    include = with nix-filter; [
      (and
        (or_ (inDirectory "src") (inDirectory "test"))
        (or_ isDirectory (matchExt "hs"))
    ];
  };

Thanks, I haven't thought of that! I'm looking forward to the issue you linked to have it more convenient.


[Perception Modules] how i can run perception module and modify algorithm in module?

I want to test my perception algorithm, so i tried to run Perception module follow guide but it's not work like guide. What should i do to test perception algorithm without hardware in apollo?
System information

OS Platform and Distribution (e.g., Linux Ubuntu 18.04): Ubuntu 18.04
Apollo installed from (source or binary): Source
Apollo version (3.5, 5.0, 5.5, 6.0): 5.0
Output of apollo.sh config if on master branch: r5.0.0 branch

Steps to reproduce the issue:
I follow guide to run perception module How to Run Perception Module on Your Local Computer.
Supporting materials (screenshots, command lines, code/script snippets):

seems there is no cuda library. could you please make sure cuda is installed correctly.

Thanks for your help, @daohu527 !  i have already install cuda but still error like that. My cuda and nvidia version:

Should i resintall cuda version 11? And can i change perception algorithm then test with play demo_3.5.record?

If your error is the same as the one you posted before. could you pls check the path of the dynamic link library use below cmd.
ldd /apollo/bazel-bin/modules/perception/onboard/component/libperception_component_camera.so | grep cuda

If you find the path, and then check if the libcuda.so.1 is in the path.

Run cmd then result:
libcuda.so.1 => /usr/lib/x86_64-linux-gnu/libcuda.so.1 (0x00007fcdd6c4f000)
After that, i checked libcuda.so.1 in this path, it is already in here.

use cmd to check if is a symbolic link.
file /usr/lib/x86_64-linux-gnu/libcuda.so.1

Yes, its a symbolic link.
/usr/lib/x86_64-linux-gnu/libcuda.so.1: symbolic link to libcuda.so.450.80.02

then

find the libcuda.so.450.80.02 file, if not then it's the problem
if find the file, then use file libcuda.so.450.80.02 again