text:
Naming of Widgets

Hey!
I'd love the name of the widgets to be more self-explaining for the users that won't code on the project.
I tried a different naming for most of them. I also propose a different organisation of the filter-related widgets.
Wdyt?
SearchBox => SearchBar
Most of the search solutions use the naming Search Bar, I agree.
IndexSelector => SortBySelector
If you want to change an index, you're either doing a SortBy, or doing a multi-index search.
If you're doing a muti-index search, search parameters won't be the same, so you'll need different instances of instantsearch.js.
-> Changing the index is only useful if you're doing a SortBy (very rare exceptions IMO)
Hits => Results
Seems more simple to understand to someone that doesn't know the Algolia API.
RefinementList + Menu => FilterList
The main Facet widget, contains options to select

OR or AND (conjunctive or disjunctive)
One value can be selected / Multiple values can be selected

To me, it doesn't make sense to have separate widgets when 95% of the behavior/markup/usage is identical. I'd rather have a parameter.
Toggle => BooleanFilter
Trying a different naming. Not sure about this one.
HierarchicalMenu => HierarchicalFilter
RangeSlider, Stats, Pagination, URLSynchronisation
These ones seem good to me.

SearchBox => SearchBar
Most of the search solutions use the naming Search Bar, I agree.

We already chat about that one, it seems Google disagree and says "search box" is better.

IndexSelector => SortBySelector

Same; but we decided to go for Index because:

it's not only for sorts, we could target another index
Algolia really requires you to understand that it will target a specific index for the sorts

Hits => Results

I think I like this one. :+1:

RefinementList + Menu => FilterList
Toggle => BooleanFilter
HierarchicalMenu => HierarchicalFilter

I wouldn't got for those ones, we need to keep names than explain what the widget is about; not really which action will be performed.

SearchBar cool

- IndexSelector / SortBySelector, interesting trade-off, one is more straight to the point, the other gives you perspective. Not sure, but the choice here will impact the rest of the orientation.
- FilterList != Menu for me. The closest to the image a user can think of the better. A menu is a menu. Whereas a filterList is abstract, and is not a menu.
- the rest are cool for me too
Cheers,
—
Alexandre STANISLAWSKI
Software engineer
Phone: +33 6 32 67 05 12
Website: https://www.algolia.com/
On Tue, Oct 13, 2015 at 6:30 PM, kokliKo notifications@github.com wrote:

Hey!
I'd love the name of the widgets to be more self-explaining for the users that won't code on the project.
I tried a different naming for most of them. I also propose a different organisation of the filter-related widgets.
Wdyt?
SearchBox => SearchBar
Most of the search solutions use the naming Search Bar, I agree.
IndexSelector => SortBySelector
If you want to change an index, you're either doing a SortBy, or doing a multi-index search.
If you're doing a muti-index search, search parameters won't be the same, so you'll need different instances of instantsearch.js.
-> Changing the index is only useful if you're doing a SortBy (very rare exceptions IMO)
Hits => Results
Seems more simple to understand to someone that doesn't know the Algolia API.
RefinementList + Menu => FilterList
The main Facet widget, contains options to select

OR or AND (conjunctive or disjunctive)
One value can be selected / Multiple values can be selected
To me, it doesn't make sense to have separate widgets when 95% of the behavior/markup/usage is identical. I'd rather have a parameter.
Toggle => BooleanFilter
Trying a different naming. Not sure about this one.
HierarchicalMenu => HierarchicalFilter
RangeSlider, Stats, Pagination, URLSynchronisation
These ones seem good to me.

Reply to this email directly or view it on GitHub:
https://github.com/algolia/instantsearch.js/issues/219

I also really think toggle, menu and hierarchicalMenu  should be changed.

Nice to have so much discussion about widget and naming, we already did have a lot of them at the beginning also.
Much have been said, I will give some context

SearchBox => SearchBar
Most of the search solutions use the naming Search Bar, I agree.

@redox answered that, also when instantiating a search bar one would expect it to expand automatically to the max width (=bar). That's not what we want. We could have searchInput which is maybe better than searchBox. But I think we are good.

IndexSelector => SortBySelector

This one is tricky. It was originally named widgets.sortBy which is self explanatory because "sort by" is always the text next to the <select>. We then thought "well, but it does not reflect the fact that it requires you to have mutiple indices..".
Right now I would like to call it sortBy because that's the only widget where the name is tied to the underlying implementation on our side. Of course the user will have to know that he needs multiple indices (slaves) but that's a documentation issue. The name should be sortBy I think.
Every widget will require some index/algolia configuration and that's completely OK if we do it well (see #156).

Hits => Results

Not sure again, because what you are dealing with are the result.hits. If at any moment you see a response from Algolia (dashboard, helper). Then your mind will do the mapping: hits widget maps to result.hits.
Yes we could name it results. Dunno if that's really better.

RefinementList + Menu => FilterList

We already spend a lot of time finding refinementList, and yes you need the menu widget. #49

To me, it doesn't make sense to have separate widgets when 95% of the behavior/markup/usage is identical.

The fact that internally we are DRY does not mean that the underlying widget API menu, hierarchicalMenu, refinementList should be merged. If you are a user looking at a way to "create a menu out of categories" then you will look for a "menu" widget I think.

Toggle => BooleanFilter

Nope, it's implementation bubbling up to the API. I am looking for a toggle, I will search toggle.

RangeSlider, Stats, Pagination, URLSynchronisation

Careful thought, we need to map the exact API names into the documentation. So we will not speak about URLSynchronisation or link to it but urlSync. Because once you start using the library it's important to find the things you are looking for and to map your code to the docs. We cannot have titles like "Range Slider" because I will search for rangeSlider once used to it. But still, we can have "range slider" in the text of course, but links and headers should reflect the API.

I wouldn't got for those ones, we need to keep names than explain what the widget is about; not really which action will be performed.

:100:

I also really think toggle, menu and hierarchicalMenu should be changed.

Can you precise how you would like them to change?

tl;dr
I'd rather have several high-level widgets, even if they are internally just using the same components with different attributes.
more:
This issue is important to me at the moment because I'm working on the theming of widgets and I would like every widget to have its own set of CSS classes, so we can style them independently. At the moment, a lot of widgets are actually refinementList widgets, with very specific attributes to completly change their behavior. But they are still the same widget, and they will still have the same CSS class.
I think widgets should be high level, exposed to the users (keep in mind that instantsearch.js is geared toward non tech-savvy users), while we can still share some code internally (like re-using the same React components). I'd rather we have 10 different top-level widgets, for each possible combination of options of the underlying React components, than one do-it-all top level one.
SearchBox or SearchBar is fine for me. I feel like sortBy is clearer from a user POV than indexSelector (yes, we actually change the index, but I've never seen a real-life implementation where we were using it for something else than sorting). And Hits => Results is way clearer. We have some naming in the API that is clearly not user-friendly, but let's not bubble it to the instantsearch API.
Then, what seems the real hard part, will be naming the widgets that acts as refinementLists. Here is a proposal:
multipleSelectionUnion

Where we can select more than one element, and the results are the union of the filters.
The more items I select, the more results I'll have, because I'm expanding my search.
Unselected choices are still displayed.
Eg. "Brands": All phones that are either iPhone or Samsung

multipleSelectionIntersection

Where we can select more than one element, and the results are the intersection of filters.
The more items I select, the less results I'll have, because I'm narrowing my search.
Unselected choices are still displayed, but the more item we select, the less will stay in the list.
Eg. "Actors": All movies that have Brad Pitt and Angelina Jolie

uniqueSelection

Where we can select one, and only one, element in a list
Whenever I select another item, the current one is unselected
Unselected one are still displayed, so we can easily switch from one value to another.
Eg. "Category": All items in the "Phone" category

We currently also have a widget like the uniqueSelection, but where other choices are hidden (so the user need to first click the current selected item to unselect it, then select another one). I don't think this is one useful and we should just drop it.
I've not included any information about checkboxes or links in the above examples. We currently use checkboxes for the multipleSelectionUnion, but they are actually a perfect choice for the multipleSelectionIntersection as well. Also, simple "active" links are also a viable choice for both of them. I don't think we should enforce checkboxes on those widgets, but let the users opt-in for the kind of display they want.
I also think the vocabulary is really confusing. I personnaly understand Union and Intersection better than Conjunctive/Disjunctive, Convergent/Divergent or AND/OR, but not everyone might feel the same.

This issue is important to me at the moment because I'm working on the theming of widgets and I would like every widget to have its own set of CSS classes, so we can style them independently. At the moment, a lot of widgets are actually refinementList widgets

I am not sure to understand the issue of widgets naming for theming/default css classes.
The widget are separated in menu, hierachicalMenu, toggle, refinementList. So the theming can just use those names to reflect the differences and provide the user the ability to have different styling.
There's little chance you will want to style a menu the same way you will style a refinementList (links vs checkboxes).
Can you elaborate with css code on what's the issue?

There's little chance you will want to style a menu the same way you will style a refinementList (links vs checkboxes).

Actually, the choice of using checkboxes or links is not that obvious. Both are perfectly acceptable in almost every case (except maybe using a checkbox for a menu, where a radio might be more explicit). I feel that this display choice should not be linked to the widget, but that we let the user choose which one they want (through css classes).
My issue today is that the refinementList widget is used to display both of these widgets:

But they have really different behavior (one lets you select multiple items, the other only one). The way the code is currently set, CSS classes are defined at the widget level. But as those two widgets are actually the same, they will both have a class of ais-refinement-list, while we would want them to have classes of ais-multiple-selection and ais-single-selection (for example), to style them differently.
I could add code inside the refinementList widget, testing if singleRefine is set to true or not to see if I'm in a single select or multiple, and adapt the css classes based on that. But creating two different widgets (because they have two different behaviors) would make code much more readable.
Note: Regarding my above example, I actually think that all widgets that are using the refinement-list component internally should also share the ais-refinement-list CSS class in addition to their ais-multiple-select or ais-single-select one. But that is not the main issue here.

But they have really different behavior (one lets you select multiple items, the other only one). The way the code is currently set, CSS classes are defined at the widget level. But as those two widgets are actually the same, they will both have a class of ais-refinement-list, while we would want them to have classes of ais-multiple-selection and ais-single-selection (for example), to style them differently.

I think the BEM root name (ais-refinement-list) should be defined at the widget level, not the component level. Components are just internal implementation, the user should not care about it.
Indeed if I am using the menu widget and get ais-refinementList, I will be surprised.
This will solve your question here I guess.

I totally agree with you. CSS classes definition should stay in the widgets, and components are just internals.
That's why I suggest we create new widgets on top of refinementList, so they can have their own classes (and explicit name) instead of using refinementList for very different things.

That's why I suggest we create new widgets on top of refinementList, so they can have their own classes (and explicit name) instead of using refinementList for very different things.

What are the different things we use the refinementList widget for? Right now we use it for:

AND checkboxes (conjunctive facet)
OR checkboxes (disjunctive facet)
single refine

I do not feel those are very different things, it's always a list of checkbox by default. As for the theming, there's no need to provide a different theme for those 3 use cases, this is just a list of checkboxes.
There's no need to add/remove classes internally based on the options since the rendering is the same. The user has already all he needs to specify a custom class or even his own #container if he really want different css/template at the widget instantiation level.
We talked a lot at the begining if we needed things like "singleRefinementList" "multipleRefinementList" and agreed that in the end, a simple refinementList should be good with theses three options. And single refine is really an edge case. See #42.
If we really discover that this is a pain for our users then we can just move on and split etc.. That's not a problem.

What is exactly singleRefine? I understand that it means one can only select one element in a list of multiple element (ie. when selecting one, the previous one is unselected). But this seems really the same as what the menu widget is doing.
Also, in the issue you linked, we're saying that menu is a special case of refinementList, but we make it its own widget so it's easier to understand (and I agree with that).
So do we still have a singleRefine attribute on refinementList that does the same thing as a  menu?
I'm also not convinced we always want to display those elements using checkboxes. I've created a separate issue for that, because the discussion here is getting hard to follow.
I feel like we're

But this seems really the same as what the menu widget is doing.

Yes, but menu is really sugar that people will look for if they want to create a "menu". We can get rid of singleRefine for sure, but then people will have to use a menu widget, provide a checkbox template.

So do we still have a singleRefine attribute on refinementList that does the same thing as a menu?

I would say yes. If we get an issue or more people are using menu + checkboxes then we can remove it.

We are good here I think

I don't think so :) (menu, toggle, hits, indexSelector are still subject to debate). But we should open separate issues for that next time.
Let's close that one for now.

authors: Jerskouille bobylito kokliKo pixelastic redox vvo


text:
Feature: Return helpers in hits > empty template

The use case is to display certain text only if there was a query given for a search, otherwise display a different message. Outside of using a closure there's no helpful methods.
For example. the Toggle widget has a isRefined parameter that is passed to the template so you can use it like so:
{{#isRefined}}checked{{/isRefined}}

It would be great to have a few like this for the hit>empty template to use like so..
No recipes were found with that criteria {{#hasQuery}}matching the search term{{query}}{{/hasQuery}}

Good idea! Let’s think about how this can be implemented. Query, search parameters are useful features. For now you can work around it by using a function rather than a straight template.

Sorry for not seeing this earlier, but the query actually is returned in the empty template, which means it can be used like this:
https://codesandbox.io/s/admiring-tharp-6kf7p?file=/src/app.js
No recipes were found with that criteria {{#query}}matching the search term <q>{{query}}</q>{{/query}}

source: gharchive/issue

authors: Braunson Haroenv

license: MIT

license_type: permissive

license_source: github-api


text:
API Proposal: Every refining widget should expose widget.on('refine')

Every refinement widget instance should be an EventEmitter and so we would be able to:
var categories =   instantsearch.widgets.menu({
  container: '#categories',
  facetName: 'categories',
  limit: 10,
  rootClass: 'list-unstyled',
  template: require('./templates/category.html')
});

categories.on('refine', function(newValue, previousValue) {
  // do whatever you want here, like scrolling to some specific place or top.
});

search.addWidget(categories);

@algolia/javascript ?

Yes, could be really nice. Would you trigger it before or after the rendering of the widget itself?
Also, shouldn't it have access to the helper in the callback? So users can handle complex and custom selections (like "When I filter by Brand, I want to disable the filter by free shipping", etc).
Or do you have a specific need in mind?

Would you trigger it before or after the rendering of the widget itself?

Dunno if they are some pro/cons on this.

Also, shouldn't it have access to the helper in the callback?

That's a good idea. Easy to add. Good for power users.

Or do you have a specific need in mind?

scrollTo what you want, analytics, popin warning about "free shipping", automatically refine on another attribute (like you said).

Maybe we need both? beforeRefine and afterRefine.
The first could have the helper as a parameter and could be used to handle specific needs of changing filters based on the user choice.
The second will be mostly used to update the rendering in one way or another (add classes to elements? scroll to top?)

Maybe we need both? beforeRefine and afterRefine.

Yes having them right now would help clarify the things and handle all cases, :+1:
I love the beforeRefine where you are able to change filters automatically so that you can refine multiple things when they are linked.

There's already #83

authors: pixelastic vvo


text:
txn_participation_i index shrinking

Problem
The largest index currently is txn_participation_i sitting @ almost 90GB while base table is only 60GB.
Smaller indexes are generally faster for writing and there are more possibilities of having them on dedicated/faster storage.
Solution
IMHO txn_participation_i does not have to be unique.
Also we do not need to index the whole addr field.
After indexing on the first 8 bytes of the address like:
create index concurrently txn_participation_i on txn_participation (substring(addr from 1 for 8),round DESC, intra DESC);
the index down to 34GB (from 88GB).
With the current content of txn_participation there are only 4584 (~0.03%) collisions resulting in a SELECT operation having to filter through more than one row to find the match.
I have no standardized workload to see the perf impact but am happy with the space savings :D
Dependencies
Urgency
This requires a change to how queries are made and a reindex so not an urgent fix.
select * from txn_participation where substring(addr from 1 for 8) = E'\\xe0880274c95396ae'::bytea and addr = E'\\xe0880274c95396ae1cc6eae54b61e2a7b5b1d7bf0d93387bc134f2e2d96bc894'::bytea

Thanks for the detailed suggestion!

authors: urtho winder

repo: algorand/indexer


text:
Added python gaussian elimination

With no use of numpys array datastructure. This might be a contested decision.

Oh boy. All the mistakes I found in your code are also in @leios's Julia code. This might take a while :)

Yup. This is a direct port of the Julia code. Might create an issue to fix that? BTW, the exact same errors appear in #195

Yeah I'll open an issue. Let's keep this PR in the fridge for a bit if you don't mind.

I sniped you and just opened an Issue

@jiegillet is right, the form we have in the AAA is not general; however, it is the most common implementation of the algorithm I could find. The current implementation solves a system of equations, which is what the chapter was set up to do. It can also find the determinant; however, it lacks the capability of finding the ranks and bases of a matrix, which means that it cannot be used for all cases.
I'm currently looking at how to update the code from here.

@leios I was thinking about it yesterday, and yes, if the problem you are working on is solving a system of equations, then yes, the algorithm is perfectly adequate. However, Echelon and Reduced Echelon Forms have more applications than that, for example finding the rank of a matrix. It seems a little bit wasteful to implement the general case 90% of the way and stop there.

@jiegillet Yeah, the issue #201 is probably the best place to discuss this.

Update: the Julia code and chapter were updated and merged. Have a look and change your code accordingly.

Still alive? I will close this PR if it's stale.

source: gharchive/pull-request

authors: VikingScientist jiegillet leios

repo: algorithm-archivists/algorithm-archive


text:
[BUG] Algorithm 'CDLP' failed to compile on arrow flatten graph

Describe the bug
Algorithm: cdlp
Graph Template: arrow_flatten_fragment<std::string, uint64_t, grape::EmptyType, grape::EmptyType>

Thanks to @acezen , this problem caused by missing const iterator in arrow_flatten_fragment

Other cases sssp_path failed with  arrow_flatten_fragment<std::string, uint64_t, grape::EmptyType, grape::EmptyType>

repo: alibaba/GraphScope


text:
模型post量化后转tflite出现如下错误

中间模型 jit.save 可以保存，但是不能torch.jit.load

PyTorch版本？OS？CUDA版本？

另外这个问题不像是我们这边的问题，应该是PyTorch的问题啊

repo: alibaba/TinyNeuralNetwork


text:
Spring Test中使用MockMvc时，报NullPointerException

Druid版本：1.1.3、1.1.4
配置如下（其他默认）：
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/db
    username: username
    password: password

测试代码如下：
public class UserControllerTest  {
    @Resource
    private MockMvc mvc;

    @Test
    public void testGet() throws Exception {
        mvc.perform(get("/").accept(MediaType.APPLICATION_JSON_UTF8)).andExpect(status().isOk());
    }
}

错误如下：
java.lang.NullPointerException
    at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:94)
    at org.springframework.test.web.servlet.setup.PatternMappingFilterProxy.doFilter(PatternMappingFilterProxy.java:101)
    at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134)
    at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:108)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    ……

com.alibaba.druid.support.http.WebStatFilter#init 这个没有执行？

没有执行

Mock 的方式貌似不能初始化 Filter，你可以使用下面这种方式来做单元测试~
@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "hello druid";
    }
}

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class, webEnvironment = WebEnvironment.RANDOM_PORT)
public class ControllerTest {
    @Autowired
    private TestRestTemplate restTemplate;

    @Test
    public void test() {
        String result = this.restTemplate.getForObject("/hello", String.class);
        assertEquals(result, "\"hello druid\"");
    }
}

那么现在如果使用MockMvc来测试的话, 应该怎么做呢?

@kizimini 解决了没，没有的话可以试试单元测试中添加如下代码
	/**
	 * web项目上下文
	 */
	@Autowired
	private WebApplicationContext webApplicationContext;

	/**
	 * 所有测试方法执行之前执行该方法
	 */
	@Before
	public void before() {
		//获取mockmvc对象实例
		mvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
	}

@JodenHe 不行的, 这样做是不加载其他的过滤器. 这样权限校验无法通过

使用MockMvc测试时, WebStatFilter类其实是没有用的.
现在可用的解决方案是:

加入 druid-spring-boot-starter 依赖
在application-test.properties中增加配置spring.datasource.druid.web-stat-filter.enabled=false
在测试类上增加@ActiveProfiles("test")

@kizimini 对额，可以改配置！！6666，我也分离一下，学习了

不论将 application-test.properties 放到 main/resources 目录下还是 test/resources(已将该目录标记为测试资源目录) 目录下进行加载, 都无法避免 WebStatFilter.doFilter 造成的 NPE 异常.
main/resources/application-test.properties:

test/resources/application-test.properties:

使用 TestRestTemplate 进行单元测试的话确实是能够避免 WebStatFilter.doFilter 造成的 NPE 异常, 但是..但是..template 对象返回的都是LinkedHashMap 对象啊..这测试起来就难看了...
@lihengming 能解决(或协助规避Mock测试的)这个NPE异常不?

SpringBootTest注解默认使用 webEnvironment  = WebEnvironment.MOCK，它是不会对Filter、Servlet进行初始化的。
显示设置 webEnvironment  如下即可：
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

遇到同样的问题。还没有解吗？

遇到同样的问题。还没有解吗？

可以在test的配置中这样设置:
spring.datasource.druid.WebStatFilter.enabled=false

SpringBootTest注解默认使用 webEnvironment = WebEnvironment.MOCK，它是不会对Filter、Servlet进行初始化的。
显示设置 webEnvironment 如下即可：
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

这个方案是可行的

SpringBootTest注解默认使用 webEnvironment = WebEnvironment.MOCK，它是不会对Filter、Servlet进行初始化的。
显示设置 webEnvironment 如下即可：
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
这个方案是可以init filter了 但是mockmvc不走filter呀。__.addFilter(new Filter)__。如果new的话 还是没有init数据

SpringBootTest注解默认使用 webEnvironment = WebEnvironment.MOCK，它是不会对Filter、Servlet进行初始化的。
显示设置 webEnvironment 如下即可：
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
以上这个方法方式可以init filter ，在mockmvc 使用的时候需要从容器吧bean拿出来就可以了
@Autowired
private WebApplicationContext webApplicationContext;
Filter f = (Filter)webApplicationContext.getbean("BeanName")
mockmvc.perform(……) .addFilter(f).builder()
完美搞定 THX ALL

SpringBootTest注解默认使用 webEnvironment = WebEnvironment.MOCK，它是不会对Filter、Servlet进行初始化的。
显示设置 webEnvironment 如下即可：
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
完美解决了，不占楼的话，我过来感谢一下

(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

这样子确实可以，完美解决

SpringBootTest注解默认使用 webEnvironment = WebEnvironment.MOCK，它是不会对Filter、Servlet进行初始化的。 显示设置 webEnvironment 如下即可： @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

完美解决！个人感觉比改配置文件要方便一点

authors: Bodil-X JackrayWang JodenHe LoveYou3000 XieEDeHeiShou dfengwei javmain kizimini lihengming muchl pluone wenshao xuanjinnan

repo: alibaba/druid


text:
Merge pull request #1 from alibaba/master

update dubbo

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.

authors: CLAassistant devsong

repo: alibaba/dubbo


text:
fix: kotlin list paramertizedType cast bug

related issue. The reason is that fastjson JavaBeanDeserializer does not handle kotlin corner case carefully.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.shenchong.shen seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant qwtsc

repo: alibaba/fastjson


text:
请求一个不存在的域名会报 431，而不是 404 之类的状态码

If you are reporting any crash or any potential security issue, do not
open an issue in this repo. Please report the issue via ASRC(Alibaba Security Response Center) where the issue will be triaged appropriately.

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description
请求一个不存在的域名会报 431，而不是 404 之类的更直观的状态码，并且日志里会打印出超长的 xff（这也是 431 的原因）
Ⅱ. Describe what happened
报错 431
Ⅲ. Describe what you expected to happen
报错 404 或者其他更直观的状态码
Ⅳ. How to reproduce it (as minimally and precisely as possible)

请求一个不存在对应 ingress Host 的域名，报错 431

日志里超长的 xff，全是 higress gateway pod 的 ip，看起来是无限循环了

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

Higress version:  1.4.2
OS :
Others:

路由配置是不是指向了gateway自己？

路由配置是不是指向了 gateway 自己？

不是，是没有配置 ingress 路由，但是通过 DNS 配置了泛域名。
比如配置了 *.website.com 的 DNS 泛域名指向到 gateway，然后访问 a.website.com，但此时没有配置对应的 ingress。这时候就会等待较久，然后出现上面的 431 并且日志里有超长 xff，而 ingress-nginx 的话就会直接报 404。

虽然这个不是正常的操作流程，但感觉处理不够优雅，有点影响业务排查

虽然这个不是正常的操作流程，但感觉处理不够优雅，有点影响业务排查

这个逻辑不太对，确定完全没有 Ingress 吗？贴一下完整的日志原文，不要做任何裁剪。敏感信息可以移除。

repo: alibaba/higress


text:
sgx-tools: support to get dcap target info and quote.

Signed-off-by: Yilin Li YiLin.Li@linux.alibaba.com

I push the total formal codes in this pr. I drop all Dcap function and In next action I will spilt this or into two pr@jiazhang0 :

sgx-tools/dcap_linux.go、sgx-tools/proto/aesm-service.proto、sgx-tools/proto/aesm-service.pb.go: move to rune/libenclave/intelsgx
sgx-tools/gen-qe-target-info.go、sgx-tools/gen-quote.go、sgx-tools/utils_linux.go: still remain in sgx-tools
sgx-tools/Makefile: no change

I push the total formal codes in this pr. I drop all Dcap function and In next action I will spilt this or into two pr@jiazhang0 :

sgx-tools/dcap_linux.go、sgx-tools/proto/aesm-service.proto、sgx-tools/proto/aesm-service.pb.go: move to rune/libenclave/intelsgx
sgx-tools/gen-qe-target-info.go、sgx-tools/gen-quote.go、sgx-tools/utils_linux.go: still remain in sgx-tools
sgx-tools/Makefile: no change

Thanks. FYI @jiazhang0 , I have submitted all the code as suggested and I will split it into two prs in the next few days.

this pr(rune/libenclave/intelsgx: both support to get epid and ecdsa target info and quote`) : sgx-tools/dcap_linux.go、sgx-tools/proto/aesm-service.proto、sgx-tools/proto/aesm-service.pb.go
another pr(sgx-tools: support to get dcap target info and quote.): sgx-tools/gen-qe-target-info.go、sgx-tools/gen-quote.go、sgx-tools/utils_linux.go

And when I complete the above, I will remove the rfc label.

Thanks. FYI @jiazhang0 , I have submitted all the code as suggested and I will split it into two prs in the next few days.

this pr(rune/libenclave/intelsgx: both support to get epid and ecdsa target info and quote`) : sgx-tools/dcap_linux.go、sgx-tools/proto/aesm-service.proto、sgx-tools/proto/aesm-service.pb.go
another pr(sgx-tools: support to get dcap target info and quote.): sgx-tools/gen-qe-target-info.go、sgx-tools/gen-quote.go、sgx-tools/utils_linux.go

And when I complete the above, I will remove the rfc label.

These codes won't be placed into sgx-tools repo but be placed into rune/libenclave/intelsgx. So I think I must place them into rune/libenclave/intelsgx and be reviewed again.

These codes won't be placed into sgx-tools repo but be placed into rune/libenclave/intelsgx. So I think I must place them into rune/libenclave/intelsgx and be reviewed again.

Close this pr now, I will push the new pr for rune/libenclave/intelsgx package.

Close this pr now, I will push the new pr for rune/libenclave/intelsgx package.

repo: alibaba/inclavare-containers


text:
请问Page页面属性是在哪里定义和扩展的呀？

在上面中，基础的demo里面，每次选中对应的页面的时候，会出现页面的一些可设置的属性。
我理解这里是将page作为一个独立的组件来设置其的属性吗？就像自定义物料里面开发一个组件一样？
但是如果我想添加一些额外的属性到page页面之中，我应该如何添加呢？

在另外一个issue里面找到了，只需要定义一个Page一样自定义物料就可以

在另外一个issue里面找到了，只需要定义一个Page一样自定义物料就可以

我自定义了一个page物料，但是其他物料拖不进去，要怎么配置一下，可以说明一下吗，麻烦了

authors: yuanAIhan zxfwaxx

repo: alibaba/lowcode-engine


text:
feature: add relevant hints of RocketMQ starter

Describe what this PR does / why we need it
Using RuntimeHintsRegistrar to add relevant hints of spring-cloud-starter-stream-rocketmq.
Does this pull request fix one issue?

Describe how you did it
Describe how to verify it
Special notes for reviews

LGTM

repo: alibaba/spring-cloud-alibaba


text:
Add support of variable use for parameter rate in nginx.conf

Add a variable rate_var in the struct ngx_http_limit_req_ctx_t to store the name of the variable used in statements like rate=$limit_count  in nginx.conf.
Modified two functions in tengine/src/http/modules/ngx_http_limit_req_module.c.
They are:
ngx_http_limit_req_copy_variables(...)
if (ctx->rate_var.var.len != 0) {
        vv = ngx_http_get_indexed_variable(r, ctx->rate_var.index);
        if (vv == NULL || vv->not_found || vv->len == 0) {
            ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
                          "the value of the \"%V\" variable "
                          "for limit rate is wrong",
                          &ctx->rate_var.var);
        }

        if (vv->len > 65535) {
            ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
                          "the value of the \"%V\" variable "
                          "is more than 65535 bytes: \"%V\"",
                          &ctx->rate_var.var, vv);
        }

        len = vv->len;
        p = vv->data + len - 3;

        if (ngx_strcmp(p, "r/s", 3) == 0) {
            scale = 1;

        } else if (ngx_strcmp(p, "r/m", 3) == 0) {
            scale = 60;
        }

        rate = ngx_atoi(vv->data, vv->len - 3);
        if (rate <= 0) {
            ngx_log_error(NGX_LOG_ERROR, r->connection->log, 0,
                          "the value of rate is wrong",
                          &ctx->rate_var.var);
            total_len = 0;
            return total_len;
        }

        ctx->rate = rate * 1000 / scale;
    }

and ngx_http_limit_req_zone(...)
if (ngx_strncmp(value[i].data, "rate=", 5) == 0) {

            if (value[i].data[5] == '$') {

                value[i].data += 6;
                value[i].len -= 6;
                rate_var.index = ngx_http_get_variable_index(cf, &value[i]);

                if (rate_var.index == NGX_ERROR) {
                    return NGX_CONF_ERROR;
                }
                rate_var.var = value[i];

            } else {

                len = value[i].len;
                p = value[i].data + len - 3;

                if (ngx_strncmp(p, "r/s", 3) == 0) {
                    scale = 1;
                    len -= 3;

                } else if (ngx_strncmp(p, "r/m", 3) == 0) {
                    scale = 60;
                    len -= 3;
                }

                rate = ngx_atoi(value[i].data + 5, len - 5);
                if (rate <= 0) {
                    ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
                                       "invalid rate \"%V\"", &value[i]);
                    return NGX_CONF_ERROR;
                }
            }

            continue;
        }

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

authors: Alaaask CLAassistant

repo: alibaba/tengine


text:
input 等元素 没有结束标签 会显示不出来

错误写法:
<input type="text">
正确写法：
<input type="text"/>

This PR/issue doesn't received response since Weex migrated to Apache two years ago and this repository is no longer active yet.
Feel free to ask question in new repository and thanks for your contribution.

This issue is outdated for a long time and will be closed now. You can create a new one if you still have questions.

authors: CREATE-AI Hanks10100 YorkShen

repo: alibaba/weex


text:
[ios] scroll's direction is up ,it will trigger load more, or it should not trigger loadmore

list 或者 scroll向上滚动触发loadmore， 向下滚动不应该触发loadmore (scroll's direction is up ,it will trigger load more, or it should no trigger loadmore)

if you drag it down, but the scroll will still scroll up, and trigger loadmore when offset equals 0.

authors: kfeagle voicewitness


text:
Return most /authorize errors as a redirect

The spec defines that most errors to /authorize should be returned to the redirect URI with error and error_description query params:
If the resource owner denies the access request or if the request
fails for reasons other than a missing or invalid redirection URI,
the authorization server informs the client by adding the following
parameters to the query component of the redirection URI using the
"application/x-www-form-urlencoded" format, per Appendix B:

Add InvalidRedirectURIError and use InvalidClientError for all client_id errors since these should not redirect. Update
catch_errors_and_unavailability to optionally return errors as redirects.

Codecov Report

Merging #71 (d6553b7) into master (c7512c8) will decrease coverage by 0.32%.
The diff coverage is 95.12%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##            master      #71      +/-   ##
===========================================
- Coverage   100.00%   99.68%   -0.32%
===========================================
  Files           14       14
  Lines          630      645      +15
  Branches        92       95       +3
===========================================
+ Hits           630      643      +13
- Misses           0        1       +1
- Partials         0        1       +1

Impacted Files
Coverage Δ

aioauth/utils.py
97.77% <93.10%> (-2.23%)
:arrow_down:

aioauth/errors.py
100.00% <100.00%> (ø)

aioauth/grant_type.py
100.00% <100.00%> (ø)

aioauth/response_type.py
100.00% <100.00%> (ø)

aioauth/server.py
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Hi @mgorven ! Thank you for your great catch and your PRs. I'll take a look at them today.

authors: aliev codecov-commenter mgorven

repo: aliev/aioauth


text:
can't compile, "fatal error: mupdf/fitz.g and much other things

Git version. Any idea ?
mupdf.c: In function ‘doc_draw’:
mupdf.c:22:8: error: too many arguments to function ‘fz_new_pixmap_from_page_number’
pix = fz_new_pixmap_from_page_number(doc->ctx, doc->pdf, p - 1, &ctm, fz_device_rgb(doc->ctx), 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/mupdf/fitz.h:58:0,
from mupdf.c:3:
/usr/include/mupdf/fitz/util.h:22:12: note: declared here
fz_pixmap *fz_new_pixmap_from_page_number(fz_context *ctx, fz_document *doc, int number, const fz_matrix *ctm, fz_colorspace *cs);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mupdf.c:30:43: error: ‘fz_pixmap {aka struct fz_pixmap_s}’ has no member named ‘stride’; did you mean ‘storable’?
unsigned char *s = &pix->samples[y * pix->stride];
^~
Makefile:8 : la recette pour la cible « mupdf.o » a échouée
make: *** [mupdf.o] Erreur 1

I get same errors:
cc -c -Wall -O2 -I./include mupdf.c
mupdf.c: In function ‘doc_draw’:
mupdf.c:22:8: warning: implicit declaration of function ‘fz_new_pixmap_from_page_number’ [-Wimplicit-function-declaration]
  pix = fz_new_pixmap_from_page_number(doc->ctx, doc->pdf, p - 1, &ctm, fz_device_rgb(doc->ctx), 0);
        ^
mupdf.c:22:6: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
  pix = fz_new_pixmap_from_page_number(doc->ctx, doc->pdf, p - 1, &ctm, fz_device_rgb(doc->ctx), 0);
      ^
mupdf.c:30:43: error: ‘fz_pixmap {aka struct fz_pixmap_s}’ has no member named ‘stride’
   unsigned char *s = &pix->samples[y * pix->stride];
                                           ^
Makefile:8: recipe for target 'mupdf.o' failed
make: *** [mupdf.o] Error 1

Thirding, I have the same issue on ubuntu 18.

same issue in Ubuntu 18.04 :(
incompatible type for argument 1 of 'fz_scale' or too few arguments to function 'fz_scale'

I encountered the 'fz_scale' issue on Debian 9 which only comes much older version of muPdf. So given there was changes as marked for v1.14 I manually built from source. That resolved the 'fz_scale' issues but I now get
/usr/bin/ld: cannot find -lmupdf-pkcs7
/usr/bin/ld: cannot find -lmupdf-threads

kalpha2 notifications@github.com wrote:

I encountered the 'fz_scale' issue on Debian 9 which only comes much older version of muPdf. So given there was changes as marked for v1.14 I manually built from source. That resolved the 'fz_scale' issues but I now get
/usr/bin/ld: cannot find -lmupdf-pkcs7
/usr/bin/ld: cannot find -lmupdf-threads

Edit the Makefile and remove these options for the fbpdf
target.  Do you get any other linker errors?
Ali

then I get a lot of undefined refs, nothing flagged as error as such and final two lines are
collect2: error: ld returned 1 exit status
make: *** [fbpdf] Error 1
mybuild.txt

kalpha2 notifications@github.com wrote:

mybuild.txt

The options passed to the linker depend on the version of the mupdf
library (try 'git whatchanged -p Makefile' to see previous versions
of fbpdf's Makefile):
Add -lmupdfthird instead of -lmupdf-third.
If that does not work, replace -lmupdfthird with
-lmujs -lfreetype -ljbig2dec -ljpeg -lz -lopenjpeg.
Ali

think I started with snapshot download not git, could start over if think worth it?
changing the links no joy. I tried in order you gave.
I then changed -lopenjpeg to -lopenjp2 for this system but I'm stuck on lmujs not found.

do you recommend a particular version of mujs to use with fbpdf and what url would you recommend to get source for mujs from?

kalpha2 notifications@github.com wrote:

do you recommend a particular version of mujs to use with fbpdf and what url would you recommend to get source for mujs from?

mujs comes with mupdf itself.  However, the library was removed (merged
into -lmupdf) at some point after mupdf-1.4.
What is the version of mupdf library installed on your system?
Also note that, regardless of the version of mupdf installed
on your system, you can compile its latest version and copy
the resulting *.a files to the directory specified with linker'ss -L
and copy the header files (include/mupdf) to the directory
specified with compiler's -I.
Ali

I started with mupdf v1.9a as from Deb 9 Repos but got the fz_scale errors. So I went to the
https://mupdf.com/ site and because fbpdf changelog had ref to v1.14 I pulled that source version and built according to the instructions. There is no --version so I can't check if the make install worked but given the fz_scale errors went away presume it did.
I copied libfreeglut.a, libmupdf-pkcs7.a, libmupdf-third.a, and libmupdf~reads.a  to fbpdf/lib/ and the contents of mupdf/include into the fbpdf/include folder but perceptible differnce on the make... maybe I have to tweak the makefile.

kalpha2 notifications@github.com wrote:

I started with mupdf v1.9a as from Deb 9 Repos but got the fz_scale errors. So I went to the
https://mupdf.com/ site and because fbpdf changelog had ref to v1.14
I pulled that source version and built according to the instructions.
There is no --version so I can't check if the make install worked but
given the fz_scale errors went away presume it did.
I copied libfreeglut.a, libmupdf-pkcs7.a, libmupdf-third.a, and
libmupdf~reads.a to fbpdf/lib/ and the contents of mupdf/include into
the fbpdf/include folder but perceptible differnce on the make...
maybe I have to tweak the makefile.

Please revert your changes to the linker options in the Makefile
and report any problem you encounter.
Ali

with the makefile reverted to original see attached. ends with
collect2: error: ld returned 1 exit status
make: *** [fbpdf] Error 1
mybuild2.txt

kalpha2 notifications@github.com wrote:

with the makefile reverted to original see attached. ends with
collect2: error: ld returned 1 exit status
make: *** [fbpdf] Error 1
mybuild2.txt

What does the following commands return?
$ ls lib/
$ nm lib/libmupdf.a | grep fz_hb_free
Ali

lib only had I only
libfreeglut.a  libmupdf-pkcs7.a  libmupdf-third.a  libmupdf-threads.a
so I copied libmupdf.a in there too
nm lib/libmupdf.a | grep fz_hb_free
0000000000000000 T fz_hb_free
now I get
cc -c -Wall -O2 -I./include djvulibre.c
djvulibre.c:4:30: fatal error: libdjvu/ddjvuapi.h: No such file or directory
#include <libdjvu/ddjvuapi.h>
^
compilation terminated.
Makefile:8: recipe for target 'djvulibre.o' failed
make: *** [djvulibre.o] Error 1

kalpha2 notifications@github.com wrote:

lib only had I only
libfreeglut.a  libmupdf-pkcs7.a  libmupdf-third.a  libmupdf-threads.a
so I copied libmupdf.a in there too
nm lib/libmupdf.a | grep fz_hb_free
0000000000000000 T fz_hb_free

Then I guess you are done.  You can now use the fbpdf binary.

now I get
cc -c -Wall -O2 -I./include djvulibre.c
djvulibre.c:4:30: fatal error: libdjvu/ddjvuapi.h: No such file or directory
#include <libdjvu/ddjvuapi.h>
^
compilation terminated.
Makefile:8: recipe for target 'djvulibre.o' failed
make: *** [djvulibre.o] Error 1

This is for fbdjvu, for viewing Djvulibre files.  You do
not need it, if you want fbpdf only.
Ali

I've installed libdjvulibre-dev from deb repos so builds no errors. Now to test on unit with no X installed. thankyou

I also encountered this errors, but finally managed to get it working with a mix of your help and other sources. Here are the steps for any future readers:
lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy

gcc --version

gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0

Install mupdf-1.14:

git clone https://github.com/ArtifexSoftware/mupdf.git && cd mupdf
git checkout 1.14.0
git submodule update --init
sudo apt install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev libxi-dev
pyenv install 2.7.18 && pyenv local 2.7.18  # install python 2 and set it as the repository python version
cd thirdparty/freeglut/
curl -X GET 'https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/freeglut/files/freeglut-3.2.1-gcc10-fno-common.patch?id=f9102571b69d9fc05471a592fda252681fdfdef1' | git apply
make prefix=/usr/local install -j $($(nproc) + 1)

Install fbpdf:

git clone https://github.com/aligrudi/fbpdf.git
sudo apt install libdjvulibre-dev
cd mupdf
mkdir ../fbpdf/lib
cp ./build/release/{libfreeglut,libmupdf-pkcs7,libmupdf-third,libmupdf-threads,libmupdf}.a ../fbpdf/lib/
make -j $($(nproc) + 1)

nymius @.***> wrote:

I also encountered this errors, but finally managed to get it working with a mix of your help and other sources. Here are the steps for any future readers:
lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy

gcc --version

gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0

Install mupdf-1.14:

git clone https://github.com/ArtifexSoftware/mupdf.git && cd mupdf
git checkout 1.14.0
git submodule update --init
sudo apt install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev libxi-dev

You do not actually need these, unless you want to build the mupdf viewer.

pyenv install 2.7.18 && pyenv local 2.7.18  # install python 2 and set it as the repository python version
cd thirdparty/freeglut/
curl -X GET 'https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/freeglut/files/freeglut-3.2.1-gcc10-fno-common.patch?id=f9102571b69d9fc05471a592fda252681fdfdef1' | git apply
make prefix=/usr/local install -j $($(nproc) + 1)

2. Install `fbpdf`:
```bash
git clone https://github.com/aligrudi/fbpdf.git
sudo apt install libdjvulibre-dev
cd mupdf
mkdir ../fbpdf/lib
cp ./build/release/{libfreeglut,libmupdf-pkcs7,libmupdf-third,libmupdf-threads,libmupdf}.a ../fbpdf/lib/
make -j $($(nproc) + 1)

Thank you very much for sharing it.  Maybe we can add a link from
the README file.
Ali

authors: DuendeInexistente aligrudi evanescente-ondine kalpha2 monkeyxite nymius olleharstedt

repo: aligrudi/fbpdf


text:
Do not force the editor.gotoLocation.multipleDefinitions": "goto" in project .vscode/settings.json

Hi there! Thanks for the awesome extension!
I noticed that I already have editor.gotoLocation.multipleDefinitions": "goto" set in my system-wide settings.json (so basically the global VSCode Settings). But every time I start VSCode, it edits the .vscode/settings.json file in any of my projects and adds this line to it.
Is it required to have this line in every project? Or does it also get recognized if it's in the system-wide settings file.

Hi @madebyfabian thank you for the feedback.
I have improved the prompt and config logic of the extension and release v1.5.0
https://github.com/alimozdemir/vscode-nuxt-dx-tools/tree/v1.5.0?tab=readme-ov-file#configuration
Thanks!

Awesome, thank you! Appreciate it.

authors: alimozdemir madebyfabian

repo: alimozdemir/vscode-nuxt-dx-tools


text:
配置了logging.path，但是sofatracer的日志文件仍记录在用户主文件夹中

Describe the bug
在springboot中（非Sofaboot）使用sofa-rpc，配置了logging.path属性，但是sofatracer的日志还是记录在了用户主文件夹中（${user.home}/logs/tracelog）。

不单单sofatracer的日志，其他sofa相关的日志，都记录在了用户主目录

logging.path试过配置在application.properties文件中和其他的配置文件中的情况，都不行。
我项目中的其他日志都是能正常输出到logging.path属性指定的目中的。
Expected behavior
sofa相关日志能记录在logging.path属性指定的目中。
Actual behavior
日志记录在用户主目录中。
Environment

SOFARPC version: 5.5.0 and 5.5.1
JVM version (e.g. java -version): 1.8.0_60-b27
OS version (e.g. uname -a): macOS 10.14.12 Darwin Kernel Version 18.2.0
Maven version: Apache Maven 3.3.9
IDE version: IDEA 2018.3.5

另外，sofaboot环境下，使用rpc-sofa-boot-starter来使用sofarpc，日志能正常记录在指定文件夹中。

tracer 不是通过log组件打印的，是tracer自己实现的操作文件，所以你配置这个是不会生效的， @glmapper  看下是否有办法让用户配置。

@ItxiaoDz 工程中加一下 log-sofa-boot-starter 试试看
 <dependency>
    <groupId>com.alipay.sofa.common</groupId>
    <artifactId>log-sofa-boot-starter</artifactId>
    <version>1.0.18</version>
</dependency>

@ItxiaoDz 工程中加一下 log-sofa-boot-starter 试试看
 <dependency>
    <groupId>com.alipay.sofa.common</groupId>
    <artifactId>log-sofa-boot-starter</artifactId>
    <version>1.0.18</version>
</dependency>

@straybirdzls 这样可以解决。
不过在引入log-sofa-boot-starter时，它依赖的sofa-common-tools:1.0.18和sofa-rpc依赖的sofa-common-tools:1.0.12冲突了，要将sofa-rpc中的排除才行，不然启动项目会报错。

@ItxiaoDz 嗯，我们后面升级下 sofa-rpc 里的 sofa-common-tools 版本。
cc: @leizhiyuan

ok see https://github.com/alipay/sofa-rpc/issues/558

authors: ItxiaoDz leizhiyuan straybirdzls ujjboy

repo: alipay/sofa-rpc


text:
upgrade better_errors from 1.1.0 to 2.8.3

better_errors has been upgrade to resolve CVE-2021-39197.

Hi @Koki07, thanks for MR. can you confirm that stackprof-webnav UI works well after this change? specifically, file overview with line numbers. There is no decent code coverage for that

repo: alisnic/stackprof-webnav

license: mit

license_source: bigquery


text:
How to work with time zones?

Trying to use .toLocaleString("en-AU") but still getting UTC/GMT. Is there a way to build this to include internationalization options and/or simply specify a local time zone?

@maxmoore14 If you don't specify a timezone it will default to the environment timezone (which for Lambda is UTC).
You need to use await page.emulateTimezone('Australia/Sydney');.

repo: alixaxel/chrome-aws-lambda


text:
support PHP8.0

support PHP8.0
code by @taobig

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.bitmiss seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant bitmiss

repo: aliyun/aliyun-oss-php-sdk


text:
Add Live Exchange Rate

Found this https://www.exchangerate-api.com/docs/free which does not require an API

[x] Add helper function to retrive live currency rate from ExchangeRateAPI (will need the currency codes and the last updated I think)
[x] Show helper function (live rate inc. last updated) in currency/show.php against each kanboard currency code the user has added
[ ] Figure out how to refresh the data only once every 24hrs to avoid rate limiting
[ ] Use the helper to show the live rate based on the kanboard base currency around other parts of the site

I think the last updated date might be a seperate helper

@creecros could you please help?
I have got as far as this:
class LiveRateHelper extends Base
{
    // https://www.exchangerate-api.com/docs/php-currency-api
    // https://www.exchangerate-api.com/docs/free

    public static function getLiveRate($application_currency, $rate_currency)
    {
        // Fetching JSON
        //$req_url = 'https://open.er-api.com/v6/latest/USD';
        $req_url = 'https://open.er-api.com/v6/latest/'.$application_currency;
        $response_json = file_get_contents($req_url);

        // Continuing if we got a result
        if(false !== $response_json) {
            // Try/catch for json_decode operation
            try {
                // Decoding
                $response = json_decode($response_json);

                // Check for success
                if('success' === $response->result) {

                // YOUR APPLICATION CODE HERE, e.g.
                    //$base_price = 1; // Your price in USD
                    // $EUR_price = round(($base_price * $response->conversion_rates->EUR), 2);
                    //$live_rate = round(($base_price * $response->conversion_rates->$rate_currency), 2);

                    $base_currency = $application_currency;
                    foreach ($response as $key => $value) {}
                }

                return $live_rate
            }

            catch(Exception $e) {
            // Handle JSON parse error...
                return 'Error retrieving live rate';
            }
        }
    }
}

I don't know how to do the foreach

ok so I get no errors now but the result is always ZWL and I cant figure out how to do #2 in the same function. would try a new function but there is a rate limit of 24hrs which must be avoided.
Kind of regret deeply into this but I badly need a live currency in kanboard for my daily work

@creecros any feedback on where i am going wrong?

repo: aljawaid/CostControl


text:
Update from excalidraw/excalidraw:master

Describe the background of your pull request
What does your pull request do? Does it solve a bug (which one?), add a feature?
Additional context
Add any other context
Governance

[ ] Documentation is added
[ ] Test cases are added or updated

By submitting this pull request I confirm that:

I've read the contributing document https://github.com/alkem-io/.github/blob/master/CONTRIBUTING.md.
I've read and understand the Code of Conduct https://github.com/alkem-io/.github/blob/master/CODE_OF_CONDUCT.md.
I understand that any contributions or suggestions I made may make it into the actual code. I've read the License
https://github.com/alkem-io/Coordination/blob/master/LICENSE.
I understand that submitting the pull request requires agreeing to and signing the contributor license agreement.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 4 committers have signed the CLA.:x: dwelle:x: barnabasmolnar:x: alex-kim-dev:x: mazijian-ppYou have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant ccanos

repo: alkem-io/excalidraw-fork


text:
generate wallpaper failed: sE [Error]

Hi, can I know what error it is and how to solve it? than you
generate wallpaper failed:  sE [Error]: 400 Billing hard limit has been reached
at sx.generate (/var/task/.next/server/app/api/protected/gen-wallpaper/route.js:3:48448)
at ap.makeStatusError (/var/task/.next/server/app/api/protected/gen-wallpaper/route.js:3:59970)
at ap.makeRequest (/var/task/.next/server/app/api/protected/gen-wallpaper/route.js:3:60704)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async aq (/var/task/.next/server/app/api/protected/gen-wallpaper/route.js:7:9574)
at async /var/task/node_modules/.pnpm/next@14.0.4_react-dom@18.2.0_react@18.2.0/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js:6:41960 {
status: 400,
headers: {
'access-control-allow-origin': '*',
'alt-svc': 'h3=":443"; ma=86400',
'cf-cache-status': 'DYNAMIC',
'cf-ray': '8ac75aff9d48c97c-IAD',
connection: 'keep-alive',
'content-length': '172',
'content-type': 'application/json',
date: 'Thu, 01 Aug 2024 16:55:23 GMT',
'openai-organization': 'user-dev6cyamvpnihvvujgfm6qwx',
'openai-processing-ms': '257',
'openai-version': '2020-10-01',
server: 'cloudflare',
'set-cookie': '__cf_bm=pbMYfemDgdumhBSXmA67ZROqbIq2hvnbwrMiaZrRAZ8-1722531323-1.0.1.1-3rx3ZVnd4uTe8FnuUPvyqR7qVqDhzZSNvfSwE2.B9B0i3UBzcQ7WZy6UGDAbDRGHmGsF0YZ3XlzkGlent1HatA; path=/; expires=Thu, 01-Aug-24 17:25:23 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None, _cfuvid=CPHeBTAEMcly4qiYjJLJd94pGPpvy5.ilc552BeVxKE-1722531323142-0.0.1.1-604800000; path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None',
'strict-transport-security': 'max-age=15552000; includeSubDomains; preload',
'x-content-type-options': 'nosniff',
'x-request-id': 'req_a9a2d7c5eb0c0636b7d540df0f9b60c2'
},
error: {
code: 'billing_hard_limit_reached',
message: 'Billing hard limit has been reached',
param: null,
type: 'invalid_request_error'
},
code: 'billing_hard_limit_reached',
param: null,
type: 'invalid_request_error'

check Your OpenAI API, seems it's been limited

authors: cheerjohn idoubi

repo: all-in-aigc/aiwallpaper


text:
Issue when running train_sft.sh

I ran into a problem when running train_sft.sh after finishing all setups.
The terminal output is as follow:
[W socket.cpp:601] [c10d] The IPv6 network addresses of (cernet2.net, 52533) cannot be retrieved (gai error: -5 - No address associated with hostname).
[W socket.cpp:601] [c10d] The IPv6 network addresses of (cernet2.net, 52533) cannot be retrieved (gai error: -5 - No address associated with hostname).
[W socket.cpp:601] [c10d] The IPv6 network addresses of (cernet2.net, 52533) cannot be retrieved (gai error: -5 - No address associated with hostname).
[W socket.cpp:601] [c10d] The IPv6 network addresses of (cernet2.net, 52533) cannot be retrieved (gai error: -5 - No address associated with hostname).
[W socket.cpp:601] [c10d] The IPv6 network addresses of (cernet2.net, 52533) cannot be retrieved (gai error: -5 - No address associated with hostname).
[E socket.cpp:860] [c10d] The client socket has timed out after 1800s while trying to connect to (cernet2.net, 52533).
Traceback (most recent call last):
  File "/home/jc/workspace/FineGrainedRLHF/./sft/run_sft.py", line 480, in <module>
    main()
  File "/home/jc/workspace/FineGrainedRLHF/./sft/run_sft.py", line 190, in main
    model_args, data_args, training_args = parser.parse_args_into_dataclasses()
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/transformers/hf_argparser.py", line 226, in parse_args_into_dataclasses
    obj = dtype(**inputs)
  File "<string>", line 108, in __init__
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/transformers/training_args.py", line 1115, in __post_init__
    and (self.device.type != "cuda")
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/transformers/utils/import_utils.py", line 987, in wrapper
    return func(*args, **kwargs)
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/transformers/training_args.py", line 1475, in device
    return self._setup_devices
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/transformers/utils/generic.py", line 50, in __get__
    cached = self.fget(obj)
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/transformers/utils/import_utils.py", line 987, in wrapper
    return func(*args, **kwargs)
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/transformers/training_args.py", line 1460, in _setup_devices
    torch.distributed.init_process_group(backend="nccl", timeout=self.ddp_timeout_delta)
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/torch/distributed/distributed_c10d.py", line 754, in init_process_group
    store, rank, world_size = next(rendezvous_iterator)
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/torch/distributed/rendezvous.py", line 246, in _env_rendezvous_handler
    store = _create_c10d_store(master_addr, master_port, rank, world_size, timeout)
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/torch/distributed/rendezvous.py", line 177, in _create_c10d_store
    return TCPStore(
TimeoutError: The client socket has timed out after 1800s while trying to connect to (cernet2.net, 52533).
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 3785353) of binary: /home/jc/app/anaconda3/envs/rlhf/bin/python
Traceback (most recent call last):
  File "/home/jc/app/anaconda3/envs/rlhf/bin/torchrun", line 8, in <module>
    sys.exit(main())
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/torch/distributed/elastic/multiprocessing/errors/__init__.py", line 346, in wrapper
    return f(*args, **kwargs)
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/torch/distributed/run.py", line 762, in main
    run(args)
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/torch/distributed/run.py", line 753, in run
    elastic_launch(
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 132, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
  File "/home/jc/app/anaconda3/envs/rlhf/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 246, in launch_agent
    raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
============================================================
./sft/run_sft.py FAILED
------------------------------------------------------------
Failures:
  <NO_OTHER_FAILURES>
------------------------------------------------------------
Root Cause (first observed failure):
[0]:
  time      : 2024-01-18_14:17:20
  host      : cernet2.net
  rank      : 0 (local_rank: 0)
  exitcode  : 1 (pid: 3785353)
  error_file: <N/A>
  traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
============================================================

I find the solution:
add the following item in /etc/hosts:
127.0.0.1 cernet2.net

repo: allenai/FineGrainedRLHF


text:
after pip install dolma, use the dolma--help, return zipfile.BadZipFile: File is not a zip file

(dolma) whzhu_st@PowerEdge-R740:~$ dolma --help
Traceback (most recent call last):
  File "/home/whzhu_st/anaconda3/envs/dolma/bin/dolma", line 5, in <module>
    from dolma.cli.__main__ import main
  File "/home/whzhu_st/anaconda3/envs/dolma/lib/python3.10/site-packages/dolma/__init__.py", line 15, in <module>
    from .taggers import *  # noqa: E402
  File "/home/whzhu_st/anaconda3/envs/dolma/lib/python3.10/site-packages/dolma/taggers/__init__.py", line 1, in <module>
    from . import (
  File "/home/whzhu_st/anaconda3/envs/dolma/lib/python3.10/site-packages/dolma/taggers/jigsaw.py", line 12, in <module>
    from ..core.ft_tagger import BaseFastTextTagger, Prediction
  File "/home/whzhu_st/anaconda3/envs/dolma/lib/python3.10/site-packages/dolma/core/ft_tagger.py", line 20, in <module>
    from .utils import split_paragraphs, split_sentences
  File "/home/whzhu_st/anaconda3/envs/dolma/lib/python3.10/site-packages/dolma/core/utils.py", line 25, in <module>
    nltk.data.find("tokenizers/punkt")
  File "/home/whzhu_st/anaconda3/envs/dolma/lib/python3.10/site-packages/nltk/data.py", line 551, in find
    return find(modified_name, paths)
  File "/home/whzhu_st/anaconda3/envs/dolma/lib/python3.10/site-packages/nltk/data.py", line 538, in find
    return ZipFilePathPointer(p, zipentry)
  File "/home/whzhu_st/anaconda3/envs/dolma/lib/python3.10/site-packages/nltk/data.py", line 391, in __init__
    zipfile = OpenOnDemandZipFile(os.path.abspath(zipfile))
  File "/home/whzhu_st/anaconda3/envs/dolma/lib/python3.10/site-packages/nltk/data.py", line 1020, in __init__
    zipfile.ZipFile.__init__(self, filename)
  File "/home/whzhu_st/anaconda3/envs/dolma/lib/python3.10/zipfile.py", line 1258, in __init__
    self._RealGetContents()
  File "/home/whzhu_st/anaconda3/envs/dolma/lib/python3.10/zipfile.py", line 1325, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file
(dolma) whzhu_st@PowerEdge-R740:~$

Looking forward to your reply. Thank you very much!!!

could you list dependencies in your environment? pip list 2>&1 > dependencies.txt

pip list:
`Package                  Version

aiobotocore              2.15.1
aiohappyeyeballs         2.4.0
aiohttp                  3.10.5
aioitertools             0.12.0
aiosignal                1.3.1
antlr4-python3-runtime   4.9.3
anyascii                 0.3.2
async-timeout            4.0.3
attrs                    24.2.0
blingfire                0.1.8
boto3                    1.35.23
botocore                 1.35.23
cached_path              1.6.3
cachetools               5.5.0
certifi                  2024.8.30
charset-normalizer       3.3.2
click                    8.1.7
dolma                    1.0.12
fasttext-wheel           0.9.2
filelock                 3.13.4
frozenlist               1.4.1
fsspec                   2024.9.0
google-api-core          2.20.0
google-auth              2.35.0
google-cloud-core        2.4.1
google-cloud-storage     2.18.2
google-crc32c            1.6.0
google-resumable-media   2.7.2
googleapis-common-protos 1.65.0
huggingface-hub          0.23.5
idna                     3.10
jmespath                 1.0.1
joblib                   1.4.2
markdown-it-py           3.0.0
mdurl                    0.1.2
msgspec                  0.18.6
multidict                6.1.0
necessary                0.4.3
nltk                     3.9.1
numpy                    1.26.4
omegaconf                2.3.0
packaging                24.1
pip                      24.2
platformdirs             4.3.6
proto-plus               1.24.0
protobuf                 5.28.2
pyasn1                   0.6.1
pyasn1_modules           0.4.1
pybind11                 2.13.6
Pygments                 2.18.0
python-dateutil          2.9.0.post0
PyYAML                   6.0.2
regex                    2024.9.11
requests                 2.32.3
requirements-parser      0.11.0
rich                     13.8.1
rsa                      4.9
s3fs                     2024.9.0
s3transfer               0.10.2
setuptools               75.1.0
six                      1.16.0
smart-open               7.0.4
tokenizers               0.19.1
tqdm                     4.66.5
types-setuptools         75.1.0.20240917
typing_extensions        4.12.2
uniseg                   0.8.1
urllib3                  2.2.3
wheel                    0.44.0
wrapt                    1.16.0
yarl                     1.11.1
zstandard                0.23.0
`
Thank you very much!!!

Hello, is it a problem with the installation of the dependent library version? I created a new virtual environment and directly used pip install dolma, so there shouldn't be any issues, right? Looking forward to your reply, thank you.

authors: XiaozhuLove soldni

repo: allenai/dolma


text:
Fixes Issue #582.

Kept the original examples and added a couple new ones cherry-picking from the instances.

Thanks!

authors: RushangKaria danyaljj

repo: allenai/natural-instructions-expansion


text:
SciSpacy Python 3.11 Installation Fails / Broken nmslib dependency

python3 -m pip install scispacy
bin/python  (venv)
--> Python 3.11.6
bin/pip --version (venv)
--> 3.11.6
Building wheel for nmslib (pyproject.toml)
include -I/usr/include/python3.11 -c nmslib.cc -o build/temp.linux-x86_64-cpython-311/nmslib.o -O3 -march=native -fopenmp -DVERSION_INFO=\"2.1.1\" -std=c++14 -fvisibility=hidden
python3.11/site-packages/pybind11/include/pybind11/attr.h:310:20: Err: »const struct pybind11::detail::function_record
error: command '/usr/bin/gcc' failed with exit code
Failed to build nmslib
ERROR: Could not build wheels for nmslib, which is required to install pyproject.toml-based projects

Luckily enough, nobody needs to install the entire scispacy library to just obtain the Abbreviation Extraction utility :)  https://github.com/allenai/scispacy/blob/main/scispacy/abbreviation.py
Just in case someone needs it as well.

Has anyone figured out a work-around for this for the functionalities which require  scispacy or even nmslib?

Hi, you may have some luck with this workaround here: https://github.com/allenai/scispacy/issues/473#issuecomment-1590443024

My workaround was to install everything in Python/anaconda 3.9. Annoying, but it works

@dakinggg Do you have a workaround for Databricks ML? I've run out of tricks, I cannot get nmslib to install on 3.11 or 3.10

Based on https://github.com/allenai/scispacy/issues/520#issue-2438749767, I was able to get it working on both windows and wsl with python 3.11, by installing with mamba. Could others on this thread try that and let me know if it works? If so, I will update the installation instructions.

I've added a known support matrix to the readme for nmslib, so going to go ahead and close this issue.

authors: dakinggg ddofer ksaadDE mp-lunartree-bio ulc0

repo: allenai/scispacy


text:
1.2.7 编译报错 Caused by: java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0

以下为错误堆栈:
Caused by: java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0
	at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
	at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
	at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
	at org.objectweb.asm.commons.AdviceAdapter.peekValue(AdviceAdapter.java:619)
	at org.objectweb.asm.commons.AdviceAdapter.visitInsn(AdviceAdapter.java:278)
	at org.objectweb.asm.ClassReader.readCode(ClassReader.java:2190)
	at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1491)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:721)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:401)
	at com.yl.lib.plugin.sentry.transform.PrivacyClassProcessor$Companion.runHook(PrivacyClassProcessor.kt:48)
	at com.yl.lib.plugin.sentry.transform.PrivacySentryTransform$handleJar$$inlined$forEach$lambda$2.invoke(PrivacySentryTransform.kt:114)
	at com.yl.lib.plugin.sentry.transform.PrivacySentryTransform$handleJar$$inlined$forEach$lambda$2.invoke(PrivacySentryTransform.kt:17)
	at com.yl.lib.plugin.sentry.transform.PrivacyClassProcessor$Companion.processJar(PrivacyClassProcessor.kt:112)
	at com.yl.lib.plugin.sentry.transform.PrivacySentryTransform.handleJar(PrivacySentryTransform.kt:109)
	at com.yl.lib.plugin.sentry.transform.PrivacySentryTransform.transform(PrivacySentryTransform.kt:57)
	at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:281)
	at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:244)
	at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:106)
	at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:239)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
	at org.gradle.api.internal.project.taskfactory.IncrementalTaskInputsTaskAction.doExecute(IncrementalTaskInputsTaskAction.java:47)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
	at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:555)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:540)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:523)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:108)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:271)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:260)
	at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$0(ExecuteStep.java:33)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:67)
	at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:36)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
	at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
	at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
	at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
	at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
	at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
	at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:42)
	at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:159)
	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:72)
	at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:43)
	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
	at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
	at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
	at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
	at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
	at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
	at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
	at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:187)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:179)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
	at org.gradle.execution.plan.DefaultPlanExecutor.process(DefaultPlanExecutor.java:72)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.executeWithServices(DefaultTaskExecutionGraph.java:184)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:177)
	at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:39)
	at org.gradle.execution.DefaultBuildWorkExecutor.execute(DefaultBuildWorkExecutor.java:40)
	at org.gradle.execution.DefaultBuildWorkExecutor.access$000(DefaultBuildWorkExecutor.java:24)
	at org.gradle.execution.DefaultBuildWorkExecutor$1.proceed(DefaultBuildWorkExecutor.java:48)
	at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:49)
	at org.gradle.execution.DefaultBuildWorkExecutor.execute(DefaultBuildWorkExecutor.java:40)
	at org.gradle.execution.DefaultBuildWorkExecutor.execute(DefaultBuildWorkExecutor.java:33)
	at org.gradle.execution.IncludedBuildLifecycleBuildWorkExecutor.execute(IncludedBuildLifecycleBuildWorkExecutor.java:36)
	at org.gradle.execution.DeprecateUndefinedBuildWorkExecutor.execute(DeprecateUndefinedBuildWorkExecutor.java:42)
	at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor$ExecuteTasks.run(BuildOperationFiringBuildWorkerExecutor.java:57)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:56)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$run$1(DefaultBuildOperationExecutor.java:71)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.runWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:45)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:71)
	at org.gradle.execution.BuildOperationFiringBuildWorkerExecutor.execute(BuildOperationFiringBuildWorkerExecutor.java:42)
	at org.gradle.initialization.DefaultGradleLauncher.runWork(DefaultGradleLauncher.java:265)
	at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages(DefaultGradleLauncher.java:174)
	at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:150)
	at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:126)
	at org.gradle.internal.invocation.GradleBuildController$1.create(GradleBuildController.java:72)
	at org.gradle.internal.invocation.GradleBuildController$1.create(GradleBuildController.java:67)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:178)
	at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:67)
	at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:56)
	at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:54)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:63)
	at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
	at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:67)
	at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:49)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:44)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76)
	at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:44)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.lambda$execute$0(InProcessBuildActionExecuter.java:54)
	at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:87)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:53)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:29)
	at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.lambda$execute$0(BuildTreeScopeLifecycleBuildActionExecuter.java:33)
	at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:49)
	at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute(BuildTreeScopeLifecycleBuildActionExecuter.java:32)
	at org.gradle.launcher.exec.BuildTreeScopeLifecycleBuildActionExecuter.execute(BuildTreeScopeLifecycleBuildActionExecuter.java:27)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:104)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:55)
	at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:64)
	at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:37)
	at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.lambda$execute$0(SessionScopeLifecycleBuildActionExecuter.java:54)
	at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:67)
	at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute(SessionScopeLifecycleBuildActionExecuter.java:50)
	at org.gradle.tooling.internal.provider.SessionScopeLifecycleBuildActionExecuter.execute(SessionScopeLifecycleBuildActionExecuter.java:36)
	at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
	at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:59)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)
	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:41)
	at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:47)
	at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31)
	at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:65)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
	at org.gradle.util.Swapper.swap(Swapper.java:38)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
	at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)

配置为
privacy {
blackList = []
replaceFileName = "replace.json"
// 开启hook反射
hookReflex = true
// debug编译默认开启，支持关闭，感谢run的pr
debugEnable = OPEN_PRIVACY_SENTRY.toBoolean()
// 开启hook 替换类，目前支持file
hookConstructor = true
// 是否开启hook变量，默认为false
hookField = true
}

本地依赖 plugin-sentry 后，发现是报错的类名是 com/baidu/location/e/b

百度地图吗？

@allenymt 对

authors: allenymt chinnsenn

repo: allenymt/PrivacySentry


text:
Terraform config files

Which issue(s) this PR fixes:

Fixes #2
Additional comments:

This PR adds the initial Terraform config files to the repo. All containers configuration are located in local.auto.tfvars.
Acknowledgment
To make clear that you license your contribution under the Apache License Version 2.0, January 2004 and that you give permission to SAS Adaltas, you have to acknowledge this by using the following check-box.

[x] I hereby declare this contribution to be licenced under the Apache License Version 2.0, January 2004

[x] I hereby agree to grant Adaltas a copyright license to use my contributions.

Changed license and moved to Rocky 8 image by default. Updated README accordingly.

repo: alliage-io/tdp-lxd


text:
Proper hosting provider

Hello @allinurl !
107.170.196.4 seems to be a DO droplet. There are momentary outages.
Please consider moving to a proper (meaning world-class) provider.
This a 3 year long measurement series:
https://github.com/szepeviktor/wordpress-speedtest/blob/master/README.md
the winner is UpCloud.

or register at a specialized provider:
https://bintray.com/signup/oss

Are you experiencing momentary outages on live demo?

Excuse me, missed that info.
On Debian apt repo.

bintray is a much more livable alternative.

authors: allinurl szepeviktor

repo: allinurl/goaccess


text:
Result Complete

We should check designs and actual statement this.
If the page run properly, this issue move to test and done.
Zeplin

https://github.com/allybros/superego-android/assets/24457904/e8ccfb71-4e05-4aec-bd4e-9134766719fc
I think it's done. Progress bars have little difference from design. They do not fill width. I have some problem about this so I continue like this. @bgursoy
Note: We should add a field into the ocean object. That defines description's color. @umutalacam

Good job. We may need to change title and description color like you said. @orcunkamiloglu @umutalacam

Thanks @bgursoy :)
I wrote my change points about this, I will update api. If you have time, please write this thread your change requests and I will update these.
cc: @bgursoy @umutalacam

Now, it's okay for me. if it's okay for you, I move this to done
cc: @bgursoy @umutalacam

authors: bgursoy orcunkamiloglu

repo: allybros/superego-android


text:
Update README.md

fix typo

Cheers 🍻 :rose:

authors: basarat wmaurer

repo: alm-tools/alm


text:
Azure Pipelines CI

Fixes #15 .

@almarklein the PR is ready for review now.
Changes:

Added requirements files
Finalized Azure CI
Added simple test
Removed MacOS from setup.py (elastix is not supported on MacOS)
Fixed https://github.com/almarklein/pyelastix/issues/15 in https://github.com/almarklein/pyelastix/pull/20/files#diff-12063a3f2ef26f0efe4a6ee508980686R90
Fixed https://github.com/almarklein/pyelastix/pull/8 and https://github.com/almarklein/pyelastix/pull/10 in https://github.com/almarklein/pyelastix/pull/20/files#diff-12063a3f2ef26f0efe4a6ee508980686R329

Nice work!

I can't remember why we did not merge this yet. Maybe I just forgot. Shall we just hit that button then?

Yes, this is pretty much safe to merge: no significant functionality changes besides that intensity multiplication, mostly bugfixes and refactoring.
I'm planning to do more work on testing different dtypes later.

authors: almarklein soupault

repo: almarklein/pyelastix


text:
[FEATURE] Рыночные заявки в аукционы

Опишите проблему, которую решает ваша фича
В OpenAPI Alor добавлена возможность выставлять рыночные заявки на аукционе открытия и закрытия.
В терминале отсутствует.
Опишите предлагаемое вами решение
Добавить возможность выставлять рыночные заявки в периоды аукционов открытия и закрытия MOEX.
Опишите альтернативные решения, о которых вы думали
No response
Дополнительная информация
В OpenAPI Alor, в тело запроса нужно добавить поле "timeInForce". Добавить проставление поля в терминале.
Пример апи:
{
"side": "buy",
"quantity": 1,
"comment": "коммент",
"instrument": {
"symbol": "тикер",
"exchange": "MOEX"
},
"user": {
"portfolio": "D12345"
},
"timeInForce": "OneDay"
}
Правила

[X] Я согласен следовать правилам

Необходимо сделать на беке проверку периода аукционов и подставление поля timeInForce: 'oneDay', если инструмент на аукционе открытия/закрытия. На фронте не очень, с точки зрения оптимизации, каждый раз при выставлении маркет-заявки делать запрос инструмента, чтоб узнать, на аукционе он сейчас или нет

authors: agushasok zlobinm

repo: alor-broker/Astras-Trading-UI


text:
Form reset reveals drop-down when using the showAllValues: true

When I reset my form via reset input (or via javascript code as form.reset()), all of my drop-downs get cleared but also they get displayed. (which i guess should stay hidden, or ?)
I'm using the enhanceSelectElement function with the showAllValues: true, option.
Here is a quick demo of what I'm talking about: https://codepen.io/vladooo/pen/abmoJvb just press the reset button...

@vladovarga clearing the input isn't easy / built in. I have a hacky solution here you might try though.

authors: edwardhorsford vladovarga

repo: alphagov/accessible-autocomplete


text:
[#129915689]download_buyers_and_briefs: redesign to output rows of buyer-brief combinations instead of briefs aggregated to buyer rows…

Story https://www.pivotaltracker.com/story/show/129915689
Tried to implement this in a nice declarative, functional way.
Ended up using a standard Writer in the end instead of a DictWriter as I decided the overhead of creating & merging all the intermediate dicts wasn't worth it.

@pcraig3 I think it still needs a separate thumbs-up comment to go green on the 4th wall.
Also, not sure why we aren't seeing the new "rebase and merge" button...  seems like it would be a good thing: https://github.com/blog/2243-rebase-and-merge-pull-requests

Checked repository settings and looks like it should be there:

authors: TheDoubleK risicle