Not capturing user IP when performing logout operation in admin portal

Description:
There is a requirement to log client IP for admin-related activities in audit logs in APIM-4.0.0. The configurations required to achieve this are as below.
[audit.log.contextual_param]
params = ["remote_address"][catalina.valves.valve.properties]
className = "org.apache.catalina.valves.RemoteIpValve"
remoteIpHeader="X-Forwarded-For"
protocolHeader="X-Forwarded-Proto"
proxiesHeader="X-Forwarded-By"

But for the log-out operation, we could not capture the IP address of the user.
Login Action
TID: [-1234] [2022-04-01 11:48:36,878]  INFO {AUDIT_LOG} - Initiator : admin | Action : Login | Target : ApplicationAuthenticationFramework | Data : { "ContextIdentifier" : "e0328f0e-1ec7-40fa-81c1-405908a1299e","AuthenticatedUser" : "admin","AuthenticatedUserTenantDomain" : "carbon.super","ServiceProviderName" : "apim_admin_portal","RequestType" : "oidc","RelyingParty" : "iRb8PwPJTsZ7WQ1DuOFXwrS9cYca","AuthenticatedIdPs" : "eyJ0eXAiOiJKV1QiLCAiYWxnIjoiSFMyNTYifQ==.eyJpc3MiOiJ3c28yIiwiZXhwIjoxNjQ4NzkzOTE2ODcyMzAwMCwiaWF0IjoxNjQ4NzkzOTE2ODcyLCJpZHBzIjpbeyJpZHAiOiJMT0NBTCIsImF1dGhlbnRpY2F0b3IiOiJCYXNpY0F1dGhlbnRpY2F0b3IifV19.pU6uR2MO9sEyKQsw3Qj2IHMCNCQ=","User Agent" : "null","RemoteAddress" : "<IP_ADDRESS>","UserStoreDomain" : "PRIMARY" } | Result : Success
Logout Action
TID: [-1234] [2022-04-01 11:49:26,261] INFO {AUDIT_LOG} - Initiator : admin | Action : Logout | Target : null | Data : { "ContextIdentifier" : "56c14984-7a91-4ff5-a07c-bb611897e505","LoggedOutUser" : "admin","LoggedOutUserTenantDomain" : "carbon.super","ServiceProviderName" : "apim_admin_portal","RequestType" : "oidc","RelyingParty" : "iRb8PwPJTsZ7WQ1DuOFXwrS9cYca","AuthenticatedIdPs" : "eyJ0eXAiOiJKV1QiLCAiYWxnIjoiSFMyNTYifQ==.eyJpc3MiOiJ3c28yIiwiZXhwIjoxNjQ4NzkzOTE2ODcyMzAwMCwiaWF0IjoxNjQ4NzkzOTE2ODcyLCJpZHBzIjpbeyJpZHAiOiJMT0NBTCIsImF1dGhlbnRpY2F0b3IiOiJCYXNpY0F1dGhlbnRpY2F0b3IifV19.pU6uR2MO9sEyKQsw3Qj2IHMCNCQ=" } | Result : Success
As you can see the RemoteAddress is not there in the logs for logout action.
Affected Product Version:
APIM-4.0.0

@RakhithaRR can you check and close this please

Closing this as the fixes are added to both master and 5.3.x branches.


CodedOutputStream::flush does not flush

flush calls .write_all() on the underlying std::io::Write but this does not necessarily actually flush the writer. For instance, if you try using stdout as the writer you will notice that data does not get flushed.

For rust-protobuf 3 we should definitely do that.
Since Write::flush says "ensuring that all intermediately buffered contents reach their destination", and BufWriter::flush also flushes the underlying writer, that is probably the right thing to do, although it might performance-break some users.
Additionally, we need to add existing functionality with a name like flush_buf.


[building] Recommendation to load modules from CDN using absolute path (e.g. /cdn/something.js))

We are planning to use open-wc to develop Micro Frontends. One requirement of micro frontends is to load modules (both normal and dynamic import) from absolute path of same host. Currently we are using rollup but are open to any other bundler like webpack etc.
Approach 1: (working for normal imports, except for preload links)
Combine rollup's output.path with createCompatibilityConfig like
const [legacy, modern] = createCompatibilityConfig({ input: './index.html' });
const configmapper = (config, isLegacy) => ({
  ...config,
  // configs can be overriden here
  // preserveSymlinks: true,
  external: ['fts-cdn'],
  output: {
    ...config.output,
    paths: {
      'fts-cdn': `/cdn/${isLegacy ? 'legacy/' : ''}index.js`,
    },
  },
  plugins: [
    ...config.plugins,
  ],
});
export default [
  configmapper(legacy, true),
  configmapper(modern, false),
];

It's working fine and modules are resolving from cdn. There is one minor issue. generated module preload url is still unaffected
<link rel="preload" href="fts-cdn" as="script" crossorigin="anonymous">
It should be <link rel="preload" href="/cdn/<whatever>" as="script" crossorigin="anonymous">
Any Idea what I am doing wrong? I think it has something to do with rollup-plugin-index-html
Approach 2: (working for both normal and dynamic imports, except for preload link)
Use rollup-plugin-rewrite
import { createCompatibilityConfig } from '@open-wc/building-rollup';
import rewrite from 'rollup-plugin-rewrite';

const staticImportVendorPattern = /\"fts-cdn\"/mg;

const [legacy, modern] = createCompatibilityConfig({ input: './index.html' });

const configmapper = (config, isLegacy) => ({
  ...config,
  external: ['fts-cdn'],
  // configs can be overriden here
  // preserveSymlinks: true,
  plugins: [
    ...config.plugins,
    rewrite({
      find: staticImportVendorPattern,
      replace: () => `"/cdn/${isLegacy ? 'legacy/' : ''}index.js"`,
    }),
  ],
});

Approach 3:  (not working with absolute paths)
Use rollup's hooks like resolveId and resolveDynamicImport e.g.
resolveId(source) {
  if (source === 'fts-cdn') {
    return {id: `/cdn/${isLegacy ? 'legacy/' : ''}index.js`, external: true};
  }
  return null;
}

but problem is resolveid doesn't work properly with absolute path (starting with forward slash). It transforms path to something like ../../../../../<up up up...>/cdn because of some undocumented normalization process. Paths starting with ./  and ../ work fine (because normalization is disabled for these paths as mentioned in docs).
Approach 4: (not compatible with absolute urls without host)
use 'rollup-plugin-esm-import-to-url'

I think approach 2 can be finalized if we can somehow customize preload link generation from rollup-plugin-index-html

I think we can make recommendations/best practices to create Micro Frontends a part of open-wc.
That should cover how to

integrate different apps/micro frontends that are developed and deployed independently (on same host but on different path like /app1, /app2, /cdn) using compatibility config of open-wc.
load modules/apps (using absolute path)
cache busting of modules/apps (using import maps?)

I am currently working on a rewrite of our rollup plugin and polyfill loading mechanism. Will make sure to include this use case


Get audio only

I don't need the video, because I listen to those videos (conference talks mainly) on the bike. Do you think that building the pipeline for extracting audio from video is the only way?
https://github.com/rg3/youtube-dl#post-processing-options

And the most important thing: thank you very much for publishing this application, Michael!

cc @likelion

I actually figured out how to do what I wanted to accomplish. I had to change the acceptable format list to:
formats = [139, 249, 250, 171, 140, 251] if self.audio_only else [139, 249, 250, 171, 140, 251, 43]

In other words, I prefer audio independent of whether video is audio_only.

I'm not sure, I really get what behaviour you wanted to change. Do you want to get audio-only episodes, even when audio_only is set to False?
In any case, the source line you cited would probably need some love, maybe by making the two lists configurable because those lists are tailored to what my  iPhone 4 will play and may not be the best selection for everyone.

My bad, I misunderstood the option.


#[serde] return type coerces ResourceId to a string

#[op2(core)]
#[serde]
pub fn op_resources(state: &mut OpState) -> Vec<(ResourceId, String)> {
  state
    .resource_table
    .names()
    .map(|(rid, name)| (rid, name.to_string()))
    .collect()
}

returns this in JavaScript
{ "1": "stdout", "2": "stderr" }

The keys are turned into strings, even though they are defined as numbers.

Closing -- false alarm


[BUG] API not found exception

Release version
2.0.2
Describe the bug
The Publisher raises the "Api not found" exception in case we want to associate Tags to an API.
The exception is raised only when the API is not already present into the API Management instance.
If the API already exists, no exception is raised.
Expected behavior
Tags to be associated properly to the APIs.
Actual behavior
The APIs are created without any associated Tag.
Reproduction Steps
1st Run

Be sure to don't have already the API on the API Management instance
Create a new API definition specifying tags into the tags.json file
Run the Publisher tool

The following exception is raised:
System.InvalidOperationException: HTTP request to URI failed with status code 404. Content is '{"error":{"code":"ResourceNotFound","message":"Api not found.","details":null}}'.
         at common.HttpPipelineExtensions.Validate(Response response) in /home/vsts/work/1/s/AzAPIMPOC/v2.0/tools/code/common/Http.cs:line 85

The API is created successfully while the Tags association not.
2nd Run

Re-run the Publisher tool

The Tags association is now done successfully.

Thanks for raising this, @xgigiotto. We had an issue with long-running operations that was fixed in #148. We will push a release with this fix shortly. In the meantime, would you mind retrying with the latest code in the main branch and seeing if you still have this problem?

Hi @guythetechie, I can confirm that using the version from the main branch the behaviour is correct.
Thanks a lot.

Is this released yet or we shall still use the main branch?

It's in the latest release.


Man Lift Inspection Form and Capture

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

This is complete and migrated. Migrating model is in place and am starting to migrate objects to new site.


Blank Canvas when navigating between two pages that have a TresCanvas

Describe the bug
TresJS scene does not display when you navigate between two pages that have a <TresCanvas>
When the current page has a <TresCanvas> and you navigate to another page that has a <TresCanvas>, new page displays a blank canvas.
When the current page does not have a <TresCanvas> and you navigate to another page that has a <TresCanvas>, new page works as expected.
Same behaviour on latest Chromium and Firefox.
Only Firefox outputs a warning: "WebGL Context lost"
Reproduction
https://stackblitz.com/edit/nuxt-starter-tg1cya
Steps to reproduce
Create a nuxt Project.
Add a "pages" folder to enable routing.
Inside "pages" folder, add 3 .vue files. On two of them, add a TresCanvas with a basic scene inside.
Then navigate between the pages to experience the bug.
On my reproduction, just use the three links to navigate between pages.
Home does not have a <TresCanvas>
Page1 and Page2 have a <TresCanvas>
System Info
@tresjs/nuxt 1.1.7
nuxt 3.7.4

Used Package Manager
yarn
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] The provided reproduction is a minimal reproducible example of the bug.

Have you resolved this issue?
I am currently facing it too.
     "nuxt": "^3.7.4",
    "@tresjs/cientos": "^3.5.0",
    "@tresjs/core": "^3.3.0",
    "@tresjs/nuxt": "^1.2.0",
    "@tresjs/post-processing": "^0.4.0",

Hey there, @T-Mike @markus-gx did you guys tried out latest version v1.2.0?
Daniel and I made some changes that might solve this issue, I had it too in the playground and now it works.
Could you please update and try again to see if it works?

Hey there, @T-Mike @markus-gx did you guys tried out latest version v1.2.0?
Daniel and I made some changes that might solve this issue, I had it too in the playground and now it works.
Could you please update and try again to see if it works?

Sadly not. Already on the latest version.

     "nuxt": "^3.7.4",
    "@tresjs/cientos": "^3.5.0",
    "@tresjs/core": "^3.3.0",
    "@tresjs/nuxt": "^1.2.0",
    "@tresjs/post-processing": "^0.4.0",

I confirm, problem still here with version 1.2.0

Yep it's reproducible, I will investigate further. Its weird because the playground its done with Nuxt module and works. 😅
https://playground.tresjs.org/

Yes still happens. https://stackblitz.com/edit/nuxt-starter-jreyrm
And for your previous comment, I checked the playground and this is not the same situation. If I'm not mistaken, the home doesn't have a tresjs animation and nowhere on the playground you go from an experiment to another experiment (ie. from a page with a Tres canvas to another page with a Tres canvas).

@T-Mike gotcha! Thanks

Hey everyone @T-Mike @markus-gx sorry took so long to get back to you. I've been trying to figure out this bug the last 3 weeks and the only workaround I found was to wrap the TresCanvas on each page with a <ClientOnly> 😥
My rough guess is that the SSR version of the component is causing the issue, but now after the new version of nuxt 3.10.0 is completely broken #83 , I already reach out to the nuxt team for help.
Sorry for the inconvenience

Sure, I will close this issue and then try the latest version of Tres to see if the first problem still exists, and provide videos and reproduction code.


Progress bar

@swo for my edification, how are you getting the print strings formatted? I'm constantly surprised nothing objects to the really long ones, and they're eye-watering, but I don't want to constantly have to break them up by hand.

@swo for my edification, how are you getting the print strings formatted? I'm constantly surprised nothing objects to the really long ones, and they're eye-watering, but I don't want to constantly have to break them up by hand.

I've been doing them by hand. Ruff doesn't do this (yet): https://github.com/astral-sh/ruff/issues/6936


feat: Added NOAA weather and BDIFF wildfire history datasets

This PR is based on #3 with several simplifications to ease the later development:

added implementations of NOAA weather dataset and BDIFF history
added a fallback mechanism for remote data sources
added the datasets module documentation
updated unittests accordingly (though they could still be expanded)
added an example script, that you can run with : python scripts/example_weather_wildfire.py
fixed license mentioned in setup.py

Here is how the documentation renders:

The best course of action might be then to split up #3 into multiple PRs for the models and perhaps dataset merge (i.e. for now, I didn't create a real MergeDataset object, but it's built up in the example script)
Any feedback is welcome!

It works for me thanks @frgfm

Hello @frgfm, thank you for the PR.
I am currently reviewed it, but it seems that our classes do not work correctly. I just ran the script example example_weather_wildfire.py and it seems to me that the merger using df = pd.merge(weather, history, left_on=['DATE', 'code'], right_on=['date', 'Département'], how='left') does not work. We shouldn't be getting NaN values, should we ?

Concerning the dataset merging should we abstract it away from the user. What I mean by that is that we could keep all the function needed to fetched and merge the data under the utils.py module host the clean dataset with the release and only have one dataset class.
Let me know what you think !

Concerning the dataset merging should we abstract it away from the user. What I mean by that is that we could keep all the function needed to fetched and merge the data under the utils.py module host the clean dataset with the release and only have one dataset class.
Let me know what you think !

I'm not sure, I think that the user should have the choice on how to merge the dataset. One might want to merge according to the departement geometry, and another might want to merge according to the nearest weather station such as Camille suggested in #3

@chloeskt @dataJSA About the merging & NAs, I think we might have to rethink the date range selection. Here is the problem :

in #3, the selection is made taking the largest date range of both data sources
here, I take the largest intersecting date range
in both cases, while the weather is always reported for a given location and date, if there is no wildfire in this location & date, there won't be any entry in the data. Meaning that we should consider the wildfire history date range as the date range of the extract request and not the actual data.

The problem with 1 is that we can merge data that are not at all temporarily compatible, and the issue here is that we might get a smaller date range than expected.
My suggestion would be: I remove for now the extra columns that do not bring any extra information, and we deal with date range selection in a separate issue/PR (since this might require to be given much thoughts). What do you think?

@chloeskt @dataJSA About the merging & NAs, I think we might have to rethink the date range selection. Here is the problem :
1. in #3, the selection is made taking the largest date range of both data sources

2. here, I take the largest intersecting date range

3. in both cases, while the weather is always reported for a given location and date, if there is no wildfire in this location & date, there won't be any entry in the data. Meaning that we should consider the wildfire history date range as the date range of the extract request and not the request response data. (which will be handled when we move to API requests for the different data sources)

The problem with 1 is that we can merge data that are not at all temporarily compatible, and the issue here is that we might get a smaller date range than expected.
My suggestion would be: I remove for now the extra columns that do not bring any extra information, and we deal with date range selection in a separate issue/PR (since this might require to be given much thoughts). What do you think?

I am not sure to get your point. In #3 the selection is made by taking the smallest date range. No matter which dataset has the smallest date range, the wildfire history dataset will contain less rows (as in less dates). However by doing a "left" merge with the weather dataset as the left dataset, we can keep all dates in between the smallest range and only have Statut = 1 for the dates on which there is a fire (i.e. we have an observation in the wildfire dataset), and 0 otherwise (for the dates for which we have historic weather conditions).
Therefore, we shouldn't get a smaller date range than expected. Basically I did this in #3 because I have more recent data in the weather dataset. Also I think it can be useful to have geographic data points on which no fire occured, which we get by using all the weather dataset and doing a left merge (if this dataset in the left one).
I don't know if I'm clear ...
But yes, I agree with you, we can deal with date range selection in a separate PR 👍

@chloeskt I might be missing something because to me, having the smallest date range does not mean having a range that overlaps both datasets. And that's where I'm not following :thinking:
But you know the data far better than I do, so if you have an edit suggestion on https://github.com/pyronear/pyronear-datascience/blob/dataset-draft/pyronear_ds/datasets/utils.py, I'm all ears!

@frgfm oh okay, I understand what you meant now. My bad. I wasn't looking at taking the intersection per se; sorry.
However there is still an issue. When I print the intersection of both datasets, it goes from 01-01-2018 to 30-12-2019. When I run the line history = history[history.date.isin(date_range)] , I get a very small history dataframe, it shouldn't be the case. The whole fire dataset starts on 2018-01-08.
I have yet to located the issue, or maybe I'm just going crazy 😅

Sorry, I might have a bug on my computer, but each time I rerun the example_weather_wildfire.py script I get different results ... I did not change a thing and I got a different result as you can see below: it is normal ? I am the only one to get different results at each run ?

@chloeskt strange, I got the same issue over here actually!
Weirdest thing is: I consistently have the same length of weather data, history data and the same intersecting date range, but after indexing, it does not yield the same thing :man_shrugging:

However I've noticed something for which I do not have any explanation yet: the number of declared wildfires before and after the merge is different was you can see below. We get roughly 2000 more wildfires after the merge, I wonder why.
It's the same in #3 , but I think that it shouldn't be the case; what do you think ?

Thanks for the investigation @chloeskt
I fixed the datetime normalization, and I'm now getting a consistent size of output dataset with the example script :ok_hand:


[Python] [FlightRPC] Index with value of 0 is out-of-bounds for array of length 0

Describe the bug, including details regarding any error messages, version, and platform.
Context
Description

When a table built by concat-ing dictionary arrays of mismatched "schema"/dictionary, the transmitted table appears to be malformed

Reproducible code
import pyarrow.flight as fl
import pyarrow as pa
import enum

class MyEnum(enum.Enum):
    Foo = 0
    Bar = 1
    Baz = 2

schema = pa.schema({
    'col': pa.dictionary(pa.int8(), pa.string())
})

def build_data() -> pa.Table:
    non_empty = pa.table({
        'col': pa.DictionaryArray.from_arrays(pa.array([0, 2], pa.int8()), [x.name for x in MyEnum])
    }, schema=schema)
    empty = pa.table({
        'col': pa.DictionaryArray.from_arrays(pa.array([], pa.int8()), [])
    }, schema=schema)
    # If unify_dictionaries get called here, it works
    return pa.concat_tables([empty, non_empty]) # .unify_dictionaries()

class Server(fl.FlightServerBase):
    def do_get(self, context, ticket):
        table = build_data()
        _ = table['col'].to_pylist()
        print('build table ', table)
        # This doesn't work
        return fl.RecordBatchStream(table, options=pa.ipc.IpcWriteOptions(unify_dictionaries=True))

if __name__ == '__main__':
    server = Server()
    client = fl.FlightClient(f'grpc://localhost:{server.port}')
    client.wait_for_available()
    table = client.do_get(fl.Ticket(bytes())).read_all()
    try:
        _ = table['col'].to_pylist()
        print('got table ', table)
    except Exception as e:
        print(e)
    server.shutdown()

Expectation

to_pylist succeeds

Actual

to_pylist fails with index with value of 0 is out-of-bounds for array of length 0

Observation
Table before IPC
----
col: [  -- dictionary:
[]  -- indices:
[],  -- dictionary:
["Foo","Bar","Baz"]  -- indices:
[0,2]]

Table after IPC
col: [  -- dictionary:
[]  -- indices:
[],  -- dictionary:
[]  -- indices:
[0,2]]

I'm happy to open a PR if someone can point me to the relevant code. Thanks!
Component(s)
FlightRPC, Python

take


GDAXDownloader Hitting API Rate Limit

Expected Behavior

Download historical pricing data from Coinbase Pro (GDAX) via Toolbox
Actual Behavior

Hits API Rate Limit (Error 429) after ~20-30 fetches
Potential Solution

Thread.Sleep() not working as intended perhaps in GDAXDownloader
Reproducing the Problem

Fresh install of latest version of LEAN, working (tested with sample algorithm) installation, build Toolbox project in Visual Studio 19, and run
$ ./Toolbox.exe --app=GDAXDownloader --tickers=BTC-USD --resolution=# --from-date=#
System Information

Win 10, Python 3.6.7 in new conda environment with dependencies.
Checklist

[ X] I have completely filled out this template
[X ] I have confirmed that this issue exists on the current master branch
[X ] I have confirmed that this is not a duplicate issue by searching issues

[ X] I have provided detailed steps to reproduce the issue

@adamw96 are you running more than 1 instance in parallel?

Closing as no response


pipelines-beta

Please use the form below, leaving the prefilled data to help us. Thank you.
Page link: pipelines-beta
Document link: pipelines.md
My Issue/Suggestion
Add information if a start pipeline is started on a recurring schedule, will it always run or will it check if there is also a new commit?

Hi @fitterup, thanks for raising this issue.
Each pipeline can only have one start trigger, and the two possible trigger types (Recurring scheduled and Teamserver push) are independent from one another. This means that the following is true:

If you want your pipeline to run according to both triggers (say, every time you push to your main branch and every Monday at noon), you can create and activate a separate version of the pipeline for each trigger.
If a pipeline is set to run on a recurring schedule, it will run the entire pipeline even if there haven't been any changes to the branch since the last time the pipeline ran.

I hope this helps clarify things! Please do let me know if something remains unclear.
Best,
Dana


Add ryan as an owner of the cluster api repo

/approve
/lgtm

/lgtm

ryanzhang-oss
User is not a member of the org. Satisfy at least one of these conditions to make the user trusted.

I see @dixudx removed the do-not-merge/invalid-owners-file label, just out of curiosity, what would happen if an owner is not org member?

@RainbowMango Ryan(ryanzhang-oss) is an org member, please refer to kubernetes/org#4816.

/verify-owners ryanzhang-oss

/verify-owners


Add INNOPATHS mappings to MEESA

@tatar99, this is the mapping if you want to include the regions ECE, ECS, ... etc in your uploads - they will be renamed to the INNOPATHS regions.
Alternatively, you could let the IIASA database infrastructure to the aggregation for by specifying the mapping, e.g.,
  - Germany (IP):
      - DEU
  - Eastern Europe (IP):
      - CEU
      - POL
  ...

Sorry, I pushed the wrong commit... Closing in favor of #250


Methods for setting EditText text

Need some pass-through methods for setting the EditText:
setText(int resid)
setText(char[] text, int start, int len)
setText(int resid, TextView.BufferType type)
setText(CharSequence text)
setText(CharSequence text, TextView.BufferType type)
Plus equivalent methods for setting the text without triggering an animation.

Added in v1.0.4, which is going to Maven Central now.


unsupport concat type when parse dataflow.

Thanks for your excellent work, but I found it unsupport some operation when parse dataflow graph. The error message it returns is :
File "/usr/local/lib/python3.5/dist-packages/pyverilog-1.1.3.dev0-py3.5.egg/pyverilog/dataflow/bindvisitor.py", line 1339, in getDst
    (str(type(left)), str(left)))
pyverilog.utils.verror.FormatError: unsupported AST node type: <class 'pyverilog.vparser.ast.Concat'> <pyverilog.vparser.ast.Concat object at 0x7fa687524f98>

it seems that the function getDst in dataflow/bindvisitor.py does not support vparser.ast.concat operation.
My verilog source code in attach files. And the top module I want parse is one_round module.
verilogsrc.zip
Hope the tool could be better and I can also do something for the project if possible.

你好，请问你也使用pyverilog编译AES设计了吗？我想编译AES，并获得其dataflow，结果跑了好久都没出结果。但我跑uart的时候，很快。请问你知道为什么吗？

你好，请问你也使用pyverilog编译AES设计了吗？我想编译AES，并获得其dataflow，结果跑了好久都没出结果。但我跑uart的时候，很快。请问你知道为什么吗？
可能是有解析过程有环，导致无限循环了，貌似pyverilog对有环的情况处理不太好，可以top命令看一下是不是进程一直在吃内存。

那你最后跑出来了嘛？我现在需要提取verilog设计中的数据流，我自己写不来编译器，只能找轮子，他这个感觉还可以哦发自我的华为手机-------- 原始邮件 --------主题：Re: [PyHDI/Pyverilog] unsupport concat type when parse dataflow. (#36)发件人：hunterzju 收件人：PyHDI/Pyverilog 抄送：yushi96<PHONE_NUMBER>3@163.com,Comment
你好，请问你也使用pyverilog编译AES设计了吗？我想编译AES，并获得其dataflow，结果跑了好久都没出结果。但我跑uart的时候，很快。请问你知道为什么吗？
可能是有解析过程有环，导致无限循环了，貌似pyverilog对有环的情况处理不太好，可以top命令看一下是不是进程一直在吃内存。
—You are receiving this because you commented.Reply to this email directly, view it on GitHub, or mute the thread.

Hi, could you use English, please?

Hi, could you use English, please?

Sorry, we are discussing the problem we met when parse AES module using pyverilog : the memory expand but can not return a result. I guess maybe there is a ring in the module and pyverilog came into a dead loop, but I have no idea how to solve it.
Sorry again for our behavior.

Sorry

I encounter the same situation. The dataflow analyzer cannot parse AES crypto core. Do you guys have any solution?

Hi, could you use English, please?

Sorry, we are discussing the problem we met when parse AES module using pyverilog : the memory expand but can not return a result. I guess maybe there is a ring in the module and pyverilog came into a dead loop, but I have no idea how to solve it. Sorry again for our behavior.

Thanks for your excellent work, but I found it unsupport some operation when parse dataflow graph. The error message it returns is :
File "/usr/local/lib/python3.5/dist-packages/pyverilog-1.1.3.dev0-py3.5.egg/pyverilog/dataflow/bindvisitor.py", line 1339, in getDst
    (str(type(left)), str(left)))
pyverilog.utils.verror.FormatError: unsupported AST node type: <class 'pyverilog.vparser.ast.Concat'> <pyverilog.vparser.ast.Concat object at 0x7fa687524f98>

it seems that the function getDst in dataflow/bindvisitor.py does not support vparser.ast.concat operation. My verilog source code in attach files. And the top module I want parse is one_round module. verilogsrc.zip Hope the tool could be better and I can also do something for the project if possible.

hi bro, could you fix the problem if you can tell me by this email<EMAIL_ADDRESS>thanks a lot


Add option to prevent flag defaults being set in all environments

At the moment, users with create feature permissions are able to create a feature with a default state / value which will then be applied to all other environments.
This issue relates to the ability to prevent defaults set when creating a feature in one environment being used in other environments.
The specific use case here is to prevent users that only have access to a development environment being able to create features that are enabled / have a truthy value in production.

The frontend of this is live under the feature flag prevent_flag_defaults

I think we can close this @matthewelwell ?


Documented fragment counters and troubleshooting

Great docs, especially the troubleshooting section! LGTM apart from quibbles about dashes.

Great, thanks. Unqualified LGTM now.


Add Kourto's card

@kourto Please add your details to to the bottom of the list. So that the website can show the latest contributors first.


EndDate - mispelling causes invalid argument error

Thank you very much @fryguy04 ! I appreciate it.

Thank you very much @fryguy04 ! I appreciate it.


Refactor oozie download url from sencha (broken) to cloudera

Can you resend this without the metadata changes? We do version bumps in their own pulls, along with the CHANGELOG.md updates.

Also, I am trying to fix the test failures in #266 so probably best to wait for that to be merged before rebasing off master or anything.

Thanks for the submission!

:+1:


why not include an asp.net core 2.0 example with this working in your repo in directory named samples/ ?

I wasnt able to get your package to work as described, figured it would be simple for you to create asp.net core 2.0 web api or some other template that is working demo.

I will add an example later this week

Here's a sample project https://github.com/camilin87/debug-ef-core-sample

You may want to specify in the DebugEFCore package that log4net.config
https://github.com/camilin87/debug-ef-core-sample/blob/master/log4net.config
is
required
On Wed, Apr 25, 2018 at 5:40 PM, Camilo Sanchez<EMAIL_ADDRESS>wrote:

Closed #2 https://github.com/camilin87/debug-ef-core/issues/2.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/camilin87/debug-ef-core/issues/2#event-1595383926,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFxjDFfHhMTBfJgXZ_tRqbWkcq3A7wEjks5tsRdsgaJpZM4TfDxO
.

--
Joseph Stallmeyer
<EMAIL_ADDRESS><EMAIL_ADDRESS>(510) 847-4678

You mean somewhere other than the readme? How?

Yes, just a simple text "Solution must have a log4net.config located in the root directory" I would imagine. Just because when I read "Dependencies : Log4Net" its not clear that I need a file anywhere. Thank you for the sample

Good idea.
Technically, log4net can be configured in an uncountable number of ways that may or not include an actual configuration file. That is one of the reasons why I left the description open.
Moreover, if you find yourself trying to debug EFCore, you probably have logging setup. And log4net has been the de-facto standard for a while. So I limited the exposed information to avoid confusion.
I'm glad the sample was useful to you


Add trove classifiers for additional Python support

Include classifier for general Python 2/3 support
Include classifier for general PyPy support

Codecov Report

Merging #181 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #181   +/-   ##
=======================================
  Coverage   92.63%   92.63%
=======================================
  Files           5        5
  Lines         842      842
=======================================
  Hits          780      780
  Misses         62       62

Continue to review full report at Codecov.

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

Rebased. Now green. Includes the following changes:

Include classifier for Python 3.7 support. Testing added in 0c1bbf6be93b2f0a110a9000fb514301c4d5ab89.
Remove classifier for Python 3.3 support. Testing removed in e78f13a179b36e7b7597c9d58880ba4a5a74b83a.
Remove classifier for Python 2.6 support. Testing removed in 13a962bde9e4ef8fe20f3f0915f05a5be9587af5.

Could you please add the Python 2.6 and Python 3.3 classifiers back?

No problem. Added back in the latest revision.

Thank you Jon for the pull request!


cluster can only be upgraded if it has transitioned

Towards: https://github.com/giantswarm/giantswarm/issues/12641

My only concern is there a chance that some cluster that has broken status would be blocked for an update,  not sure if there is such cluster ATM, but it might be something to announce at least o SEs.

That is a good point.
Maybe we can block this only for customers?

We might shoot ourself in the foot, because I'd assume we have currently a lot of clusters which do net have set the right cluster condition and still have only updating as the latest condition. We could try to identify how much we currently have.
Not sure TBH.

+1 on collecting the numbers to see how much of a hustle this would be. The change in general makes kind of sense. Though I agree with the concerns raised.

Actually, clusters with the cluster status problem should not be an issue here. In their case, the condition updating can not be set for a second time. That means they stay in condition updated from the previous update and thus will not be blocked here.
The problem we could see would be with clusters that are stuck in updating. In that case we can not roll back the update or change to another version. This also applies to cluster stuck in creating.

Actually, clusters with the cluster status problem should not be an issue here. In their case, the condition updating can not be set for a second time. That means they stay in condition updated from the previous update and thus will not be blocked here.

IIRC we identified clusters staying in updating with getting set the updated condition or am I wrong?

We may have clusters like that but then it would not be related to the recent issues with the status. The main symptom we saw there was the lack of inhibition, which resulted from the lack of an updating condition being set.

Let's have this for the customers at first and later extend to us. The reason is that I don't want this to annoy us while we are on the hive sprint next month.


[Update Request]: Update installer hash Egnyte Desktop App

What type of update are you requesting?
A change to the package metadata
Current Package Identifier
Egnyte.EgnyteDesktopApp
Package Version
<IP_ADDRESS>
Please describe the changes you would like to see
Please update installer hash for <IP_ADDRESS>. Currently when installing you get the below:
"Installer hash does not match; this cannot be overridden when running as admin"

Currently, the InstallerUrl is point to version <IP_ADDRESS> instead of <IP_ADDRESS>.

May be resolved by #164958

This should be resolved now as https://github.com/microsoft/winget-pkgs/pull/164958 was merged yesterday.

Found Egnyte Desktop App [Egnyte.EgnyteDesktopApp] Version <IP_ADDRESS>
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://egnyte-cdn.egnyte.com/egnytedrive/win/en-us/3.18.0/EgnyteDesktopApp_3.18.0_146.msi
  ██████████████████████████████  45.4 MB / 45.4 MB
Successfully verified installer hash


Add IOMB-Data to Gadi Data Project

https://zenodo.org/record/6972502#.ZBuWENJBxhE

@rhaegar325 I have downloaded the files.
They are in /g/data/kj13/datasets/iomb

I think changing the ILAMB_ROOT should be sufficient


fitness check done

Yes @avie-dev , if I wake up any time above 8 am then I'm unsatisfied. My target is to wake up daily around 5 am, 6 am, or latest 7 am.
If I wake up 1 minute passed 8. like 8:01 then I label it unsatisfied. lol


Boilerplate: Update to 37767c7e604e2531f691aa41ca183ec3abbebd1d

Conventions:

openshift/golang-osd-operator: Update
openshift/golang-osd-operator-osde2e: Subscribe ---
https://github.com/openshift/boilerplate/compare/c6df61cdeb10d6390cc480cdad361081a09d9dc7...37767c7e604e2531f691aa41ca183ec3abbebd1d

commit: a2ccef190dc761eee12fcdbfc29b70d146f4f33b
author: Ritu Mundhe
use CLOUD_PROVIDER_REGION for region
so that we don't need multiple cloud specific region env vars
commit: 03dc7a163c4c5f68f3ec4e06f6cef118d0a9a8eb
author: Brady Pratt
golang-osd-operator: resolve BRANCH and fix REPOSITORY
REPOSITORY should be https, not ssh
The branch that is cloned of openshift/managed-release-bundle-osd should be the branch that the current branch of the operator executing the make target. Get the branch and pass it into the bundle script.
commit: 310e8ab7f2ecf185e2e3841dd7601a77953904ce
author: Ritu Mundhe
add GCP params to harness osde2e job template
commit: d76c7aa1dbb6b65989573e8f07295a9c138fb8a4
author: Brady Pratt
golang-osd-operator: new name for mrb-osd repo
commit: 98f96d5e24060fbf52baf913ae572ee55be33414
author: Brady Pratt
golang-osd-operator: check remote and checkout
check the remote if the branch exists so we don't pull all branches locally and checkout the expected branch otherwise
also checkout new branch based on production
commit: ad4a09104312d8a5e275f6559c2ca3128d75be05
author: Brady Pratt
golang-osd-operator: set VERSION_MAJOR/MINOR
when RELEASE_BRANCHED_BUILDS is set and the branch name matches the release-4.\d\d expression, set VERSION_MAJOR and VERSION_MINOR to be the version contained in the branch name
This will make branching easier so we don't have to set up the versions per branch
commit: 5a2a4101c822be1ebec93841cb66e230896bed15
author: Brady Pratt
golang-osd-operator: revert loop skopeo copy
the else condition is incorrect and needs to push <channel>-latest to <channel>-<commit hash>. Revert back to the original state to unblock pipeline builds
Will try to follow up with a fix to the improved state
commit: 8174bc79c08890d10cc7e46b61e9a94ca6fab044
author: Brady Pratt
golang-osd-operator: only checkout new branch on RELEASE_BRANCHED_BUILDS
this broke the build pipelines as they would checkout production and track is based on staging which would lead to a failure when pushing the branch
...
10:14:40 Switched to a new branch 'production'
10:14:40 Branch 'production' set up to track remote branch 'staging' from 'origin'.
...

10:14:49 To https://gitlab.cee.redhat.com/service/saas-managed-upgrade-operator-bundle.git
10:14:49  ! [rejected]        HEAD -> production (non-fast-forward)
10:14:49 error: failed to push some refs to<EMAIL_ADDRESS>10:14:49 hint: Updates were rejected because the tip of your current branch is behind
10:14:49 hint: its remote counterpart. Integrate the remote changes (e.g.
10:14:49 hint: 'git pull ...') before pushing again.
10:14:49 hint: See the 'Note about fast-forwards' in 'git push --help' for details.
10:14:49 make[1]: *** [production-catalog-publish] Error 1

commit: b884b5f9f78e76a9997020911aa2b81618af55fd
author: Michael Shen
fix bug where quotes were not escaped correctly
commit: 1cff2876193a8b9475344458b8d17e409186613e
author: Michael Shen
Add DISABLE_JUNIT_REPORT to skip JUnit report generation when running locally
commit: f28630ff568e6d76e2f02e62f56e7215f6973081
author: Michael Shen
Update harness e2e image to use Go 1.21
commit: b987b220a2248d105af7e0385ee9ccf4537c2524
author: Kirk Bater
Update OWNERS_ALIASES
Updates Team Rocket Owners
commit: 8d0ab48f03401cb9fec862c00e10a5c5fd32bf58
author: Eric Fried
DRY some script loops
Followon from #350.
commit: d40d2d1b9f385ab0847f30f060c407a8bdb24e82
author: Brady Pratt
golang-osd-operator: checkout new release branch
the release-4.Y branch won't exist initially and needs to be created based on the staging branch. Create it and use it if it does not exist.
fatal: Remote branch release-4.15 not found in upstream origin

commit: 56a079fa142892f30cb34536c5663d1bd0d5e8c7
author: Brady Pratt
golang-osd-operator: exit 0 and add comment
feedback from #350, make it obvious the these exits are a success case and add a comment explaining the string manipulation
commit: 12171070a25de32ffab7df9a373301f250db5dd2
author: Brady Pratt
golang-osd-operator: SaaS repo versioned branches
allow for cloning/publishing the SaaS repo with the specific version branch. Update the other reference to push HEAD of what we are currently on
commit: 39204d474a5c6df765ca5a80b63bf4872467822d
author: Brady Pratt
common: image_exists_in_repo check stdout
a newer version of skopeo changed loggers which had an effect on the stderr now being written to stdout. Update the conditions to check stdout to allow newer versions to work as expected.
❯ podman run docker://quay.io/skopeo/stable:v1.7.0 inspect docker://quay.io/bpratt/image-does-not-exist:latest 2>/dev/null
❯ skopeo --version
skopeo version 1.15.0
❯ skopeo inspect docker://quay.io/bpratt/image-does-not-exist:latest 2>/dev/null
FATA[0000] Error parsing image name "docker://quay.io/bpratt/image-does-not-exist:latest": reading manifest latest in quay.io/bpratt/image-does-not-exist: unauthorized: access to the requested resource is not authorized

commit: 370563f844932148f4eb2eea36f614330741fa1f
author: Brady Pratt
golang-osd-operator: publish registry per branch
when RELEASE_BRANCHING_OPT_IN is set, change the tag of the registry image to be OPERATOR_NEW_VERSION instead of production/stage-
Add conditionals around the existing behavior to allow this to be slowly rolled out to the operators.
commit: 96528a639f1d2bf88fa4ca1c053eac99928cb36b
author: Brady Pratt
golang-osd-operator: add stable catalog channel
Add a new stable channel to eventually drop the building of "production" and "staging" single channel catalogs in favor of building a single channel catalog image per Y stream branch. The operators will need to set VERSION_MAJOR/VERSION_MINOR in order to have incrementing versions between branches allowing for upgrades between Y releases.
commit: 9abcd43fa6cc07b804084ef61b5e225c3c27f105
author: feichashao
update ose-operator-registry
commit: 3511d1c4c2e6c545b552507a76871dfc2d5b9cb6
author: Brady Pratt
golang-osd-operator: set olm database location
OLM sets a standard label on registry images to point to the declarative config location (be it an sqlite database or flat files). This labels allows for opm migrate ... to process the registry image and migrate to the new file-based format. Without this label, the migrate subcommand is unable to locate the declarative config to load.
https://github.com/operator-framework/operator-registry/blob/9fdedc29d2575e021128050c5ef532f730fce2a5/pkg/containertools/dockerfilegenerator.go#L12-L13
This will help ease the migration process from the deprecated sqlite-based catalogs to the file-based catalog format.
before:
❯ opm migrate quay.io/app-sre/must-gather-operator-registry:staging-latest .
INFO[0000] rendering index "quay.io/app-sre/must-gather-operator-registry:staging-latest" as file-based catalog
FATA[0002] render catalog image: render reference "quay.io/app-sre/must-gather-operator-registry:staging-latest": render "quay.io/app-sre/must-gather-operator-registry:staging-latest": image type could not be determined, found labels
...

apply changes and rebuild:
❯ make staging-catalog-build
boilerplate/openshift/golang-osd-operator/standard.mk:113: Setting GOEXPERIMENT=strictfipsruntime,boringcrypto - this generally causes builds to fail unless building inside the provided Dockerfile. If building locally consider calling 'go build .'
go: unknown GOEXPERIMENT strictfipsruntime
[1/2] STEP 1/4: FROM registry.redhat.io/openshift4/ose-operator-registry:v4.12 AS builder
Trying to pull registry.redhat.io/openshift4/ose-operator-registry:v4.12...
...
[2/2] STEP 11/11: LABEL operators.operatorframework.io.index.database.v1=/registry/bundles.db
[2/2] COMMIT quay.io/app-sre/must-gather-operator-registry:staging-latest
--> 30ab80a68e7a
Successfully tagged quay.io/app-sre/must-gather-operator-registry:staging-latest
30ab80a68e7a4b053e8a3fd9e07d5b02cfed032cd5e58eb536a2c7390696ab06

❯ podman tag quay.io/app-sre/must-gather-operator-registry:staging-latest ghcr.io/jbpratt/mgo-registry:staging-latest

❯ podman push ghcr.io/jbpratt/mgo-registry:staging-latest

after:
❯ opm migrate ghcr.io/jbpratt/mgo-registry:staging-latest .
INFO[0000] rendering index "ghcr.io/jbpratt/mgo-registry:staging-latest" as file-based catalog
WARN[0006] DEPRECATION NOTICE:
Sqlite-based catalogs and their related subcommands are deprecated. Support for
them will be removed in a future release. Please migrate your catalog workflows
to the new file-based catalog format.
INFO[0006] wrote rendered file-based catalog to "."

❯ cat must-gather-operator/catalog.json | head
{
    "schema": "olm.package",
    "name": "must-gather-operator",
    "defaultChannel": "staging"
}
{
    "schema": "olm.channel",
    "name": "staging",
    "package": "must-gather-operator",
    "entries": [

commit: 2056b6bdbb20c3652e19837ed72408556d7b91d3
author: sam-nguyen7
Update OWNERS_ALIASES
commit: d74af071286c305cb269c87c2c760f6ea77e492b
author: Florian Bergmann
Do exit with 0 code instead of 1 if directory already exists.
commit: 4f068877df94a89c7708b48abded5066ae35e038
author: Florian Bergmann
Do not create a bundle that replaces itself.
In certain cases it can happen that this tries to create a bundle that replaces itself, which will lead to installation failures.
As commits that create the same version should not be allowed in csv-generate.sh by checking for reverts, it should be safe to simply error out, as this seems to only happen, when an existing bundle gets updated with the incorrect replace, after it initially had the correct 'replaces' statement.
This commit adds two checks (and the one in the python code should not really ever be hit):

Make sure that a bundle that already exists is not regenerated in the shell script.
Error out in the python script that actually writes the files if the previous_version == current_version (if this gets called somewhere else the initial check might not be in place).

commit: f80d7d3b22e0055de63d550c1d32a16c25b20fdb
author: Michael Shen
Revert using containerized skopeo
We would need to mount the docker/podman sockets as a file mount for this to truly work and instead performed a workaround on the Jenkins VMs.
commit: 70f4f3e41146868b5ca0d52b917ccfea09fac5f8
author: Michael Shen
Limit controller-runtime to v0.17.2 for Go 1.21 support
commit: d11572e7fe85fd5c236d430c2d047ddf5b3869c3
author: Michael Shen
Update push steps to use containerized skopeo
commit: 5e86a99159abf0f428e9568e624cf1fc3bc9280e
author: Brady Pratt
golang-osd-operator: use new path to TEMPLATE_FILE
this file will not exist in most repositories yet, it will need to be added during the migration process
commit: aad1f1f7fab42ece64fc88aa3ff61244c60bb09b
author: Michael Shen
Update docs link for location for openshift/release mirroring
commit: 802e445d71269d6222c876625cbfa62e60ace952
author: Ritu Mundhe
Update golangci lint version
commit: f67d44013d4bc051df8819624eb300d6cc16974b
author: Kirk Bater
Update OWNERS_ALIASES
Removes Team v1a.
commit: e5b6c598d3b71a2701ec663a8556f63f009187b0
author: Claudio Busse
Dockerfile.appsre: fix ci image name from build farm
commit: c0f1454be240aeadda950719868a17a95c756cf4
author: Claudio Busse
Use existing container engine instead of podman
commit: ce86987696a5bddc54dd9cbbb7720ed74927374a
author: typeid
Fix build push (#335)

Fix build-push script for boilerplate to build latest tag if it doesn't exist

Validate returned output of inspect and checkout tag

commit: 532a19ca42db4d73f6c51a8b9b779bbd7ec4ecb6
author: Chris Collins
Replaces egrep with grep -E due to deprecation
egrep is being deprecated in favor of grep
-e, and now throws warnings about the deprecation when being used.
This PR replaces egrep with grep -E, which should be a drop in replacement, handle the deprecation when it happens, and suppress the warnings that are printed every time we run the make command with boilerplate.
commit: 7752da0184b22a32162f29676f2fbe67f8b49d81
author: Claudio Busse
Empty commit to re-tag image-v5.0.0
commit: 70f2f2d539355d6ea52979d1a1cfaff58f8b2b71
author: Antony Natale
updates fl list, adds new fedramp team sre's
commit: 31a961f645f450eca0d738df2c2a701e1b356c02
author: Michael Shen
Leaver process - bdmiller3
commit: d80ca839f04fb651dfa070558ded1fa18c466577
author: Claudio Busse
Add Benson as TL and Nico as FL
commit: 26cc7d3aef3fc8ed1edd0fde32d61b78608557c6
author: Claudio Busse
Create boilerplate v5.0.0 to support Go 1.21
commit: d033aef49e14b4ddd74ecbe505e3399c9b4625bc
author: Brady Pratt
golang-osd-operator: bundle rvmo

/approve


Alligned Text

Hello Project Admin
I Alligned Text on Home - Solved #1095
Kindly go through this PR @varshith257

@varshith257 Please add level label under GSSOC'24 :)

@varshith257 Please add level label under GSSOC'24 :)


feat(node): dedupe in-flight network requests by default

I'm wondering if we shouldn't even enable the responses cache as well, but at least the requestsCache is an obvious choice
Could be considered a breaking change

hmm yes, this could introduce failures in high-throughput scenarios, I'll leave this as-is for now, but if you feel more comfortable or in a major version, you can pick this back up

Thanks we will think about it :)


follow-up on #2963, changing MSG* constant types for musl/emscripten.

r? @JohnTitor
(rust-highfive has picked a reviewer for you, use r? to override)

Could you just remove the deprecation attrs? We have to figure out how we deliver breaking changes first.

Yeah, deprecations here cause failures when used in the stdlib...

I started a discussion about this in https://rust-lang.zulipchat.com/#narrow/stream/351149-t-libs.2Fcrates/topic/Deprecations.2Ftype.20changes.20in.20.60libc.60.20.28for.20musl.2C.20emscripten.29.
It's tricky because these aren't really being removed, just changed -- We also still need them both before and after in the stdlib (and I'm sure this is true for others too). So, I'm not sure the policy in the CONTRIBUTING.md guide is actually good for cases like this (it seems really geared for removals...)

@bors r+

:pushpin: Commit 4ba884ac1857fdff1222497fea829e3b8dcf61b5 has been approved by JohnTitor
It is now in the queue for this repository.

:hourglass: Testing commit 4ba884ac1857fdff1222497fea829e3b8dcf61b5 with merge 3cdabffc4056243ca7fd64d00fa6fc6130f63994...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14
Approved by: JohnTitor
Pushing 3cdabffc4056243ca7fd64d00fa6fc6130f63994 to master...


Remove topic chip popup menus, route topic click events up to NiaNavHost

Topic chips no longer display a popup menu when tapped. Their tap events are routed up to NiaNavHost, to be handled with navigation later.

Please add UI tests to verify this behaviour in NavigationTest

It seems coding tests is too hard to a developer...😁

Just to add some clarity here (mostly for me). There is nothing to test at the moment. This PR simply replaces the topic chip's dropdown menu with an onClick lambda which currently does nothing.
The outstanding issue with implementing the topic chip navigation is that it creates a new way of showing the topic detail screen. This can have some unwanted side effects (depending on implementation) such as changing the selected tab to "Interests" even though the user tapped on a topic chip from the "ForYou" screen.
Needs more thought/discussion on what the best approach is for users, and how that should be implemented using navigation best practices.


Mime - setRawHeader changed header string given

Hi I have an issue I would appreciate any help with.
when I set custom header, for example: $mime->setRawHeader("X-HEADER", "value");
it will save it in raw mime as follows: X--HEADER: value . it will add another "-" to header
and it will continue to add a "-" for every run
for example, second run we will see 2 headers:

X--HEADER: value
X---HEADER: value

and so forth.
the question is why?
and how can i avoid this?
thanks in advance for the help.

Can you please post the relevant code? I'm adding custom headers myself and this isn't regular behaviour.

thank you
the script in short:

generate mime from raw mime saved as string in storage
generate new ID for internal use saved under X-CLOUD header
$mime->setRawHeader("X-CLOUD", {generated id});
(the generated ID is different value generated with every run of script)
saves edited mime to back to storage.

the outcome in raw mime is:
...
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-ox5zEzpYWcxkXek7zsJa"
X--CLOUD: ^8B2D65CD5F292B44464778A7529DA3610DDF6649
it saves it with double "-" where the header is X-CLOUD with one "-"
if the script is run again, we will see
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-ox5zEzpYWcxkXek7zsJa"
X---CLOUD: ^8B2D65CD5F292B44464778A7529DA3610DDF6649
also it modifies 2 other headers that are not being touched in anyway in my script:
X---------Authentication-Warning: mail.mail.com: user set sender to<EMAIL_ADDRESS>using -f
X---------MAILFROM<EMAIL_ADDRESS>as I can see with every execution of script somehow another "-" is added to the header even when the last 2 headers are not being handled in any way in script
thank you

Hi @MagusM
Unfortunately I'm not able to reproduce that.
Looking at the tests read/written out in EmailFunctionalTest, there are loads of X-headers being read/written to (for instance /tests/_data/emails/m0001.txt has a few).  I'm not sure any of the tests are actually specifically comparing an X-header, so to be sure I tested m0001.txt, added php $content->setRawHeader('X-CLOUD', 'Test');  to testRewriteEmailContentm0001 before writing out the email, and added an additional read for the written email, and wrote the second email out, but no luck.
Could you provide a small example script that actually shows the problem happening?
Thank you,
Zaahid

Hi @zbateson
here is the code that handles the mime
$mime = MailMimeParser\Message::from($str);
$mimeCloudWid = WID\V5Mime::generate($content); //generate a unique ID
$mime->setRawHeader("X-CLOUD", $mimeCloudWid->__toString());
$content = $mime->__toString();
$this->storageConn->upload($content, $mimeCloudWid->getPath()); //uploads to cloud service storage
$widObject->writeFile($content); //save mime back to local storage

to fix the addition '-' I have added before $mime->setRawHeader
$attachment->removeHeader("X--CLOUD");

the 2 other X-headers:
X---------Authentication-Warning: mail.mail.com: user set sender to<EMAIL_ADDRESS>using -f
X---------MAILFROM<EMAIL_ADDRESS>
been generated in income mails server
and the script do not touch those 2 headers, yet still after I save the edited mime back to storage another '-' is added.
Thank you,
Simon

What do you see if you dump the string before you upload it?
$content = $mime->__toString();
print $content;
$this->storageConn->upload($content, $mimeCloudWid->getPath());

Yes ! thank you
mime before script run:
Subject: test
To<EMAIL_ADDRESS>Message-Id<EMAIL_ADDRESS>MIME-Version: 1.0
X------------------MAILFROM<EMAIL_ADDRESS>Content-Type: multipart/mixed; boundary="=-U/JYoyIlVB47jh5Qari2"
X-CLOUD: ^8914898E77BD4B7EC398FD085871925BAF4CD50C

after 1 script run with only setRawHeader('X-CLOUD' , {generated ID});
and no removeHeader('X--CLOUD')
Subject: sgsdfgsdgs
To<EMAIL_ADDRESS>Message-Id<EMAIL_ADDRESS>MIME-Version: 1.0
X-------------------MAILFROM<EMAIL_ADDRESS>Content-Type: multipart/mixed; boundary="=-U/JYoyIlVB47jh5Qari2"
X--CLOUD: ^8914898E77BD4B7EC398FD085871925BAF4CD50C
X-CLOUD: ^F69C9B60958F4C4A18F4AE1F89CE3891452373ED

thank you,

Looks like there is already an existing X-Cloud header before you apply the setRawHeader? That might explain the behaviour of X--Cloud as a means to preserve the original X-Cloud header? Do you want to keep the original X-Cloud header or do you want to replace this with the new X-Cloud header?

I want to replace the header's value
I use
$mime->removeHeader('X--CLOUD');

before setting the header again with a new value.
still I was unable to understand why it adds another "-", meaning the header I needed to remove is "X--CLOUD"
that is handled in my script.
the 2 other headers that been changed from reason unknown to me at this point (my script do not handle those 2 headers)
X-MAILFROM
and
X-Authentication-Warning

thank you

Hi
the problem has been found, and it was on our end.
I'm sorry for the trouble and thank you so much for the help.

Happy to hear it was resolved :)
All the best,
Zaahid


Add DOS detection module

This module returns a low severity warning when a state change or call is executed in a loop. It correctly detects the following SWC test cases:
https://smartcontractsecurity.github.io/SWC-registry/docs/SWC-128#dos-addresssol
https://smartcontractsecurity.github.io/SWC-registry/docs/SWC-128#dos-numbersol
https://smartcontractsecurity.github.io/SWC-registry/docs/SWC-128#dos-simplesol

This also detects the SSTORES after the loop right? as the annotations aren't being flushed, one way to deal with it is to check the count of those operation addresses in the loop too.

I mean it also shows that in cases like these.

contract DosGas {

    address[] creditorAddresses;
    bool win = false;

    function emptyCreditors() public {
        if(creditorAddresses.length>1500) {
            creditorAddresses = new address[](0);
            win = true;
        }
    }

    function addCreditors() public returns (bool) {
        uint x=0;
        for(uint i=0;i<4;i++) {
        }
        creditorAddresses.push(msg.sender);
        return true;
    }

    function iWin() public view returns (bool) {
        return win;
    }

    function numberCreditors() public view returns (uint) {
        return creditorAddresses.length;
    }
}

I mean it also shows that in cases like these.

Should work now I think...


Update Composer dependencies (2024-02-24-00-06)

Visual regression test passed!
View the visual regression test report


Ensure de-serialization from celestia blobs is consistent and as expected

This issue is mainly to track this change - https://github.com/Sovereign-Labs/sovereign/commit/8bb7c5af1a437d9d67badbcf10f1e9cbb142ce79#diff-9600bd681ad97d126c8fe2ab180b101b805cd31e5eec00bf643eabebee379a21
the current structure of data we read from celestia is
block -> blob_txns -> multiple blobs -> each blob can contain multiple rollup transactions.
the problem lies in how BlobWithSender is deserializing the raw data.
normally, if its a vector of transactions, it should be able to deserialize the blob into Vec where T = the type for transactions. however, the deserializer expects Vec<Vec> - it first deserializes the outer vector and then expects to deserialize each blob contained in the vector.
^ in order to cover this requirement, we made each blob we submit to celestia a single borsh serialized transaction inside a vector (so each blob is a vector of 1 element where the 1 element is the borsh serialized transaction).
we need to

understand what blob with sender is doing
ensure we can serialize and deserialize Vec instead of 2 layers of serde ( Vec<Vec> )

so seems like the primary reason there are 2 levels of serde is because

the blob itself is deserialized into Vec and RawTx is just a wrapper for Vec
the engine makes use of abstract RawTx-es while the actual deserialization of RawTx into Transaction is done by

    fn verify_tx_stateless(&self, raw_tx: RawTx) -> anyhow::Result<Self::Transaction> {
        let mut data = Cursor::new(&raw_tx.data);
        let tx = Transaction::<C>::deserialize_reader(&mut data)?;

the verify_tx_stateless function whose implementation is provided by implementing TxVerifier trait.


Extend ACL API to support changing match critera and logging for an existing ACL

This was accomplished by adding the following two APIs and corresponding
test cases:

ACLSetMatchEntity()
ACLSetLoggingEntity()

Addresses Issue #138
Signed-off-by: Andre Fredette<EMAIL_ADDRESS>

Thanks for your comment.
These APIs are implementing functionality currently supported by the ovn-nbctl database commands and used by ovn-kubernetes. ACLSetMatchEntity() would get called to update the gress policy when an address set is added to or deleted from a pod. ACLSetLoggingEntity() would get called when the logging is enabled/disabled or severity is changed.
I agree that the end state would be equivalent if the user deleted the existing ACL and then re-added the ACL with the new information. This would require more work in ovn-k because we don't currently have all the necessary info to recreate the ACL in the place where it's needed. I haven't tried to work it out yet, but I'm assuming it's possible.
Intuitively, it would seem to have less of a performance impact to update a field in a row than it would to delete the row and re-create it. But, I can't comment on the real performance impact.
I also wonder whether deleting an ACL and then re-adding it (even if it's in the same transaction) would impact the data plane more if the ACL was deleted and readded vs. updated. E.g., is it possible for any packets to slip through while it's being deleted and readded?
I also wonder why these set APIs are different from other the other set APIs that we have.

Thanks for your comment.
These APIs are implementing functionality currently supported by the ovn-nbctl database commands and used by ovn-kubernetes. ACLSetMatchEntity() would get called to update the gress policy when an address set is added to or deleted from a pod. ACLSetLoggingEntity() would get called when the logging is enabled/disabled or severity is changed.
I agree that the end state would be equivalent if the user deleted the existing ACL and then re-added the ACL with the new information. This would require more work in ovn-k because we don't currently have all the necessary info to recreate the ACL in the place where it's needed. I haven't tried to work it out yet, but I'm assuming it's possible.

In fact to call the "set" API you already have to provide most information of an ACL just so that it can be identified. Maybe the only thing you don't provide is for ACLSetMatchEntity() you don't need the log/meter part. If you want to keep the original log settings when updating an ACL's match condition, and assume you don't know what log settings should it be when you try to update the ACL, then one approach is to Get the ACL (which happens locally) first so you know all the existing information and then do a single transaction with "delete + add".

Intuitively, it would seem to have less of a performance impact to update a field in a row than it would to delete the row and re-create it. But, I can't comment on the real performance impact.

Intuitively yes, but in fact, OVN has to regenerate the flows for the changed ACL, which costs the same as if it is deleted and added back. If in the future this can be optimized in OVN of course we can look into ways to optimize it. (I hope with the new API framework introduced by https://github.com/eBay/go-ovn/pull/136 and related work this would be easily supported in general)

I also wonder whether deleting an ACL and then re-adding it (even if it's in the same transaction) would impact the data plane more if the ACL was deleted and readded vs. updated. E.g., is it possible for any packets to slip through while it's being deleted and readded?

This shouldn't be worried as long as the operations are performed in a single transaction, which in turn ensures OVS changes happens atomically.

I also wonder why these set APIs are different from other the other set APIs that we have.

For other existing "set" APIs, their interfaces are more straightforward - they usually provides "name" as an identifier. For ACL, since we are not using "name" (which is a field added in a late version of the schema), the API would look really scary. And more importantly, if we continue this way there can be more and more "set" APIs added - in theory each field of each table requires a "set" API, which is a huge burden for maintenance. For this specific case, since I don't see real benefit of providing the new APIs instead of using "delete + add", for the reason I mentioned regarding the OVN implementation behind, I am hesitating about adding these APIs. But I am still open to opinions. Let me know if you still strongly feel it is needed.

Sorry for the delay, but I wanted to run this by someone else from the ovn-kubernetes team before I responded.  So, I discussed it with @trozet this morning.  He is in agreement with me that it's preferable to use sets in these cases (and probably others).  I believe that the setting of any attribute should be fair game if there's a use case for it.  Though I don't think we need to arbitrarily add sets for everything.  In many cases, they are not needed.  Objects get created with everything they need and are never modified until they are deleted.  In other cases, it makes more sense to have an add/delete API such as with ports being added and deleted from port groups as pods get created and deleted.
Some of the reasoning/concerns (not necessarily in priority order):

Consistent with the ovn-nbctl API
Less impact to the code being migrated from the ovn-nbctl API to the go-ovn API.
Less work for the user code than deleting and recreating.
Less work in the go-ovn client API code

with the delete/add sequence, we'd end up searching the list of ACLs twice - once to find the one to delete and another time to confirm that it doesn't already exist on the add.
According to cloc, the delete/add sequence is 122 lines of code, while SetMatch and SetLog are 27 and 37 lines of code, respectively.
If we had to also do a get first it would be more.

We don't know what the impact on the rest of the system will be (e.g., ovn northd, sbdb, controllers).
The UUID for the object will change unnecessarily (does anyone care?)
What would happen to dependent non-root rows if their reference in a root table is deleted?  Are they preserved as long as everything happens in a single transaction?

I made a few more comments below.

In fact to call the "set" API you already have to provide most information of an ACL just so that it can be identified. Maybe the only thing you don't provide is for ACLSetMatchEntity() you don't need the log/meter part. If you want to keep the original log settings when updating an ACL's match condition, and assume you don't know what log settings should it be when you try to update the ACL, then one approach is to Get the ACL (which happens locally) first so you know all the existing information and then do a single transaction with "delete + add".

The missing fields are:

ACLSetMatchEntity: action, external_ids, logflag, meter, severity
ACLSetLoggingEntity: action, external_ids

There are solutions, if necessary.

Intuitively, it would seem to have less of a performance impact to update a field in a row than it would to delete the row and re-create it. But, I can't comment on the real performance impact.

Intuitively yes, but in fact, OVN has to regenerate the flows for the changed ACL, which costs the same as if it is deleted and added back. If in the future this can be optimized in OVN of course we can look into ways to optimize it. (I hope with the new API framework introduced by #136 and related work this would be easily supported in general)

I agree that #136 will help, but it may be a while until it's fully usable.

I also wonder why these set APIs are different from other the other set APIs that we have.

For other existing "set" APIs, their interfaces are more straightforward - they usually provides "name" as an identifier. For ACL, since we are not using "name" (which is a field added in a late version of the schema), the API would look really scary. And more importantly, if we continue this way there can be more and more "set" APIs added - in theory each field of each table requires a "set" API, which is a huge burden for maintenance. For this specific case, since I don't see real benefit of providing the new APIs instead of using "delete + add", for the reason I mentioned regarding the OVN implementation behind, I am hesitating about adding these APIs. But I am still open to opinions. Let me know if you still strongly feel it is needed.

Right, because we don't support names or UUIDs for ACLs, it's necessary to provide the entity, direction, match, and priority to uniquely identify the ACL, so it's not as clean as some of the others.  On a related note, @vgozer has requested that "name" be added to the ACL APIs in https://github.com/eBay/go-ovn/issues/137.  I'd be interested to hear your opinion on it.
As mentioned above, I don't think we necessarily need a set API for every field, but if someone has a use case and offers an implementation, I'd support them.
Thanks,
Andre

@anfredette thanks for the points. I agree with you "set" APIs are useful and harmless.

Right, because we don't support names or UUIDs for ACLs, it's necessary to provide the entity, direction, match, and priority to uniquely identify the ACL, so it's not as clean as some of the others. On a related note, @vgozer has requested that "name" be added to the ACL APIs in #137. I'd be interested to hear your opinion on it.

Do you think it is reasonable to support "name" in ACL APIs first and then add "set" APIs only using the "name"? Or do we need two sets of "set" APIs: the ones using "name" and the one using "match + priority + direction"?

Do you think it is reasonable to support "name" in ACL APIs first and then add "set" APIs only using the "name"? Or do we need two sets of "set" APIs: the ones using "name" and the one using "match + priority + direction"?

I think it would be best to just have one set of APIs. I’d like to confirm with everyone how ACL name will work. For example, is it required?  I’m out today. I’ll follow up on Monday with comments on #139. Thanks!

I've pushed a patch updating the client API code per discussion on Issue #137.  I am requesting feedback before fully implementing the changes.  Thanks, Andre

This PR is ready for review.

I just added one more negative test case.  Now it's really ready for review :-)

Thanks @anfredette


p14s, t14s: fix linux firmware version check

Description of changes
Things done

[x] Tested the changes in your own NixOS Configuration
[x] Tested the changes end-to-end by using your fork of nixos-hardware and
importing it via <nixos-hardware> or Flake input

@dadada I haven't really looked at the problem more than in this comment, but would it be okay to just remove the check?
In other words, is the earliest version available since 23.05 was released already passing the check? If so, we probably should drop it, as I don't think supporting EOL'd releases is a goal here.

@dadada I haven't really looked at the problem more than in this comment, but would it be okay to just remove the check?
In other words, is the earliest version available since 23.05 was released already passing the check? If so, we probably should drop it, as I don't think supporting EOL'd releases is a goal here.

I suppose removing it is alright. If people use EOL NixOS, they can pin an old version of nixos-hardware.


Add 'direction' key as default to some tags

It would be usefull for:
'highway'='stop','give_way','traffic_signals'
to add a field 'direction' with option: 'forward' or 'backward'
for 'traffic_signals' the key need to be: 'traffic_signal:direction' (don't know really why).

highway=stop
Yes, any street sign preset should probably have a forward/backward field.  Stop should probably also have an "all way" checkbox.
highway=give_way
We don't have a preset for this yet, but yeah, same as stop sign.
highway=traffic_signals
This makes no sense.. They kind of need to face all directions, otherwise what's the point?

Maybe you can create a "big" category named "sign" to regroup those 3
And same create a 'big' category named "traffic calming" to add all type of traffic calming (island, cushion, hump, bump etc...)

highway=traffic_signals
This makes no sense. They kind of need to face all directions, otherwise what's the point?

I agree in case of tagging traffic_signals on the junction node, but in case of mapping the traffic_signals of an larger junction separately, traffic_signals:direction makes sense, due to typically facing to a single direction for car traffic.
Preferably, traffic_signals:direction should be made available in case highway=traffic_signals is tagged on a virtex of a single non-oneway way.

These were added for highway=stop and highway=give_way... Not doing traffic_signals for now - I think it would confuse people more than help them tag correctly.

Yes, I read your comment on PR, can iD detect if it's on a intersection node (>=3 ways) to give the correct preset?

can iD detect if it's on a intersection node (>=3 ways) to give the correct preset?

Not currently.  vertex geometry will tell us that the node is on a line, but not the degree of how many edges connect to it.

Hi @bhousel
Thank you for having put this fields for stops and give ways, very handy because it increases the quality of routings.
I would like to argue in favor of having a direction field proposed also for traffic signals. The only difference between a stop, a give way and a traffic signal is the type of rule imposed by the authorities and the physical "sign". Moreover in term of mapping in OSM it is the same mechanism.
Traffic signals, like stops, are not forced to be on the intersection node, especially when it doesn't reflect reality. In this case one node can be set on each way which has a traffic signal. It is especially helpful for intersections where some ways have a signal while others not, like in a complex intersection:

http://www.openstreetmap.org/node/3880378388 (traffic lights cover two intersections, not one)
http://www.openstreetmap.org/node/3880378387 (four one way roads are crossing. Putting the traffic lights on the four intersections would lead to having to cross two traffic lights which is not true at all).

If people are not confused on a stop, I don't see why they would be confused on a traffic light when the mechanism is the same.
Consequently, can you or another dev consider extending this field to traffic lights?

If people are not confused on a stop, I don't see why they would be confused on a traffic light when the mechanism is the same.

I think people are confused by directional vertices, even stop signs..  But they are a thing, so maybe we can adjust the rendering of vertices that have a direction tag (or can have a direction tag) to make it more clear.  If we do that, then I wouldn't mind adding a direction field to traffic signals.


Feature proposal: Fetch most viewed photo and its number of views

For public profiles, you can see their photos sorted by amount of views, but on web the web frontend does not show the amount of views per photo (only total) and the numbers are not available in the page source. The views are however visble when looking at public profiles in the Android mobile app.

the data is currently not available, closing.


CAN'T INSTALL VIA COMPOSER

(https://cloud.githubusercontent.com/assets/21958214/24740805/9cc41e6c-1ac0-11e7-8143-2523be0b844b.jpg)
When i m install then occurs this type of error..
D:\xampp\htdocs\social>composer require artesaos/laravel-linkedin
Using version ^1.2 for artesaos/laravel-linkedin
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for artesaos/laravel-linkedin ^1.2 -> satisfiable by artesaos/laravel-linkedin[1.2.0].
- artesaos/laravel-linkedin 1.2.0 requires happyr/linkedin-api-client 0.7.* -> satisfiable by happyr/linkedin-api-client[0.7.0, 0.7.1, 0.7.2] but these conflict with your requirements or minimum-stability.
Installation failed, reverting ./composer.json to its original content.

Hi @punitakathiriya, thanks for reporting your problem. I'll take a look soon and possibly update the package to use the happyr/linkedin-api-client 1.0.0

yes i m using laravel 5.4.

Hi, a new version was released with support for laravel 5.4. Try update your package version and let me know if you have any issues


TestHealthCheck test flake

https://prow.istio.io/view/gcs/istio-prow/logs/integ-k8s-116_istio_release-1.5_postsubmit/5
Assigning to @brian-avery for triage

I don't think this is still flaky


wdcss-assert | Assertion always passing in webdriverIO v4+

I am using V4.0.7 of webdriverIO along with version 2.0.0-beta-rc1 and my assertShots function is always passing even if the Actual Screenshot is different then the Expected Screenshot.
Here is my code:
var webdrivercss = require("webdrivercss");
var assertShots = require("wdcss-assert");

webdrivercss.init(this.client);
    var browsername = 'firefox';
    var pageIdentifier = PageName;

    return this.client
        .pause(10000)
        .webdrivercss(browsername,{
            name: 'UnderstandYourNeeds_Page'
        }, assertShots);

I think this is an issue with how wdio 4.0+ runs. Haven't had a chance to investigate.


Missing Python package dependencies

We have the following dependencies that are not shown in INSTALL.md of the current repo:

python-is-python3
Python package z3-solver==4.8.12
Python package natsort (this is only for showing the results in the artifact)

Is it sufficient to add the Python package dependencies to requirements.txt?

On my working branch (parallelized BFS), I generate a conda dependencies yaml file to enable OpenMP. Not sure if it is relevant to this issue.

Well I found the instructions about requirements.txt in dev_setup.md. So I added the two packages into requirements.txt just now.


Pass serializer context in RegisterView.get_response_data #478

Pass serializer context to TokenSerializer / JWTSerializer so extensions of these serializers can make use of it to implement custom logic.
Closes #478

Coverage increased (+0.003%) to 96.369% when pulling cf9f469b540f22f4c0fa511d1d74d3f049193e40 on nemesisdesign:master into 479a40d2ccd69d69f7a05d716f30239dd3ef2343 on Tivix:master.

Coverage increased (+0.003%) to 96.369% when pulling cf9f469b540f22f4c0fa511d1d74d3f049193e40 on nemesisdesign:master into 479a40d2ccd69d69f7a05d716f30239dd3ef2343 on Tivix:master.

Coverage increased (+0.003%) to 96.369% when pulling cf9f469b540f22f4c0fa511d1d74d3f049193e40 on nemesisdesign:master into 479a40d2ccd69d69f7a05d716f30239dd3ef2343 on Tivix:master.

@mariodev ping

Hi,
as a user of rest-auth, thanks for the contribution!
This repo is not maintained anymore, so the development moved to dj-rest-auth. (reference: https://github.com/Tivix/django-rest-auth/issues/568)
It may be best, if you move this PR there. (and upgrade to using dj_rest_auth)
new repo link: https://github.com/jazzband/dj-rest-auth (I'm not the upkeeper of that repo, it just makes sense for me to help you merge your PR)
Many Thanks,
Barney

Thanks @BarnabasSzabolcs. I see it has been resolved: https://github.com/jazzband/dj-rest-auth/pull/52.


[$500] Wallet - Extra top padding on each field in Additional details page

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

Version Number: v1.4.13-4
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause-Internal Team
Slack conversation: @
Action Performed:

Navigate to https://staging.new.expensify.com/enable-payments

Expected Result:
Each field is spaced adequately.
Actual Result:
Each field has excess top padding, making each field look wide apart from one another.
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~013a9a9a0a9a660619
Upwork Job ID:<PHONE_NUMBER>530536960
Last Price Increase: 2023-12-15

Proposal
Please re-state the problem that we are trying to solve in this issue.
Extra top padding on each field in Additional details page
What is the root cause of that problem?
Currently we have a margin-top: 16px
containerStyles={[styles.mt4]}

What changes do you think we should make in order to solve the problem?
we should remove margin-top
containerStyles={[styles.mt4]} // remove

What alternative solutions did you explore? (Optional)
N/A

But why is it not reproducible in production @namhihi237? Because the line of code you're referring to is an old one. 😕

I think this is minor issue so it does not have to be a blocker, but also I think that should be handled with the PR authors @perunt @allroundexperts @jjcoffee

I'll fix it now

Bumped in slack

I made a PR for that. It's a duplication of the style's name. I don't know why it wasn't a thing on merge conflicts.

Hey @perunt @allroundexperts @jjcoffee is there a PR for this? I don't see one linked.

@stephanieelliott, here's the PR that resolved the issue: https://github.com/Expensify/App/pull/33221

All reviews completed, PR is undergoing QA

This is a followup PR to resolve a regression from a PR that the contributor/C+ reviewed, so no payment is due here! Payment will be handled on the original issue.


Minio missing authorization header

I was trying to use s3fs-fuse with a deployed minio instance from the grid as following

Deploy a minio from the chatflow

Create testbucket bucket

Test with fuse in local docker container:

docker run --rm -it --privileged --cap-add SYS_ADMIN --cap-add MKNOD --device /dev/fuse ubuntu:20.04
apt-get update
apt install s3fs
echo waleedhammam:test12345 > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs
mkdir /home/elmountpoint
s3fs testbucket /home/elmountpoint -o passwd_file=${HOME}/.passwd-s3fs,use_path_request_style,url=http://<IP_ADDRESS>:9000

add -o dbglevel=info -f -o curldbg to show logs

It fails with this error
[ERR] curl.cpp:RequestPerform(2436): HTTP response code 403, returning EPERM. Body Text: <?xml version="1.0" encoding="UTF-8"?>
<Error>SignatureDoesNotMatch<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message><BucketName>testbucket</BucketName><Resource>/testbucket/</Resource><Region>us-east-1</Region><RequestId>16336744149C2E04</RequestId><HostId>8d6d484f-35d2-4f9a-97b1-2b10339876f0</HostId></Error>

Authorization: AWS waleedhammam:gqDi2XnskksvzFTJyRSAtPdmAI4=

Meanwhile using minio docker works ok:
docker run -p 9000:9000 \
  -e "MINIO_ACCESS_KEY=AKIAIOSFODNN7EXAMPLE" \
  -e "MINIO_SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \
  minio/minio server /data

Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20200910/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=8a650756a82295f19af64290a2b0fdcd631faeb6d29c387474dd7a3984dc85e8
x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-date: 20200910T110936Z

root@3b9c8bddbf58:/# mount | grep s3
s3fs on /home/elmountpoint type fuse.s3fs (rw,nosuid,nodev,relatime,user_id=0,group_id=0)

This is sounds like a weird issue because we don't deal with headers, authentication, or authorization. our implementation only deal with the data files themselves by implementing the required interface.
I tested a local setup (our minio plus local zdb namespace) and s3fs was mounted successfully.

reading, writing files is also working fine, there is a weird behavior when creating directories. but we can look into this later.

Next, i will test a setup on the grid to make sure

I confirm that it works fine on the grid (testnet). Are you use you using the correct username/password ?

Does username and password need to have special requirements? Encoded or so ?

well, it worked using these sample key and secret
AKIAIOSFODNN7EXAMPLE" \
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" \

@waleedhammam you need to use the key/secret u used while doing the deployment! I don't understand where did you get those sample keys from.

@waleedhammam you need to use the key/secret u used while doing the deployment! I don't understand where did you get those sample keys from.

I thought the key/secret needs to be with this scheme .I used that example in deployment and worked but tried normal ones are ok too, I think the first deployment was my bad or misconfiguration.


Nesting style error on 6.3.1

I check version 6.3.1 and have error on use this code:
div.redactor-editor{
	@import '../../bower_components/foundation-sites-6.3.1/scss/foundation';
	@include foundation-everything($flex:true);
}

and error is:
events.js:160
      throw er; // Unhandled 'error' event
      ^
Error: bower_components/foundation-sites-6.3.1/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss
Error: Unmet dependencies! The following functions are required: sl-replace.
        on line 21 of bower_components/foundation-sites-6.3.1/_vendor/sassy-lists/stylesheets/helpers/_missing-dependencies.scss
>>     @error 'Unmet dependencies! The following functions are required: #{$missi
   ----^

    at options.error (/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:286:26)

It necessary for wysiwyg redactor from imperavi for backend editing site.
For version 6.2 work all right!

Hard to say without more info but you may need to add the paths to those sassy-list files to your your gulpfile so sass knows where to look for those files. It's probably looking for those files using some relative path and not finding it because of the way you're importing foundation, there.
so something like:
var sassPaths = [
  'bower_components/foundation-sites-6.3.1/_vendor/sassy-lists/stylesheets/functions',
];

(I could be wrong tho 😉 )

cc @ncoden

I fix it! my solution:
@import "./../../bower_components/foundation-sites-6.3.1/_vendor/sassy-lists/stylesheets/functions/purge";
@import "./../../bower_components/foundation-sites-6.3.1/_vendor/sassy-lists/stylesheets/functions/remove";
@import "./../../bower_components/foundation-sites-6.3.1/_vendor/sassy-lists/stylesheets/functions/replace";
@import "./../../bower_components/foundation-sites-6.3.1/_vendor/sassy-lists/stylesheets/functions/to-list";
@import "./../../bower_components/foundation-sites-6.3.1/_vendor/sassy-lists/stylesheets/helpers/true";
div.redactor-editor{
	@import "main.scss";
}


[ARCTIC-985] avoid NoSuchObjectException when renew blocker

Why are the changes needed?

avoid NoSuchObjectException when renew blocker, like

Brief change log

check blocker exist before renewing blocker

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before making a pull request

Documentation

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

cc @hellojinsilei


Bug with recipes not working / Items not craftable

Sometimes the recipe of an item is not working. It needs to be "reset" with /rpgitem ITEM recipe 1 to work again. I can't say what causes this bug, as it just happens randomly. We are not restarting the server or make any changes to the server. The bug occurs with just the server running normally.
Version: 1.11-v3.5.275

Can you provide the recipe so others of us can attempt to re-create the problem? A common format I see used in forums to show a recipe is:
A, A, B
A, C, A
C, A, A
A = EMPTY
B = Diamond
C = Stick

That is actually hard to say, because it happens with so many items. One example would be an upgraded armor set. You craft the first set like any other Vanilla armor. For the second you have to put any part of the first set in the middle and an upgrace material above. The upgrade material is crafted with 9x the item, that is used for the 1st tier armor. EVERY item needed in this process is a RPGItem that is given by playerkills or by commandblock over time.
The weird thing is, that the 1st tier armor could be crafted without problems, but NONE of the 2nd tier armor worked. Sometimes even the 1st tier armor is bugging.

Oh I see. It makes a difference if the RPGItem is given by command or crafted. The item ID shown when doing the essentials command /iteminfo is different. Knowing that I think I can find a workaround for my case. But I can imagine that it still is annoying in many other scenarios.

That's actually a thing I've been experiencing for years now, and yes it's INCREDIBLY annoying.  Usually when we create a quest that requires an RPGItem (which is quite often) we'll just use the /rpgitem <item> give to have it on hand for input... Unfortunately, the issue ends up being that when a player comes to try and hand their item in, the Quests plugin is like "Sorry, this isn't the item the NPC is looking for..." which of course causes frustration to no end for staff and players.
Curiously though, I had within the last week made a couple items and one of them just so happened to be an upgrade much like you're doing. For the upgrade recipe, it too utilized the crafted RPGItem in the center of the recipe; however, I've yet to hear anyone have a problem with crafting the upgrade, despite the first "crafted" item I used in the recipe being acquired via the give-command. I'll have to do some testing to see if I can see if that happens to me, as well.
I can indeed confirm that it's an issue with RPGItems, and has been forever. The problem, as far as I've been able to determine over the years, is just in the Display and Hand/Type entries, as the difference between rpgitems-given and crafted are a bunch of random colorcode padding that is added/removed from the metadata. In the case of the Hand/Type, it's at the beginning and end of that lore line.
--Example taken from the Quests.yml file, which was 'added' to the plugin using the in-game quest creation system while holding the item in your hand (bold colorcode are the plugin-added padding, the rest was added by me during creation):

- name-STONE_SWORD:amount-1:displayname-§0§0§0§0§0§0§7§1§6§l§eStar§r of the §4Nether:lore-§0§0§0§0§0§0§7§1§fTwo handed                       Claymore §c§a§f§e§0§0§0§0:lore-§f15-20 Damage:lore-§a50% chance to apply wither:lore-§aGrants regeneration 2 for 8.0s:lore-§e§o"The brightest point visible from within:lore-§e§othe Nether, forged into a mighty:lore-§e§osword.":lore-§7[Hit enemy to trigger Wither 2]:lore-§f§a[Right-click to activate Regeneration 2]:lore-§fCraftable §6Legendary Weapon

To be honest, I don't even know why RPGItems even adds a bunch of extra color codes to the front of the item name... Unless it's used by RPGItems to recognize (authenticate) it as an RPGItem and not just some vanilla player-created item?

@Formula350 RPGItems use color codes to store item id and durability


chip-tool-darwin allows for an accessory with PID 00000 to be commissioned

Problem
chip-tool-darwin commissions an example accessory with a Product ID of '00000'. However this PID is forbidden per the spec 2.5.3. Product Identifier (Product ID, PID) stating "A value of 0x0000 SHALL NOT be assigned to a product since Product ID = 0x0000 is used for these specific cases:"
Found in Test Steps 7a/b for TC-DD-3.14

Proposed Solution
PID may not be checked during commissioning process but per the spec, this PID should not be allowed so there may need to be a check for VID and PID during the commissioning process
Testing Setup
TE8
[TC-DD-3.14] Commissioning Flow - Manual Pairing Code - Negative scenario [DUT - Commissioner]
https://github.com/CHIP-Specifications/chip-test-plans/blob/master/src/devicediscovery.adoc#3314-tc-dd-314-commissioning-flow---manual-pairing-code---negative-scenario-dut---commissioner
Spec Version: master 40e3631, 2022-01-05 11:22:38 -0800: Draft

@liamgonyea What are the steps to reproduce here?  That is, how does one configure a test app to have PID == 0?

Assigning to @bzbarsky-apple to confirm if this is fixed.

After https://github.com/project-chip/connectedhomeip/pull/18606 we disallow commissioning if the setup payload claims PID == 0.
If the setup payload is a short manual code, without PID, then it's not clear to me whether any PID checks should be happening.
But certainly the test plan steps linked above work now.


[WIP] Switch to incremental mode in build_runner

Description
This should allow preserving some compiler state to speed up web builds.

This did not change build performance locally


Where to define the new SBA in the Topology - in case SBA Skype 2015

Hi,
Where we need to define the new SBA 2015 on Skype 2019 Topology- under branch site there are subfolders: Lync 2013/Skyoe 2015/Skype2019 - in case its SBA 2015 do we need to put under Skype 2015 or 2019?
Thanks
Erez

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

ID: 5e21d998-d4db-a632-6560-ab9a796b5159
Version Independent ID: 13438ad4-3a7e-6700-4127-b59d99b53543
Content: Connect a Survivable Branch Appliance
Content Source: Skype/SfBServer2019/migration/connect-a-survivable-branch-appliance.md
Product: skype-for-business-itpro
GitHub Login: @kenwith
Microsoft Alias: kenwith

@officedocsbot assign @scanum

Hi @OE10
Thanks for reaching out!
If your organization is planning to migrate to Skype 2019 you should define the new SBA under Skype 2019 folder.
Hope this information is helpful. Kindly confirm. Thank you.

Hi,
So maybe there is a mistake on the link: Skype/SfBServer2019/migration/connect-a-survivable-branch-appliance.md
Because you can see the below steps that talk about legacy SBA (for Skype 2019 need to use the same SBA for Skype 2015 – which means a legacy SBA)
To associate the legacy SBA to the Skype for Business Server 2019 Front End pool:
i.	Expand the branch site that has been created.
ii.	Right-click on legacy version, and then click New.
iii.	Click Survivable Branch Appliance.

Hi @OE10
Thanks for your patience. Appreciate it.
Apologies for creating the confusion. If you are looking for associating the legacy SBA to the Skype for Business Server 2019 Front End pool, you need create a new survivable branch appliance on the legacy version(in this scenario it is Skype for business server 2015).
Hope this information is helpful. Looking forward to your confirmation. Thank you.

@OE10  Thank you for submitting this feedback.
From our understanding the issue has been resolved. If you feel it hasn't been resolved please re-open this issue.

@officedocsbot close


(Fix) Use bigNumber to operate with supply value

Closes #708

Pull Request Test Coverage Report for Build 1915

0 of 3 (0.0%) changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 19.779%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/manage/utils.js
0
3
0.0%

Totals

Change from base Build 1912:
0.0%

Covered Lines:
541

Relevant Lines:
2386

💛  - Coveralls


implement a simple protocol (chat)

@brokenprogrammer
This is a test of a simple chat protocol, to see how peer-to-peer communication would work. This isn't really useful since it only handles two peers. I do think we want some method of distribution, like a kad DHT, or alternatively a way to do a broadcast. Will look into that next. This PR doesn't really have to be merged, but can serve to keep you informed of what I'm doing.

@brokenprogrammer I actually think this can be merged since it's a step in the right direction

Thanks m8, merging!