Query: cannot move out of query because it is borrowed

I am trying to query the mpd server for songs, but I have a problem with the borrow checker. When I try the following code snippet, the compiler complains. In your corresponding testcase, you have commented out this part. So, how can I add filters to the query object?
Code:
extern crate mpd;

use mpd::Client;
use mpd::search::Term;
use std::env;

fn main() {
    let mut conn = Client::connect("localhost:6600").unwrap();
    let mut query = conn.query();
    query.limit(0, 2);
    let res = query.find(false, false);
    println!("{:?}", res);
}

Compiler says:
main.rs:11:15: 11:20 error: cannot move out of `query` because it is borrowed [E0505]
main.rs:11     let res = query.find(false, false);
                         ^~~~~
main.rs:10:5: 10:10 note: borrow of `query` occurs here
main.rs:10     query.limit(0, 2);

If I leave out the line query.limit(0, 2), I get an error from mpd: Err(Server(ServerError { code: Argument, pos: 0, command: "find", detail: "too few arguments for \"find\"" })). Shouldn't this return all songs?

Database query API is not finished yet. It's not your fault, it's just not working. Sorry.

Thanks for the response. We want to write a small mpc in rust and therefore depend on your library. Are you still planning on implementing the query interface? Are there any other missing feature we need to look out for? If you like, we could try to help in implementing missing pieces.

I'm a little distracted from the project at the moment. The library was for my home use, a hobby project to work in free time, so I wasn't aware it will get such high attention. It's a pleasure to know my work is really useful, thank you! Sure, I had some plans to implement missing bits.
From what I remember, database query API is the only big thing missing (the search module, which includes find, search and list families of MPD commands). I should have created issues here, but I was too lazy, my bad.
The story is, I wanted to provide a good unified API for all music database access, but I couldn't think of a general and ergonomic solution when I was at it. So I just took a break to think about the API better (and to get more Rust experience as well, as I was writing Rust code for relatively small time when I was working on the crate). Then I got distracted by other projects, new job and real life, so I haven't got back to it. Maybe now is the good time to implement missing bits.
And sure, you are very welcome to post PRs! I will be very glad to get any help. Thank you!

For the record, now I envision a unified Query structure independent of Client, which will be effectively a builder for any database query, so Client will have search, list and count methods with the fn foo(&mut self, q: &Query) -> Result<Vec<T>> signature, so crate user will be able to build  a query and run it with a client, like this: client.search(Query::filter("term").offset(10).count(5)).

Sorry for the late response; your idea looks good to me!
I think, it would be good to have different methods for find and findadd because the latter does not require to retrieve the whole list of results from the server prior to adding them to a playlist or the queue. Do you think, it makes sense to have separate methods for find and search or should there be a fuzzy property in the Query struct? Also, do you know whether there is something like searchadd in mpd?

There is indeed searchadd command (http://www.musicpd.org/doc/protocol/database.html).
And as search and find command families are essentially duplicate each other, I'm more inclided to join them up into a single method.
As for findadd method, I'm not sure about it. Maybe a single find method with "add: bool" argument would be better? What do you think?
Also, it seems I'm going to be rather busy these days, as I have a lot of work on my day job, as well as a lot of things to arrange to the Minsk Rust meetup, so if you want to help me with this functionality, I would be very grateful to accept your PRs.

Thanks! Yeah, joining search and find seems like the best option then. Though, I am not totally about findadd/searchadd, as the command really has a different signature: it does not return the result set. Nevertheless, I think I can create a PR from here and then we can discuss details :)

This looks like it has been addressed?


Styling for error pages

I'm trying to fix #46
The pull request is currently just a first draft. I intend to build something
together with you people.
Please take a look at my modified 404 page.
I've started from the HTML for the "Contributing" page  and changed it to make a 404 message. Is this a step in the right direction? I mean... In the visual style sense?

This pull request was sent anonymously through anonydog.
There is a person behind the curtain. But the bot hides the real author.
Anonydog wants to allow people to watch how Github project maintainers behave when they don't know who is behind the keyboard.
But the code is still in its early testing stages. I want to ask you to please spend some minutes trying to identify who is the real author of this pull request. In case you manage to do it, please open an issue with the deanonymization label in the anonydog/anonydog project telling me how did you do it.

I've anonymized your pull request.
My corresponding pull request is number 233 at ruby-bench/ruby-bench-web.

Looks like a very reasonable approach.

Nice to hear that. My main goal was validating the visual style.
I will proceed by cleaning up the HTML code then.

This last commit removes all script tags. I didn't see any difference in the resulting page. Please check.

I am a little unsure about this stylesheet reference, though:
<link
    rel="stylesheet"
    media="all"
    href="/assets/application.self-745519abfad0a8dbde6e0cd8fe1492f9d36e30a9f06a1a1785b8c57805501903.css?body=1"
    data-turbolinks-track="reload"
/>

I guess that the hex identifier gets created by some kind of asset pipeline and may change in the future. Is it safe to refer to it statically like that? Or will it break when someone changes the underlying scss stylesheet?

Here's what I could come up with for fixing the stylesheet reference. I need
feedback about some points, though:

I've added a new gem to Gemfile. Is that ok?

This uses ERB. I see that the rest of the code uses HAML.

I'm currently running rails assets:precompile before starting the webserver. I don't know if that breaks
the deployment pipeline.

noahgibbs said:
Looks like a very reasonable approach. Off the top of my head, not sure we need to explicitly pull in all that JavaScript (example: the HighChart stuff) for a 404 page that clearly won't be doing much. You'd like a 404 to be as bulletproof and simple as possible, so that if something is seriously misconfigured it's less likely to also break.

noahgibbs said:
It'll break when somebody changes the stylesheet. Rails automatically does those for cache-handling.

noahgibbs said:
Looks reasonable to me. @tgxworld?

tgxworld said:
Hmm this is not going to work. Every time we recompile assets, this will break.

noahgibbs said:
Definitely better to use HAML if you need dynamic.
Adding a gem to the Gemfile is normally fine. I looked at the article that the error_page_assets gem was based on - I'm a little surprised it only supports erb (https://www.icelab.com.au/notes/precompiled-rails-static-404-and-500-pages/). Dunno. It does at least look like it's not serving the error pages dynamically, which seems like a bad idea.

tgxworld said:
Also I don't think Turbolinks is available on this page.

tgxworld said:
Style nitpick here, I'll prefer if we can indent the HTML tags so that it is easier to determine how the tags are nested.

I've confirmed it is static. But I currently need to run rails assets:precompile before starting the webserver or else the 404 page will 404 (!). Do we need to dig deeper into that? Or is asset compilation already included in the deployment pipeline somehow?

noahgibbs said:
I believe we already build assets when deploying to production. @bmarkons, can you verify that for me?

bmarkons said:
Yes, here :
https://github.com/ruby-bench/ruby-bench-web/blob/master/deploy/containers/app.yml#L59

Nice to know. I guess the only pending issue is HAML then.
I will spare some time on that and then convert the remaining error pages.

Here are the styled pages for errors 422 and 500.
I couldn't get HAML to work with the asset pipeline. The templates will have to be ERB for the time being.
Please let me know if you have any other suggestions and/or need the commits to be squashed.

bmarkons said:
I think we need to add these to config/initializers/assets.rb for precompilation.

My Rails is a little rusty, so I'll need a little help here.
I've tried adding this to config/initializers/assets.rb:
Rails.application.config.assets.precompile += %w( 404.html 422.html 500.html )

I couldn't see any difference. I still need to run assets:precompile before starting the webserver. And this explicit precompilation step already worked before the change. I'm a little lost on what is the expected behavior.

noahgibbs said:
If you precompile the assets in the initializer, that means that starting the server should be enough to make those assets show up. Unfortunately, just that line won't do it -- adding those to the list of assets to compile only helps if you're actually compiling assets, which doesn't happen by default when you start the server. I'm not sure how you run a Rake task on app startup outside of Rake, nor how you would run the asset precompile without running the Rake task. But presumably you'd need to do one of those two.


Fix coverage and add to build

Description

I fixed the existing coverage commands and added a monorepo command. I also added coverage to the github workflow

Closes #323

@apbendi Bumping in case it was missed


Update init.py

python2/3字符兼容

A new inspection was created.

The inspection completed: No new issues

Current coverage is 73.75% (diff: 0.00%)

Merging #155 into develop will not change coverage

@@            develop       #155   diff @@
==========================================
  Files            28         28
  Lines           987        987
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            728        728
  Misses          259        259
  Partials          0          0

Powered by Codecov. Last update e18989e...383f321

int(time.time()) 会出问题吗？

python3中to_binary这个int的时间戳会挂掉，报一个MemoryError


Remove comparing my_id since it does not exist in class item

The comparison operators of item compares the member variable my_id but this member does not exist in the item class. This change removes this comparison (and keeps the ones that are correct).

The SYCL CTS tests the comparison operators, that's how I found it (it's actually not the only thing that makes the compilation of the item tests fail but the other errors don't seem to have such an easy fix)


ClassCastException from CallbackAdapterInterceptor to EnhancedInstance with spring-kafka

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[x] Bug
[ ] Requirement
[ ] Feature or performance improvement

Bug

Which version of SkyWalking, OS, and JRE?
SkyWalking：v8.4.0, OS: CentOS Linux release 7.4.1708 (Core), JRE: 1.8.0_191, spring-kafka 2.2.6.RELEASE

Which company or project?

What happened?
My code uses KafkaTemplate to send messages to Kafka. The following usages of KafkaTemplate  are used to send messages.

// Without callback
template.send(topic, msg);

// With callback
template.execute(
    (Producer<String, String> producer) -> {
      producer.send(
          new ProducerRecord<>(topic, msg),
          (RecordMetadata metadata, Exception e) -> {
            if (e != null) {
              System.out.println("message sending failed");
            } else {
              System.out.println("message sending succeeded");
            }
          });
      return 0;
    });

agent/logs/skywalking-api.log has the following exception:
ERROR 2021-02-25 20:36:23:117 kafka-producer-network-thread | producer-2 InstMethodsInter : class[class org.apache.kafka.clients.producer.KafkaProducer$InterceptorCallback] before method[onCompletion] intercept failure
java.lang.ClassCastException: org.apache.skywalking.apm.plugin.kafka.CallbackAdapterInterceptor cannot be cast to org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.EnhancedInstance
at org.apache.skywalking.apm.plugin.kafka.CallbackInterceptor.getSnapshot(CallbackInterceptor.java:83)
at org.apache.skywalking.apm.plugin.kafka.CallbackInterceptor.beforeMethod(CallbackInterceptor.java:44)
at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:76)
at org.apache.kafka.clients.producer.KafkaProducer$InterceptorCallback.onCompletion(KafkaProducer.java)
at org.apache.kafka.clients.producer.internals.ProducerBatch.completeFutureAndFireCallbacks(ProducerBatch.java:201)
at org.apache.kafka.clients.producer.internals.ProducerBatch.done(ProducerBatch.java:187)
at org.apache.kafka.clients.producer.internals.Sender.completeBatch(Sender.java:599)
at org.apache.kafka.clients.producer.internals.Sender.completeBatch(Sender.java:575)
at org.apache.kafka.clients.producer.internals.Sender.handleProduceResponse(Sender.java:485)
at org.apache.kafka.clients.producer.internals.Sender.access$100(Sender.java:74)
at org.apache.kafka.clients.producer.internals.Sender$1.onComplete(Sender.java:700)
at org.apache.kafka.clients.ClientResponse.onComplete(ClientResponse.java:109)
at org.apache.kafka.clients.NetworkClient.completeResponses(NetworkClient.java:532)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:524)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:239)
at org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:163)
at java.lang.Thread.run(Thread.java:748)

Possible fix
My guess is that the following branch of KafkaProducerInterceptor.beforeMethod' executed:
            } else if (shouldCallbackInstance instanceof Callback) {
                Callback callback = (Callback) shouldCallbackInstance;
                ContextSnapshot snapshot = ContextManager.capture();
                if (null != snapshot) {
                    CallbackCache cache = new CallbackCache();
                    cache.setSnapshot(snapshot);
                    cache.setCallback(callback);
                    allArguments[1] = new CallbackAdapterInterceptor(cache);
                }
            }

So when CallbackInterceptor.getSnapshot tried to cast cache.getCallback() to EnhancedInstance, a ClassCastException was thrown. One possible fix is to add a type check to CallbackConstructorInterceptor.onConstruct.
    @Override
    public void onConstruct(EnhancedInstance objInst, Object[] allArguments) {
        Callback callback = (Callback) allArguments[0];
        if (callback instanceof EnhancedInstance) {
            CallbackCache cache;
            if (null != objInst.getSkyWalkingDynamicField()) {
                cache = (CallbackCache) objInst.getSkyWalkingDynamicField();
            } else {
                cache = new CallbackCache();
            }
            cache.setCallback(callback);
            objInst.setSkyWalkingDynamicField(cache);
        }
    }

If some committers can give me some guidance, I will try to fix this issue.

Hi, I don't read all of Kafka producer codes, but you should pay attention about why CallbackAdapterInterceptor has been used as a parameter of KafkaProducerInterceptor.
This adapter was added through #4826 due to the Lambda callback, but your callback fails again?

@zifeihan Could you take a look here?

@yaojingguo thanks for report this issue, I may not have noticed that org.apache.kafka.clients.producer.KafkaProducer.InterceptorCallback wraps the callback of the doSend method. Therefore, Lambda callback caused the problem, I suggest modifying CallbackAdapterInterceptor to implement EnhancedInstance, and return callbackCache.getSnapshot() in getSkyWalkingDynamicField. like this,
/**
 * implements Callback and EnhancedInstance, for kafka callback in lambda expression
 */
public class CallbackAdapterInterceptor implements Callback, EnhancedInstance {

    /**
     * user Callback object
     */
    private CallbackCache callbackCache;

    public CallbackAdapterInterceptor(CallbackCache callbackCache) {
        this.callbackCache = callbackCache;
    }

    @Override
    public void onCompletion(RecordMetadata metadata, Exception exception) {
        ContextSnapshot snapshot = callbackCache.getSnapshot();
        AbstractSpan activeSpan = ContextManager.createLocalSpan("Kafka/Producer/Callback");
        SpanLayer.asMQ(activeSpan);
        activeSpan.setComponent(ComponentsDefine.KAFKA_PRODUCER);
        if (metadata != null) {
            Tags.MQ_TOPIC.set(activeSpan, metadata.topic());
        }
        ContextManager.continued(snapshot);

        try {
            callbackCache.getCallback().onCompletion(metadata, exception);
        } catch (Throwable t) {
            ContextManager.activeSpan().log(t);
            throw t;
        } finally {
            if (exception != null) {
                ContextManager.activeSpan().log(exception);
            }
            ContextManager.stopSpan();
        }
    }

    @Override
    public Object getSkyWalkingDynamicField() {
        return callbackCache.getSnapshot();
    }

    @Override
    public void setSkyWalkingDynamicField(final Object value) {

    }

welcome to submit pr for fix this bug, if you don’t have time, I will fix this bug later, @wu-sheng Suggestions are welcome

@zifeihan I will have a try.

I have one question about the following code:
public class CallbackConstructorInterceptor implements InstanceConstructorInterceptor {

    @Override
    public void onConstruct(EnhancedInstance objInst, Object[] allArguments) {
        Callback callback = (Callback) allArguments[0];
        CallbackCache cache;
        if (null != objInst.getSkyWalkingDynamicField()) {
            cache = (CallbackCache) objInst.getSkyWalkingDynamicField();
        } else {
            cache = new CallbackCache();
        }
        cache.setCallback(callback);
        objInst.setSkyWalkingDynamicField(cache);
    }
}

In KafkaTemplateCallbackInstrumentation, CallbackConstructorInterceptor is registerred as constructor interceptor for org.apache.kafka.clients.producer.KafkaProducer$InterceptorCallback. Since onConstruct is called after KafkaProducer$InterceptorCallback's origin constructor invocation, I think that objInst.getSkyWalkingDynamicField() always return null.
Under what conditions objInst.getSkyWalkingDynamicField() is not null?

Could you please give me some help on my above question about getSkyWalkingDynamicField ?
@wu-sheng

Could you please give me some help on my above question about getSkyWalkingDynamicField ?
@wu-sheng

I could only guess, because this plugin is not written by me. Could this call have overloaded constructor? I think @zifeihan know more than I did.

I have one question about the following code:
public class CallbackConstructorInterceptor implements InstanceConstructorInterceptor {

    @Override
    public void onConstruct(EnhancedInstance objInst, Object[] allArguments) {
        Callback callback = (Callback) allArguments[0];
        CallbackCache cache;
        if (null != objInst.getSkyWalkingDynamicField()) {
            cache = (CallbackCache) objInst.getSkyWalkingDynamicField();
        } else {
            cache = new CallbackCache();
        }
        cache.setCallback(callback);
        objInst.setSkyWalkingDynamicField(cache);
    }
}

In KafkaTemplateCallbackInstrumentation, CallbackConstructorInterceptor is registerred as constructor interceptor for org.apache.kafka.clients.producer.KafkaProducer$InterceptorCallback. Since onConstruct is called after KafkaProducer$InterceptorCallback's origin constructor invocation, I think that objInst.getSkyWalkingDynamicField() always return null.
Under what conditions objInst.getSkyWalkingDynamicField() is not null?

@yaojingguo Regarding this code, I agree with you. I think here, objInst.getSkyWalkingDynamicField() is always null. Do you have an environment to simulate it?

Do you have an environment to simulate it?

I can set up an environment. If you can give me the details of the simulation, I am willing to do it.
@zifeihan

if (null != objInst.getSkyWalkingDynamicField()) {
            cache = (CallbackCache) objInst.getSkyWalkingDynamicField();
        }

@stalary Sorry to bother you, I see the author of this code is that you. I think this code is redundant. @yaojingguo for test, You can delete the related problematic code and test kafka-scenario locally. If the test passes, please submit pr, and then perform github ci verification.


Global keyboard shortcut for launching Terminal

Description of the new feature/enhancement

The right-click context menu now already includes a 'Open in Windows Terminal' option by default, which is super handy. Is it possible to attach a global keybind to this action which does the same? I use AutoHotkey to (patchily) achieve a similar behaviour, but an integrated keybind would be nice...
Proposed technical implementation details (optional)

(If this is possible...)
The keybind respects the context as well:

If pressed from a window which doesn't have a 'path' per se, or the path is irrelevant (like a CLSID location) then open at default starting directory.
If pressed in a window with a natural 'path', open at that location.
If terminal already active, bring it to focus.
If in focus, minimize.

Thanks for considering!

The Terminal actually already does have a global hotkey setting - check out the globalSummon action
The other half of you request is presumably tracked over in #10202
/dup #10202
/dup #653
and there's other related issues tracked in #8888


docs: revise how to write contract doc

resolved several confusion places.
polished the words.

@xxuejie   request for review PLEASE


Fill in example parameters instead of using placeholders

Example parameters should probably be filled in using the HTML value property instead of the placeholder property. If someone wants to try out the query with parameters that are not the example ones, then it would be easy for them to delete the example values that are there. But if someone just wants to try out the provided example, they now have to type in the example values themselves, which is more difficult.
My use case is that the parameters for my API are latitude and longitude values. Users generally don't have lat/lngs that they're trying to input when trying out the API. They will likely want to use the defaults, so it would be really nice to have the text auto-filled for them!

defaults are fillled by default, examples are only placeholders. Does that explain what you are seeing currently?

Ah yes, I forgot to mention the defaults! I'm suggesting that we start by filling with defaults. If there is no default value, then fill with an example value (instead of it being only a placeholder).

Examples are examples so it doesn't make sense as a standard to pre-populate these since people will actually use the API. What actually happens is a really bad user experience of having to delete these values every time. And worse, if they forget to delete one it goes to the api like that.
So this won't be changed. That being said, you can automatically fill these in yourself with a small bit of code:
<openapi-explorer @spec-loaded="onSpecLoaded"> </openapi-explorer>

For example populate the user's id into default property to be automatically used:
onSpecLoaded(data) {
  data.detail.tags.forEach(tag => {
    tag.paths.filter(path => path.parameters).forEach(path => {
      path.parameters.forEach(p => {
        p.schema.default ??= p.schema.example;
      });
    });
  });
}


Do not have folder "supervised" for third party

Cloud you please provide this folder for third party? Thank you.

Hi!
The correct path is just "/decoder/utils/..." without supervised in front. I changed the error in setup.sh.
Thanks.


How can i create api in this project?

I want to create api in this project and Im using this approach but this is not working,
import { Controller, Get } from '@nestjs/common'
import { IpcHandle, Window } from '@doubleshot/nest-electron'
import { Payload } from '@nestjs/microservices'
import { type Observable, of } from 'rxjs'
import type { BrowserWindow } from 'electron'
import log from 'electron-log'
import { AppService } from './app.service'

@Controller()
export class AppController {
  constructor(
    private readonly appService: AppService,
    @Window() private readonly mainWin: BrowserWindow,
  ) { }

  @IpcHandle('msg')
  public handleSendMsg(@Payload() msg: string): Observable<string> {
    const { webContents } = this.mainWin
    webContents.send('reply-msg', 'this is msg from webContents.send')
    return of(`The main process received your message: ${msg} at time: ${this.appService.getTime()}`)
  }

  @Get('/hello')
  getHello(): number {
    log.info('Log from the main process')
    return this.appService.getTime()
  }
}

and Im trying to access api using this endpoint, http://localhost:5173/hello

I'll give you a sample code that you can follow my steps to modify the project.

1.Install the http server：

pnpm install @nestjs/platform-express

2.Modified src/main/index.ts

import { NestFactory } from '@nestjs/core'
import { app } from 'electron'
import type { MicroserviceOptions } from '@nestjs/microservices'
import { ElectronIpcTransport } from '@doubleshot/nest-electron'
import { AppModule } from './app.module'

process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = 'true'

async function electronAppInit() {
  const isDev = !app.isPackaged
  app.on('window-all-closed', () => {
    if (process.platform !== 'darwin')
      app.quit()
  })

  if (isDev) {
    if (process.platform === 'win32') {
      process.on('message', (data) => {
        if (data === 'graceful-exit')
          app.quit()
      })
    }
    else {
      process.on('SIGTERM', () => {
        app.quit()
      })
    }
  }

  await app.whenReady()
}

async function bootstrap() {
  try {
    await electronAppInit()

    const nestApp = await NestFactory.create(AppModule)

    nestApp.connectMicroservice<MicroserviceOptions>({
      strategy: new ElectronIpcTransport('IpcTransport'),
    })

    nestApp.startAllMicroservices()

    await nestApp.listen(3000)
  }
  catch (error) {
    // eslint-disable-next-line no-console
    console.log(error)
    app.quit()
  }
}

bootstrap()

3.Add http method decorators in controllers, src/main/app.controller.ts:

import { Controller, Get } from '@nestjs/common'
import { IpcHandle, Window } from '@doubleshot/nest-electron'
import { Payload } from '@nestjs/microservices'
import { type Observable, of } from 'rxjs'
import type { BrowserWindow } from 'electron'
import { AppService } from './app.service'

@Controller()
export class AppController {
  constructor(
    private readonly appService: AppService,
    @Window() private readonly mainWin: BrowserWindow,
  ) { }

  @IpcHandle('msg')
  public handleSendMsg(@Payload() msg: string): Observable<string> {
    const { webContents } = this.mainWin
    webContents.send('reply-msg', 'this is msg from webContents.send')
    return of(`The main process received your message: ${msg} at time: ${this.appService.getTime()}`)
  }

  @Get('/hello')
  getHello(): number {
    return this.appService.getTime()
  }
}

Now you're ready to launch a hybrid app!
nest.js offers a hybrid app pattern, and you can check out its documentation: Hybrid application


RAD-Y1 Capability Statement required?

Section Number RAD-Y1 2:4.Y1.4.3 https://build.fhir.org/ig/IHE/RAD.IMR/RAD-Y1.html#24y143-capabilitystatement-resource)
Issue In RAD-Y1 you say "Receiver shall provide a CapabilityStatement Resource as described in ITI TF-2: Appendix Z.3 indicating the resources associated with an IMR report has been implemented."
-- Isn't the receiver required to support all Resources that can be in a RAD-Y1 Bundle?
-- Isn't it the Sender who might use a CapabilityStatement to indicate that it only supports a subset of the RAD-Y1 requirements?
Proposed Change Require both Sender & Receiver to create a CapabilityStatement
For example, see MHD ITI-65: https://profiles.ihe.net/ITI/MHD/ITI-65.html#236543-capabilitystatement-resource
Priority:

Medium: Significant issue or clarification. Requires discussion, but should not lead to long debate.

That's correct. The CapabilityStatement section is a TODO in Y1 and Y3.

ok; I will close this issue


Add Micronaut OpenAPI generator server guide

@sdelamo I started generating the model files automatically using dependancy to OpenAPI Generator core. Could you take a look at the current implementation and refactor if needed.?
I suppose it is best if build.gradle and pom.xml files are generated like before, therefore I run the OpenAPI generator before everything. This however has the disadvantage, that application.yml cannot be automatically generated as it would be overwritten. But I guess it is part of a larger question of also using OpenAPI generator in starter, and this should be fine for now.

@sdelamo I started generating the model files automatically using dependancy to OpenAPI Generator core. Could you take a look at the current implementation and refactor if needed.?

It is looking good!

I suppose it is best if build.gradle and pom.xml files are generated like before, therefore I run the OpenAPI generator before everything. This however has the disadvantage, that application.yml cannot be automatically generated as it would be overwritten. But I guess it is part of a larger question of also using OpenAPI generator in starter, and this should be fine for now.

I have done a commit to remove every file generated by the open api generator but the source files:
https://github.com/micronaut-projects/micronaut-guides/pull/728/commits/a4825b40dfca6b792080a9ba623509756d9e039c
We have to revisit the Micronaut open api generator to see if we can tweak the application.yml which we are currenlty geneator. I want to understand the Jackson features we are adding by default.

@andriy-dmytruk
I've created a PR to 3.3.1 https://github.com/OpenAPITools/openapi-generator/pull/11569


Configuration

Hi, I installed the extension and tried to use it in a Javascript project with ESLint config, but there seems to be no linting executed. Do I need to configure something to get it to work?

https://github.com/jsmecham/nova-eslint/pull/6#issuecomment-695075250


Query On Multipathing

I was looking at something to provide a way for multi path udp. I came across Glorytun, But i have few query to confirm:
a) Does it provide the multi-path feature across available multiple interface like Multipath TCP provides?
b) how does it select the interface to be used to establish the tunnel and include in multi path list?

Hi,
Yes, glorytun allows you to use all your paths like mptcp,
you can add or delete a path with the command glorytun path.
Note that you have to configure all interfaces in the same way as with mptcp.

Thank you for your reply on this!!
how can i remove a degraded path from the list? what is the exact command?

you just down it:
glorytun path <IP_ADDRESS> down

Next release will fully remove a down path after server sync.

Okay!!
Thanks!!


Deprecate nuxt-prisma until 31.01.2023

Describe the feature
We'll deprecate this nuxt-layer in favor of "natively" integrating prisma: Integrating it is quite easy and just requires a couple of files + the layers approach we chose here still has serious flaws:

setting the prisma middleware precedence requires an extra impl to mess with layer order, see: https://github.com/nuxt/nuxt.js/issues/13367
typing is broken / not correctly transpiled in some cases: https://github.com/sidebase/nuxt-prisma/issues/5
pnpm problems with layer at the moment: https://github.com/sidebase/nuxt-prisma/issues/4

These flaws are all serious / annoying and not easily resolved. Their overhead does not justify the existance of this small layer with just 2 files. So instead we integrated the necessary files and configuration directly into create-sidebase. To use prisma with Nuxt 3 run:
# also works with `yarn`, `pnpm`
npm create sidebase@latest

Then select Merino and then Prisma ORM and you are good  to go!
To properly deprecate this layer we will:

[x] start deprecation by updating the behavior of create-sidebase: https://github.com/sidebase/create-sidebase/pull/5
[x] recommending create-sidebase to get started with projects that need prisma in the readme here.
[x] close all open issues with  a notice and reference to this issue
[x] deprecate nuxt-prisma in cheviot (https://github.com/sidebase/sidebase/pull/92)
[ ] deprecate the repo on the 31.01.2023

Sorry for this (sad) information -> if you want to I can have a look at your setup to help you setup prisma correctly in your project ❤ Just let me know here or on discord: https://discord.gg/NDDgQkcv3s
Additional information
No response

removing it from docs now: https://github.com/sidebase/docs/pull/87


Supporting deterministic signatures

BBS Signatures as defined in academic literature are non-deterministic in nature. In general non-deterministic digital signatures can be difficult from an implementation perspective due to their dependency on a sound RNG. It causes complexities around confirming implementation correctness because the RNG often has to be mocked or seeded in a particular way. There is the potential to modify the signature construction in this draft to make signatures deterministic, @mikelodder7 could you share your proposal for this?
The main questions I think we as a WG should be asking are:

Do we want deterministic signatures?
Do we want to take on the scope of deterministic signatures in the current draft?
Given we are deviating from academic literature, what security proofs do we need?

My suggestion is this:
u512() is a function that converts 64 bytes as a 512-bit number.
For regular signing:
inputs:

base order q
secret key x
messages mi,...,mn

hasher = SHAKE256(x, mi, ..., mn)
e = uint512(hasher.read(64)) % q
s = uint512(hasher.read(64)) % q
finish as normal

For blind signing:
inputs:

base order q
secret key x
known_messages mi,...,mn
commitment U

hasher = SHAKE256(x, U, mi,...,mn)
e = uint512(hasher.read(64)) % q
s = uint512(hasher.read(64)) % q
finish as normal

I like this method, but a comment from here worries me, i.e., "Performing a simple modular reduction would induce biases that would be detrimental to signature security"
Is this something that we will have to also worry about?

This method already addresses the bias by pulling double the bytes. See https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-hash-to-curve-13#section-5.1.

The bias is something to be aware of, but this method handles it properly.

FYI, this is how it should be done with a single signer context. Threshold signing should not be restricted to this since all sorts of attacks can happen with deterministic signing.

Currently covered in #62

Closing with the merging of #62, resolution was to include this, initial test vectors conforming to this approach have been added in #67


Warning "Failed to save: ... Cache already exists"

When several jobs are triggered and they all use the same cache key, all except the quickest one of them may raise warnings (see for instance this job log:

Warning: Failed to save: Unable to reserve cache with key setup-texlive-action-..., another job may be creating this cache. More details: Cache already exists. Scope: ..., Key: ..., Version: ...

When the number of jobs in a workflow increases the summary page will be filled with such distracting warnings.
Maybe the log level of such warning can be downgraded, as actions/setup-go does （I should find more cases in actions/setup-* actions...）, see the similar info log in a job log, step "Post Set up Go".

Thanks for the quick fix! From this job log, I can confirm the same message is not given as a warning.


[ALLUXIO-1970] Use double-checked locking in BlockStoreContext#initializeLocalBlockWorkerClientPool instead of synchronized

https://alluxio.atlassian.net/browse/ALLUXIO-1970

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/10163/
Test PASSed.

@saltylin Have you seen experiments where the synchronized method is a performance issue? It seems like double-checked locking can be tricky: http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html

Hi @gpang This change also brings no performance as #3402. Let me just close it.


It should be possible to save a ModelViewEditor

Currently save of the editors created using ModelView is not supported. This feature should be enabled since there are lots of scenarios where we want to render content that's not "just" a text file, and then save it.

Closing out older issues. Please reactive if this is impacting an extension under active development.


Jetstream bench publisher ack timeout for publishAsync batch is 1 second

Get the error : JS PubAsync did not receive a positive ack while running nats bench for jetstream
Command. : nats bench test --js --pub 10 --msgs 1000000 --pubbatch 1500 --size 100 --storage file --replicas 3
`11:57:13 Starting benchmark [msgs=1,000,000, msgsize=100 B, pubs=10, subs=0, js=true, storage=file, syncpub=false, pubbatch=1,500, pull=false, pullbatch=100, request=false, reply=false, noqueue=false, maxackpending=-1, replicas=3, nopurge=false, nodelete=false]
11:57:13 Deleting any existing stream
11:57:13 Purging the stream
11:57:13 Will delete the stream at the end of the run
0s [>---------------------------------------------------------]   4%
0s [>---------------------------------------------------------]   4%
1s [=>--------------------------------------------------------]   6%
1s [=>--------------------------------------------------------]   6%
1s [=>--------------------------------------------------------]   6%
1s [>---------------------------------------------------------]   4%
1s [=>--------------------------------------------------------]   6%
1s [=>--------------------------------------------------------]   6%
1s [=>--------------------------------------------------------]   6%
1s [>---------------------------------------------------------]   4%
11:57:15 JS PubAsync did not receive a positive ack`

@jnmoyne I tried with new changes and now I see bench not exiting even though all pub-sub complete 100%.. the subs stay in receiving state thereafter.
 The problem in question has been identified and is not related to natscli. nats-server 2.4.1 will fix that issue.


load local files..

Hi ..
I have more than 100 UIButton created view a loop .. I'd like to set images for them from LOCAL application bundle .. i used :
    [btn setImageWithURL:[NSURL<EMAIL_ADDRESS>               placeholderImage:[UIImage<EMAIL_ADDRESS>
with no success .. so what is the correct way to do that ..

could you please any methods for loading images from Document Directory

We don't have support for loading images at certain paths. But a way to work around that is to load the image from whatever directory (in this case Documents) using for instance UIImage imageWithContentsOfFile, and then directly store it into our system using SDImageCache storeImage. After that, you will be able to use it as if it was downloaded.

@SerhiiMatvieiev Indeed the image would be stored twice. And cache gets cleared (see the SDImageCacheConfig settings. I was offering a workaround, as the requested feature does not exist and I don't see it being implemented.


Wizard Step Component

Add a component that identifies the progress being made through a sectioned and stepped wizard or process.

Breakout into horizontal and vertical variants
Allow multiple sections, each with a tracking of progression
Allow validation to bubble into the display (e.g. green for good, red for error)

Pushing vertical variant, not sure it's necessary.


Kubernetes - Conductor with replication set to 3

@v1r3n - If we configure to run conductor in 3 pods of the same kubernetes cluster pointing to the same dynamodb & es engine and start a workflow through one conductor instance, wont the "same" task be picked up by other conductor instances and schedule causing duplicate execution of the task by workers?
I am trying to understand how I can configure conductor on kubernetes to scale out.

Conductor relies on the underlying store to "discover" instances, so if there are multiple nodes connected to the same underlying redis store, they all will pick up tasks - However, Conductor is a distributed orchestration engine, it ensures there are no duplicate task execution scheduled.
Refer to the dyno queues blog on how we achieve this:
https://medium.com/netflix-techblog/distributed-delay-queues-based-on-dynomite-6b31eca37fbc
(Dyno queues is underlying queuing mechanism by which conductor schedules the task execution)

Thank you 👍


Expose MTProto Methods, which are used by Bot API anyway

Hi there!
This issue is basically a follow up on a few comments from #1 (here, here, here), but as that's closed and discusses a lot of other topics, I'm opening a new issue.
What I understand from above comments: MTProto exposes some methods to Bots, while not directly exposing them through the Bot API, because the Bot API uses them internally. Not all of what MTProto provides via those methods is useful for bots.
My question would be, if it would be possible to fully expose those methods through the Bot API or at least reevaluate which of those can be useful for bots. Specifically, in the usergroup of python-telegram-bot, we get many questions on how to access a message by chat- and message_id. This is currently not possible through the Bot API, while getMessages is accessible by bots.
If I'm getting this all wrong, please correct me. Otherwise I'd be happy for a short response or - ideally - a future extension of Bot API.
Cheers!
A happy Bot API user :)

Exposing getMessage method will affect all the methods, which uses it internally, breaking a lot of other methods when flood limits are exceeded. Flood limits for direct usages of the method aren't increased for bots, so they will exceed the limits very fast.
From the other side, bots receive replied and other context messages directly in updates. There is no place in Bot API where bot receives a message identifier without the message except respose of the method copyMessage (which is intentional) and the field Message.forward_from_message_id (where both messages are exactly the same). If the bot received a message identifier previously, it can save all the needed data along with message identifier. Accessing local data is much more efficient then sending a request to Bot API and it isn't subject to flood limits.

Thanks for the fast reply!

Flood limits for direct usages of the method aren't increased for bots, so they will exceed the limits very fast.

Just to clarify: Your point is that using getMessage will lead to hitting flood limits quickly, because there are many other methods that use it internally?
If that the case: Okay, I see the point. On the other hand, users need to care about flood limits anyway.

Accessing local data is much more efficient then sending a request to Bot API and it isn't subject to flood limits.

True. However, there certainly are use cases, where you would only need to call getMessage once in a while, or only do very few of such calls (like getting the message, the reply_to_message was a reply to for very specific updates). In those cases, keeping a local database would require much more effort than just accepting to make one more request.
Also, there is currently no proper way to know if a message was already deleted or not: You can try-except copyMessage or sending a reply to it, but that will lead to a new message, if it in fact still exists. try-excepting getMessage would be much cleaner.
A similar problem is checking if a user has blocked the bot, btw (currently one has to try-except sendChatAction or getUserProfilePictures, if the user should not be pinged in case of success). I'm not too familiar with MTProto, but my guess would be, that this info is somehow available, and it would be a great help, if it was exposed through the API.

Your point is that using getMessage will lead to hitting flood limits quickly, because there are many other methods that use it internally?

Yes. Also, not only getMessage requests will fail, but a lot of other requests depending on getMessage, such as deleteMessages or sendMessage with reply_to_message_id, will fail too.

However, there certainly are use cases, where you would only need to call getMessage once in a while, or only do very few of such calls (like getting the message, the reply_to_message was a reply to for very specific updates).

Bots receive all message edits, so it shouldn't need to call getMessage to receive current state of a message.
Bots receive all replied messages, to this shouldn't be a case either.

Also, there is currently no proper way to know if a message was already deleted or not:

True, but check of message existence by constant regetting of all the messages wouldn't work anyway. Such approach needs enormous number of requests and will immediately lead to exceeding of flood limits.

A similar problem is checking if a user has blocked the bot.

There are no reasons to know that except some statistics. It doesn't matter how often bot checks whether user blocked it, it must handle 403th error, because user can block the bot in-between the check and a request. Bots just need to properly handle 403th error for send message requests.

I'm not too familiar with MTProto, but my guess would be, that this info is somehow available, and it would be a great help,

No, this information isn't available. Moreover, only bots receive an error and non-bots has no way to know that the other user blocked them.

All right, thanks for the detailed replies. From my point of view, getMessage would still be convenient for some use cases, but I can totally understand that if you don't to expose them with the risk of users requesting increased flood limits.
Apart from the two examples getMessage and bot-was-blocked, the intend of my original post was to have a general look, if some useful information can be exposed by methods allowed for bots anyway. E.g. the Pyrogram docs list that via MTProto bots can retrieve the whole chat members list of either public or private chats and get updates on e.g. user name changes.
Anyway, I'm happy to have the already great Bot API and the updates it already gets. It just seemed to me that it was worth asking, if double checking if some more helpful info could be exposed is an option :) Feel free to close, if you disagree on that.

I suggest method getChatUsers, And support pagination.

@Muaath5 Bots should use chat_member updates instead.

@Muaath5 Bots should use chat_member updates instead.

@levlam
Why bots should store all updates? It's bad that almost all bots needs a database.

@Muaath5
Its much worse to fetch the whole chat member list all the time.

I'd like to add that bots are not always added on chat creation and thus can't know about users that are already in the chat. (The (my_)chat_member updates are awesome btw 🙂 )

@Bibo-Joshi Bots aren't supposed to have access to past events. For example, this is never needed to handle chat_member or my_chat_member updates.

IMHO there is a difference between "past event" and "current state". E.g. get_chat existed before the (my_)chat_member updates existed, so you could/can get the current state without tracking the event. I guess the main point again is, that this info is avaible for bots anyway (through MTProto), so exposing the info through the Bot API doesn't imply that bots would get additional permissions.


Replace deprecated collections.Iterable with collections.abc.Iterable

This deprecation expires in python 3.10

@ltalirz BTW, I'm currently working on reviving #29 for testing aiida-fleur and aiida-kkr workflows for aiida-core 2.0. So it might be nice to now also allow aiida-core 2.0 in the main branch

Thanks, @janssenhenning!


Remove the dependency of bitcoin.sh

Removed the dependency of bitcoin.sh. But it requires an additional library ecdsa.

Thanks for the PR!


Make ledger reconstruction asynchronous

Remove @tizoc's temporary solution for making ledger reconstruction asynchronous. Now that ledger operations are handled by a LedgerManager in separate thread, it is sufficient to request the ledger reconstruction without blocking and have an event notify the state machine that it's ready.

Remove staged_ledger_reconstruct_result_store function, moving its functionality to staged_ledger_reconstruct
Make calls to staged_ledger_reconstruct non-blocking
Make the LedgerManager send out the appropriate event when ledger is reconstructed.

Closing as similar change is included in this pr: https://github.com/openmina/openmina/pull/362


Migrate PackageDescription4 to Codable

This is heavily influenced by @aciidb0mb3r 's previous WIP work. The only source-breakage in here is that Dependency is now final. I thought it was an omission so I added it. I'm happy to remove it if necessary.
The plan is to migrate PackageDescription3 to Codable once this PR is merged.

@swift-ci please smoke test

It should be possible to merge this once https://github.com/apple/swift-package-manager/pull/1859 is merged. I'll rebase this PR and open a new one. Thanks for working on this @hartbit!

opened: https://github.com/apple/swift-package-manager/pull/1860


"carousel" doesn't work if we set up a slide divided by 3 items

Describe the bug
if you set the slide with 3 elements (or in any case greater than 1) the component is not able to go forward from slide to slide.
To Reproduce
Demo code: https://jsfiddle.net/vincenzo_hpo/18pgrdm7/6/

Hey @KinG-InFeT - this should be fixed with the new v2.3 release.

Hey @KinG-InFeT - this should be fixed with the new v2.3 release.

sfortunately no, this is same example with latest public release (2.2.1) https://jsfiddle.net/vincenzo_hpo/18pgrdm7/7/ , same problem

v2.3 is not live yet, but the changes are commited on the main branch.

v2.3 is not live yet, but the changes are commited on the main branch.

so before closing the task we first want to check with the example whether the bug has been resolved or not? shall we wait for him to publish version 2.3 so as to update the example with the bug and, if it has been resolved, close the task? so we are sure

Re-opened before the publish has been made.

Release has been made public https://flowbite.com/docs/components/clipboard/

sfortunately no, this is same example with latest public release (2.2.1) https://jsfiddle.net/vincenzo_hpo/18pgrdm7/7/ , same problem

sfortunately the bug persist with new release 2.3 https://jsfiddle.net/vincenzo_hpo/18pgrdm7/7/ , same problem


change order field - [closed]

In GitLab by @liyanq528 on Jul 6, 2018, 09:34
Merges 20180628 -> dev

In GitLab by @wknet123 on Nov 13, 2019, 11:14
The test coverage for backend is 23.8%  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:14
The test coverage for backend is 23.8%  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:14
The test coverage for backend is 23.8%  ,The test coverage for frontend is 38.11   , check  consolse log

In GitLab by @wknet123 on Nov 13, 2019, 11:14
closed


Add override file for slow API calls allowance

This is to make it possible for 1.17 jobs to override the default value of ALLOWED_SLOW_API_CALLS which is set to 0 in density and load configs.
For the record: PR with slow API calls improvement cherry-pick in release-1.17: https://github.com/kubernetes/perf-tests/pull/1370.
/sig scalability
/cc mm4tt

Can we instead name the variable CL2_ALLOWED_SLOW_API_CALLS so it can be set via env variable?

Can we instead name the variable CL2_ALLOWED_SLOW_API_CALLS so it can be set via env variable?

We could, but it'd need backporting https://github.com/kubernetes/perf-tests/pull/921. I could give it a try soon, as that would make lots of future backports a bit easier.

Closing this PR, as we've backported CL2_* env var handling to release-1.17 in #1391 to enable slow API calls in a bit more convenient fashion.


Bump ZooKeeper to 3.4.14 [1.12]

High-level description
This bumps DC/OS' ZooKeeper from version 3.4.13 to version 3.4.14.
Corresponding DC/OS tickets (obligatory)
https://jira.mesosphere.com/browse/DCOS_OSS-4988
Checklist for all PRs

[x] Added a comprehensible changelog entry to CHANGES.md or explain why this is not a user-facing change:
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[ ] Read the DC/OS contributing guidelines
[ ] Followed relevant code rules Rules for Packages and Systemd

@mesosphere-mergebot label Ready For Review

Please update / change the title of this PR.


cache_redis-package-bundle

here below the CircleCI Pipeline link : it launches the workflow "standalone_release_replay" in dry-run mode, the newly added/modified job in this pipeline is "d_cache_redis_package_bundle"  used in order to "upload the zip files generated by the artifactory in the gravitee.download"
https://app.circleci.com/pipelines/github/gravitee-io/gravitee-resource-cache-redis/85/workflows/085424ea-b3a2-423b-839f-69f9313973e6
Link to the S3 bucket : https://gravitee-dry-releases-downloads.cellar-c2.services.clever-cloud.com/index.html#graviteeio-apim/plugins/resources/gravitee-resource-cache-redis/
Link to the slab documentation : https://gravitee.slab.com/posts/gravitee-resource-cache-redis-waqbc049

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

1.0.1
GitHub release

Your semantic-release bot :package::rocket:


Invalid argument: Could not parse example input

When step of training reaches about 1140, there is a parse problem which seems to be related to .tfrecordfile.
Error type: UnicodeDecodeError: 'utf8' codec can't decode byte 0xaf in position 40: invalid start byte
The corresponding tfrecord file is ./data/coco/record/coco_train2014_00000-of-00040.tfrecord
Do you encounter the same problem? @CharlesShang
W tensorflow/core/kernels/queue_base.cc:294] _0_input_producer: Skipping cancelled enqueue attempt with queue not closed
Traceback (most recent call last):
  File "test/resnet50_test.py", line 137, in <module>
    run_metadata=run_metadata)
  File "/home/santis/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 767, in run
    run_metadata_ptr)
  File "/home/santis/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 965, in _run
    feed_dict_string, options, run_metadata)
  File "/home/santis/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1015, in _do_run
    target_list, options, run_metadata)
  File "/home/santis/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1022, in _do_call
    return fn(*args)
  File "/home/santis/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1004, in _run_fn
    status, run_metadata)
  File "/home/santis/anaconda2/lib/python2.7/contextlib.py", line 24, in __exit__
    self.gen.next()
  File "/home/santis/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/errors_impl.py", line 465, in raise_exception_on_not_ok_status
    compat.as_text(pywrap_tensorflow.TF_Message(status)),
  File "/home/santis/anaconda2/lib/python2.7/site-packages/tensorflow/python/util/compat.py", line 84, in as_text
    return bytes_or_text.decode(encoding)
  File "/home/santis/anaconda2/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xaf in position 40: invalid start byte

Hi @santisy. I got the same error, seems (ultimately) caused by a large input. Updating to tensorflow 1.1.0rc1 and installing the patched version of the python protobuf library (https://www.tensorflow.org/versions/r0.12/get_started/os_setup#protobuf_library_related_issues) seems to fix the issue.

Thank you @tweedmorris . It does seem to solve this problem.

after i upgrade tf to 1.1.0rc2 and upgrade protobuf...
it shows:
2017-04-20 18:11:49.563798: W tensorflow/core/framework/op_kernel.cc:1152] Invalid argument: indices[0] =<PHONE_NUMBER>579820651 is not in [0, 4)
2017-04-20 18:11:49.584574: W tensorflow/core/kernels/queue_base.cc:294] _0_input_producer: Skipping cancelled enqueue attempt with queue not closed

and after I switch tf1.0 to tf1.1, it becomes normal.... so many magic problems...


Stream.asyncMap() calls [convert] only once per event

The description of method dart:async:Stream.asyncMap() reads:

Stream<E> asyncMap<E>(
dynamic convert(
T event
)
)
Creates a new stream with each data event of this stream asynchronously mapped to a new event.
This acts like map, except that convert may return a Future, and in that case, the stream waits for that future to complete before continuing with its result.
The returned stream is a broadcast stream if this stream is.

The description of Stream.map() reads:

...
The returned stream is a broadcast stream if this stream is. The convert function is called once per data event per listener. If a broadcast stream is listened to more than once, each subscription will individually call convert on each data event.

The following sample code counts number of calls to convert:
import "dart:async";

Map<Object,int> convertLog = new Map<Object,int>();

dynamic convert(Object event) {
  convertLog[event] = 1 + convertLog.putIfAbsent(event, () => 0);
  return event;
}

Future<List> subscribe(Stream stream) {
  Completer<List> completer = new Completer<List>();
  List received = [];
  stream.listen(
      (event) {
        received.add(event);
      },
      onDone: () {
        completer.complete(received);
      }
  );
  return completer.future;
}

Future check(Stream<T> stream, List expected) {
  Stream converted = stream.asyncMap(convert);
  Future.wait([
    subscribe(converted),
    subscribe(converted),
    subscribe(converted)
  ]).then(
      (List<List> result) {
        print(convertLog);
      }
  );
}

main() {
  Stream stream = new Stream.fromIterable(['a', 'b', 'c']);
  check(stream.asBroadcastStream(), ['a', 'b', 'c']);
}

Output

dart.exe  --checked test.dart
{a: 1, b: 1, c: 1}

Expected output:

dart.exe  --checked test.dart
{a: 3, b: 3, c: 3}

Dart VM version: 1.23.0 (Fri Apr 21 03:13:00 2017) on "windows_x64"

The issue is still exists. Retested on Dart VM version: 2.9.0-19.0.dev (dev) (Thu Jun 25 10:48:31 2020 +0200) on "windows_x64"  with NNBD enabled
Example adopted to NNBD
import "dart:async";

Map<Object,int> convertLog = new Map<Object,int>();

dynamic convert(dynamic event) {
  convertLog[event] = 1 + convertLog.putIfAbsent(event, () => 0);
  return event;
}

Future<List> subscribe(Stream stream) {
  Completer<List> completer = new Completer<List>();
  List received = [];
  stream.listen(
      (event) {
    received.add(event);
  },
      onDone: () {
        completer.complete(received);
      }
  );
  return completer.future;
}

Future? check(Stream<dynamic> stream, List expected) {
  Stream converted = stream.asyncMap(convert);
  Future.wait([
    subscribe(converted),
    subscribe(converted),
    subscribe(converted)
  ]).then(
      (List<List> result) {
        print(convertLog);
      }
  );
}

main() {
  Stream stream = new Stream.fromIterable(['a', 'b', 'c']);
  check(stream.asBroadcastStream(), ['a', 'b', 'c']);
}

This behavior was something we hoped to change with Dart 2.0, but it didn't make the cut. Changing it is potentially a breaking change, but I do hope to get it through eventually.

This behavior was something we hoped to change with Dart 2.0, but it didn't make the cut. Changing it is potentially a breaking change, but I do hope to get it through eventually.

@lrhn It's time of Dart 3.0 now but the issue stil exists. May be it makes sense to change  Stream.asyncMap documentation according to the current behavior? https://dart-review.googlesource.com/c/sdk/+/340402 does this. Please review

Yes. We should update the documentation to document what's going on.
Should we ever manage to change it, we can update the documentation agaiun.

Documentatin has been updated. Now the current behavior is according to the spec. Closing this issue


CAShapeLayer: strokeStart, strokeEnd, fillColor properties animation

Hi, in this PR I've added an initializer, with a CALayer, to IFTTTAnimation and 3 IFTTTAnimation subclasses to animate:

CAShapeLayer.strokeStart
CAShapeLayer.strokeEnd
CAShapeLayer.fillColor

Here's an example animation for strokeEnd (from 1 to 0) and fillColor (from blue to clear):

Coverage decreased (-3.73%) to 37.04% when pulling 9a03973542a801e7ca3e369e4425d68bf2ae70f3 on pNre:CAShapeLayer into 932ea8740a2c8c343cda72359a73a12b0a8e737a on IFTTT:master.

+1 hope this gets merged!

+1 this is awesome!. Please merge this request.

This looks awesome, thanks for contributing! (and sorry for the delay!)

@coveralls Could you please provide an example if how to use it?


Automated cherry pick of #3301: fix: 修复华为云ucloud安全组同步问题

Cherry pick of #3301 on release/2.11.
#3301: fix: 修复华为云ucloud安全组同步问题

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@0e7312d). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.11   #3303   +/-   ##
==============================================
  Coverage                ?   7.14%
==============================================
  Files                   ?     476
  Lines                   ?   77215
  Branches                ?       0
==============================================
  Hits                    ?    5514
  Misses                  ?   71238
  Partials                ?     463

Flag
Coverage Δ

#aFlag
7.14% <0%> (?)

Impacted Files
Coverage Δ

pkg/multicloud/ucloud/securitygroup.go
0% <0%> (ø)

Continue to review full report at Codecov.

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

/lgtm

/approve


Consolidate all proto files into a single directory

We currently have many similar but slightly different proto files scattered across the project.
Move all of them into src/proto, and resolve differences.
Protos in question:

[ ] src/csharp/Grpc.Examples/proto/math.proto
[ ] src/csharp/Grpc.HealthCheck/proto/health.proto
[ ] src/node/health_check/health.proto
[ ] src/node/test/echo_service.proto
[ ] src/node/test/math/math.proto
[ ] src/node/test/test_messages.proto
[ ] src/node/test/test_service.proto
[ ] src/objective-c/examples/RemoteTestClient/empty.proto
[ ] src/objective-c/examples/RemoteTestClient/messages.proto
[ ] src/objective-c/examples/RemoteTestClient/test.proto
[ ] src/objective-c/generated_libraries/RemoteTestClient/empty.proto
[ ] src/objective-c/generated_libraries/RemoteTestClient/messages.proto
[ ] src/objective-c/generated_libraries/RemoteTestClient/test.proto
[ ] src/objective-c/generated_libraries/RouteGuideClient/route_guide.proto
[ ] src/php/tests/generated_code/math.proto
[ ] src/php/tests/interop/empty.proto
[ ] src/php/tests/interop/messages.proto
[ ] src/php/tests/interop/test.proto
[ ] src/python/grpcio_health_checking/grpc/health/v1alpha/health.proto
[ ] src/python/grpcio_test/grpc_interop/empty.proto
[ ] src/python/grpcio_test/grpc_interop/messages.proto
[ ] src/python/grpcio_test/grpc_interop/test.proto
[ ] src/python/grpcio_test/grpc_protoc_plugin/test.proto
[ ] src/ruby/bin/math.proto
[ ] src/ruby/pb/grpc/health/v1alpha/health.proto
[ ] test/cpp/qps/perf_db.proto
[ ] test/cpp/util/echo.proto
[ ] test/cpp/util/echo_duplicate.proto
[ ] test/cpp/util/messages.proto
[ ] test/proto/benchmarks/control.proto
[ ] test/proto/benchmarks/payloads.proto
[ ] test/proto/benchmarks/services.proto
[ ] test/proto/benchmarks/stats.proto
[ ] test/proto/empty.proto
[ ] test/proto/messages.proto
[ ] test/proto/test.proto

The Python files are separate so that we can enable running our tests from within the project package (because it seems that's what most tools in the Python ecosystem expect to happen). Symlinks are still out of the question. It's still unclear how we'll be able to address out-of-tree protos without some arbitrarily, uh, silly games with the Python package tooling. Or having the Makefile copy the protos into the Python project-package tree. Or... any number of other things.

I asked a similar, though maybe poorly worded question, about how to handle Python packages in the protobuf mailing list, but have yet to receive a reply https://groups.google.com/d/msg/protobuf/ckHBqWhAm20/83cYJqhhAwAJ

@mlumish, can we get rid of the remaining .proto files for node?

@makdharma  can we get rid of the remaining .proto files for objective-c?

Related #526.

The two proto files currently in the Node directory exist specifically for the Node tests, and aren't related to any other protos in the repository. I don't really see a reason to move them into src/proto, and I would prefer to keep them in src/node so that I can change them freely without worrying about someone else using them.

@murgatroid99 sounds fine for test_messages.proto and test_service.proto. How about  src/node/health_check/health.proto and and echo_service.proto?

Sorry, I didn't notice those the first time I looked at the list. That copy of health.proto no longer exists, so I've checked it off the list. echo_service.proto also seems to be a Node-test-specific file, because it only exists in src/node/test. And it was written specifically to test a certain functionality related to Protobuf.js.

PHP is currently not actionable (no proto3 support). Filed a separate issue FTR #6362

I filed a set of language-specific issues that can be addressed separately and I'm going to close this one.


Edit: Add codelens shortcuts

Description

This PR:

Adds keyboard shortcuts to common Edit codelens actions (Accept, Retry, Undo, Cancel)

These shortcuts are only enabled when an Edit is in an active actionable state, and it is in a visible document. This will help reduce the risk of these shortcuts becoming an annoyance if a user doesn't use Edit much.

Updates "Retry" text to show "Edit & Retry"

Test plan
Single edit:

Create an edit
Try undo/retry/save shortcuts

Multiple edit (actions nearest edit):

Create multiple edits
Try undo/retry/save shortcuts and confirm that they only trigger against the nearest edit to the cursor position

Shortcut enablement:

Create an edit
Leave the file
Try undo/retry/save shortcuts. Confirm nothing happens
Return to the file
Try undo/retry/save shortcuts. Confirm they work

@toolmantim

When an edit is running, the cancel shortcut (opt-z) doesn't seem to work

Fixed

Can we move Show Diff to the end?

Done. Do you think we should include a shortcut for it too?

I tested out a few different labelling formats (see below), I think #2 is the best (parentheses) — wdyt?

Agree. Updated

Can we hide the generic Cody Code Lenses if we have edit code lenses, so we don't get the double up seen in the below?

@toolmantim I looked briefly into this. I think we can do this but it'll be a follow up PR and require some refactoring of the Cody codelens so we can easily hide this for a location within a particular document.
I think we should also consider what to do about this codelens first. It's disabled by default so we should either enable it fully or rethink how we show it so we can enable it by default


Please provide sample app.

Please provide code for a sample app that implements search using this library.

No, it was removed as it was out of date

You can check the sample code in README.md. Not all features are written there, but the most common ones are written. If you want to know about the other features, you should check the source code itself.

If you use the third party library then you should be able to do almost everything by yourself. The library is very simple  so you do not need whole sample for it.


add resource name in a string

My resource name contains hyphens (-). I can only use underscore (_) character for a name in Python. I do a hack like this:
PATH = 'http://localhost:8000/api/v1/'   # (the real url should be: http://localhost:8000/api/v1/conf/)
response_post = api.conf("pdus-oid2").post(pdu.dict)
response_delete = api.conf("pdus-oid2/" + response_post["_id"]).delete()
whereas "pdus-oid2" is the name of the resource. Thus, I reckon you should add a possibility of adding a resource name in a string.

After I have wandered to this page, I have found my solution to this problem. Using getattr can do it. The
response = getattr(zmenteto_api.forms, "post-files").post(photo_json)

works for me just fine.

Now I have found even better (much more readable) solution:
zmenteto_api.forms.__call("post-files").post(photo_json)

It also solves problem with API endpoints on reserved keywords like delete.


[FEATURE REQUEST] Structured log output (JSON lines, ideally)

Currently, the output format is line-based, but to parse it, you need to split it based on whitespace separators. This isn't a huge problem, but it's not the cleanest way to programmatically analyze with large collections of output files, for the purpose of eliminate "uninteresting" findings- e.g. results that are similarly sized, but not exactly the same- generic responses with some small amount of varing content, like the URL itself, or a unique transaction id or log/error id
It would be great if log output could be written in line-based NDJSON format. This allows for much quicker, cleaner and mistake-free loading of the files into the language of your choice for doing automated analysis on a large set of output files. In python, for example, you can read the lines, use split() on them, and then manually name the fields, or keep them as a tuple with the column values in them. It would be preferred to simply load a JSON file. This is especially useful for error conditions, which are a little exceptional in their formatting compared with successful outputs
An alternative of course is just parsing the line-based output using either regex or primitive whitespace splitting- this isn't by any means impossible or even difficult, but it takes some trial and error to handle exceptional lines that may not be common (or you can just ignore these lines)
Just to clarify, I realize this is not something as useful for looking at a single output file as it is for looking at a large collection of outputs from a parallelized batch during a large penetration test that may have output from 1000 or more sites- this use-case is similar to what I described in #123
Thoughts?
Thanks again!

Structured logging has been something I've wanted to do, but haven't prioritized yet.
When you do analysis on results from these kinds of scans, do you ever need/want the error output?  I'm assuming you're really only concerned with actual results that haven't been filtered out by one or more options to feroxbuster.
I like being able to put trace/debug output to a file (mostly for me, lol).  That functionality could be moved to a --debug-log and the structured logging could be implemented as kind of a dual option thing:

--output somefile --output-type json
--output somefile --output-type text

what do you think?

Structured logging has been something I've wanted to do, but haven't prioritized yet.

I can relate.. only so much time in a day

When you do analysis on results from these kinds of scans, do you ever need/want the error output? I'm assuming you're really only concerned with actual results that haven't been filtered out by one or more options to feroxbuster.

Generally I'm not too interested in the specifics of the errors- e.g. which exact URL caused an error. Though it's nice to see sometimes if you're running something in the console, just curious about what's going on, and maybe trying to identify a bug or misbehavior. This kind of contradicts the issue I entered in #125 earlier today, but that's mainly because today is my first experience with feroxbuster and am just interesting in getting a feel for it and seeing if I can spot anything it's doing well, but could do better with a small change.
As far as tracking errors at a high level- especially when running as part of a continuous process, with hundreds or thousands of endpoints, and keeping the data time-serie/snapshot style in a database, with roughly the same collection of inputs- it's very nice to have good tracking of counts/metrics of specific types of errors. This is just for the purpose of comparing them over time.
Even (or maybe especially) if the error data is just an aggregate/set of metrics dumped at the end of the run- it would be nice to know for each individual scan at its conclusion things like (just from the hip):
n requests timed out
n requests had connection refused
n requests encountered a disconnect
n requests encountered invalid SSL protocol data
n requests encountered invalid HTTP protocol data
n requests redirected and had general failure at the redirect
n requests redirected and timed out
n requests redirected fan connection was refused
n requests resulted in status code X
n requests resulted in status code Y
...

Probably your reaction to this giant laundry list is "are you nuts?" - to which I kind of wonder the same thing sometimes.... BUT, my philosophy is if you're going to add the infrastructure in the code to track any metrics, you might as well track as many as is reasonably possible, unless there are adverse efects. Again though, keep in mind, my ideas here come very much from the perspective of running feroxbuster as more of an active snapshot/monitoring tool than as a one off recon/sweep tool against a specific (and usually different) set of targets each time. I keep the output from the tools I use for this process indefinitely and after a while it often becomes possible to mine interesting data from things that (in isolation) seem to be just pedantic or noisy
Another thing that I think is important (sorry, I wrote this before reading your next question) is doing as good a job as possible at keeping errors caused by the local system or the application itself labeled/categorized separate from target errors. Sometimes it isn't possible to identify the application as the cause of an error (e.g. disconnects) but for error conditions within the application, it's really useful to know about them separately from the usual set of errors that occur when hammering websites that may be broken in some way, under-resourced, or behind an active WAF
I think the short answer to your question is in general, nah, I'm not interested in individual detailed errors- it's just too much data, and there's rarely much that you can do with it. But I am interested in collecting the aggregate/summary of each type of error/result at the end of the scan. Right now I'm really just doing very dumb parsing of the output to look at in a big batch to see how it might be most useful to store, and to evaluate how effective the tool is (I've already concluded it's very effective, btw- really the best at this that I've seen, and something I was waiting for as a natural progression from gobuster)

I like being able to put trace/debug output to a file (mostly for me, lol). That functionality could be moved to a --debug-log and the structured logging could be implemented as kind of a dual option thing:

--output somefile --output-type json
--output somefile --output-type text

what do you think?

Maybe not what you're asking, but my opinion on the semantics, I prefer -o<format> <filename> just because it's less clunkier (e.g. -oJ output.json, -eJ error.json, -dJ debug.json, -tT - ... which is how a few other tools are doing this as I think you know (massdns, masscan, etc.) but with just a little more logical separation between the categories. Maybe an option to send all to one file if you want to. Anything with - would just stream/flush the full free-text content in real-time to stdout or stderr, which may be what you want when you're testing or sitting and watching a scan at the terminal.
On the topic of trace/debug output- would you consider performance data to be debug and/or trace output? Or maybe something separate? That's one thing that I think is useful both for development/debugging as well as just tracking performance over time, which might help users who are tracking that data over time to find bugs for you. Ideally the aggregated version of this data that gets spewed out at the end of the scan would be categorized/labeled so different types of events/measurements can be analyzed/processed/stored logically separate
At the end of the day, in my opinion, the implementation would be some basic infrastructure in the code that lets your individual threads increment per-thread counters (probably within a hashmap, or several hashmaps, keying on the category/type of metadata/event) as the scan runs, and then at the end of the run, some logic to aggregate them and output them in a clear structured way at the end, into separate files where it makes sense. I'm assuming that each of the threads is either long-lived, or has a way to safely write its data to a central data structure before it dies (without causing anything to block, to avoid killing the performance)

preview of json output
{"type":"configuration","wordlist":"test","config":"/home/epi/.config/feroxbuster/ferox-config.toml","proxy":"","replay_proxy":"","target_url":"https://bitdiscovery.com","status_codes":[200,204,301,302,307,308,401,403,405],"replay_codes":[200,204,301,302,307,308,401,403,405],"filter_status":[],"threads":50,"timeout":7,"verbosity":3,"quiet":false,"output":"things3","user_agent":"feroxbuster/1.7.0","redirects":false,"insecure":false,"extensions":[],"headers":{},"queries":[],"no_recursion":false,"extract_links":false,"add_slash":false,"stdin":false,"depth":4,"scan_limit":0,"filter_size":[],"filter_line_count":[],"filter_word_count":[],"dont_filter":false}
{"type":"log","message":"set open file descriptor limit to 8192","level":"DEBUG","time_offset":0.000423907,"module":"feroxbuster::utils"}
{"type":"log","message":"Writing scan results to things3","level":"INFO","time_offset":0.001456711,"module":"feroxbuster::reporter"}
{"type":"log","message":"Starting scan against: https://bitdiscovery.com","level":"INFO","time_offset":0.58131415,"module":"feroxbuster::scanner"}
{"type":"response","url":"https://bitdiscovery.com/api","status":301,"content_length":173,"line_count":10,"word_count":16,"headers":{"content-length":"173","referrer-policy":"origin-when-cross-origin","connection":"keep-alive","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","access-control-allow-headers":"X-Requested-With","date":"Sun, 22 Nov 2020 02:30:07 GMT","content-security-policy":"default-src 'none'","access-control-allow-origin":"https://bitdiscovery.com","content-type":"text/html; charset=UTF-8","location":"/api/","server":"nginx/1.16.1","strict-transport-security":"max-age=31536000; includeSubDomains","x-frame-options":"SAMEORIGIN"}}
{"type":"log","message":"static wildcard: filtered out https://bitdiscovery.com/api/api","level":"DEBUG","time_offset":1.0270598,"module":"feroxbuster::filters"}
{"type":"log","message":"All scans complete!","level":"INFO","time_offset":1.0279808,"module":"feroxbuster"}

Maybe not what you're asking, but my opinion on the semantics, I prefer -o  just because it's less clunkier (e.g. -oJ output.json, -eJ error.json, -dJ debug.json, -tT - ... which is how a few other tools are doing this as I think you know (massdns, masscan, etc.) but with just a little more logical separation between the categories.

Unfortunately, the parsing library i use doesn't allow short options that use more than a single letter -oJ and friends are verboten :disappointed:.  I wanted to use double short options for some other stuff and found clap doesn't support it.

It would really be awesome if we could get a simple json output of the results. I'm currently using grep and gron to get ffuf's json output to this format, because i'm trying to integrate with an automation platform. Personally, the reason why I am using the output log feature, I don't need all of that extra noise, configuration details, messages, etc.

That's what it'll end up being (although compressed/not pretty).  The logs and config stuff will be in a debug log and only response messages will be in the output file. That's what you're saying, right ?

preview of json output
{"type":"configuration","wordlist":"test","config":"/home/epi/.config/feroxbuster/ferox-config.toml","proxy":"","replay_proxy":"","target_url":"https://bitdiscovery.com","status_codes":[200,204,301,302,307,308,401,403,405],"replay_codes":[200,204,301,302,307,308,401,403,405],"filter_status":[],"threads":50,"timeout":7,"verbosity":3,"quiet":false,"output":"things3","user_agent":"feroxbuster/1.7.0","redirects":false,"insecure":false,"extensions":[],"headers":{},"queries":[],"no_recursion":false,"extract_links":false,"add_slash":false,"stdin":false,"depth":4,"scan_limit":0,"filter_size":[],"filter_line_count":[],"filter_word_count":[],"dont_filter":false}
{"type":"log","message":"set open file descriptor limit to 8192","level":"DEBUG","time_offset":0.000423907,"module":"feroxbuster::utils"}
{"type":"log","message":"Writing scan results to things3","level":"INFO","time_offset":0.001456711,"module":"feroxbuster::reporter"}
{"type":"log","message":"Starting scan against: https://bitdiscovery.com","level":"INFO","time_offset":0.58131415,"module":"feroxbuster::scanner"}
{"type":"response","url":"https://bitdiscovery.com/api","status":301,"content_length":173,"line_count":10,"word_count":16,"headers":{"content-length":"173","referrer-policy":"origin-when-cross-origin","connection":"keep-alive","x-xss-protection":"1; mode=block","x-content-type-options":"nosniff","access-control-allow-headers":"X-Requested-With","date":"Sun, 22 Nov 2020 02:30:07 GMT","content-security-policy":"default-src 'none'","access-control-allow-origin":"https://bitdiscovery.com","content-type":"text/html; charset=UTF-8","location":"/api/","server":"nginx/1.16.1","strict-transport-security":"max-age=31536000; includeSubDomains","x-frame-options":"SAMEORIGIN"}}
{"type":"log","message":"static wildcard: filtered out https://bitdiscovery.com/api/api","level":"DEBUG","time_offset":1.0270598,"module":"feroxbuster::filters"}
{"type":"log","message":"All scans complete!","level":"INFO","time_offset":1.0279808,"module":"feroxbuster"}

each line is a json entry, making it NDJSON (as far as i know... lol).
can be parsed in python by splitting on the newlines
[json.loads(x) for x in Path('things3').read_text().splitlines()]

Looks good to me- aside from loading in Python (or whatever language) JSON and line-based JSON can be searched and transformed in the shell very neatly with jq which is a a huge time-saver and much nicer than grep, cut, awk, sed, etc..
Looking forward to checking this out, thanks!

Also, if you could include only the path, and remove the host, that would be awesome. Not just including the match from the wordlist, because when you start going recursive you wouldn't have the complete path to that location.
But with the awesome feature you have that looks for links in a documents, lets say you find a link thats referencing a location on a subdomain, that would have to be an exception to that.

Also, if you could include only the path, and remove the host, that would be awesome. Not just including the match from the wordlist, because when you start going recursive you wouldn't have the complete path to that location.
But with the awesome feature you have that looks for links in a documents, lets say you find a link thats referencing a location on a subdomain, that would have to be an exception to that.

So, given this example output
{
   "type":"response",
   "url":"https://localhost.com/api",
   "status":301,
   "content_length":173,
   "line_count":10,
   "word_count":16,
   "headers":{
      "content-length":"173",
      "referrer-policy":"origin-when-cross-origin",
      "connection":"keep-alive",
      "x-xss-protection":"1; mode=block",
      "x-content-type-options":"nosniff",
      "access-control-allow-headers":"X-Requested-With",
      "date":"Sun, 22 Nov 2020 02:30:07 GMT",
      "content-security-policy":"default-src 'none'",
      "access-control-allow-origin":"https://bitdiscovery.com",
      "content-type":"text/html; charset=UTF-8",
      "location":"/api/",
      "server":"nginx/1.16.1",
      "strict-transport-security":"max-age=31536000; includeSubDomains",
      "x-frame-options":"SAMEORIGIN"
   }
}

I understand your request to be the addition of the following
...
    "path":"/api",
...

Is that what you mean by path?

@epi052 I will just let you know now to anticipate exceptional cases- there are some broken servers (usually they're load-balancers as you might guess) that will respond with same header name on two different lines (and even two different values), e.g.:
...
HTTP/1.1 200 OK
...
Server: bah123
Server: bah456
...

This is not *common* but against very large target lists, it happens. You'll have to either overwrite the first instance of the header with the second given that the output is implemented as a map/hash/dict.

The way `zgrab2` handles this is by treating each header *value* as a list- which is a bit annoying to deal with, but I guess their priority was being fully lossless (different kind of tool, different purpose)

Just an FYI, I don't feel too strongly about how this is handled since it's such an edge case and `feroxbuster` isn't meant to be a general purpose HTTP data gathering tool- I consider this data an added bonus. For all I care it can be lossy and the last occurring header with a duplicate name can just overwrite the prior ones.

As far as duplicate headers, that's not something I manually manage.  The reqwest library (and hyper underneath) does all that heavy lifting.  The headers i get back are in essentially a hashmap, so i suspect the most recently seen will overwrite the former. If you have a reliable test case to throw it against, let me know the results!

Got it. I will pick out a test case at some point and see how it goes. Good to know it's abstracted so you don't worry about it, though I'm curious how it will handle it

Wanted to put a note in here- really nice job with the structured output- I especially like the line count and word count. Post-processing is soooo much simpler without having implement your own fuzzy matching on strings and/or content-length, and the data in the new output format solves that. Thanks!

Glad it's working out well, thank you!


namespace can not contains digit letter.

If namespace contains digit letter. generate will throw error. I find the regular expression about namespace is  ns:[a-zA-z.]+  in grammar.peg file. Should we change it to ns:[a-z0-9A-z.]+? Do you think the namespace word contains digit letter is normal.

Why not use Identifier instead of [a-zA-z.]+, like ns:Identifier, The thrift idl spec also use Identifier.

Good call. Thanks for reporting this.


Pachd Pod doesn't run during setup on local Mac OSX

Hey!
I am trying to play around with this and during the setup when I run:
make launch-dev
It seems to waits on pachyderm daemon:
until timeout 1s ./etc/kube/check_pachd_ready.sh; do sleep 1; done
error: error executing jsonpath "{range .items[*]}{@.metadata.name}:{range @.status.conditions[*]}{@.type}={@.status};{end}{end}": conditions is not found
No pods found yet```

```kubectl get pods``` shows:

`NAME                   READY     STATUS    RESTARTS   AGE`
`etcd-0nnil             1/1       Running   0          7m`
`k8s-etcd-<IP_ADDRESS>     1/1       Running   1          5m`
`k8s-master-<IP_ADDRESS>   4/4       Running   7          7m`
`k8s-proxy-<IP_ADDRESS>    1/1       Running   1          7m`
`pachd-2le6d            0/1       Running   2          6m`
`pachd-h322l            0/1       Running   1          6m`
`rethink-34j43          1/1       Running   0          6m`

I am running OSX with docker-machine (with the port forwarding). I'd really appreciate any help on resolving this or a pointer to look into more in depth.

Thanks!

Hi @SoheilSalehian really sorry you ran into this.
I think this will fix your problem:
make clean-launch
make docker-build
make launch

The problem is that you're using the latest version of the manifest but it's pulling down the 1.0 version of the container which isn't compatible. make docker-build will build containers from HEAD which will then be used when you do make launch. Lmk if this doesn't fix it.

Thanks a lot for the prompt response @jdoliner. That fixed it. And I have the simple toy tutorial running now.

@SoheilSalehian awesome!! Glad that worked.


auth: Add a proper re-authentication flow for dangerous actions.

Currently if you want to view your API key, you need to enter your password. However, if you made an account with google auth, you won't have a password, so you instead have to create a password for the explicit purpose of getting access to your API key.
The solution is to have the auth for API key be a reauthentication flow that allows you to auth with google auth, ldap, or however you normally authenticate.
You can access the current flow at the bottom of https://chat.zulip.org/#settings/your-account
This is a somewhat tricky change, suitable for someone with experience developing for Zulip.

I've updated this title to account for the fact that it should also cover actions that are irreversible without contacting support -- namely, deactivating one's own account, and deactivating the organization.


Re-enable hOpenPGP and hopenpgp-tools

Closes https://github.com/fpco/stackage/issues/2665.

@clinty, I tried to follow up from https://github.com/fpco/stackage/issues/2665 but I am seeing the following bounds issues which stop these packages from getting re-enabled.
template-haskell-<IP_ADDRESS> is out of bounds for:

[ ] ixset-typed-0.3.1 (>=2.8 && < 2.12). No maintainer. @well-typed. Used by: library
[ ] safecopy-<IP_ADDRESS> (< 2.12). No maintainer. @acid-state. Used by: library, test-suite

time-<IP_ADDRESS> is out of bounds for:

[ ] safecopy-<IP_ADDRESS> (< 1.7). No maintainer. @acid-state. Used by: library, test-suite

Argh.

Relevant issues: https://github.com/acid-state/safecopy/issues/57 , https://github.com/acid-state/safecopy/pull/56 , https://github.com/acid-state/safecopy/pull/55 , https://github.com/well-typed/ixset-typed/issues/6

Since https://github.com/fpco/stackage/issues/2665 is closed, I'm closing this one off.

Thanks for the reformatting.

Well, based on https://github.com/fpco/stackage/issues/2665#issuecomment-324723491, let's just give this a try again.

:cake:


Module build failed: Error: "extract-text-webpack-plugin" loader is used without the corresponding plugin

PS D:\Projects_BK\BKWeiXinClient> npm run dev

><EMAIL_ADDRESS>dev D:\Projects_BK\BKWeiXinClient
> webpack-dev-server --inline --progress --config build/webpack.dev.conf.js
                                                                                46% building modules 304/304 modules 0  75% advanced
Build completed in 25.754s

ERROR  Failed to compile with 27 errors                                                                                13:58:59

error  in ./src/pages/seal/apply-list.vue

Module build failed: Error: "extract-text-webpack-plugin" loader is used without the corresponding plugin, refer to https://github.com/we
bpack/extract-text-webpack-plugin for the usage example
    at Object.pitch (D:\Projects_BK\BKWeiXinClient\node_modules\extract-text-webpack-plugin\dist\loader.js:57:11)

 @ ./src/pages/seal/apply-list.vue 2:2-614
 @ ./src/router/index.js
 @ ./src/main.js
 @ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/main.js

i am the new user for atom,i want to run application with vue and webpack,when i use cl run dev server with platformio-ide-terminal,and the error occured above,but when i use other ide like webstorm  or cmd  on windows 10 ,app can run normally and auto-open-browser,any idea for this error?

Please anyone , solved this issue please ?

Just the same for me!

The problem persists. It's frustrating to have a terminal and not be able to use it!

Resolved
Add in Auto Run Command of the Platformio Ide Terminal settings:
$env:NODE_ENV="development"

Please retest again with platformio-atom-ide-terminal 2.9.0.
These type issues all so far seem fixed with this release due to using node-pty-prebuilt instead unmaintained and outdated pty.js
if issues persist open a new ticket with required information.
Thx =)


video player in special coverage

Coverage decreased (-0.1%) to 85.258% when pulling 67569eafb50328b461732c0a9264035320acf609 on special-coverage-video into ea309f7e0de48a16decc056b6fc39ac39f3dd18a on master.

Coverage decreased (-0.1%) to 85.258% when pulling 67569eafb50328b461732c0a9264035320acf609 on special-coverage-video into ea309f7e0de48a16decc056b6fc39ac39f3dd18a on master.

Coverage decreased (-0.1%) to 85.258% when pulling 67569eafb50328b461732c0a9264035320acf609 on special-coverage-video into ea309f7e0de48a16decc056b6fc39ac39f3dd18a on master.

@mparent61 @MichaelButkovic @benghaziboy @spra85 @jmelvnsn
Ready for review plz.

👍

👍