Routes is not detected if the file is symlink

What version of Remix are you using?
1.7.5
Steps to Reproduce
Initialize the project.
npx<EMAIL_ADDRESS>create ./remix-symlink
# ? What type of app do you want to create? Just the basics
# ? Where do you want to deploy? Choose Remix App Server if you're unsure; it's easy to change deployment targets.
# Cloudflare Workers
# ? TypeScript or JavaScript? TypeScript
# ? Do you want me to run `npm install`? Yes

cd ./remix-symlink

Make routes/index.tsx symlink.
mv app/routes app/routes_orig
mkdir app/routes
ln -s ${PWD}/app/routes_orig/index.tsx ${PWD}/app/routes/index.tsx

Show detected routes
npx remix routes --json

Expected Behavior
The routes that is symlink is detected
❯ npx remix routes --json
[
  {
    "id": "root",
    "path": "",
    "file": "root.tsx",
    "children": [
      {
        "id": "routes/index",
        "index": true,
        "file": "routes/index.tsx"
      }
    ]
  }
]

Actual Behavior
routes/index.tsx is not detected as routes even though it exists.
❯ npx remix routes --json
[
  {
    "id": "root",
    "path": "",
    "file": "root.tsx"
  }
]

This is due to https://github.com/remix-run/remix/blob/main/packages/remix-dev/config/routesConvention.ts#L214 using fs.lstatSync:
function visitFiles(
  dir: string,
  visitor: (file: string) => void,
  baseDir = dir
): void {
  for (let filename of fs.readdirSync(dir)) {
    let file = path.resolve(dir, filename);
    let stat = fs.lstatSync(file);

    if (stat.isDirectory()) {
      visitFiles(file, visitor, baseDir);
    } else if (stat.isFile()) {
      visitor(path.relative(baseDir, file));
    }
  }
}

lstatSync stats the link itself, not the file/dir it references, so both the isDirectory() and isFile() calls return false. Switching to statSync would follow the link.
This is an easy enough PR (I did a separate PR on routesConvention.ts yesterday so it's fresh in my mind), I just don't know if there's a reasoning behind not wanting to follow symlinks?

Nice. One of my first attempts to sharing route files was to use symlinks. Thanks for figuring out why Remix wasn't following links.

Converting this to a Proposal discussion, as per our Development Process.


How to launch

Could you please help? I downloaded all the files and then i realised i have no idea how to even launch this.

Could you please help? I downloaded all the files and then i realised i have no idea how to even launch this.

run the .exe lol

Could you please help? I downloaded all the files and then i realised i have no idea how to even launch this.

run the .exe lol

Could you please help? I downloaded all the files and then i realised i have no idea how to even launch this.


feat: definition and search updates

#1267

Refactors the table header into a separate component
Adds new table definition header component for increasing visibility of the dataset / deposition description

Demos
Browse Datasets
https://dev-table-def.cryoet.dev.si.czi.technology/browse-data/datasets

Browse Depositions
https://dev-table-def.cryoet.dev.si.czi.technology/browse-data/depositions

Looking great!
One nitpick: can you update the search bar right side padding to 24px so it aligns with the end of the table?


[Add] add link of android development playlist created  by Saumya Singh

Site URL
https://youtube.com/playlist?list=PLTV_nsuD2lf4UCTV6xwvNPvFdmCNKyhc8&feature=share8
Description of the above provided site
It is the 30 days bootcamp playlist by Saumya Singh on android development in which she covers each and every topic of android development. It is beginner friendly tutorial which contains topics like installation, studio tool , interactive UI, layouts , web view ,data base, notifications and much more.
Category
Youtube
Sub Category
Android
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

Hi @singhishika02! :) Just to confirm, are you participating in GSSOC'23?

Yes

Hi @singhishika02! :) Just to confirm, are you participating in GSSOC'23?

Yes

Hi @singhishika02! :) Just to confirm, are you participating in GSSOC'23?

Are they not checking on the checkmark? 👀

@singhishika02 please update the description and just keep it to point

Hi @singhishika02! :) Just to confirm, are you participating in GSSOC'23?

Are they not checking on the checkmark? 👀

@rupali-codes, I DMed you my reasoning for this approach on Discord.


Rebuild time depends on assets

Versions:
"@angular/animations": "^11.0.4",
   "@angular/cdk": "^11.0.2",
   "@angular/common": "^11.0.4",
   "@angular/compiler": "^11.0.4",
   "@angular/core": "^11.0.4",
   "@angular/forms": "^11.0.4",
   "@angular/localize": "^11.0.4",
   "@angular/platform-browser": "^11.0.4",
   "@angular/platform-browser-dynamic": "^11.0.4",
   "@angular/router": "^11.0.4"
  "@angular-devkit/build-angular": "^0.1100.4",
   "@angular-eslint/eslint-plugin": "0.8.0-beta.5",
   "@angular-eslint/eslint-plugin-template": "0.8.0-beta.5",
   "@angular-eslint/template-parser": "0.8.0-beta.5",
   "@angular/cli": "^11.0.4",
   "@angular/compiler-cli": "^11.0.4",
   "@angular/language-service": "^11.0.4",

Rebuild time is somehow affected by assets in angular.json - here are table with times with and without assets:
   "assets": [
              "apps/edhance/src/favicon.ico",
              "apps/edhance/src/assets",
              "apps/edhance/src/config.json",
              {
                "glob": "**/*",
                "input": "apps/edhance/configs",
                "output": "./configs/"
              }
            ],

Difference in first build is comprehensible (to copy static - immutable assets to serve folder), however, why is so big difference in rebuild time when i change typescript file?

(another project)

This is unfortunately is how https://webpack.js.org/plugins/copy-webpack-plugin works with Webpack 4. With every re-build the assets patterns are re-processed and copied over and over again.
With Webpack 5 & cached enabled this should get better eventually as this plugin use caching to reduce IO calls https://github.com/webpack-contrib/copy-webpack-plugin/blob/01fa91b09d3b4fdc4552b520bb90918fc7f34e54/src/index.js#L604

:-( So it may be possible to  try performance boost with:
"resolutions": {
    "webpack": "^5.0.0"
}

right?

yes


Website Down

Looks like the site for this project is down right now. Has this been deprecated?

Hi @mrantry ,
The demo page is now hosted on Heroku : https://spotify-api-graphql-console.herokuapp.com/
Cheers,


Inconsistency with verification data

Hey guys.
I'm developing geneotyper with a similar purpose as OptiType. When I was comparing it to OptiType I noticed there are some inconsistencies with the verification data I found on the 1000 Genomes FTP site ( ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/working/20140725_hla_genotypes/20140702_hla_diversity.txt ) and the data you use in your supplementary table S2.
For example: In your table you have...

A*02:07 but 1000 genomes have 02:01 for samples NA18537, NA18550, NA18552, NA18573, NA18943, NA18966, NA18987, and NA19007.
B*27:05 but 1000 genomes have 27:03/27:52/27:09 for sample NA12005.
C*02:10 but 1000 genomes have 02:02 for samples NA18504, NA18505, NA18507, NA18522, and NA18870.

What's the reason behind this inconsistency? I'm sorry if you mention it somewhere in your article, but I couldn't find it.
Cheers,
Hannes

Hi Hannes,
The typings we used are the ones reported by Erlich et al. (Erlich,R.L. et al. (2011) Next-generation sequencing for HLA typing of class I loci. BMC Genomics, 12, 42.). These were the only available typings at the time of OptiType's development and the 'golden standard' for many other approaches.
The typings you are referring to are much newer (Gourraud, Pierre-Antoine, et al. "HLA diversity in the 1000 genomes dataset." (2014): e97282.) and were produced with a different technique.
When comparing the different methods, you have to be careful which run-IDs were used to obtain the predicted typing.
Hope that clears up the confusion.
Best,
Benni

Ok, thanks for the fast response. It cleared up the confusion, although now I'm just really surprised by the number of difference in those two datasets.
Thanks,
Hannes


onHint prop or something similar

Hi,
I wonder if you would like to att a onHint/onTyping or a prop so that I can set the hint as a state in my code.
Is your feature request related to a problem? Please describe.
I want to autocomplete to the hinting text on enter, not o tab. I guess a lot of other people might have other reasons why they would like to know what the current hint is.
Describe the solution you'd like
A prop that gives me the hint text so I can save it to my own state.
Describe alternatives you've considered
A prop so I can decide what the key to autofill on. But I believe its more useful to know the current hint.

I made a PR

Feature published: https://github.com/ejmudi/react-autocomplete-hint/releases/tag/v1.3.0


Do not back to entry list if there’s an error on adding/editing an express entry

Issue detail
You'll get an error when you get some validation errors on adding/editing an express entry.
To reproduce this error, you have to set required to some form controls and keep empty when you are adding/editing an entry.
Error detail
Whoops\Exception\ErrorException thrown with message "count(): Parameter must be an array or an object that implements Countable"

Stacktrace:
#26 Whoops\Exception\ErrorException in /path/to/concrete5/concrete/single_pages/dashboard/express/entries.php:9
#25 Whoops\Run:handleError in /path/to/concrete5/concrete/single_pages/dashboard/express/entries.php:9
#24 include in /path/to/concrete5/concrete/src/View/View.php:233
#23 Concrete\Core\View\View:renderInnerContents in /path/to/concrete5/concrete/src/View/View.php:211
#22 Concrete\Core\View\View:renderViewContents in /path/to/concrete5/concrete/src/View/AbstractView.php:151
#21 Concrete\Core\View\AbstractView:render in /path/to/concrete5/concrete/src/Http/ResponseFactory.php:148
#20 Concrete\Core\Http\ResponseFactory:view in /path/to/concrete5/concrete/src/Http/ResponseFactory.php:215
#19 Concrete\Core\Http\ResponseFactory:controller in /path/to/concrete5/concrete/src/Http/ResponseFactory.php:393
#18 Concrete\Core\Http\ResponseFactory:collection in /path/to/concrete5/concrete/src/Routing/DispatcherRouteCallback.php:34
#17 Concrete\Core\Routing\DispatcherRouteCallback:execute in /path/to/concrete5/concrete/src/Http/DefaultDispatcher.php:130
#16 Concrete\Core\Http\DefaultDispatcher:handleDispatch in /path/to/concrete5/concrete/src/Http/DefaultDispatcher.php:57
#15 Concrete\Core\Http\DefaultDispatcher:dispatch in /path/to/concrete5/concrete/src/Http/Middleware/DispatcherDelegate.php:39
#14 Concrete\Core\Http\Middleware\DispatcherDelegate:next in /path/to/concrete5/concrete/src/Http/Middleware/ThumbnailMiddleware.php:71
#13 Concrete\Core\Http\Middleware\ThumbnailMiddleware:process in /path/to/concrete5/concrete/src/Http/Middleware/MiddlewareDelegate.php:38
#12 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /path/to/concrete5/concrete/src/Http/Middleware/FrameOptionsMiddleware.php:39
#11 Concrete\Core\Http\Middleware\FrameOptionsMiddleware:process in /path/to/concrete5/concrete/src/Http/Middleware/MiddlewareDelegate.php:38
#10 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /path/to/concrete5/concrete/src/Http/Middleware/CookieMiddleware.php:35
#9 Concrete\Core\Http\Middleware\CookieMiddleware:process in /path/to/concrete5/concrete/src/Http/Middleware/MiddlewareDelegate.php:38
#8 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /path/to/concrete5/concrete/src/Http/Middleware/ApplicationMiddleware.php:29
#7 Concrete\Core\Http\Middleware\ApplicationMiddleware:process in /path/to/concrete5/concrete/src/Http/Middleware/MiddlewareDelegate.php:38
#6 Concrete\Core\Http\Middleware\MiddlewareDelegate:next in /path/to/concrete5/concrete/src/Http/Middleware/MiddlewareStack.php:86
#5 Concrete\Core\Http\Middleware\MiddlewareStack:process in /path/to/concrete5/concrete/src/Http/DefaultServer.php:85
#4 Concrete\Core\Http\DefaultServer:handleRequest in /path/to/concrete5/concrete/src/Foundation/Runtime/Run/DefaultRunner.php:119
#3 Concrete\Core\Foundation\Runtime\Run\DefaultRunner:run in /path/to/concrete5/concrete/src/Foundation/Runtime/DefaultRuntime.php:102
#2 Concrete\Core\Foundation\Runtime\DefaultRuntime:run in /path/to/concrete5/concrete/dispatcher.php:36
#1 require in /path/to/concrete5/index.php:3

Screenshot
After applied this pull request

This makes sense, but I have some requests:

Can you review https://github.com/concrete5/concrete5/pull/7018 first and give it the thumbs up if it looks good? Then we can merge it in first.

Once that is merged, can you resolve conflicts and move the bulk of this logic into a separate getSelectedEntriesFromRequest() method (in the same class) ?


Prepare for release 0.6.3

Just waiting on #207 and #206 to merge before making a release.

View the full diff from the previous release here: https://github.com/PyFixate/Fixate/compare/0.6.2..release-prep

@jcollins1983 @daniel-montanari I think this is ready to build a release :)


Multiple proposal keys for regular users

As far as I understand, a regular user cannot do his transactions concurrently.
Only admin can use multiple proposal keys. Is it possible to port this ability to an ordinary user?

hi @uhbif19! you're correct. This is certainly a feature that can be added. Do you have any specifics regarding your use case?
The most straightforward way to do this would be to add an endpoint for adding keys to a specific account, for example for an existing account with 1 key:
POST /v1/accounts/{address}/add-keys HTTP/1.1
content-type: application/json

{
  "keyCount": 4
}

☝ this would duplicate the main key for the account so that there would be a total of 1+4 = 5 copies of it (with key indexes 0-4).
Another option would be to specify the number of keys in the config and adding the keys at creation time for each new account.
I am assuming that the main purpose of this feature would be to allow concurrent transactions and as such the keys can be cloned instead of creating new private keys.

Thank you for the answer.
I did not know about add-keys, will try it.

Another option would be to specify the number of keys in the config and adding the keys at creation time for each new account.

I did not understand about option. Is that option is already usable?

Do you have any specifics regarding your use case?
I am assuming that the main purpose of this feature would be to allow concurrent transactions and

Yes, I want to do multiple transactions from the same account

@nanuuki can we get any ETA for this feature?

@sheerryy I'm working on an initial implementation for this feature, it should be done pretty soon but latest next week :) The initial version will enable multiple keys for all custodial accounts, with a configurable number of keys (same for all custodial accounts that are created through the API).

@sheerryy @uhbif19 As #235 was merged it's now possible to configure new accounts to have more than one key. Hopefully this is useful to you :)
FYI: We're working on a feature to manually "sync" existing accounts to have the configured number of keys, no ETA on that yet though.


Vercel

Your lib does'nt work with Vercel.app, I have the same code between local and production, and the callback return me {"error":"Internal Error"}

Could you share the server-side logs?


Bazel: add support for config

This PR makes a minor change to .gitignore and adds support for config targets to build config.mlh.  Documented in PR #5263 .

Can you put these config files under the existing src/config? I'd prefer not making a new top-level dir (if there's anywhere else to stick it)

Done.

Cancelling this PR as outdated and outsized.  It will be replaced by a set of smaller, up-to-date PRs.


Poll the submissions monitor page

When there is a submission that has some jobs in running, the job statuses should auto-refresh. We should poll for this every 5min (negotiable if we feel the load here will be too high). If no submissions have running jobs, we don't have to poll.

we.... did this? Sweet.


Alternative emoji support level check?

Heya, I've been writing an emoji picker of my own and was looking into multiple implementations that checks if a given emoji is supported by the system/fonts a user is using
It seems that GitLab's implementation of this supports handling compound emojis as well, which might solve emoji-picker-element's issue of having two code paths to check for support (non-compound for the general Unicode support level, and compound for the rest)
I've adapted a generalized version of the implementation and it seems to handle Twemoji/Noto Color Emoji rather well, however I'm only able to test this on Linux (and only on Firefox at the moment)
Could we try to see if this works across platforms? It could very well simplify the way compound emojis are being done on emoji-picker-element.
Edit 1: Given the relatively small-ish amount of compound emojis needing to be checked, we could just move it as part of the async query functions, in my emoji picker this doesn't seem to be very taxing if one were to browse around the picker
Edit 2: I've seen this blog post and it mentioned that it doesn't work quite well on black and white emojis, but I've tested this with the black bird emoji that was introduced in Unicode 15 and it seems to work just fine. Twemoji doesn't support it, it successfully filtered it out. Noto Color Emoji support it, it passed.

This is interesting, so basically you have a technique that can use Canvas to identify compound emojis?
This would definitely simplify the code path for detecting emoji support in emoji-picker-element, but I have some concerns around performance. The current technique is highly performance-tuned:

Step 1: quick filter using one representative emoji from each version (only 12 emojis need to be rendered) (uses canvas)
Step 2: render everything normally
Step 3: in a requestAnimationFrame to avoid actually rendering to the screen, check the emoji widths of the characters we already rendered
Step 4: filter and re-render if anything needs to be filtered

With the system you're proposing, we would check for emoji support in one pass, but this would (AIUI) require rendering all emoji in both canvas and the DOM, potentially doubling the rendering cost. We can mitigate this as you say by only checking known compound emoji, but this requires us keeping a list of those somewhere (or a regex heuristic or something), which adds to the code complexity and might miss some. Plus, we would still be rendering all those emoji twice.
Maybe I am overthinking it, but I kind of like the current approach since it's highly performance-optimized, even if the code is a bit ugly.


Output buffering issues in Jenkins

It seems that the output of fastlane suffers from buffering issues. Something that xcpretty was suffering in past #123.
When there are actions that make little output but take a lot of time to execute, the printed content appears in Jenkins only when there are additional outputs printed, enough to trigger a terminal flush.
As resulting the ouput of an action appears in Jenkins only when the action actually finishes and some more text is printed.

@KrauseFx how can we fix this issue ? Is this something that can be controlled in fastlane_core

MR https://github.com/fastlane/fastlane_core/pull/41

Thanks :+1:


Response/Modbus frame is too short - Deye SUN600G3-230-EU

Hello,
after installing and running I get the following output:
2023-02-05 12:26:13,094 - DeyeDaemon - INFO - Reading start
2023-02-05 12:26:14,937 - DeyeModbus - ERROR - Response frame is too short
2023-02-05 12:26:14,938 - DeyeModbus - ERROR - Modbus frame is too short or empty
2023-02-05 12:26:14,959 - DeyeModbus - ERROR - Response frame is too short
2023-02-05 12:26:14,959 - DeyeModbus - ERROR - Modbus frame is too short or empty
2023-02-05 12:26:14,983 - DeyeModbus - ERROR - Response frame is too short
2023-02-05 12:26:14,983 - DeyeModbus - ERROR - Modbus frame is too short or empty
2023-02-05 12:26:15,990 - DeyeDaemon - INFO - Reading completed
My config file is:
DEYE_LOGGER_IP_ADDRESS=<IP_ADDRESS>
DEYE_LOGGER_PORT=8899
DEYE_LOGGER_SERIAL_NUMBER=#####my number######
MQTT_HOST=<IP_ADDRESS>
MQTT_PORT=1883
MQTT_USERNAME=deye
MQTT_PASSWORD=####my mqtt password#####
MQTT_TOPIC_PREFIX=deye
LOG_LEVEL=INFO
DEYE_DATA_READ_INTERVAL=60
DEYE_METRIC_GROUPS=micro
My inverter is a Deye SUN600G3-230-EU
What am I doing wrong?
Thank you!

Please double check if your DEYE_LOGGER_SERIAL_NUMBER is correct. Also see this issue https://github.com/kbialek/deye-inverter-mqtt/issues/21 Otherwise please enable debug logs and share here.

Thank you for the hint. I provided the inverter number, not that of the logger.


prometheus-modemmanager-exporter: 0.1.0 -> 0.2.0

Signed-off-by: Matt Layher<EMAIL_ADDRESS>Description of changes
Mostly dependency updates, fix darwin build.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@ofborg build prometheus-modemmanager-exporter prometheus-modemmanager-exporter.passthru.tests


Allow generation of subspans

By default, tracepusher automatically generates it's own trace and span IDs. This is perfect for the "default" usecase when someone just wants to push a single span trace to a backend for demo purposes.
However, consider this (slightly more complex) bash script:
#!/bin/sh
time_start=$SECONDS

do_work() {
    echo "doing work..."
    sleep 1
}

counter=1
limit=1
while [ $counter -le 2 ]
do
  do_work
  counter=$((counter+1))
done

time_end=$SECONDS

v0.3.0 (and prior) for tracepusher would only give a single span of 2 seconds. No details of the "inner working".
The enhancement described above would allow tracepusher to generate which describes the "internals", like this:

In this case, the user (as part of the shell script) would be responsible for generating the traceid (which would become the parent trace id). Then a new span id for each subspan. tracepusher would be called once at the "top" for the parent and then n times (in this case 2) inside the loop. Inside the loop, the parent trace ID would be the same as the original trace ID.
Perhaps this requires another flag --has-parent=True?

Closed as completed with the release of v0.5.0


AttributeError: 'PrunerModuleWrapper' object has no attribute 'weight'

NNI 学生项目问题概述 / General Question of Student Program
请简要概述您的问题 / 观点 :
Short summary about the question / idea :

我跑通了nni/examples/model_compress/pruning/model_prune_torch.py这个例子, 使用LevelPruner剪枝模型,但是我想将剪枝的模型保存下来,所以我在main函数中添加了保存模型的代码:

for epoch in range(args.prune_epochs):
        pruner.update_epoch(epoch)
        print('# Epoch {} #'.format(epoch))
        train(model, device, train_loader, optimizer_finetune)
        top1 = test(model, device, test_loader)
        if top1 > best_top1:
            best_top1 = top1
            # Export the best model, 'model_path' stores state_dict of the pruned model,
            # mask_path stores mask_dict of the pruned model
            pruner.export_model(model_path=model_path, mask_path=mask_path)
            #------------------------以下代码是我添加的-------------------------
            apply_compression_results(model, mask_path)
            dummy_input = dummy_input = torch.randn([args.batch_size, 1, 28, 28]).to(device)
            m_speedup = ModelSpeedup(model, dummy_input, mask_path, device)
            m_speedup.speedup_model()
            torch.save(model.state_dict(), "use_mask_small_model.pth")

但是, 运行报错如下:
[2021-05-20 17:07:41] INFO (nni.compression.pytorch.compressor/MainThread) Model state_dict saved to ./checkpoints/pruned_naive_mnist_level.pth
[2021-05-20 17:07:41] INFO (nni.compression.pytorch.compressor/MainThread) Mask dict saved to ./checkpoints/mask_naive_mnist_level.pth
Traceback (most recent call last):
  File "/home/sunil/damon/nni/examples/model_compress/pruning/model_prune_torch.py", line 300, in <module>
    main(args)
  File "/home/sunil/damon/nni/examples/model_compress/pruning/model_prune_torch.py", line 275, in main
    apply_compression_results(model, mask_path)
  File "/home/sunil/damon/nni/nni/compression/pytorch/pruning/apply_compression.py", line 27, in apply_compression_results
    module.weight.data = module.weight.data.mul_(masks[name]['weight'])
  File "/home/sunil/.local/lib/python3.7/site-packages/torch/nn/modules/module.py", line 576, in __getattr__
    type(self).__name__, name))
AttributeError: 'PrunerModuleWrapper' object has no attribute 'weight'

我想这个应该是我添加的代码存在问题,不是环境的问题,请您看看,感谢,十分感谢
我也尝试过将apply_compression_results(model, mask_path)这句去除,程序能运行完成,但是产生的use_mask_small_model.pth模型大小为3.3M, 而./checkpoints/pretrain_naive_mnist_level.pth大小为1.7M,模型反而变大了? 这是我理解上存在偏差吗?剪枝后的模型应该变小才对.

@damon-93 Hello, try this may work, but I think will also meet other error:
            model_sp = LeNet().to(device)
            model_sp.load_state_dict(torch.load(model_path))
            dummy_input = torch.randn([args.batch_size, 1, 28, 28]).to(device)
            m_speedup = ModelSpeedup(model_sp, dummy_input, mask_path, device)
            m_speedup.speedup_model()
            torch.save(model_sp.state_dict(), "use_mask_small_model.pth")

And seems your code is the old version, you could update nni version and nni example code.
The model uses 'PrunerModuleWrapper' to simulate the pruning effectiveness, so the model will bigger the origin. And after speedup, the model will be real pruned. Because in your code the model is a wrapped model, so it is bigger. Note that speedup needs an origin model structure.

Hi there, I'm getting a similar error using the LotteryTicketPruner.

@damon-93 Hello, try this may work, but I think will also meet other error:
            model_sp = LeNet().to(device)
            model_sp.load_state_dict(torch.load(model_path))
            dummy_input = torch.randn([args.batch_size, 1, 28, 28]).to(device)
            m_speedup = ModelSpeedup(model_sp, dummy_input, mask_path, device)
            m_speedup.speedup_model()
            torch.save(model_sp.state_dict(), "use_mask_small_model.pth")

Don't you still have to use apply_compression_results to multiply the weights by the corresponding mask?

Seconded here. I ran basic_pruners_torch.py (https://github.com/microsoft/nni/blob/af929fdb848092a7b225a498e6d82d82cf6babfa/examples/model_compress/pruning/basic_pruners_torch.py) on the other pruners and added compatibility for the LotteryTicketPruner, but reached the same issue as stated above.

I've also changed lottery_torch_mnist_fc.py  by adding the ModelSpeedup, and reporting FLOPS and parameters; there is no change when using the suggested solution by @J-shang. (as evident in the screenshot). In contrast,  running basic_pruners_torch.py on the default pruners will result in a lesser FLOPS and parameters as desired.
Is there another hack to get through the shortcomings of apply_compression_results/ is there an update coming soon?

@damon-93 @sergiogcharles @FTdiscovery
Sorry for I lose apply_compression_results() in the above code. And I corrected the code.
            model_sp = LeNet().to(device)
            model_sp.load_state_dict(torch.load(model_path))
            apply_compression_results(model_sp, mask_path)
            dummy_input = torch.randn([args.batch_size, 1, 28, 28]).to(device)
            m_speedup = ModelSpeedup(model_sp, dummy_input, mask_path, device)
            m_speedup.speedup_model()
            torch.save(model_sp.state_dict(), "use_mask_small_model.pth")


PR mainnet gating for build-me-bot

Adds a new pipeline and soon a status-check for mainnet gating of PRs into the ci-build-me-bot.
I'll use this PR to test the logic of the bot.

!approved-for-mainnet

!approved-for-mainnet

@es92 's approval confirms it works 👍

(also see https://buildkite.com/o-1-labs-2/mina-pr-gating/builds/1#7d4f40ae-531c-423c-aa33-0dbd29e8385f )

@es92 's approval confirms it works 👍

(also see https://buildkite.com/o-1-labs-2/mina-pr-gating/builds/1#7d4f40ae-531c-423c-aa33-0dbd29e8385f )

!ci-build-me

!ci-build-me


[BUG] Making Banner and description responsive

Actual Behavior
In Mobile View the description and banner is not responsive or not properly styled .
Expected Behavior
So we can bring banner down the description or upside of the description instead of keeping them in a row.
Screenshots (if applicable)

Additional Information
Can you please assign this issue to me @Vijaykv5

Could you make the whole website responsive @rutikgagare

yes I will make whole website responsive

cool . go for it @rutikgagare

@rutikgagare are you working on it?

@Vijaykv5 I can work on it. If there are any opportunities.

Sorry as It is completely in tailwind but I work mostly with normal CSS I thought It might not work for you. If you are okay with normal CSS I can do that else you can assign it to another.

Ok @rutikgagare I would like to maintain for tailwind itself
I'm closing this issue . You're free to look on other issues
Thanks

@TandinDev Would you like to work on it??

Sure, I can this issue. Thank you for the opportunity.

Go for it @TandinDev
I'm making it as high priority

@Vijaykv5 I have resolve this issue in the following PR: https://github.com/Vijaykv5/SnapGrid/pull/128

Hello @Vijaykv5 can you please attach an label hactoberfest and hacktober accepted?

The repo is under hacktoberfest label , so no issues it will be counted

Hello @Vijaykv5 can you also please review this PR: https://github.com/Vijaykv5/SnapGrid/pull/129


Fix potential input output lookup issues

Extended validation for lookups to include inputlookup and outputlookup.
This required a few content modifications and creation of new lookups.
Since we have a large number of detections that now use KVStore (for example, detections which use a baseline), convert those detections to write directly to the lookup_name (table) instead of lookup_name.csv

Closing out this PR in favor of a new one. It has drifted too far from the baseline.


Android RD Client: keybord russian does not work.

If the change android keyboard language from english to russian, the symbols do not type. When I change language to russian from system menu in desctop, I see english symbols into android keyboard but the russian symbols are typed.
There are the strings in the log file after connect:
[20170330-10:50:03] [INFO ] Loading keymap file /etc/xrdp/km-00000419.ini
[20170330-10:50:03] [WARN ] local keymap file for 0x00000419 found and doesn't match built in keymap, using local keymap file
I think the problem is related to WARN above.

what's linux or windows client keyboard with the same xrdp server?

is there any records like next in your logs?
[175677.872] rdpkeybChangeKeyboardControl:
[175677.872] rdpkeybChangeKeyboardControl: autoRepeat off
[175677.875] rdpkeybChangeKeyboardControl:
[175677.875] rdpkeybChangeKeyboardControl: autoRepeat off

Hello, I am using Android keyboard.
The latin input is working:

The cyrillic input does not work:

Try to cp /etc/xrdp/km-00000409.ini /etc/xrdp/km-00000419.ini .
In my case it works, but change layout not work when language changed in andoroid.
Change layout work when use ctrl+shift (or other predefined combination).


[SD-919] Error out in a consistent way in the face of a missing collection

authored with @drostron

@sellout You're still on the hook for reviewing, btw. :smile:

I was wondering why I hadn't seen this failure when developing. It's because I assumed all tests that actually hit MongoDB were in it, but this Config test in core also hits a cloud MongoDB.

The build failure was actually not being caused by a call to exists. It was being caused by the innocuous looking change that separated the databaseNames and collections functions into versions that returned iterators instead of immutable List or Set. The MongoDB driver was only throwing an exception when first using the iterator which was outside of the try-catch block.
Anyway, updated exists to access the database directly, which removed the need for those Iterable versions. This should fix the build issue and generally provide the behavior we are looking for.
Still looking into whether we should catch the CommandFailed Exception and how to do that (need to familiarise myself with StateT). I think we would have to do a string matching in order to catch that specific exception which seems rather sketchy.

Current coverage is 85.21%

Merging #960 into master will increase coverage by +0.55% as of 4645e6b

@@            master    #960   diff @@
======================================
  Files            6       6
  Stmts          574     575     +1
  Branches        34      34
  Methods          0       0
======================================
+ Hit            486     490     +4
  Partial          0       0
+ Missed          88      85     -3

Review entire Coverage Diff as of 4645e6b

Powered by Codecov. Updated on successful CI builds.

Ah yeah – it’s a problem that that test hits MongoDB. I think it used to not, because we didn’t try to validate a config beyond well-formedness. But now we make sure we can connect.
As far as handling the Throwable, in a couple places we do this terrible thing, (CommandFailed(e.getMessage)) that just turns any Throwable into an EvaluationError. Hopefully, Mongo is giving us reasonably distinct exceptions that we are unreasonably mashing together.
Really, CommandFailed should probably go away in favor of sharper tools.

@sellout As you suggested, I (with the help of @wemrysi) added logic to catch the CommandFailed error. But now I have to craft a way to hit that code (for coverage) even though we guard against it!! :rage:

You just need a free algebra that deletes the collection after an exists call 😉 … or something.
At some point we should get rid of string matching on errors … or at least push it down to where we reify the Throwable.

@sellout Kind of cheated by adding some trivial coverage for Json Codecs because hitting the "after" check code would require dealing with a lot of stuff that is going to change with the Free Architecture and I would rather do that when that is ready.


Update all extensions to work with new tool command

The change to the tool command accidentally went out when I released 0.30.0. That resulted in the extensions not working with it.
This issue will

Re-add the new command
Add a breaking changes not for the new command
Modify the extensions to work with the new command

The change needed for the tool command is in - https://github.com/belav/csharpier/pull/1332


Improve details on all plugins pages

Migrated from GitLab: https://gitlab.com/meltano/hub/-/issues/198
Originally created by @tayloramurphy on 2022-02-11 18:40:04

Based on discussions and learnings in #1+ we need to overhaul the look and feel of plugin detail pages.

View 1 previous comment from the original issue on GitLab


navigation bar closing problem

When click on the collapse button in mobile view, it is hard to close the collapse.
Before clicking on other space would close the collapse,
Now couldn't

close button temporarily removed


Fix CI: Add yarn.lock to ensure non failing builds

https://teamcity.jetbrains.com/buildConfiguration/JetBrainsPublicProjects_Compose_Publish_2_Subtasks_1ComposePublishNativeOptional/3887770?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandBuildProblemsSection=true failed, because it tries to fetch @types-eslint 8.4.4 which is indeed not available<EMAIL_ADDRESS>Added a working lock file to prevent build failures due to dynamic dependencies.

Thanks for your help! :)
Did you amend the generated yarn.lock manually? The generated one has some newer version vs the yarn.lock in this PR.
I pushed the generated one for now, the build passed locally, now CI runs.

Strange, no, I generated the lock file yesterday. Maybe there was a release in the mean time 🤔


Merging Develop into Master 6.14.17

Description of the change:
Reason for the change:
Link to original source:
@ksigler7

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.7 out of 8 committers have signed the CLA.:white_check_mark: iritch42:white_check_mark: Zaftula:white_check_mark: ryanpcmcquen:white_check_mark: Whatthefoxsays:white_check_mark: ksigler7:white_check_mark: hseitz:white_check_mark: kylearoberts:x: bhammerquistYou have signed the CLA already but the status is still pending? Let us recheck it.


Errors are hidden in daemonized mode

If there is an error on startup, it is sometimes hidden when running in daemonized mode, while it will be visible running in non-daemonized mode.
Example: write a plugin against the plugins branch, have the initialization throw an error, then run in both daemonized mode and non-daemonized mode.

Kinda hard to fix. A daemonized process losses access to stdout and stderr by design.
If we are writing the errors to the log, that's pretty much as far as we can go.

I wonder if there is some top level hook for exceptions, similar to at_exit... we might be able to use that if there is, or maybe the best we can do is wrap around plugin initialization with a begin/rescue

That's OK and something that makes sense. But still you don't have stdout/stderr when daemonized..
I would vote for at_exit and then checking of there is an error raised.

Yeah, I meant we should log any error we detect (the problem I had was I kept looking at the log and not seeing any error, yet my gemstash server wasn't working)

Right, then yes. at_exit


motorcycle not detected

Motorcycles in a video are not picked up by the detection and I don't see an obvious place to specify which types should be.
I can upload the 20s video clip that I'm processing.

Hi @wimdecorte
YOLOv8 is trained on the COCO dataset, which includes motorcycles as one of its predefined classes, so it should be able to detect them without any additional configuration. If motorcycles are not being detected in your video, several factors might be causing this issue:

Video Resolution and Quality: Low resolution or poor video quality might make it difficult for the model to detect smaller objects like motorcycles.
Lighting Conditions: Poor or uneven lighting can affect detection performance.
Confidence Threshold: The confidence threshold for detections might be set too high, causing the model to ignore less certain detections.

To address the last point, you can try lowering the confidence threshold in the YOLO model.
Here’s how you can adjust it in your code:
confidence_threshold = 0.3  # Adjust this value as needed
results = self.model.track(self._increase_brightness(frame), persist=True, tracker="bytetrack.yaml", conf=confidence_threshold)

This change allows the model to consider detections with lower confidence scores, which might help in identifying the motorcycles.
Please let me know if this answer help you.


broken dependency?

Recently I received this error message
Unable to install package RPi.GPIO==0.7.1
referring to
Source: util/package.py:122
I suspect some correlation with the upgrade to the latest beta version of HA core which supposedly changed the underlying python base.
I can't trace the initial point of failure, though.
As a consequence, I have no GPIO control since this happened

Yes, dependency is broken with Python 3.12, I am checking what can be done to fix it.

@thecode As a new version with updated Python is about to be released, this might become a bit critial.

@thecode As a new version with updated Python is about to be released, this might become a bit critial.

Fixed, restart HA and it should be able to install the dependency

Thank you!

On 5. Feb 2024, at 19:07, Shay Levy @.***> wrote:
Closed #234 https://github.com/thecode/ha-rpi_gpio/issues/234 as completed.
—
Reply to this email directly, view it on GitHub https://github.com/thecode/ha-rpi_gpio/issues/234#event-11708036214, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNFDNL3GJY5ZERDRTRE66LYSENX7AVCNFSM6AAAAABCXMXYUOVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJRG4YDQMBTGYZDCNA.
You are receiving this because you authored the thread.


Update readme

The changes in this PR closes #5 to generate the docs via GitHub actions.

Terraform Plan Output

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

Terraform Plan Output

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

Terraform Plan Output

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

Terraform Plan Output

No changes. Your infrastructure matches the configuration.

Terraform has compared your real infrastructure against your configuration
and found no differences, so no changes are needed.

Terraform Plan Output

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place
 <= read (data resources)

Terraform will perform the following actions:

  # module.vpc.data.aws_iam_policy_document.vpc_flow_log_policy_document[0] will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "aws_iam_policy_document" "vpc_flow_log_policy_document" {
      + id            = (known after apply)
      + json          = (known after apply)
      + minified_json = (known after apply)

      + statement {
          + actions   = [
              + "logs:CreateLogGroup",
              + "logs:CreateLogStream",
              + "logs:DescribeLogGroups",
              + "logs:DescribeLogStreams",
              + "logs:PutLogEvents",
            ]
          + effect    = "Allow"
          + resources = [
              + "arn:aws:logs:us-east-2:743794601996:log-group:vpc-z6mdk-flow-logs",
            ]
        }
    }

  # module.vpc.aws_cloudwatch_log_group.network_flow_logging[0] will be updated in-place
  ~ resource "aws_cloudwatch_log_group" "network_flow_logging" {
        id                = "vpc-z6mdk-flow-logs"
        name              = "vpc-z6mdk-flow-logs"
      ~ retention_in_days = 0 -> 365
        tags              = {}
        # (5 unchanged attributes hidden)
    }

  # module.vpc.aws_default_security_group.default will be created
  + resource "aws_default_security_group" "default" {
      + arn                    = (known after apply)
      + description            = (known after apply)
      + egress                 = (known after apply)
      + id                     = (known after apply)
      + ingress                = (known after apply)
      + name                   = (known after apply)
      + name_prefix            = (known after apply)
      + owner_id               = (known after apply)
      + revoke_rules_on_delete = false
      + tags_all               = (known after apply)
      + vpc_id                 = "vpc-036b81b5c2e4cbd13"
    }

  # module.vpc.aws_iam_role_policy.vpc_flow_log_role_policy[0] will be updated in-place
  ~ resource "aws_iam_role_policy" "vpc_flow_log_role_policy" {
        id     = "vpc-z6mdk-vpc-flow-role:vpc-z6mdk-vpc-flow-policy"
        name   = "vpc-z6mdk-vpc-flow-policy"
      ~ policy = jsonencode(
            {
              - Statement = [
                  - {
                      - Action   = [
                          - "logs:PutLogEvents",
                          - "logs:DescribeLogStreams",
                          - "logs:DescribeLogGroups",
                          - "logs:CreateLogStream",
                          - "logs:CreateLogGroup",
                        ]
                      - Effect   = "Allow"
                      - Resource = "arn:aws:logs:us-east-2:743794601996:log-group:vpc-z6mdk-flow-logs"
                    },
                ]
              - Version   = "2012-10-17"
            }
        ) -> (known after apply)
        # (1 unchanged attribute hidden)
    }

Plan: 1 to add, 2 to change, 0 to destroy.

Terraform Plan Output

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place
 <= read (data resources)

Terraform will perform the following actions:

  # module.vpc.data.aws_iam_policy_document.vpc_flow_log_policy_document[0] will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "aws_iam_policy_document" "vpc_flow_log_policy_document" {
      + id            = (known after apply)
      + json          = (known after apply)
      + minified_json = (known after apply)

      + statement {
          + actions   = [
              + "logs:CreateLogGroup",
              + "logs:CreateLogStream",
              + "logs:DescribeLogGroups",
              + "logs:DescribeLogStreams",
              + "logs:PutLogEvents",
            ]
          + effect    = "Allow"
          + resources = [
              + "arn:aws:logs:us-east-2:743794601996:log-group:vpc-z6mdk-flow-logs",
            ]
        }
    }

  # module.vpc.aws_cloudwatch_log_group.network_flow_logging[0] will be updated in-place
  ~ resource "aws_cloudwatch_log_group" "network_flow_logging" {
        id                = "vpc-z6mdk-flow-logs"
        name              = "vpc-z6mdk-flow-logs"
      ~ retention_in_days = 0 -> 365
        tags              = {}
        # (5 unchanged attributes hidden)
    }

  # module.vpc.aws_default_security_group.default will be created
  + resource "aws_default_security_group" "default" {
      + arn                    = (known after apply)
      + description            = (known after apply)
      + egress                 = (known after apply)
      + id                     = (known after apply)
      + ingress                = (known after apply)
      + name                   = (known after apply)
      + name_prefix            = (known after apply)
      + owner_id               = (known after apply)
      + revoke_rules_on_delete = false
      + tags_all               = (known after apply)
      + vpc_id                 = "vpc-036b81b5c2e4cbd13"
    }

  # module.vpc.aws_iam_role_policy.vpc_flow_log_role_policy[0] will be updated in-place
  ~ resource "aws_iam_role_policy" "vpc_flow_log_role_policy" {
        id     = "vpc-z6mdk-vpc-flow-role:vpc-z6mdk-vpc-flow-policy"
        name   = "vpc-z6mdk-vpc-flow-policy"
      ~ policy = jsonencode(
            {
              - Statement = [
                  - {
                      - Action   = [
                          - "logs:PutLogEvents",
                          - "logs:DescribeLogStreams",
                          - "logs:DescribeLogGroups",
                          - "logs:CreateLogStream",
                          - "logs:CreateLogGroup",
                        ]
                      - Effect   = "Allow"
                      - Resource = "arn:aws:logs:us-east-2:743794601996:log-group:vpc-z6mdk-flow-logs"
                    },
                ]
              - Version   = "2012-10-17"
            }
        ) -> (known after apply)
        # (1 unchanged attribute hidden)
    }

Plan: 1 to add, 2 to change, 0 to destroy.

Terraform Plan Output

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place
 <= read (data resources)

Terraform will perform the following actions:

  # module.vpc.data.aws_iam_policy_document.vpc_flow_log_policy_document[0] will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "aws_iam_policy_document" "vpc_flow_log_policy_document" {
      + id            = (known after apply)
      + json          = (known after apply)
      + minified_json = (known after apply)

      + statement {
          + actions   = [
              + "logs:CreateLogGroup",
              + "logs:CreateLogStream",
              + "logs:DescribeLogGroups",
              + "logs:DescribeLogStreams",
              + "logs:PutLogEvents",
            ]
          + effect    = "Allow"
          + resources = [
              + "arn:aws:logs:us-east-2:743794601996:log-group:vpc-z6mdk-flow-logs",
            ]
        }
    }

  # module.vpc.aws_cloudwatch_log_group.network_flow_logging[0] will be updated in-place
  ~ resource "aws_cloudwatch_log_group" "network_flow_logging" {
        id                = "vpc-z6mdk-flow-logs"
        name              = "vpc-z6mdk-flow-logs"
      ~ retention_in_days = 0 -> 365
        tags              = {}
        # (5 unchanged attributes hidden)
    }

  # module.vpc.aws_default_security_group.default will be created
  + resource "aws_default_security_group" "default" {
      + arn                    = (known after apply)
      + description            = (known after apply)
      + egress                 = (known after apply)
      + id                     = (known after apply)
      + ingress                = (known after apply)
      + name                   = (known after apply)
      + name_prefix            = (known after apply)
      + owner_id               = (known after apply)
      + revoke_rules_on_delete = false
      + tags_all               = (known after apply)
      + vpc_id                 = "vpc-036b81b5c2e4cbd13"
    }

  # module.vpc.aws_iam_role_policy.vpc_flow_log_role_policy[0] will be updated in-place
  ~ resource "aws_iam_role_policy" "vpc_flow_log_role_policy" {
        id     = "vpc-z6mdk-vpc-flow-role:vpc-z6mdk-vpc-flow-policy"
        name   = "vpc-z6mdk-vpc-flow-policy"
      ~ policy = jsonencode(
            {
              - Statement = [
                  - {
                      - Action   = [
                          - "logs:PutLogEvents",
                          - "logs:DescribeLogStreams",
                          - "logs:DescribeLogGroups",
                          - "logs:CreateLogStream",
                          - "logs:CreateLogGroup",
                        ]
                      - Effect   = "Allow"
                      - Resource = "arn:aws:logs:us-east-2:743794601996:log-group:vpc-z6mdk-flow-logs"
                    },
                ]
              - Version   = "2012-10-17"
            }
        ) -> (known after apply)
        # (1 unchanged attribute hidden)
    }

Plan: 1 to add, 2 to change, 0 to destroy.

Terraform Plan Output

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place
 <= read (data resources)

Terraform will perform the following actions:

  # module.vpc.data.aws_iam_policy_document.vpc_flow_log_policy_document[0] will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "aws_iam_policy_document" "vpc_flow_log_policy_document" {
      + id            = (known after apply)
      + json          = (known after apply)
      + minified_json = (known after apply)

      + statement {
          + actions   = [
              + "logs:CreateLogGroup",
              + "logs:CreateLogStream",
              + "logs:DescribeLogGroups",
              + "logs:DescribeLogStreams",
              + "logs:PutLogEvents",
            ]
          + effect    = "Allow"
          + resources = [
              + "arn:aws:logs:us-east-2:743794601996:log-group:vpc-z6mdk-flow-logs",
            ]
        }
    }

  # module.vpc.aws_cloudwatch_log_group.network_flow_logging[0] will be updated in-place
  ~ resource "aws_cloudwatch_log_group" "network_flow_logging" {
        id                = "vpc-z6mdk-flow-logs"
        name              = "vpc-z6mdk-flow-logs"
      ~ retention_in_days = 0 -> 365
        tags              = {}
        # (5 unchanged attributes hidden)
    }

  # module.vpc.aws_default_security_group.default will be created
  + resource "aws_default_security_group" "default" {
      + arn                    = (known after apply)
      + description            = (known after apply)
      + egress                 = (known after apply)
      + id                     = (known after apply)
      + ingress                = (known after apply)
      + name                   = (known after apply)
      + name_prefix            = (known after apply)
      + owner_id               = (known after apply)
      + revoke_rules_on_delete = false
      + tags                   = {
          + "Name" = "vpc-z6mdk-default"
        }
      + tags_all               = {
          + "Name" = "vpc-z6mdk-default"
        }
      + vpc_id                 = "vpc-036b81b5c2e4cbd13"
    }

  # module.vpc.aws_iam_role_policy.vpc_flow_log_role_policy[0] will be updated in-place
  ~ resource "aws_iam_role_policy" "vpc_flow_log_role_policy" {
        id     = "vpc-z6mdk-vpc-flow-role:vpc-z6mdk-vpc-flow-policy"
        name   = "vpc-z6mdk-vpc-flow-policy"
      ~ policy = jsonencode(
            {
              - Statement = [
                  - {
                      - Action   = [
                          - "logs:PutLogEvents",
                          - "logs:DescribeLogStreams",
                          - "logs:DescribeLogGroups",
                          - "logs:CreateLogStream",
                          - "logs:CreateLogGroup",
                        ]
                      - Effect   = "Allow"
                      - Resource = "arn:aws:logs:us-east-2:743794601996:log-group:vpc-z6mdk-flow-logs"
                    },
                ]
              - Version   = "2012-10-17"
            }
        ) -> (known after apply)
        # (1 unchanged attribute hidden)
    }

Plan: 1 to add, 2 to change, 0 to destroy.

Terraform Plan Output

Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place
 <= read (data resources)

Terraform will perform the following actions:

  # module.vpc.data.aws_iam_policy_document.vpc_flow_log_policy_document[0] will be read during apply
  # (depends on a resource or a module with changes pending)
 <= data "aws_iam_policy_document" "vpc_flow_log_policy_document" {
      + id            = (known after apply)
      + json          = (known after apply)
      + minified_json = (known after apply)

      + statement {
          + actions   = [
              + "logs:CreateLogGroup",
              + "logs:CreateLogStream",
              + "logs:DescribeLogGroups",
              + "logs:DescribeLogStreams",
              + "logs:PutLogEvents",
            ]
          + effect    = "Allow"
          + resources = [
              + "arn:aws:logs:us-east-2:743794601996:log-group:vpc-z6mdk-flow-logs",
            ]
        }
    }

  # module.vpc.aws_cloudwatch_log_group.network_flow_logging[0] will be updated in-place
  ~ resource "aws_cloudwatch_log_group" "network_flow_logging" {
        id                = "vpc-z6mdk-flow-logs"
        name              = "vpc-z6mdk-flow-logs"
      ~ retention_in_days = 0 -> 365
        tags              = {}
        # (5 unchanged attributes hidden)
    }

  # module.vpc.aws_default_security_group.default will be created
  + resource "aws_default_security_group" "default" {
      + arn                    = (known after apply)
      + description            = (known after apply)
      + egress                 = (known after apply)
      + id                     = (known after apply)
      + ingress                = (known after apply)
      + name                   = (known after apply)
      + name_prefix            = (known after apply)
      + owner_id               = (known after apply)
      + revoke_rules_on_delete = false
      + tags                   = {
          + "Name" = "vpc-z6mdk-default"
        }
      + tags_all               = {
          + "Name" = "vpc-z6mdk-default"
        }
      + vpc_id                 = "vpc-036b81b5c2e4cbd13"
    }

  # module.vpc.aws_iam_role_policy.vpc_flow_log_role_policy[0] will be updated in-place
  ~ resource "aws_iam_role_policy" "vpc_flow_log_role_policy" {
        id     = "vpc-z6mdk-vpc-flow-role:vpc-z6mdk-vpc-flow-policy"
        name   = "vpc-z6mdk-vpc-flow-policy"
      ~ policy = jsonencode(
            {
              - Statement = [
                  - {
                      - Action   = [
                          - "logs:PutLogEvents",
                          - "logs:DescribeLogStreams",
                          - "logs:DescribeLogGroups",
                          - "logs:CreateLogStream",
                          - "logs:CreateLogGroup",
                        ]
                      - Effect   = "Allow"
                      - Resource = "arn:aws:logs:us-east-2:743794601996:log-group:vpc-z6mdk-flow-logs"
                    },
                ]
              - Version   = "2012-10-17"
            }
        ) -> (known after apply)
        # (1 unchanged attribute hidden)
    }

Plan: 1 to add, 2 to change, 0 to destroy.


Small fixes

Making a bunch of small changes to resolve #75

All these updates look great. Thank you, John!


[jmkernels] Figure out how to make the FFT kernel generator useful.

Turns out the approach to the FFT kernel generator was woefully... Wrong. I have to figure out how to even approach properly generating one of these things.
Until then, I wouldn't bother with using it.

I'm going to remove this tool; the actual FFT bloom texture generation isn't trivial to handle (it's actually a kernel applied to a fullscreen image effect).


[BUG] Chrome dose not close after the farm

Before submitting a bug report...

[X] This bug wasn't already reported.
(I have checked every bug report on GitHub)

Title

[X] The title is no longer "[BUG] Title" and I edited it with the right error name.

Describe the bug
After installation, I ran a couple of tests. Initially, everything seemed to work fine (I got stuck in login, but I fixed it because my account was logged in using GitHub). The command prompt closed without any issues. However, when I tried running it again, my PC's performance deteriorated significantly, eventually leading to a system crash. To investigate the problem, I opened the task manager and was surprised to find around 20 instances of Chrome running, each with a significant number of active tasks. I'm not sure if this issue is related to a recent update, as this is my first time downloading this software.
Copy and paste your error
C:\Users\Admin\Tools\Microsoft-Rewards-Farmer-master> python autoupdate_main.py -g IT -d https://discord.com/{channged}
Starting...
←[38;5;39m2023-09-24 00:23:09,396 [INFO]<EMAIL_ADDRESS>←[38;5;39m2023-09-24 00:23:12,674 [INFO] Using default request storage←[0m
←[38;5;39m2023-09-24 00:23:12,684 [INFO] Created proxy listening on {<IP_ADDRESS>:52263}←[0m]
←[38;5;39m2023-09-24 00:23:12,685 [INFO] Using undetected_chromedriver←[0m
←[38;5;39m2023-09-24 00:23:19,850 [INFO] patching driver executable C:\Users\Admin\appdata\roaming\undetected_chromedriver\undetected_chromedriver.exe←[0m]
←[38;5;39m2023-09-24 00:23:22,142 [INFO] Screen size: 1801x1065←[0m]
←[38;5;39m2023-09-24 00:23:22,172 [INFO] Device size: 1746x914←[0m]
←[38;5;39m2023-09-24 00:23:22,245 [INFO] [LOGIN] Logging-in...←[0m]
←[38;5;39m2023-09-24 00:23:34,471 [INFO] [LOGIN] Logged-in !←[0m]
←[38;5;39m2023-09-24 00:23:38,481 [INFO] [LOGIN] Logged-in successfully !←[0m]
←[38;5;39m2023-09-24 00:23:38,482 [INFO] [POINTS] You have 950.00 points on your account !←[0m]
←[38;5;39m2023-09-24 00:23:38,482 [INFO] [DAILY SET] Trying to complete the Daily Set...←[0m]
←[38;5;39m2023-09-24 00:23:41,339 [INFO] [DAILY SET] Completed the Daily Set successfully !←[0m]
←[38;5;39m2023-09-24 00:23:41,340 [INFO] [PUNCH CARDS] Trying to complete the Punch Cards...←[0m]
←[38;5;39m2023-09-24 00:23:41,370 [INFO] [PUNCH CARDS] Completed the Punch Cards successfully !←[0m]
←[38;5;39m2023-09-24 00:23:47,982 [INFO] [MORE PROMO] Trying to complete More Promotions...←[0m]
←[38;5;39m2023-09-24 00:23:48,086 [INFO] [MORE PROMO] Completed More Promotions successfully !←[0m]
←[38;5;39m2023-09-24 00:23:48,099 [INFO] [POINTS] You have earned 0.00 points today !←[0m]
←[38;5;39m2023-09-24 00:23:48,099 [INFO] [POINTS] You are now at 950.00 points ![0m]
C:\Users\Admin\Tools\Microsoft-Rewards-Farmer-master>
Screenshots
None
I can't take screenshots because my system lag so much I can't do anything exept emergancy shutdown/reset/log out session
Value of dashboard variable
none

Also seeing this as well. Have been having to kill all chrome processes after each run.

just add a line that kills all chrome.exe easy

just add a line that kills all chrome.exe easy

bruh moment it's not my job to fix it and i dont use this anymore L i use the gui one it's better and faster and user frindly and it's not dead

What gui one?

It looks like this is fixed by editing /src/utils.py
change self.webdriver.close() to self.webdriver.quit() on line 73 and 192

just add a line that kills all chrome.exe easy

bruh moment it's not my job to fix it and i dont use this anymore L i use the gui one it's better and faster and user frindly and it's not dead

Which GUI one? https://github.com/thearyadev/MSRF has a great one (and dockerized too), but hasn't fixed the 'eligible account was not found' bug yet

It looks like this is fixed by editing /src/utils.py
change self.webdriver.close() to self.webdriver.quit() on line 73

Bro, is it really worked? I tried and...no success

just add a line that kills all chrome.exe easy

bruh moment it's not my job to fix it and i dont use this anymore L i use the gui one it's better and faster and user frindly and it's not dead

Which GUI one? Can you give me the link?

Facing the same problem :(

Facing the same problem :(

oh didnt relize it but i stoped even farming microsoft rewards after i cashed some cash i started invisting like in some companys it's not huge but something for starting point sorry i dont have the Link

Facing the same problem :(

oh didnt relize it but i stoped even farming microsoft rewards after i cashed some cash i started invisting like in some companys it's not huge but something for starting point sorry i dont have the Link

Well, Microsoft has implemented a new cool-down feature; it will only give points for 3 searches every 15 minutes. I am not able to farm all the points anymore looks like I might quit for good.

Facing the same problem :(

oh didnt relize it but i stoped even farming microsoft rewards after i cashed some cash i started invisting like in some companys it's not huge but something for starting point sorry i dont have the Link

Well, Microsoft has implemented a new cool-down feature; it will only give points for 3 searches every 15 minutes. I am not able to farm all the points anymore looks like I might quit for good.

If you want to, you can check out my fork of this, I fixed the Chrome not closing problem and also changed it so that it only search 3 times every 15 minutes while still supporting multiple accounts. https://github.com/naughty00shortie/Microsoft-Rewards-Farmer

Wow, thanks I will definitely try this

It looks like this is fixed by editing /src/utils.py
change self.webdriver.close() to self.webdriver.quit() on line 73

Not working for me

It looks like this is fixed by editing /src/utils.py
change self.webdriver.close() to self.webdriver.quit() on line 73

Bro, is it really worked? I tried and...no success

Did you find any solution for this problem?


How to remove the top right bracket for each choice in classification?

Describe the bug
With the following code:
<View style="box-shadow: 2px 2px 5px #999;
           border-radius: 5px;">
<Header value="Choose text sentiment"/>
<Choices name="a1" toName="text"
         choice="multiple" showInLine="true">
  <Choice value="1"/>
  <Choice value="2"/>
  <Choice value="3"/>
  <Choice value="4"/>
  <Choice value="5"/>
</Choices>

The labelling screen shows the choices:
1[1]
2[2]
3[3]
4[4]
5[5]
With brackets at the top right of each choice. How to remove them brackets?

@xinyuliu-jeffrey, those brackets are hotkey shortcuts. There's no way to remove them right now, but I can add a feature request to disable them as others have faced this issue.


Missing hdrnet

Hi @MTlab, I'm currently running the train, but when I decided to run the net against some other images I realized that there was some missing files: /home/ustc-ee-huangjie/video-practice/hdrnet. Could you please add the missing files in the repository? I think it's just missing models in order to run models.Resnet. Thanks!

in this project, in squid directory only train.py used.  run.py and test.py is not for this project, so you can ignore this error.

Thanks for your project. But how to test?

@MTlab  Thanks for your project. But how to test?


Queston/Feature Req : How can we access custom schemas using this wrapper

Thanks for building this Siddhant.
I'm trying to do access a custom schema using this lib.
I think it is possible with supabase-py as described here, but haven't tried myself.
Is it possible to access a custom schema using st-supabase-conenction, if so where do I declare the schema name?
It would be helpful to add this bit to the database section in the docs.

Hello @phreakyphoenix! 👋
You can use a wrapper to access custom schemas. However, as of now, you cannot pass options to create_client() using this wrapper. In order to update the schema on the postgrest client, you can use the code below:
st_supabase = st.connection(name="supabase_connection", type=SupabaseConnection)
st_supabase.client.postgrest.schema("YOUR_SCHEMA_NAME")

Let me know if you have any other questions.

Thank you so much worked like a charm.
There's one gotcha,

we'd need to redeclare
st_supabase.client.postgrest.schema("YOUR_SCHEMA_NAME")
before making each table fetch

not sure why, otherwise supabase complains table doesn't exist on public schema, even though the other schema is defined just a few lines above.
We can skip it for consecutive st_supabase commands though (without anything else in between like try except etc.) Mentioning it here in case someone else faces this.
This happens when using declaring st_supabase both with and without st.session_state.

@phreakyphoenix , I am not able to reproduce the behaviour you mentioned.
I ran multiple fetch statements on a custom schema, both with and without non-st_supabase commands between them and both on same and different tables, and got the results from the custom schema everytime without having to redeclare it.
Could you share a code snippet for me to be able to reproduce this?


Add runtime exception handling

@d5
I've been working on adding exception catching feature. What do you think of something like this:
b := try {
    a := 2
    a()
}
out = b.value // out == "calling non-function: int"

Thanks for the proposal!
I admit Tengo's error handling is weak. I've been thinking about this too, but, I couldn't find a cleaner way to do this mostly because of the performance concerns. I'm not saying that error handling is less important than the running performance, but, I just want a balanced approach. We also need to think about adding more info on the reported error objects (like line number or even stack trace). It's important especially because the Tengo's more dynamic language, and, we will see more run-time errors than the compile-time errors for that reason. But again, it's about addressing all of them without losing too much on performance.
Here are some of my initial thoughts on your proposal:

Tengo strictly differentiates statements vs expressions (like Go), especially the block statements (function, if/for statements) do not evaluate to a value (because they're not expressions). I thought about the concept of "everything-is-expression" (like Ponylang), but, it was way beyond the initial scope of this project. Anyway, I think the block statements should not evaluates to a value to keep it consistent with everything else.
I was hesitant to add explicit try-catch (and potentially finally clause too) because of its inevitable runtime overhead. I didn't experiment/validate it, but, my assumption is Go's panic-recover approach might be better (in terms of syntax and runtime performance).

I understand your consideration with block statements.
I did try the full try-catch and it performs slower in the benchmarks vs a try{} block that evaluates to an error. Also, I'm not entirely sure catching an exception even makes much sense without differentiating between exception types and (possibly) changing the Error object's equality check.
The panic-recover approach would indeed be simpler. But I'm worried about the possible runtime overhead of a defer. I'll implement the defer and see how it performs.

Now that I'm working on implementing defer I've come across a bigger problem that might not solve the issue of panic-recover at all.
Tengo doesn't have named return values. This makes adding a defer to recover from a panic effectively of very little use as an error can't be passed along with the function's returning values.
Tengo also doesn't support multiple return values, so the go philosophy of returning values and errors and then checking for errors to ensure the validity of the return value also doesn't work.

True. I've been working on some use cases (FSM and couple other undisclosed projects), and, that way I'm learning a lot about the language/script needs, including this exception handling. Tengo definitely needs more work on error/exception handling/support, I agree. But it involves lots of bigger changes in the compiler/VM and also the language spec. For that reasons, we may need to push this change to v2. In the mean time, I am experimenting different approaches, but, I still don't have a good proposal that's balanced between simplicity and performance.

@earncef: some initial thoughts if you're interested. It's not finalized and there are lots of things missing there.

Some comments on the draft:

Will the handles be called LIFO or FIFO?
It's not very clear from your draft but I assume any handles declared after the statement that causes the error aren't executed?
Handling some of the common runtime errors in a dynamically typed language like tengo would be tedious and clunky, which wouldn't be the case in Go as they'd end up as compile time errors. Consider the following. If a and b were non-indexable and cause a runtime error, it would be quite clunky to set them to a default value (say 0) and recover from it.

myfunc := func(a, b) {
    handle err {
        d := b["abc"] // What if this is also an error? Do we handle inside a handle?
        return d
    }
    c := a["abc"]

    handle err {
        return c
    }
    d := b["abc"]

    return c+d
}

myfunc(indexableValue, anotherIndexableValue) //returns c+d
myfunc(indexableValue, nonIndexableValue) //returns c
myfunc(nonIndexableValue, indexableValue) //returns d
myfunc(nonIndexableValue, nonIndexableValue) //How to handle this? I suppose it could be handled on the function call, but I'm not sure that's realistic in more complex scenarios.

Not directly related to this issue, but, this PR #103 adds more info (filename, line, column) to the runtime errors with little performance overhead. /cc @earncef


Where are the complete pod sandbox and container configuration reference documents?

What would you like to be added:
https://github.com/kubernetes-sigs/cri-tools/blob/master/docs/crictl.md#examples
Why is this needed:
More detailed settings are required.

I hope https://github.com/kubernetes-sigs/cri-tools/issues/709 is not true, except for the example, if you want to know how to write a configuration file, you have to read the source code yourself!

While I'd love to contribute a bit, I'm not an expert on this upon evaluation. Thank you for the invitation. I hope one day in the future, I can have this ability. I leave the opportunity to others who see this discussion.


Create proper testing for StationItemHandlerComponent

Create proper Junit testing for StationItemHandlerComponent.
Currently the testing is lacking in the actual interaction testing and item handling. So proper testing is needed to ensure that this is up to standard.
This realates to #276

Finished