Scaling to multiple agents

Thanks for creating this easy to use environment for urban scenarios.
I wanted to use this environment for multi agent learning. Currently, single agent learning is supported. Are there any plans for scaling it up for multi agents?

Hi @Achin17
I'm not really familliar with the multi-agent setting.
It's easy to create a scene with many controllable vehicles, but I'm not sure how to interface the environment to handle multiple observations/actions. Does it simply amount to having a product spaces of N observations, and N actions concatenated ?

For now, yes I am looking for a product spaces of N observations, and N actions concatenated. I think I have found a workaround for this. Thanks!

For now, yes I am looking for a product spaces of N observations, and N actions concatenated. I think I have found a workaround for this. Thanks!

Sorry to ask here in a closed issue. Did you do multi-agent setting? I'm looking for the same thing.

Hello Isaac,
(nice to see you here, I've been following your twitter and medium post with great interest!)
No, I haven't investigated the multi-agent setting yet myself, but I am very open to adding the support, since it appears to be a popular request.

Hello Isaac,
(nice to see you here, I've been following your twitter and medium post with great interest!)
No, I haven't investigated the multi-agent setting yet myself, but I am very open to adding the support, since it appears to be a popular request.

Thank you. So I can start to work on this. I really couldn't find a good simulator for self-driving cars with such diverse scenarios. I think I can consider this simulator as my main env for my research.
To discuss about it and add this feature, do you think we can continue here or create a new issue?

Yes, let's simply reopen this issue.
The way I see it, the main steps necessary for this feature are:

[ ] Replace the ego-vehicle field env.vehicle by a list of vehicles env.controlled_vehicles.
[ ] Define a MultiAgentObservation type and MultiAgentAction type, which takes a standard observation/action configuration as input and produces the corresponding observation/action for each controlled vehicle. The corresponding spaces could be defined either as tuples or as dicts (which map vehicle indexes to obs or actions)
[ ] Update the vehicle creation methods in each environment to accept an arbitrary (<= vehicle count) number of controlled vehicles. Replace their behavioural model (e.g. IDMVehicle type) by the vehicle class of the corresponding action space (e.g. MDPVehicle).

Do you have some additional insights / requirements?

Thank you for the mentioned features. I think for vehicles it is good to have the option to select the agents to be rule-based (IDMVehicle) or to be controlled by a trained policy (MDPVehicle). Maybe some of them are rule-based and some not. One question about IDMVehicle is that I see some collision between agents, is there any way to reduce these collisions?
The other question that I have is: Do the agents act at the same time-step? For example in petting zoo the agents act sequentially and are not completely synced, which I think is not good. I think we don't have this problem in highway env, right?
The other point about multi-agent RL is when to terminate the episode?!

We can consider the time limitation for one episode and when each agent reaches its target we reset it to the initial location, or stop it there or go out of the scene and just set the existence flag in other agents' observation to zero.
We can also reset the env when one learning agent has collision or go out of the road (which I think is not the case here but for continuous action space it is possible to go out of the road). Because we want all the agents to reach their target safely and if one of them collides, we reset the episode.

I think we will face some other problems too.

1- One question about IDMVehicle is that I see some collision between agents, is there any way to reduce these collisions?

The IDM/Mobil are only suited for straight roads, and the scheduling/avoidance mechanism I added for intersections is quite rudimentary, see #76 If collisions are too problematic, a smarter scheduling method will have to be implemented (e.g. traffic lights).

2-The other question that I have is: Do the agents act at the same time-step? For example in petting zoo the agents act sequentially and are not completely synced, which I think is not good. I think we don't have this problem in highway env, right?

Yes,

env.step() starts with first loop over vehicles to run their internal decision making / control process, through vehicle.act().
Once all steering/throttle controls have been set, the vehicle states are updated through a second loop of (decoupled) vehicle.step().

3- Another question: What is the algorithm you used for the intersection gif in the readme? Is it stable baseline DQN? Or it is the social attention method from your paper?

I think it was the social attention policy. I'm sure it can be implemented in stable baselines DQN with a custom policy architecture.

4- The other point about multi-agent RL is when to terminate the episode?!
We can consider the time limitation for one episode and when each agent reaches its target we reset it to the initial location, or stop it there or go out of the scene and just set the existence flag in other agents' observation to zero.

I think simply having a time limitation for termination is great. I like your proposals when agents reach their targets, it can also be the case that agents do not have targets and simply keep driving (depending on the environment of course). And if an agent has a collision, it can get a terminal penalty and other agents will be able to keep training for the rest of the episode. But sure, we may as well reset the whole env upon collision of any agent, why not.

5- About spawning vehicles, I try not to spawn any other vehicle but I cannot. I set initial_vehicle_count to zero, or one or two, but again I see a lot of other vehicles. I also don't know some equations in the _spawn_vehicle() function. The longitudinal value that you pass into that function for example.

Sorry for the insufficient documentation here. initial_vehicle_count controls how many vehicles are on the scene initially, but then other are created by _spawn_vehicle() at each step() with a given spawn_probability. You may set this configuration to a lower value. The longitudinal parameter controls the position of the created vehicles on their lane (higher is closer to the intersection center).

6- The other question is about the step() function. When I add another ego_vehicle, the episode length becomes very very short, and I need to change the duration from 13 to sth like 300 to be able to finish the episode and reach the target. What happens in this situation? Isn't one step of all vehicles synced? or maybe I'm doing sth wrong.

I am not sure what you did, actually, but it seems to have caused some strange side effect? Maybe you played with the policy_frequency configuration?

Thanks for the answers. I'll check them. I just used a simple DQN but it seems it's not suitable. As you mentioned in the paper and also based on the code, the order of observations will be sorted at each time step and the network cannot learn sth useful from it. I try to use a spatial grid or your social attention model. But first I need to be sure that the env works.
for Q6, I didn't change anything. Couldn't find the reason yet. I will push the code and make a pull request. Then you can check if I'm doing sth wrong.

I started development of this feature on the  dev-multiagent branch

I also pushed my codes in marl branch in my fork. Do I need to make a pull request?

Thank you for the feedback. In test_ma.py I use sum(done) to reset env. All agents have the same done flag because it is based on episode length, but for some more general cases that the done flags are different (if we change the _is_terminal() function). I will do what you mentioned.
And the gif is trained using your social attention method again, right? it's nice.
So how can I continue to collaborate now? I'm sure you know the codes better and your implementation is cleaner and more general.

Thank you for the feedback. In test_ma.py I use sum(done) to reset env. All agents have the same done flag because it is based on episode length, but for some more general cases that the done flags are different (if we change the _is_terminal() function). I will do what you mentioned.

Then the problem is probably caused by the condition if self.done or is_terminal() in _simulate(): this condition will pass with the returned [False, False] value, meaning that only one single time step will be simulated rather than 15 for each action.

And the gif is trained using your social attention method again, right? it's nice.

Aha no, it is actually a cherry-picked collision-free run with a random policy. But I'll train a social attention policy as soon as the remaining issues are fixed:

So how can I continue to collaborate now? I'm sure you know the codes better and your implementation is cleaner and more general. I will try to follow the same pattern.

The branch is almost ready to be merged, I only need to sort out some remaining questions:

Should all environments be configurable as multi-agents, or should we have multi-agent variants of each environment (like you did)?
How should done and rewards be defined? Probably as tuples, like you did, but this will not be compatible with default wrappers from openai gym (e.g. Monitor/Stats Recorder, which expect a float reward rather than a tuple).
It is probably fine if it is only for multi-agent variants, though.

Should all environments be configurable as multi-agents, or should we have multi-agent variants of each environment (like you did)?
I think your code is much cleaner. I merged it into my own fork and will continue based on that. I like to add some other capabilities like setting start and end position for ego agents for example which is simple. But I think the way you did is better.

How should done and rewards be defined? Probably as tuples, like you did, but this will not be compatible with default wrappers from openai gym (e.g. Monitor/Stats Recorder, which expects a float reward rather than a tuple).
It is probably fine if it is only for multi-agent variants, though.

I think it is possible to have separate rewards (local rewards) for each agent, instead of having a total reward. For example in DeepDrive-Zero env, each agent has its own reward. In particle environments from openai, usually, a team has a global reward. In multi-walker environment, agents can have both a local or team reward. I think for self-driving tasks like this, the local reward is fine, similar to what is at the moment. using self-play and shared weights between agents and also some sort of centralized training, they can learn to cooperate.
About the wrappers, you are right. I have the same problem with Monitor wrapper for multi-agent version. I wanted to modify it for Multi-agent setting but didn't have time yet. Maybe this weekend.
Suggestion: If we consider the episode length as the only factor to terminate the episode, we can have one single done value. And we can also return the sum of all rewards as reward and return the reward for each agent separately in info. It Is also possible to concatenate all the obs and action in one tensor like a single-agent RL and just use the number of learning agents, maybe from info to separate them outside of the environment. I think all of these can be done by a wrapper. I mean we can do everything in a standard way, separate obs, action, reward, done, and then write a wrapper to convert the multi-agent env to a single-agent env, as I explained above, and then use the wrapped env as input to the Monitor wrapper.

I like to add some other capabilities like setting start and end position for ego agents for example which is simple.

Feel free to open a PR 😃

It Is also possible to concatenate all the obs and action in one tensor like a single-agent RL and just use the number of learning agents, maybe from info to separate them outside of the environment

Yes, for the observation and action it is working already by returning tuples, since there is rarely an assumption on their shapes. I think the main issues are with the reward & done variables, which are often expected to be float and bool respectively in most RL frameworks.
I like your suggestion, but I think it should be the other way round:

the default framework is single-agent (cooperative reward), so that it does not break traditional RL pipelines.
but we add local rewards/done signal to the info field
we can add a MultiAgentWrapper that returns theses tuples directly.

Yes, it seems good. The single reward value would be sum of local rewards, right?
The user will handle what he wants outside of the env.

Yes, it seems good. The single reward value would be sum of local rewards, right? The user will handle what he wants outside of the env.

Right. I will finish this dev and merge the branch soon.

sounds great. I see that you updated the code too. thanks

There it is.

I think the branch is ready to be merged, even if the feature is not 100% finished. There mostly remains:

Add multi-agent support for all environments (rewards and terminal states must account for every controlled agent)
Add documentation

It looks amazing. The right values are for actions, right? all the green cars are trained separately? any weight sharing?
I think at least having one sample environment would be enough and users can do the same thing for other environments. I can do that also.

Yes, the left pane shows the estimated Q-values for the 1st controlled vehicle, and the green cars all share the same policy.

Hi @eleurent , was this feature merged with the main branch? I am trying to control 2 vehicles by setting the controlled_vehicles parameter as 2 in the config for highway-v0 environment. I am also using continuous action space. The observation space is perfect but the action space is of type Box(2,). It is my understanding that this represents the steering and throttle for one controllable vehicle. I am not able to figure out how to control the other vehicle. Please let me know how to resolve this

Hi @eleurent , was this feature merged with the main branch? I am trying to control 2 vehicles by setting the controlled_vehicles parameter as 2 in the config for highway-v0 environment. I am also using continuous action space. The observation space is perfect but the action space is of type Box(2,). It is my understanding that this represents the steering and throttle for one controllable vehicle. I am not able to figure out how to control the other vehicle. Please let me know how to resolve this

I was able to resolve this. For anyone else looking for multi-agent control config, Here is the code I used. (Adding this since there are no docs on this yet.)
env.configure({     "action": {         "type": "MultiAgentAction",         "action_config": {                         "type": "ContinuousAction"                           }     },     "controlled_vehicles": 2,     "vehicles_count": 0,     "absolute" : True })
The step call would be of the form: env.step((ac_car_1, ac_car_2)) where ac_car_1 and ac_car_2 are the individual actions for car 1 and car 2 respectively. (The step function expects tuple of action spaces)

Well done for working this out @parvkpr, and sorry for the lack of documentation yet, I'll fix it as soon as possible.

Hi @eleurent, thank you! Can you help me out with setting locations of ego cars? I need them to be in the same lane. Should I open a new issue for that?

Should I open a new issue for that?

Yes please :)

Hi @eleurent , I have opened #111 for my use case as suggested.

@eleurent The trained multi-agent scenario looks great! Just a conceptual question (I might've missed it): Do your multiple agents all take actions simultaneously in each step or in some sequential order?
I'd expect that a large difficulty in multi agent is the variance resulting from other agent's actions. If an agent takes an action and 3 other agents also take actions at the same time, the resulting observation and reward are likely influenced by all 4 actions, but each agent only knows about its own. Is that a problem?

Hey, thanks :)

Do your multiple agents all take actions simultaneously in each step or in some sequential order?

Simultaneously. More precisely, there is a first loop where each agent make a decision of which control actions to apply given the current (fixed) traffic state. And only then, these actions are executed simultaneously on one timestep (independent forward of the kinematic model for each vehicle).

I'd expect that a large difficulty in multi agent is the variance resulting from other agent's actions. If an agent takes an action and 3 other agents also take actions at the same time, the resulting observation and reward are likely influenced by all 4 actions, but each agent only knows about its own. Is that a problem?

Yes, I think that the fact that the agent only knows about its own action is a central problem in game theory, regardless of whether the players act simultaneously or sequentially.

There it is.

I think the branch is ready to be merged, even if the feature is not 100% finished. There mostly remains:

Add multi-agent support for all environments (rewards and terminal states must account for every controlled agent)
Add documentation

Hi author, does this code open-sourced for the multi-agent version?

Sure, it is available on rl-agents.
You can run it with
cd scripts
evaluate configs/IntersectionEnv/env_multi_agent.json configs/IntersectionEnv/agents/DQNAgent/ego_attention_2h.json --train --episodes=3000

Hi Eleurent,
First, congratulations on your Ph.D. defense. I have been following your work on highway-env and it's amazing.
I was going through this open issue since I also needed a multi-agent environment. I wanted to ask if it is merged as a feature in highway-env itself since the current code is within rl-agents.
Any information will be appreciated.
Thanks.

Hi Eleurent,
First, congratulations on your Ph.D. defense. I have been following your work on highway-env and it's amazing.
I was going through this open issue since I also needed a multi-agent environment. I wanted to ask if it is merged as a feature in highway-env itself since the current code is within rl-agents.
Any information will be appreciated.
Thanks.

Thank you for your kind words!
Yes, this is merged to the main branch. This issue is still open because I need to add some documentation...
To have a multi-agent environment, you must configure it as follows:
env.configure({
    "controlled_vehicles": <desired number of controlled agents, e.g. 3>,
    "action": {
        "type": "MultiAgentAction",
        "action_config": {
            <desired action configuration, e.g. "type": "DiscreteMetaAction">
        }
    },
    "observation": {
        "type": "MultiAgentObservation",
        "observation_config": {
            <desired observation configuration, e.g. "type": "Kinematics">
        }
    }
})

This will set the observation and action spaces as Tuples of traditional observations and actions.
Some agents in rl-agents support these Tuple spaces for the multi-agent setting, for example the DQN agent uses a central policy to map each agent-observation in the observation tuple to its associated agent-action in the action tuple.
Does that help?

Thank you for your kind words!
Yes, this is merged to the main branch. This issue is still open because I need to add some documentation...
To have a multi-agent environment, you must configure it as follows:
env.configure({
    "controlled_vehicles": <desired number of controlled agents, e.g. 3>,
    "action": {
        "type": "MultiAgentAction",
        "action_config": {
            <desired action configuration, e.g. "type": "DiscreteMetaAction">
        }
    },
    "observation": {
        "type": "MultiAgentObservation",
        "observation_config": {
            <desired observation configuration, e.g. "type": "Kinematics">
        }
    }
})

This will set the observation and action spaces as Tuples of traditional observations and actions.
Some agents in rl-agents support these Tuple spaces for the multi-agent setting, for example the DQN agent uses a central policy to map each agent-observation in the observation tuple to its associated agent-action in the action tuple.
Does that help?

Thanks a lot for the response @eleurent.
Yes, it is helpful since I wanted to know how to use env.configure here.
I will try this out and let you know.

Thanks a lot for the response @eleurent.
Yes, it is helpful since I wanted to know how to use env.configure here.
I will try this out and let you know.

Hi @eleurent
I tried the snippet but I was unable to reproduce the multi-agent environment in parking_her.ipynb code. Can you help me out with this?
Thanks.

Hi @eleurent
I tried the snippet but I was unable to reproduce the multi-agent environment in parking_her.ipynb code. Can you help me out with this?
Thanks.

ls when agents reach their targets, it can also be the case that agents do not have targets and simply keep driving (depending on the environment of course). And if an agent has a collision, it can get a terminal penalty and other agents will be able to keep training for the rest of the episode. But sure, we may as well reset the whole env upon collision of any agent, why not.

Can the terminal state for multi-agent setting be configured to end when any of the agent collides?

Can the terminal state for multi-agent setting be configured to end when any of the agent collides?

I think this is often the case by default, but no this is non-configurable as of now.

Is it done by adding the logic for any agent collision in _is_terminal() of the required environment

Yes exactly, see e.g.:
https://github.com/eleurent/highway-env/blob/ab209de9c1a0da7524e74eb817beec04e6415a0d/highway_env/envs/intersection_env.py#L83
You can even make it configurable and send a PR :)

Thank you for the reply, and sorry for commenting on a closed issue.
Why do we have two methods for calculating terminal state (_is_terminal and _agent_is_terminal)?
Is the method _is_terminal used to terminate the episode and
the method _agent_is_terminal used to get the info for a single agent done?
To make terminal state configurable I was thinking of adding a parameter in the default config like 'terminate_on_any_agent_collision' and changing the above line to
if terminate_on_any_agent_collision: return any(vehicle.crashed for vehicle in self.controlled_vehicles) \ else: return all(vehicle.crashed for vehicle in self.controlled_vehicles) \
Would this be the right approach?

Why do we have two methods for calculating terminal state (_is_terminal and _agent_is_terminal)?
Is the method _is_terminal used to terminate the episode and the method _agent_is_terminal used to get the info for a single agent done?

Correct!

Would this be the right approach?

Absolutely! You can maybe make it slightly more general by writing something like:
agent_terminal = [self._agent_is_terminal(vehicle) for vehicle in self.controlled_vehicles]
agg_fn = {'any': any, 'all: all}[self.config['termination_agg_fn']]
return agg_fn(agent_terminal)


EXLM-2152 Card description update - coveo

Please always provide the Jira Issue your PR is for, as well as test URLs where your change can be observed (before and after):
Jira ID: EXLM-2152
Test URLs:

Before: https://main--exlm--adobe-experience-league.hlx.live?martech=off
After: https://exlm-2152--exlm--adobe-experience-league.hlx.live?martech=off

@ruhisingh1 Did we still want to merge this at any point?

@ruhisingh1 Did we still want to merge this at any point?

No. Closing this PR.


Fix problems in recursive STS rules

make [Tx] and [DCert] to Data.Sequence types
fix sequence of predicate in DELEGS
sub-rule sequence in LEDGER

@JaredCorduan please have a look at your ex2 example. I had to adapt the values for this, so it seems one of the changes I made does not correspond to what you expected that should happen.

solves #703


Cannot move to "first step" or "prev step" in example without filling in fields

I have coded up the example from the docs (plus or minus) and notice that when I am on the second screen, I cannot move to "first step" or "prev step" in example without filling in fields:

Now, I'm a bit hazy on front end stuff, but I presume this is because the fields are required and the button is an input with type="submit". The obvious solution is to not use a submit but then I presume I will run into the issue that all moves between steps presently require a POST. Is that a correct understanding?

To put it another way, any GET repositons to the first step. I see that #99 and its associated PR #101 attempt to address this. Is my understanding correct?

OK, I found formnovalidate.


Support sending Cookies back to the Website

Hi, your script is really nice, i like it and got it to work.
Iam trying to open a website with it, that asks for an extra cookie code to be send back.
The response after the Cloudflare message is:
eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c]);return p}('1 6(){2.3='4=5; 0-7=8; 9=/';a.b.c()}',13,13,'max|function|document|cookie|cookie|11a33cdf483ad2022a0da8abd2eac2a7d9015fb6|challenge|age|1600|path|window|location|reload'.split('|'),0,{}))
the cookie=11a33cdf483ad2022a0da8abd2eac2a7d9015fb6 needs to be send back
i tried many ways, with scraper.get etc
but nothing, do you know the trick?

This does not appear to be related to Cloudflare or cloudflare-scrape. I'd recommend consulting the documentation for the Requests library.


Implementing Eslint and Prettier

Adding Eslint and Prettier to Ovuli

I would like to work on this task.

I am interested to work with the issue.

@guptavarun619 is already working on this issue. If he is unable to complete the issue we will assign it to you @vipuldcoder

@vipuldcoder check the PR by @guptavarun619 there are some errors.


Support promise interface

@nathanielks this is actually the first PR that we should merge, but I screwed up by running prettier in the same commit as adding a promises interface.

@joehoyle Sorry I missed this!


Replace deprecated methods from phpunit issue 5062

On issue https://github.com/sebastianbergmann/phpunit/issues/5062 was deprecated few methods.
then I am applying the replacement for methods that has other method to substitute.
you can check here in this file: https://github.com/sebastianbergmann/phpunit/blob/9.6/src/Framework/TestCase.php

Thank you @eerison

Is this PR valid, though? Considering this comment you can't just change e.g. expectDeprecationMessage to expectExceptionMessage, because these errors won't be converted into exceptions.


BUG: Reshape oaconvolve output even when no axes are convolved

Reference issue
Fixes gh-11973
What does this implement/fix?
When one array is of length 1, we can have no axes convolved. The fast path here didn't apply the convolve mode correctly and so did not output the correct shape.

Closing and reopening to rerun tests.

Thanks @peterbell10 !


OPS only

Is there a way to use this without one or the other tracker? Example: if someone was on OPS but not RED.

Yes, just add the OPS parts and dont touch the RED parts.
https://github.com/s0up4200/redactedhook/blob/73808ece0900b9164f10327a70a50444b574e855/config.toml#L8-L14

vegiemane@zed:~/redactedhook$ ./redactedhook --config config.toml  2024-12-02 13:42:05 DBG Config file read: config.toml 2024-12-02 13:42:05 FTL Invalid configuration error="Indexer REDKey should not be empty"
Maybe I'm doing something wrong?

host = "<IP_ADDRESS>" # Server host
port = 42135       # Server port

[authorization]
api_token = "secret" # generate with "redactedhook generate-apitoken"

[indexer_keys]
#red_apikey = "" # generate in user settings, needs torrent and user privileges
ops_apikey = "secret" # generate in user settings, needs torrent and user privileges

[userid]
#red_user_id = 0 # from /user.php?id=xxx
ops_user_id = secret # from /user.php?id=xxx

[ratio]
minratio = 1.1 # reject releases if you are below this ratio

[sizecheck]
minsize = "104.8576MB" # minimum size for checking, e.g., "10MB"
maxsize = "2097.152MB" # maximum size for checking, e.g., "1GB"

[uploaders]
uploaders = "vegiemane" # comma separated list of uploaders to allow
mode = "blacklist" # whitelist or blacklist

[record_labels]
#record_labels = "" # comma separated list of record labels to filter for

[logs]
loglevel = "trace"               # trace, debug, info
logtofile = false                # Set to true to enable logging to a file
logfilepath = "redactedhook.log" # Path to the log file
maxsize = 10                     # Max file size in MB
maxbackups = 3                   # Max number of old log files to keep
maxage = 28                      # Max age in days to keep a log file
compress = false                 # Whether to compress old log files

Oh wow, thats not great! That's my bad. I'll make sure to fix that.
In the meantime you should be able to just put a "0" there, if not, just add the same stuff as for OPS.
It wont be used since you'll only be sending requests for OPS lookups anyway.

Only issue is, won't this send mass requests to RED?
I don't want my IP on a blacklist

It will not send any requests to RED, since your autobrr instance only has the OPS indexer.
But if you want to wait for me to fix it, then I can start on that today hopefully.

Was an easy fix. Made a new release if you want to upgrade :)
https://github.com/s0up4200/redactedhook/releases/tag/v0.6.1

That was quick. Just downloaded it and it is working great. Thank you :)


frames folder example results in black images

Hi, and thank you for making this code available!
I am running:
python video_infer.py D:\\DeBlur\\SimDeblur-main\\SimDeblur-main\\configs\\dbn\\dbn_gopro.yaml  D:\\DeBlur\\SimDeblur-main\\SimDeblur-main\\saves\\checkpoints\\DBN\\dbn_ckpt.pth  --frames_folder_path=datasets/input  --save_path=deblur
where video_infer.py is:

import os
import sys
import argparse
import numpy as np
import cv2
import torch
import torch.nn as nn
import torch.nn.functional as F
from easydict import EasyDict as edict

from simdeblur.config import build_config
from simdeblur.model import build_backbone
from simdeblur.dataset.frames_folder import FramesFolder

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("config", type=str, help="The config .yaml file of deblurring model. ")
    parser.add_argument("ckpt", type=str, help="The trained checkpoint of the selected deblurring model. ")
    parser.add_argument("--frames_folder_path", type=str, help="The video frames folder path. ")
    parser.add_argument("--save_path", type=str, help="The output deblurred path")

    args = parser.parse_args()

    return args

def frames_foler_demo():
    args = parse_args()
    config = build_config(args.config)
    config.args = args
    model = build_backbone(config.model).cuda()

    ckpt = torch.load(args.ckpt, map_location="cuda:0")

    model_ckpt = ckpt["model"]
    model_ckpt = {k[7:]: v for k, v in model_ckpt.items()}
    model.load_state_dict(model_ckpt)

    data_config = edict({
        "root_input": "D:\\DeBlur\\SimDeblur-main\\SimDeblur-main\\datasets\\input",
        "num_frames": 5,
        "overlapping": True,
        "sampling": "n_c"
    })
    frames_data = FramesFolder(data_config)
    frames_dataloader = torch.utils.data.DataLoader(frames_data, 1)

    model.eval()
    with torch.no_grad():
        for i, batch_data in enumerate(frames_dataloader):
            out = model(batch_data["input_frames"].cuda())
            print(batch_data["gt_names"], out.shape)
            save_image_path = f"./deblurred_frame{i}.png"
            cv2.imwrite(save_image_path, out[0].cpu().permute(1, 2, 0).numpy())

if __name__ == "__main__":
    frames_foler_demo()

The code runs, and prints:
Cannot inport EDVR modules!!!
[('00002.jpg',)] torch.Size([1, 3, 1080, 1920])
[('00003.jpg',)] torch.Size([1, 3, 1080, 1920])
....

But all the resulting frames are just solid black. What might be happening here?
Thanks!

Hi @antithing,
With the provided logs, there might be something wrong with your environment. More specifically, some packages are not correctly installed. You may refer to the Colab notebook for the installation.
Hope this can help you.

Hi, thanks! I have run the install.sh steps again, and i no longer see the warning Cannot inport EDVR modules!!!. The result is:
[('00002.jpg',)] torch.Size([1, 3, 1080, 1920])
[('00003.jpg',)] torch.Size([1, 3, 1080, 1920])

But the frames are still black!
Is this line correct?
` cv2.imwrite(save_image_path, out[0].cpu().permute(1, 2, 0).numpy())``

Hi @antithing, I will check what happened and update the results here ASAP.

Hi @antithing, sorry for the late reply.
This problem can be attributed to the saving function cv2.imwrite. You should scale the image range to [0, 255] for saving with cv2.imwrite to avoid the black image. I also updated a video inference demo code https://github.com/ljzycmd/SimDeblur/blob/main/inference_video.py, and you can infer the sharp frames with:
python inference_video.py \
CONFIG_PATH  \
CKPT_PATH \
--frames_folder_path FRAME_FOLDER_PATH \
--save_dir OUTPUT_ROOT

Note that the FRAME_FOLDER_PATH should contain consecutive video frames, you may ffmepg to split a blurry video into separate frames.
Hope this can help you.


Address dependabot issues

containerd CRI plugin: Insecure handling of image volumes #4
https://github.com/google/kne/security/dependabot/4
OCI Manifest Type Confusion Issue
https://github.com/google/kne/security/dependabot/2

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 58.152%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1901

Relevant Lines:
3269

💛  - Coveralls


Create a timeline

Add a list of all your activities, achievements, work experience. Add as much info as you can remember. In case you don't have working experience tell about your pet-projects or student projects.

Done!

Done!


I how in v6. X Mac using preview effect

@mzkmzk I'm not sure to understand what you meant. Could you be more specific?

Version is now only one TAB, while writing markdown then directly, according to what I want is like the previous version. There are two tabs, one is my original markdown, the other is a preview.

You can use the aA button to switch to the preview mode. Does it help ?

I'm sorry...I look at the Document Mode icon I thought it was to adjust font size...Never try to click...Thanks


implement custom shape validation for specific tags

Some tags might not implement a shape property but should validate against wx_shape
We should find a nice way to implement this on a per class basis
For a hacky implementation see #85
https://github.com/BAMWelDX/weldx/blob/28d3aedb68526faf192f400405cec9aa3f477eb4/weldx/asdf/validators.py#L438-L445

New approach in #176
implementation moved to weld.validators._get_instance_shape

A few notes:

We should probably define the interfaces in the WeldxType base class

this part
   elif isinstance(instance_dict, asdf.types.tagged.Tagged):
       # add custom type implementations
       if "weldx/time/timedeltaindex" in instance_dict._tag:
           return TimedeltaIndexType.shape_from_tagged(instance_dict)
       elif "weldx/time/datetimeindex" in instance_dict._tag:
           return DatetimeIndexType.shape_from_tagged(instance_dict)

should perform a lookup to find the type based on the tag and try to run shape_from_tagged()

implementation should be based on ASDF 2.8 API

I have not looked into the changes to validators with the new asdf 2.8 API changes but we should think about this


Code generation is incomplete

VS Code Version:1.70.0-insider
OS Version:uos 1053
Logs:

Steps to Reproduce:
1.Open the copilot chat dialog bar and put forward the need to generate a piece of code to realize two stack structures to realize the queue structure.
2.The code will output only part of it, and there is even no definition of the full output class.
3.It will be the same if you try other code, such as the merge algorithm.

+1

Do you have an example source and conversation, so we can test against it?


render heatmap on imageview

It would be great if I could render heatmap on a uiimage- e.g a layout- instead of map, is it possible with current version?

It's not tied to a map specifically. You can just overlay it on top of any other view as desired like any other UIImage.

Thank you. Tried that but then positioning did not fit correctly. Im trying to build a basketball court heatmap and my coordinates are fixed, say; X between -7 to 7 and Y between -12 to 12. So within these boundaries, I have shots and trying to generate a heatmap according to them.

Thank you. Tried that and have a semi-working result. My positioning did not fit correctly. Im trying to build a basketball court heatmap and my coordinates are fixed, say; X between -7 to 7 and Y between -12 to 12. So within these boundaries, I have success/fail shot coordinates and trying to generate a player's shot result heatmap according to them.

Did you get a better result? And can you share more information about it?


Vault_exporter and Vault_alerts

Take a look to merge Vault_exporter and Vault_alerts was based on https://github.com/grapeshot/vault_exporter
tar.gz - https://github.com/grapeshot/vault_exporter/releases/tag/v0.1.1
Also there is some grafana dashboards:
https://github.com/grapeshot/vault_exporter/blob/master/vault-mixin/dashboards.libsonnet
but i have no idea how to rework it for default grafana style to make like in example:

Thanks

@Alexvianet can you please remove commit https://github.com/bosh-prometheus/prometheus-boshrelease/pull/254/commits/8c89ace788369cf65c45c4f2e69666668856bc0a from this PR? It has nothing to do with the vault exporter.

my fail sorry, revert those commit.

@frodenas  please take a look now

Thanks @Alexvianet


File.exe or Files.msi

What's the Problem?
Good day! Could you also publish new versions with the file extension ".exe" or ".msi"? For users who are not using the Microsoft Store, this would be very helpful! I really hope to see a new version with the ability to install on your system without the help of the Store. Thank you in advance!
Solution/Idea
Installer Files with file extension ".exe" or ".msi"
Alternatives
Not.
Priorities

Capability
Priority

This proposal will allow developers to accomplish W
Must

This proposal will allow end users to accomplish X
Should

This proposal will allow developers to accomplish Y
Could

This proposal will allow end users to accomplish Z
Won't

Files Version
v2.0
Windows Version
Windows 11 21H2 22000.194
Additional comment
No response

Thank you very much for your reply! I do not have this installer, as well as the store itself. I, like many users, do not use the Store and everything connected with it. After installing the system, we immediately remove all the "treasures" from Microsoft)) Over the years, I first wanted to install something from the Store, but of course I don't want to leave the Store, its installer and all their other nasty things because of one application .. For this reason alone, I ask you to publish the installer with standard extensions whenever possible. You probably know about OS versions where the Store is not initially included, and users of such systems also want to install Files.

You might need to also install some dependencies as explained in #6316.

@D1mar0n the app installer is an integral part of Windows and Files requires it in some for in order to be installed. I wrote up a quick guide on restoring AppInstaller in the event it was removed. https://yairai.medium.com/how-to-restore-windows-10-app-installer-99c15b7c3ec4.


website changes to change rpm package filenames

Changes required for the changes in: https://github.com/rabbitmq/rabbitmq-server/pull/934

wrong branch


hi can u please help me with the fact that VC cant recognize application without

editing settings.json
attaching the following in order to solve the issue

the issue ->

solving by adding .env file to the root folder including PYTHONPATH=FOLDER

adding pythonenvfile to settings.json ->

restart VC

WHAT AM I MISSING OR DOING WRONG ???

Does it work with the configuration above? Thanks.

Closing, feel free to reopen if still a problem.

Does it work with the configuration above? Thanks.

no its not working

@SnehashishGiri - it is several months old issue from a different account. If you see something similar, it does not mean the case is the same. Feel free to open a separate issue.


User report

Dear s2fft devs,
Thanks for this great package! I just wanted to report on some of the pain-points I ran into to hopefully provide constructive feedback.
SHT with inappropriate healpix nside returns mysterious error
Here is what I tried to do:
import healpy as hp
import s2fft
sampling= "healpix"

nside = 256
lmax = 256

# Sample gaussian map
z = random.randn(hp.nside2npix(nside))

# Convert to alms
alm = s2fft.forward_jax(z, lmax,
                        reality=True,
                        sampling=sampling,
                        nside=nside)

triggers an error that ends in:
File ~/.local/lib/python3.10/site-packages/jax/_src/lax/lax.py:4672, in _check_shapelike(fun_name, arg_name, obj, non_zero_shape)
   4670 if not all(core.greater_equal_dim(d, lower_bound) for d in obj_arr):
   4671   msg = "{} {} must have every element be {}, got {}."
-> 4672   raise TypeError(msg.format(fun_name, arg_name, bound_error, obj))

TypeError: iota shape must have every element be nonnegative, got (-2,).

jitting time is long
I'm sure this is something you are well aware of, and I guess that's also one of the reasons for the 2 stages way of doing the transform. I've found that it can take up to 3 mins on my laptop to compile the forward_jax.
It's no big deal though, and there are many ways to accelerate these kind of things and I'll be very happy to take a look at it to see if I can suggest some improvements in #140

Hi @EiffL the first error rises because we expect L >= 2*nside. We had a assert for this originally but this must have been lost during development, so definitely something we should add back with an appropriate error message! (I've added an issue explicitly for this).
JIT compilation of forward transform
The slow JIT compilation is a more critical issue (which we are aware of) and there are two points to consider:

the forward transform involves a few more steps than the inverse so for all sampling it will take a little bit longer to compile, and execution will be marginally slower, but for all but HEALPix sampling this should be minimal.
we are computing SHTs by separation of variables, e.g. there is a latitudinal step which involves Wigner-d recursions, and a longitudinal step which is 'just' an FFT. For all sampling schemes the latitudinal step is the same, and is optimised to compile and run efficiently. For HEALPix the issue arises with the FFT portion. As HEALPix samples with rings of different nphi the length of these FFTs are not consistent, so instead of doing a simple jnp.fft.fft( f ) we have to loop over the rings and manually evaluate each FFT. In theory one can compress these loops into lax.fori_loop statements which are fast to compile, however this requires that the operations within each ring are identical, which isn't the case as the number of phi samples (and hence the shape of the FFT) changes.

tl;dr: this should only be an issue for HEALPix sampling, and exists for both the forward and inverse transform, and its an issue of the FFT component of the transform.
Solutions
A short term solution would be to switch for another sampling scheme, none of the remaining schemes should exhibit this compilation issue. A longer term solution, which we are aware of and investigating, in #140 is to optimise this HEALPix FFT loop, perhaps by compressing into a lax.fori_loop or a scan.

right right right... I see.... what would happen if one interpolated the healpix map on one of the other formats that have same number of points per rings?
It's not super pretty.... but would this affect a lot the accuracy?

of course.... one could also not use the healpix scheme ^^

If each ring had the same number of samples then the HEALPix FFT should just reduce to a simple jnp.fft  call which should solve your compilation error. What effect this would have on the error I'm not too sure, it's not something we've really looked at yet. There may be other ways around this compile time issue, and I'm happy to look into it when I next get a chance :)

Thanks for the comments @EiffL.  As @CosmoMatt said, the slow jit compile time for HEALPix is an issue with the HEALPix sampling that we're aware of and need to look into further.  This is in fact a general problem with HEALPix, which is also present for CPU HEALPix implementations too.  In those implementations one would ideally like to plan an FFT to optimise efficiency (e.g. FFTW allows you to plan FFTs to optimise them), however since the size of each FFT differs for each ring, you cannot plan a single efficient FFT.  Therefore other codes typically simply use an estimated FFT, which is perhaps not optimal.  But planning each FFT would be a signifcant overhead and there is not much of a performance hit in using estimated FFTs.  We face a very similar issue here, again due to the varying number of samples on each ring, but it is more acute since it has a significant impact on jit compile time.  We need to look into this some more.  This is fairly high priority but we have some other more pressing commitments for the next couple of weeks at least so not sure we'll be able to look into this in detail until before then.  Any insight that you can provide @EiffL would be very welcome!


Modify SLM execute lifecycle to use POST method as opposed to PUT.

Local patch for implementation in https://github.com/elastic/elasticsearch/pull/47061 and subsequent PR https://github.com/elastic/elasticsearch/pull/49233

Ported to master


ore parity

What is this PR for?
Adds parity to all the ores, so they all have 6 textures each.

2 emerald ore variants.

[x] I have made and am willing to license my contribution under the MIT license, or have permission from the original author to license it under MIT.

i'll take over this and add two for deepslate too

i'll take over this and add two for deepslate too, if that's alright

Sure.

right, need to add for deepslate too


Docker images aren't available in Docker-hub

Hi,
list-flow-functions
dot-generator
faas-flow-dashboard
images aren't available it seems? or perhaps it's only me and proxy issue

I have bumped the version of the images into
s8sg/dot-generator:1.0.0
s8sg/list-flow-functions:1.0.0
s8sg/faas-flow-gateway:1.0.0

and pushed it to docker-hub

ok thanks, tried to build.
anyway images seems to be ok, except for some probe issue on the gateway

Dashboard doesn’t yet have the health check. There’s already an open issue for it #3


Resume booklet is out of date

Resumes should be removed from the resume booklet after graduation. There are currently some resumes in the undergraduate folder of people who graduated in 2014, 2015, and 2016. It would also be nice to have a reminder email automatically sent out to people when they haven’t updated their resume in over a year.

Do you have an estimate of when this will be taken care of?

I've got it so that it will exclude alumni from the book. Looking into the
ability of the membership officer to mark people graduated. I'll push the
first part this evening

Do you have an update on when you think the membership officer will have the ability to mark people as graduated?

I do not. As I’ve said before, I’ll handle bugs when I can but requests for
new features are a very low priority. The chapter needs to start figuring
out how to get a new website chair up to speed
On Sat, Feb 24, 2018 at 5:37 PM kevingreenman<EMAIL_ADDRESS>wrote:

Do you have an update on when you think the membership officer will have
the ability to mark people as graduated?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tbpmig/mig-website/issues/234#issuecomment-368265790,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACKVBIcC0OMFWv0EhW6z9SaFT6NMoyJGks5tYI8QgaJpZM4RvINj
.

I agree regarding the website chair. That being said, I would appreciate it if you could move this higher on the priority list of new feature requests, given that it impacts how we interact with companies and isn't simply something for convenience

Thanks for making the change. Do you know when we can expect the next deploy so we can start using this feature?

If the code is done, I'm able to deploy the site, fwiw. Not that it's all
that hard either...
On Wed, Mar 7, 2018 at 12:05 PM kevingreenman<EMAIL_ADDRESS>wrote:

Thanks for making the change. Do you know when we can expect the next
deploy so we can start using this feature?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/tbpmig/mig-website/issues/234#issuecomment-371208803,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA2wtdcqazyOJW8_n7ySo1JcwSoh6CCkks5tcBNjgaJpZM4RvINj
.

Should be good to run the deploy script. Let me know if you hit issues


TypeError: theme.spacing is not a function

I use mui/styles and mui. material version 5.0.1 but I can't CSS theme. spacing(4). I think the new version has different usage and I tried reading the docs to fix it but had no success. Please help me!

I think it is similar to this. mui.com/guides/migration-v4/#makestyles-typeerror-cannot-read-property-drawer-of-undefined

@siriwatknp  What are the next steps in this issue?

@eps1lon I think we can close this issue.


Debug readable ct output crash

since a while using rebar3 ct is broken and we have to pass --readable=false to run the tests. This is super annoying as the output is ... unreadable.
Was finally able to reproduce locally and opened an issue on the rebar3 repo: https://github.com/erlang/rebar3/issues/2063

There's a PR waiting to be merged for this issue (https://github.com/erlang/rebar3/pull/2065), but this PR works around the issue until the fix is in a new rebar3 release.


Hopefully fixed warning message for command cool-down

Since you said the command cool-down was not working, I think it might be because it's entering on_command_error so I just moved your isinstance(cooldown_message, commands.CommandOnCooldown) to under on_command_error and commented on_command_cooldown.
Hopefully it works now,
Cheers!

The change doesn't work and the issue still exists


fix(remix-dev/vite): skip "vanilla-extract" plugin in child compiler

Closes: https://github.com/remix-run/remix/issues/7989
This is less general approach of fixing the issue, but for the specific case of vanilla-extract, this could be a reasonable workaround.
My assumption is that vanilla-extract works on top of standard typescript/javascript (i.e not extending any syntactic feature), so probably applying this plugin for child compiler is not necessary.
Testing Strategy:
The reproduction fix is verified with same patch https://github.com/mrm007/remix-vite-vanilla-repro/pull/2

Closed in favor of https://github.com/remix-run/remix/pull/7994


Create plugin-radargun-reporting.yml

radargun-reporting upload permissions request

Description
Hosting issue: https://issues.jenkins-ci.org/browse/HOSTING-503
Plugin GitHub Repo: https://github.com/jenkinsci/radargun-reporting-plugin

Always

[x] Add link to plugin/component Git repository in description above

For a newly hosted plugin only

[x] Add link to resolved HOSTING issue in description above

For a new permissions file only

[x] Make sure the file is created in permissions/ directory
[x] artifactId (pom.xml) is used for name (permissions YAML file).
[x] groupId / artifactId (pom.xml) are correctly represented in path (permissions YAML file)
[x] Check that the file is named plugin-${artifactId}.yml for plugins

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[x] All newly added users have logged in to Artifactory at least once

@daniel-beck


[Feature Request] support for enable_http_compression parameter

Please add support of enable_http_compression parameter to get gziped responses from server.
According to clickhouse doc https://clickhouse.yandex/docs/en/interfaces/http_interface/

Also standard gzip-based HTTP compression can be used. To send gzip compressed POST data just add Content-Encoding: gzip to request headers, and gzip POST body. To get response compressed, you need to add Accept-Encoding: gzip to request headers, and turn on ClickHouse setting called enable_http_compression.

see https://github.com/Vertamedia/chproxy/releases/tag/1.11.0


CORE-11273 Add missing Javadocs to crypto APIs

adds missing Javadocs to crypto APIs
minor amendments to existing crypto APIs Javadocs

Please note that his PR needs to also be reviewed by tech writers team, once devs approve content.

I think this should target 5.0 and get an exception reviewed; it is currently targetting 5.1.


Update plugin-helix-alm-test-management.yml

Adding Pete Jackson as an approved uploader
Description
Plugin repository: https://github.com/jenkinsci/helix-alm-test-management-plugin
This is a request to add @petejax to have upload permissions for the Helix ALM Test Management Plugin. See this issue #3144 for when he was approved to join the Perforce organization
I (@vincenpt) am the current maintainer of the test management plugin.
Submitter checklist for adding or changing permissions
Always

[x] Add link to plugin/component Git repository in description above

When adding new uploaders (this includes newly created permissions files)

[x] Make sure to @mention an existing maintainer to confirm the permissions request, if applicable
[x] Use the Jenkins community (LDAP) account name in the YAML file, not the GitHub account name
[X] Make sure to @mention the users being added so their GitHub account names are known if they require GitHub merge access (see below).
[X] All newly added users have logged in to Artifactory and Jira at least once

Reviewer checklist (not for requesters!)

[ ] Check this if newly added person also needs to be given merge permission to the GitHub repo (please @ the people/person with their GitHub username in this issue as well). If needed, it can be done using an IRC Bot command
[ ] Check that the $pluginId Developers team has Admin permissions while granting the access.
[ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
[ ] If security contacts are changed (this includes add/remove), ping the security officer (currently @Wadeck) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it

I had @petejax log into both Artifactory & Jira. Could we trigger a re-check of the merge?

I had @petejax log into both Artifactory & Jira. Could we trigger a re-check of the merge?

triggered


[FLINK-20832][docs] Deliver bootstrap css and js ourselves

What is the purpose of the change
Delivering the required files ourselves, instead of using a CDN to fix the unstable https://maxcdn.bootstrapcdn.com in China.
Brief change log

Copy the resource files into docs/page/...
Update the base.html.

Verifying this change
I shutdowned the network on my machine, and locally build the docs, and everything works well.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

Thanks for opening the PR. Have you checked the licenses of the font files?

Thanks for opening the PR. Have you checked the licenses of the font files?

@rmetzger , no, I just download them from the bootstrap CDN url.
How do we deal with the existing docs/page/font-awesome/fonts/FontAwesome.otf?

@rmetzger , no, I just download them from the bootstrap CDN url.
How do we deal with the existing docs/page/font-awesome/fonts/FontAwesome.otf?

It's mentioned in the /NOTICE file.

It's mentioned in the /NOTICE file.

@rmetzger , I removed anchor.min.js because the website can be loaded even without this resource.

@rmetzger , I removed anchor.min.js because the website can be loaded even without this resource.

@rmetzger , I removed anchor.min.js because the website can be loaded even without this resource.

But it seems that we are loading anchor.min.js from a cloudflare CDN.
I would ship the cloudflare files also like bootstrap ourselves.

@rmetzger , I removed anchor.min.js because the website can be loaded even without this resource.

But it seems that we are loading anchor.min.js from a cloudflare CDN.
I would ship the cloudflare files also like bootstrap ourselves.

@rmetzger  I have added back the anchorjs

@rmetzger  I have added back the anchorjs


Error: Can't resolve all parameters for LogProvider: (?, [object Object], [object Object])

I am still getting the same error message: Error: Can't resolve all parameters for LogProvider: (?, [object Object], [object Object])
I am having same issue.
Just added to my app.module
import {DatePipe} from '@angular/common';
import {LogProvider, LogFileAppenderModule} from 'ionic-log-file-appender';
providers
File,
DatePipe,
LogProvider
Then on app.components
constructor( private log: LogProvider...
return log.init({
/* Your config here */
});
Just did ionic serve and was getting this error
Do I need to pass a config to the Init?
Please provide an example
Also looks like npm install does not install the latest version

Hi there,
Please make sure you are importing the File provider from the correct place in your app.module, like so:
import {File} from '@ionic-native/file';
Also, I noted that you said you are using ionic serve, suggesting that your are running your app in the browser. Note that this package does not support logging to file in the browser, only on Android or iOS devices.
You will still see your log messages printed to the browser console if you set logToConsole: true in your config, but no logs will be written to file unless you are running on a device.

I have spent lots of time to get this logging to work but no luck.
I did import the file as indicated and also tried  the ngx ie. import
{File} from '@ionic-native/file/ngx';
in the constructor, I injected file:File
but anytime I do any operation on the file object example
file.dataDirectory;
It fails at the stage where dataDirectory operation is done.
I have updated my ionic
I have also tested it on the device.
I am not sure if there is anything wrong with my environment.
Here is my :
"dependencies": {
"@angular/animations": "5.2.11",
"@angular/common": "5.2.11",
"@angular/compiler": "5.2.11",
"@angular/compiler-cli": "5.2.11",
"@angular/core": "5.2.11",
"@angular/forms": "5.2.11",
"@angular/http": "5.2.11",
"@angular/platform-browser": "5.2.11",
"@angular/platform-browser-dynamic": "5.2.11",
"@ionic-native/android-full-screen": "^4.12.2",
"@ionic-native/app-update": "^4.20.0",
"@ionic-native/camera": "^4.12.2",
"@ionic-native/camera-preview": "^4.12.2",
"@ionic-native/core": "^5.1.0",
"@ionic-native/file": "^5.8.0",
"@ionic-native/http": "^4.14.0",
"@ionic-native/network": "^4.20.0",
"@ionic-native/screen-orientation": "^4.15.0",
"@ionic-native/splash-screen": "~4.12.0",
"@ionic-native/sqlite": "^4.17.0",
"@ionic-native/status-bar": "~4.12.0",
"@ionic/lab": "^1.0.9",
"@ionic/storage": "2.1.3",
"add": "^2.0.6",
"angular2-signaturepad": "^2.8.0",
"cordova": "^8.1.2",
"cordova-android": "^7.1.1",
"cordova-plugin-app-update": "2.0.2",
"cordova-plugin-appversion": "1.0.0",
"cordova-plugin-camera": "^4.0.3",
"cordova-plugin-camera-preview": "^0.10.0",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-file": "6.0.1",
"cordova-plugin-fullscreen": "^1.2.0",
"cordova-plugin-ionic-keyboard": "^2.1.2",
"cordova-plugin-ionic-webview": "^2.1.4",
"cordova-plugin-network-information": "2.0.1",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-statusbar": "^2.4.2",
"cordova-plugin-stetho-android": "0.0.1",
"cordova-plugin-whitelist": "^1.3.3",
"cordova-sqlite-storage": "2.5.1",
"ionic-angular": "^3.9.2",
"ionic-selectable": "^3.4.0"
I like your plugin and I am determined to use it.
Joseph Eze
On Sun, 23 Jun 2019 at 19:29, Yann<EMAIL_ADDRESS>wrote:

Hi there,
Please make sure you are importing the File provider from the correct
place in your app.module, like so:
import {File} from '@ionic-native/file';
Also, I noted that you said you are using ionic serve, suggesting that
your are running your app in the browser. Note that this package does not
support logging to file in the browser, only on Android or iOS devices.
You will still see your log messages printed to the browser console if you
set logToConsole: true in your config, but no logs will be written to
file unless you are running on a device.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/SmartMoveSystems/ionicLogFileAppender/issues/7?email_source=notifications&email_token=ABZM2TI56R6P3O4DGZ6HPJTP4ABMPA5CNFSM4H2XGOP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYLJQUQ#issuecomment-504797266,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABZM2TLKPTUTCD33FIR6RWTP4ABMPANCNFSM4H2XGOPQ
.

The fact that you are successfully able to build and run on the device is a good sign.
What is the exact error message you are seeing when file operations are attempted in the dataDirectory?
If you want to see more detailed logs, I recommend setting enableMetaLogging: true, logToConsole: true in the config structure you pass in to the log.init() function. Then, a more detailed error message should appear in the console when debugging (i.e. in Chrome Dev tools if you are running on an Android device).
You may need to change the baseDir configuration parameter; your app may not have permission to write to the default directory.

The issue is that the app crashes on the device when it gets to load configuration. teh configuration requires that the data directory be specified. So I made a simple function to test of the native core file plugin is working. Here is the function:
testfileOp(){
this.filestr.checkDir(this.filestr.dataDirectory, 'logs')
.then(_ => console.log('Directory exists'))
.catch(err =>
console.log('Directory doesn't exist'));
}
The same error  that occured when I run your script also happens here.
Here is the error message:
Property 'dataDirectory' does not exist on type 'File'
FYI, by app  does not start on the device  because of that

Interesting, but the fact that the dataDirectory property doesn't exist on the type File suggests misconfiguration of the File plugin, not this library. Your code snippet above doesn't actually invoke any code from this library at all, and in fact seems to come directly from here: https://ionicframework.com/docs/native/file
I recommend trying to investigate why your app is failing to properly use the File plugin. See if you can write some data to a file using your own code. If you can get that to work, I suspect you will be able to use this library as well.

In my app component, I used the following to init the function:
this.log.init({
// Your config here /
enableMetaLogging: false,
logToConsole: false,
logDateFormat: 'yyyy-MM-dd HH:mm:ss.SSS',
fileDateFormat: 'yyyy-MM-dd_HH-mm-ss-SSS',
fileMaxLines: 2000,
fileMaxSize: 1000000,
totalLogSize: 5000000,
baseDir: null,
logDir: 'logs',
logPrefix: 'log',
devMode: false
}).catch(e => {
console.log(e);
});
Here is the error message
TypeError: Object(...) is not a function
at File.get [as dataDirectory] (index.js:649)
at logprovider.ts:56
at t.invoke (polyfills.js:3)
at Object.onInvoke (core.js:4760)
at t.invoke (polyfills.js:3)

@ojpeters Did you successfully create a file in your app manually using the File plugin as recommended?

No, I am not able yet to create a file. I am not sure what the issue is. Any advice?

Unfortunately your issue seems to be with the configuration of the File plugin in your project. Things I would recommend to try:

Make sure you have correctly added the plugin as well as the npm package to your project as per the "Installation" instructions here:
https://ionicframework.com/docs/native/file

Try version 4.17.0 of the file plugin. That is what one of my projects uses which successfully integrates this this library.

Have a look through the Ionic forums or https://github.com/ionic-team/ionic-native issues list to see if you can find similar issues with solutions. (A quick google led to this, which may be relevant: https://forum.ionicframework.com/t/error-typeerror-object-is-not-a-function/154554/6)

For now, I'm going to close this issue. If you get basic file operations working via the native plugin but still have issues with the file logger, please feel free to open a new issue.

I was also faced same error, but i am able to fix it by making following changes. Note I am using ionic 5
File to update :
node_modules/ionic-log-file-appender/log.service.d.ts
node_modules/ionic-log-file-appender/fesm2015/ionic-log-file-appender.js
In both of above files I have made following changes:
import { File } from '@ionic-native/file/ngx';
import { Platform } from '@ionic/angular';
I have update "from" part in above imports
Thats all.

Thanks for the feedback, we'll look into updating the dependencies for this project


Document usage with systemd

We should provide an example systemd config file in our documentation.
See https://github.com/GoogleCloudPlatform/cloud-sql-proxy/issues/4#issuecomment-768069608.

Something like this:
[Unit]
Description=AlloyDB Auth Proxy service
Wants=network-online.target
After=network-online.target

[Service]
WorkingDirectory=/usr/bin
ExecStart=/usr/bin/alloydb-auth-proxy <INSTANCE_URI>
Restart=always
Type=simple
StandardError=syslog
StandardOutput=journal
KillMode=process

[Install]
WantedBy=multi-user.target

Once we finish this, we should also update https://cloud.google.com/alloydb/docs/auth-proxy/best-practices and link to the setup.


Add client GRPC interceptor to handle errors that are not caught in the current exception handlers

The 503 when Camunda Cloud is pre-empting the cluster especially, I want to wrap to explain what is happening.
See here: https://github.com/grpc/proposal/blob/master/L5-node-client-interceptors.md#proposal

Implemented, see here: https://github.com/creditsenseau/zeebe-client-node-js/blob/master/src/lib/GrpcClient.ts#L590


PubSubService implementation

Contains CRUD operations for streams and subscriptions.

Lets rebase these commits to get rid of some of the junk before we merge it.


[BUG] The last item is not visible in settings menu

Your Rocket.Chat.Android version: 3.4.0 (2061)
Mobile device model: Xiaomi Redmi 3
OS version: Lineage OS, Android 7.1.2
Your Rocket.Chat Server version: 0.74.3
Possibly due to the fact that for administrators there is a menu item "Admininistration".

Thanks for submitting issue. I'll work on it.


Remove px-2 from icon only button

We currently add the class px-2 to icon only buttons which is a bootstrap utility class. Unfortunately, bootstrap uses !important on the style it adds, so the only way to override it is using !important which is bad practice. Utility classes should be easily overridden
Checking for kind="ghost" should find any uses of the button with many of those being not icon only.

The reason we have the padding is so the icon buttons have a bit bigger click box. Maybe we should just switch it to default to a class we define instead that doesn't include !important so we can override easily as needed


php80: 8.0.7 -> 8.0.8, php74: 7.4.20 -> 7.4.21

Motivation for this change
fixes CVE-2021-21705 and CVE-2021-21704
Changelog for 7.4 has not been posted yet, only 8.0 and 7.3 (which we don't have anymore), so far.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

manually backported in #128913


[WIP] Fix Infix causing ignoring renamings

Fixes #1138
Problem
Pattern matching in RenameProperties expected Query even in cases where an Ast could slip trough.
Solution
Use Ast instead of Query in partial functions in RenameProperties.applySchema and add the Infix case there.
Notes
The tests locally failed with an error regarding some DB connection. Probing?
I hope that PR will trigger CI. I'll check the checklist as soon as I know the tests pass.
Checklist

[ ] Unit test all changes
[ ] Update README.md if applicable
[x] Add [WIP] to the pull request title if it's work in progress
[x] Squash commits that aren't meaningful changes
[x] Run sbt scalariformFormat test:scalariformFormat to make sure that the source files are formatted

@getquill/maintainers

@getquill/maintainers please see the schema aggregation. I am not sure about that. The following support only only one param in infix, which is not enough
      case Infix(parts, List(param)) =>
        val (p, schema) = applySchema(param)
        (Infix(parts, List(p)), schema)

yet the following does not work
      case Infix(parts, params) =>
        val (ps, schemas) = params.map(applySchema).unzip
        (Infix(parts, ps), Tuple(schemas))

and fails with
"SELECT time, [freq, f]req FROM Table ALLOW..." did not equal "SELECT time, [srcFreq, dstF]req FROM Table ALLOW..."
ScalaTestFailureLocation: io.getquill.context.cassandra.RenamedAllowFilteringSpec$$anonfun$1 at (RenamedAllowFilteringSpec.scala:17)
Expected :"SELECT time, [srcFreq, dstF]req FROM Table ALLOW..."
Actual   :"SELECT time, [freq, f]req FROM Table ALLOW..."

Since Tuple(schemas) does not seem to be enough, how to aggregate the schemas then?

Well, it seems that unconstrained infixing is too general to solve anyway ... For example, it seems that
infix"${query1} WHERE column IN ${query2}"

with column renamings is not Dealiased properly. Should I be concerned with it or is fixing the simple case with a single query enough?

@letalvoj I've made it working with (placed right after case Map(q: Operation...
case Map(Infix(parts, params), x, p) =>
        val schema = params.collect {
          case q: Query => applySchema(q)._2
        } match {
          case List(e) => e
          case ls      => Tuple(ls)
        }
        val replace = replacements(x, schema)
        val pr = BetaReduction(p, replace: _*)
        val prr = apply(pr)

        (Map(Infix(parts, params), x, prr), schema)

This addresses your concerns about multiple schemes and prevents of changing definition of applySchema.  Feel free to use it in your PR.
Also I have a note about unit test you've added, please remove those 2 files you've created and place the tests under io.getquill.context.sql.norm.RenamePropertiesSpec to follow conventions

Cool, thanks. 👍 There is an issue with the method being longer than 50 lines. I do not actually like the idea of splitting it, it makes sense like it is. Is there a way to tell the code quality tool to ignore it?
I'll move the tests and try to write more tests to understand which cases it actually solves.

@letalvoj Did you mean this one https://app.codacy.com/app/fwbrasil/quill/pullRequest?prid=2235554#new-file-issues-22885005006 ? Just ignore it =)

Still a bit ambigous. If I am supposed to force codacy to ignore the particular issue, then I do not know how. The only way I found was to ignore the whole file 🤦♂
https://support.codacy.com/hc/en-us/articles/360005097654-Ignore-files-from-Codacy-analysis

@letalvoj I meant to ignore it by yourself, we'll be able to merge PR if CI and coverage passes.

@mentegy hey, sorry for the delay ;-) I've pushed the changes you proposed and moved the test. Thanks again.


S3C-349 backbeat routes

Description
Add internal routes to allow backbeat to put raw data and metadata on destination
Motivation and context
part of backbeat replication extension
Related issues
https://scality.atlassian.net/browse/S3C-349

@ironman-machine try

Hello @jonathan-gramain
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "DEFAULT_BRANCH": "master", "SCALITY_S3_BRANCH": "ft/S3C-349-backbeatRoutes"}
Please follow http://ci.ironmann.io/gh/scality/Integration/13938 for CI status.

@ironman-machine try

Hello @jonathan-gramain
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "DEFAULT_BRANCH": "master", "SCALITY_S3_BRANCH": "ft/S3C-349-backbeatRoutes"}
Please follow http://ci.ironmann.io/gh/scality/Integration/13971 for CI status.


Delete Visual Studio include files

Now that the agreed upon work to update high page view topics for older versions of VS is complete (and the low page view topics are archived), this PR completes the work to delete all the VS includes files and replace references with literal strings. Also bullets See Also lists in some places.

@BillWagner Thanks for reviewing! Merging it now.


Cannot convert undefined or null to object

Bug Report
Current Behavior
I have updated probot version in my github app from 9.11.3 to 11.4.1
after that existing test cases started failing. which is ofcource expected as there are many breaking changes in both versions.
There is test case to test graphql call. Call is mocked like this.
 nock('https://api.github.com').post('/graphql', getDefaultBranch)
      .reply(200, defaultBranchFixture);

and actual call is like this
const github = await app.auth(installationId);

const data = await github.graphql(getDefaultRef, {
    owner: repository.owner.login,
    repo: repository.name,
  });

its failing at this actual call with error
 TypeError: Cannot convert undefined or null to object
        at Function.keys (<anonymous>)
at set (node_modules/@octokit/auth-app/dist-src/cache.js:42:18)
      at getInstallationAuthentication (node_modules/@octokit/auth-app/dist-src/get-installation-authentication.js:47:11)
      at hook (node_modules/@octokit/auth-app/dist-src/hook.js:42:34)
      at Object.<anonymous>.exports.getCommits (lib/sync/commits.js:11:16)
      at execute (lib/sync/installation.js:183:18)
      at lib/sync/installation.js:192:38

This is how probot app was setup previously and now. I think issue is in this probot instance only.

Expected behavior/code
A clear and concise description of what you expected to happen (or code).
Environment

Probot version(s):  [11.4.1]
Node/npm version: [Node 12/npm 6]
OS: [Mac]

Possible Solution

Additional context/Screenshots
Add any other context about the problem here. If applicable, add screenshots to help explain.

Could you create a minimal test case to reproduce the problem? Maybe just use the Probot constructor with the cache key and then run app.auth(installationId) twice to see if the cache is working correctly?

Hey I updated probot instance like this in test and it resolved the issue
 global.app = await configureRobot(new Probot({
    githubToken: 'test',
    Octokit: ProbotOctokit.defaults({
      retry: { enabled: false },
      throttle: { enabled: false },
    })
  }), { getRouter: Router });


Enhance logs when calling eth_sendRawTransaction to include from and …

Description:
Enhance logs when calling eth_sendRawTransaction to include from and to fields besides the raw transaction
Related issue(s):
Fixes #965
Notes for reviewer:
Example of how the log is being emmited:
[Request ID: 7ae06193-cb99-4801-9d08-ba58c93b2d97] sendRawTransaction(from=0x13212A14deaf2775a5b3bEcC857806D5c719d3f2, to=0xCbc6Dd75DF500dC07baD5eF67374aBbb3c8586F9, transaction=0x02f8d4820128038459682f008601e4a3116f0083061a8094cbc6dd75df500dc07bad5ef67374abbb3c8586f980b864a41368620000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000d48656c6c6f204675747572652100000000000000000000000000000000000000c001a07ce36254e2d9e7d122016d2948ecf217ab1ad730f240b0e24bee7d2e083ff312a02618a524e5fd5a421ab76dad4f71cd376be0c6bee9bcca4bcbf5967bd18b1526)
Checklist

[ ] Documented (Code comments, README, etc.)
[x] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 75.00% and project coverage change: -0.02 :warning:

Comparison is base (98330df) 74.41% compared to head (ec67e66) 74.40%.

:exclamation: Current head ec67e66 differs from pull request most recent head 1dd5afb. Consider uploading reports for the commit 1dd5afb to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #966      +/-   ##
==========================================
- Coverage   74.41%   74.40%   -0.02%
==========================================
  Files          28       28
  Lines        1888     1891       +3
  Branches      355      356       +1
==========================================
+ Hits         1405     1407       +2
  Misses        381      381
- Partials      102      103       +1

Impacted Files
Coverage Δ

packages/relay/src/lib/eth.ts
84.90% <75.00%> (-0.10%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Exts: add Nicknames extension

With #31, we have removed the legacy implementation of persisting Gallonmate nicknames. The idea is to make this functionality generic and re-implement it as a standalone extension. We now have Tortoise in place, so the persistence should be easy, all that needs to be done is the command interface.

Closing: no longer desired.


feat: Create Individual Virtual Env for the Kernel

This is a follow/up of #73. I originally planned to re-open that one, but this seems impossible. The change addresses https://github.com/ricklamers/gpt-code-ui/discussions/6 and https://github.com/ricklamers/gpt-code-ui/issues/62 - at least partially.
The idea is as follows:
We first create a base venv that is not to be deleted and can be re-used easily. There we install all default packages. (Thus, the very first start after applying the change is still slow).
Then, whenever a kernel is invoked, we create another, kernel-specific, venv without any additional packages. Instead, we create a link that points to the packages installed in the base image by installing a .pth file inside its site_packages dir. This way, the derived venv has access to all packages that have been installed in the base image. The Python binary from the derived venv is used to finally start the IPython kernel. The base image is intended to stay immutable and will not be actively used. If an additional package is needed, the corresponding !pip install PACKAGE call can be executed and packages do neither pollute the system environment nor the base venv. All newly installed packages end upon the kernel-specific venv. While they are lost on exit/restart (we delete the derived venv when the kernel exists), the packages inside the base image are not.
The overall idea is coming from https://stackoverflow.com/a/75545634.
An example prompt for this is
Use rdkit to plot the molecule with the SMILES string 'CC1CCC/C(C)=C1/C=C/C(C)=C/C=C/C(C)=C/C=C/C=C(C)/C=C/C=C(C)/C=C/C2=C(C)/CCCC2(C)C'.

I think (!), this could be a good baseline for addressing https://github.com/ricklamers/gpt-code-ui/discussions/67 as well. - At least, running kernels with separate environments are possible this way.

Hi @ricklamers, answering here to you comment in #73:

Although the .pth approach is somewhat exposed to the user, it does feel like it's breaking a line of abstraction provided by regular virtual environment use (venv or virtualenv). I'm not opposed to it entirely, but this approach could lead to unexpected consequences. For one, I'm not aware what kind of limitations there are for such "derived" virtual environments compared to a "regular virtual environment". Open to exploring this direction! Just stating my initial thoughts

Actually, the approach with the .pth files is properly documented in https://docs.python.org/3/library/site.html : It is a method to extend the list of package search directories and thus allowing to use packages from another venv. - To me it seems to be the least invasive approach and it even seems to be used very similarly by pip when invoking it with --with-system-packages. Then, the system site_packages dir is simply included in the package search path of the created venv. Newly installed packages end up in the venv while existing packages from the system can be used right away.


feat(render): add render method

Add render method in vue/server-test-utils that returns cheerio wrapper

@eddyerburgh
I think it is necessary to add the documentation about this render method.

Yes agreed. We need to add docs for render and rendertostring.
On Thu, 22 Mar 2018, 12:22 38elements<EMAIL_ADDRESS>wrote:

@eddyerburgh https://github.com/eddyerburgh
I think it is necessary to add the documentation about this render method.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/vuejs/vue-test-utils/pull/477#issuecomment-375285123,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMlbW_l5dl_ym4MCMGZRHPUEdMm7q5qpks5tg5eCgaJpZM4SvZne
.

I think that the api document for this render method is also necessary.
https://github.com/vuejs/vue-test-utils/tree/dcc3167aa1123e102b910b7d101baf642a09716b/docs/en/api


[1.20.1] Ticking entity

https://mclo.gs/IoXNKfd
The related mod is Relics.

I believe such is fixed within 1.21 version of accessories but I'm not quite sure what the problem would be in 1.20.1

Such a fix has been published


[all]

Where requested, have the option to include an [all] link and show all the publications

Now possible with attribute template="all"


List items are supposed to be list items

i taged the list ol and i was supposed to tag it il. i found it out by re-doing front end foundations.

Well done :shipit: :+1:

Well done :shipit: :+1:


alarm data class

some weekdays are missing from the alarm data class. the data type for each day is to be boolean, and the name should only be the first three letters of the day.

Hey, @rudrankbasant can I take up this issue?


No address associated with hostname

Why need resolve hostname since I use ip address?
java.net.UnknownHostException: Unable to resolve host "myhostname": No address associated with hostname

I tried other library and work fine :(

How do you use the library? Show us code please.

AsyncHttpClient client = new AsyncHttpClient();
client.get("http://<ip_address>/api/test", new JsonHttpResponseHandler() {
.....
.....
});

I found the solution but strange :)  "Cellular data" must be On

That's strange, well we should add an IP address use-case to our samples, to make sure it works properly. Could it be that your DNS on wifi / tethering setting was not picking up on the IP address correctly?

I think my network is fine.
Like I said, other library (volley) work fine.

Have you tried defining your HttpUriRequest in meaning of these SO threads?
https://stackoverflow.com/questions/18766705/unable-to-resolve-host-url-no-address-associated-with-hostname
https://stackoverflow.com/questions/9350732/android-unable-to-resolve-host

I use ip address in url and find 'host' in header has auto set the ip address by these code in AsyncHttpClient :
 httpClient.addRequestInterceptor(new HttpRequestInterceptor() {
            @Override
            public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException {
                AuthState authState = (AuthState) context.getAttribute(ClientContext.TARGET_AUTH_STATE);
                CredentialsProvider credsProvider = (CredentialsProvider) context.getAttribute(
                        ClientContext.CREDS_PROVIDER);
                HttpHost targetHost = (HttpHost) context.getAttribute(ExecutionContext.HTTP_TARGET_HOST);

                if (authState.getAuthScheme() == null) {
                    AuthScope authScope = new AuthScope(targetHost.getHostName(), targetHost.getPort());
                    Credentials creds = credsProvider.getCredentials(authScope);
                    if (creds != null) {
                        authState.setAuthScheme(new BasicScheme());
                        authState.setCredentials(creds);
                    }
                }
            }
        }, 0);

I need to set host in header then my server can know this request,so I do this in my project:
  client.getHttpContext().setAttribute(ClientContext.TARGET_AUTH_STATE,"test");
  client.addHeader("Host", "xxxhost.com");

then the url whit ip address request success
Are there  other ways to set host it ?
Version 1.4.9

@smarek what do you mean? I only try example from this url http://loopj.com/android-async-http/.

@wirasto there are samples of implementation provided along with the library in repository, https://github.com/loopj/android-async-http/tree/master/sample/src/main/java/com/loopj/android/http/sample
These can be built and installed on device, so you can test if your device is behaving correctly or if the library has any issues with that particular device.

I have the exact same problem. I don't see how the example code might help. I'm running the application on my mobile phone and the server is on my laptop so I need to use the IP adress. Somehow the API resolves the IP address to a hostname and tries to contact it.

Hey there!
I have the same problem!
But, if i try use remote url (my hosting), all be ok
But in other way, using local address (nginx web server with yii2), a have error "Unable to resolve host "yii.hostname.local": No address associated with hostname"
In my hosts file have a line about it (linux mint 18)
Thx


Comments in Rmarkdown

Commenting in .Rmd-Documents is done in two ways:
<!-- This is how to comment markdown parts -->
```{r}
# this is how to comment chunks of R-code
```
Currently, everything is commented with #, which doesn't work for the markdown-parts.
A support for comments in both modes would be great.

I believe rmd support comes from an extension


Lua error fix

Fixes: #https://github.com/wiremod/advdupe2/issues/338

My fork beaned of course. Going to rebase later.


Faster state switch

Close #2156 .

Also, the discussion https://github.com/nspcc-dev/neo-go/pull/2201#discussion_r744694554 is still relevant.


Limiting continuous extrapolation in servoThread

Affected Client Library version(s)
1.3.7
What combination of platform is the Client Library running on.
Linux
How did you install the Client Library
Build the library from source
Which robot platform is the library connected to.
URSim in docker
Robot SW / URSim version(s)
5.16.0
How are you using the Client Library
Through the robot teach pendant using External Control URCap
Summary
Currently in ServoThread, there is no limit to how many consecutive extrapolations can occur. In the case of a connection drop, the arm ends up moving a large distances. I wanted to share the fix that we have been using for this issue and was looking to push it upstream.
Draft PR with the fix: https://github.com/UniversalRobots/Universal_Robots_Client_Library/pull/216

In case of a connection drop reading the next command should fail leading to control_mode being set to STOPPED which will in turn end the while loop and shut down the motion thread.
Or in other words: The robot extrapolates as long as the number of missed packages is still in the range of allowed packages to be missed.
What is your setup where you experience these issues?


new users don't realize non-default streams exist

Often times with Mixxx, we have new users start topics in streams that are not the most appropriate stream because they do not realize that we have dedicated streams for some topics. They do not realize that those other streams exist until they are told. Together with #6427, this can make it a bit challenging to keep discussions organized the way the streams are intended to be used.
I do not know what the best way to solve this would be, but I think some usability tests would be appropriate. I think implementing #6693 would alleviate this issue but not solve it completely.

We've definitely encountered this problem in the rust-lang/rust channel. I had two thoughts for how one might fix it:

Offer users a list of streams to pick from when they are first registering
Allow instances to subscribe users to all streams by default, and then have users opt out

Personally I might prefer a combination of both -- let users pick what streams they want, and have the default be "all streams".

Just to make sure, you've seen https://zulipchat.com/help/set-default-streams-for-new-users?

@rishig yep, I just went and added "all the streams" as defaults yesterday when I realized why everybody was getting so confused.
One thing that would be nice: when you go to configure a stream, it'd be nice if it had a checkbox on it "Add by default for new users", but I guess that's a separate feature request.
(That is, right now, there is a list of defaults, but I'd like to be able to go the other way.)

Agreed; I'm kind of surprised we don't have it. First step to solving this issue is probably to add it to the stream creation flow and the stream settings pages.
In the stream creation flow it can go under "Announce stream", as [ ] Add to default streams. Default streams can be a link to our help article about it. It should only appear for org admins.
In stream settings it can be a checkbox in small font under the public/private description: [ ] Include in default streams. It should appear for everyone but only be clickable if (the user is an admin) and (the stream is public or the user is subscribed to the stream).

Are you working on this. I just experienced this myself, adding new streams is not really a visible thing, only a tiny gear over the streams...
Maybe add a "Configure Streams..." text button directly below the streams? You simply need to create more visibility.

Maybe add a "Configure Streams..." text button directly below the streams?

I wouldn't want this perpetually taking up space in the UI. Configuring streams is generally a set-and-forget action. I think this UX issue would be better addressed by changing something only at the time a new user registers.

Maybe a short intro to zulip and point out the button. That could also help against new users posting randomly somewhere or creating test topics.

I think adding a "+" icon to the UI could help, especially if the new user tutorial points it out.

We've just been evaluating Zulip and found stream discoverability to be an issue as well. Having a + button would be clearer, maybe even making it change colour to notify when a new stream is introduced (and obviously clearing once you've clicked it and seen the new stream). Adding defaults for new users is fine, but it would be good to ensure that any current users have opportunity to see when potentially relevant new streams are set up.

yeah, I think there are several things we want to do in this space:

#11642 (Add something at the bottom of the streams list)
Make it easier to set streams as default streams while you're creating them (at least for admins)

It's worth noting that when you create a stream, you have the option of "announcing" it, which provides one way for current members to find out about it.

I think with #12318 merged which closes #11642, this can be closed? Not sure how often the hosted zulipchat.com is updated, but looking forward to seeing this change there.

#12318 is a good step towards solving this, but I think to fully address this, that new "+ Add streams" feature should be added to the new user tutorial.

The changes in #11642 are now on zulipchat.com and will be in our next release; hopefully that will help a lot of folks.  I'm not convinced that we've fully resolved this issue -- I feel like someone could still that "Add streams" is about creating more streams, not subscribing.

btw, it took me like 3 months to realize there were more streams than the default on czo (and I'm a contributor!)

I am closing this, as I think we've taken action on the most obvious fix here, and we just need to improve the wording for the "Add streams" link.  I opened a new issue for that, which will hopefully get more attention than this older issue.


KEP-27: Detailed Control for Pod Restarts

Signed-off-by: Andreas Neumann<EMAIL_ADDRESS>Relates to #1424

I like Proposal 2 a lot, apart from the names of the properties - they describe the implementation rather than the intent. Probably something closer to param-set :thinking: ...

I've reworked the KEP quite substantially, and used @porridge s idea. @zen-dog @kensipe @nfnt Please have another look. I like this idea a lot more, it allows more flexibility, is easier to document and explain and may provide more room for improvement later on.

@kensipe Your reject wasn't reset - you're still marked as "Changes Requested" and the PR is blocked. I just re-requested your review because I changed so much :)


design calendar-page

User story
As a user
I want to apply styling to the calendar-page
to reach the design-goal
Design/Wireframe

AC

[ ] the design should look like the design goal
[ ] the activity-cards should have the same design
[ ] the footer should consists of pictures/svgs
[ ] there should be a placeholder-image for the image-upload

Tasks

[ ] create new branch
[ ] replace the footer-text with svg's
[ ] apply global-style to background
[ ] style calendar

I really like your design!:rocket:


merge from arlac77/template-arlac77-github,arlac77/template-esm-only

package.json

chore(deps): add ^13.0.1 remove ^13.0.0 (devDependencies.documentation)

.travis.yml

chore(travis): (jobs.include)
chore(travis): add 14.4.0 remove 14.3.0 (jobs.include.node_js)

.github/workflows/update_readme_api.yml

add missing .github/workflows/update_readme_api.yml from template

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat: refactor udf/udaf/udwf ReturnType

Which issue does this PR close?

Closes https://github.com/apache/arrow-datafusion/issues/8182
Rationale for this change

In some cases, I need to determine the output type of the function based on the input arguments of the function, but I cannot do this at present. This is because the ReturnTypeFunction provides only the data types of the input parameters.
What changes are included in this PR?

Add ReturnTypeFactory trait
ReturnTypeFunction impl ReturnTypeFactory
Change UDF, UDAF, UDWF's return_type from ReturnTypeFunction into ReturnTypeFactory

Are these changes tested?

Are there any user-facing changes?

Another idea @JasonLi-cn  might be to pursue this idea https://github.com/apache/arrow-datafusion/issues/8051 to "specialize" the function based on its arguments (and in this case the specialization could potentially also include the constants 🤔 )

marking as draft as I think we are working on some other items now

marking as draft as I think @JasonLi-cn is working on feedback now

Ok, I will try to complete this task

FOr anyone following along, this was implemented in a different way, see https://github.com/apache/arrow-datafusion/issues/8624


On DrvFs (D:) mount the access rights are wrong at first and then right

Your Windows build number:  (Type ver at a Windows Command Prompt)

Microsoft Windows [Version 10.0.18990.1]
Build 18990.vb_release.190921-1704

What you're doing and what's happening:  (Copy&paste the full set of specific command-line steps necessary to reproduce the behavior, and their output. Include screen shots if that helps demonstrate the problem.)

1, Created a new Ubuntu 18.04
2, Started it
3, Try to access my files on D: drive

What's wrong / what should be happening instead:

I want right access rights for the first time too.

You can configure the default mounting options by editing /etc/wsl.conf file. See this blog post here Automatically Configuring WSL.

You can configure the default mounting options by editing /etc/wsl.conf file.

I know but it is not related to default mounting options.
The first access of directory/file is wrong, check the ----------' access right on the zanata.xmlat the first list and the-rwxrwxrwx` access right on the second list.

Duplicate of #4116 ?

Duplicate of #4116 ?

Most likely, yes.