[ISSUE #99]Add a function which shows how to use rocketmq in multi-threaded scen…

Resolves #99

Codecov Report

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

@@           Coverage Diff           @@
##           master     #100   +/-   ##
=======================================
  Coverage   82.14%   82.14%
=======================================
  Files           4        4
  Lines         532      532
=======================================
  Hits          437      437
  Misses         95       95

Continue to review full report at Codecov.

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

@vongosling I think this is useless, why merge it?

No real world applications should do this kind of hack.

@ifplusor Hi, Could you gvie some specific reasons for further discussion?

This is indeed a special scene. However, in the production debugging and test environment, we encountered this problem repeatedly and we think the submitted code is one way to avoid the errors after the actual test verification. Of course, we look forward to other methods.

First suggestion
When the producer sends a message successfully, the program will return SendStatus.OK=0 to the ret variable. So we think when the producer fails to send a message, the program should return an error code to the ret accordingly and not to throw an exception to prevent the thread from running the rest of code, especially the following step:
producer.shutdown()

First, don't call start() and shutdown() under multi-threads; secondly, C++ SDK has retry logic.

You should report the error of sending, but call shutdown() is unrecommended.

send_sync is thread-safe, protect it with mutex is unnecessary.

Producer should be reused, not start() and shutdown() repeatedly.
For example
from concurrent.futures import ThreadPoolExecutor, wait
from rocketmq.client import Producer, Message

producer = Producer('PID-XXX')
producer.set_name_server_address('<IP_ADDRESS>:9876')

def send_msg():
    msg = Message('YOUR-TOPIC')
    msg.set_keys('XXX')
    msg.set_tags('XXX')
    msg.set_body('XXXX')
    ret = producer.send_sync(msg)
    print(ret.status, ret.msg_id, ret.offset)

def main():
    executor = ThreadPoolExecutor()
    # start producer
    producer.start()
    # submit tasks
    futures = []
    for _ in range(10):
        futures.append(executor.submit(send_msg))
    wait(futures)
    producer.shutdown()

if __name__ == '__main__':
    main()

@messense Thanks for your good suggestions! Our application scenario is to send data once every 5 minutes. Maybe this frequency is acceptable to start() and shutdown() every time. As long as the customer's business is running, it needs to keep sending data. So we use apscheduler module:
from apscheduler.schedulers.background import BackgroundScheduler
and make the program a systemctl service. So far, the service is running stable.

send_sync is thread-safe, protect it with mutex is unnecessary.

@ifplusor Thank you for the same. We will test it without mutex.


Port legacy tests to Swift

#627

BTW, why is RSC14a missing from the v1.0 docs?

BTW, why is RSC14a missing from the v1.0 docs?

@ricardopereira I think because it's covered elsewhere, i.e. https://docs.ably.io/client-lib-development-guide/features/#RSA2 and https://docs.ably.io/client-lib-development-guide/features/#RSA11

@tcard @ricardopereira I was hoping porting these tests would result in a green build.  What's the issue that is preventing a green build then?


Fixes #22 -- Adds trackAssets option to plugin

Asset tracking is off by default, by passing the trackAssets boolean to the
plugin options, all assets output by webpack will be added as a chunk with the
default chunk name assets to the webpack-stats.json file.
This enables rendering of files that are separately processed like gzipped js
and css from compress-webpack-plugin, fixing #22 .

Had some typos in the readme, fixed them

@owais What's stopping this from being merged?

I don't remember exactly. IIRC, I wanted to explore handling this using a plugin. Anyway, @audiolion could you share the different versions of the generated manifest with and without the flag. The manifest is not supposed to be human readable so if including these extra files in the manifest does not cause any hindrances to the main use case of django-webpack-loader, we could set the flag to always include the files or even better, remove the flag completely and always include files.

Here is another PR that does something similar I think. https://github.com/ezhome/webpack-bundle-tracker/pull/17
I think what I wanted to do was to ship a bundle tracker loader so people could wrap their usual loaders with bundle tracker loader and that would include those files in the output of bundle tracker. That would give users much more flexibility and tight control over what to include and what not.  If anyone has time to explore this idea and send a PR or just report back with the experience, it would be be very welcome.

Have been out of this for awhile now, I solved the issue in a less than desirable way by using an if statement in django templates and saying if I was in production to append .gz to the extension e.g. css.gz js.gz. I am not too clear on what your idea is with a bundle tracker loader, for me personally this solves the gzip problem for now, and doesn't cause additional technical debt if a later refactor is done.
I can post the diff of the bundles if you are still considering this PR

Your solution sounds very good to me. If a simple if condition can solve a problem, it means the solution does not need to be pushed down the stack unless the solution becomes really unmanageable.
If anyone else wants to take a stab at this, checkout my comment about loaders above.

I actually use my fork with this PR incorporated and do
{% if debug %}
  {% render_bundle 'main' 'css.gz' %}
{% else %}
  {% render_bundle 'main' 'css' %}
{% endif %}

and have my output from webpack mapped to the main chunkName

Got it, thanks! I should probably not be using more than one .js file for my site but currently do have a couple different named "entry" directories in my webpack.config.js, so I was hoping to keep the two different chunkNames as they are now and just add the extension as a third argument. I will probably just consolidate to one js file and do what you are doing, but an improvement to your fork might be to preserve the original chunkNames instead of creating a new chunkName (main in your case above, defaults to assets in your fork).

I think it does preserve the chunk names, like for me I have
{% render_bundle 'manifest' 'js' %}
{% render_bundle 'vendor' 'js' %}
{% render_bundle 'main' 'js' %}

all my app code is in the main chunk, vendor split out by CommonChunksPlugin is in vendor, and the same for manifest.

I don't know how that can be working, for me all of my entry points / all of the bundles generated by your fork go under the "assets" name, and all get loaded with {% render_bundle "assets" %}. The relevant code is here:
      if (self.options.trackAssets === true) {
        var assets = [];
        Object.keys(stats.compilation.assets).map(function(asset){
          var F = {name: asset};
          if (compiler.options.output.publicPath) {
            F.publicPath= compiler.options.output.publicPath + asset;
          }
          if (compiler.options.output.path) {
            F.path = path.join(compiler.options.output.path, asset);
          }
          assets.push(F);
        });
        chunks[self.options.assetsChunkName] = assets;
      }

...where self.options.assetsChunkName seems to be a static string and defaults to "assets", unlike the preceding code (not your fork's code):
      var chunks = {};
      stats.compilation.chunks.map(function(chunk){
        var files = chunk.files.map(function(file){
          var F = {name: file};
          if (compiler.options.output.publicPath) {
            F.publicPath = compiler.options.output.publicPath + file;
          }
          if (compiler.options.output.path) {
            F.path = path.join(compiler.options.output.path, file);
          }
          return F;
        });
        chunks[chunk.name] = files;
      });

...where the chunk.name is a dynamic value apparently based on the different entry points. Is this incorrect?

Here's my "dumb" fix for my current situation:
      var chunks = {};
      stats.compilation.chunks.map(function(chunk){
          var files = []
          chunk.files.map(function(file){
              [file, file+'.gz'].map(function(fileName){
                  var F = {name: fileName};
                  if (compiler.options.output.publicPath) {
                      F.publicPath = compiler.options.output.publicPath + fileName;
                  }
                  if (compiler.options.output.path) {
                      F.path = path.join(compiler.options.output.path, fileName);
                  }
                  files.push(F);
              });
          });
        chunks[chunk.name] = files;
      });

This just adds a duplicated chunk to for each asset with .gz appended. It dumbly assumes these files exist when they may or may not, but it lets me do {% render_bundle 'Phone' 'js.gz' %}.


fix: jsonSchemaWithoutRequired doesn't handle empty definitions

A schema with an empty definitions object causes jsonSchemaWithoutRequired to throw
 TypeError: Cannot convert undefined or null to object
      at Function.assign (<anonymous>)
      at jsonSchemaWithoutRequired (lib/model/AjvValidator.js:262:20)
      at AjvValidator.compilePatchValidator (lib/model/AjvValidator.js:136:18)
      at AjvValidator.getValidator (lib/model/AjvValidator.js:120:26)

Released in v3.0.5


Revert "Filter superfluous diagnostics"

This reverts commit ac8806fd94feee971e1c608d6dec658d5d451a80 since it is no longer needed with more recent Swift compilers.

@swift-ci please test

@swift-ci please test

@swift-ci please test windows


Resolution issue #3001

There was a reported issue with the "longid()" and "shortid()" methods of the Verbnet.py file. Basically, there are two types of ID, short id (eg. 32.5) and long id(eg. example-32.5). The methods involved change a short id to a long id and vice versa. The problem was that verbnet.longid("114-1") is supposed to return the long id "act-114-1", but it instead returns "114-1". This issue was solved by changing the Regex pattern to match the id types while still passing the tests for all other cases.
The change in the long id  Regex pattern was:
_LONGID_RE = re.compile(r"([^-.]*)-([\d+.-]+)$") ------>  LONGID_RE = re.compile(r"([A-Za-z]+)-([\d.-]+)$")
The new pattern tries to match an alphabetic sequence first (without considering empty sequences), then to match a minus sign "-" and finally the associated short id.

Please note the failing tests, e.g. these.


How do you reset to a empty model ?

How do I give the user a option to reset to a empty model even after he's selected an option.
I've tried to createing a static option with a value of null/undefined/'' but it doesn't work

For multiple select mode, This pr give an possibility to unselect all option
For single select mode, There shouldn't be an mechanism to unselect option. If you need to unselect, you can reset model by a normal button

@lordfriend  :)) tell that to my users they expect to be able to ctrl-z every single thing they do even in single select mode.
Thanks for asnwering so quickly, I may ask one more question: I need to call a function on select with a value from the nya-bs-option which was selected, how can I do this besides ng-change ?

Sorry, No callback is supported, This directive is aimed to working with ng-model

Ok, thanks.

You could make this small change for clearing the single-mode select value from the model, when the user clicks a selected option a second time:
Change:
              dropdownMenu.children().removeClass('selected');
              if (modelValue == viewValue)
              viewValue = value;
              nyaBsOption.addClass('selected');

to:
              dropdownMenu.children().removeClass('selected');
              if (modelValue !== value) {
                  viewValue = value;
                  nyaBsOption.addClass('selected');
              }


[BUG] 429 http error for genre at start service

Issue description
When launching the streama service, the following errors appear:
WARN grails.app.services.streama.TheMovieDbService - could not load genres this time, Server returned HTTP response code: 429 for URL: https://api.themoviedb.org/3/genre/movie/list?api_key={API_KEI}f&language=fr
WARN grails.app.services.streama.TheMovieDbService - could not load genres this time, Server returned HTTP response code: 429 for URL:  https://api.themoviedb.org/3/genre/tv/list?api_key={API_KEI}f&language=fr
therefore impossible to run the app
Steps to Reproduce

Ready to use version and configure with MySQL
Add some tv shows and movies (maybe the tv shows that I added manually poses problem)
Restart the service
Errors appears

Additional Info
The application was running very well until the moment to restart the service. I tried to use v 1.6: same problem.
I can send you a clean dump of users if you can not reproduce the problem.
J'ai passé beaucoup d'heure dans les ajout manuel. :(
Environment Information

Operating System: Ubuntu 18.04
Streama version: 1.7.0
Custom streama build, describe customizations or provide link to fork (If Applicable):
configured with mysql
run as a service (i follow your wiki)
I just change default sort in template.

J'ai passé beaucoup d'heure dans les ajout manuel. :( => I spent a lot of time in manual adding. :(

See here for reference: https://www.themoviedb.org/documentation/api/status-codes?language=sk-SK
429 means "Your request count (#) is over the allowed limit of (40)."
During startup, the application adds all missing genre. If you reach the limit during startup, just restart a few times until all genre were added. Thats a way to "trick" it.
Also, seems like this is related to https://github.com/streamaserver/streama/issues/830, because usually genre should be added directly when creating the movies/shows, not during startup. The startup thing is really just a fix for any genre that slip through the cracks, but it should usually not be necessary.

Perfect, I read the other issue in the meantime, and the service is running correctly now.
Thank you very much for your response and speed.


chore(ci): release main

:robot: I have created a release beep boop
react: 0.14.1
0.14.1 (2024-10-03)
Bug Fixes

add server action support (#260) (2c68b05)
remove undefined from paragraph (bfd0871)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ogcio/govie-ds/releases/tag/react-v0.14.1 :sunflower:


Upgrade to ember-cli 2.13.1

Includes config changes from the new addon diff.
https://github.com/ember-cli/ember-addon-output/compare/v2.12.1...v2.13.1
ember-cli-release also removed as it had not been previously cleaned up. See
https://github.com/ember-cli/ember-cli/pull/6507

Awesome! Thanks


update guzzle/guzzle to guzzlehttp/guzzle

According to composer:

Package guzzle/guzzle is abandoned, you should avoid using it. Use guzzlehttp/guzzle instead.

We should make sure that guzzlehttp/guzzle supports >= PHP 5.5 and then look into updating package to use it.

Note: guzzlehttp/guzzle refers to the composer package, not the GitHub page. They are different for some reason.

Resolved by #42


problem with installing audio lib

After I installed the first two package named fftw3-dev and sox，I used” luarocks install https://raw.githubusercontent.com/soumith/lua---audio/master/audio-0.1-0.rockspec“ , it comes error like
Scanning dependencies of target audio
[ 50%] Building C object CMakeFiles/audio.dir/audio.c.o
Linking C shared module libaudio.so
/usr/bin/ld: /usr/local/lib/libfftw3.a(mapflags.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libfftw3.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [libaudio.so] Error 1
make[1]: *** [CMakeFiles/audio.dir/all] Error 2
make: *** [all] Error 2
Error: Build error: Failed building.
I tried to figure this out but failed

Which OS is this?

ubuntu

Just to make sure did you run:
$ sudo apt-get install libfftw3-dev
$ sudo apt-get install sox libsox-dev libsox-fmt-all

yes，I did this exactly，it really confuses me......

I'll close this for now, if the issue comes up again feel free to open this again...


Need help for bot VFS

please help me build for bot VFS please dont count this as spam I am searching for it person we can help me here is my telegram @iamdev2

I have no idea what you're talking about, sorry.


Getting access denied on repository ownership transfer

Gitea version (or commit ref): master
Git version: Git Version: 2.23.0
Operating system: windows 10 19002 build
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[ ] MSSQL
[x] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ ] Yes (provide example URL)
[x] No
[ ] Not relevant

Log gist: https://gist.github.com/hiteshnayak305/f1ab8c6128bdf23ff064b2efa842ca1d

Description
i am not able to transfer repositories ownership. getting access denied permission.
On windows platform installed on D:\
hites is admin user in pc.
gitea config includes RUN_USER = hites
...
Screenshots

Duplicate of #7947

Presuming that Gitea definitely has permission to make these changes and that this isn't simply a permissions issue, I'm going to close this as a duplicate.


Do not instantiate Logger directly

But instead use the standard recommended getLogger function https://docs.python.org/2/library/logging.html#logger-objects

Thanks!


missing control code for insert line

a lot of full screen editors in CPM use the "insert line current line moves down" ANSI control code. I was playing around with settings in turbo pascal and I noticed this was missing.  It will cause an issue that causes the full screen editor to not scroll correctly.  It's not a Huge deal because most editors give a redraw screen key sequence (it is usually ctrl-kk) and will display the current line for positioning in the lowest portion of the screen, when scrolling so you can move to the line you want and redraw the screen by pressing the key sequence.   The most commonly used escape sequence is ( esc [ 1 L )  where the numeral is how many lines to insert, as documented https://www.inwap.com/pdp10/ansicode.txt.  It is again by no means 100% important, but something to think about because some of the older terminal based games use it as well, though not nearly as much as esc [2J witch i've found clears the sprites currently, it may be a good idea to have a separate escape code for that (clearing the sprites), but its just something you have to be aware of and when doing on screen graphics. you need to pay attention to so you don't accidentally wipe all of your sprites.  I know its a big ask you have done so much already.  It was just something that I noticed.

I'll have a look at these missing escape codes.
esc [2J currently has to clear the sprites too, as it overwrites the whole screen content with background color. It would be quite painful to redraw every active sprite afterwards. What I could do is a command for only clearing active sprites. Would that be of help?

Clearing the screen of everything is is fine, it is supposed to do that but
clearing the stored sprites is excessive because you then have to re load
them to memory on the pi ( a large hex bitmap can take 3 minutes or more
even with RLE.) Which is why I use smaller tiles loaded as needed and
generally I use data that's stored in the host computers memory as loading
from the SD card is very time consuming in this way as it greatly
contributes to load time.
On Fri, Sep 4, 2020, 1:50 AM Christian Lehner<EMAIL_ADDRESS>wrote:

I'll have a look at these missing escape codes.
esc [2J currently has to clear the sprites too, as it overwrites the whole
screen content with background color. It would be quite painful to redraw
every active sprite afterwards. What I could do is a command for only
clearing active sprites. Would that be of help?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fbergama/pigfx/issues/38#issuecomment-686951218, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AQIK5ZC7ABKP34QW734GIWDSECE2BANCNFSM4QW7JMUQ
.

There's no stored data removed. Only the defined sprites are removed. You can simply redraw them with the bitmap index you loaded before.

Von: lindoran<EMAIL_ADDRESS>Gesendet: Freitag, 4. September 2020 14:25
An: fbergama/pigfx<EMAIL_ADDRESS>Cc: Christian Lehner<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Betreff: Re: [fbergama/pigfx] missing control code for insert line (#38)
Clearing the screen of everything is is fine, it is supposed to do that but
clearing the stored sprites is excessive because you then have to re load
them to memory on the pi ( a large hex bitmap can take 3 minutes or more
even with RLE.) Which is why I use smaller tiles loaded as needed and
generally I use data that's stored in the host computers memory as loading
from the SD card is very time consuming in this way as it greatly
contributes to load time.
On Fri, Sep 4, 2020, 1:50 AM Christian Lehner<EMAIL_ADDRESS>wrote:

I'll have a look at these missing escape codes.
esc [2J currently has to clear the sprites too, as it overwrites the whole
screen content with background color. It would be quite painful to redraw
every active sprite afterwards. What I could do is a command for only
clearing active sprites. Would that be of help?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fbergama/pigfx/issues/38#issuecomment-686951218, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AQIK5ZC7ABKP34QW734GIWDSECE2BANCNFSM4QW7JMUQ
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/fbergama/pigfx/issues/38#issuecomment-687110970, or unsubscribehttps://github.com/notifications/unsubscribe-auth/APMV47HBO2RECV44ORHOHSTSEDMDHANCNFSM4QW7JMUQ.

Ok, understood, I was mistaken; apologies.  Then the only issue are the
more specific missing control codes.  I also found that highlight on /off
is missing but it is often missing from terminal emulation and with color
I'm not sure how it would be implemented correctly, so it's probably safe
to leave off and just focus on insert line as it is used far more. The only
thing I could think was swapping the background / foreground  color... But
even then on some terminals the expected output is dim/bright intensity....
Which wouldn't highlight either. Sometimes they are two different features
one for intensity, one for highlight. Sometimes they are swapped in
terminal emulators...
On Fri, Sep 4, 2020, 9:13 AM Christian Lehner<EMAIL_ADDRESS>wrote:

There's no stored data removed. Only the defined sprites are removed. You
can simply redraw them with the bitmap index you loaded before.

Von: lindoran<EMAIL_ADDRESS>Gesendet: Freitag, 4. September 2020 14:25
An: fbergama/pigfx<EMAIL_ADDRESS>Cc: Christian Lehner<EMAIL_ADDRESS>Comment <
<EMAIL_ADDRESS>Betreff: Re: [fbergama/pigfx] missing control code for insert line (#38)
Clearing the screen of everything is is fine, it is supposed to do that but
clearing the stored sprites is excessive because you then have to re load
them to memory on the pi ( a large hex bitmap can take 3 minutes or more
even with RLE.) Which is why I use smaller tiles loaded as needed and
generally I use data that's stored in the host computers memory as loading
from the SD card is very time consuming in this way as it greatly
contributes to load time.
On Fri, Sep 4, 2020, 1:50 AM Christian Lehner<EMAIL_ADDRESS>wrote:

I'll have a look at these missing escape codes.
esc [2J currently has to clear the sprites too, as it overwrites the
whole
screen content with background color. It would be quite painful to redraw
every active sprite afterwards. What I could do is a command for only
clearing active sprites. Would that be of help?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fbergama/pigfx/issues/38#issuecomment-686951218, or
unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AQIK5ZC7ABKP34QW734GIWDSECE2BANCNFSM4QW7JMUQ
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub<
https://github.com/fbergama/pigfx/issues/38#issuecomment-687110970>, or
unsubscribe<
https://github.com/notifications/unsubscribe-auth/APMV47HBO2RECV44ORHOHSTSEDMDHANCNFSM4QW7JMUQ

.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/fbergama/pigfx/issues/38#issuecomment-687170937, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AQIK5ZD2BVJALFRR3UWREEDSEDYXTANCNFSM4QW7JMUQ
.

I implemented the 4 commands for delete/insert character/line in V1.8.0. Please test.

This works as intended, however I was thrown a bit on the set up in turbo pascal --- but it was completely my fault.   I was using esc [2K to clear a whole line instead of esc[1M for erase line (scroll up).   The documentation is clear I was not reading for detail.  Another thing that kind of threw me but I fixed it, was that the standard text mode by default is 80x30 and not 80x25... so I was having issues with the whole screen being filled, after I referenced the chart in README_ADD.md (again which was very clear), I had no issues determining the screen dimensions.  Thank you again for all your help! 👍   I'm going to try do do a small video on the latest updates to the terminal so I can showcase them over my holiday.  I should have a few moments to shoot and some time to edit on Monday hoping to have it up by Wednesday.


#86 add-floyd-warshall-algorithm-in-java

IMPORTANT: Please do not create a Pull Request without creating an issue first.
Any change needs to be discussed before proceeding.
Description
Added Floyd-Warshall algorithm in Java
Related Issue
#86
Types of changes
What types of changes does your code introduce? Put an x in all the boxes that apply:

[ ] Bug fix (change which fixes an issue with the algorithm)

[x] New Algorithm (non-breaking change which adds functionality)

[ ] Documentation

Checklist:
Go over all the following points, and put an x in all the boxes that apply.
If you're unsure about any of these, don't hesitate to ask. We're here to help!

[x] My code follows the code style of this project.

[ ] My change requires a change to the documentation.

[x] I have updated the documentation accordingly.

[x] I have read the CONTRIBUTING document.

#86 group graphs algo by folder


Resolve sub-folders for local filesystem on FilesystemAdapter.

Replica of #17099
Problem
When defining multiple local file system in different sub-folders of public/, the Storage::url() method will not resolve the correct file path even if specified a disk: Storage::disk('disk-name')->url('file');.
The follow scenario shows this.
Example
        'attachments' => [
            'driver' => 'local',
            'root' => storage_path('app/public/attachments/'),
            'visibility' => 'public'
        ],

        'images' => [
            'driver' => 'local',
            'root' => storage_path('app/public/images/'),
            'visibility' => 'public'
        ],

Currently, we need to grab the URL for a file like this: Storage::url('images/file.png'); or Storage::url('attachments/file.png'); while with the proposal change it would be possible for this: Storage::disk('images')->url('file.png'); or Storage::disk('attachments')->url('file.png');, where each file.png will be different files in their respective storage.
Conclusion
When working with local file system, the url method will only prepend the folder '/storage/' to the specified path of the file. In the event of the developer specifying multiple local storage and each one having it's own sub-folder in the public folder, the url() method will not correctly resolve the file even if a disk is specified.

Honestly rather than jumping through all these hoops to correctly determine this, just use the url option on the disk config.

If by hoops you mean chaining the disk() call before url(), the url config won't change that since Storage::url('file.png'); will just return /storage/file.png since the default disk is the local one.
        'attachments' => [
            'driver' => 'local',
            'root' => storage_path('app/public/attachments/'),
            'visibility' => 'public',
            'url' => getenv('APP_URL') . 'storage/attachments/'
        ],

        'images' => [
            'driver' => 'local',
            'root' => storage_path('app/public/images/'),
            'visibility' => 'public',
            'url' => getenv('APP_URL') . 'storage/attachments/'
        ],

Granted, the usage intended from this PR can be achieved by relying on APP_URL env variable combined with setting the url config for each local disk individually. Without the APP_URL variable the path could diverge between development and production.
This just makes it easier without relying on full URL settings for each storage disk.


Expose a new InjectionPoint that can be used in Guice providers.

API | Common
This adds a new InjectionPoint type that can be injected by Guice, it comes with a fix that is implemented in the Common.
The API side of the issue will be on hold for now, once https://github.com/google/guice/issues/1121 is resolved can we safely include this.

If this API PR still on hold?


Feature Request: pwsh -x flag

Posix shell
Posix shells have very helpful -x cli flag. It could be also enabled inside script code with line 'set -x'. It shows commands as they are exactly executed
Example shell code
% cat hello.sh
#!/bin/sh

set -x

msg="world"
echo "hello $msg"

Output
% ./hello.sh
+ msg=world
+ echo hello world
hello world

If there is something unexpected in script, then I can easily copy interesting line to another terminal and run it.
Powershell
My best finding is 'Set-PSDebug -Trace 2' function.
Example powershell code
% cat hello.ps
#!/usr/bin/pwsh

Set-PSDebug -Trace 2;

$msg="world"
write-host "hello $msg"

Output
% ./hello.ps
DEBUG:    5+  >>>> $msg="world"

DEBUG:     ! SET $msg = 'world'.
DEBUG:    6+  >>>> write-host "hello $msg"

hello world

Powershell shows lines of source code. It does not evaluate variables values. I would like to see write-host "hello world" as extra debug message.
Question
Is it possible to see executed lines of script code in powershell? Could it evaluate variables values before printing debug message about executing command? How to do it?

@krystian-wojtas you should use Trace-Command
Trace-Command -Name * -Expression {$msg="world";write-host -Message "hello $msg"} -PSHost

It does not evaluate variables values.

I thing PowerShell engine has not this explicitly as strings. I guess it is possible to enhance the engine to construct such string but only in simple cases (arguments can be complex expressions!) and this will add huge complicity in code without benefits - we can see all we need in debug and trace output.

@fmichaleczek Yes, probably it is exactly what I need. This function is also promising
Set-Tracesource
Great answer, thank you very much for it.
I couldn't find these functions by myself earlier. Then I wrote some small tool as a workaround
https://gitlab.com/krystian.wojtas/powershell-debug
It works fine for small project I take part into. Next time I will use your advices. Good to know that powershell have proper way for doing it.

@krystian-wojtas
Translation reading my post:
debug powershell script on vscode on linux：
http://bbs.chinaunix.net/thread-4299559-1-2.html


added support for environment variables in leiu of options

Support for this PR was originally articulated by @marler8997 as a // TODO on line 83.
This PR proposes a rather minor change to effectively extend the current functionality of the two existing CLI options (--install-dir and --path-link) such that they now will automatically inherit their values from environment variables (ZIG_INSTALL_DIR and ZIG_PATH_LINK, respectively). Documentation (via the help message zigup -h) was updated accordingly.

I discovered an issue with ZIG_PATH_LINK. One moment.

Disregard. It was a non-issue.


Allow re-use of buffers provided to new_with_buf

I'm working on using flate2 to add support for the deflate-based serialization formats for HdrHistogram to this Rust implementation. However, some parts of the flate2::read::DeflateDecoder and flate2::write::DeflateEncoder API are awkward for my use case.
The Deserializer struct in that library exists to let the user amortize buffer allocation costs across all deserializations (no heap allocation once steady state has been achieved), with similar goals for the serialization equivalent. The struct itself is not generic, but it has a generic deserialize method:
pub fn deserialize<T: Counter, R: Read>(&mut self, reader: &mut R)
                                            -> Result<Histogram<T>, DeserializeError>

My understanding of the DeflateDecoder API leads me towards a few options, none of which is particularly attractive:

Make Deserializer follow the same "consume the writer, then return it later" structure. This means Deserializer must itself be generified on R: Read, must always wrap a Read (which means it can't be created during startup before there might be anything to read from), etc.
Make a new DeflateDecoder for each deserialization. This spoils my hope to avoid heap allocation, but allows me to keep the Deserializer API the way it is.
Require BufRead instead of Read. That would let me create a flate2::bufread::DeflateDecoder for each deserialization, but it pushes buffer management to the user: now they have to figure out how to re-use buffers across Reads, assuming they put forth the effort to avoid the heap allocation. It doesn't look like std::io::BufReader will let you reclaim its buffer space, for instance. On the other hand, perhaps it's likely that in practice people will have a BufRead already?
Copy-and-paste flate2::bufreader::BufReader and modify it to take (and release) a Box<[u8]> (or maybe just a &mut [u8]?) and use that with flate2::bufread::DeflateDecoder.

DeflateDecoder::new_with_buf almost makes option 2 above feasible, but I can't get the buffer back out again to use it again later. So, if there was a way to either not require that the Vec be consumed (preferable, as I wouldn't have to shuffle the Vec in and out of the Deserializer struct), or at least offer a way to consume the DeflateDecoder to get the Vec back out (like into_inner() but for the buffer), that would let me keep the Deserializer API I prefer.
Surely I can't be the only one who wants this form of re-use... What do you think? Am I missing something?

Note that for maximal flexibility you can use the Decompress type to have complete control over buffer management it's just sometimes a pain to use. Otherwise though yeah seems plausible to be able to extract the buffer!

Ah, I'll look into Decompress. Thanks for the tip.

I'm going to close this for now. I think that it's possible to do what was requested using Decompress, and it's also possible to reuse (some of the) buffers with flate2 and the reset methods.


Is the HPE vendor fully functional?

Bug description
Hey,
We are about to use crucible to provision HPE servers.
Looking at the code it seems there are some places where "HPE" is missing, like in the validate_invetory role: https://github.com/redhat-partner-solutions/crucible/blob/main/roles/validate_inventory/defaults/main.yml#L13
Or in this other role: https://github.com/redhat-partner-solutions/crucible/blob/main/roles/boot_disk/tasks/main.yml
So, we are wondering if Crucible is fully functional when working with HPE servers, or it requires additional work.
Thanks!
OpenShift version
4.7
Assisted Installer version
v<IP_ADDRESS>
Relevant log output
No response
Inventory file
No response
Required statements

[X] I have removed all sensitive details from the attached logs and inventory files.
[X] I acknowledge that Red Hat does not provide commercial support for the content of this repository.
[X] I acknowledge that any assistance is offered purely on a best-effort basis, as resource permits.

hi team,
I am deploying ocp cluster 4.9 on vm's hosted on KVM.after the host discovery and validation step ,when the cluster installation starts it throws an error about the validation.On checking the assisted installer logs it shows the below errror
"build)","argv":["smartctl","--xall","--json=c","/dev/vda"],"messages":[{"string":"/dev/vda: Unable to detect device type","severity":"error"}],"
even though the vda disk is created on the vm's.
Appreciate your response if anyone faced this .

@Rajeev244 Can you make a new issue, please.


Unable to send BTC

I am trying to send my stored BTC to another wallet but I'm unable to do so. It keeps asking for an encrypt password, which I do not remember setting up. Even when I'm trying to take a backup, it shows a prompt to enter the encrypt password.
Is there any other way to send my BTC? Have I lost my precious investment? I have tried every possible password combination but have failed to unlock it as of now.
Any help would be much appreciated

If you don't remember your encrypt password then you can delete it, but for this you need to have your recovery phrase (12 words).
So, only if you have your 12 words go to Settings -> tap on your key in Crypto Wallets & Keys section -> finally tap on "Clear Encrypt Password" in Security section and re import your key.
I hope this will help.

@kritikamurari93
we have developed our own hardware for cracking all versions of bitcoin wallet password with superfast speed
and if you still has problem I can help you run it. you can find my contact details on my profile
or you can send me message in telegram: @johnjames333 or gmail<EMAIL_ADDRESS>


Add hms topic

Thank you for contributing! Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[x] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[x] Curating a new topic or collection

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288)
[ ] Content (and my changes are in index.md)

Please replace this line with an explanation of why you think these changes should be made.

Curating a new topic or collection

[x] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[x] My folder contains a *.png image (if applicable) and index.md
[x] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

Please replace this line with an explanation of why you think this topic or collection should be curated.

The #hms is a commonly used topic and has been used in 61 repositories. More and more developers will use this topic in the future, so this topic need to be curated.
Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Can you remove the changes to the PR template?

I have deleted the changes to the PR template

It looks like you deleted the template all together. Can you add it back in, without any changes? Thanks!

It looks like you deleted the template all together. Can you add it back in, without any changes? Thanks!
How can I add it back in? I didn't find the button to recover deleted files.

It looks like you deleted the template all together. Can you add it back in, without any changes? Thanks!
How can I add it back in? I didn't find the button to recover deleted files.

It looks like you'll have to either do this in the command line by checking out the file from the master branch, or, you can add another file to this PR and just copy and paste the contents of the file from master.

It looks like you deleted the template all together. Can you add it back in, without any changes? Thanks!
How can I add it back in? I didn't find the button to recover deleted files.

It looks like you'll have to either do this in the command line by checking out the file from the master branch, or, you can add another file to this PR and just copy and paste the contents of the file from master.

I add pull request template back in

OK, now that we're back to valid test failures, here is one that needs attention:
topics::hms topic#test_0024_has a valid short_description [/home/runner/work/explore/explore/test/topics_test.rb:291]:
must have a short_description no more than 130 characters (currently 152)

I have changed the short description to no more tha 130 characters

Thanks for your work on this @Mike-mei !


Add name to model and set it when loading a urdf file.

Useful when one does not known which robot will be loaded.

Thanks for the contribution.


start develop portable version atom

If an .atom folder is present within the installation directory it will be used.
#2939,  #3320
next steps:

add --portable flag to build script
update https://github.com/atom/atom/blob/master/src/config.coffee#L700, copy from dot-atom to portable folder, when folder missing. Mayby add to core settings portable flag when atom build?

how you look at it?

Portable version is needed.

Thanks for this pull request but since the review comments weren't incorporated I opened a new PR in #5385 that adds support for ATOM_HOME and also fixed apm to use it correctly as well.
So I'm going to close this out since portable support is now on master.

ok, sorry for the unnecessary commits, I did not have time to fix this. Thanks for the portable version


Please add camera input type for mobile app

**I'm submitting a feature request for camera input field on mobile application **  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[X ] feature request
[ ] support request

Current behavior

Expected behavior

Minimal reproduction of the problem with instructions

What is the motivation / use case for changing the behavior?

A mobile input form that can take photo with device camera
Please tell us about your environment:

Mobile phone such as Android, iOS, etc..

Angular version: 2.0.X

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Language: [all | TypeScript X.X | ES6/7 | ES5]

Node (for AoT issues): node --version =

it can be done by yourself here is a simple file input example https://formly-js.github.io/ngx-formly/examples/other/input-file


Add recommendation against using Azure A-series VMs

Fixes #1356

This change is

http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/570ce006b1957988583a82de6bf476c25c4c920d/

@bdarnell, @mberhault, this new warning only refers to corruption and performance degradation due to bad filesystems after A-series VM migrations. Should I also add details about clock issues on Azure? I may be able to piggyback on https://github.com/cockroachdb/docs/pull/1636...

We haven't had clock issues in Azure in a while. Maybe they finally rolled out their new version that was supposed to fix it?

LGTM

Review status: 0 of 4 files reviewed at latest revision, 1 unresolved discussion, all commit checks successful.

_includes/azure-warning.html, line 1 at r1 (raw file):

{{site.data.alerts.callout_danger}}On Microsoft Azure, A-series VMs can come back from VM migrations with bad filesystems, which can in turn cause data corruption and performance degradation. We therefore recommend not using A-series VMs. Instead, use D-series VMs, which have not been seen to exhibit these problems. Before using any other Azure VM series in production, you should test them extensively.{{site.data.alerts.end}}

This is not about VM migrations (that issue is common to all azure VMs. It's not data corruption, though, just a performance problem). The issue is that the local disk of A-series VMs just eats data randomly.
Actually, these azure instructions don't specify where the data lives, so they're using the root filesystem. This works (and appears to be immune to the A-series problems), but you have very limited space there. We should update the docs to discuss how to use the local disk (as well as the alternative of using premium storage. Microsoft heavily recommends this and is reluctant to provide support if you're not using it).

Comments from Reviewable

Closing. Will open another PR once the approach is clear.


[DO NOT MERGE][TEST] Testing flakiness of StreamingQueryListener

Test build #66980 has started for PR 15492 at commit 0926842.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66980/
Test FAILed.

Test build #66983 has started for PR 15492 at commit a9f9a1e.

Test build #66983 has finished for PR 15492 at commit a9f9a1e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66983/
Test FAILed.

Test build #66984 has started for PR 15492 at commit 377bd22.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66984/
Test FAILed.

Test build #66986 has started for PR 15492 at commit c07d7f8.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66986/
Test FAILed.

Test build #66993 has started for PR 15492 at commit 7569d69.

Test build #66993 has finished for PR 15492 at commit 7569d69.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/66993/
Test FAILed.

Test build #3342 has started for PR 15492 at commit 1977144.

Test build #67000 has started for PR 15492 at commit 1977144.

Could you take a look at my PR https://github.com/apache/spark/pull/15497 - sorry I didn't noticed you've already started testing this.

Test build #67000 has finished for PR 15492 at commit 1977144.

This patch fails from timeout after a configured wait of `250m`.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67000/
Test FAILed.

Test build #67042 has started for PR 15492 at commit 9638b30.

Test build #3348 has started for PR 15492 at commit 9638b30.

Test build #67042 has finished for PR 15492 at commit 9638b30.

This patch fails from timeout after a configured wait of `250m`.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67042/
Test FAILed.

Merged build finished. Test FAILed.

Test build #3348 has finished for PR 15492 at commit 9638b30.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #3350 has started for PR 15492 at commit 176960f.

Test build #3351 has started for PR 15492 at commit 176960f.

Test build #67053 has started for PR 15492 at commit 176960f.

Test build #3351 has finished for PR 15492 at commit 176960f.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67053/
Test FAILed.

Test build #3352 has started for PR 15492 at commit 176960f.

Test build #3353 has started for PR 15492 at commit 5bf08e6.

Test build #3354 has started for PR 15492 at commit 5bf08e6.

Test build #67057 has started for PR 15492 at commit 5bf08e6.

Test build #67057 has finished for PR 15492 at commit 5bf08e6.

This patch fails from timeout after a configured wait of `250m`.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67057/
Test FAILed.

Merged build finished. Test FAILed.

I am closing this. I opened a new PR for more testing of a fix - https://github.com/apache/spark/pull/15497


LogoutLink redirectTo should not update during logout

I'm trying to send certain users to specific post logout page. The problem is that during the logout the user state updates and the redirectTo value I set before logging out becomes null. I'm not seeing a way of currently doing this. I think the solution is to store the redirectTo url before logout actually happens and then use that value, rather than the value after logout. What do you think? If this seems like a reasonable path forward, I can put together a PR.

Thanks for reporting this issue. I'm going to look into it. If it is as you say, it's should probably be fixed in a few other places as well.


Refactor universe client

Partially address #323 by refactoring the way we fetch universe zip files.

@jsancio some minor comments, overall looks good.

@cruhland Updated PR. Thanks for the review!

@jsancio LGTM. I'll let you take care of squashing the commits.


Re-add *args to the view function in View classes

#4624 added a View.init_every_request attribute, but also removed the *args for the view function and MethodView.dispatch_request method.
It could cause unexpected behavior in applications or libraries that rely on the original implementation. For example, APIFlask rewrote the Flask.dispatch_request method to pass view args as positional arguments to the view function to ensure the natural order of arguments (this change broke the class-based view support https://github.com/apiflask/apiflask/issues/341).
It seems an undocumented change, and I'm not sure the motivation behind this change. Is it possible to revert it?

Views, regardless of if they are class based, only receive keyword args.

OK. Does it mean I have to rewrite the whole flask.view module in APIFlask if I want to add *args to the view function in the View class and the dispatch_request of MethodView?

No view ever received anything in *args. If it did, you were already rewriting something. I do not want to enable positional arguments in Flask itself, the intention seems to always have been keyword arguments.

I see what you're doing in APIFlask. But I think it would make just as much sense to change APIFlask instead to pass everything as keyword arguments. You can have the default arg name for query args be query, and the default name for the body be data. You can have a arg_name= argument to decorators to change what they are passed as. That way, users really don't have to worry about order.

Good idea, thanks! I will do some experiments later. In the long run, this will be a better solution.


Add: Footer for site mapping

It is important as before there was no footer on the website. This PR will be adding a footer and it will be acting as a site map along with the navbar.
Fix Issue: #1
Please, go through these steps before you submit a PR.

[x] My Pod Leader knows I'm working on this Pull Request
[x] I've explained what the Pull Request is adding.
[x] I've explained why this is important.

Preview for the footer

Another alternative

@karnikkanojia Please resolve this conflict so I can merge the PR!

@varsharathore16 you can merge the PR now


[#6018] Move Dotnet generators from Samples to "generators" - VSIX - Core Bot with Tests

Addresses #6018
#minor
Description
This PR adds the Core bot with Tests from the BotBuider-Samples repository.
Detailed Changes

Added generators/vsix-vs-win/BotBuilderVSIX-V4/UncompressedProjectTemplates/CoreBotWithTests project.
Fixed some StyeCop issues in the code.

Testing
These images show the extension being installed and the bot working as expected.

Pull Request Test Coverage Report for Build 281535

0 of 0   changed or added relevant lines in 0 files are covered.
9 unchanged lines in 5 files lost coverage.
Overall coverage decreased (-0.03%) to 78.65%

Files with Coverage Reduction
New Missed Lines
%

/libraries/AdaptiveExpressions/BuiltinFunctions/GetNextViableTime.cs
1
90.91%

/libraries/AdaptiveExpressions/BuiltinFunctions/GetPreviousViableTime.cs
1
90.91%

/libraries/Microsoft.Bot.Connector.Streaming/TaskExtensions.cs
1
82.61%

/libraries/Microsoft.Bot.Connector.Streaming/Application/TimerAwaitable.cs
2
85.71%

/libraries/Microsoft.Bot.Connector.Streaming/Application/WebSocketClient.cs
4
71.82%

Totals

Change from base Build 281321:
-0.03%

Covered Lines:
24847

Relevant Lines:
31592

💛  - Coveralls

/azp run BotBuilder-DotNet-CI-PR-(MacLinux)-yaml


Unclear license

What is the license for this repository? Is it CC0 like a few others under this account?

I have attached the BSD 2-Clause license to this repo. Sorry for the oversight!

No need for apologies. Thanks for sharing your amazing work.


Expected comma with deno bundle (GitHub Actions)

When using GitHub Actions I get an error when bundling my deno server.
Steps to reproduce
Using following yml file in GitHub Actions.
on: [push]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:

  build-and-deploy:
    runs-on: ubuntu-latest
    steps:

    - uses: actions/checkout@v2

    - uses<EMAIL_ADDRESS>      with:
        creds: ${{ secrets.AZURE_SECRET }}

    - name: Set up Deno
      uses: denolib/setup-deno@master
      with:
        deno-version: 1.0.2

    - name: Bundle and zip Deno app
      run: |
        deno bundle server.ts server.bundle.js
        zip app.zip server.bundle.js
    - name: Deploy to Azure Web Apps
      uses: anthonychu/azure-webapps-deno-deploy@master
      with:
        app-name: my-app-name
        resource-group: resource-group-demo
        package: app.zip
        script-file: server.bundle.js
        deno-version: "1.17.0"

Error
Run deno bundle server.ts server.bundle.js
Bundling file:///home/runner/work/cute-ferret-75/cute-ferret-75/server.ts
Download<EMAIL_ADDRESS>Download<EMAIL_ADDRESS>Download<EMAIL_ADDRESS>Download https://deno.land/x/smtp/mod.ts
Download https://deno.land/x/scrypt/mod.ts
Warning Implicitly using latest version (v2.1.1) for https://deno.land/x/scrypt/mod.ts
Download<EMAIL_ADDRESS>error: Expected Comma, got Some(Colon) at https://deno.land/x/djwt@v2.2/mod.ts:73:10
Error: Process completed with exit code 1.

Why do you think this is caused by djwt?

I'd note that the version of Deno being used to bundle is very old 1.0.2 and there have been several breaking changes since its release. Perhaps contributing?
https://github.com/denoland/deno/releases

Sorry, didn't see that ... thank you for the heads up!


Bad request

Hi,
I tried to run your code in SF 2.8, but when I'm logged in, and I visited /u2f_register
I have u2fError=2 / bad request.
Application is running via HTTPS and I have not idea what is wrong...
I'm trying to use Yubikey 4, but the application does not communicate with the device U2F.
Below log:
[2016-12-08 22:56:47] request.INFO: Matched route "app_default_index". {"route_parameters":{"_controller":"AppBundle\\Controller\\DefaultController::indexAction","_route":"app_default_index"},"request_uri":"https://site.localhost/"} [] [2016-12-08 22:56:47] security.DEBUG: Read existing security token from the session. {"key":"_security_main"} [] [2016-12-08 22:56:47] doctrine.DEBUG: SELECT t0.username AS username_1, t0.username_canonical AS username_canonical_2, t0.email AS email_3, t0.email_canonical AS email_canonical_4, t0.enabled AS enabled_5, t0.salt AS salt_6, t0.password AS password_7, t0.last_login AS last_login_8, t0.confirmation_token AS confirmation_token_9, t0.password_requested_at AS password_requested_at_10, t0.roles AS roles_11, t0.id AS id_12 FROM fos_user t0 WHERE t0.id = ? LIMIT 1 [2] [] [2016-12-08 22:56:47] security.DEBUG: User was reloaded from a user provider. {"username":"dsa","provider":"FOS\\UserBundle\\Security\\EmailUserProvider"} [] [2016-12-08 22:56:47] security.DEBUG: Stored the security token in the session. {"key":"_security_main"} []
When I type the name of the device and I click enter, I get:
$response of doRegister() method only accepts object..
Could you provide an example of how to correctly implement this bundle?

u2ferror = 2 sounds like an error with your appId. Are you using localhost, <IP_ADDRESS> or anything else?

Thanks for reply.
I am using own local domain via dnsmasq, but I also tried with pure 'https://localhost/' without subdirs etc.. I added SSL cert as trusted.
Here's more info:
data-request="[{"version":"U2F_V2","challenge":"JL0EHLXkQaUqGk1JfQe7flgOQIw9T7ZGgKLZhZ7eyiQ","appId":"https://domain.dev:443"},[]]"

That's the problem: https://domain.dev:443. The port isn't allowed. I created a fix for that: https://github.com/darookee/u2f-two-factor-bundle/pull/16


Support pixel-based case list column widths

http://manage.dimagi.com/default.asp?169125
J2ME doesn't actually support pixel-based columns, but it should still handle percentage-based ones.
Cross-requested with commcare and commcare-odk

https://github.com/dimagi/commcare-odk/pull/314
https://github.com/dimagi/commcare-odk/pull/314


Handle relative path for command

It would be glad to allow relative path on command property.
Ex.
command=..\myApp.exe
or eventually:
command={solution_directory}\myApp.exe
so the project source files can be placed on different paths.
Thanks

Hi, thanks for the feedback. I've just uploaded a new version of the extension (v1.5) that allows {solution_directory} to be used in the command field. Hope this works OK for you!
If you run into any issues feel free to re-open this issue.


WriteTo.Seq(..) doesn't respect MinimumLevel.Override

I'm configuring Serilog with Seq like that:
hostBuilder.UseSerilog((builder, loggerConfiguration) =>
            {
                var env = builder.HostingEnvironment;
                var seqConfig = builder.Configuration.GetSection("Seq");

                var loggingLevelSwitch = new LoggingLevelSwitch();

                loggerConfiguration.MinimumLevel.ControlledBy(loggingLevelSwitch)
                                   .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
                                   .MinimumLevel.Override("BeatPulse", LogEventLevel.Warning)
                                   .Enrich.FromLogContext()
                                   .Enrich.WithMachineName()
                                   .Enrich.WithEnvironmentUserName()
                                   .Enrich.WithProperty("Environment", env.EnvironmentName)
                                   .WriteTo.Console()
                                   .WriteTo.Seq(url ?? seqConfig["Url"], apiKey: apiKey ?? seqConfig["ApiKey"], controlLevelSwitch: loggingLevelSwitch);
            });

The console sink respects the override and doesn't prompt messages from Microsoft and BeatPulse.
Unfortunately the Seq-Sink does not.
I'm not sure if it's a wrong config or it isn't supported yet?

Hi @stephanprobst, thanks for the note.
Not sure what could be happening here - the minimum level overrides are completely governed by the logging pipeline, not the sink. The sink will just store whatever log events reach it - so generally the Seq sink and console sink will show exactly the same thing in this configuration. Can you spot any other clues?
Cheers,
Nick

Hey @nblumhardt ,
thank you for your quick reply. I tried to do it in ConfigureLogging extension and set Log.Logger and builder.ClearProviders().AddSerilog(..) explicit instead of UseSerilog(..) and the overrides are still ignored in Seq while the output is omitted on the console.
But with your explanation it would be weird to have such a behavior. So it has to be something on my side.
To make it clear: The overrides should be applied when the levelSwitch has a lower LogEventLevel?
The whole Enrichers are applied to the seq output but the MinimumLevel seems to be ignored.

Thanks for the follow-up; I'm still scratching my head on this one, I'll try to reproduce it here 👍

Hey @nblumhardt ! I finally found it.
We had multiple clients which logged to the same seq instance (which wasn't intended in this case). It resulted in a view where you could think that the logging doesn't work. Infact I looked at messages from a different client.
So I have to apologize. It was all my fault. Many thanks for your help and work!

Awesome, glad it turned out to be something simple 👍


⚠ Samsung has degraded performance

In 06c3c27, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2000 ms

Resolved: Samsung performance has improved in e833ae1.


Ported mathematical special functions

Description
Ported mathematical special functions

Type of Change

[ ] ✨ New feature (non-breaking change which adds functionality)
[ ] 🛠 Bug fix (non-breaking change which fixes an issue)
[ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🧹 Code refactor
[ ] ✅ Build configuration change
[x] 📝 Documentation
[ ] 🇺🇸 Translation
[ ] 🗑 Chore

Please update the branch, then we will rebase it:
https://stackoverflow.com/questions/50012036/github-cant-rebase-my-feature-branch-this-branch-cannot-be-rebased-due-to-con


Return early on invalid data

Should fix:
addons/acf-3-missiles/lua/entities/acf_rack/init.lua:63: attempt to index local 'Rack' (a nil value)
   1.  __index - [C]:-1
    2.  UpdateRack - addons/acf-3-missiles/lua/entities/acf_rack/init.lua:63
     3.  Update - addons/acf-3-missiles/lua/entities/acf_rack/init.lua:247
      4.  Update - addons/acf-3/lua/acf/core/classes/entities/registration.lua:131
       5.  LeftClick - addons/acf-3/lua/acf/menu/tool_functions.lua:432
        6.  unknown - gamemodes/sandbox/entities/weapons/gmod_tool/shared.lua:220

Didn't test the code, but i don't see harm in this.

Would it be possible for you to know which Rack ID is being given to it? That error shouldn't happen since that field has to be verified beforehand, so it's a flaw on the Data verification function.

Entity = Entity [845][acf_rack]
Data   = {
  Fuze = "Contact"
  PlateSizeY = Number [24]
  FillerRatio = Number [0]
  Propellant = Number [0.01]
  Projectile = Number [18]
}

is all i got

Sorry for the inconvenience, it was my fault. Fixed on 63a95e1.


[Grid] Incorrect layout of nested containers

[X] The issue is present in the latest release.
[X] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯

There is one column of items.
Expected Behavior 🤔

There should be two columns of items.
Steps to Reproduce 🕹

See the codesandbox: https://codesandbox.io/s/empty-river-1l371?fontsize=14&hidenavigation=1&theme=dark
Steps:

Create a Grid container with direction row.
Nest two Grid item/containers with direction column.
Nest Grid items in the column containers. There should be two columns of items, but there is one.

Context 🔦

A workaround is to nest containers in items
<Grid container direction="row">
  <Grid item>
    <Grid container direction="column">
      <Grid item>1</Grid>
      <Grid item>2</Grid>
    </Grid>
  </Grid>
  <Grid item>
    <Grid container direction="column">
      <Grid item>3</Grid>
      <Grid item>4</Grid>
    </Grid>
  </Grid>
</Grid>

but it would be cleaner to specify item and container with one Grid component.
Your Environment 🌎

Tech
Version

Material-UI
v4.9.2

React
v16.12.0

Browser
Safari v13.0.1

By definition, adding container to a grid element makes its width 100%. The fact that you don't have wrap="nowrap" on the outermost grid element gives you this (expected) behavior.
To acheive the result you want, you shouldn't add the container attribute:
    <Grid container direction="row">
      <Grid item direction="column">
        <Grid item>1</Grid>
        <Grid item>2</Grid>
      </Grid>
      <Grid item direction="column">
        <Grid item>3</Grid>
        <Grid item>4</Grid>
      </Grid>
    </Grid>

This is something take bothers me aswell, but it's how the CSS was declared for Grid.

Ok.

This should be stated in documentation in nested grid section https://material-ui.com/components/grid/


Handle filenames for basic streaming transfer adapter.

This is a possible solution to issue #67. I have valued the opportunity to dig into giftless and understand how it works a bit.  I don't know if this PR is useful or not, but I'd find your review and otherwise proposed solution really interesting to understand.
Some thoughts:

I've used the GET args to wrap up the filename into the download url returned by batch.
From what I can see there are no tests for basic streaming transfer adapter to update?
There is a small amount of reuse of code from here.  It's only a few lines, but could be refactored.  Just wasn't sure where would be best to put it?
The Content-Type header is still not set.  I think this would probably require a PR to ckanext-blob-storage as well, so that the content type and filename are both passed through to the giftless batch request?

So clearly, from the github actions, there are some tests that I have missed and I should look at... I'll dig into this.

@shevron Thanks for the great feedback - really helpful.  I'm hoping I've resolved most of the issues.  The only one I remain unsure of is whether and how we should be checking that the filename is safe to return in the Content-Disposition header.

Looks great. I think we can be less strict with filename sanitisation - there is really no problem with many "special" characters like space, plus, @ and others, which may appear in file names, as long as it can't be used to inject something into the HTTP headers (so newlines, semicolons, double quotes). Moreover, non-latin characters (umlauts, Cyrillic, Hebrew, Arabic etc. etc. ...) are perfectly safe and common for international users. If the entire file name is in Japanese, users may end up with an empty filename here.
But - I think this version is better than what we have, so I'm merging it, and we can open a new issue to be fixed at some point in the future re allowing more characters in file names.

@jonathansberry see #70 if you have time / wish to further improve this


Replace travis with github actions

Fixes #130.

Thanks for the approval. I'm still testing some more changes to the workflow so don't merge it yet :)

Seems like we have all the functionality we had with the travis build now, going to merge it.


[Feature] Glowing cursor

Description
I want to add glowing cursor into our project using html,css
Screenshots
https://github.com/Rakesh9100/Beautiify/assets/131646799/e117e2bd-7962-4b48-bcfb-10b6f4e1480f
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

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

Do you want to add this as a component or implement on the main website @VaishnaviMankala19

@Rakesh9100   I want to add it as a component

In which category will you add it @VaishnaviMankala19

@Rakesh9100 can I add it by creating a separate folder as Cursor(component)

It is already created, you can add your component in Cursors category @VaishnaviMankala19

Provide your PR @VaishnaviMankala19


TypeError: Cannot read property 'split' of undefined

Describe the bug
To Reproduce
Expected behavior
Screenshots
Applicable Versions:

Netlify CMS version<EMAIL_ADDRESS>Git provider: git-gateway
Browser version: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36

CMS configuration
publish_mode: editorial_workflow
slug:
  encoding: unicode
  clean_accents: false
  sanitize_replacement: "-"
backend:
  name: git-gateway
  branch: master
media_folder: assets/images
collections:
  - label: Site Settings
    name: settings
    editor:
      preview: false
      delete: false
    files:
      - label: Site Info
        name: site_info
        file: _config.yml
        fields:
          - label: Website Name
            name: name
            widget: string
            required: true
          - label: Title
            name: title
            widget: string
            required: true
            hint: "Ex: Same as your site name."
          - label: Description
            name: description
            widget: string
            required: false
            hint: This will show in search.
          - label: Upload Logo
            name: logo
            widget: image
            required: false
            hint: 36px*36px Recommended
          - label: Baseurl
            name: baseurl
            widget: string
            required: false
            hint: Name of folder where files are stored.
          - label: Favicon
            name: favicon
            widget: image
            required: true
          - label: Google Analytic code
            name: google_analytics
            widget: string
            required: false
            hint: "Ex: UA-xxxxxxxx-1"
          - label: Disqus Shortname
            name: disqus
            widget: string
            required: true
            hint: https://disqus_shortname.disqus.com
          - label: Mailchimp List
            name: mailchimp-list
            widget: string
            required: false
            hint: https://wowthemes.us11.list-manage.com/subscribe/post?u=8aeb20a530e124561927d3bd8&id=8c3d2d214b
          - label: E-mail
            name: email
            widget: string
            hint<EMAIL_ADDRESS>          - label: Googe Adsense
            name: adsense
            widget: object
            fields:
              - label: Status
                name: status
                widget: select
                options:
                  - label: Enable
                    value: enabled
                  - label: Disable
                    value: disabled
                default:
                  - label: Disable
                    value: disabled
                required: true
              - label: Adsense Data Ad Client
                name: adsense-data-ad-client
                widget: string
                hint: "Ex: ca-pub-3412143450191416"
                required: false
              - label: Adsense Data Ad Slot
                name: adsense-data-ad-slot
                widget: string
                hint: "Ex:<PHONE_NUMBER>"
                required: false
          - label: Lazy Images
            name: lazyimages
            widget: select
            options:
              - label: Enable
                value: enabled
              - label: Disable
                value: disabled
            default:
              - label: Disable
                value: disabled
            required: false
          - label: Author Box
            name: authorbox
            widget: select
            options:
              - label: Enable
                value: enabled
              - label: Disable
                value: disabled
            default:
              - label: Disable
                value: disabled
            required: false
          - label: Menu
            name: menu
            widget: list
            required: false
            fields:
              - label: Title

...

Hi @muhammedashfar7, can you share more information on the issue you're having? Specifically can you share a reproduction scenario?

Hi @erezrokah , I have solved the issue. Thank You

Thanks @muhammedashfar7, I'm closing this. Please share the solution if possible

When adding widget: "relation" in Netlify config.yml, don't forget to add valueField: "[your_value]"


⚠ Bofrost.be has degraded performance

In 9ba5d1d, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1317 ms

Resolved: Bofrost.be performance has improved in de00b72.


[FEATURE] taiga-ui & ngx-formly

🚀 Feature request
Describe the solution you'd like
Hello, I would like to use ngx-formly.
Additional context
ngx-formly is an angular library which dynamically generates a form based on a given object model (see example here).
It currently supports the following ui-themes: bootstrap, material, ionic, primeng, kendo, nativescript.
Main question
Would you be interested to add taiga-ui support to angular formly? I would love to help.

@RobotCherries I have partially already done this for my needs and could release this but I have very little time to do this, I am happy to share the code in a repo and give you commit rights.
Taiga is a bit different due to everything being a component i.e. a label is either a string or a component displayed via a polymorphous outlet so it needed a bit of massaging to fit into the Formly structure where Formly expects string for everything.  However, it is working nicely at the moment

@jonsamwell Hey, sorry for the late reply. Tomorrow I'll starting to dig trough the code and try to merge the two.

I have partially already done this for my needs and could release this but I have very little time to do this, I am happy to share the code in a repo and give you commit rights.

And Yes, if you could share the code of what you've done so far, that would be amazing! 💯

Taiga is a bit different due to everything being a component i.e. a label is either a string or a component displayed via a polymorphous outlet so it needed a bit of massaging to fit into the Formly structure where Formly expects string for everything. However, it is working nicely at the moment

Ok, interesting solution, it turned out pretty neat 👍

Also, I notice there are slight style differences, are those some of your custom styles?

@waterplea Aw, that would be even better!

 Also they do not seem to have the resources to extend functionality, release and maintain the library, unfortunately :(

Oh well then. I guess that the best idea would be to build upon @jonsamwell's solution.

Since there are no plans to add official support at this time, I'm closing this issue. If somebody makes one, for example, based on messages above, please share it here.


Enable Moving Breakpoints by Drag and Drop

Feature Request: Enable Moving Breakpoints by Drag and Drop
Summary
Allow users to move breakpoints to a different line within the same file by dragging and dropping them. This would improve usability when managing breakpoints, especially complex ones with conditions or hit counts.
Problem
Currently, to change the line of a breakpoint, users need to delete it and manually add it to a new line. This can be cumbersome, particularly when the breakpoint has custom conditions or hit counts that need to be reconfigured.
Proposed Solution
Enable drag-and-drop functionality for breakpoints. Users should be able to:

Click and hold on a breakpoint marker in the gutter.
Drag the marker up or down to a new line within the file.
Drop the marker to move the breakpoint, preserving all associated properties (e.g., conditions, hit counts, log messages).

Benefits

Reduces friction during debugging sessions.

Additional Considerations

Handle cases where the new line is invalid for a breakpoint (e.g., blank lines or comments) gracefully by either disallowing the drop or moving to the closest line.

https://github.com/microsoft/vscode/issues/88227

Old popular request :)


[Feature Request] Background Tasks

Is your feature request related to a problem? Please describe
With Offline fleet, data nodes and Offline Fleet nodes itself can submit background tasks to Offline Fleet. At any point, the no of Tasks submitted might be too much for available nodes in the Offline Fleet to distribute amongst themselves.
Even if we do try to assign a task to a particular node right after its submitted, the node may or may not have resources at that time to start the task and would need to put it into a “Queue”. Apart from that, if the node goes down, and this Queue is not persisted in Remote, all those tasks in Queue are lost.
Describe the solution you'd like
To support various background tasks to be run on dedicated/separate fleet of nodes, we need to explore and propose ideas around how to model tasks and submit for execution of the dedicated fleet
RFC - https://github.com/opensearch-project/OpenSearch/issues/12361
Related component
Storage
Describe alternatives you've considered
No response
Additional context
No response

Design Details outlined in https://github.com/opensearch-project/OpenSearch/issues/13554

@linuxpi do we need to move this to 2.17?


Sub-Task 18.2: Podcasts are shown based on filters

Task: The podcasts are then listed based on the advanced searching filter.

Deleting issue, linked to US#18


Figure out why kafka is forgetting offsets

Looks like we get triggered re-downloads of everything about once a day. From my e-mail to Ben Rusholme:
> On May 21, 2018, at 10:34 , Rusholme, Benjamin (Ben) =
<EMAIL_ADDRESS>wrote:
>
> Hi,
>
> Nope, I don't see anything obvious.
>
> The cron job to clean up empty topics runs at 10am. ztf_20180518_* was
just deleted, but there's log activity for ztf_20180520_*?
>

Yeah, it's strange -- it's re-downloading 20_*, while 19 and 21 are
fine. And that seems to fit the pattern from the last few days.

Take a look at https://status.ztf.mjuric.org/  -- the same happened yesterday,
with the 19_* topics. (the "Incoming alert rate" plot is most informative). Data
prior to May 20th is unreliable as I was simulating various error conditions, but
I see a similar blip on May 18th, with the 17_* topics. I don't see it earlier
than that, though.

(n.b. -- this dashboard is actually monitoring a broker downstream from
epyc.astro.washington.edu, but I verified the same happened on epyc,
which has a direct connection to IPAC).

Cheers,
- M.

> B
>
>> On May 21, 2018, at 10:24 AM, Mario Juric
<EMAIL_ADDRESS>wrote:
>>
>> Hi Ben,
>>
>> I'm monitoring/debugging the UW broker & I noticed it's started
downloading alerts from the ztf_20180520_* topic this morning around
10am (some 20 minutes ago). It /seems/ it's re-downloading the topic --
looks like the total number of alerts on topic are the same, it's as if
MirrorMaker forgot its offset just for this topic. Before I try to track
down the issue on our end, do you know if there's anything on your end
that could have triggered it?
>>
>> Cheers,
>> --
>> Mario Juric,
>> Associate Professor of Astronomy,     University of Washington
>> WRF Term Chair and Sr. Data Science Fellow, eScience Institute
>> Web : http://research.majuric.org      Phone : +1<PHONE_NUMBER>
>>
>

I think I have a hypothesis what's going on here, and it will require you changing a setting at IPAC:
Symptom:

Every ~24hrs our broker starts re-downloading all kafka topics from the IPAC source, except the most recent night.

Hypothesis:

Kafka consumers (the "new style" ones) store offsets (i.e., the ID of the last message they've consumed) on the kafka server itself. They do so by committing a message into a special topic on the server.
We use MirrorMaker to copy data from IPAC to UW. MirrorMaker will consume a certain number of messages from a topic, then commit the ID of the last message, then go back to consuming. If there's nothing to consume, MirrorMaker will sit idle. While sitting idle, (I assume) it won't commit new offsets, as no new messages have been read.
The topic to which the offsets are stored on the kafka broker has a data retention timeout (offsets.retention.minutes). Any messages on that topic, older than that timeout, will get discarder. By default, that timeout equals to 1440 minutes (==24 hrs).
Our topics are per-night. After they receive their nights data, no new data is (typically) written to them. Therefore, MirrorMaker makes no new offset commits for those topics. Therefore, after 24hrs, the stored offset commits expire.
MirrorMaker eventually notices that the offsets have expired (actually, it sees there are no offsets), and interprets that as not having seen any commits on those topics. Therefore, it dutifully re-reads everything.

I think this explains the observed behavior. The way to resolve the issue is to change offsets.retention.minutes in Kafka's server.properties to be longer than the retention time of any topic (so that it expires after the topic in question has already been removed).

Kafka are already aware of the issue: https://issues.apache.org/jira/plugins/servlet/mobile#issue/KAFKA-3806

Also: https://cwiki.apache.org/confluence/display/KAFKA/KIP-211%3A+Revise+Expiration+Semantics+of+Consumer+Group+Offsets

Changing offsets.retention.minutes fixed it.


Bugfix/lab upgrading disallow researching

Bugfix to https://github.com/lanedirt/OGameX/issues/181
Changes:

Refactor object building requirements check. Split object requirements met check to different functions: base, with previous levels and with items in queues.
Disallow research when Research Lab is upgrading.

TODO;

[x] check Research Lab upgrading from all planets, not only from current planet
[x] disallow Research Lab upgrading when research is in progress.
[ ] disable all Research Lab upgrade buttons when research is in progess
[ ] fix multiplanet research cancellation bug

Hi @lanedirt,
Please check this object requirement check refactoring and fix to research lab upgrading PR when you have time.
Both cases, researching and research lab upgrading, should be covered and I have also included feature tests for both cases.

Hi @rautamik,
Thanks for your work on this! I just tested it on my local environment and looks very good overall, but I did notice two small things, see below. I also glanced over the code and it looks good to me. 👍  Also major thanks for taking the time to add the feature tests, that will surely help out with future changes or refactoring if needed!
Here are the two things I noticed:

Resarch lab buttons are not all disabled
When research is being carried out, the research lab shows the "Research is being carried out" which is good. However the upgrade button is still active for the "quick upgrade" and the normal upgrade buttons. I would expect these two buttons to be disabled as well:

Trying to build research lab results in research itself getting canceled
An additional strange thing I encountered after playing with it a bit is the following:

Start research on planet A
Switch to planet B
Attempt to upgrade the research lab. The research lab itself is grayed out but because the "build" button still being pressable (related to first issue mentioned above). When I press the build button nothing happens, i.e. the research lab doesn't get added to the queue which is good. However what I noticed is that after this action the actual research that was in progress is also canceled. I would expect the research to stay in the queue and not be affected. Note: this only happened to me when I try to build the research lab on a different planet. If I do both things on the same planet this issue doesn't happen.

Hi @lanedirt,
Thanks for testing and providing feedback.
I should have noticed that Improve button needs to be disabled, I have now committed changes to disable it. I didn't even know about the quick upgrade button, thanks for pointing out this. I have also fixed this issue.
Regarding the second issue, canceling the research, I was not able to reproduce it when the Improve button was still visible. Like you said, nothing happens to the Research Lab when it's tried to upgrade during the research, and that is because there is sanity check when build queue item is started. I was trying it by researching Energy Technology level 5 in planet A and trying to upgrade Research Lab level 3 to level 4 in planet B. Research should get cancelled only if requirements are missing so I wonder if there is something like it happens when specific level of Research Lab is being cancelled or something like that. In any case it should be possible to happen when players cannot start upgrading, when all buttons are properly disabled. I wonder if we could skip this issue, what you think?

Hi @lanedirt,
Thanks for testing and providing feedback.
I should have noticed that Improve button needs to be disabled, I have now committed changes to disable it. I didn't even know about the quick upgrade button, thanks for pointing out this. I have also fixed this issue.
Regarding the second issue, canceling the research, I was not able to reproduce it when the Improve button was still visible. Like you said, nothing happens to the Research Lab when it's tried to upgrade during the research, and that is because there is sanity check when build queue item is started. I was trying it by researching Energy Technology level 5 in planet A and trying to upgrade Research Lab level 3 to level 4 in planet B. Research should get cancelled only if requirements are missing so I wonder if there is something like it happens when specific level of Research Lab is being cancelled or something like that. In any case it should be possible to happen when players cannot start upgrading, when all buttons are properly disabled. I wonder if we could skip this issue, what you think?

Hi @rautamik,
Thanks for the fixes! I'll try to test the new version again later today.
Regarding the issue: ah yes I guess the level of the research lab might be the cause then. My planet B was empty, so when I tried to upgrade the research lab it was from level 0 to level 1. And after canceling the upgrade, the research lab on that planet is too low for the research in the queue (because level 0) so it cancels the research itself too.
I agree that if the upgrade button now disabled fixes this problem we can leave it at this. I'll double check this on my end in my tests later. 👍
Thanks again for your work 😄 !


getTasklistToken leaves a handle open

When calling getTasklistToken, a handle is left open.
Example:
This test calls getTasklistToken under the covers. When running the test locally, Jest gives an error about the handle left open by getTasklistToken:

The above output as text, in case that's useful:
❯ npm run test

><EMAIL_ADDRESS>test
> jest --detectOpenHandles --runInBand --forceExit

 PASS  src/__test__/test.spec.ts (14.538 s)
  TasklistApiClient
    ✓ can request all tasks (12021 ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        14.673 s
Ran all test suites.

Jest has detected the following 1 open handle potentially keeping Jest from exiting:

  ●  Timeout

      65 |
      66 |   private async getHeaders() {
    > 67 |     const token = await getTasklistToken(this.userAgentString);
         |                                         ^
      68 |     return {
      69 |       'content-type': 'application/json',
      70 |       authorization: `Bearer ${token}`,

      at OAuthProviderImpl.startExpiryTimer (node_modules/camunda-saas-oauth/dist/lib/OAuthProviderImpl.js:195:28)
      at OAuthProviderImpl.fromFileCache (node_modules/camunda-saas-oauth/dist/lib/OAuthProviderImpl.js:160:18)
      at OAuthProviderImpl.<anonymous> (node_modules/camunda-saas-oauth/dist/lib/OAuthProviderImpl.js:88:42)
      at node_modules/camunda-saas-oauth/dist/lib/OAuthProviderImpl.js:31:71
      at Object.<anonymous>.__awaiter (node_modules/camunda-saas-oauth/dist/lib/OAuthProviderImpl.js:27:12)
      at OAuthProviderImpl.getToken (node_modules/camunda-saas-oauth/dist/lib/OAuthProviderImpl.js:82:16)
      at getTasklistToken (node_modules/camunda-saas-oauth/dist/lib/Tasklist.js:18:34)

Details
As discussed in person with @jwulf, the cause of the open handle is the starting of a timeout so that the token can be evicted from the cache after it expires. To fix this open handle, it might make sense to evict tokens from the cache upon request, if they've exceeded their expiration, instead of using a timer.

This is fixed in the new client: https://github.com/camunda-community-hub/camunda-8-js-sdk


selecting past viewport mirrors cursor

Description
happens when spawning entities
i dont think theres any game breaking issues but it sus
Reproduction

f5
select vim
sus

Screenshots

The wrapping behavior comes from SingularityOverlay.OnProjectFromScreenToMap (introduced in #13925) and seems to be correct/necessary in the presence of a singularity.
A reasonable fix might be to ignore mouse movement in the placement modes if it's not inside both the viewport UI element and the viewport draw box.


The loading arrow circle rotates against arrow directions (backwards)

The loading arrow circle rotates against arrow directions (backwards)

Closing this because the issue has already been fixed!


[FEATURE_REQUEST] Stay connected (when auth activated), 2FA auth, log file for connection attempt

Hello,
I would like to propose some feature request.

When I choose an authentification with auth and a sha256 hash, I get disconnected after a too short delay (somes minutes) : I see that when I refresh the page after some minutes without activity.
So, could you add a checkbox to stay connected ?

Could you add a 2FA authentification ?

Could you add a log file in a mounted folder in order to store any failed authentification attempt with IP, time etc... I want to use fail2ban to ban after some retries...
For now, I can't expose the service with a domain name because of the lack of security...

I hope those would be implemented soon 😃
Thanks for reading and considering those features 😊

Salut,
As tu lu https://github.com/Lissy93/dashy/blob/master/docs/authentication.md#security
Tu verra que la page de login de Dashy n'est pas a l'epreuvre des balles du fait de ca conception et qu'il est recommandé d'utiliser autre chose comme Authelia, ngnix,. ..
Translate :
Hi,
Have you read https://github.com/Lissy93/dashy/blob/master/docs/authentication.md#security
You will see that Dashy's login page is not bulletproof due to this design and that it is recommended to use something else like Authelia, ngnix ,. ..

@EVOTk
Salut ✋🏻
Oui j'ai lu cette page, mais ça me semble un peu complexe à mettre en place pour moi...
Faut que tu fasses un tuto détaillé 😄
Translate :
Hello ✋🏻
Yes I read this page, but it seems a bit too complicate to set it up for me...
You have to made a detail tuto 😄

Hi @MilesTEG1 - thanks for raising this :)
I've added an option for you to select how long the session should last before expiring in #66
This is what it looks like:

Unfortunately your other two requests are outside the scope, so I won't be implementing them at this time. I recommend implement this on your server instead.
@EVOTk recommend Authelia, which can be used in conjunction with your reverse proxy (like NGINX, Traefik, etc). It supports 2-Factor authentication, and you can use it globally across your lab, so should be much more convenient. I found this video by Techno Tim very useful for getting started.
Just to reiterate, if your dashboard is exposed to the internet and/ or contains any sensitive data, you should not rely on Dashy's login page. It is handled on the client-side, which means it is possible for an attacker to potentially reverse-engineer. It's definitely better than nothing, but is really intended for use within the safe walls of your local network, to restrict access for those who share your server.

Thanks for the answer.
I think I let Dashy stay inside my LAN only... not expose to internet with a domaine name.
Implementing Authelia on my NAS would be too complicated for me...
I use the DSM reverse-proxy (based on nginx), but I don't have completly the hand on it...
So for now, I'll stick with basic auth :)
But, could it be possible to have a connection log (in a .log file accessible with a volume) (failed one, successfull one) to have my fail2ban container working on it ?

I'm not sure about the connection log. The login is very simple, and I don't want to over-complicate things, and risk increasing the attack surface. A connection log would involve writing to a file, and if that's done by an unauthenticated user it could be abused by an attacker. This is because unlike server-side apps, Dashy is mostly a frontend app, and so it's possible to use the browsers dev tools to intercept and modify requests.
At the end of the day, I think most users who will want these kind of features will use a different authentication method. Sorry about that. But if you've got it within your LAN, then why don't you restrict which IPs can access Dashy instead? Say only allow access from yourself, do it on your web server, and it will be quite safe.

Hey @MilesTEG1 - Sorry I forgot to update you sooner, but just to let you know that both 2-factor auth and failed attempts logging is now implemented, though integrating with Keycloak. You can learn more about how to set this up it in the authentication docs.
Keycloak also allows for SSO, plus many more features than I could ever feasibly implement with Dashy's basic auth, and since it's handled server-side it is also more secure too. Feel free to reach out if you have any more questions :)

Hello @Lissy93
Great news, I'll go check the doc to see how I can set it up :)
But I don't know what is Keycloak...
Thanks for the heads-up :)

It seems a bit too complicated for me...

Ah ok, no worries :)
Is it because the docs aren't clear enough, or just because there's more things to setup versus the basic auth?

It's more beacause there is much more to setup yes :)  And the fact that it use another service.
Maybe one day I try it :)
For now, the actual auth should be enough. I only use it on my LAN, and with the reverse proxy with Access Control limited to the LAN IP and my VPN IP.
I wonder if it could be possible to extend a little bit the remember me values :)


Unique email for Report Issue button per Application

Different apps are created by multiple users. The Report Issue configuration currently only allows users to send feedback to a single email. It would be more ideal to define a feedback email per app. When that app is launched, it will use the app specified email configuration . If there is no app configuration, email falls back to the global setting
Current feedback config
proxy:
  support:
    mail-to-address<EMAIL_ADDRESS>

Hi
This is currently not possible, but I think it can be useful so we will consider implementing this in the next release.

Hi, this is now part of the ShinyProxy 3.1.0 we released today. Thanks again for your suggestion!

@LEDfan very excited! will! will move to the new release!


Added a menu in "UI Settings" to install Batocera themes.

Requires /userdata/scripts/batocera-es-theme and Batocera 5.22+

Let me take care of the conflict and resubmit the PR.