Docker container running puppeteer connecting to headless chrome docker container?

Have a Docker setup where:

Container 1 -  is running headless Chrome
Container 2 - runs NodeJS app.js w/ Puppeteer to control Chrome in Container 1.

My Docker compose file:
version: '3'
services:
  chrome:
    build: ./chrome
    shm_size: '1gb'
    cap_add:
      - SYS_ADMIN
    ports:
      - '9222:9222'
  app:
    build: ./app
    links:
      - chrome

Using the following code in app.js to connect Puppeteer and connect to https://www.google.com. Am making an initial request to /json/version to obtain the webSocketDebuggerUrl which Puppeteer will use:
const puppeteer = require('puppeteer');
const request = require('request-promise-native');

const options = {
	uri: `http://chrome:9222/json/version`,
	json: true,
	resolveWithFullResponse: true
};

request(options)
  .then((res) => {
	let webSocket = res.body.webSocketDebuggerUrl;
	console.log(`WebsocketUrl: ${webSocket}`);

	(async () => {
	   try {
      	      const browser = await puppeteer.connect({browserWSEndpoint: webSocket});
      	      const page    = await browser.newPage();
	      await page.goto(`https://wwww.google.com`, {waitUntil: 'networkidle2'});
	   }
	   catch(e) {
	      console.log(e);
	   }
    })();
});

I get the following when I run everything:
chrome_1  |
chrome_1  | DevTools listening on ws://<IP_ADDRESS>:9222/devtools/browser/d3d57807-1653-4292-aeb9-1b365e899ad7
chrome_1  | [1221/180304.301034:ERROR:gpu_process_transport_factory.cc(1046)] Lost UI shared context.
app_1     |
app_1     | ><EMAIL_ADDRESS>start /app
app_1     | > node index.js
app_1     |
app_1     | WebsocketUrl: ws://chrome:9222/devtools/browser/d3d57807-1653-4292-aeb9-1b365e899ad7
app_1     | Error: net::ERR_NAME_NOT_RESOLVED
app_1     |     at navigate (/app/node_modules/puppeteer/lib/Page.js:488:37)
app_1     |     at <anonymous>
app_1     |     at process._tickCallback (internal/process/next_tick.js:188:7)

Error: net::ERR_NAME_NOT_RESOLVED ?
Would anyone happen to know what the issue may be? Does Puppeteer not like the chrome hostname as part of the webSocketDebuggerUrl? I've tried replacing chrome in the webSocketDebuggerUrl with the actual IP of the chrome container but get the same results 😞
Anyone run into this issue? Any help would be appreciated.

CLOSED. Typo: page.goto("https://wwww.google.com", {waitUntil: 'networkidle2'});. 😠

This is a fascinating example, but there is one thing I do not understand.  How exactly does your node app and the puppeteer script running in it 'connect' to Chrome Headless inside the container.  I  see that a websocket connection is opened to http://chrome:9222/json/version, then you goto() the url you wish to test like google.com.
So, I assume that as your puppeteer script is running, as you are connected to Chrome Headless in the container and getting your response from chromium headless as json...Am I on the right track?

@IgorDraskovic I'm not the world's expert on this, and I am grateful to @skalfyfan for posting his example to teach how "chrome in a container" works, but my understanding is as follows.  The architecture is shown in the figure below (from here).

As explained in the link, Puppeteer communicates with a browser using the devtools protocol.  Now, the link between puppeteer and the browser can be by way of:

puppeteer.launch()
puppeteer.connect()

The former is when you want to launch a local instance of chrome, while the latter is when you want to connect to a remote instance (like in a Docker container).
However, in both cases you get a browser, which acts in the same way regardless of which method you've used to create it.  So it doesn't much matter whether it's a local or remote chrome instance: you use the puppeteer API on the browser object in the same way and puppeteer does the tricky stuff for you.
In other words, you don't "get a response from chromium headless as json" if you're using a remote instance... it works just the same as if you've launched a local instance and all the methods, like browser.newPage() etc work just the same.
That's about the limit of my understanding :-)

@drmrbrewer Oh, I think I understand...In my puppeteer scrip that runs with the bundled version of Chromium I have the following:
(async () => {

    const browser = await puppeteer.launch(
        {args: ['--no-sandbox', '--disable-setuid-sandbox'],
        ignoreHTTPSErrors: true
    });
...
});

In the case of me refactoring my code to connect to Chromium running inside of a docker container I would have something like:
const browser = await puppeteer.connect({browserWSEndpoint: webSocket});
I guess what confuses me is that it seems that the entire test script should be inside of this request(options) block.  I assume this is because we need to maintain an open connection (websocket) to Chromium inside of the container while our test is running.
Is this correct?

@skalfyfan Thank you for your sharing 🙏🙏🙏!
But how to let the docker container of chrome tell the ws url to the docker container of node.js,
Is is possible?
Or let the chrome and the node.js into one container like  docker/selenium/node-chrome?

I've put a working example of this in a repo here:
https://github.com/skalfyfan/dockerized-puppeteer
I may put together a small article on it if time permits me 😄
@gzlock You have to call the /json/version endpoint of the chrome debugger to obtain the websocket debugger url for Puppeteer to connect to so that it can orchestrate. This is documented here: https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#puppeteerconnectoptions
Yes, alternatively you can run headless chrome and your node app in a single container. Then however you would be using puppeteer.launch as @drmrbrewer mentioned above.

Kudos, @skalfyfan!
Have you tried spinning up two instances of the chrome container?  I'm running a swarm and when my chrome service contains two chrome containers, I find that I can connect to the chrome service via http://my-chrome-service to get a valid response including webSocketDebuggerUrl, but then when I try to get a browser with puppeteer.connect() using that websocket, I get Error: unexpected server response (404).
It's probably difficult for you to comment without seeing the source (it's a bit of a mess at present!) but maybe something immediately springs to mind.  I'm trying to see whether I can spread the load across multiple chrome containers (residing potentially on different servers in the docker swarm), but am not completely sure of the best approach :-/

@drmrbrewer Maybe you can open multi chrome page to instead of multi chrome instance or the chrome docker container?

@gzlock at present I am using a single chrome instance (in the container) and am opening multiple pages as and when needed.  Whilst this works fine, when the page processing gets intensive, the CPU can max out (all pages link back to the same chrome instance on the same server).  So I'm working out whether it's possible to spread the load across different servers... i.e. a chrome container running on each server.

This is pretty much the strategy I’ve employed on browserless here. The only difference is that this is a single container where WebSocket upgrades trigger a fresh Chrome launch, and the Node handler proxies the request into Chrome.
There’s a lot of other historical knowledge that’s now baked into the repo. It allows setting of launch flags via query-params, concurrency limits, and even queuing all set via environment variables. There’s even a debugger UI that comes with it to see what’s going on during your session.
Repo is here: https://github.com/joelgriffith/browserless. I’d love to see any issues you might have or how we can make it better.

@joelgriffith so how exactly would you suggest dealing with scaling up of the chrome instances?  I've got an open question on stackoverflow about this: https://stackoverflow.com/q/49028742/4070848

@drmrbrewer answered your question on the stackoverflow link -- will follow up there with any subsequent questions

Update for future visitors
You can now just use:
const browser = await puppeteer.connect({
    browserURL: 'http://localhost:9222'
})
const page = await browser.newPage()

instead of sending a request for websocketDebuggingUrl.
Also, make sure you call
await page.close();

when you are done. Otherwise, it will open a new tab everytime you run the script which will increase memory and idle cpu usage.


Fix ShapeList.outline validations for int/list like argument and add a test

References and relevant issues
Closes #6212
Description

Improve isinstance validations for int and list like indices argument using Sequence instead of int on the ShapeList.outline method.
Add a test checking the usage of the method passing int and a np.array variables as argument

Marking this 0.5.0 since the PR that introduced the bug is also 0.5.0

Note: After updating the branch with the latest base/main a typing error appeared (napari/components/_viewer_key_bindings.py:168: error: Item "None" of "Any | None" has no attribute "_list"  [union-attr]). Last commit fixes that but maybe the change should be done in its own PR?

@Czaki I think we should change the milestone here as the error that is fixed by this PR also occurs when just panning and zooming with a shapes layer open and thus is quite critical. What do you think?

@melonora but @psobolewskiPhD claims that pr that introduces it is 0.5.0. Did you check that bug exists in 0.4.18?

@melonora but @psobolewskiPhD claims that pr that introduces it is 0.5.0. Did you check that bug exists in 0.4.18?

@Czaki @psobolewskiPhD is correct, sorry my bad I thought I was working with version 0.4.18 when testing.

Could someone check if the original bug is present in 0.4.18?

Could someone check if the original bug is present in 0.4.18?

0.4.18 is fine--I double checked--the bug was introduced in main by
https://github.com/napari/napari/pull/6128

This got the "Ready-to-merge" label 2 days ago and got no objections. Merging to move the queue forward.
Thanks.


"Module parse failed" running next dev in 8.1.1-canary.28

Bug report
Describe the bug
Running next dev in my project is causing a Module parse failed: Unexpected token error when trying to compile next/dist/client/next-dev.js:
Module parse failed: Unexpected token (19:6)
You may need an appropriate loader to handle this file type.
|
|
> import('./noop'); // Support EventSource on Internet Explorer 11
|
| if (!window.EventSource) {

To Reproduce
My babel configuration is:
{
  presets: [
    [
      'next/babel',
      {
        'preset-env': {
          useBuiltIns: 'usage',
        },
      },
    ],
    '@babel/preset-typescript'
  ],
  plugins: [
    ['@babel/plugin-proposal-decorators', { legacy: true }],
    ['@babel/plugin-proposal-class-properties', { loose: true }],
  ]
}

I can reproduce even when my next.config.js does not modify the webpack config.
Expected behavior
Compilation should succeed
System information

Version of Next.js: 8.1.1-canary.28

Additional context
This is in a Yarn workspace–using monorepo, so the next package gets installed in a node_modules that’s a few directories up from where my source is.

Hi, I'm not able to reproduce on a non-monorepo so I think it might have to do with that. Could you create a minimal version of your set up that produces the issue? Also, probably not related to this issue but you don't need to add @babel/preset-typescript anymore since it's now included in Next.js

@ijjk Sure, lemme try and pare it down.
I still need to have @babel/preset-typescript because of the other tooling that I use (Jest, Storybook) that doesn’t go through Next’s build process.

Awesome thanks 🙏, by included I mean when you add the next/babel it already adds @babel/preset-typescript

We have the same issue on version 8.1.0. Here the babel config we use:
{
      "presets": ["next/babel"],
      "plugins": [
        [
          "babel-plugin-react-docgen",
          {"resolver": "findAllComponentDefinitions"}
        ],
        [
          "transform-react-remove-prop-types",
          {"ignoreFilenames": ["src"]}
        ],
        [
          "babel-plugin-styled-components",
          {"displayName": true, "fileName": true, "minify": false, "pure": false, "transpileTemplateLiterals": false}
        ]
      ]
    }

@pvdlg Are you also using a monorepo setup?

I'm getting closer on this; I think it’s some node_modules / hoisting / different versions thing. When I deleted an app out of my repo that was built on create-react-app the problem disappeared. I’m now trying to dig in and pinpoint what dependency change is the culprit.

@fionawhim This looks to be the same issue as https://github.com/zeit/next.js/issues/6240

Ah, cool. Thanks for finding that. It looks like the parts of the error that I was searching for weren’t included in that thread.
Do you need more information about the cause of this? Or is just "try to shuffle your dependencies around until #6940 is implemented" all that’s needed?

Or is just "try to shuffle your dependencies around until #6940 is implemented"

This seems to be the case for now, although we have prioritized #6940
I'm gonna close this issue in favor of the mentioned one, if you have any additional information that you think is helpful feel free to add it to that thread.

This is the bug https://github.com/webpack/webpack/issues/8656#issuecomment-456713191
It's an npm bug actually.
I'm going to close this issue in favor of #6240

Yeah, bug in Yarn, too, apparently. Thanks y’all for walking through this with me.


BugFix: Snackbar shows wrong value in admin page

When editing user data as admin the snackbar that announces if the action was successfull always indicates that the action was succesfull. For example while editing user if home office is left unfilled the form is not submitted but the message says user was edited.

The office-field isn't pre-filled in the edit form because it doesn't come in the payload of fetchUserById() here: UsersGrid.tsx

Fixing that can also help making testing easier, good insight!

office id is added to fetchUserById() response

 The office-field isn't pre-filled in the edit form because it doesn't come in the payload of fetchUserById() here: UsersGrid.tsx. Kind of unrelated to the actual issue but fixing this would end any partial edits and help with form validation.

b9b9503 Fixed this

b9b9503 Fixed the edit field being incomplete. Now the admin can't update the user without changing some values.


added transactional email sending after the user completes a todo - b…

…e sure to add the aws credentials and set up ses!

@kleneway be sure to add the aws creds to render before deploying


Have you tried TTA (e.g. double flip)?

If not, is that TTA non-trivial for fusion-based method? Any insight?

I did not use any TTA for nuScenes submission. I think for fusion-based methods, you could augment either the 3D part or the 2D part, following the respective common practices. For example, double flip, rotation, and scale over point clouds; flip over images. All these augmentations will be inverse transformed when building the correspondence between two modalities so it will not break the consistency.  Afterwards, the way to fuse the detection results from multiple augmentated inputs should be carefully chosen.  I have tried some TTA but have not observed significant performance improvement, maybe due to the simple bbox fusion strategy I adopted.

Thanks for the response. I've tested a couple of them, and it unfortunately seems to deteriorate the performance (-1.2% drop on val). Tweaks on bbox fusion even harm it further. If my code is right, I may need some more hyperparameter tuning. It will be exciting to make it work after all.

I have tried performing NMS with 3D IoU to fuse the boxes, and the result is: two augmentation strategies from 1) double flip 2) rotation and 3)scale are able to increase performance (but not very significant), if I remember correctly. Maybe you can try https://github.com/ZFTurbo/Weighted-Boxes-Fusion

Hi, @XuyangBai
Thank you for the insight. I have some questions regarding the NMS applied here. Have you tried the NMS provided by the MMdetection3D? Is that because they are not excellent in improving the performance so that you turned to weighted boxes fusion?
Also, can you elaborate on how to use weighted boxes fusion in the TransFusion repository? To be more specific, were you adding a class under mmdet3d/core/post-processing and modifying the test_cfg and test_pipeline? Thank you so much.

after simple rotation tta and wbf, got better result:
mAP: 0.6924
mATE: 0.2858
mASE: 0.2496
mAOE: 0.2796
mAVE: 0.2193
mAAE: 0.1742
NDS: 0.7254
Eval time: 88.0s
Per-class results:
Object Class    AP      ATE     ASE     AOE     AVE     AAE
car     0.894   0.168   0.147   0.073   0.209   0.170
truck   0.667   0.311   0.178   0.065   0.209   0.219
bus     0.768   0.338   0.172   0.034   0.364   0.225
trailer 0.509   0.515   0.210   0.516   0.157   0.156
construction_vehicle    0.305   0.724   0.424   0.825   0.127   0.289
pedestrian      0.889   0.125   0.280   0.351   0.204   0.094
motorcycle      0.790   0.192   0.233   0.245   0.332   0.234
bicycle 0.663   0.163   0.256   0.368   0.151   0.008
traffic_cone    0.766   0.118   0.313   nan     nan     nan
barrier 0.673   0.203   0.285   0.038   nan     nan

what's mean about rotation tta( 6 branches) ?

after rotation tta( 6 branches) and wbf, got better result:
mAP: 0.7068 mATE: 0.2792 mASE: 0.2466 mAOE: 0.2807 mAVE: 0.2277 mAAE: 0.1764 NDS: 0.7323 Eval time: 91.5s
Per-class results: Object Class AP ATE ASE AOE AVE AAE car 0.895 0.167 0.146 0.085 0.210 0.175 truck 0.678 0.307 0.176 0.060 0.208 0.223 bus 0.793 0.307 0.169 0.041 0.366 0.219 trailer 0.528 0.468 0.202 0.533 0.194 0.156 construction_vehicle 0.315 0.759 0.426 0.828 0.122 0.292 pedestrian 0.896 0.121 0.273 0.350 0.201 0.089 motorcycle 0.801 0.183 0.231 0.234 0.373 0.246 bicycle 0.676 0.161 0.252 0.358 0.148 0.011 traffic_cone 0.773 0.115 0.309 nan nan nan barrier 0.712 0.203 0.280 0.038 nan nan

what's mean about rotation tta( 6 branches)?

after rotation tta( 6 branches) and wbf, got better result:
mAP: 0.7068 mATE: 0.2792 mASE: 0.2466 mAOE: 0.2807 mAVE: 0.2277 mAAE: 0.1764 NDS: 0.7323 Eval time: 91.5s
Per-class results: Object Class AP ATE ASE AOE AVE AAE car 0.895 0.167 0.146 0.085 0.210 0.175 truck 0.678 0.307 0.176 0.060 0.208 0.223 bus 0.793 0.307 0.169 0.041 0.366 0.219 trailer 0.528 0.468 0.202 0.533 0.194 0.156 construction_vehicle 0.315 0.759 0.426 0.828 0.122 0.292 pedestrian 0.896 0.121 0.273 0.350 0.201 0.089 motorcycle 0.801 0.183 0.231 0.234 0.373 0.246 bicycle 0.676 0.161 0.252 0.358 0.148 0.011 traffic_cone 0.773 0.115 0.309 nan nan nan barrier 0.712 0.203 0.280 0.038 nan nan

what's mean about rotation tta( 6 branches)? @minrui-hust

Test Time Augmentation(TTA)， rotate input in 6 angle， get output boxes， rotate them back， fusion them with weighted box fusion(WBF)

Test Time Augmentation(TTA)， rotate input in 6 angle， get output boxes， rotate them back， fusion them with weighted box fusion(WBF)

thanks! can you share the WBF code, there is not any implementation of yaw angle version in https://github.com/ZFTurbo/Weighted-Boxes-Fusion

Sorry I can not share the code cause it is deeply coupled with our company's code base.
But fusion heading is not so hard work. Only thing should take care is invert heading when heading difference is larger than 180

Sorry I can not share the code cause it is deeply coupled with our company's code base.
But fusion heading is not so hard work. Only thing should take care is invert heading when heading difference is larger than 180

Test Time Augmentation(TTA)， rotate input in 6 angle， get output boxes， rotate them back， fusion them with weighted box fusion(WBF)

Is the rotation just for point clouds or does that include images


Account for queued requests

The autoscaler was not accounting for queued requests.

current session has already the queued in it.


[DO NOT MERGE] Update upgrade-users-to-latest-office-client.md

@DaniHalfin

Reviewing. Thanks.

I have changed "Office 365" mentions to "Microsoft 365".


Check env JAVA_HOME firstly before set

fix for https://github.com/apache/incubator-linkis/issues/1146

@peacewong  Would you help review this PR?
thanks.

@peacewong Would you help review this PR?
thanks.

@Fuu3214

Yes, I install jdk in other path and set JAVA_HOME env in .bashrc, those scripts can‘t find it. This pr fix it.


How to make addUtilities work in Tailwind V1.0

At the moment, I only have one utility plugin, but it's not working as I upgrade to V1.0.
I have this:
    plugins: [
        ({ addUtilities }) => addUtilities({
            '.outline-pink-400': {
                outlineColor: module.exports.theme.colors['pink-400'],
            },
        }),
    ],

But I can't compile because of this error:

(194:16) @apply cannot be used with .outline-pink-400 because .outline-pink-400 either cannot be found, or its actual definition includes a pseudo-selector like :hover, :active, etc. If you're sure that .outline-pink-400 exists, make sure that any @import statements are being properly processed before Tailwind CSS sees your CSS, as @apply can only be used for classes in the same CSS tree.

> 194 | button:focus { @apply .outline-pink-400; }
      |                ^
  195 | button:active { @apply .outline-pink-400; }

I find the docs very confusing towards rectifying this: https://tailwindcss.com/docs/plugins/. I need to see an example of someone adding a class of arbitrary name in Tailwind 1.0.
The above code works in Tailwind 0.7.4 (in case any future Googlers are looking).

Docs haven’t been updated yet (working on new docs at next.tailwindcss.com,
the existing docs are for version 0.7.4 like the top corner of the page
says) but as far as I can guess the problem in your example is you need to
switch colors['pink-400'] to colors.pink[400], just a guess though because
posting from my phone and can’t test.
On Tue, Mar 26, 2019 at 11:49 AM Adam Mackintosh<EMAIL_ADDRESS>wrote:

At the moment, I only have one utility plugin, but it's not working as I
upgrade to V1.0.
I have this:
plugins: [
    ({ addUtilities }) => addUtilities({
        '.outline-pink-400': {
            outlineColor: module.exports.theme.colors['pink-400'],
        },
    }),
],

But I can't compile because of this error:
(194:16) @apply cannot be used with .outline-pink-400 because
.outline-pink-400 either cannot be found, or its actual definition
includes a pseudo-selector like :hover, :active, etc. If you're sure that
.outline-pink-400 exists, make sure that any @import statements are being
properly processed before Tailwind CSS sees your CSS, as @apply can
only be used for classes in the same CSS tree.

194 | button:focus { @apply .outline-pink-400; }
|                ^
195 | button:active { @apply .outline-pink-400; }

I find the docs very confusing towards rectifying this:
https://tailwindcss.com/docs/plugins/. I need to see an example of
someone adding a class of arbitrary name in Tailwind 1.0.
The above code works in Tailwind 0.7.4 (in case any future Googlers are
looking).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tailwindcss/discuss/issues/234, or mute the thread
https://github.com/notifications/unsubscribe-auth/AEH3bMtIHMlpmGEM5LUEWTC9u-4sx2c_ks5vamuygaJpZM4cMMvk
.

Update: The problem appears to be on // outlineColor: module.exports.theme.colors['pink-400'], because I changed the plugin to:
    plugins: [
        ({ addUtilities }) => addUtilities({
            '.outline-pink-400': {
                outline: 'none',
                // outlineColor: module.exports.theme.colors['pink-400'],
            },
        }),
    ],

and I was able to pass that @apply error onto the next one, which is amazing but I will still appreciate to learn how to call colours like that FROM the tailwind file.
Before, I could call colors.pink from inside tailwind.js, but now the Object composition is slightly different, so I can't do that. While I was inspecting the library code, I saw some evidence of config('parent.child'), but I'm not sure if that's the way I should approach this.
My naive attempt was to just call the export object as I showed above, but clearly that is generating some kind of error along the way, maybe my syntax is way off :) I'm tempted to just do something like:
const tailwind = { /* everything */ };
module.exports = tailwind;

Also I see your reply there doctor Wathan, thanks lemme take a look. I think you are 100% correct because I didn't notice the gradient values are actually keys on the pink object. That should fix it, thanks!!

Confirmed, that fixed it.

Extra for anyone later, read the upgrade path docs at least once before panicking:

source: https://github.com/tailwindcss/tailwindcss/releases#update-tailwind
That usage of theme() pretty much answers any additional questions I may have had.
Nice work team, love the compositional tactics.


Feature Request: FillStruct

Hi, I'm back with another request for functionality I use all the time!
Is there a way to implement the GoFillStruct command that's in vim-go?
https://github.com/fatih/vim-go/blob/master/doc/vim-go.txt#L872

just use gopls. run code action on an empty struct and the option to fill the struct should be there.


Recode command never ends since 0.5.2

Since version 0.5.2 mix recode command just never got finished and keeps running without providing any feedback
.recode.exs file
[
  version: "0.6.2",
  # Can also be set/reset with `--autocorrect`/`--no-autocorrect`.
  autocorrect: true,
  # With "--dry" no changes will be written to the files.
  # Can also be set/reset with `--dry`/`--no-dry`.
  # If dry is true then verbose is also active.
  dry: false,
  # Can also be set/reset with `--verbose`/`--no-verbose`.
  verbose: true,
  # Can be overwritten by calling `mix recode "lib/**/*.ex"`.
  inputs: ["{apps,config,lib,test}/**/*.{ex,exs}"],
  formatter: {Recode.Formatter, []},
  tasks: [
    # Tasks could be added by a tuple of the tasks module name and an options
    # keyword list. A task can be deactivated by `active: false`. The execution of
    # a deactivated task can be forced by calling `mix recode --task ModuleName`.
    {Recode.Task.AliasExpansion, []},
    {Recode.Task.AliasOrder, []},
    {Recode.Task.Dbg, [autocorrect: false]},
    {Recode.Task.EnforceLineLength, [active: true]},
    {Recode.Task.FilterCount, []},
    {Recode.Task.IOInspect, [autocorrect: false]},
    {Recode.Task.Nesting, []},
    {Recode.Task.PipeFunOne, []},
    {Recode.Task.SinglePipe, []},
    {Recode.Task.Specs, [exclude: "test/**/*.{ex,exs}", config: [only: :visible]]},
    {Recode.Task.TagFIXME, [exit_code: 2]},
    {Recode.Task.TagTODO, [exit_code: 4]},
    {Recode.Task.TestFileExt, []},
    {Recode.Task.UnusedVariable, [active: false]}
  ]
]

If I comment out
{Recode.Task.AliasOrder, []},
{Recode.Task.EnforceLineLength, [active: true]}

it works well.
Not sure how I get can more info for debuging

I will have a look. Thanks for reporting.

Hi, @Kitton. I assume there is an AST that makes recode some problems. It always takes effort to figure out such scenarios. It would be great if you could run recode with the source from PR #74 by adding {:recode, github: "hrzndhrn/recode", branch: "fix/issue-73"} to your mix.exs deps. The PR adds the --debug switch to show which task/file combination is running.

Thanks @NickNeck! It looks like for AliasOrder the issue was a duplicated module in the list of aliases - so it's easy to fix manually, not sure why this issue started to appear though.
With EnforceLineLength it's more interesting, for example, such code
defmodule TestModule do
  defp send_to_api(list_of_establishment_types, andjaro_token) do
    list_of_establishment_types
    |> Enum.map(fn establishment_type ->
      Common.do_request_with_entity(establishment_type, fn et ->
        ApiEstablishmentTypes.upsert_establishment_type(andjaro_token, et)
      end)
    end)
  end
end

leads to a never-ending run with recode

Thanks a lot for your debugging help. I have found the bug. The problem is the Recode.FormatterPlugin, also triggered by mix recode. Everything runs as expected without the Recode.FormatterPlugin in .formatter.exs.
I will fix it this weekend and release a new version.


Getting contact information and z-position from external rendering software

Hi,
For my project, I am planning to use MuJoCo as the physics engine and Blender as visualization tool. My doubt is how to get the contact details from the Blender. For eg, I am creating a vehicle and road in Blender, how the contact between vehicle tyre and road (with undulations) and z-position of the vehicle (only x-position and y-position are controlled from MuJoCo) is retrieved in MuJoCo.
Is there any example or tutorial of interfacing MuJoCo and Blender ?
Thanks in advance.
Regards
Karthik

Hi @yuvaltassa ,
Thanks. I shall go through the same and get back. Meanwhile can you please clarify that, in my case, I need to import the road hfield details into MuJoCo and do 'step' and send back the vehicle pose (including z-position) to blender to visualize the same ?
Regards
Karthik


allowing the "orphan" resources to de rendered based on their position

Sorry for the delay, this should fix the situation detailed in #11 .
Not much should have been changed in regards to the mapping of the resources apart from the order that the mapping takes place.
Let me know if any changes are needed.
Tkx.

Hi @Mikayl, this looks good, thanks to you.
We've accommodated these changes in the upcoming release (1.0.3).


Login page does not redirect if already authenticated

Description
In some major release, behavior after successful login was changed.
I have kerberos authorization in apache reverse proxy
    <Location /user/login>
        AuthType Kerberos
        AuthName "Kerberos Login"
        KrbAuthRealms AD.LOCAL
        KrbMethodNegotiate on
        KrbServiceName Any
        KrbLocalUserMapping On
        Krb5Keytab /etc/apache2/keytabs/gitea.keytab
        Require valid-user

        RewriteEngine On
        RewriteCond %{LA-U:REMOTE_USER} (.+)
        RewriteRule . - [E=RU:%1]
        RequestHeader set X-WEBAUTH-USER %{RU}e
        RequestHeader unset Authorization
    </Location>

That sets X-WEBAUTH-USER header only for /user/login location because I need unauthorized access to some gitea pages.
And proxy authorization enabled
ENABLE_REVERSE_PROXY_AUTHENTICATION = true

I'm not sure, but before 1.21 or even 1.20 after user click on Login button in right upper corner, he will be redirected to login page, get successful authentication via proxy header and then just redirected to default / page.
But in the latest releases redirect does not happen, user gets authenticated (sees his avatar in right upper corner) but still on the login page.
User usually doesn't understand that he is authenticated and complains that SSO don't works.
Could you please revert behavior and redirect from login page if proxy authentication was successful.
Gitea Version
1.21.7
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
Official docker image
Database
MySQL/MariaDB

It is a regression of #26105.
TBH, I regret that I approved it too quickly at that time .... it needs some more complicated designs to satisfy various cases now  .....


Add helper methods for BooleanQuery

Super minor. Can you also edit the implementation of ::from to rely on ::new(...)

merged as part as #918


On kubernetes cluster with large configmap, operator uses much memory

Description
On kubernetes cluster with large ConfigMap, operator uses much memory.
Expected Behavior
Memory should not scale with ConfigMap usage for a cluster.
Actual Behavior
Memory usage scales with ConfigMap usage for a cluster.
Affected Version
supertubes-control-plane:v1.8.0-rc.2
Steps to Reproduce

Deploy supertubes
create many large ConfigMap in unrelated namespaces
see memory usage

Checklist

[X] I have read the contributing guidelines
[X] I have verified this does not duplicate an existing issue

I'm wrong. This isn't my issue.


Packaging Fetch for other Distros

I'd love to see fetch packaged for other distros and operating systems.
Fetch is currently packaged for these distros:

Distro
Type
Maintainer

Arch Linux
aur
@dylanaraps

Gentoo/Funtoo
ebuild
@z1lt0id

Crux
port
@ix

Debian/Ubuntu
repo
@dawidd6

I don't have any experience in creating packages for other distros so any help
is appreciated.

I'll install some docker instances and see what I can come up with :)
On 8 February 2016 12:06:03 pm AEDT, Dylan Araps<EMAIL_ADDRESS>wrote:

I'd love to see fetch packaged for other distros and operating systems
Fetch is currently packaged for:

[X] Arch Linux (aur)
[X] Gentoo/Funtoo (ebuild)

Reply to this email directly or view it on GitHub:
https://github.com/dylanaraps/fetch/issues/52

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

Sounds good!  :+1:

I'm working on creating a Fedora rpm, I'm just waiting for Fedora to finish downloading so I can run it in a vm.

I'd recommend the docker route over vm. Much faster and less hassle
On 8 February 2016 1:14:18 pm AEDT, Dylan Araps<EMAIL_ADDRESS>wrote:

I'm working on creating a Fedora rpm, I'm just waiting for Fedora to
finish downloading so I can run it in a vm.

Reply to this email directly or view it on GitHub:
https://github.com/dylanaraps/fetch/issues/52#issuecomment-181161606

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

I haven't played around with docker before, I'll take a look.

Why not use The OpenSUSE Build Service?

That looks neat!

I played around with it and it seems the most easy way to package fetch for a couple of distros is feeding a rpm to the OBS. Make a RPM and we will see.

I'm also messing around with it and can't seem to get it working. I'll try adding an rpm file as the source to see if that works.

Does it work?

I spent hours yesterday trying to get Fedora to build an rpm and eventually gave up.
If anyone else wants to have a go, be my guest.

You can now install fetch through homebrew with this command:
brew install dylanaraps/tools/fetch

I haven't tested the formula, it should work in theory but I don't have any
OS X devices to test it on. Once someone has tested this and confimed
that it works I'll add this to the readme.
The formula doesn't handle dependencies yet either, I'm working on this
as we speak.

i packaged it for crux, but it currently fetches from git rather than from releases (as 1.3 doesn't have a release tag yet).

I think both the ebuild and the PKGBUILD are fetching from git so that's
not a problem.
On 17 Feb 2016 15:56, "ix"<EMAIL_ADDRESS>wrote:

i packaged it for crux, but it currently fetches from git rather than from
releases (as 1.3 doesn't have a release tag yet).
—
Reply to this email directly or view it on GitHub
https://github.com/dylanaraps/fetch/issues/52#issuecomment-185214196.

okay then!

@ix, are you able to write up some install instructions?
I want to add them to the readme. :)

Thanks @ix!

There are threads for updates on the ebuild and the CRUX port. Shouldn't the news be posted here?

this is the issue for packages for new distros
other packages for existing distros should be kept in their own threads

Then let's make a thread for already made packages.
On 18 Feb 2016 17:46, "ix"<EMAIL_ADDRESS>wrote:

this is the issue for packages for new distros
other packages for existing distros should be kept in their own threads
—
Reply to this email directly or view it on GitHub
https://github.com/dylanaraps/fetch/issues/52#issuecomment-185784580.

I can make a .deb package

I attempted to install fetch using the brew formula and it failed. Here is the error:
Error: /usr/local/Library/Taps/dylanaraps/homebrew-tools/fetch.rb:1: class/module name must be CONSTANT
class fetch < Formula
It's so easy to build that I don't see this as important, I just wanted to let you know.

@dawidd6 :+1:
@danielwaltz, Thanks for testing the formula, I think I'll wait for someone else to create one.

So here it is, a .deb package (must be in zip, because github doesn't like .deb):
fetch.zip
If you find this package in the state you don't like it, please let me know

Nice!
How do we go about getting this into Debian and Ubuntu's repos?

Let's begin with a ppa.
On 27 Feb 2016 12:48, "Dylan Araps"<EMAIL_ADDRESS>wrote:

Nice!
How do we go about getting this into Debian and Ubuntu's repos?
—
Reply to this email directly or view it on GitHub
https://github.com/dylanaraps/fetch/issues/52#issuecomment-189617711.

Oh yeah, forgot all about ppas. I'll look into creating one!

I've decided that I'm only going to maintain the aur package, if you want
neofetch packaged for your distro then you or someone else will need to
create a package, ppa or whatever and maintain it.
I'll gladly accept PRs with install instructions for X distro as I've done for
Gentoo/Funtoo and Crux.

I'd also prefer it if every package used the same issue for updates instead
of having multiple seperate issues for them.
See https://github.com/dylanaraps/neofetch/issues/115.

I'm going to try to make an rpm for Fedora, I'll report back here if I am succeeded.

The packaging has been successful. Tested on Fedora 23 but it should work in Fedora 22, 24 and Rawhide.

If we have a RPM, we can use the OpenSUSE build service to package fetch
for many more distros!
On 11 Mar 2016 10:13, "Herdiansyah"<EMAIL_ADDRESS>wrote:

The packaging has been successful. Tested on Fedora 23 but it should work
in Fedora 22, 24 and Rawhide.
—
Reply to this email directly or view it on GitHub
https://github.com/dylanaraps/neofetch/issues/52#issuecomment-195248591.

I don't want to maintain anymore packages but for anyone out there who wants to take a crack at setting up the build service, be my guest. :)

On 03/11/2016 03:17 PM, Tudor Roman wrote:

If we have a RPM, we can use the OpenSUSE build service to package fetch
for many more distros!

Hmm, I think the advantage of using OBS will be limited
to openSUSE, since we've already covered Debian, Ubuntu,
Arch, and Fedora. What does OBS cover, besides the 4 I
mentioned earlier?

We're now live on Void Linux's official repository. I'll maintain the package build template. Installation instructions coming in later.

Post new package news in #115


Make NixOS available first-class in NixPkgs

Issue description
Building a NixOS configuration from a Nix expression is already possible, but the way the user should do it is non-obvious, hacky and error prone. (See 'Technical details')
I suggest we define a top level function in NixPkgs called nixosConfig.
As this is relevant to the overall architecture, I would like to know the opinion and advice of @edolstra and @nbp
Note that /pkgs currently only imports /nixos at https://github.com/NixOS/nixpkgs/blob/69698ec11cc0619d84b14764fa9e708fe7e7223c/pkgs/desktops/gnome-3/installer.nix#L6
Technical details
The user is currently faced with the following choices:

How to import? import <nixpkgs/nixos> or import (pkgs.path + "/nixos")
Which file to import? /nixos or nixos/lib/eval-config.nix
and the following opportunities for mistakes:
system argument
pkgs argument

Design
I suggest we define a function pkgs.nixosConfig that is a small wrapper around nixos/lib/eval-config.nix. Its responsibility is to

insert the right pkgs into the new NixOS configuration
override any impure inputs to eval-config.nix, like the system parameter (builtins.currentSystem)

Implementation
The following definition works for my application in an overlay, but can probably be improved.
nixosConfig = { modules, system ? super.system, baseModules ? null }:
  import (super.path + "/nixos/lib/eval-config.nix") ({
    inherit system modules;
    pkgs = self;
  } // (if baseModules == null then {} else { inherit baseModules; }));

I'll make a PR if you think this is a good idea.

Our PM would say that this is not a design, because you cannot ship this "design" to a third world country and have it implemented.
It might be that your implementation of this feature (whatever it is) is great, but the way I see it is that just want to add an undocumented feature to NixOS or expect someone else to write the documentation.
See https://github.com/NixOS/rfcs/pulls for what it takes.
Pinging the owner of this project is just going to waste his precious time. Now, if you had written a proper RFC, had already written the documentation for this feature, proven that it works on your own systems for months with positive feedback from your internal users if applicable, convinced a co-author of the RFC that it is a good idea, now that would be a good time to share your thoughts. Currently, you have something of negative value.

@williammpratt, That was a little unexpected, but thank you for your feedback.

The creation of this issue was in good faith, to improve the quality of nixpkgs.
I have followed the guidelines for contributing.
I understand now that '@'-mentioning these community members is not desirable at this stage.

I am not just saying this to defend my actions, but to point out a minor flaw in the process here. You've pointed out the need for documentation. I will also check the RFCs (and issue tracker) to help improve the community processes' documentation and reduce this kind of friction for maintainers and future contributors.

I have blocked williammpratt, who appears to be the latest incarnation of a user we've blocked several times before for making abusive comments in NixOS repositories.
@roberth Please don't be discouraged by williammpratt, who doesn't speak for any NixOS contributors.

Personally I would love to see more "special" functions like eval-config.nix exported via pkgs or lib. I end up importing them via <nixpkgs/...> quite a bit in my own configs, and that has the problem of being tied to NIX_PATH when I'm trying to move everything to a project-wide "pinned" Nixpkgs.

 Thank you Eelco. I will polish and document the thing and open a PR tomorrow.

@roberth Thanks for opening this issue. This is definitely a great idea!
I can foresee such expression to have multiple outputs such as a system-output / vm-output / ...

@nbp, I've made a pull request, https://github.com/NixOS/nixpkgs/pull/32422


config: enable dynamic config by default

Signed-off-by: linning<EMAIL_ADDRESS>
What have you changed?
Enable dynamic config by default
What is the type of the changes?

Engineering (engineering change which doesn't change any feature or fix any issue)

Does this PR affect documentation (docs) or should it be mentioned in the release notes?
No
Does this PR affect tidb-ansible?
No

/run-config-manager-test pd=pr/2204 tidb-test=pr/1000

/run-dynamic-config-test pd=pr/2204 tidb-test=pr/1000

/run-dynamic-config-test pd=pr/2204

/merge

/run-all-tests

/merge

/merge


can't convert from remnote to obsidian

I am not able to get my rem.json file into markdown format for obsidian. I ran Remnote2Obsidian.py  and it just creates a new folder with dummy test data like that sample vault folder. What am I doing wrong?

i'm not sure I can comment on what the issue is with the given information. Could you share mode details?
Do you have any sample rem.json that I can use to test and comment on?

rem.txt
do convert txt to json cause json was not supported.
here is screenshot of folder it generates

I wonder if I am doing something wrong (very unlikely), cause it even generated that folder when there was no rem.json present in folder.

Hi @Ketan-Agarwal , I could not spend time on this as I'm a little busy with other engagements.
But it looks like the code needs to be changes slightly to extract your content.

can you please guide me a little bit on what to change? maybe I can follow.


Revisit DB transaction handling in CreateOrganization

While reviewing #973, I noted that creating the default security group for the organization was done outside of the main DB transaction inside of the CreateOrganization() method. Instead of trying to handle manual rollbacks when errors occur, it makes sense to see if this could all be done in a single transaction.
As the code stands now, the result of creating an organization is not guaranteed to be consistent. For example:

If creating the default security group fails, it will return an error, though the organization will remain in the DB, just without its default security group.
If updating the organization with the ID of the new security group fails, the API will return an error, but the organization is still created, but without its default security group
There is a race condition where it's technically possible for the organization to get created and then changed out from under the remaining code that is trying to update it with a default security group.

Can pick this up


"A task was canceled" exception with CredentialProvider.Microsoft.exe v0.1.15

Our AzureDevOps build pipeline continues to see "System.Threading.Tasks.TaskCanceledException: A task was canceled." exceptions during NuGet restore, similar to #77, but we have version 0.1.15 that contains the fix for that issue.
We are using NuGet.exe v4.9.4 on AzureDevOps, installed using the NuGetToolInstaller@0 and performing a Restore using NuGetCommand@2, v2.150.0.
From the build logs, here's the NuGet.exe invocation:
Detected NuGet version <IP_ADDRESS>39 / 4.9.4+ed6e2dca9391d13b431f4eff58c5194f0ebcee13
SYSTEMVSSCONNECTION exists true
[command]C:\BA\_tool\NuGet\4.9.4\x64\nuget.exe restore "C:\BA\8139\s\SpatialServices\SpatialServices API - Windows.sln" -Verbosity Detailed -NonInteractive -ConfigFile C:\BA\8139\s\SpatialServices\nuget.config
NuGet Version: <IP_ADDRESS>39
MSBuild auto-detection: using msbuild version '<IP_ADDRESS>4' from 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\bin'. Use option -MSBuildVersion to force nuget to use a specific version of MSBuild.

Here's the output from the CredentialProvider.Microsoft.exe showing version information:
Using C:\BA\_tasks\NuGetCommand_333b11bd-d341-40d9-afcf-b32d5ce6f23b\2.150.0\CredentialProviderV2\plugins\netfx\CredentialProvider.Microsoft\CredentialProvider.Microsoft.exe as a credential provider plugin.
    [CredentialProvider.175929]Time elapsed in milliseconds after sending response 'Request' 'GetOperationClaims': 28
    [CredentialProvider.175929]Running in plug-in mode
    [CredentialProvider.175929]Handling 'Request' 'Initialize'. Time elapsed in ms: 7 - Payload: {"ClientVersion":"4.9.4","Culture":"en-US","RequestTimeout":"00:00:05"}
    [CredentialProvider.175929]Time elapsed in milliseconds after sending response 'Request' 'Initialize': 10
    [CredentialProvider.175929]Sending response: 'Request' 'Initialize'. Time elapsed in ms: 9
    [CredentialProvider.175929]Command-line v0.1.15: "C:\BA\_tasks\NuGetCommand_333b11bd-d341-40d9-afcf-b32d5ce6f23b\2.150.0\CredentialProviderV2\plugins\netfx\CredentialProvider.Microsoft\CredentialProvider.Microsoft.exe" -Plugin
    [CredentialProvider.175929]Handling 'Request' 'GetOperationClaims'. Time elapsed in ms: 1 - Payload: {}
    [CredentialProvider.175929]Sending response: 'Request' 'GetOperationClaims'. Time elapsed in ms: 12
    [CredentialProvider.175929]Handling 'Request' 'SetLogLevel'. Time elapsed in ms: 1 - Payload: {"LogLevel":"Debug"}
    [CredentialProvider]Sending response: 'Request' 'SetLogLevel'. Time elapsed in ms: 3
    [CredentialProvider]Time elapsed in milliseconds after sending response 'Request' 'SetLogLevel': 6

And the unhandled exception that fails builds:
Unhandled Exception: System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NuGet.Protocol.Plugins.MessageDispatcher.<DispatchWithNewContextAsync>d__26`2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NuGet.Protocol.Plugins.SymmetricHandshake.<HandshakeAsync>d__14.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NuGet.Protocol.Plugins.Connection.<ConnectAsync>d__25.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NuGet.Protocol.Plugins.PluginFactory.<CreateFromCurrentProcessAsync>d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NuGetCredentialProvider.Program.<Main>d__11.MoveNext() in E:\A\_work\616\s\CredentialProvider.Microsoft\Program.cs:line 133
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NuGetCredentialProvider.Program.<Main>(String[] args)

Thank you for reporting. Does this happen intermittently, and if so, what's the failure rate? In your pipeline, are you using a hosted or private agent? Seeing the whole log, including everything that both the NuGet build task and the cred provider writes, might help investigation.

It is intermittent. We had a 12 hour window when 4 of 7 CI builds failed with this issue. But we haven't hit it in the past ~24 hours. We are using private agents.
I took a look at the 4 recent instances, and 2 of them don't appear to have anything untoward in the logs, beyond what I already shared. The other 2, however, do have logs that suggest that spurious 401's were returned by the package source (all package sources that we're pulling from are Azure Artifact Feeds). I've attached those logs:
InterestingLog1.txt
InterestingLog2.txt

Thanks for the logs. I can see "Object reference not set to an instance of an object." in the logs, which is certainly interesting. Could you add a build variable system.debug = true in your pipeline and make sure the task has Verbosity set to detailed? After those settings the following logs should have more details. We need to determine whether this error is thrown by the cred provider or NuGet and hopefully the more verbose logs will help.
FYI @dtivel

I haven't been able to get a repro so I have a few more questions. When is the first time you started seeing this error? How many feeds do you have in your nuget.config? Are they all feeds from Azure DevOps Artifacts? Do you have a lot of packages you're restoring?

We have this problem at the moment also.
We are using NuGet.exe v4.9.3 on AzureDevOps, installed using the NuGetToolInstaller@0 and restore performing through "dotnet build" (dotnet 2.2.105).
This was intermittent for us for a while, but now we have a pipeline that we never get to pass because of this error.
C:\Program Files\dotnet\sdk\2.2.105\NuGet.targets(114,5): error : Unable to load the service index for source https://pkgs.dev.azure.com/[org]/_packaging/[name]/nuget/v3/index.json. [D:\a\1\s\src[project][project].csproj]
C:\Program Files\dotnet\sdk\2.2.105\NuGet.targets(114,5): error :   A task was canceled. [D:\a\1\s\src[project][project].csproj]

Possibly related to https://github.com/NuGet/Home/issues/8198

According to the discussion in the related NuGet issue, the new version 5.1 should have some logging fixes that might help investigating this issue. Please try updating the NuGet version and see if the logs are more interesting.

Sorry for the delay in replying. I'll switch to NuGet 5.1 and keep an eye on things. Here's the details that satbai asked for back in May:
When is the first time you started seeing this error?
We'd seen it occasionally before (maybe a couple of times per week?), but a tight cluster of hits that took out half the builds in an afternoon (as I commented before) resulted in this issue.
How many feeds do you have in your nuget.config? Are they all feeds from Azure DevOps Artifacts?
At the time we had 7 feeds in nuget.config. All of them were from AzureDevOps. One of them Upstreamed nuget.org (which is how we 'proxy' nuget.org). To try and help with this incident I moved three of the feeds to be Upstreamed by the upstream feed we already had, leaving us with 4 feeds in Nuget.config.
Do you have a lot of packages you're restoring?
We restore ~140 packages.

I have narrowed it down to that this occurs when using "dotnet restore". If I do "nuget.exe restore" it works all the time.

I have narrowed it down to that this occurs when using "dotnet restore". If I do "nuget.exe restore" it works all the time.

Thanks a lot.
We had the same issue, and with your hint, using "nuget.exe restore", it works like a charm.

Hey team. I'm receiving a similar error when restoring on TeamCity:
[09:21:03][Execute nuget:restore]   https://pkgs.dev.azure.com/{company}/_packaging/{feed}/nuget/v3/index.json: Unable to load the service index for source https://pkgs.dev.azure.com/{company}/_packaging/{feed}/nuget/v3/index.json.
[09:21:03][Execute nuget:restore]   A task was canceled.

This is unfortunate because when I was testing Azure Artifacts everything worked fine. This also appears to be intermittent for us. I've moved 50,000 packages from our hosted server to Azure Artifacts and was hoping I can get this running today.
Can anyone advise what to do? We're using nuget.exe.

When reading the discussion related to the NuGet issue jeffkl mentioned earlier, it sounds like for those who see this error with nuget.exe, there might be a fix for this in the next version of NuGet that's coming up (version 5.2?).

We have a similar issue on Azure hosted agents (Hosted VS 2017). Unlike @cannehag, in our case nuget restore fails with the same error (and we cannot use dotnet restore). With 5.1.0 the following error is reported:
Problem starting the plugin 'D:\a\_tasks\NuGetCommand_333b11bd-d341-40d9-afcf-b32d5ce6f23b\2.155.0\CredentialProviderV2\plugins\netfx\CredentialProvider.Microsoft\CredentialProvider.Microsoft.exe'. A task was canceled.

Tried with NuGet 4.9.1 and 4.9.2 following nuget/home#7699, and also 5.1.0, all installedusing the NuGetToolInstaller task, but they all fail. Very occasionally one of the 6 failing jobs succeeds to restore, randomly, then fails again on next CI run. The other 4 jobs almost always succeed. All 10 jobs are running in parallel on different agents, and restoring one single prerelease package each from the same owner on nuget.org with no other source configured. This was working fine until yesterday 30th July although we had only 2 jobs instead of 10, although the issues started to manifest today 31st July even before I increased the number of jobs.

Hi @djee-ms
If the only package source is nuget.org, the credential provider shouldn't be launched. Could you try with NuGet 5.2? It looks like it's now available for download.

No, 5.2 doesn't work. It failed consistently for one of my pipelines. But others with same build template works fine. I have to use the fix in another github issue by adding two build variables:
NuGet.ForceEnableCredentialProvider: true and NuGet_ForceEnableCredentialProviderV2: false (lower case true and false)

NuGet 5.2.0 works for me, tried 2 builds of 10 agents, all passed. And the release notes of 5.2.0 point to many fixes around authentication, including NuGet/Home#8198 which very much look like the current issue.

@djee-ms that's great!
@melcloud the most common reason for a 401 in the pipeline is that one of your PATs in your service connections is expired. Could you please verify that all of them are valid? This cred provider only works with NuGet 4.8 or higher, so version 4.1 will use the old authentication method.

This is still a problem with Nuget 5.3 in Azure pipelines. The restore fails in my project after ~50 seconds with the same error.

Experiencing the same problem on NuGet 5.3:
##[error]The nuget command failed with exit code(1) and error(Problem starting the plugin
'd:\a\_tasks\NuGetCommand_333b11bd-d341-40d9-afcf-b32d5ce6f23b\2.158.0\CredentialProviderV2\plugins\netfx\CredentialProvider.Microsoft\CredentialProvider.Microsoft.exe'.
Plugin 'CredentialProvider.Microsoft' failed within 0.716 seconds with exit code -1.)
##[error]Packages failed to restore

For me adding -DisableParallelProcessing option to "nuget restore" command resolved this issue with latest nuget and CredProvider.

If anyone else hits this issue, I've had the same issue with one restore working and another failing in Azure DevOps using NuGet 5.3.1.
I had to add disableParallelProcessing to the restore step

This is an instance of NuGet/Home#8528

According to the discussion in the NuGet issue posted above, NuGet version 5.5.x should have all fixes related to this problem, and it looks like there is a preview version now available. Please update to nuget 5.5.x with the latest cred provider release 0.1.20.

According to the discussion in the NuGet issue posted above, NuGet version 5.5.x should have all fixes related to this problem, and it looks like there is a preview version now available. Please update to nuget 5.5.x with the latest cred provider release 0.1.20.

We are using nuget 5.8.1 and still hitting this issue with Azure feeds.  about 1 in 5 builds will fail because auth and restore fail.  Re-run the job, and it passes.
I'm going to try moving our CiCd pipeline to the latest version of nuget available, but I don't have confidence that will fix the reliability issue, since many posts on this thread expects this bug to be fixed before 5.8.1 that we are already using.


Piping to "xargs kill" makes Grunt fail

Successful run
Config:
dist_dev_ks: {
    command: [
        [
            'ps -ef',
            'grep python',
            'grep runserver',
            'grep 9474',
            "awk '{print $2}'",
        ].join(' | '),
    ].join(' && '),
},

Execution:
$ grunt exec:dist_dev_ks
Running "exec:dist_dev_ks" (exec) task
94833
94836
94897

Done, without errors.

Failed run after adding the piping to xargs kill
Config:
dist_dev_ks: {
    command: [
        [
            'ps -ef',
            'grep python',
            'grep runserver',
            'grep 9474',
            "awk '{print $2}'",
            'xargs kill',
        ].join(' | '),
    ].join(' && '),
},

Execution:
$ grunt exec:dist_dev_ks
Running "exec:dist_dev_ks" (exec) task
>> Exited with code: 0.
Warning: Task "exec:dist_dev_ks" failed. Use --force to continue.

Aborted due to warnings.

If I use --verbose:
Expecting exit code 0
>> Exited with code: 0.
Warning: Task "exec:dist_dev_ks" failed. Use --force to continue.

Will investigate further

Thrown errors are now output by default (when no callback provided).  The thrown error would at least give a hint at what the cause of the exit was.

@gwicksted, turns out the problem is that when you run ps aux | grep "...", the grep command will show up in the results alongside the command searched for. The kill command will fail with something like kill: 92342: No such process.
grunt-exec version 1.0.1 does not show the error (even when grunt is run with -vvvvv):
Running "exec:dist_dev_ks" (exec) task
Verifying property exec.dist_dev_ks exists in config...OK
File: [no files]
Max stdout+stderr size is 204800 bytes

ps aux | grep python | grep runserver | grep 8002 | awk '{print $2}' | xargs kill
Expecting exit code 0
>> Exited with code: 0.
>> Error executing child process: Error: Command failed: ps aux | grep python | grep runserver | grep 8002 | awk '{print $2}' | xargs kill
Warning: Task "exec:dist_dev_ks" failed. Use --force to continue.

Aborted due to warnings.

@heliodor thank you for re-testing this! I'm sure we've all hit that before with ps aux | grep ...
A simple trick is placing the grep regex in quotes and including a character group around the first character eg. ps aux | grep "[p]ython will cause grep to match "python" but not "grep [p]ython" since p is followed by the literal ].  See [http://unix.stackexchange.com/questions/74185/how-can-i-prevent-grep-from-showing-up-in-ps-results](stack exchange) for alternative solutions.
Unfortunately, that error is all we get back from node regarding the error.  If you set stdout and/or stderr to true in the grunt-exec options, it may show kill's output as well which I'm sure would be beneficial.


Support for Scala 2.12.13

Just in case - please add support for Scala 2.12.13 :)
It would be nice to get new release with https://github.com/sksamuel/scapegoat/issues/455 fix included.
Thank you!

Added in this commit https://github.com/sksamuel/scapegoat/commit/3e5df90add1544d58c8a0ecf5e91224badf068c5

Added in this commit https://github.com/sksamuel/scapegoat/commit/3e5df90add1544d58c8a0ecf5e91224badf068c5

1.4.7 is released.

1.4.7 is released.


Pysweep integration

Pysweep should become a new part of QCoDeS most likely just called the QCoDeS Sweep (since Loop now has such bad connotations).
It should not be a replacement for the current Loop, but an optional-to-use convenience object to create experimental runs. It should be clear how to achieve what the Sweep achieves in a more verbosely typed way.

I think I should be the one who is assigned this task.
I agree with the verbosity issue and the need for more proper documentation.


SQL comment yields wrong highlighting

I have the following sql. Yes, I have sql queries in database tables. Do not judge me 🐇
This is the code i want to highlight:
INSERT INTO MESSAGESEARCHPATTERN (name, query)
VALUES ('a','select ''hello world'' from a')

-- this is a comment

INSERT INTO MESSAGESEARCHPATTERN (name, query)
VALUES ('a','select ''hello world'' from a')

this is, what the test page/prismjs makes from it (language is SQL):

@fabsenet me too :grinning:
I however use it more for documentation.

From a really quick look at it, it appears to be more about the '' part of the string than about the comment. I think our component does not handle "quote-escaped quotes" (is there a name for this?) in the string pattern at the moment.


get element density

I added the method you wanted as well as updated the documentation

@imrun10
Hello, thanks for your contribution Imrun.
firstly can you please delete  these lines.

secondly then check for when density is Nan :
example of checking for Nan : (in this case checks if "ElectronConfiguration" is Nan) :

Ok I will today


Bug: running yarn berry (3.5) requires sudo access

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.76.2 arm64
OS Version: macOS 13.2.1

Steps to Reproduce:
calling yarn without sudo in vscode causes Segmentation fault error.
everything is fine in the mac Terminal app.
reinstalling it with brew install yarn and npm i -g yarn didn't help.
vscode terminal:
bash-3.2$ yarn -v
Segmentation fault: 11
bash-3.2$ yarn
Segmentation fault: 11
bash-3.2$ sudo yarn -v
3.5.0
bash-3.2$

System:
OS: macOS 13.2.1
CPU: (10) x64 Apple M1 Pro
Binaries:
Node: 18.15.0 - /private/var/folders/j3/xxx/T/xfs-yyy/node
Yarn: 3.5.0 - /private/var/folders/j3/xxx/T/xfs-yyy/yarn
npm: 9.6.2 - /usr/local/bin/npm
npmPackages:
jest: ^29.5.0 => 29.5.0

Are you saying calling yarn in an external terminal doesn't seg fault? We just pass the commands forward to the terminal, their execution doesn't change

when I install it via Terminal, it works on vscode and has an error on Terminal
when I install it via vscode, it works on Terminal and has an error on vscode
maybe it's more from yarn than vscode
strangest bug I have ever seen

just noticed this in your issue details:

Binaries:
Yarn: 3.5.0 - /private/var/folders/j3/xxx/T/xfs-yyy/yarn

could it be that this install location requires permissions that VS Code cannot access?

I tried both zsh and bash, also clearing settings.json didn't change anything.
actual yarn is in /usr/local/bin/yarn that's how the yarn berry shows the path

are you using a login shell in VS Code? Can you provide me with your settings.json file?

the problem was with Node 18.15.0 LTS upgrading to the latest 19.8.1 fixed the issue.
the weird part was it was only happening in vscode...


Cannot find module "bark.core"

When debugging the python code "intersection.py", I followed the instruction from the tutorial and I got the error "no module named bark". I guess it is caused by wrong path. Then I used
import sys
sys.path.append("/home/myname/bark")

to add the path. But there is still error "no module named bark.core". This time I cannot find "bark.core".
This is what I added in launch.json file based on the tutorial https://bark-simulator.readthedocs.io/en/latest/debugging.html
{
                "name": "Python: Current File",
                "type": "python",
                "request": "launch",
                "program": "${file}",
                "console": "integratedTerminal",
                "env": {
                  "PYTHONPATH": "${workspaceFolder}/bazel-bin/bark/examples/intersection.runfiles/__main__/python:${workspaceFolder}/bazel-bin/bark/examples/intersection.runfiles/__main__"
                }
              }

Could you please tell me how to fix this?
(I have installed BARK correctly based on the website
https://github.com/bark-simulator/bark/blob/master/docs/source/installation.md
And the python file "intersection.py" runs well in terminal with commond "bazel run //bark/examples:merging")

My (educated) guess would be: bark.core is always moved to the actual build folder by bazel. This is done via the genrule command.
Possible solution: Add ${workspaceFolder}/bazel-bin/bark/ to the path as well. @juloberno might be able to help you better here.

Hi,
either you take Patrick's solution and add paths manually or in the meanwhile, we have a solution to set PYTHONPATH automatically. Here is a PR that adds this debugging feature to the merging example. Just hit F5 to start debugging while having the merging.py active in vs code.
https://github.com/bark-simulator/bark/tree/debug_merging
We will also merge this into master when it is ready.

Problem should be resolved as it is merged into the master branch.


warnUnused is reporting on Assertions

Hello, since 0.4.2 I am seeing Scalatest tests reporting unused on assertions that aren't the final value in a test, e.g.
  // ... rest of test
  config.topicLoader.idleTimeout shouldBe 1.second // This errors
  config.topicLoader.bufferSize.value shouldBe 10 // This errors too
  config.topicLoader.clientId.value shouldBe "test-client-id" // This is fine
}

/src/test/scala/unit/ConfigSpec.scala:113:38: unused value of type org.scalatest.Assertion (add `: Unit` to discard silently)
[error]       config.topicLoader.idleTimeout shouldBe 1.second

I have tried disabling scalaFix in case it was conflicting but no change.
Is this intended behaviour?

Hmm thanks for the report - I think this is due to the addition of -Wnonunit-statement in #115 (which I seem to have missed in the release notes, sorry about that). I think this is because Scalatest assertions return a value of type Assertion as well as throwing an exception, which unfortunately triggers this warning because the value is not used.
I think a lot of users were eager to see this setting added so I'm not so sure what to do here!

I think -Wnonunit-statement really only makes sense for pure FP code. Given that this is sbt-tpolecat, that's a reasonable default? 😅

Do people write FP tests/test assertions? 😅  I'm probably just going to find a way to override/disable this flag if I can rather than approach the new set of 500+ errors in the Test / portion of my project

For anyone else in the same boat who wants to disable the -Wnonunit-statement flag that sbt-tpolecat adds:
scalacOptions ~= { options: Seq[String] =>
  options.filterNot(
    Set(
      "-Wnonunit-statement"
    )
  )
}

The Set is overkill but this is a scaffold I use to remove 1 or more flags. Sometimes I remove a flag based on an environment variable, like turning off -Xfatal-warnings while I'm prototyping with a PROTOTYPE=true env var.

Reporting the same here. We have multiple test cases with multiple assertions in it, so the change in #115 is hurting us quite bad :) Since we operate with a lot of smaller projects, upgrading the plugin and duplicating the workaround @henricook  provided is not ideal.
Not sure what would be the desired behaviour from sbt-tpolecat point of view...

Do people write FP tests/test assertions?

It's not that crazy, something like this:
for {
  foo <- doFoo()
  _ <- IO(assert(...))
  _ <- IO(assert(...))
} yield ()

Btw, @som-snytt gave some advice in the Scala Discord, about how to silence this warning for specific classes.

that seems to be cat=other-pure-statement, where site= the enclosing definition. You would have match the name of a class that goes unused in the msg=MyClass.
As I just did, scalac -Wconf:help
-Wconf:cat=other&msg=MyClass&site=MyClient:s where s for silent. IIRC,

I will make improvements for 2.13.11, so let me know if there is a useful heuristic here.
It is certainly reasonable to make checks in Test less strict, but also "tests are code," etc.

Do people write FP tests/test assertions?

Yes, with libs like munit-cats-effect.

Do people write FP tests/test assertions?

It's not that crazy, something like this:
for {
  foo <- doFoo()
  _ <- IO(assert(...))
  _ <- IO(assert(...))
} yield ()

With ScalaTest async testing + CE they often look like this:
val assertion = for {
  _ <- doSomething
  result <- doSomethingElse
} yield result shouldBe someKnownValue

assertion.unsafeToFuture()

see e.g. https://github.com/hmrc/transit-movements-guarantee-balance/blob/main/test/services/BalanceRequestCacheServiceSpec.scala#L140

What @henricook suggests is a totally fine way to go about disabling bits of sbt-tpolecat, although you can also use the settings DSL to do this now if you just want a one-liner, e.g.
Test / tpolecatExcludeOptions += ScalacOptions.warnNonUnitStatement

FYI, this is also triggering for Spec2 unit tests such as:
package com.foo.app

import org.specs2.mutable.Specification

class UDFsSpec extends Specification {

  import UDFs._

  "concatDiscardingEmpty" >> {
    "ignore empty Strings and nulls" >> {
      val expected = "A:B:C"
      val result   = concatDiscardingEmpty(":", List("A", null, "B", "", "C "))
      result ==== expected
    }
  }
}

I get:
[error] ...UDFsSpec.scala:8:27: unused value of type org.specs2.specification.core.Fragment (add `: Unit` to discard silently)
[error]   "concatDiscardingEmpty" >> {
[error]                           ^
[error] two errors found

I took a look, and foo must be(bar) in ScalaTest results in an Assertion object, so there's nothing to be done on the diagnostic side.
If you want to use ScalaTest this way, write your "block of asserts" as a tuple of expressions:
  "Domain" should "have a name" in (
    domain.status must be(true),
    domain.name must be("testing"),
  )

or use -Wconf:msg=unused value of type org.scalatest.Assertion:s or turn off -Wnonunit-statement in Test. (or ask sbt-tpolecat to do that for you)

I've added a (perhaps slightly too prominent) warning about this to the README now - so let's close this :D

I also had this issue and the warning in the Readme was useful, thanks for that.
However, I was still having an extra issue with IntelliJ. I guess the IntelliJ SBT plugin does not parse the Test / scalacOptions separate from the standard scalacOptions, so I had to suppress warnings for the test files, like this:
scalacOptions ++= Seq(
  "-Wconf:cat=other-pure-statement:src=test/.*.scala:silent"
)

More about warning suppression here: https://www.scala-lang.org/2021/01/12/configuring-and-suppressing-warnings.html

scalacOptions ++= Seq(
  "-Wconf:cat=other-pure-statement:src=test/.*.scala:silent"
)

This is a great fix for Intellij/Scala2 but appears be unworkable in Scala3 currently. Possibly we'll get more information in this issue: https://github.com/scala/scala3/issues/18804

I commented on the issue. I didn't try anything out, but if it's fixed on 3.4.1, you can lobby for backport to LTS, which stands for Lobbied something.


Display stream fps issue

Well as I told you before in privately fps is a big problem specially in streaming.
As I read frame rate doesn't really work in encoder, cause encoder will get every frame it's fed. So there is a need of dropping frames if input frame number is more than the given one.

Yes, you are right. FPS parameter is used for this:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/video/VideoEncoder.java#L109
But that line no limit fps or skip if you send so much fps. I will do a commit to add this feature in the future but you only need limit that in this callback with some function:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/rtplibrary/src/main/java/com/pedro/rtplibrary/base/Camera1Base.java#L625
You can find that callback in all base if you use other base.

No, you can't do it. You only can change video bitrate on fly and with API19+. If you want change fps you need stop encoder change configuration and start encoder.

If it could help you.. when testing.. i set encoder to 30fps but the game frame rate is 27 fps. so the video bitrate lowers according to missed fps.
if it is set on 30fps 3000 video bitrate and real fps is 27.. then video bitrate send is (3000*27)/30=2700.
Also as a feature request we ve talked and you told me video record cant be used without streaming display video :/

format.setInteger(MediaFormat.KEY_CAPTURE_RATE, frameRate);
Could this limit the capture rate of mediaprojection to encoder? :/

I don't know I need test it.

Pedro if you play with these.. i thought of implementing fps indicator.. and it's easy just listen to frames got from mediaprojection and calculate them to get fps. This would be a nice implementation

ok nevermind just copied and merged with mine :/ so whatever improvement i
make i ll email you cause i dont know how to push things :/
Also if you could give me a direction on what i should do to enable display
recording without streaming it should be great.
Στις Κυρ, 16 Σεπ 2018 στις 2:18 μ.μ., ο/η Bill M<EMAIL_ADDRESS>έγραψε:

Hi pedro, i downloaded source from github, changed some things. how can i
use it with my project? i mean import it in my project with android studio
Στις Τετ, 12 Σεπ 2018 στις 9:49 π.μ., ο/η Pedro Sánchez <
<EMAIL_ADDRESS>έγραψε:

I don't know I need test it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/issues/213#issuecomment-420532470,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD_cvZWDCTcG0mJULwTzeLJcgIzuDtqlks5uaK6TgaJpZM4WJF4y
.

pedro i made some changes it seems it works good. Though can you tell me a
fast way to get fps used to start streaming?
i used MediaCodec.BUFFER_FLAG_KEY_FRAME but it returns wrong fps
Στις Κυρ, 16 Σεπ 2018 στις 2:28 μ.μ., ο/η Bill M<EMAIL_ADDRESS>έγραψε:

ok nevermind just copied and merged with mine :/ so whatever improvement i
make i ll email you cause i dont know how to push things :/
Also if you could give me a direction on what i should do to enable
display recording without streaming it should be great.
Στις Κυρ, 16 Σεπ 2018 στις 2:18 μ.μ., ο/η Bill M<EMAIL_ADDRESS>έγραψε:

Hi pedro, i downloaded source from github, changed some things. how can i
use it with my project? i mean import it in my project with android studio
Στις Τετ, 12 Σεπ 2018 στις 9:49 π.μ., ο/η Pedro Sánchez <
<EMAIL_ADDRESS>έγραψε:

I don't know I need test it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/issues/213#issuecomment-420532470,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD_cvZWDCTcG0mJULwTzeLJcgIzuDtqlks5uaK6TgaJpZM4WJF4y
.

Pedro i used a timer to get fps and limited getH264DataRtp(h264Buffer, info);
but is this really working? does it limit the frames sent? also is it wise to not send some fps that maybe essential ?

Also by messing up with these things got unsupported video message in twitch.tv

The only way to limit fps is like you did but you should do it in videoencoder class because if you do a  filter, you could skip keyframes and you will get errors.
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/video/VideoEncoder.java#L312

ok thats what i thought.. Is it possible to know when it is a keyframe so not to ignore it ? i read somewhere that it is essential to write the frame to know this

You have this flag to know it:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/rtplibrary/src/main/java/com/pedro/rtplibrary/base/Camera1Base.java#L615
Anyway if you only encode 10 times per second or something like that you haven't that problem.

yeah but on 30 fps i get bad image. it misses key frames i think or something like that. cause i limit it to 30 fps and maybe there is a missing piece in the 1000ms

if i limit to 30fps it sends a keyframe every one second.. is that right?

Depend iframeinterval setted:
https://developer.android.com/reference/android/media/MediaFormat.html#KEY_I_FRAME_INTERVAL

yeap it is set at 2 but sends every 1
Στις Δευ, 17 Σεπ 2018 στις 12:55 μ.μ., ο/η Pedro Sánchez <
<EMAIL_ADDRESS>έγραψε:

Depend iframeinterval setted:
https://developer.android.com/reference/android/media/MediaFormat.html#KEY_I_FRAME_INTERVAL
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/issues/213#issuecomment-421950198,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD_cvc1J5SBPUn56MxEOfDISj_gywQy7ks5ub3F8gaJpZM4WJF4y
.

Maybe this is the reason:
Most video encoders will convert this value of the number of non-key-frames between key-frames, using the frame rate information; therefore, if the actual frame rate differs (e.g. input frames are dropped or the frame rate changes), the time interval between key frames will not be the configured value.

You can see it in the link that I shared you

yeap noticed this a long time ago and i remember reporting this to you..
ignoring frames doesnt really work :/ i get bad image. even if i limit
getDatafromsurfaceapi21..
I am really digging this.. if i get something i ll report back to you. and
i am sorry for disturbing you. :/
Στις Δευ, 17 Σεπ 2018 στις 1:56 μ.μ., ο/η Pedro Sánchez <
<EMAIL_ADDRESS>έγραψε:

Maybe this is the reason:
Most video encoders will convert this value of the number of non-key-frames between key-frames, using the frame rate information; therefore, if the actual frame rate differs (e.g. input frames are dropped or the frame rate changes), the time interval between key frames will not be the configured value.
You can see it in the link that I shared you
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/issues/213#issuecomment-421967694,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD_cvduIXgYx4JbFHS-w7_flUMc3wFQ9ks5ub3_ogaJpZM4WJF4y
.

it is impossible to send less changes to video encoder right :/ ?
Στις Δευ, 17 Σεπ 2018 στις 2:02 μ.μ., ο/η Bill M<EMAIL_ADDRESS>έγραψε:

yeap noticed this a long time ago and i remember reporting this to you..
ignoring frames doesnt really work :/ i get bad image. even if i limit
getDatafromsurfaceapi21..
I am really digging this.. if i get something i ll report back to you. and
i am sorry for disturbing you. :/
Στις Δευ, 17 Σεπ 2018 στις 1:56 μ.μ., ο/η Pedro Sánchez <
<EMAIL_ADDRESS>έγραψε:

Maybe this is the reason:
Most video encoders will convert this value of the number of non-key-frames between key-frames, using the frame rate information; therefore, if the actual frame rate differs (e.g. input frames are dropped or the frame rate changes), the time interval between key frames will not be the configured value.
You can see it in the link that I shared you
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/issues/213#issuecomment-421967694,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD_cvduIXgYx4JbFHS-w7_flUMc3wFQ9ks5ub3_ogaJpZM4WJF4y
.

Oh, I didn't know it. I will test it and add to display mode if it works.

Ok by using simple Thread.Sleep(1000/fps) on getDataFromSurfaceAPI21() seems to limit fps fine and without any problem when streaming.  Just should do something to avoid error cause of thread working or something like that. if you think this is a good solution please add this.
try {
Thread.sleep(1000/fps);
}catch (InterruptedException e){
}

I did tests with MediaFormat.KEY_REPEAT_PREVIOUS_FRAME_AFTER but no work :( (do you know how to do it?)
Your sleep solution works for surface mode but no for buffer to buffer mode:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/video/VideoEncoder.java#L392
I need adapt it for it (used in default activity or custom activity examples) and then I will add it.

Yeap still working on this.. if i do more i ll surely send here. You have the knowledge and is your project you know more. (this issue is big and if solved will be big too.)
Also tried key_repeat and didnt work for me too.

I did it:
private boolean validFps() {
    if (System.currentTimeMillis() - lastFrameTimestamp > 1000 / fps) {
      lastFrameTimestamp = System.currentTimeMillis();
      return true;
    }
    return false;
  }

To implement you should do:
if (!validFps()) continue;

You only need implement it here (in while loop):
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/video/VideoEncoder.java#L316

i used inside while loop and didnt work.
BUT it worked like a charm in the for loop! LIKE A CHARM :) Good job!
This can be used for camera bases too. To limit unless google took care of this already. (Haven't tried yet)
Also studying to figure out how MediaFormat.KEY_REPEAT_PREVIOUS_FRAME_AFTER could work...
this issue can be closed as it is fixed! :) 👍

Also @pedroSG94 test with this
videoFormat.setLong(MediaFormat.KEY_REPEAT_PREVIOUS_FRAME_AFTER,500000);
it seems to kinda work.. this is supposed to repeat frame after 500ms
I think smaller values are not acceptable.. even with this it showed 0 fps some times but most time 2 fps sent which means it did work i double checked with no screen changes

The problem in this config is that only repeat a time (apparently). Description from android documentation:
Applies only when configuring a video encoder in "surface-input" mode. The associated value is a long and gives the time in microseconds after which the frame previously submitted to the encoder will be repeated (once) if no new frame became available since.
In this case it is no usable because you can't send a constant frame rate you have the same problem.
Limit fps was added here: https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/commit/22b3f337c00aa4d80ba95e34ca14a935139f4028

Saving last frame and send if no screen change using timer or something?
Στις Τρί, 18 Σεπ 2018 στις 10:38 π.μ., ο/η Pedro Sánchez <
<EMAIL_ADDRESS>έγραψε:

The problem in this config is that only repeat a time (apparently).
Description from android documentation:
Applies only when configuring a video encoder in "surface-input" mode. The
associated value is a long and gives the time in microseconds after which
the frame previously submitted to the encoder will be repeated (once)
if no new frame became available since.
In this case it is no usable because you can't send a constant frame rate
you have the same problem.
Limit fps was added here: 22b3f33
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/commit/22b3f337c00aa4d80ba95e34ca14a935139f4028
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/issues/213#issuecomment-422287791,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD_cvVdwc466QIE7_FenqPQ_S264XD2fks5ucKLigaJpZM4WJF4y
.

No work because you only can save h264 buffer in surface mode so you can't send a constant keyframe.
In case that last frame is a keyframe you send all time a big frame, bad idea for bandwidth and could produce errors on the stream.

Also in youtube solution works good! But in twitch i am getting "Resource format not supported"


Ideas

Community maintained list of rules.
Maybe change the marker when a iframe is focused for click jacking prevention


some enhancement proposal to troubleshoot some common issues

I faced some issues,
I propose the following enhancement:
in requirements.txt, to jump to latest releases (tested ok)
langchain_chroma>=0.1.4
langchain_community>=0.3.10
langchain_core>=0.3.22
langchain_openai>=0.2.11
langchain_text_splitters>=0.3.2
openai>=1.55.3
pydub>=0.25.1
PyPDF>=3.1.0
python-dotenv==1.0.1

in script.py
for error like can't decode byte 0x9d in position 2127, use utf-8 encoding
def initialize_discussion_chain(txt_file, llm):
    # Load, chunk and index the contents of the blog.
    loader = TextLoader(txt_file, encoding='UTF-8')

On windows system
error ./podcast_20241209140110/host_2024-12-09 14:01:10.452134.mp3
this is because ':' is not allowed in filename
I propose to replace your now by `now = int(datetime.datetime.now().timestamp()) safe for every OS
in audio_gen.py
In the readme, propose to install ffmpeg and add it to the path if not present
I can fork and make a PR if preferred

done, PR is : https://github.com/Azzedde/paper_to_podcast/pull/7

Thanks again, PR merged !


Call OnClientConnectedCallback when Host is created

When StartHost is called, a client is created, right? However OnClientConnectedCallback is not called. Could it be called for completeness?

StopHost doesn't call OnClientDisconnectCallback either

I agree, I think most people would expect this behavior.

I'll let this here in case someone else is trying to figure out how to do it 😄
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using MLAPI;
using MLAPI.Configuration;

public class CustomNetworkingManager : NetworkingManager
{
    GameObject[] spawnPoints;

    void Start()
    {
        spawnPoints = GameObject.FindGameObjectsWithTag("SpawnPoint");
        Singleton.OnClientConnectedCallback += OnClientConnected;
        Singleton.OnServerStarted += ServerStarted;
    }

    void ServerStarted()
    {
        Debug.Log("Server started");

        if (IsHost) {
            OnClientConnected(ServerClientId);
        }
    }

    public void OnClientConnected (ulong clientId) {
        if (!IsServer) return;

        NetworkedPrefab playerPrefab = NetworkConfig.NetworkedPrefabs.Find(item => item.Prefab.name == "Player"); // I could search by Prefab.PlayerPrefab

        // get some spawn point
        Transform spawnPosition = spawnPoints[0].transform;

        GameObject player = Instantiate(playerPrefab.Prefab, spawnPosition.position, Quaternion.identity);

        player.GetComponent<NetworkedObject>().SpawnWithOwnership(clientId);
    }
}

I also ran into this confusing behavior and expected OnClientConnectedCallback to be called when the host is started since it's a client instance.

This is  fixed in develop.
#675


docs: add class component context use example

Description

Changes

Itemised summary
Of all changes made

Checklist

[ ] This PR has updated documentation
[ ] This PR has sufficient testing

Comments

Addition comments for reviewers

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Sending event "Updated Shopify Customer" in an infinite loop

On a fresh install of the app on a cloud posthog instance it runs into an infinite loop where it just updates the same customers over and over again.

@sreeo was wondeirng if you might be able to help us debug this issue a bit?

Looking at the code it might make sense to stop doing updates all together and do this instead:
https://github.com/PostHog/posthog-shopify-sync-plugin/blob/ed801acdd860c4faf1e0c78115e8a1a5d01baac0/index.js#L86-L93
if (customerEmail !== undefined && !customerRecordExists) {
            // to update a user, shouldn't we send properties in $set?
            posthog.capture('Created Shopify Customer', {
                distinct_id: order.customer.email,
                $set : {
                    ...order.customer
                }
            })
        }


Update name of tokens on token list

PR Title

A brief description of changes. If the PR has breaking changes add BREAKING:
to the start of the PR title.

Description
This PR aims to update the token name of the tokens on the token list.

BREAKING:
It was added the name property on the follow function:

addToken - now it receives an object with optional params (name, image)

CHANING:

addTokens

It was created a new function called
updateTokensAttribute - It aims to update the tokens attribute to the tokens that are on the state with the fetched token list.
It was created a new ERC20 standard to get the token name
getTokenName
and the function to call it on Assets Controller
getERC20TokenName
Checklist

[x] Tests are included if applicable
[x] Any added code is fully documented

Issue
Resolves #???

Thanks for the review @mcmire I will address your comments later today

@tommasini Cool, just post another comment when you're ready for review again!

@mcmire @Gudahtt sorry for taking so long on this PR, when you are able please can you take a look on it?


Feature Request [Resource "YAML"] allow condition to only check for existence of a key (and not the value)

Is your feature request related to a problem? Please describe.
Let's consider the following YAML manifest: https://github.com/jenkins-infra/jenkins-infra/blob/958091069665a88a32a72e154e644d55f54e1b71/updatecli/weekly.d/buildmaster-tools.yaml#L70
I would like to add a condition that would check for the existence of the key in the YAML file.
The rationale is that as soon as #60 is implemented, then the execution would not fail when the key does not exist, leading to false positive (the key would be created and updatecli would report a success while the user would want to be notifieed of this as a failure because the YAML was changed recently but not updatecli manifest).
Describe the solution you'd like
Adding a new attribute keyOnly only available on the condition of kind "YAML", that would ignore the value and only check for the existence of the key.
Describe alternatives you've considered

Using a shell condition with the command yq

Additional context
N.A.

That would definitely be usefull, I am pretty sure we could easily detect


No such module: import MapleBacon

Hi there,
I just updated to latest ios 9 xcode 7.0.1 and os x El Capitan.
and pulled the latest MapleBacon from pods.
it no longer sees the MapleBacon as library.
help, please?
tx.

@yanko Sorry to hear that, I'll check this out some time later today

@yanko Which version of CocoaPods are you using? I tried with the current stable 0.38.2 and it works fine

@JanGorman same
vm-####:~ me$ pod --version
0.38.2
I will try again, will remove all the pods and do it from scratch.
Thank you.
p.s. will let you know.

this is what I am getting... will need to research on it.
Target 'MapleBacon' of project 'Pods' was rejected as an implicit dependency for 'MapleBacon.framework' because its architectures 'x86_64' didn't contain all required architectures 'i386'
if by any chance you know about this let me know!
thank you.

Have you tried to set "Build Active Architecture Only" to NO for both the pods project and your app target?

@tapz thank you so much, that seemed to fix it!
@JanGorman thank you also!


Autocomplete doesn't work

Using version 1.0.1. It looks like the autocomplete doesn't work at all, take a look at the video:
https://github.com/tact-lang/tact-vscode/assets/121061747/96c99809-8369-4a47-bbe8-bb65bfce8e6c

Can you create a gist for your code?

import "@stdlib/deploy";
message Add {
    queryId: Int as uint64;
    amount: Int as uint32;
}

contract Sample with Deployable {
    id: Int as uint32;
    counter: Int as uint32;
    init(id: Int){
        self.id = id;
        self.counter = 0;
    }

    receive(msg: Add){
        self.counter = self.counter + msg.amount;
    }

     fun counter(): Int {
        return self.counter;
    }

     fun id(): Int {
        return self.id;
    }
}

Thank you so much!


[NLU-4096] Arabic Date: Written year not resolving correctly

Fixing an issue with Arabic phrases for the written years. For example, the phrase "ألفان وثلاثة وعشرون" (two thousand and twenty three) was being resolved as "2046-01-01". The issue was fixed by removing the extra capturing group from the FullTextYearRegex regex.

Pipeline run: https://jenkins.ininica.com/job/NLU/job/Recognizers-Text/428/

Pipeline run: https://jenkins.ininica.com/job/NLU/job/Recognizers-Text/434/


[FEAT]: Send,edit, delete handler

Issue(s)
#5
Acceptance Criteria fulfillment
This PR implements the functionality for sending, editing, and deleting replies using a block action handler.

[x]  Send Handler and Modal:

Developed a handler to process the send action.
Designed and implemented a modal for sending replies.

[x] Edit Handler and Modal:

Developed a handler to process the edit action.
Designed and implemented a modal for editing replies.

[x] Delete Handler and Modal:

Developed a handler to process the delete action.
Designed and implemented a modal for deleting replies.

Proposed changes (including videos or screenshots)
Screencast from 2024-06-25 02-35-21.webm

Hey @hugocostadev  I made the requested changes.


[SMALLFIX] Refactor to enable multiple HDFS users

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/19212/
Test PASSed.

Talked offline, decided not to do this refactor

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/19215/
Test PASSed.


bump netty version to address security vulnerability

This is to use the latest netty version that fixed the security vulnerability in netty packages.
Having a new release with the latest netty package would be very helpful. Thank you very much.
The security vulnerability report: https://github.com/netty/netty/security/advisories/GHSA-6mjq-h674-j845

Make sure that:

[X] You have read the contribution guidelines.
[ ] You have created a feature request first to discuss your contribution intent. Please reference the feature request ticket number in the pull request.
[X] You use the code formatters provided here and have them applied to your changes. Don’t submit any formatting related changes.
[X] You submit test cases (unit or integration tests) that back your changes.

Any updates/ideas on this issue?

We're always happy to bump versions if we happen to ship a new release. Generally, we avoid pull requests for version increments. Additionally:

We do not use SniHandler because we do not run a server
If you bump the dependency version in your pom/gradle-file, then your project doesn't pull in a netty version with known vulnerabilities.

Understandable. Yes, this is not an immediate security vulnerability. But it is nicer to pay attention to issues found in security scans.
For now, overriding netty-handler dependency can do the workaround. Having a lettuce release with the latest dependencies would be even better. Do you have any ETA on the next release?

@mp911de I would really appreciate it if you could give any estimation of the next release.
Since my questions were answered I will close down this PR.

I scheduled the release for Jul 12.


update training page

this PR https://github.com/kubernetes/website/pull/24014

review page
https://deploy-preview-24892--kubernetes-io-master-staging.netlify.app/training/
add shortcode
/assign @inductor

/lgtm
/hold
But it seems this PR need to change the base branch to dev-1.18-ja.2.
(dev-1.18-ja.2 branch will be created soon)

/unhold

/approve


Bump to version 0.1.3.

Bumping version in order to release 0.1.3 with #49 included.

cc @Amanieu for review?


Add upstream actions runner image template

This change adds an alternate Dockerfile that leverages the upstream actions runner image, and also works with JIT configs.
The entrypoint is mostly copied from the userdata script in garm-provider-common. Still need to clean it up a bit, but it works with both JIT and registration token.

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