参数初始化的问题？

我用了以前在cxxnet上跑的数据测试mxnet（网络结构用了alexnet和inception），发现一个奇怪的现象，只要不用batchnorm，网络都不收敛，而且运行的结果看起来学不到任何东西，简单地在卷积层后加上bn，网络就收敛正常了，一开始怀疑是inplace优化的问题，后来禁止了inplace还是一样，之前我在cxxnet上做过类似的实验，这个数据集都是能很好收敛的，是不是初始化参数权重的地方要特别注意的地方？能不能提供像cxxnet那么精确参数设置？
例如：
momentum = 0.9
wmat:lr  = 0.05
wmat:wd  = 0.0001
bias:wd  = 0.000
bias:lr  = 0.1

You should be able to change the optimizer behavior easily by https://github.com/dmlc/mxnet/blob/master/python/mxnet/optimizer.py#L85
Consider to submit a PR on this :)

Thanks for letting us know We figure out a bug in initialization and we are fixing it. To set params for model, you may find this doc to be useful.  https://mxnet.readthedocs.org/en/latest/python/model.html

Was caused by inconsistent scale xavier initialization. Batchnorm makes things scale invariant so it poses a less problem

I changed default Initializer, Now it works on many nets without BN. Could you try again?

更新代码不收敛的现象没了，btw，model.py 里,eval_metric.update() 可不可以挪到 调用epoch_end_callback 前， 这样比较方便我测试的时候传入自己的eval_metric和epochcallback来检查迭代情况，否则容易第一个batch抛除零异常。
还有一个发现一个奇怪的现象，可能跟机器相关，用的都是cudnn-v3，alexnet的计算时间是比cxxnet上快了很多，之前我的780是每秒180张，现在时260张，但inception-bn的速度却跟之前cxxnet的一样，都是34张每秒，没发现明显提高

What is your batch size of Inception BN?
On Tue, Sep 29, 2015 at 21:47 junranhe<EMAIL_ADDRESS>wrote:

更新代码不收敛的现象没了，btw，model.py 里,eval_metric.update() 可不可以挪到
调用epoch_end_callback 前，
这样比较方便我测试的时候传入自己的eval_metric和epochcallback来检查迭代情况，否则容易第一个batch抛除零异常。
还有一个发现一个奇怪的现象，可能跟机器相关，用的都是cudnn-v3，alexnet的计算时间是比cxxnet上快了很多，之前我的780是每秒180张，现在时260张，但inception-bn的速度却跟之前cxxnet的一样，都是34张每秒，没发现明显提高
—
Reply to this email directly or view it on GitHub
https://github.com/dmlc/mxnet/issues/182#issuecomment-144274221.

two 780，64batch，so each gpu 32batch

Normally you cannot expect mxnet to be faster than cxxnet in all cases as cxxnet is already heavily optimized in c++. But you can expect they run at same performance, with mxnet more memory efficient and more flexible.
You proposal seems to be valid, please open a PR on this
Tianqi

well, when I run the same inception-bn on purine，and it run 50 sample per sec

hmm, maybe you can try set update_on_kvstore=True http://mxnet.readthedocs.org/en/latest/python/model.html#mxnet.model.FeedForward.fit  which will change default behavior. But I do not have tried 780 before so don't know if that would really help :)

Sorry update_on_kvstore=False

Oh, I try  update_on_kvstore both True and False,  it has no effect, and I try to run mxnet on single gpu,  and inception-bn is 65 sample per sec... compare with two gpu 68 sample per sec(so 34 sample/sec), It seem just like used one gpu, Is there some lock make it slowdown? (I use dmesg can not find any error message)

I see what you mean, there is no such lock that I am aware of. What you observed was interesting.
Could because the synchronization was caped somehow on your machine, mxnet indeed uses cpu heavily because we need to catch up with dynamic dependencies issued in python, maybe you can set the env variables in https://github.com/dmlc/mxnet/blob/master/doc/env_var.md related to NTHREADS to 1. and see if that helps.

I try it , nthreads seems no effect,  the main effect on speed are batch_size and mxnet_engine_type, and NaiveEngine is 30 per sec, EngineThread is 50 per sec,  and Default is 68 per sec(all on two 780 gpu)

Thanks. I have no great idea so far. Seems it was due to synchronization cost(maybe PCI bandwith or memory speed). You can try use the most recent version and set
kvstore_type = 'device'

This will do GPU to GPU copy instead of copy to mainmemory
You will need to assign more to GPU worker threads in this setting.

well, kvstore_type = 'device' is work, and My mechine run 120 sample per sec now, thanks for you help:)

Guess it is caused by PCI-E bandit. Good to see it works.

You may also want to set
MXNET_GPU_WORKER_NTHREADS  to be two, which I observed would help in this setting. Your problem was caused by the PCI-E bandwith, so the device side kvstore works better on your setting.
Glad that things works out for you.  Thanks for using MXNet in the very early stage and help us improve it

Thanks to let me know, My GPU'memory is so poor, and out of memory tor more worker :(

I see, I have created https://github.com/dmlc/mxnet/pull/204 so memory allocation algorithm is not strictly tied with GPU threads. You can try
MXNET_EXEC_NUM_TEMP=1
MXNET_GPU_WORKER_NTHREADS=2

after the PR is merged in

Thanks, I have one more question, When I build the VGGNet 13layer, on 2 batch_size on 1 gpu used 1500M memory,  but I set 3 batch_size, It raise out of memory(780 has 3000M),  How the memory allocation algorighm work?

The memory allocator will try to re-use the memory as much as possible.  I do not know in particular what happens in your case though. This could due to the memory demand of workspace of CUDNN is nonlinear to batch size(for example, rounded to size of 4)

Year, I try
MXNET_EXEC_NUM_TEMP=1
MXNET_GPU_WORKER_NTHREADS=2
and It is 5% faster on my machine

Yeah, that is what it can get you


Datawatcher crash :0

crash-2023-09-06_11.09.22-client.txt
latest.log

crash-2023-11-14_07.47.06-client.txt
latest.log
@makamys

This looks like a datawatcher ID conflict. Foxes use IDs 18-22, I'm guessing some other mod also uses ID 18. You could try searching in your configs. Maybe I should make the IDs used by my mod configurable as well.
I found a mod that may help you find the conflict: ID Conflicts Viewer (Modrinth | CurseForge)

This looks like a datawatcher ID conflict. Foxes use IDs 18-22, I'm guessing some other mod also uses ID 18. You could try searching in your configs. Maybe I should make the IDs used by my mod configurable as well.
I found a mod that may help you find the conflict: ID Conflicts Viewer (Modrinth | CurseForge)
~If it's not that then it might be an EndlessIDs issue, it extends data watcher IDs which can be disabled in its config.~ Nvm, you have DataWatcher extension disabled already.

it would be good to have the datawatcher customizable if you could do that for me :)

I realized that IDCV won't actually help with this, because it only detects the same conflicts vanilla warns about. I added a CoreTweaks feature that will warn about the ones they don't (get the build here). You'll have to enable detectDataWatcherIdConflictCulprit in the config to get the most information. Let me know if you can get a log with it.

I realized that IDCV won't actually help with this, because it only detects the same conflicts vanilla warns about. I added a CoreTweaks feature that will warn about the ones they don't (get the build here). You'll have to enable detectDataWatcherIdConflictCulprit in the config to get the most information. Let me know if you can get a log with it.

just had the chance to check, i couldnt find anything in my logs relating to datawatchers or coretweaks after enabling the config option although im pretty sure this config option (or maybe it was just the new version of coretweaks) had messed up my game? i created a new world and instead of getting my starting items i got a bunch of random items and world generation was messed up, modded trees were made out of different blocks in the mod than usual and there was constant lightning even though it's sunny?

The option only adds prints, it doesn't change any behavior, so it couldn't have been it. You could try disabling all CoreTweaks features other than that option for now. (You can most easily do this by doing search and replaces for S:_enabled=true and S:_enabled=force, replacing them with S:_enabled=false, then enabling just that option.)

You seem to have attached the wrong log file, there's barely anything in it, unlike the previous one that was 105 KB. fml-client-latest.log is the one you want to grab with MultiMC-based launchers like PolyMC.
I could add an option to change DataWatcher IDs, but I would like to fully understand the issue first, since there might be a better solution, and also to reduce the amount of trial and error needed on your part to fix it.

sorry for the delay, i have been extremely busy with university but here's a new log for you:
crash-2023-11-27_14.50.59-client.txt
fml-client-latest.log

You seem to have attached the wrong log file, there's barely anything in it, unlike the previous one that was 105 KB. fml-client-latest.log is the one you want to grab with MultiMC-based launchers like PolyMC.

i had changed launchers so i totally forgot, sorry !

Well, I'm stumped. The logs don't indicate any ID conflicts, so I have no idea why else it could be breaking. I pushed a branch that adds configs for the IDs (you can get the build here), but I'm not sure if changing them will fix anything.

it LOOKS LIKE changing the owner value id value fixed it? I changed them all but I still crashed the first time when I missed the owner id, but after changing it I haven't had any crashes YET. Will report back if I get any.


⚠ Bofrost.be has degraded performance

In 636b8ff, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1579 ms

Resolved: Bofrost.be performance has improved in aac7a8e after 5 hours, 23 minutes.


advanced mode insert button changes size on mouseover

the buttons change to a darker blue on mouseover.  but the menu one on the right also changes size, by one pixel on the left.

Currently unable to reproduce on chrome 42.0.2311.90

that's not advanced mode

Ah seeing the same behavior in advanced mode as well

idk why it doesn't happen for you.
but whatever this is not a high priority.

@scottdraves still an issue for you? It still seems ok for me


Refs #32290 -- Optimized construct_relative_path() by delay computing has_quotes.

Small little thing I noted while checking Collin's changes in #15140; has_quotes is unused until the very end of construct_relative_path (used by do_extends, do_include and IncludeNode), at which point it is known to be a quoted relative path.
For the common case of using "absolute" (relative to the template loader root...) paths, this seems unnecessary, and a small gain can be had by pushing it further down (and removing the startswith calls)
Before:
In [2]: %timeit construct_relative_path('dir1/two.html', 'dir2/two.html')
445 ns ± 6.97 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

In [3]: %timeit construct_relative_path('dir1/two.html', '../two.html')
4.1 µs ± 35.9 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

After:
In [2]: %timeit construct_relative_path('dir1/two.html', 'dir2/two.html')
263 ns ± 6.16 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

In [3]: %timeit construct_relative_path('dir1/two.html', '../two.html')
4.09 µs ± 50.3 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

I did also toy with checking for quotes before doing the .strip() call, but it came out as a wash; removing two characters from the start/end of a relatively short string seems thankfully well optimised vs. manually peeking.

I've not created a ticket for this as it's basically moving a variable's declaration, but let me know if you'd like one. Naturally it can also just be dismissed without one if you'd prefer.

@kezabelle Thanks :+1:


Enable Dependabot

Dependabot could be enabled for this repository. Please enable it by merging this pull request so that we can keep our dependencies up to date and secure.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (8451023) to head (25ea7c5).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #194   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           33        33
  Lines          634       634
  Branches        41        41
=========================================
  Hits           634       634

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add expiration cache

This is a draft to experiment around #4.
See #4 and comments for some approaches.

[x] use a 3rd parameter to set expiration, like explained in #4 first comment
[x] use a private #metadata property
[x] can set expiration at any time using a new .setExpiration method;
[x] add types;
[ ] add documentation;
[ ] complete and clean tests.

Out of scope for now: trying an implementation where we override most Map methods.

There’s a use case to handle. See 589117c.


Deleted applications

User can mark application as deleted from the detail of processed application. They have to provide a reason for the deletion.
Deleted applications are then displayed in the new section, which has almost identical behaviour to processed applications.

Do we need the app/controllers/concerns/.keep file?

No, that's why I removed it ;-)

I've implemented the missing bit which was adding audit data deleted_at and deleted_by. The problem with the solution is that if we carry on with the approach we'd have a pair of columns for each state, to track who and when did it. Maybe we should consider using another solution for this, but for now to move on, it's implemented like this.

With the codeclimate check, I don't think I can do something about it now. The reason for this is that we're delegating a lot of methods to the split models. That work has never been fully completed so until that's done, I guess we'll have to live with it.
This issue doesn't actually decrease the GPA, so I wouldn't worry about it too much.

Agreed on the codeclimate point.
LGTM, merge when ready. :+1:


mouse wheel push button to be keybindable

Description of the new feature / enhancement
i am a mechanical design engineer and whenever i use cad design software for designing i have to use the mouse wheel push button to rotate an object and it is very heavily used and gets unfixable error so i was thinking if it possible for you to make keybinds for mouse buttons also? thanks in advance
Scenario when this would be used?
while using cad design softwares.
Supporting information
No response

/dup #3364


set up recaptcha for calisphere-stage

We need to create a recaptcha public/private key to use on calisphere-stage.cdlib.org.

I created a v3 key pair. This results in the following error on the contact page: "ERROR for site owner: Invalid key type"
I guess the site is set up for v2? Should we request a v2 key pair, or switch to v3?


Typo / old example

In the 'Designing abstract base classes and their derived classes' section, the derived classes are listed and then shown in the code below it. In the list the 'Triangle' class listed instead of 'Square' as per code example.

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

ID: 77d4fcf9-42c1-e015-798c-0c1519d77f41
Version Independent ID: 75aee013-1123-1403-b2bc-cc8b68b56de8
Content: Inheritance in C#
Content Source: docs/csharp/fundamentals/tutorials/inheritance.md
Product: dotnet-csharp
Technology: csharp-fundamentals
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for pointing this out for us @zacharydub
We'll get it addressed shortly.

Closing as this was fixed in a prior edit cycle.


Add centralized logger

Similar to YCoreUI, we should have a centralizer static object for controlling logging within YMatterType. Something like:
/// YMatterType+Logging.swift

/// Y—MatterType Settings
public struct YMatterType {
    /// Whether console logging for warnings is enabled. Defaults to `true`.
    public static var isLoggingEnabled = true
}

internal extension YMatterType {
    /// Logger for warnings related to font loading. cf. `FontFamily`
    static let fontLogger = Logger(subsystem: "YMatterType", category: "fonts")
}

I am extending Typography and adding the logger like:
/// Y—MatterType Settings
extension Typography {
    /// Whether console logging for warnings is enabled. Defaults to `true`.
    public static var isLoggingEnabled = true
}

internal extension Typography {
    /// Logger for warnings related to font loading. cf. `FontFamily`
    static let fontLogger = Logger(subsystem: "YMatterType", category: "fonts")
}

No let's not do that. Please create a YMatterType centralized struct as in the original issue.


Disable analysis for generated files

Some code generation tools may not follow the very good analysis recommendations ,
but one would still prefer them for other parts of the code rather than disabling them .
Exclude files ending with .g.dart  from analysis
analyzer:
  language:
    strict-casts: true
    strict-inference: true
    strict-raw-types: true

  errors:
    close_sinks: ignore
    missing_required_param: error
    missing_return: error
    record_literal_one_positional_no_trailing_comma: error

  exclude:
    - test/.test_coverage.dart
    - lib/generated_plugin_registrant.dart
    - lib/**.g.dart

It is better to leave file path configurations out of the package yaml so they are focused on the lint rules.
Defining which files should or should not be affected by the analyzer is a configuration that should be done by project.
You already can add this configuration in your local analysis_options.yaml file:
include: package:very_good_analysis/analysis_options.5.0.0.yaml

analyzer:
  exclude:
    - test/.test_coverage.dart
    - lib/generated_plugin_registrant.dart
    - lib/**.g.dart


Request for input for JPype

I am the lead developer for JPype.   As one of the fellow bridge projects I wanted to drop by to see if there are unserved needs to be addressed in the Python/Java community.   Thus far there hasn't been a lot of conflicts between these two projects but I will be adding new capabilities that put them more on a collision course.  SO just like the PyJNIus project, I thought it would be a good idea to get the discussion started.
JPype is currently only a forward bridge presenting Java to Python, but I will be adding a reverse bridge to allow Java to execute Python code in the near future.   JPype has been very much focused on providing a high quality native Python like interface to Java classes.   Over the past 2 years I have been working primarily in the backend to make the core rock solid stable, deal with leaks, and boost performance for scientific coding.  I am trying to design the reverse bridge to be much the same in which Python classes have as much of a native feel in Java as possible and can be customized to allow packages like numpy, scipy and matplot lib to be used in a very native like fashion.   This means the JPype solution will be doing code analysis of Python classes to probe their capabilities and then use a code generator to mixin Java interfaces to create a Java class that best represents the abilities of the class (Number like, List like, Dictionary like).  This will allow Python classes to be operated on by Java using the collections libraries and such.   This makes use a lot of Java ASM for code generation.  I believe this is likely a different approach than JPY.
As I am working to develop the reverse bridge, I am looking at JPY to understand how other reverse bridges are presenting Java concepts.  Unfortunately the documentation on this project seems pretty underwhelming so it seems like I need to recruit some JPY users to help give me a prospective on how they feel Python should be presented in Java.   The other collaboration source being Jython, but as they are actually implementing rather than just providing a view it is difficult to see it as giving a native feel.
I see there has been some progress on this project in terms of commits over the past few years but I also see outstanding pull requests running back 2 years in times.   How active is this project?   Are there users who are in need of an alternative?  Is there anyone willing to participate in the evaluation and review process for a potential alpha quality reverse bridge over the next 6 months?  How do you see an ideal presentation of Python objects in Java?

Hi @Thrameos, thanks for your feedback! Although the project is currently not very active it is still alive and jpy is still in heavy use. Our use case is the satellite data processing software SNAP, that we develop for ESA, see snap-python.
Our whole team feels very sorry about not being able to respond to PRs and issues in a timely, (cough!) ok, adequate manner. There have also been offers from skilled people to help maintaining the project. But we fear that jps`s further development would diverge from our own core requirements, which originate from efficient array data processing using Python numpy and the like using native Java array in-memory references.
I'd really like to promise improving jpy's documentation and deal with its issues in a proper way, but we are all currently occupied by other work. This may change again in the future.  However, I can offer to explain some of the jpy concepts to you, and provide some core requirements that may be helpful for your implementation. Btw, we are not reluctant of using a robust, alternate bi-directional bridge one day, i.e. JPype. We developed jpy, because there was no such software at that time.

JPype also specializes in high speed transfer of buffers and arrays.   As a scientist trying to provide a bridge for a group of physists that has been a major requirement.   Though as a unidirectional bridge this is mainly to allow Java buffers and arrays to be used in numpy rather than the other way around.  I also implemented exporting of Python buffers to Java.  But write through sharing of memory is limited by the JNI.   It is a shame that you cant create locked native arrays.
Perhaps you can lay out some of the requirements that jpy as sample code you would like to be able to run.  I may already be close on some areas.

Perhaps I should begin by laying out JPype requirements so that we can see what is covered and what items you would add.  If you read a blog post on the topic of Python/Java bridges, one could get the idea that all the projects do the same thing (JPype, JEP, JPY, PyJNIus, ...).  But as they all have different implementations and different goals, (and in many cases poor documentation) it is really hard to distinguish them without getting down to a requirements/specification list.   Unfortunately the other side effect of so many bridges is a divided user community and poor ability to address user needs.  Hence my desire to reach out an olive branch to the other bridges to find out what about the needs that I don't understand.  Some like Py4J serve a very different purpose and thus will always need to be separate, while others are just duplicative efforts which would be best to be merged.
So I will put down what I believe JPype requirements are and you can copy and paste it to mark down JPY requirements, add to the list etc.  Not every JPype requirement has been realized so I will check those that we have and leave those that I see as goals unchecked.
JPype requirements/specifications are as follows.
General:

[x] Python and Java GC is linked such that both collectors operate when one exhausts memory.

Python to Java:

[x] Python can start the JVM.

[x] Python can create a native representation for a Java Class (JClass)

[x] Python can access the Java inheritance tree and probe using isinstance.
[x] Python can create a Java object from a class.
[x] Python can using reflection on a Java Class.

[x] Python can create a native representation for a Java Array (JArray)

[x] Python can create multidimensional Java arrays.
[x] Python can convert a Java array into a Python memory buffer. (needed for numpy)
[x] Python can convert multidimensional Java arrays into Python memory buffers (regular vs jagged).
[x] Python can access Java arrays using slicing.
[x] Python can access multidimensional Java arrays using slicing.
[x] Java slices are still Java arrays.
[x] When a Java slice is passed to Java, the slice portion is cloned.

[x] Python can create a native representation for Java primitives.

[x] Python can call a Java method.

[x] When Python calls a Java method it always returns a Java type.
[x] Python can use adapters to convert Python objects to Java when calling.
[x] Method resolution obeys Java overloading resolution rules.

[x] Python access a Java field.

[x] Python must respect Java access rules (public/protected/private) for fields, methods and classes.

[x] Python can convert a Java nio direct buffer into a Python member buffer. (needed for numpy)

[x] Python can implement a Java interface.

[x] Java can call Python code implemented as a Java interface.

[ ] Python can extend a Java class.

[ ] Java can call Python code that was extended from a Java class.

[x] Python can import a Java package as a module.

[x] Python can dir a Java package for public members.
[ ] Python can add to the class path after JVM is started.

[x] Python can customize a Java class to give it native look and feel.

[x] Python can store a Python object in a Java structure.

[x] Python can view Java collections as Python collections.

[x] Python understands Java encoding for Unicode strings.

[x] Python can register an adapter to automatically convert a Python object to Java.

[x] Python can cast Java types (using @ operator).

[x] Java null is represented as Python None.

[x] Python can render Javadoc as Python docstrings.

[x] Python can operate Java threads.

[x] Python can synchronize on a Java object using the "with synchronized(x)" statement.

[x] Python can call a caller sensitive method properly.

[x] Python can terminate the JVM.

[x] When terminates all Java clean up is executed.

[x] A Java thread can extend the life of the Python interpreter.

[x] The lifetime of a Python object can be tied to the lifetime of a Java object.

[x] When Python holds a Java object the lifetime of Java object extends to the Python object.

[x] Python can capture a ^C without terminating when running interactively.

[x] Python can use the "with" statement to operate on Java try/catch with resource.

[x] Python can use the "with" statement to operate on Java closeable.

[x] Python can catch a Java exception.

[x] Python can throw a Java exception.

[x] A Python exception can unwind through Java when thrown from a Java interface implementation.

[x] Python displays a Java exception stacktrace as Python native.

Java to Python:

[ ] Java can start Python.
[ ] Java can create a native representation for a Python class.
[ ] Java can create a Python object from a class.
[ ] Java can call a Python method.
[ ] Java can evaluate a Python statement.
[ ] Java can create a Python scope.
[ ] When Java calls a Python method it always returns a Python type.
[ ] Java can using reflection on Python attributes.
[ ] Java can access the Python inheritance tree and probe using instanceof.
[ ] Java can view which Python protocols a Python object implements.

[ ] Java can cast a Python object to a Python protocol.

[ ] Java can convert a Python memory buffer into Java buffer.
[ ] Java can initiate a transfer of Python buffer into Java array.
[ ] Java can implement a new Python class.
[ ] Java can import a Python module as a Java package.
[ ] Java can customize a Python class to give it native look and feel.
[ ] Java can view Python collections as Java collections.

If you can be so kind as marking up JPY requires/specification or putting down items that you feel JPype is missing, it would go a long way to helping me define what I need to achieve in a reverse bridge.


Some symbols in generated docs missing id which breaks links.

The generated link to the return type StyleInfo, doesn't work.
Reproduce by navigating to: https://lit.dev/docs/api/directives/#styleMap
Click StyleInfo.
Url changes to https://lit.dev/docs/api/directives/#StyleInfo and page scrolls to top.
Issue: There is no StyleInfo id on that page - but there is StyleInfo preset.
It looks like id isn't being generated correctly on https://lit.dev/docs/api/directives/

StyleMapDirective
StyleInfo which has markup:
StyleInfo
.

It's possible to find the broken h2 elements on the page with the following dev tools script: Array.from(document.querySelectorAll('*[id]')).filter(e => !e.getAttribute('id')).
May also be worth extending/adding the feature that check-internal-links test enforces that fragment ids exist on the page to catch this error.

Ah it's because of the anchorFilter for the directives page defined in lit-2.ts.
@aomarks - Is it ok to relax this filter, or maybe expand it to also include StyleInfo (interfaces)?

Ah it's because of the anchorFilter for the directives page defined in lit-2.ts.
@aomarks - Is it ok to relax this filter, or maybe expand it to also include StyleInfo (interfaces)?

Maybe? TBH I can't remember the reason for that filter. There must otherwise be things showing up under directives that don't make sense?

Ah it's because of the anchorFilter for the directives page defined in lit-2.ts.
@aomarks - Is it ok to relax this filter, or maybe expand it to also include StyleInfo (interfaces)?

Maybe? TBH I can't remember the reason for that filter. There must otherwise be things showing up under directives that don't make sense?

I would say go ahead and relax it, and we can take a look at what the result is.


HTTPS tunneling not supported

The plugin doesn't work on network where all these conditions are true:

UDP is blocked
all TCP ports except port 80 are blocked
a HTTPS proxy is configured on port 80

Fixed in fb712acd23440c55ab3bed4d6fbaa9e221ef8340


:bug: Camera crashes when uploading photo

Reported by Jimmy Chen
cc @levijj22, @danielmackay
Issue may have been resolved - logging for investigation

Confirming that issue no longer occurs on iOS. Pending investigation on Android.

Unable reproduce on latest version. No further reports from users, and no recorded instances in AppCenter.


Permission Error Publishing Code Coverage on Ubuntu

Question, Bug, or Feature?
Type: Bug
Enter Task Name: PublishCodeCoverageResultsV1
Environment

Server - Azure Pipelines

If using Azure Pipelines, provide the account name, team project name, build definition name/build number:
https://dev.azure.com/Ardalis-Specification/Ardalis.Specification/_build/results?buildId=53
https://github.com/ardalis/Specification/blob/ardalis/integrationtests/azure-pipelines.yml

Agent - Hosted
https://github.com/ardalis/Specification/blob/ardalis/integrationtests/azure-pipelines.yml

Issue Description
[Include task name(s), screenshots and any other relevant details]

##[warning]Error occurred while publishing code coverage files. Error: Access to the path '/home/vsts/work/1/s/TestResults/coverage/summary53/Cobertura.xml' is denied.
##[section]Async Command End: Publish code coverage
##[error]Access to the path '/home/vsts/work/1/s/TestResults/coverage/summary53' is denied.

@ardalis this is not an issue with the publish code coverage task. I tried a simple commandline to list the permissions on the file and i get access denied. This issue is the right place to track this https://github.com/microsoft/azure-pipelines-tasks/issues/8762.


[Bug]: Agent almost never generates answer despite data is available in datastore.

File Name
tutorial_vertex_ai_search_rag_agent.ipynb
What happened?
For all the questions proposed to the deployed agent in this notebook, the agent replies : "I cannot fulfill this request. The available tools do not have information about ..." despite the queried information is present in the structure data.
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for opening this issue. I attempted to reproduce but was not able to, the notebook is working as expected for me and is returning movies based on records in the dataset.
Ensure that you followed the tutorial steps here: https://cloud.google.com/generative-ai-app-builder/docs/try-enterprise-search#structured-data
Ensure that the search app is working as expected when you preview the search app and search for a sample query: https://cloud.google.com/generative-ai-app-builder/docs/try-enterprise-search#preview_your_app
Ensure that the code cell that tests the Vertex AI Search retriever function is working as expected:
search_kaggle_movies("Harry Potter")

And if you continue to run into errors, can you post more details about:

The environment that you're running in
The versions of google-cloud-aiplatform, langchain, langchain-core,  langchain-google-community, and other relevant LangChain and Google Cloud client libs
Full error messages w/ stack traces and intermediate steps
Model versions that you're using

Hi Kristopher,
thanks for your comment.
I confirm that the Datastore is consistent with the Kaggle dataset. And if I query the agent 10 times I may have sometimes an answer close to the expected output. However, most of the time, the agent is not capable to generate the answer despite the retrieved context seems ok (tested directly in the Agent Builder). So I confirm that the overall performance of the agent is very low in my environment despite a consistent datastore.
Best Regards
Jerome

Thanks for the info that the local agent is having the same issue. In order for me to reproduce, can you post more details about:

The environment that you're running in
The versions of google-cloud-aiplatform, langchain, langchain-core, langchain-google-community, and other relevant LangChain and Google Cloud client libs
Full error messages w/ stack traces and intermediate steps
Model versions that you're using
Full list of steps that you took to create and index data in Vertex AI Search


Doesn't handle package name != dir

Assumes package name is always the same as the last part of the import path

Maybe you could add a --import or -I option and do something like:
gorram -I gopkg.in/yaml.v2 yaml.Marshal(map[string]string{"x":1,"y",2})

I actually already have a fix for this.. .we can get the package name from the package when we parse it, I just wasn't doing that before.

fixed by cd6047c


stick with one version of gcc, fix linking of redismodule

Fixing this:
[dwerner:~/Development/redis-cell]$ cargo build                                                                                (master✱)
   Compiling redis-cell v0.1.0 (file:///home/dwerner/Development/redis-cell)
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/dwerner/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/dwerner/Development/redis-cell/target/debug/deps/redis_cell.0.o" "-o" "/home/dwerner/Development/redis-cell/target/debug/deps/libredis_cell.so" "/home/dwerner/Development/redis-cell/target/debug/deps/redis_cell.metadata.o" "-nodefaultlibs" "-L" "/home/dwerner/Development/redis-cell/target/debug/deps" "-L" "/home/dwerner/Development/redis-cell/target/debug/build/redis-cell-e6aa6e97cadb4225/out" "-L" "/home/dwerner/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-Wl,--whole-archive" "-l" "redismodule" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "redismodule" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "redismodule" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "redismodule" "-Wl,--no-whole-archive" "-Wl,-Bdynamic" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/libbitflags-65ddff5d2b91509e.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/libtime-cd5e3a346d1a17b6.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/liblibc-5dc7b85e748840b4.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/libstd-13f36e2630c2d79b.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/libpanic_unwind-3b9d178f1de89528.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/libunwind-93bb403c9fc56f72.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/librand-a2ef7979b4b3e1d5.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/libcollections-d22754c8c52de3a1.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/liballoc-c53f99154bf815c4.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/liballoc_system-17a71bb92a82956c.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/liblibc-739908a2e215dd88.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/libstd_unicode-1cc5fcd37568ebc4.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.hv1RaTTFmLaL/libcore-3f4289353c600297.rlib" "-Wl,--no-whole-archive" "/tmp/rustc.hv1RaTTFmLaL/libcompiler_builtins-07bfb3bcb2a51da0.rlib" "-l" "util" "-l" "dl" "-l" "rt" "-l" "pthread" "-l" "gcc_s" "-l" "pthread" "-l" "c" "-l" "m" "-l" "rt" "-l" "util" "-shared"
  = note: /home/dwerner/Development/redis-cell/target/debug/build/redis-cell-e6aa6e97cadb4225/out/libredismodule.a(redismodule.o): In function `Export_RedisModule_Init':
          /home/dwerner/Development/redis-cell/src/redismodule.c:6: multiple definition of `Export_RedisModule_Init'
          /home/dwerner/Development/redis-cell/target/debug/build/redis-cell-e6aa6e97cadb4225/out/libredismodule.a(redismodule.o):/home/dwerner/Development/redis-cell/src/redismodule.c:6: first defined here
          /home/dwerner/Development/redis-cell/target/debug/build/redis-cell-e6aa6e97cadb4225/out/libredismodule.a(redismodule.o): In function `Export_RedisModule_Init':
          /home/dwerner/Development/redis-cell/src/redismodule.c:6: multiple definition of `Export_RedisModule_Init'
          /home/dwerner/Development/redis-cell/target/debug/build/redis-cell-e6aa6e97cadb4225/out/libredismodule.a(redismodule.o):redismodule.c:(.text.Export_RedisModule_Init+0x0): first defined here
          /home/dwerner/Development/redis-cell/target/debug/build/redis-cell-e6aa6e97cadb4225/out/libredismodule.a(redismodule.o): In function `Export_RedisModule_Init':
          /home/dwerner/Development/redis-cell/src/redismodule.c:6: multiple definition of `Export_RedisModule_Init'
          /home/dwerner/Development/redis-cell/target/debug/build/redis-cell-e6aa6e97cadb4225/out/libredismodule.a(redismodule.o):redismodule.c:(.text.Export_RedisModule_Init+0x0): first defined here
          collect2: error: ld returned 1 exit status

@brandur any feedback on this PR ?

Hi Christian,
Thanks a lot for the PR.
Sorry about the long delay here. Unfortunately your pull made me realized that since I last looked at the project, the changes in Rust/Travis have broken my CI environment and I'd intended to fix that before pulling this in so that I could sanity check there.
That said, this seems like a sane change, so I'm merging and will fix CI a bit later. Thanks!

Alright, Travis is fixed and this change looks good. Thanks again!

Well we should thank @dwerner ;) I did not do much :)

Nah, thanks to Brandur for writing this!

Well, that's embarrassing :) Sorry @dwerner, that was nice work. Thank you as well :)


Ability to customise argument escape characters

This package uses single braces to escape arguments in translation strings:
{
  "message": "Hello {name}!"
}

Most other similar translation libraries (eg ngx-translate, i18next) use double braces to escape:
{
  "message": "Hello {{name}}!"
}

We are using flutter_translate in our Flutter app, and ngx-translate in our Web app. We would really like to consolidate our translation strings so they are shared between both projects, as this will help ensure messages are consistent across platforms and reduce costs of translating to other languages.
I'm wondering if a good approach would be to allow customising the argument escape characters, so we could use double-braces in our project. For backwards compatibility, we would default to the current single brace behaviour. Perhaps set the escape characters as optional parameters to Localization.load:
class Localization
{
    static void load(Map<String, dynamic> translations, {openingEscapeString = '{', closingEscapeString = '}'})
    {
        instance._translations = translations;
        instance._openingEscapeString = openingEscapeString;
        instance._closingEscapeString = closingEscapeString;
    }
}

I'm happy to do the work to support this, would just like some feedback on the approach.
Cheers!

Hi Michael, I suppose we can add double braces as a configurable option, but we have to keep it simple.
I think the best way would be to add a useDoubleBraces property to the localization delegate create method, which can be configured on startup.
We can then pass this value to the localization object through an initializer instead of the load method since the purpose of this method is to only load localizations.

So the reason I suggested having the escape characters as parameters to load is so the meaning is something like:
"here are these translation strings, which use { and } as escape characters"
In other words, the escape characters are a property of the localisation strings, not a global configuration property on the library, and would allow for loading more translations at a later time, etc.
I'm also not fussed, so I'm happy to make it a parameter to create if that's what you'd prefer. Perhaps though use an enum for the type of escape characters instead of a boolean flag for double would be cleaner though?
Cheers

I have a similar need. The translation file is coming from some translation service and is shared with other native Android apps. So, I need to apply some transformations on the texts, e.g. android localization uses %s in values and other things like html formatting does not work well in Flutter.
I made a local fork of flutter-translate and extended LocalizationDelegate.create(..) that takes post-processors for keys and plurals. I can contribute it in a PR if you'd be interesting to integrate it.
Here is an example of the post processing I need use:
  static String _processString(String value, String key, String arg) {
    return value
        .replaceAll('\\\'', '\'')
        .replaceAll('\\n', '\n')
        .replaceAllMapped(RegExp(r'^\"(.*)\"$'), (m) => m[1]!)
        .replaceAllMapped(RegExp(r'(.*):$'), (m) => m[1]!)
        .replaceAll('<b>', '')
        .replaceAll('</b>', '')
        .replaceAll('\\"', '"')
        .replaceAll('%s', '{s}')
        .replaceAll('%.2f', '{s}')
        .replaceAll('%.4f', '{s}')
        .replaceAll(r'%1$s', '{s1}')
        .replaceAll(r'%2$s', '{s2}')
        .replaceAll(r'%3$s', '{s3}')
        .replaceAll(r'%4$s', '{s4}')
        .replaceAll(key, arg);
  }

  static String _processPlural(String value, String key, String arg) {
    return value
        .replaceAll('%s', '{{value}}')
        .replaceAll(key, arg);
  }


⚠ AVS (kty) has degraded performance

In 95dd5f5, AVS (kty) (https://avus.com.br) experienced degraded performance:

HTTP code: 200
Response time: 8127 ms

Resolved: AVS (kty) performance has improved in e5fb0bb.


[Firestore] API Feedback – Empty Object Merge Behavior

Environment

Operating System version: macOS Catalina 10.15.2
Firebase SDK version: 7.17.2
Firebase Product: Firestore
Node.js version: 12.14.1
NPM version: 6.14.7

Problem
It's been discussed in more than a few other places, but the current behavior of firestore.set('any/document'. { property: {} }, { merge: true }) is unintuitive and dangerous!
ref: https://github.com/firebase/firebase-js-sdk/issues/1371#issuecomment-445066500
ref:  https://github.com/firebase/firebase-admin-node/issues/365
ref: https://github.com/mesqueeb/vuex-easy-firestore/issues/73
ref: https://github.com/firebase/firebase-js-sdk/issues/1371
ref: https://github.com/firebase/firebase-js-sdk/issues/1168
We nearly had a production error because of this database API quirk – we caught it through sheer luck. I wanted to flag it again and make the case for changing the behavior in a future major release.
Steps to reproduce:
The Good
firestore.set('any/document'. { property: { foo: 'bar' } }, { merge: true });
firestore.set('any/document'. { property: { biz: 'baz' } }, { merge: true });
console.log(await firestore.doc('any/document').get()).data());
// Expected Log: { foo: 'bar', biz: 'baz' }  👍
// Actual Log: { foo: 'bar', biz: 'baz' }    😎

The Bad
firestore.set('any/document'. { property: { foo: 'bar' } }, { merge: true });
firestore.set('any/document'. { property: {} }, { merge: true });
console.log(await firestore.doc('any/document').get()).data());
// Expected Log: { foo: 'bar' } 👍
// Actual Log: { } 😱

This is a very easy mistake to make, especially since it it not clearly called out in the docs, and depending on the setup a system may remove keys to patch update based on user input. This behavior forces extra (expensive!) input validation on deep objects that should not be necessary.
I would expect that any destructive operations with { merge: true } must be explicitly set using FieldValue.delete().

@amiller-gh Thanks for filing this. We have had some lengthy discussions on how to best implement this. While we know that the current "drop on empty" can be surprising, we found it less surprising that simply ignoring empty objects. Since changing the behavior here would be a major breaking change, I don't think this is realistically going to happen.
We can certainly improve our documentation here. I will use this issue to do so.

I would like to add that I also think this is strange, particularly for apps with offline support where writes are combined at a later time.
My use case, from the point of view of an offline device, is essentially "Create an empty placeholder object if it does not already exist. If it exists, do nothing".
Disclaimer: I could change my data schema so that an "empty placeholder object" would be replaced with no object and handle it accordingly when reading data, but that is besides the point that I also think this behavior is rather unintuitive.

New firebase user chiming in: I came here because I just tripped over this behavior when updating a document with data from another query that could potentially be empty. I think it definitely makes sense to document the behavior more explicitly. However, I would agree with @amiller-gh that is behavior is really not intuitive and I think it is preferable to provide an intuitive API than to document an unintuitive one.
I would also like to bring algebraic argument: I think most people (including me) think of merging as a kind of addition operation and expect {} to behave as a neutral element. This also makes sense, since merging objects is basically a union of sets, which can be seen as equivalent to addition. In the current API {} is treated as an absorbing element which apparently trips many people of.

Documentation improvement coming.
We won't be able to adjust the behavior as this would be a breaking change across all of our APIs. While I agree that there are some downsides to the current behavior, we decided early on that the downsides are potentially less than just ignoring empty maps.


Multiple cookie headers are not supported for Remix platform

Hey!
I am not 100% sure if that's an issue with SST. All I know at this point, is that I have a Remix package, implementing the following logic to set multiple cookies: https://github.com/remix-run/remix/issues/231#issuecomment-2227992952.
On local (with remix-serve) it works well, it outputs the multiple headers in response:

In production, or deployed, only first cookie is set:

I have found some information on special format, that lambdas should follow to declare cookies: https://stackoverflow.com/a/68994753.
I will continue my investigation.

fixed with #702. it's in v0.0.539

After upgrading to this version (to v.0.0.540) all my functions now fail with following error:
ERROR	Invoke Error
{
    "errorType": "TypeError",
    "errorMessage": "response.headers.getSetCookie is not a function",
    "stack": [
        "TypeError: response.headers.getSetCookie is not a function",
        "    at Runtime.handler (file:///var/task/build/server.mjs:113737:33)",
        "    at async Runtime.handleOnceStreaming (file:///var/runtime/index.mjs:1206:26)"
    ]
}

Am I missing something?

Ah, sorry about that. I'll open another PR that doesn't require getSetCookie

I have removed the above mentioned installGlobals() command. However, I am still getting the same single cookie result (last set-cookie header) as before:

While the expected result from the code bellow is two set-cookie headers.
class {
  async getLogoutHeaders() {
    const headers = new Headers();

    headers.append(
      "Set-Cookie",
      await idTokenCookie.serialize("", { maxAge: 0 }),
    );

    headers.append(
      "Set-Cookie",
      await refreshTokenCookie.serialize("", { maxAge: 0 }),
    );

    return headers;
  }
}

just opened a pr that should fix this, polyfills or not: #709.
as far as your issues with different behavior locally vs in ci, the cli recently started being packaged along with the npm package. so you can now get rid of your global installation, and work with the cli through pnpm sst. it's more to type but more convenient imo as the cli will always match the sdk version, preventing any headaches like you experienced

the fix of the fix is in v0.0.545 :)

It did solve the issue! However, my headers are sent +1 times. I think set-cookie must be removed from headers, once converted to cookies. For example, I tried sending id_token and refresh_token cookies.
Instead, I got these:

There should be just 2 of them, not 3. I do not think the issue is critical anymore, yet I think it would be best if we address this inconsistency too.

Would appreciate a PR1


A bit of refactoring/cleanup.

This makes the code for the mixc and mixs commands consistent in
style and form.
No functional changes.

This change is

Reviewed 9 of 9 files at r1.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

cmd/client/check.go, line 26 at r1 (raw file):

)

func checkCmd(rootArgs *rootArgs, errorf func(format string, a ...interface{})) *cobra.Command {

i wonder if it is worth defining something like: type errorFn func(format string, args ...interface{}) to reduce the amount of repetition. That might make this `func checkCmd(rootArgs *rootArgs, errorf errorFn)) *cobra.Command {.

cmd/client/main.go, line 69 at r1 (raw file):

	rootCmd.PersistentFlags().StringVarP(&rootArgs.boolAttributes, "bool_attributes", "b", "", "List of name/value bool attributes specified as name1=value1,name2=value2,...")
	rootCmd.PersistentFlags().StringVarP(&rootArgs.timestampAttributes, "timestamp_attributes", "t", "", "List of name/value timestamp attributes specified as name1=value1,name2=value2,...")
	rootCmd.PersistentFlags().StringVarP(&rootArgs.bytesAttributes, "bytes_attributes", "", "", "List of name/value bytes attributes specified as name1=b0:b1:b3,name2=b4:b5:b6,...")

BTW: it'd be really cool if there was only --attributes and we could auto-detect type.

cmd/client/main.go, line 84 at r1 (raw file):

	withArgs(os.Args[1:],
		func(format string, a ...interface{}) {
			glog.Errorf(format+"\n", a...)

fwiw, i think glog auto-adds the "\n" if it detects the last byte is not "\n".

Comments from Reviewable

cmd/client/main.go, line 69 at r1 (raw file):
Previously, douglas-reid (Douglas Reid) wrote…
BTW: it'd be really cool if there was only --attributes and we could auto-detect type.

I'll look into it.

Comments from Reviewable

Review status: 2 of 9 files reviewed at latest revision, 3 unresolved discussions.

cmd/client/check.go, line 26 at r1 (raw file):
Previously, douglas-reid (Douglas Reid) wrote…
i wonder if it is worth defining something like: type errorFn func(format string, args ...interface{}) to reduce the amount of repetition. That might make this `func checkCmd(rootArgs *rootArgs, errorf errorFn)) *cobra.Command {.

Done.

cmd/client/main.go, line 84 at r1 (raw file):
Previously, douglas-reid (Douglas Reid) wrote…
fwiw, i think glog auto-adds the "\n" if it detects the last byte is not "\n".

Done.

Comments from Reviewable

LGTM

OK

Review status: 2 of 9 files reviewed at latest revision, 2 unresolved discussions.

Comments from Reviewable

Reviewed 7 of 7 files at r2.
Review status: all files reviewed at latest revision, 2 unresolved discussions.

Comments from Reviewable


Support requesting OpenCellID key automatically

code refactoring
one more label
see changes in commit messages and code!

I had to increase android api version, see commit message:
most methods realted to TelephonyManger require A-API 17 or 18 otherwise an exception is thrown
exception is not visible because whole block of code is in {}catch(Excetpion) block, service wouldn't work and it wouldn't crash
commit increases required API so TelephonyManager will work as supposed.

Lots of formatting changes which get in the way of looking for the functional changes. . . Would be nice to submit the formatting clean up as a separate commit.
Opening the preferences and tapping on "OpenCellIP API" to manually set a value results in a crash for me. Sorry, did not capture the stack trace. Once "Request new OpenCellID key" is pressed it seems to work okay.
Started download and build of new database and after only a little while got a crash in the lookup area. Here is the trace:
E/AndroidRuntime(13526): java.lang.NullPointerException: Attempt to invoke virtual method 'double android.location.Location.getLatitude()' on a null object reference
E/AndroidRuntime(13526): 	at org.fitchfamily.android.gsmlocation.GSMService$1$1.sameLoc(GSMService.java:59)
E/AndroidRuntime(13526): 	at org.fitchfamily.android.gsmlocation.GSMService$1$1.doIt(GSMService.java:77)
E/AndroidRuntime(13526): 	at org.fitchfamily.android.gsmlocation.GSMService$1$1.onCellLocationChanged(GSMService.java:92)
E/AndroidRuntime(13526): 	at android.telephony.PhoneStateListener$1.handleMessage(PhoneStateListener.java:290)
E/AndroidRuntime(13526): 	at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(13526): 	at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime(13526): 	at org.fitchfamily.android.gsmlocation.GSMService$1.run(GSMService.java:105)

Opening the preferences and tapping on "OpenCellIP API" to manually set a value results in a crash for me

Just spent 15minutes and I can't reproduce it. In that part of code I added only final keyword and it should not cause crash. If you could get stacktrace would be great, I'll fix it then.
-        EditTextPreference ociKeyPreference = (EditTextPreference) this.findPreference("oci_key_preference");
+        final EditTextPreference ociKeyPreference = (EditTextPreference) this.findPreference("oci_key_preference");

Last two commits introduce new features, I had to read that code before ;) I think we will benefit from it in the future, you had mixed formatting styles tabs vs. spaces / K&R vs java. If you take a look at      public void genDatabase(boolean useOCI, boolean useMLS, String OciKey, - it didn't do anything because of wrong variables used in putExtra methods :D

Okay, that seems to have fixed the crash. I think the unexpected quit I had when I first attempted to set a API key was simply in the other thread.
Yeah, the code was a bit of a mess... A couple of different editors with different settings on expand tabs or not, etc. So the clean up is welcome, I just find it easier if clean up and either bug fixes or new functionality are in different comments.

Looks like the NPE fix (restore check for first parameter null) seems to fix the issues I had.
Code was a mess, thanks for the clean up. But I much prefer to have clean up and functionality commits separate. :)

I fixed it anyway ;_;
If you want you can merge those two commits two, they add the same key validation as automatic mode has, additionally I added one more check for NPE in that code. It shouldn't crash even when user changes their mind and press back.

Backed out some of the last key validation as it rejects my OCID API key which starts with 'bfa9b9fb-' instead of 'dev-'. :)
Other than that, I've merged your changes and pushed a new version back to github.
Thank you for your contribution!

Acordding to examples in their API all keys start with dev-usr-- I don't know what that usr-- part is. In AndroidIMSICatcherDetector we check for dev- too and it works fine. Key validator is based on my assumption that all API keys have dev- part.

Maybe they have changed things around but the key I've had for quite a while is of the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx where each 'x' is a hex character/digit. And that key worked as recently as 8 hours ago when I was checking things.
Or maybe they have one format key given out from the interface you've coded and a different one from http://opencellid.org/#action=database.requestForApiKey where the user needs to specify an email and create a password.


Override Equals(object) and GetHashCode() in UnturnedPlayer

Closes SmartlyDressedGames/Unturned-3.x-Community#1628

This will be fixed in the next release! Your issue is credited in the changelog. I will close this and the original issue.


Move XDS_PROTOCOL.md into sphinx docs

https://github.com/envoyproxy/envoy/blob/master/api/XDS_PROTOCOL.md
We should port this into the sphinx docs. It will be more discoverable, allow direct ref linking, etc.
cc @htuch @ramaraochavali

/assign @ramaraochavali

@mattklein123  I will take it when I get some time.

@ramaraochavali awesome no rush. Thank you!

+1, this makes sense, will need to make sure the sequence diagrams etc. transfer over.


Migration Challenge to GitHub Actions

We have created a pull request for GitHub Actions migration to resolve this issue.
Tests that depend on BrowserStack (e.g. pnpm run test:unit) were commented out because they always fail, but we temporarily uncommented them all.
It seems that I need the approval of the maintainer to enable Workflow in the Dexie.js repository, so can you try and merge it once approved?
Also, I would like you to try setting up BrowserStack.
https://www.browserstack.com/docs/automate/selenium/github-actions
We are thinking that it would be good to run it in parallel with TravisCI until we can confirm that it is stable and working.

Thanks a lot! If we can run the tests on Github Actions with local testing only (not checking for browserstack env vars), but run it against a local browser on the github actions host if possible, that would be great. Regarding Browserstack, we are moving over to Lambdatest instead of browserstack (which is in another PR #1701). If we can fix this PR with local testing, we could also adjust #1701 to use GA if needed.

@dfahlander Thanks for the quick reply!

If we can run the tests on Github Actions with local testing only (not checking for browserstack env vars)
I also think this approach is nice.

So, for #1707, let's use GitHub Actions, with the goal of passing the tests on local testing only first, shall we?
Are the tests that depend on BrowserStack isolated on a per-execution-command basis?
I looked at this a bit yesterday,
It seemed to me that the tests run through karma with pnpm run test:unit are dependent on BrowserStack.

Browserstack only optionally used based on env variable check in karma.common.js when assigning browserSuiteToUse
const browserSuiteToUse = process.env.NODE_ENV === 'release' ?
  "pre_npm_publish" :
  process.env.TRAVIS ?
    isNaN(process.env.TRAVIS_PULL_REQUEST) && process.env.BROWSER_STACK_USERNAME ?
      "ci" :              // CI pushs to master and browserstack credentials exists
      "ciLocal" :         // CI pull request or has no browserstack credentials.
  "local";                // Developer local machine

The "local" or "ciLocal" variants can be used. The only difference between them is that "local" is using Chrome (because it's installed on most dev machines) and "ciLocal" uses a local Firefox which installed in Travis using . addons: firefox: "85.0" in .travis.yml.
If github actions also has the possibility to install a browser (or if it's already part of the environment), then we could use that one as the ciLocal option.
The browser-set to use depending on "local", "ciLocal", etc are defined in karma.browsers.matrix.js
/** This module comprises the list of browsers
 * to run tests on depending on environment.
 *
 * Browsers listed here must also be defined in
 * karma.browserstack.js
 */

module.exports = {
    // On developers machines, Chrome is most likely to be installed.
    local: ['Chrome'],
    //local: ['bs_safari_latest_supported'],

    // When browserstack cannot be used, use local Firefox.
    ciLocal: ['Firefox'],

    // Continous Integration on every push to master
    ci: [
        // - Let firefox represent the standard evergreen browser.
        // Leaving out Chrome, since local tests have hopefully already run on it.
        // Chrome will be tested in the pre_npm_publish anyway.
        'bs_firefox_latest_supported',
        // Safari. Enforces native Safari support for every PR!
        'bs_safari_latest_supported'
    ],

    // Test matrix used before every npm publish.
    pre_npm_publish: [
        'bs_chrome_oldest_supported', // ...because not tested in CI!
        'bs_chrome_latest_supported', // ...because not tested in CI!
        'bs_firefox_oldest_supported', // ...because not tested in CI!
        "bs_safari_oldest_supported", // ...because not tested in CI!
    ]
}

Thanks for this PR! I could use it with some modifications to get everything working. Replaced with PRs #1747, #1748 and #1749 #1750 .


Marathon provider uses port from label.

The "traefik.port" label value is not used when selecting which port to use. Instead, the Marathon provider always uses the first possible port.
The Marathon provider should honor the "traefik.port" label supplied by the Marathon app.  If no "traefik.port" label is specified, then the first possible port us used.

This appears to be related to #130.

@emilevauge Regarding traefik.port, here is the one place that the label is used by the marathon provider: https://github.com/emilevauge/traefik/blob/master/provider/marathon.go#L131-L135
Today, the value of traefik.port could be "hello world" and Traefik will be happy, route requests to the first marathon port. This is troublesome because many of us assume port will be a value between 1 and 65535.
I see these options so far:

Take the pull request as it is and traefik.port will represent a port number.
Treat traefik.port as an index and not a port number.
Replace traefik.port with traefik.portIndex to satisfy #130 but break users whose apps have more than one port and are using traefik.port to flag the first port as routable.
Support both traefik.port and traefik.portIndex labels.
If you're concerned with symmetry of the traefik.port also used by the Docker provider, perhaps consider disrupting the symmetry with provider-specific labels. i.e., traefik.docker.port and traefik.marathon.portIndex.

Pesonally I prefer 3rd and 4th options, but 5th is interesting too. :)
cc @dontrebootme

Hi @dylanmei :)
OK let's go on the 4th solution: Support both traefik.port and traefik.portIndex labels.
I think it is the safest and clearest way to go :)

@emilevauge I think this is a fine idea. I will update the pull request when I have it worked out. :)

I've added support for traefik.portIndex. @emilevauge, a choice remains which requires your guidance.

When both labels are specified -- traefik.port and traefik.portIndex -- which label wins?
Or shall we filter tasks when both labels are specified?

Cool @dylanmei !
I think the best solution is to filter tasks when both are specified. This is a misconfiguration case that should not happen :)

@emilevauge Marathon tasks from apps with both port and portIndex labels are filtered out. :)

Thank you @dylanmei :) LGTM for me. Could you just squash your commits please?

Squashed commit (and also amended commit name)
:)

@rebaseTraefik

@rebaseTraefik

Needs a rebase, sorry.

Rebase success!

LGTM 🐶


cmd

Would it be possible to refactor the main.go into a folder as follows;
go get -u github.com/augmentable-dev/tickgit/cmd/tickgit
So that the binary would be tickgit instead of cmd?
Thanks,
Damian.

@patrickdevivo sorry I wasn't clear.  The change should be to introduce a new folder.  It should be
github.com/augmentable-dev/tickgit/cmd/tickgit/main.go
The the pull will be
go get -u github.com/augmentable-dev/tickgit/cmd/tickgit

@damianoneill ah I understand! That seems to be inline with what we probably should be doing anyways: https://github.com/golang-standards/project-layout/tree/master/cmd
PR #52 should address properly?

@patrickdevivo all good.
$ go get -u github.com/augmentable-dev/tickgit/cmd/tickgit
✔ ~
01:07 $ tickgit --help
Scans a given git repository looking for any code comments with TODOs. Displays a report of all the TODO items found.

Usage:
  todos [flags]

Flags:
      --csv-output   specify whether or not output should be in CSV format
  -h, --help         help for todos
✔ ~

Thanks.


Fixed issue with ESLint

Fixes issue with ESLint still being imported in webpack base config if ESLint has been turned off in initial config

Duplicate of #487

Duplicate #479

Closing due to duplicates.


Change kay emails

I've just changed my email to a self-hosted email, and decided to change it here as well.

@Ja7ad can you review and merge this?


[PE-D] Wrong error for patron delete even though INDEX is a positive integer and INDEX is invalid

Error for patron delete even though INDEX is a positive integer.
Input:
patron delete<PHONE_NUMBER>31231231414151515135143142130948104321438148127364891726341982734618927364981726437382192837467382198273461892837461892736491827364
Output:

Labels: severity.Medium type.FunctionalityBug
original: ryantanlien/ped#1

duplicate.


Markdown preview of the merge requests text and comments

Since lab allows to view the list of MRs, I think it will be next step level experience to support markdown preview of the PR text (most of them are text anyway) and attached comments.
Same applies to the issues.
And there is a markdown preview console application in Go already: https://github.com/samfoo/mdcat
It can even be made scrollable, like in termimad:

@XVilka whoa nice, I've thought about this before, but never considered there would be a solid solution. Never even tried to google it... Would love to get this implemented where applicable


Stop requests to the server before redirect from the idle-page

After the #66 issue was closed I've found a problem on the idle-page script. I've fixed it here
/cc @inikulin @helen-dikareva

lgtm

lgtm

@AlexanderMoskovkin Too late, but I've just had a thought what the following condition will be more clear:
function checkStatus (statusUrl) {
    browser
        .checkStatus(statusUrl, window.XMLHttpRequest)
        .then((cmd) => {
            if (cmd !== COMMAND.idle)
                window.clearInterval(interval);
        });
}

What do you think?

yes, it's more clear. Create a new pr?

@AlexanderMoskovkin Yes, please


Dark mode incompatibility

With tailwindcss>3.3.3, the design breaks during active dark mode.

I got the same problem, any update ?

The Starter doesn't support dark mode, so any dark: classes present are leftovers from an early version.
I can't replicate the issue with the package versions you mentioned. What browser are you using?

@VariableVic  For me Safari and Chrome still got that same problem.

For me this issue happened when I updated tailwind above 3.3.3 as the issue description says

I’ve got the same problem even with 2.4.1.
And I also don’t think it’s any dark: leftovers, as there are no dark: classes in the code.
However, there is a layout.css file being generated, that sets the color variables based on the css prefers-color-scheme: dark setting.

It’s because the ui-preset tailwind plugin is looking at the config to see, if the darkMode: 'class' property is set in the tailwind.config.js. If not (as it is by default), it overrides the color variables based on the system color scheme.
So you can fix it by explicitly saying the dark-mode isn’t set based on the system:
module.exports = {
  darkMode: 'class',
  presets: [require("@medusajs/ui-preset")],
  …
}

I could also create a PR to make this the default behaviour for freshly created nextjs-starters, if that’s wanted

@ericwaetke great catch, I'd happily accept that PR!

I don't think you understand the problem. We need to darkMode and it is simply not working.

We need to darkMode and it is simply not working.

What do you mean exactly? Are you trying to add dark: classes and they aren't picking up? Please elaborate on what you're trying to  achieve and what is not working as expected.

@VariableVic just look the original post pictures with darkmode the whole store is unusable

Like I said, this Starter doesn't support dark mode out of the box. It's light mode only. There's 2 things you can do here:

Implement @ericwaetke's fix to prevent the store from switching to dark mode entirely. This will enforce light mode regardless of the user settings.
Or, if you want to use dark mode: implement it yourself.  You can use Medusa UI classes like bg-ui-bg-base - they will switch based on the user system setting. As you can see in your screenshot, some components are already using these, and thus reacting to dark mode.

@VariableVic so no intention to make this available? I have solved this went I opened, so is not really affecting me, however this would be surely much appreciated by the community ;)

It's not a priority as of now, but we might add it later. Feel free to add it as an idea to GH discussions!


Use print() function in both Python 2 and Python 3

Related to #4552
Legacy print statements are syntax errors in Python 3 but print() function works as expected in both Python 2 and Python 3.
Signed-off-by: Christian Clauss<EMAIL_ADDRESS>For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]

While your making this change can you change the instances of Python 2 print in tools/stack_decode.py as well?

You need to upgrade your version of DCO.  The version of DCO that is currently in use does not detect commits made from GitHub web ui that contain valid Sign-off-by:


Add Smooth Scrolling to article.nextra-content

Is your feature request related to a problem? Please describe. A clear and
concise description of what the problem is. Ex. I'm always frustrated when [...]

Stiff page scrolling...?

Describe the solution you'd like A clear and concise description of what you
want to happen.

It would be great to have smooth scrolling when clicking the TOC to navigate to a specific section.

Describe alternatives you've considered A clear and concise description of
any alternative solutions or features you've considered.

You can achieve this by adding scroll-behavior: smooth; to the article.nextra-content class.

article.nextra-content {
    scroll-behavior: smooth;
}

I would like this feature to be included as a default option.

Additional context Add any other context or screenshots about the feature
request here.

I’ve implemented this on my personal website, and personally, I believe it has a positive impact on user experience.

IMO I would like to reduce these animations (similar as in Next.js docs), people who need it can simply add with 3 lines CSS, wdyt @87xie cc

IMO I would like to reduce these animations (similar as in Next.js docs), people who need it can simply add with 3 lines CSS, wdyt @87xie cc

I prefer reducing these animations too.


[common, common-mobx] PromiseExtended & Various fixes

Common:

Added PromiseExtended helper
[Breaking] Fixed circular dependency in dates

Common-MobX:

MultiSelect ViewModel now accepts items getter

coverage: 70.635% (+16.4%) from 54.235%
when pulling e1f804467b123bbfb5d541424bd82e12c5b0b1a1 on various-fixes
into 46911d0334dc00cedb07b51660c85a3858253c9f on main.


pretrained_text.pkl

I feel great reading your work. I was very excited when I saw your publication after sending you an email requesting your code. However, I encountered an issue while reproducing your code. During the first step, I ran into a missing pretrained_text.pkl file. I would greatly appreciate it if you could provide this file."

We are delighted that our work has been helpful in your research. We have now updated the README and placed the download link of pretrained_text.pkl in it. This file is required if you are working with MOSI and MOSEI, but not required for CH-SIMS and CH-SIMSv2.


How to get around the .default property?

Do you want to request a feature or report a bug?
Bug? Or maybe a feature?

What is the current behavior?
I have an AMD define() module that is like
define({
    Foo: './Foo',
}, function(Foo) {
    var Foo = Foo.default;
});

where ./Foo was written as an ES6 module, so I have to use  var Foo = Foo.default; which isn't as intuitive as just Foo. In other words, I have to go and modify all old code to add the  var Foo = Foo.default.
However, ./Foo only exports a default export, and was basically converted from define() to ES6. It was previously simply returning Foo.
Is there a way to make this less annoying, so that only Foo is require and not having to access .defaults?
What is the desired behavior?
I don't want to have to access .default for originally define code that was converted to ES6 with default export.
If this is a feature request, what is motivation or use case for changing the behavior?
It would make things less of a hassle.
Please mention other relevant information such as the browser version, Node.js version, webpack version and Operating System.
Webpack 2.

Thanks for the report. Do you think you could share a tiny example showcasing this? If it turns out to be a bug, I can add it as part of our config test cases and TDD it.

https://github.com/webpack/webpack/issues/3929

I don't think this will be changed. That's how ESM works.
Just write all your modules as ES2015 module.
/wontfix


Adding docs/release notes for listener filter.

Adding docs/release notes for listener filter for issue: https://github.com/envoyproxy/envoy/issues/20049.
This is a follow up commit for https://github.com/envoyproxy/envoy/pull/21133.
Signed-off-by: Yanjun Xiang<EMAIL_ADDRESS>
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/assign @adisuissa @soulxu @mattklein123

/retest

Thanks! This is LGTM


Initial commit

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@267863a). Click here to learn what that means.
 Consider uploading reports for the commit 009e803 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             develop       #1   +/-   ##
==========================================
  Coverage           ?   74.91%
==========================================
  Files              ?       17
  Lines              ?      921
  Branches           ?        0
==========================================
  Hits               ?      690
  Misses             ?      231
  Partials           ?        0

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

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


Enable the use of a runtime path for the CA cert

Adds in the ability to specify a runtime path for the CA cert used. This is helpful if you store the cert elsewhere, and want to download it as part of the pipeline instead of defining it for every pipeline that may make use of the same BOSH instance.

To be clear, I'm not 100% happy with this implementation, since I would rather have the ca_cert_file declared in params on put.  I've opened a dialogue about these shortcomings on https://github.com/concourse/atc/issues/72

Sorry for the delay on this.
Given that the resource is representing state of a deployment on a BOSH director, it needs to access the director even outside of a put to run a check when discovering the deployment state. So I don't think this makes sense.
What may help in your case is just having a shared pipeline template providing the director's CA cert. But given that your main pain point is likely certificate rotation and having to update multiple pipelines, I think this really comes down to https://github.com/concourse/concourse/issues/291
Thanks though!


Add prestage support to the client

The new pelican object prestage command (and the corresponding
public APIs) allow a user to trigger the prestaging of data to a
specific cache.
The prestage itself is not intelligent: it checks to see if a file
is already present and, if not, it triggers a full download.  Future
work may extend this on the Pelican-side so there's a control
interface exposed that triggers prestaging without data movement all
the way to the client.
Includes unit tests and some modest refactoring.  Given the current
LIGO origins don't have the collections URL set (and I wanted to
test it out), this also provides the ability to override the
collections URL on the CLI.

Note: patch requires the following XRootD fix to work: https://github.com/xrootd/xrootd/pull/2348


Issue/5145 compiler determinism fix (#7828)

Pull request opened by the merge tool on behalf of #7828

Merged into branches iso6 in f962b81e46e283c05c2697a0f63ab5ff657770cc


UNDER CONSTRUCTION: Duck Typing

Background

The successful standardisation of protocols made us believe that we should also standardise meaning on the Web. This is a fundamental misconception. (Janowicz and Hitzler, 2013).

Standardising meaning implies to enforce one single, agreed convention on how the syntactic representation and structure of the data or messages shall be semantically interpreted. This approach fails sooner or later, because such standard allows only one single POV, or perspective, on what is relevant to consider (and what not), how we can carve out that particular part of reality (creating one allowed structure), and how such should be represented (prescribing one single syntactic form). Unfortunately, any particular perspective is just one out of many equally legitimate ones; consequently, any POV taken to single out a particular interpretation of reality will fall short for different stakeholders, actors or applications that, by definition, take another perspective on the domain of application.
The SDO community acknowledged this concern, and decided they should take another approach to standardisation. And it did. As described in the UCO Design Document, section 5:

[A facet] it is designed as a general characterizing extension for a domain object (...) [and] serves to enable Duck Typing as described in [Section] 5.1 below and flexible characterization of subclasses of observable objects through combinations of facets
rather than more complex property inheritance via definition directly on observable object subclasses that proved highly problematic in other information standards efforts such as CybOX.

Applying facets is, thus, understood as a design pattern to work around "enforcing strict data typing" and "allow data to be defined by its inherent characteristics" instead. Despite the good intentions, the use of facets have been experienced as additional complication to an already difficult task of engineering an ontology, and the execution of the approach has been problematic. The reason is not laid in the design pattern itself, but in the environment that the design pattern is applied. Whereas the facet design pattern works well in software engineering, it fails to work well in ontology engineering. Why is that, and what can we do to enforce duck typing, allow for different POV and stay away from conflating syntax with semantics?
The Problem
The reason is that although an ontology and a data schemata are both models, they represent very different types of models. A data scheme prescribes how the data should be represented, and any deviation from it will result in failure of the software to process that data. Contrarily, an ontology describes reality, and we can only interpret the description differently than it was intended. Consequently, the schemata and ontologies stand with their back to each other: the ontology looks at the domain of application, trying to describe it; the scheme looks at the system, prescribing how it should behave. For the data, the scheme represents its source of truth whereas for the ontology, reality represents its source of truth. If Boyle's Law (the ontology) were not to accurately describe the pressure of a gas as it gets compressed (the application domain), we would not hold the gas responsible but we would hold the model responsible; if the data fail to match the scheme, the software cannot process them and we hold the data responsible. This makes software engineering and ontology engineering complementary types of modeling. And where the facet pattern has a positive, causal effect on the complexity of software models, it has a detriment effect on ontologies because in that context the causality works the other way.
Requirements

Requirement 1
Requirement 2
Risk / Benefit analysis
Benefits
Risks

Solution suggestion

Specify necessary characteristics only
Ontology engineering is about applying constraints in order to only allow states of affairs in our domain that we intend to describe with the ontology. So we keep the model as generically applicable as possible, and disallow particular interpretations that are not intended. We achieve that by stating the few characteristics that are really necessary for all our applications, resulting in too wide a model for a specific application. Then, by applying constraints, we remove what we don't want to include.

Duplicate from #438


Updated vscode template

Hello,
in VSCode 1.21 the test task fails with:

Ausnahme beim Aufrufen von "GetSteppablePipeline" mit 1 Argument(en):  "Der Ausdruck nach "&" in einem Pipelineelement hat ein ungültiges Objekt erzeugt. Der Ausdruck muss einen Befehlsnamen, Skriptblock oder ein
CommandInfo-Objekt ergeben."

Further there were some warnings in the tasks.json, since VSCode changed the tasks to version 1.14.
I fixed it for the latest version of VSCode and testet it on a updated Windows 10, but not on Linux and MacOS.
Thanks,
Steffen

 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.:x: abbgrade sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for this! We should verify this works on either Linux or macOS for sure since their default shell is not PowerShell.

Thanks for your feedback @tylerl0706. I changed it as you suggested and tested it again on Windows 10.

Worked on macOS 👍

@abbgrade Thanks for your contribution!


Fix bisq.markets hostname

I'm testing code samples while re-writing the docs section and examples that use bisq.js are broken on the live website.
It seems that's because there's a reference to bisq.market instead of bisq.markets in bisq.js.

Changing the hostname in the compiled bisq.js doesn't seem to work, so I'm not sure the change proposed in this PR has the desired effect. But specifying the hostname property on the front-end  does work, so...closing.
Will update API examples accordingly though.


[Q] Filter plugin --> analyze plugin: missing description

I am trying the following command:
tsp -I  ip <IP_ADDRESS>:5555 -l <IP_ADDRESS> -P filter --service 40  -P tables   -i 5 -O drop
The description value of the analyze.pid reports "Unreferenced". Would like to understand if this is expected as if i remove the Filter plugin i can get the correct description of the coded
{ "pids": [ { "audio": false, "bitrate": 4855, "bitrate-204": 5268, "description": "Unreferenced", "ecm": false, "emm": false, "global": true, "id": 100, "is-scrambled": false, "packets": { "af": 0, "clear": 5, "discontinuities": 0, "dts": 0, "dts-leap": 0, "duplicated": 0, "invalid-scrambling": 0, "pcr": 0, "pcr-leap": 0, "pts": 0, "pts-leap": 0, "scrambled": 0, "total": 5 }, "pmt": false, "service-count": 0, "t2mi": false, "unit-start": 5, "unreferenced": true, "video": false }, { "audio": false, "bitrate": 2035227, "bitrate-204": 2208437, "description": "Unreferenced", "ecm": false, "emm": false, "first-dts":<PHONE_NUMBER>, "first-pcr":<PHONE_NUMBER>000, "first-pts":<PHONE_NUMBER>, "global": true, "id": 101, "is-scrambled": false, "last-dts":<PHONE_NUMBER>, "last-pcr":<PHONE_NUMBER>337, "last-pts":<PHONE_NUMBER>, "packets": { "af": 84, "clear": 2096, "discontinuities": 0, "dts": 36, "dts-leap": 0, "duplicated": 0, "invalid-scrambling": 0, "pcr": 44, "pcr-leap": 0, "pts": 41, "pts-leap": 0, "scrambled": 0, "total": 2096 }, "pes-stream-id": 224, "pmt": false, "service-count": 0, "t2mi": false, "unit-start": 41, "unreferenced": true, "video": false }, { "audio": false, "bitrate": 133028, "bitrate-204": 144349, "description": "Unreferenced", "ecm": false, "emm": false, "first-pts":<PHONE_NUMBER>, "global": true, "id": 102, "is-scrambled": false, "last-pts":<PHONE_NUMBER>, "packets": { "af": 14, "clear": 137, "discontinuities": 0, "dts": 0, "dts-leap": 0, "duplicated": 0, "invalid-scrambling": 0, "pcr": 0, "pcr-leap": 0, "pts": 7, "pts-leap": 0, "scrambled": 0, "total": 137 }, "pes-stream-id": 192, "pmt": false, "service-count": 0, "t2mi": false, "unit-start": 7, "unreferenced": true, "video": false } ], "time": { "local": { "system": { "first": { "date": "2023/12/12", "seconds-since-2000": 755731627, "time": "21:27:07.274" }, "last": { "date": "2023/12/12", "seconds-since-2000": 755731628, "time": "21:27:08.822" } } }, "utc": { "system": { "first": { "date": "2023/12/12", "seconds-since-2000": 755728027, "time": "20:27:07.274" }, "last": { "date": "2023/12/12", "seconds-since-2000": 755728028, "time": "20:27:08.822" } } } }, "ts": { "bitrate": 2173109, "bitrate-204": 2358055, "bytes": 420744, "duration": 1, "packets": { "invalid-syncs": 0, "suspect-ignored": 0, "total": 2238, "transport-errors": 0 }, "pcr-bitrate": 2173109, "pcr-bitrate-204": 2358055, "pids": { "clear": 3, "global": { "bitrate": 0, "bitrate-204": 0, "clear": 0, "is-scrambled": false, "packets": 0, "scrambled": 0, "total": 0 }, "pcr": 1, "scrambled": 0, "total": 3, "unreferenced": 3 }, "services": { "clear": 0, "scrambled": 0, "total": 0 }, "user-bitrate": 24882349, "user-bitrate-204": 26999996 } }

The expression -P filter --service 40 "select packets belonging to any of the specified services as PMT, component or ECM." This means that everything else, including the PAT is removed. The next analyze plugin does not receive a PAT, cannot locate the PMT's and the structure of the service. So, everything is "unreferenced".
You need to add in the filter enough PID's to identify the structure of the TS.
However, if your purpose is to keep only one service in a consistent TS, use the plugin zap. It recreates a consistent SPTS.


Can't create discovery cluster on region us-east2

In Amazon recently we can create instances on region us-east2, but when a set it in the config i get this error:

This region will be supported?,
regards.

Yes us-east2 is not supported for this version of the plugin. See https://github.com/elastic/elasticsearch-cloud-aws/tree/v2.7.1/#region
You can manually define cloud.aws.ec2.endpoint though to something like ec2.us-east-2.amazonaws.com. That should work I believe. See https://github.com/elastic/elasticsearch-cloud-aws/tree/v2.7.1/#using-other-ec2-endpoint
I opened https://github.com/elastic/elasticsearch/issues/21881 to add it in recent versions of elasticsearch. As it's not a blocker, it will probably be implemented from 5.2.0 I believe.
Closing but let me know if the workaround does not work for you.

I added this :
cloud.aws.ec2.endpoint: ec2.us-east-2.amazonaws.com
the config look like this;
cloud.aws.access_key: [KEY]
cloud.aws.secret_key: [SECRET]
cluster.name: mycluster
node.name: elastic1
discovery.type: "ec2"
discovery.zen.ping.multicast.enabled: false
discovery.ec2.groups: "securityTest"
discovery.ec2.host_type: "private_ip"
discovery.ec2.ping_timeout: "30s"
discovery.ec2.tag.cluster: "cluster"
cloud.aws.ec2.endpoint: "ec2.us-east-2.amazonaws.com"
but this don't work,
regards.

Can you paste the full log please?

Sorry this is working now, was a mistake in the config with the group-security name.

Great!


Branch Template Property

Context
Based on https://github.com/Everduin94/better-commits/discussions/68 (@groovyghoul)
Today, although each part is optional, the order in the branch name when running better-branch is fixed.
USER/TYPE/TICKET-DESCRIPTION
Tasks
Create a property branch_template

Default: user/type/ticket-description

Zod Validation

Enforce key words: ["user", "type", "ticket", "description", "version"]
Enforce separators: ["/", "-", "_"]

Regex

Update builder to use template
See #70 make sure to not break inference between these two changes

Add either

A way to make custom fields / prompts
Optional version number field (leaning towards this for now)

Outstanding Tasks

This will effectively make fields like optional or separator redundant in some cases. Should we deprecate?

@Everduin94 I finally got a chance to install and configure. This is working EXACTLY how I want it! Thanks for going above and beyond.


more github installations api coverage

Expands coverage of GitHub App and Installation API.

I was a little unsure of some naming in here so if anything sticks out and you have a suggestion, please let me know!

Changes Unknown when pulling 58418a847ee5fd3e4a80422e7cc85f8facbbe759 on outofambit:more-installation-api into ** on edgurgel:master**.

I think that's good enough! Thanks !


sorting of Shortcuts

I'm not sure if this is setup via the SDK or if it is a general Fault in the Brain Code, but its a bit disturbing:
When adding Buttons to the NEEO Brain via the SDK some there is no consisted order. As example i first expose all NEEO Remote Hardkeys via the Buttongroup (VOLUME, Controlpad, Menu and Back, Channel Zapper and POWER) then i do all predefined Softkeys also via Groups (Numpad, Color Buttons, Transport, Transport Search, Transport Scan, Transport Skip, Record) and a single Button INFO.
These are then displayed as alphabetic order on the Apps Shorcut page but gets disturbed by single Buttons that are added seperatly (you can have a look into my Enigma2 driver index.js for all the signle buttons.
BUT the Buttons i add seperatly uses the order i add them and are not sorted alphabetic and also intermixed with the Button Group. Bit hard to describe what exactly i mean. If you like to have further Infos, just ask for it, i don't can describe it better currently.

hi
not sure if I understand the issue correcty. but you can order the shortcuts in the shortcuts view.

will close as not related to the sdk

I checked it out, it looks like the shortcuts are not properly sorted on the settings screen when adding shortcuts for a given device.
As @neophob mentioned this isn't an SDK bug, I'll file a bug report internally that issue in the firmware.

I allready thought it is firmware related, but was unsure. Thanks for handling it!


[BUG]: Commands do not load

Environment
see https://github.com/IgorKowalczyk/majo.exe/issues/1035#issue-2400525691
Steps To Reproduce
see https://github.com/IgorKowalczyk/majo.exe/issues/1035#issue-2400525691
Software Version
latest commit
Expected Behavior
see https://github.com/IgorKowalczyk/majo.exe/issues/1035#issue-2400525691
Actual Behavior
see https://github.com/IgorKowalczyk/majo.exe/issues/1035#issue-2400525691
Screenshots
N/A
Severity
Critical
Priority
High
Type
Functional
Reproducible

[X] Yes
[ ] No

Additional Information
Refreshed my files with the latest repo (about 10 minutes ago from writing this) and the console still logs it loaded nothing (no slash commands, modals, fonts or events) and came a new error:
@majoexe/dashboard:deploy: TypeError: Invalid URL
@majoexe/dashboard:deploy:     at new URL (node:internal/url:797:36)
@majoexe/dashboard:deploy:     at 66307 (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\chunks\4025.js:10:3250)
@majoexe/dashboard:deploy:     at t (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\webpack-runtime.js:1:143)
@majoexe/dashboard:deploy:     at 31616 (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\commands\page.js:1:2265)
@majoexe/dashboard:deploy:     at t (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\webpack-runtime.js:1:143)
@majoexe/dashboard:deploy:     at t (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\commands\page.js:1:16230)
@majoexe/dashboard:deploy:     at C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\commands\page.js:1:16286
@majoexe/dashboard:deploy:     at t.X (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\webpack-runtime.js:1:1285)
@majoexe/dashboard:deploy:     at C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\commands\page.js:1:16243
@majoexe/dashboard:deploy:     at Object.<anonymous> (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\commands\page.js:1:16314) {
@majoexe/dashboard:deploy:   code: 'ERR_INVALID_URL',
@majoexe/dashboard:deploy:   input: 'null'
@majoexe/dashboard:deploy: }
@majoexe/dashboard:deploy: TypeError: Invalid URL
@majoexe/dashboard:deploy:     at new URL (node:internal/url:797:36)
@majoexe/dashboard:deploy:     at 66307 (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\chunks\4025.js:10:3250)
@majoexe/dashboard:deploy:     at t (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\webpack-runtime.js:1:143)
@majoexe/dashboard:deploy:     at 84204 (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\auth\error\page.js:1:2264)
@majoexe/dashboard:deploy:     at t (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\webpack-runtime.js:1:143)
@majoexe/dashboard:deploy:     at t (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\auth\error\page.js:1:5095)
@majoexe/dashboard:deploy:     at C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\auth\error\page.js:1:5146
@majoexe/dashboard:deploy:     at t.X (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\webpack-runtime.js:1:1285)
@majoexe/dashboard:deploy:     at C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\auth\error\page.js:1:5108
@majoexe/dashboard:deploy:     at Object.<anonymous> (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\auth\error\page.js:1:5174) {
@majoexe/dashboard:deploy:   code: 'ERR_INVALID_URL',
@majoexe/dashboard:deploy:   input: 'null'
@majoexe/dashboard:deploy: }
@majoexe/dashboard:deploy: TypeError: Invalid URL
@majoexe/dashboard:deploy:     at new URL (node:internal/url:797:36)
@majoexe/dashboard:deploy:     at 66307 (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\chunks\4025.js:10:3250)
@majoexe/dashboard:deploy:     at t (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\webpack-runtime.js:1:143)
@majoexe/dashboard:deploy:     at 53492 (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\_not-found\page.js:1:2275)
@majoexe/dashboard:deploy:     at t (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\webpack-runtime.js:1:143)
@majoexe/dashboard:deploy:     at r (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\_not-found\page.js:1:5069)
@majoexe/dashboard:deploy:     at C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\_not-found\page.js:1:5120
@majoexe/dashboard:deploy:     at t.X (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\webpack-runtime.js:1:1285)
@majoexe/dashboard:deploy:     at C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\_not-found\page.js:1:5082
@majoexe/dashboard:deploy:     at Object.<anonymous> (C:\Users\xxx\Desktop\majo\apps\dashboard\.next\server\app\_not-found\page.js:1:5148) {
@majoexe/dashboard:deploy:   code: 'ERR_INVALID_URL',
@majoexe/dashboard:deploy:   input: 'null'
@majoexe/dashboard:deploy: }
@majoexe/dashboard:deploy:
@majoexe/dashboard:deploy: > Build error occurred
@majoexe/dashboard:deploy: Error: Failed to collect page data for /commands
@majoexe/dashboard:deploy:     at C:\Users\xxx\Desktop\majo\node_modules\.pnpm\next@14.2.5_@babel+core@7.24.9_react-dom@18.3.1_react@18.3.1__react@18.3.1\node_modules\next\dist\build\utils.js:1268:15
@majoexe/dashboard:deploy:     at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
@majoexe/dashboard:deploy:   type: 'Error'
@majoexe/dashboard:deploy: }

Is this an issue on my end or is it related to the last 2 commits? I have not touched anything but apply the last two commits to my codebase.
Another question, when/if these issues get fixes + ones in the future, how does deploying the dashboard on vercel work? Just set the project root at apps/dashboard and go for it?
decided to open another issue instead of replying to closed issues

CWD directory should be displayed in the console when starting the bot. It should refer to /YOUR/PATCH/apps/bot