text:
Scalability and Caching issues and Imporvments Proposal

What's good about the scraper:
- It exists and it's written fine
- The idea is solid, having a news feed is fire
What's bad about the scraper:
- No vertical scalability -> One user makes one call on one update -> if we have 800 users refreshing at the same time, the upb webpage will reload 800 times
- No horizontal scalability -> what if we think of implementing 7 other scrapers? How do they fit in?
Proposal:
- Build a scalable, cacheable solution
Implementation details:
Vertical scalability:
- Build a 2 layer cache system for the newsfeed:
○ When a user refreshes their news feed, it first checks the local cache to see if a similar request has been made in the past k seconds. If yes -> cache hit, retrieve data from local, on device storage vault, load data. If not-> check level 2 cache. On L2 cache hit, retrieve data and write it in L1 cache with appropriate timestamp. On L2 cache miss, write data in L2, then L1, then show data
○ L1 can be implemented in a variety of ways, as a poc I suggest at least storing the json locally and replacing it each time with the newest data known.
○ L2 can be implemented either as cloud storage, table storage or database.
○ Checking L1 and L2 can be done via MD5 hash or a similar solution
Horizontal scalability:
- Implement a newsFeedProvider factory to spawn newsfeed providers
- Implement an observer that keeps track of asynchronous data gets and notifies them to either interrupt the process on hang or accept new data gets and pushes them onto a pipeline handler that delievers them to the ListView
Nice to have:
- 2nd scaraper to test concurrency issues (maybe similar news site or international students' news site? (i.e. the erasmus page?)
- Filtering on data sourcers
Different sorting features with a "recommended" options that uses some sort of basic ml/ai (maybe word bagging) to promote more relevant information first

@razvanra2 there's no need to manually implement a 2-layer caching system. flutterfire, the packages we use for the Firebase APIs, does that by default (caches the data on-device and only updates the documents that have changed). Therefore, just storing/fetching the data from Firebase should be enough, provided we have a way to keep it updated there - maybe via a cloud function that runs regularly to check if there is anything new on the news website. A cloud function would probably also be easy to integrate with Firebase messaging, meaning that if we do see that the news have updated, we can send a notification to the users.
As for the nice to have features - I'd try to focus on the faculty/university-specific news (https://upb.ro/stiriupb/ or even the LSAC facebook page), there's a pretty small subset of users who would be interested in erasmus so I wouldn't see that as a priority. Filtering on data sources is very easy to achieve once we have multiple scrapers. I wouldn't worry about sorting until we have a larger dataset to sort, the current sort by date is okay for now.
Another cool feature if you wanna get into ML solutions would be to have auto-generated tags for news, that would be pretty cool. And something that's probably simpler to do would be to show the user which news he hasn't seen since they last opened the app.
@GeorgeMD what are your thoughts on this?

My thoughts on this are that we should first decide the sources of the news.
Right now we only use https://acs.pub.ro/topic/noutati/ which gets updated very rarely and can be cached locally as there's not a lot of data (just small text).
For other sources (like a facebook page) that get updated multiple times a day we should look at a cloud function as @IoanaAlexandru says. This way we can cache the results in the database, and offer everyone the cached result. The main challenge will be making sure that if user A sends a request, gets a cache MISS and while the data is loaded and parsed, user B won't start the same process (meaning the code that parses the facebook data and puts it in the firebase should NEVER run more than 1 time at a given moment).
As for horizontal scalability. You'll find the data you want in different places on different sites, meaning you can't reuse selectors. This project uses the Providers (pretty much factory pattern / on demand dependency injection), meaning we register each scraper and can get an instance when we need, no need for a scraper factory in my opinion. Also based on the first paragraph, scrapers may be spread between users and cloud functions, depending where it makes more sense for them to live.
Ideally, we should have all scrapers as cloud functions (once we are on the paid plan, this should be achivable), so that we can use google servers to watch the data sources and push notifications to users, but for now we can get away with a background service on users' devices that checks the news every 1-2 hours or less often. We can't use such a service to check more constantly as we may use too much battery and mobile data.
Finally, I think we should consider watching google sheets where marks are posted and updating users' marks based on that. This might be achivable without the paid plan, as it's a google service talking to another google service.

I really believe scraping facebook and/or twitter is a challenge in it of itself and we should dismiss it for now, even if we'd get a lot of value out of it. I strongly believe it's hard to scrape a facebook page without a facebook api (that we'd have to pay for).
It's also arguably imoral. Arguably.
As a secondary data source for the news feed I'd propose https://upb.ro/stiriupb/ - we're all interested in news related to the campus / whole university, not just acs.
I agree that cloud functions (which i really enjoy working with) are the best approach. Having a chron expression triggered function for each data source that updates our personal, distributed caching system would be great.
However, I think that making some data scraping local and some distributed via a cloud function would be a mistake. Such an obfuscation of the logic would cause async mess and uneven code.
My initial proposal of having the user write back to a distributed cache was based on a discussion with Ioana. To my understanding, we don't have the budget to use cloud storage / cloud functions, at scale.
I understand the concern for battery life on mobile, however, I think making the user write back to the cache is not that big a deal, for our use case. My reasoning is:

Generically, in a caching system, more often you have cache hits, than cache misses. This means that for a large enough active user base (> 10 users, let's say, for us), the phone will just retrieve local data (or distributed data that should get to the device faster) causing faster load tames, less stress on the battery etc.
If writing to local cache is already abstracted for us, then i'd say it's probably done optimally. Writing to local cache then shouldn't be taxing for the battery. Reading from it should be far less taxing than making a GET.
Reading/Writing to the distributed cache: Reading should be fine, worst case scenario it's as bad as a GET from the website itself or from the crawler (as it's implemented now in the PR). Writing is the culprit, as I understant the point that you're making. However, writing to the distributed cache is an edge case that happens rarely (see point 1) on a single user's device. Plus, if we're using native technologies, i'd bet it'd be optimal and a fair trade-off in the long run.

To wrap it up:
I still think a distributed caching system is both a good and a fun idea to implement.
Using end-devices to write back to cache is not optimal, but it's what we can do for now and if implemented correctly, it can be far less of a concern on performance and battery life than it may seem.
Having multiple cloud functions would be really cool, but let's work with what we have. I'd say we should keep the mindset that we might shift to a new architecture in the long run and write the code with that in mind.
PS: really good idea about watching google sheets
PPS: I see your point on providers and read the PR you're about to merge before even raising the issue at all. The point I'm trying to make is that stuff like
final newsFeedProvider = Provider.of<NewsFeedProvider>(context);
is not scalable if you're going to have 7 different newsfeedproviders with slightly different sources / specs that respond asnychronously and have to be performant under some limit of time to ensure the app is as zippy as it can be. But this is a longer discussion and I'd rather not type it out.

We now have access to the Firebase Blaze plan, so I think it's worth looking into how cloud functions can scale without (or minimally) surpassing the free quota before attempting to do things manually. While I know it's a fun exercise, we shouldn't overlook a simpler solution in favour of a more complicated (albeit exciting) one which may not even net the same results.
As for the providers, I currently see no point in having multiple ones. We can simply have different methods in our current NewsProvider fetching data from different sources. With the provider architecture in flutter, the only reason you may really need to make different providers is when different pages in the app require different data sources - but that's not the case for us, so a single provider should be more than enough. It boils down to a class that multiple pages can access, after all, having multiple methods in it for fetching (the same kind of) data doesn't add any overhead and doesn't mess up the architecture.
We can discuss the next steps at length in a meeting later.

Did you test Firebase Blaze plan out? I'm noticing outbound traffic being limited to google services. That's a 👎  for us

I didn't test it and don't know much about it honestly, we just activated it like an hour ago. I see here we do have 5GB free of outbound non-Google API traffic per month.

authors: GeorgeMD IoanaAlexandru razvanra2

repo: acs-upb-mobile/acs-upb-mobile


text:
Node.js 12 actions are deprecated

The GitHub Actions workflow gives the following annotation while running the action.

Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: actions-js/push

Pull request has opened: #10

Closed by #10

i'm create  git to cpnale cicd and i don't know it working but i'm sacing thiss issue can you pleqase help me
Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: bhrajesh97/deployer@4.3.0

Hi @bhrajesh97,

i'm create git to cpnale cicd and i don't know it working but i'm sacing thiss issue can you pleqase help me Node.js 12 actions are deprecated. For more information see: github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12. Please update the following actions to use Node.js 16: bhrajesh97/deployer@4.3.0

It looks like updated to 16, https://github.com/bhrajesh97/deployer/commit/c7d02ea518fde94aa77e5c9347e9c07cbcdbe739 you can get a new release or you can use bhrajesh97/deployer@master since committed in the master branch.

@notfilippo , can you please give the community a new release? Thanks a lot!

Anything preventing a new release? This would be nice to have updated as I have a lot of workflows to get updated, as I'm sure many others do.

@notfilippo  👆

Released! Sorry for the wait @devenes @ReenigneArcher @thomasmerz

Thank you 🎉 @notfilippo

@notfilippo, @devenes if I get the error, and the firebase-hosting-merge.yml and firebase-hosting-pull-request.yml is autogenerated, how do I fix it?

Hi @JamesVanWaza,
I checked your repositories and found that you are using some old version actions. You need to upgrade the version of the action:

https://github.com/JamesVanWaza/algolia-instantsearch-demo/blob/master/.github/workflows/firebase-hosting-pull-request.yml#L13
https://github.com/JamesVanWaza/algolia-instantsearch-demo/blob/master/.github/workflows/firebase-hosting-merge.yml#L15

Actually there is no new release of FirebaseExtended/action-hosting-deploy action so you can specify the branch name with using: - uses: FirebaseExtended/action-hosting-deploy@main
You can check my PR according the issue: https://github.com/JamesVanWaza/algolia-instantsearch-demo/pull/367

Great just saw your PR. Will update them manually. Once the new release is out let us know.

I just realized that they updated the release with the action upgrade commit: https://github.com/FirebaseExtended/action-hosting-deploy/releases/tag/v0. So there is no problem about using v0. Your error must be because the checkout action.

source: gharchive/issue

authors: JamesVanWaza ReenigneArcher bhrajesh97 devenes notfilippo thomasmerz

repo: actions-js/push

license: MIT

license_type: permissive

license_source: github-api


text:
Unexpected behaviour: historiacal cache hit from commits in history

I have a step defined like this:
      - name: Cache migrations
        id: cache-migrations
        uses: actions/cache@v1
        with:
          path: migrations
          key: ${{ runner.os }}-migrations-${{ hashFiles('./migrations/*') }}
      - name: Run migrations
        if: steps.cache-migrations.outputs.cache-hit != 'true'
        run: |
          aws ecs...

I had added a file under ./migrations/ to test the cache and it picked up the change which was great.
I then removed the test file in a new commit and was terrified to find that there was a cache hit even though I just changed the migrations dir.
Upon further investigation, I discovered that there was a previous hash store in cache for migrations where that file didn't exist.
This was definitely not expected behaviour. How do I limit cache history to 1 item?
Should default change? I'm using caching to determine if there's something different enough in this commit which I need to do extra build work for.
Update: The previous hash was generated from a commit in the same branch.

👋  Hey @hgezim, could you describe your issue a bit more?
It's possible to hit partial cache hits, which could explain why you saw old migrations. See Matching a cache key for more details.

Note: cache-hit is only true for exact key matches, not partial cache matches

authors: hgezim joshmgross

repo: actions/cache


text:
duplicate cache with same key?

I don't know if it's a right place, problem can be caused by GitHub cache API. my Github workflow sometimes in Haskell doesn't use cache key. not even more general restore keys.
as you can see there are multiple builds with same kay.

where pipeline each time could not find the cache and saves it again.

in my case i already have 5 duplicate caches with same key, which evoke my curiosity.
how it is possible? and what can be a reason?

my action description is following:
    - name: Cache Stack
      uses: actions/cache@v2
      with:
        path: ~/.stack
        key: ${{ runner.os  }}-${{ inputs.ghc }}-stack-${{ hashFiles('stack.yaml') }}
        restore-keys: |
          ${{ runner.os }}-${{ inputs.ghc }}-stack

Hi @nalchevanidze, this is because cache with same key can be restored from the parent branch or main branch and not across the branch. But if the cache with key is not present in parent/main branch, then individual branches which will create their own caches. For more details check this doc

thanks @anuragc617.  Is there anything I can do to change this behavior? since I don't really care about the branches and I would like to have one cache per key regardless of the branches?

If you want one cache per key, then you need to ensure that cache is created against main branch and the other branches can restore the cache.
But if a branch changes the cache key then it will create a cache with new key and this can only be restored by that branch and children of that branch.

@sidekick-eimantas  the cross-branch caches protection is necessary because the cache created for a branch may have vulnerabilities and if that cache is used for building the main branch/ parent branch, then the build artifacts generated for main branch will also have those vulnerabilities. It poses a security threat for your production environment.

But what if it comes from the same PR/Branch? Here I have 2 duplicates:

https://github.com/Avasam/Auto-Split/actions/caches

Details
# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
name: Lint and build
on:
  workflow_dispatch: #  Allows manual builds
    inputs:
      excludeBuildNumber:
        description: "Exclude build number"
        required: true
        default: false
        type: boolean
  push:
    branches:
      - main
      - master
    paths:
      - "**.py"
      - "**.ui"
      - ".github/workflows/lint-and-build.yml"
      - "**/requirements.txt"
  pull_request:
    branches:
      - main
      - master
      - dev*
      - 2.0.0
    paths:
      - "**.py"
      - "**.pyi"
      - "**.ui"
      - ".github/workflows/lint-and-build.yml"
      - "**/requirements*.txt"

env:
  GITHUB_HEAD_REPOSITORY: ${{ github.event.pull_request.head.repo.full_name }}
  GITHUB_EXCLUDE_BUILD_NUMBER: ${{ inputs.excludeBuildNumber }}

jobs:
  isort:
    runs-on: windows-latest
    steps:
      - name: Checkout ${{ github.repository }}/${{ github.ref }}
        uses: actions/checkout@v3
      - name: Set up Python 3.11
        uses: actions/setup-python@v4
        with:
          python-version: "3.11"
          cache: "pip"
          cache-dependency-path: "scripts/requirements*.txt"
      - uses: actions/cache@v3
        with:
          path: |
            "${{ env.pythonLocation }}/lib/site-packages"
            "${{ env.pythonLocation }}/scripts"
          key: ${{ runner.os }}-pip-${{ hashFiles('scripts/requirements*.txt') }}
      - run: scripts/install.ps1
        shell: pwsh
      - run: Get-Command pyuic6
        shell: pwsh
      - name: Analysing the code with add-trailing-comma
        run: isort src/ typings/ --check-only
  add-trailing-comma:
    runs-on: windows-latest
    steps:
      - name: Checkout ${{ github.repository }}/${{ github.ref }}
        uses: actions/checkout@v3
      - name: Set up Python 3.11
        uses: actions/setup-python@v4
        with:
          python-version: "3.11"
      - run: pip install add-trailing-comma
      - name: Analysing the code with add-trailing-comma
        run: add-trailing-comma $(git ls-files '**.py*') --py36-plus
  Bandit:
    # Bandit only matters on the version deployed. Platform checks are ignored
    runs-on: windows-latest
    steps:
      - name: Checkout ${{ github.repository }}/${{ github.ref }}
        uses: actions/checkout@v3
      - name: Set up Python 3.11
        uses: actions/setup-python@v4
        with:
          python-version: "3.11"
      - run: pip install bandit
      - name: Analysing the code with Bandit
        run: bandit src/ -n 1 --severity-level medium --recursive
  Pyright:
    runs-on: windows-latest
    strategy:
      fail-fast: false
      # Pyright is version and platform sensible
      matrix:
        python-version: ["3.9", "3.10", "3.11"]
    steps:
      - name: Checkout ${{ github.repository }}/${{ github.ref }}
        uses: actions/checkout@v3
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
          cache: "pip"
          cache-dependency-path: "scripts/requirements*.txt"
      - uses: actions/cache@v3
        with:
          path: |
            "${{ env.pythonLocation }}/lib/site-packages"
            "${{ env.pythonLocation }}/scripts"
          key: ${{ runner.os }}-pip-${{ hashFiles('scripts/requirements*.txt') }}
      - run: scripts/install.ps1
        shell: pwsh
      - name: Analysing the code with Pyright
        uses: jakebailey/pyright-action@v1
        with:
          working-directory: src/
          extra-args: --warnings
  Pylint:
    runs-on: windows-latest
    strategy:
      fail-fast: false
      # Pylint is version and platform sensible
      matrix:
        python-version: ["3.9", "3.10", "3.11"]
    steps:
      - name: Checkout ${{ github.repository }}/${{ github.ref }}
        uses: actions/checkout@v3
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
          cache: "pip"
          cache-dependency-path: "scripts/requirements*.txt"
      - uses: actions/cache@v3
        with:
          path: |
            "${{ env.pythonLocation }}/lib/site-packages"
            "${{ env.pythonLocation }}/scripts"
          key: ${{ runner.os }}-pip-${{ hashFiles('scripts/requirements*.txt') }}
      - run: scripts/install.ps1
        shell: pwsh
      - name: Analysing the code with Pylint
        run: pylint src/ --reports=y --output-format=colorized
  Flake8:
    runs-on: windows-latest
    strategy:
      fail-fast: false
      # Flake8 is tied to the version of Python on which it runs. Platform checks are ignored
      matrix:
        python-version: ["3.9", "3.10", "3.11"]
    steps:
      - name: Checkout ${{ github.repository }}/${{ github.ref }}
        uses: actions/checkout@v3
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
          cache: "pip"
          cache-dependency-path: "scripts/requirements*.txt"
      - uses: actions/cache@v3
        with:
          path: |
            "${{ env.pythonLocation }}/lib/site-packages"
            "${{ env.pythonLocation }}/scripts"
          key: ${{ runner.os }}-pip-${{ hashFiles('scripts/requirements*.txt') }}
      - run: scripts/install.ps1
        shell: pwsh
      - name: Analysing the code with Flake8
        run: flake8 src/ typings/
  Build:
    runs-on: windows-latest
    strategy:
      fail-fast: false
      # Only the Python version we plan on shipping matters.
      matrix:
        python-version: ["3.11"]
    steps:
      - name: Checkout ${{ github.repository }}/${{ github.ref }}
        uses: actions/checkout@v3
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
          cache: "pip"
          cache-dependency-path: "scripts/requirements.txt"
      - uses: actions/cache@v3
        with:
          path: |
            "${{ env.pythonLocation }}/lib/site-packages"
            "${{ env.pythonLocation }}/scripts"
          key: ${{ runner.os }}-pip-${{ hashFiles('scripts/requirements.txt') }}
      - run: scripts/install.ps1
        shell: pwsh
      - run: scripts/build.ps1
        shell: pwsh
      - name: Upload Build Artifact
        uses: actions/upload-artifact@v3
        with:
          name: AutoSplit (Python ${{ matrix.python-version }})
          path: dist/AutoSplit*
          if-no-files-found: error
      - name: Upload Build logs
        uses: actions/upload-artifact@v3
        with:
          name: Build logs (Python ${{ matrix.python-version }})
          path: |
            build/AutoSplit/*.toc
            build/AutoSplit/*.txt
            build/AutoSplit/*.html
          if-no-files-found: error

Having the same issue on the same branch with the exact same cache key.

Please see the doc to know how cache matching is done and why cache may not match in your case.

@dreamscached  any luck on this? i have the same issue

@dreamscached  any luck on this? i have a similar  issue #1011

Unfortunately... I only ended up converting it into a reusable workflow, for reusable workflows it works, but usage looks uglier (yet similar) to composite actions.

I don't know if it's a right place, problem can be caused by GitHub cache API. my Github workflow sometimes in Haskell doesn't use cache key. not even more general restore keys.
as you can see there are multiple builds with same kay.

where pipeline each time could not find the cache and saves it again.

in my case i already have 5 duplicate caches with same key, which evoke my curiosity.
how it is possible? and what can be a reason?

@cklim483 these are on different branches

They are not duplicates, I just learned that there might be different versions of the same hash. So your package.json/pom whatnot hash did not change, but there is a hidden version also present which is another hash of the locations. In effect more or less an OS filter... Just this is nowhere visible and only reported on debug level.

The entire point of cache is that it doesn't need to do any extra work but to do a quickiest possible lookup by unique cache key and return; there shouldn't be even a possibility that one key can have several 'versions', the only exception to that is how it works with different branches.

I cannot agree more. Cache plugin try to solve an additional problem which is not entirely under his control and it operates with hidden variables which makes it confusing to many.
What if I would like to use only one cache key for the whole project? What if the stuff in the cache is platform neutral? Why should cache plugin bother? If it does not fit it will fail, then I’ll fix it with a different key, or whatever.

@smil2k I created a more direct feature ask for this here if you'd like to upvote it: https://github.com/actions/cache/issues/1175


text:
Not updated Total caches size after deletion

Describe the bug
gh actions-cache list show Total caches size. It seems not to be updated after gh actions-cache delete.
Steps to reproduce the behavior
$ gh extension install actions/gh-actions-cache
✓ Installed extension actions/gh-actions-cache
$ gh actions-cache list
Total caches size 319.32 MB

Showing 1 of 1 cache entries in peaceiris/private-repo

setup-go-Linux-go--3b25b2e3990931c5fa648090fe97a4fdaf9b42dba07ace5b62ec0b9b2d4751a3                                                [319.32 MB]     refs/pull/530/merge                       an hour ago
$ gh actions-cache delete setup-go-Linux-go--3b25b2e3990931c5fa648090fe97a4fdaf9b42dba07ace5b62ec0b9b2d4751a3
You're going to delete 1 cache entry

setup-go-Linux-go--3b25b2e3990931c5fa648090fe97a4fdaf9b42dba07ace5b62ec0b9b2d4751a3                                                [319.32 MB]     refs/pull/530/merge                       an hour ago

? Are you sure you want to delete the cache entries? Delete

✓ Deleted 1 cache entry with key 'setup-go-Linux-go--3b25b2e3990931c5fa648090fe97a4fdaf9b42dba07ace5b62ec0b9b2d4751a3'
$ gh actions-cache list
Total caches size 319.32 MB

There are no Actions caches currently present in this repo or for the provided filters

Expected vs actual behavior
gh actions-cache list shows the following message after deleting the cache.

Total caches size 0.0 MB

$ gh actions-cache list
There are no Actions caches currently present in this repo or for the provided filters

Hi @peaceiris There is a 5-6 min delay in updating Total caches size

authors: peaceiris t-dedah

repo: actions/gh-actions-cache


text:
This check failed - happened since today when no self-hosted instance available

We would create a self-hosted instance in one of our job and so we could use it in the next job. When the next job is started, the instance isn’t registered yet(need around 2 minutes) and so it give out this error. However, the behaviour isn’t the same yesterday while the next job would wait until the instance created. Is there something changed? Thanks.

Hello @shwuhk,
Thank you for contacting us.
Could you please provide more details about the issue? Steps to reproduce and pipeline link will be much appreciated.
We are looking forward to your reply.

Thanks for your kindly reply.
After some tests, I find that this issue will be happened when the job need a custom label(e.g. high-performance) instance but there isn't any registered in the self-hosted runners. We solve this now by at least leaving one runner to be registered with this custom label, it doesn't matter if this runner is offline.
I created a new repo to demonstrate this issue.
Please check that in the following pipeline.
https://github.com/shwuhk/test-runner/runs/1379431643
In order to avoid this now, what I can do is to at least have one runner to be registered with custom-label. In that case, the job will wait until that runner to be online. Otherwise, it will just check This check failed

Hello @shwuhk , I have confirmed with engineers that it is expected behavior.
If label exists but machines are busy or disabled, job will wait for 24 hours.
If label doesn't exist, build will fail.

But this would be quite trouble for a use case like us that an instance will be created when we need.

Also, I think the error message should be more descriptive

@shwuhk , thank you for your feedback, I will share it to related team.
I am closing this issue for now, because as it is mentioned in readme file, in this repository we manage problems related content of Hosted images.

Thanks

authors: Darleev maxim-lobanov shwuhk

repo: actions/virtual-environments


text:
[macOS] Add python 3.10 to the toolcache

Description
Python 3.10 has been released and uploaded to https://github.com/actions/python-versions.
We need to pre-cache the version on the images to be able to use it in ADO.
Related issue:
https://github.com/actions/virtual-environments/issues/4226
Check list

[x] Related issue / work item is attached
[n\a] Tests are written (if applicable)
[n\a] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

/azp run macos1014, macos1015, macos110

source: gharchive/pull-request


text:
[BUG] Getting Wrong Labels for Tiny-Imagenet

Using this code:
train_ds = hub.load("hub://activeloop/tiny-imagenet-train")
train_loader = train_ds.pytorch(num_workers=args.num_workers, tensors=["images", "labels"], batch_size=batch_size, shuffle=True, transform={'images': train_transform, 'labels': None}, use_local_cache=True)
test_ds = hub.load("hub://activeloop/tiny-imagenet-validation")
test_loader = test_ds.pytorch(num_workers=args.num_workers, tensors=["images", "labels"], batch_size=batch_size, shuffle=False, transform={'images': test_transform, 'labels': None}, use_local_cache=True)

...

pbar = tqdm(train_loader, total=len(train_loader),
        desc=f"Train Epo {epoch} Lr {optimizer.param_groups[0]['lr']:.1e}", ncols=100)
for i, (x, y) in enumerate(pbar):

But in y, I'm getting numbers like 10985, which is bigger than 200. Why is that?

thanks a lot for filing this bug and sorry you're experiencing this issue, @Phoveran ! We will look into this shortly. @tatevikh for visibility.

Hey @Phoveran, thanks for bringing this issue up. I looked into it and turns out we're reusing the original labels from imagenet and not bringing those down to 0-199 as was expected. I'll be shortly reuploading the dataset with fixed labels. Will ping in this thread once it's updated.

authors: AbhinavTuli Phoveran mikayelh

repo: activeloopai/Hub


text:
Implement io_uring on Linux

Da n33d for sp33d

We have switched to using libuv and I think the wins in portability etc are totally worth it, so if we want io_uring speed it should really go in libuv.
We will not actively pursue this, so I'll close the issue and hope for someone to fix it in libuv. When performance becomes a more pressing issue, we can revive this issue or write a new one. Until then I think we're basically OK with libuv as-is.

repo: actonlang/acton


text:
⚠ Processors has degraded performance

In e65bf6c, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 47 ms

Resolved: Processors performance has improved in b541193.

repo: acumenlabs/status-page


text:
Query failure - may be GROUP_CONCAT not supported?

https://qlever.cs.uni-freiburg.de/wikidata/0fidpY

see https://github.com/WDscholia/scholia/issues/1774

Good morning, the following variant of your query "works" on QLever:
https://qlever.cs.uni-freiburg.de/wikidata/m49coC
Issue 1:
QLever's SPARQL parser is very incomplete and needs a clean rewrite (we have already started this, but thanks for pointing this out again:

A dot . is required between triples and filters, and after filters.
The literal in the language filter has to be "en" rather than 'en'
Subqueries inside OPTIONAL lead to a parse error.

Issue 2:
When "fixing" this (I removed the OPTIONAL) then the result is computed,
but the authors column is empty. The reason is, that the concatenated strings are not properly propagated.
Issue 3:
I removed some variables from the SELECT clause because our UI doesn't show all columns if there are too many.
(This is a small bug in the UI).
Thanks for reporting this.
We have a deadline upcoming this weekend, but after that this can be easily "fixed" (At least issue 2).

Moved to #615

authors: WolfgangFahl hannahbast joka921

repo: ad-freiburg/qlever


text:
Experimental-music-notation-resources

http://llllllll.co/t/experimental-music-notation-resources

Added in 2b41f98ccc4fd98f0c5cdc3db6a5b6a480fd727e

authors: ad-si adius

repo: ad-si/awesome-sheet-music

license: ISC


text:
fix: bad usage of std::string_view::npos

Alternative to https://github.com/ada-url/ada/pull/331
credit to @codebytere

@anonrig It is not clear to me that we can come up with a test for this because it is not really a buffer overflow (or, at least, the possibility of a buffer overflow has not been demonstrated). Rather the issue is that the code would create an enormous std::string_view pointing at an insane range... but this range would not be accessed so we were fine. It is still terrible code that needs fixing... and it can, indeed, trigger an assert as in https://github.com/llvm/llvm-project/issues/61100

It is pretty obviously bad code that needs fixing. It is not a nuanced thing... I think it just escaped our attention so far because it is a relatively niche scenario.

@anonrig commit amended to stipulate that @codebytere is co-author.

repo: ada-url/ada


text:
Allow sending raw bytes in the response

We now only encode the body if it has an encode method, which usually means it's a string. This allows passing bytes, bytearray or memoryview.
I also changed the logic for sending a chunk, that avoids copying the data unnecessarily. I believe this also fixes a bug, where the size of unencoded chunk was sent, in characters, instead of encoded size, in bytes.

This fixes #33


text:
Make I2C sensor messages more generic, reduce maintenance overhead

Breaking PR for both client and device
Idea: Remove SENSORNAMEUpdateRequest sub-messages to be more generic and avoid adding to the size of this file every time we'd like to add a sensor. Users adding a sensor to the future component definition JSON repo should not need to also update i2c.proto.
Changes:

New Field, i2c_device_name should match the sensor's name from the JSON list.
New message I2CDeviceSensorProperties holds the i2c device's sensor type and period. The period should be set to 0.0 if the sensor is not enabled in the modal.

I2C devices may have multiple sensors, this field may be repeated.

Removed sensor-specific UpdateRequest messages in favor of new scheme.

Did a small pass over this before we start integrating next week.

@lorennorman  I changed sensor_period to a uint32 type, is this OK from your side?


text:
How do I retry a failed a stream?

Setting VideoSource to null and back to the original value or a new string (of the original URL) doesn't seem to work. Neither does toggling AutoPlay.

You could hook into the OnError event and create a new VideoPlayer instance if it fails. Depending on the platform, the native player may have an internal state machine (like Android's VideoView which does not have a state that can be recovered from failure. In that case the resolution is to throw away that player instance and create a new one.


text:
Backspace speed overriding Typing speed

Hi, @adamjking3. Thank you for this project. I'm using it on the new docs of https://github.com/diegohaz/reas
I'm trying to set different speeds for the typing and backspace, but it seems that backspace speed is overriding typist speed.
Reproduction: https://codesandbox.io/s/k25p7r924v
I was able to fix it with a workaround:
<Typing.Backspace speed={20} count={word.length - 1} />
<Typing.Backspace speed={200} count={1} />

But it would be better if it worked out of the box.

One possible fix for this, would be to only apply that speed for the next x characters, where x is specified by props.count in the Backspace component. Otherwise, adding a Speed component after the Backspace is meant for this purpose.

license: mit

license_source: bigquery


text:
🛑 mastodon-relay.moew.science is down

In 6c9d18a, mastodon-relay.moew.science (https://mastodon-relay.moew.science/actor) was down:

HTTP code: 502
Response time: 1557 ms

Resolved: mastodon-relay.moew.science is back up in 1036c27.


text:
🛑 relay.masto.social is down

In 5d792a7, relay.masto.social (https://relay.masto.social/actor) was down:

HTTP code: 0
Response time: 0 ms

Resolved: relay.masto.social is back up in 12dc049.


text:
🛑 relay.masto.social is down

In f7012fb, relay.masto.social (https://relay.masto.social/actor) was down:

HTTP code: 0
Response time: 0 ms

Resolved: relay.masto.social is back up in b60565e.


text:
🛑 relay.wagnersnetz.de is down

In 26ba625, relay.wagnersnetz.de (https://relay.wagnersnetz.de/actor) was down:

HTTP code: 502
Response time: 591 ms

Resolved: relay.wagnersnetz.de is back up in 579447b.


text:
🛑 relay.national-defence.network is down

In aea3ac8, relay.national-defence.network (https://relay.national-defence.network/actor) was down:

HTTP code: 0
Response time: 0 ms

Resolved: relay.national-defence.network is back up in 508c70b after 271 days, 19 hours, 15 minutes.


text:
/api/admin/login not working with --username and/or --password options

Empire Version
Most recent
OS Information (Linux flavor, Python version)
Ubuntu
Expected behavior and description of the error, including any actions taken immediately prior to the error. The more detail the better.
When you start the server with "./empire --username test --password test --headless" you could then get the token with:
"curl --insecure -i -H "Content-Type: application/json" https://127.0.0.1:1337/api/admin/login -X POST -d '{"username":"test", "password":"test"}'". Right now, it does not work.
The error comes from the fact that in the flask part, in the part:
@app.route('/api/admin/login', methods=['POST'])
def server_login():
the "username" variable is an array and "return ' '.join(username)" and doing the curl request returns:
HTTP/1.0 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 7
Server: Werkzeug/0.11.9
Date: Fri, 23 Sep 2016 22:25:27 GMT
t e s t%
Solution:
The simplest solution is to do the following (the modification in bold):
if suppliedUsername == ''.join(username) and suppliedPassword == ''.join(password):
@app.route('/api/admin/login', methods=['POST'])
def server_login():
"""
Takes a supplied username and password and returns the current API token
if authentication is accepted.
"""
    if not request.json or not 'username' in request.json or not 'password' in request.json:
        abort(400)

    suppliedUsername = request.json['username']
    suppliedPassword = request.json['password']

    # try to prevent some basic bruting
    time.sleep(2)

    if suppliedUsername == ''.join(username) and suppliedPassword == ''.join(password):
        return jsonify({'token': apiToken})
    else:
        return make_response('', 401)

This is a duplicate of #329 AND #330 ;)

Lol I even looked for duplicate before posting!
Thanks!

authors: leesoh tristandostaler

repo: adaptivethreat/Empire


text:
Dynamic Installation Error - Version: 0.29.0 --- Requires: 0.30.4

Hi, how can I fix this error?
Dynamic Prompts is not installed correctly. You have dynamicprompts version 0.29.0 installed, but this extension requires version ~=0.30.4. Please run install.py from the sd-dynamic-prompts extension directory, or pip install dynamicprompts[attentiongrabber,magicprompt]~=0.30.4.
As far as I know I need to extract the files of this package ''dynamicprompts-0.30.4-py3-none-any.whl'' somewhere in Google Drive...
Horsepower: Google Colab
Notebook: The Last Ben
Many thank in advance...

You shouldn't be extracting wheels by hand. You should either pip install dynamicprompts-0.30.4-py3-none-any.whl, or run the pip install command the warning message is telling you to.

Glad you got it sorted out.

authors: Hearcharted akx

repo: adieyal/sd-dynamic-prompts


text:
Please document how to add a user layer marker

I'm trying to figure it out from looking at the code, but it would be useful to have a description.

Please look at the description and a resnet50 example here on how to add a user layer marker. Please let me know if the example is clear and you are able to make progress.

authors: adityaiitb jlquinn


text:
launch statement viewer to use same LRS details as already entered in the lab

It'd be nice if the statement viewer could be launched (perhaps by query string) to use the same LRS settings as already entered in the Lab.

Is security a concern? I figure with basic auth and the credentials already being in the open, it's not a big deal but I'd like to hear your opinion.

It's all client side JavaScript and it's the common way of launching client side JavaScript stuff. IMHO the convenience is worth it. I don't imagine people will be using this tool with "real" data anyway?

One would hope they wouldn't!

@garemoko I have integrated this feature.

Thanks!

authors: garemoko ty-

repo: adlnet/xapi-lab


text:
新版启动不了

编译包有问题，无法启动🙏🏻

抱歉，麻烦用新编译的这个
aliyundrive-subscribe_linux_amd64

可以了

authors: adminpass yqchilde

repo: adminpass/aliyundrive-subscribe


text:
🛑 Covid Portal is down

In 4994bb1, Covid Portal (http://covid19.interieur.gov.ma/Operation_ATTADAMON.aspx) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Covid Portal is back up in b720eed.

repo: adnane-X-tebbaa/DownTime-Score


text:
Sending a request to a URL

Hi there,
I have recently found out about the whole webhook deal and wanted to use it for a little fun project:
A website that sends a text input via webhook to ifttt, to display it on my phone.
I've already got the API URL an' everything, but I lack the knowledge to use it.
How can I send the payload ( the user-input text ) to an URL like https://maker.ifttt.com/use/vABCDEFGHIJKLM-JDIOjit59K34NrKR, using this webhook software, so IFTTT can grab it and execute it?

You can define a hook to execute a curl command with appropriate parameters. If you want me to help you with creating a hook definition, I would need to know exact payload your API will send to webhook, and the exact payload IFTTT wants to receive to send you an SMS.

authors: RandomWolf adnanh

repo: adnanh/webhook


text:
Accessibility Fork

A slew of accessibility improvements and bug fixes in one easy to merge pull request.

Handle enter event on open top level link as escape event. #61
Move aria-expanded from panel to top level link #62
On enter activate top level link if it has no panel #63
Fix mistargeting of topnav link when no panel #65

works for me - nice job @maedi :)

works for me - nice job @maedi :)

@maedi - just noticed a slight quirk when using the up arrow key to close a subnav - the previous top level item (to the left with a subnav) receives the 'open' class and it's subnav is revealed.

I'm not sure I can replicate your issue @m80her, are you able to attach a screenshot?

@maedi makes sense - check out my live implementation and see if it's working as expected for you. Also I've noticed aria-hidden not changing to false when sub-nav is open - still investigating https://cadentgas.com/

@m80her It's correctly toggling [aria-expanded] on the top level link and correctly toggling [aria-hidden] on its sub nav for me. That being said siblings() works for me too. So if your way works for both of us let's use that.

Have removed aria-pressed attribute from the mobile menu toggle button. This change is recommended by a recent accessibility report that says:

The main menu button on the mobile website has both the aria-expanded and aria-pressed attributes. The aria-pressed attribute should not be used for an accordion button. Screen readers will sometimes state "on" or "off" when expanding/collapsing the button, which is less useful than hearing "expanded" or "collapsed".

Would really appreciate if someone could take a look at this pull request. Many hours have been spent testing and improving the megamenu to meed modern accessibility requirements.
It is used in production on a few real world sites:

https://www.ag.gov.au/
https://www.acecqa.gov.au/
https://cadentgas.com/ (nice job @m80her)

With more sites in the pipeline. Well and truly battle tested.

Thanks very much for merging @majornista and thank you for fixing the window.cvox issue in:
https://github.com/adobe-accessibility/Accessible-Mega-Menu/commit/5c070bc9011f125ae337cbb952749b44e0f86d54


text:
For a particular instance, only add the referrer to XDM on the first sendEvent.

Description
For a particular instance, only add the referrer to XDM on the first sendEvent.

Related Issue
https://jira.corp.adobe.com/browse/PDCL-8762

Motivation and Context
AppMeasurement only sends the referrer once. The reports in the legacy Analytics are getting inflated by the extra referrers.

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Improvement (non-breaking change which does not add functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA or I'm an Adobe employee.
[x] I have made any necessary test changes and all tests pass.
[x] I have run the Sandbox successfully.

Closing this PR as Target needs the referrer on every request. We'll have to do something else to fix this issue.

repo: adobe/alloy


text:
Brackets indents code even with smartIndent off

I've got smartIndent turned off in my preferences, but if I'm writing a template, Brackets will auto indent a { character. It continues to do so even after I hit delete multiple times. This is a video demonstrating the bug. And again, I've got smartIndent set to false.
https://www.youtube.com/watch?v=J0CT_B2ka0Y&feature=youtu.be

This is fixed in Release 1.3
Part of #9387

Verified the fix.. The issue no longer exists!!
Closing the issue.

authors: MarcelGerber cfjedimaster rroshan1

repo: adobe/brackets


text:
No Admin Rights

I cant get the extensions to work under my profile. I dont have admin rights, is there a way to make the extensions work under my profile? The company I work for has a high level of security. I love using this program at home and would like to be able to use all the extensions at my work place.

I am running windows 7 professional.

@fernandez954 Thanks for expressing your love for Brackets. :)
I think I can help you on this. Following are the steps:-
1. From your home machine, go to Help > Show Extensions Folder. On Windows, you will be redirected to the "C:\Users\username\AppData\Roaming\Brackets\extensions".
2. Go inside "user" folder and you will see a folder corresponding to each Extension.
3. You can just copy the folders equivalent to your favorite extensions from your local machine to that at your workplace. I think you should have the permissions to copy folders as this is inside C:\Users.
Please share if it helped.

Closing as inactive. Please reopen if you are still facing this.


text:
Shortcuts for modifiers in search panel

I think it'd be cool to have shortcuts you can use while entering a search string.
For example Sublime Text uses Alt+R to toggle RegExps and Alt+C to toggle case sensitive/insensitive modes.
I'm also interested in addition of "Batch..." button shortcut or even additional "Replace All" button.
Didn't find this thought in Trello boards.

I absolutely agree. There needs to be a keyboard shortcut for "Batch" button in the Replace dialog.  The main thing I would think most people do when using a Find and Replace function is replacing all instances of a thing.
May I suggest the intuitive, Alt+Enter perhaps?

authors: everyonesdesign scoot


text:
Fix failing QuickOpen unit tests

Fix QuickOpen unit tests after introduction of QuickSearchField - listens for Enter on keydown, not keyup; expects an "input" event to follow every text change (Enter key processing now waits until text change events have caught up so Enter key never takes effect if change event never comes)

Thanks Peter. The Tests are now passing through on both Windows and Mac.


text:
Updates the same URLs in all the other locales of the Getting Started project.

In Pull Request #8606 I updated all the URL's in the root getting started, @peterflynn asked that I do the same for the other languages.
A few things I am thinking about:

There is not a consistent coding style across the getting started files. If you would like i could use Beautify & whitespace-normalizer
or something else to make the HTML and CSS consistent.
I can only read latin languages so on some i guessed where to place the IRC url.
I mostly did a find and replace so there is a good chance i missed something.

@wormeyman Sorry for the prolonged delay.  I just rechecked this and there are a few more changes we'd need:

Please revert the changes to 'ru_utf8.html' and 'ru_utf8_wBOM.html' -- these are for unit tests and need to remain unaltered.
Please revert the whitespace changes on blank lines -- we want the whitespace in these HTML files to match what happens when you edit the code in Brackets.
Please squash into a single commit (14 is a lot for a change like this).
Potentially - It looks like a few locales are missing the https://brackets-registry.aboutweb.com link.  for consistency I wonder if we should add those even if the link titles are untranslated for now.  Anyone strongly object?

Hey @peterflynn I'm also sorry for the long delay when you replied we had just had our second child, i really don't know if I will ever be able to get around to making those changes, especially because my brackets fork is completely messed up and out of date. These changes might be better broken up into separate issues tagged with starter bug I would close this myself but if you want to re assign it feel free otherwise i think we should close this pull request.

authors: peterflynn wormeyman


text:
Change MP retry settings and add logging on failures

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Sample output with a fake command -

Running docker build
DockerException: The docker command executed was fake test command with localhost:32932/buildrunner-mp-build-container-multi-platform-main-6.ib141cd.m1689783203-1695059656-linux-arm64.
It returned with code 1
The content of stdout can be found above the stacktrace (it wasn't captured).
The content of stderr can be found above the stacktrace (it wasn't captured). in buildrunner.docker.multiplatform_image_builder.MultiplatformImageBuilder._build_single_image, retrying in 5 seconds...
DockerException: The docker command executed was fake test command with localhost:32932/buildrunner-mp-build-container-multi-platform-main-6.ib141cd.m1689783203-1695059656-linux-amd64.
It returned with code 1
The content of stdout can be found above the stacktrace (it wasn't captured).
The content of stderr can be found above the stacktrace (it wasn't captured). in buildrunner.docker.multiplatform_image_builder.MultiplatformImageBuilder._build_single_image, retrying in 5 seconds...
DockerException: The docker command executed was fake test command with localhost:32932/buildrunner-mp-build-container-multi-platform-main-6.ib141cd.m1689783203-1695059656-linux-arm64.
It returned with code 1
The content of stdout can be found above the stacktrace (it wasn't captured).
The content of stderr can be found above the stacktrace (it wasn't captured). in buildrunner.docker.multiplatform_image_builder.MultiplatformImageBuilder._build_single_image, retrying in 5 seconds...
DockerException: The docker command executed was fake test command with localhost:32932/buildrunner-mp-build-container-multi-platform-main-6.ib141cd.m1689783203-1695059656-linux-amd64.
It returned with code 1
The content of stdout can be found above the stacktrace (it wasn't captured).
The content of stderr can be found above the stacktrace (it wasn't captured). in buildrunner.docker.multiplatform_image_builder.MultiplatformImageBuilder._build_single_image, retrying in 5 seconds...

repo: adobe/buildrunner


text:
Incorrect transformation

Versions

Elixir: Elixir 1.16.0-dev (7795adc) (compiled with Erlang/OTP 26)
Styler: locked at 0.8.0 (styler) 32c76963

Example Input
This code:
  defp expand_alias({:__aliases__, _, _} = alias, env),
    do: Macro.expand(alias, %{env | function: {:beacon_live_admin, 2}})

Gets transformed into:
   defp expand_alias({:__aliases__, _, _} = alias, env),
     do: alias(Macro . :expand, %{env | function: {:beacon_live_admin, 2}})

Stacktrace / Current Behaviour
** (SyntaxError) invalid syntax found on lib/beacon/live_admin/router.ex:112:23:
     ┌─ error: lib/beacon/live_admin/router.ex:112:23
     │
 112 │     do: alias(Macro . :expand, %{env | function: {:beacon_live_admin, 2}})
     │                       ^
     │
     syntax error before: expand

Thank you for this library!

shipped v0.8.1 w/ this fix 👍

authors: leandrocp novaugust

repo: adobe/elixir-styler


text:
Fix: use correct starting assumptions for determintation of winner

Test URL:
https://rum-fix--express-website--adobe.hlx.page/drafts/lars/explore?experiment=ccx0076

@trieloff you were a big inspiration to me on that one 🤣

repo: adobe/express-website


text:
3.8.0 - error on ?? (nullish coalescing operator)

🐛 Bug Report
Version 3.8.0 just got released, including a nullish coalescing operator (??). This breaks in certain environment, like Jest.
  ● Test suite failed to run

    Jest encountered an unexpected token
    This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.

    [...]

    Details:

    /github/home/Library/Caches/Bit/capsules/44d80e1c05a5191ec871aec76c25c66afd3b0734/node_modules/.pnpm/registry.npmjs.org+@react-aria+interactions@3.8.0_react@17.0.2/node_modules/@react-aria/interactions/dist/main.js:558
        ref = ref ?? newRef;
                   ^

    SyntaxError: Unexpected token '?'

      1 | import React, { ReactNode, useRef } from 'react';
    > 2 | import { useButton } from '@react-aria/button';
        | ^
      3 | import { Link } from '@teambit/base-react.navigation.link';

🤔 Expected Behavior
code should have been compiled down to:
ref = (_ref = ref) !== null && _ref !== void 0 ? _ref : newRef;

Usually, typescript handles that.
😯 Current Behavior
Code remains with the original ?? operator:
const $103a536ab6395e4d$export$27c701ed9e449e99 = /*#__PURE__*/ ($parcel$interopDefault($hZjuk$react)).forwardRef(({ children: children , ...props }, ref)=>{
    let newRef = $hZjuk$react.useRef();
    ref = ref ?? newRef; // <---------------------
    let { pressProps: pressProps  } = $213abf3f34aca140$export$45712eceda6fad21({
        ...props,
        ref: ref
    });
    let child = ($parcel$interopDefault($hZjuk$react)).Children.only(children);
    return(/*#__PURE__*/ ($parcel$interopDefault($hZjuk$react)).cloneElement(child, // @ts-ignore
    {
        ref: ref,
        ...$hZjuk$reactariautils.mergeProps(child.props, pressProps)
    }));
});

💁 Possible Solution

I solved it with a temporary solution using the transformIgnorePatterns option in Jest.
https://jestjs.io/docs/configuration#transformignorepatterns-arraystring
transformIgnorePatterns: ["node_modules/(?!(@react-aria|.pnpm/.*[+/]@react-aria.*|.pnpm/@react-aria.*)/)"]

I also had problems with nullish coalescence and optional chaining in storybook.

Same problem here with @internationalized/number version 3.0.4 and Webpack (which I can't update atm). Version 3.0.3 worked fine; version 3.0.4 has optional chaining in dist/module.js. I worked around that by pinning the version for now.

Same problem here with @internationalized/number version 3.0.4 and Webpack (which I can't update atm). Version 3.0.3 worked fine; version 3.0.4 has optional chaining in dist/module.js. I worked around that by pinning the version for now.

when any solution - please share
have exactly the same(

Nullish coalescing is supported natively in all browsers we support, representing over 92% of users globally. If you are using an old version of a build tool without support, I would recommend upgrading that. https://caniuse.com/mdn-javascript_operators_nullish_coalescing

Having the same problem with multiple files, using Webpack 4.
On what I understand by reading on optional-chaining with Webpack, we need to upgrade to Webpack 5 to support new versions of react-aria. https://stackoverflow.com/questions/59972341/how-to-make-webpack-accept-optional-chaining-without-babel
Solution : Webpack 5
Webpack rely on Acorn as JavaScript parser. Acorn is supporting optional chaining from version 7.1.0 (2020-06-11) https://github.com/acornjs/acorn/blob/master/acorn-loose/CHANGELOG.md#710-2020-06-11
Webpack
Accoring to https://webpack.js.org/blog/2020-10-10-webpack-5-release/ Webpack updated Acorn from 5 to 8 on Webpack 5.0.0
Solution : Babel - @babel/plugin-proposal-optional-chaining
I didn't played a lot with Babel parsing node_modules, but maybe there is a way to load react-aria with babel and @babel/plugin-proposal-optional-chaining.
ERROR in ./node_modules/@react-aria/focus/dist/module.js 95:24
Module parse failed: Unexpected token (95:24)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
|   let scopeRef = $bmn4K$useRef([]);
|   let ctx = $bmn4K$useContext($0238e4b796d1715f$var$FocusContext);
>   let parentScope = ctx?.scopeRef;
|   $bmn4K$useLayoutEffect(() => {
|     // Find all rendered nodes between the sentinels and add them to the scope.
 @ ./node_modules/@react-aria/radio/dist/module.js 2:0-129 45:6-25 130:17-46
 @ ./node_modules/react-aria/dist/module.js

ERROR in ./node_modules/@react-aria/listbox/dist/module.js 90:37
Module parse failed: Unexpected token (90:37)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
|   } = props;
|   let data = $d786742a15de2e64$export$3585ede4d035bf14.get(state);
>   let isDisabled = props.isDisabled ?? state.disabledKeys.has(key);
|   let isSelected = props.isSelected ?? state.selectionManager.isSelected(key);
|   let isFocused = state.selectionManager.focusedKey === key;
 @ ./node_modules/react-aria/dist/module.js 22:0-79 22:0-79 22:0-79 22:0-79

ERROR in ./node_modules/@internationalized/date/dist/module.js 847:98
Module parse failed: Unexpected token (847:98)
File was processed with these loaders:
 * ./node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
|         let eraIndex = eras.indexOf(value.era);
|         if (eraIndex < 0) throw new Error('Invalid era: ' + value.era);
>         eraIndex = $6384333fb108a063$var$cycleValue(eraIndex, amount, 0, eras.length - 1, options?.round);
|         mutable.era = eras[eraIndex]; // Constrain the year and other fields within the era, so the era doesn't change when we balance below.
|
 @ ./node_modules/@react-aria/i18n/dist/module.js 4:0-80 146:34-54
 @ ./node_modules/react-aria/dist/module.js

Ah, looks like the latest version of storybook is still on webpack 4. Unbelievable!
Not sure about jest. The latest version worked for me.

Apparently webpack 5 is opt in with storybook. Has anyone tried this? https://storybook.js.org/blog/storybook-for-webpack-5/

we have the same issue

We faced the issue starting from last night on CI without any code change.
Currently trying to update to webpack5 in our storybook based component library.

If you're using yarn, you may also reduce the number of things you need to update using resolutions.
https://github.com/adobe/react-spectrum/issues/2855#issuecomment-1040946387
"resolutions": {
    "acorn": "8.0.1"
},

It's not just about nullish coalescing or optional chaining, but private class methods as well.
ERROR in ../node_modules/@internationalized/date/dist/module.js 1120:4
Module parse failed: Unexpected character '#' (1120:4)
You may need an appropriate loader to handle this file type, currently no loaders are configured to proc
s this file. See https://webpack.js.org/concepts#loaders
|     // i.e. a ZonedDateTime should not be be passable to a parameter that expects CalendarDate.
|     // If that behavior is desired, use the AnyCalendarDate interface instead.
>     #type;
|     constructor(...args){
|         let [calendar, era, year, month, day] = $de531a00a7b9094c$var$shiftArgs(args);

Browser support is documented here: https://react-spectrum.adobe.com/react-aria/interactions.html#supported-browsers-and-platforms
Private class properties are also pretty widely supported, but it looks like they should be compiled (due to safari). Looking into it. https://caniuse.com/mdn-javascript_classes_private_class_fields
However, webpack being a lower support target than browsers is a new one we hadn't considered. I would definitely recommend upgrading if you can, but we are discussing what to do about it now and will have an update soon. Sorry for the inconvenience and thanks for your patience.

Can confirm switching to webpack5 builder in Storybook fixed the issue.
Latest migration docs for Storybook + Webpack5

We have temporarily reverted our browserslist config to a lower browser target such that optional chaining and nullish coalescing are now transpiled in our published packages. That should keep things working for the time being.
However, we would like to update this again in the future so that we can avoid transpiling syntax that is supported by our browser targets in order to reduce bundle sizes and improve runtime performance. Please upgrade to webpack 5 (or parcel? 😉😉) and/or the latest version of jest as soon as you can. We plan to re-introduce this change in July 2022. Given that webpack 5 has already been available for over a year (released in October 2020), we hope this gives everyone ample time to upgrade their dev dependencies.
Sorry again for the unexpected inconvenience.

I recommend you keep an older browser support for longer. The ?? operator is available for only about half a year, I usually keep browser support for at least 3 if not 5 years. I can't really tell users to update their browsers, and sometimes even upgrading Webpack is not possible.
As an accessibility tool, I'd expect it not to leave out 8% of the world population, more than the population of screen reader users 😉

According to caniuse, most browsers released nullish coalescing support around Feb-March 2020. That's just about 2 full years ago, if you can believe it!
Most browsers are evergreen these days, so if you specifically choose not to update, you're making some kind of statement. I'm not sure waiting much longer would make a difference to that number. At some point, things are gonna start breaking for them.

Most browsers are evergreen these days, so if you specifically choose not to update, you're making some kind of statement.

Yes and no 😛  Some people are just locked on the browser version, because of their OS/hardware: https://blog.jim-nielsen.com/2022/a-web-for-all/.
On a side note: to be honest I'm not really sure if this should be a library author's concern 🤔

Yeah exactly. If you choose you can compile your node_modules according to your browser targets. This was more of an unfortunate case of build tools themselves being outdated more than browsers.

authors: 0ctothorp JoshK2 KutnerUri McFoggy chrisBite devongovett exlame orrgottlieb pascalduez snowystinger spahnke yaroslav-qlicks

repo: adobe/react-spectrum


text:
(DNM) Removing isOpen/defaultOpen from combobox docs

Closes #1941
✅ Pull Request Checklist:

[ ] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

DNM until release


text:
Card block authoring compatablity

Fixed the Cards block to work with "two up, three up, four up, five up" section-metadata styles so it operates the same as all the other blocks in two-five up sections.

Adding any of the style tokens "two up, three up, four up, five up" work for all blocks in a section EXCEPT the Card block. The Card block only works with "2 up, 3 up, 4 up" etc. The Card block also gets auto columns if nothing is specified (3 columns).
Having two different naming conventions for this creates a lot of confusion and questions from authors.
Resolves: MWPW-129763
Test URLs:

Before: https://main-card--milo--adobecom.hlx.page/drafts/rparrish/columns-test?martech=off
After: https://rparrish-card--milo--adobecom.hlx.page/drafts/rparrish/columns-test?martech=off

The before is broken, do you just want to compare it to the main branch or main-card?

@mokimo - I've added those extra 'four-up' & 'five-up' examples in the doc and fixed the link on the 'before'.
Thanks for the feedback.

authors: mokimo ryanmparrish

repo: adobecom/milo


text:
add possibility to bind to an host

Implement feature https://github.com/adonisjs/adonis-framework/issues/4
--
Mirror PR: https://github.com/adonisjs/adonis-framework/pull/22

Yes this makes sense

authors: RomainLanz thetutlage

repo: adonisjs/adonis-app


text:
adonis serve --dev fails without error information if fs.inotify.max_user_watches=8192

Package version
4.0.12
Node.js and npm version
OS : ubuntu 18.04
Node JS - version - 10.4.2
Yarn version : 1.9.1

Sample Code (to reproduce the issue)
echo fs.inotify.max_user_watches=8192 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
adonis serve --dev

Hey @hashrc! 👋
We would need more information about what you are trying to do.

Shouldn't this be an issue with Nodemon instead?

authors: RomainLanz hashrc thetutlage

repo: adonisjs/adonis-cli


text:
Auth.use().generate connection Issue

Package version
node ace --version
App version: 1.0.0
Framework version: 5.1.6
Assembler version: 5.1.1
Node.js and npm version
node - v14.15.4
npm - v6.14.10
Sample Code (to reproduce the issue)
I have added new guard with connection mssql4 but it is taking default env connection instead of mentioned connection defined in guard list
When I try to generate api token using api4 then it is connecting to default env db connection
ctx.auth.use('api4').generate. I have attached below code snippet to better understand.
auth.ts
api4: {
      driver: 'oat',
      tokenProvider: {
        type: 'api',
        driver: 'database',
        table: 'api_tokens',
        foreignKey: 'user_id',
      },

      provider: {
        driver: 'database',
        identifierKey: 'id',
        uids: ['email'],
        usersTable: 'users',
        connection: 'mssql4'
      },
    },

auth.ts in contract
In interface ProvidersList
dbuser: {
      implementation: DatabaseProviderContract<DatabaseProviderRow>,
      config: DatabaseProviderConfig,
    },

In interface GuardsList
api4: {       implementation: OATGuardContract<'dbuser', 'api'>,       config: OATGuardConfig<'dbuser'>,     },

How do you verify that it is not using the correct connection?

I had verified through below steps

Default connection which used is mysql Which localhost
As you can see in above we have one more connection as mssql4 which remote server
I had stopped localhost connection
When i tried to execute ctx.auth.use for api4 then throwing failed to connect 127.0.0.1

Please share a repo to help reproduce the issue, as it works fine for me.

Can you share your mail ID so I can share project directly to you?

I am looking for a simplified version that can help me reproduce the error. Going through your complete project is not possible for me

Please check below attachment
NodeAPI-develop.zip

Closing since not actionable

authors: swapnilnandgave thetutlage

repo: adonisjs/auth


text:
fix(configure): add entry to metaFiles

Hey there! 👋🏻
This PR adds the lang directory to the metaFiles key in adonisrc.ts file.
It is needed to copy the files in a production build.
Closes https://github.com/adonisjs/i18n/issues/131

Lezgo


text:
Add the downstream job links in the build description

I have a personal build Test_openjdk16_j9_sanity.system_x86-64_linux_Personal/5 which failed to complete. In order to find the downstream jobs, I need to click on"Console Output" => go to the bottom of the log => click the links inside the console output log [1]. It would be more convenient if the downstream job links exist in the build description page. Could the links to the downstream jobs be added to the build description page?
[1]
Started by upstream project "Pipeline_Build_Test_JDK16_x86-64_linux" build number 46
....
....
Starting building: Test_openjdk16_j9_sanity.system_x86-64_linux_Personal_testList_1 #5
Starting building: Test_openjdk16_j9_sanity.system_x86-64_linux_Personal_testList_0 #5
[Pipeline] }

They now do exist in the build page (not just in console), see Generated Items just above TAP Extended Test Results:

Closing as completed.

repo: adoptium/aqa-tests


text:
System unavailable: docker&&linux&&x86_64 not available docker-aws-ubuntu1604-x64-0/-2

Please put the system name in the title of this issue.
docker-aws-ubuntu1604-x64-0 docker-aws-ubuntu1604-x64-1 docker-aws-ubuntu1604-x64-2

Link to any log file showing the problem:

Please describe the issue:
when using label 'docker&&linux&&x86_64'  found no jenkins agent available.
by looking at all 3 nodes, one is offline intentionally , but other two seems have issue to start jenkins process

I am testing the installer job,
the debian build stage cannot find agent.

I am testing the installer job, the debian build stage cannot find agent.

Same question - which job is this affecting? The Linux installer generator job adoptium-packages-linux-pipeline is not being held up because of this issue as far as I can tell.

this is the test job  https://ci.adoptopenjdk.net/view/work-in-progress/job/Sophia-adoptium-packages-linux-pipeline/
not using the official "installer" job

this is the test job https://ci.adoptopenjdk.net/view/work-in-progress/job/Sophia-adoptium-packages-linux-pipeline/ not using the official "installer" job

I don't know why that's targetting different machines. I don't particularly want to recover machines running those out of support OSs. If they're not causing a problem with any critical jobs I'm just going to decomission those systems (as per the comment you've seen on one of them)

this is the test job https://ci.adoptopenjdk.net/view/work-in-progress/job/Sophia-adoptium-packages-linux-pipeline/ not using the official "installer" job

I don't know why that's targetting different machines. I don't particularly want to recover machines running those out of support OSs. If they're not causing a problem with any critical jobs I'm just going to decomission those systems (as per the comment you've seen on one of them)

sure. if agents are not needed/supposed to be there, we either remove them or put message as description  to not cause confusion.

Adding extras will be covered as part of https://github.com/adoptium/infrastructure/issues/3482

authors: sxa zdtsw

repo: adoptium/infrastructure


text:
Create a documented outline of the 3rd party Reproducible Attestation process

Process Outline:
At Adoptium:

Temurin release build pipeline runs a new post-build job ("Verify Reproducible") step that verifies the success of the Rebuild_Same_JDK_Reproducibility_Test test

The Rebuild_Same_JDK_Reproducibility_Test reproducible nn% is then recorded by the "Verify Reproducible" job and creates a CycloneDX CDXA document with "evidence" from the test, and adds it to the build job artifacts for that platform, and updates the SBOM to reference via a bom-link the new CDXA BOM

The Temurin release is published to the temurinNN-binaries along with the SBOM + CDXA
The Temurin binary in the Marketplace is marked a "Reproducible status - nn% - Pending 3rd party verification"

A 3rd Party:

A "3rd party" performs an independent "Reproducible Verification Build" (https://adoptium.net/blog/2024/08/adoptium-reproducible-verification-builds/) of the same published Eclipse Temurin release
Assuming 100% successful, they record the necessary "evidence" in order to attest to the reproducibility of the Eclipse Temurin binary
Using a CDXA json file template (supplied by Eclipse Adoptium), they record the required attestion and evidence
The CDXA json file is "Signed" by the 3rd party Certificate. (mechanism??, ideally JSF using a PEM, but that may not be easy for 3rd party...)
The 3rd party uses the Adoptium Marketplace to place the Signed CDXA document into the marketplace folder. (Q: This process implies the 3rd party must be an Adoptium Marketplace Member??)
The receipt of the CDXA document by the Adoptium Marketplace triggers an automated "CDXA Verify Policy", which runs a script to validate the content and signature of the CDXA against the Adoptium binary and Adoptium CDXA.
If the "CDXA Verify Policy" is successful, then:

The Temurin artifact metadata is updated to record reproducibleVerified=true
The Temurin SBOM is updated with a bom-link to the purl of the 3rd party CDXA
The Adoptium Marketplace build entry gets a "Reproducible Verified" tick !

@tellison @jiekang @mbarbero Can I get your comments on above please? thanks

I would change "Un-verified" to "Pending 3rd party verification" or something to that effect. Bonus, a link to "instructions on how to verify" so that any 3rd party could reproduce the build and provide an attestation would be interesting. Handwave.
Assuming that "%age" is short for percentage, I'm not sure I understand it in this context.
I actually like that Step 5 requires that the verifier be a marketplace member unless the barrier to entry is too high. It changes the "someone verified this" to "someone known to us with some kind of contractual relationship verified this" or even better "Company X verified this." That means a lot to the consumer.
I think the reproducibleVerified attribute will need to be a counter and we will eventually want some way to get the list of verifiers.
We had discussed having a specific release for "reproducible" so that someone could query for builds that were reproducible. That might not be necessary but I do like the idea of a clear release type.

I would change "Un-verified" to "Pending 3rd party verification" or something to that effect. Bonus, a link to "instructions on how to verify" so that any 3rd party could reproduce the build and provide an attestation would be interesting. Handwave.

Yep, changed.

I actually like that Step 5 requires that the verifier be a marketplace member unless the barrier to entry is too high. It changes the "someone verified this" to "someone known to us with some kind of contractual relationship verified this" or even better "Company X verified this." That means a lot to the consumer.

Agree

I think the reproducibleVerified attribute will need to be a counter and we will eventually want some way to get the list of verifiers.

Yes, that's probably what we will need

We had discussed having a specific release for "reproducible" so that someone could query for builds that were reproducible. That might not be necessary but I do like the idea of a clear release type.

So the Adoptium API will be extended to return something like "latest&verified", which will return the latest artifact with reproducibleVerified>0, as opposed to "latest" which will return simply the latest as today.

Do you envision this as only being a way to a 3rd party to verify Adoptium's builds? It would mean that on page like this

no other vendor than Adoptium would get the "verified" tick. Correct?

no vendor other than Adoptium would receive the "verified" tick. Is that correct?

true at this moment in time, but not necessarily in the future, since changes to support reproducibility were pushed upstream, to allow other distributors to also benefit

I'd like to separate out the basic mechanism of recording verification build attestations from the details of a visual depiction of a verification (tick marks etc), and the policy of who we recognise as a trusted verifier (working group members etc). Though I do strongly believe that the mechanism we pick should allow anyone to record a verification attestation.
I propose:
(a) we store reproducibility attestations in a public immutable ledger (such as Sigstore Rekor) designed for this task, preferably hosted by the Eclipse Foundation itself.
(b) when Adoptium produces a Temurin binary and its associated SBOM, the SBOM contains a fixed attestation ledger URL.
To record reproducible attestations

Anyone (including Adoptium) can use the SBOM to reproduce the Temurin binary, and record that fact in metadata. This is suggested above to be CDXA format.
Anyone can store their attestation metadata in the immutable ledger.

To query reproducible attestations

The SBOM for a build includes the attestation ledger URL. All attestations can be retrieved by querying the ledger.
Adoptium will produce a new api.adoptium.net path to query the ledger and return the attestations for a build.

Reproducible attestations depictions

The website can be updated to use the Adoptium API and depict attestations/verifications of binaries in a visually pleasing manner.
The project can decide to make some attestations more prominent (e.g. Working Group members), etc.

p.s. Although I reference Sigstore above, I do note that they don't list CycloneDX Attestations as a currently supported type - potentially requiring a new definition. The store does support Intoto attestations today, but staying with CDX makes sense.

Ideally using an Eclipse Founderation Rekor instance would be ideal. Does EF have a Sigstore Rekor instance already @mbarbero @netomi ?

No, we don't host our own Rekor instance, nor we plan to host one currently.

For the first pass, I propose we don't use a Rekor ledger, as it does not provide much use beyond what is already available as an Adoptium marketplace Vendor.
To properly leverage Rekor, we will need a more "public" writeable entry to the Adoptium MarketPlace.

Useful reference: https://stacklok.com/blog/decoding-rekor-understanding-sigstores-transparency-log

The plan for a April 2025 availability for this process following several technical discussions, is as follows:

A new adoptium github repository will be created which will allow Pull Request contributions by any 3rd party, in which will be a CycloneDX CDXA attestation to the Verified Reproducible Build of a given Temurin JDK release.
The CDXA document will need to be "signed" by the 3rd party and be validated as a valid CDXA format, with the necessary verification details within it.
Once "Approved" by Adoptium reviewers, it will be merged into the repository, at which point the adoptium.net API server will discover it, and make the details available by an extended API metadata.
The adoptium.net website will then also "flag" that the given 3rd party has independently verified the given Temurin JDK release binary.

authors: andrew-m-leonard mbarbero michaelwinser smlambert tellison

repo: adoptium/temurin-build


text:
Permission denied (Libvirt::Error) on the disk image

Fedora 20
Vagrant 1.4.3
vagrant-kvm - latest on master branch (a77d3e6)

I am getting the following error when I try vagrant up --provider=kvm
/home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/driver/driver.rb:388:in `create':
Call to virDomainCreateWithFlags failed:
internal error: process exited while connecting to monitor:
qemu-system-x86_64: -drive file=/home/tatsuya/.vagrant.d/tmp/storage-pool/disk-1393649569.img,if=none,id=drive-sata0-0-0,format=qcow2: could not open disk image /home/tatsuya/.vagrant.d/tmp/storage-pool/disk-1393649569.img:
Permission denied (Libvirt::Error)
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/driver/driver.rb:388:in `start'
...

Here is the permission of the directory:
[tatsuya@localhost fedora]$ ls -ld /home/tatsuya/.vagrant.d/tmp/storage-pool/
drwxrwxr-x. 2 tatsuya tatsuya 4096 Mar  1 13:41 /home/tatsuya/.vagrant.d/tmp/storage-pool/
[tatsuya@localhost fedora]$ ls -l /home/tatsuya/.vagrant.d/tmp/storage-pool/
total 0

I had no clue but tried to change SELinux mode from Enforcing to Permissive. Also removed the box by vagrant box remove <boxname>. They did not fix the problem.
Does anybody know how to fix this? Here is the full log.
[tatsuya@localhost fedora]$ pwd
/home/tatsuya/vagrant-kvm/spec/fedora
[tatsuya@localhost fedora]$ vagrant up --provider=kvm
Bringing machine 'default' up with 'kvm' provider...
[default] Importing base box 'fedora19'...
[default] Matching MAC address for NAT networking...
[default] Preparing network interfaces based on configuration...
[default] Booting VM...
[sudo] password for tatsuya:
[default] Destroying VM and associated drives...
/home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/driver/driver.rb:388:in `create': Call to virDomainCreateWithFlags failed: internal error: process exited while connecting to monitor: qemu-system-x86_64: -drive file=/home/tatsuya/.vagrant.d/tmp/storage-pool/disk-1393649569.img,if=none,id=drive-sata0-0-0,format=qcow2: could not open disk image /home/tatsuya/.vagrant.d/tmp/storage-pool/disk-1393649569.img: Permission denied (Libvirt::Error)
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/driver/driver.rb:388:in `start'
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/action/boot.rb:14:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/action/forward_ports.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builtin/set_hostname.rb:16:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/action/prepare_nfs_settings.rb:11:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builtin/synced_folders.rb:68:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builtin/synced_folder_cleanup.rb:28:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/action/prepare_nfs_valid_ids.rb:12:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builtin/handle_forwarded_port_collisions.rb:118:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builtin/provision.rb:52:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/action/network.rb:53:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/action/prepare_gui.rb:15:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builder.rb:116:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/runner.rb:69:in `block in run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/util/busy.rb:19:in `busy'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/runner.rb:69:in `run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builtin/call.rb:51:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builder.rb:116:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/runner.rb:69:in `block in run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/util/busy.rb:19:in `busy'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/runner.rb:69:in `run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builtin/call.rb:51:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builder.rb:116:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/runner.rb:69:in `block in run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/util/busy.rb:19:in `busy'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/runner.rb:69:in `run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builtin/call.rb:51:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/action/check_kvm.rb:18:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builtin/call.rb:57:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/action/init_storage_pool.rb:16:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/action/set_name.rb:25:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /home/tatsuya/.vagrant.d/gems/gems/vagrant-kvm-0.1.4/lib/vagrant-kvm/action/check_kvm.rb:18:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/warden.rb:34:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/builder.rb:116:in `call'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/runner.rb:69:in `block in run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/util/busy.rb:19:in `busy'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/action/runner.rb:69:in `run'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/machine.rb:147:in `action'
	from /opt/vagrant/embedded/gems/gems/vagrant-1.4.3/lib/vagrant/batch_action.rb:63:in `block (2 levels) in run'
``

option #2 (set libvirt to use root) works in Fedora 21.

option #2 works in Ubuntu 14.04.2

repo: adrahon/vagrant-kvm


text:
In fullscreen mode with minutes-only timer, it is hard to judge if the timer is running after app start

I use fullscreen mode in combination with the minutes-only timer design. However, when I open the app, it is hard to judge if the timer is actually running or currently paused (which is the case after opening the app), because it does not move and you can not see the notification bar to check whenever the phone is in DND mode.
If I then press the timer twice to go into the real pause mode, it blinks - which is a clear indication of pause.
For the initial display though, it would be nice to see that the timer is not running - maybe indicate that with a little symbol or text below the timer, that the session has to be started.

I agree and think that an extra indicator would help (will keep this in mind for the UI improvements which will come in the near future).

authors: adrcotfas reox

repo: adrcotfas/Goodtime


text:
SQL Database Efficency Improvements

As a DBA, I wanted to make the following recommendation to changes in the positions tables. This cut my table size in half. I wanted to make it more efficient with the extra rows being added now that we have additional polling records. Many of these fields were just unnecessarily large. Charges couild prob use some charges too, but this was by far the largest table. I am assuming it would need to be done in multiple places including possibly some of your code, so I copied the table and tried it and saw 50% space savings.
ALTER COLUMN id TYPE INT,
ALTER COLUMN latitude TYPE numeric(10,6),
ALTER COLUMN longitude TYPE numeric(10,6),
ALTER COLUMN power TYPE smallint,
ALTER COLUMN battery_level TYPE smallint,
ALTER COLUMN outside_temp TYPE numeric(5,1),
ALTER COLUMN elevation TYPE smallint,
ALTER COLUMN driver_temp_setting TYPE numeric(5,1),
ALTER COLUMN passenger_temp_setting TYPE numeric(5,1),
ALTER COLUMN car_id TYPE smallint,
ALTER COLUMN drive_id TYPE INT,
ALTER COLUMN inside_temp TYPE NUMERIC(5,1),
ALTER COLUMN est_battery_range_km TYPE smallint,
ALTER COLUMN rated_battery_range_km TYPE smallint,
ALTER COLUMN usable_battery_level TYPE smallint

For every column switched from BIGINT to INT you will save 4MB per million rows. If you do that for 5 columns, youll save 20MB per million rows. When I saw BIGINT for car_id I had to laugh a bit, as I don't think even if you counted every tesla in existence you could even use INT up.

Nice! Thanks for the tips. In the end, I optimized all other tables as well. These are the changes:
https://github.com/adriankumpf/teslamate/blob/45d94d52b381f9183bdc6de1995f2c94c481b794/priv/repo/migrations/20200410112005_database_efficiency_improvements.exs#L5-L109

I wonder if we can also look into the indexes; @Dulanic  not sure if you had a opportunity to see that? I don't know if I am over thinking this. :)

There is plenty of indexing,it looked good to me.
On Sun, Apr 12, 2020, 10:20 PM Amit Bahree notifications@github.com wrote:

I wonder if we can also look into the indexes; @Dulanic
https://github.com/Dulanic not sure if you had a opportunity to see
that? I don't know if I am over thinking this. :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/adriankumpf/teslamate/issues/573#issuecomment-612730761,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWPY3Q2IIQMJ6Y5T6H7DODRMKAG7ANCNFSM4MEHGZKA
.

authors: Dulanic adriankumpf bahree

repo: adriankumpf/teslamate


text:
Wyrms task says "none" under items needed, but you definitely need boots of stone, boots of brimstone, or granite boots.

Thank you!

Working on this

authors: adrocic indomara

repo: adrocic/slayer-helper


text:
Fixed compile option to first check for already built assets

https://github.com/adunkman/connect-assets/issues/322

Thanks for the pull request! :smile: Published in v5.1.1

authors: blakevanlan dapriett

repo: adunkman/connect-assets


text:
Conversion to text file adds in spaces inside of words and add extra punctuation where it is not supposed to be.

Hello!
A friend asked me if I could do another epub to audio with your program for him and I encountered some issues with the epub -> txt conversion.
It seems in the first sentence of every new part, there is an added space inside of a word.
So for example instead of "Word" it will be "W ord".
And also the "-" or "--" characters seems to sometimes? turn into ","
I wasn't sure if there is something wrong with the epub or the conversion process, and it seems it is indeed the latter. I tried a different program to do the conversion and indeed the extra spaces and extra punctiation was not there, but unfortnately the nice "Part Feature" is not availible there.
I included a few screenshots to highlight what I mean. Left side of the picture is from epub2tts and right side is the other program (https://github.com/kevinxiong/epub2txt).

I'm adding --skip-cleanup as an option that, if specified, will not remove special characters. It should help with what you ran into.

I hope it's not an issue if I respond here, I am not sure about the workings of Github with closed issues, so I hope it's not a problem.
Thank you for your swift action on this issue :)
I wonder, since the 2 different programs I tested for epub -> txt did not create those extra spaces, would it be possible to get inspiritation from them? I am not sure how all this works, but both programs are open source here on github.
Anyways, great to see you are still working on your program and helping folks out. :) If there will ever be a possibility of providing you some financial thanksgiving :P please let me know.

I will take a look when I get a chance and see if I find any inspiration :)

authors: Nikanoru aedocw


text:
allow dgoss to handle yaml files in other directories

Context
Dgoss expects the files in the current directory, I'm building multiple docker images so I need multiple yaml files.
What has been done

added a global environment variable (in the same style as the others) to define the location of the yaml files.

How to test

move your current yaml file to another directory and run ```GOSS_FILES_PATH= dgoss run

I'm thinking get_docker_file should also honor this new variable.

Makes sense, added it.

@aelsabbahy :bell:

I'll test it tonight, if you would like this merged sooner, can you reply on here with errors for run and edit when the directory doesn't exist?

I'm just gonna merge this and update it. Thanks for the feature!

authors: aelsabbahy roelandvanbatenburg

repo: aelsabbahy/goss


text:
Simplify navigation menus and styling

Fix #192
Test URLs:

Before: https://main--hubblehomes-com--aemsites.hlx.live/
After: https://issue-192--hubblehomes-com--aemsites.hlx.page/

Also solves - https://github.com/aemsites/hubblehomes-com/issues/143

repo: aemsites/hubblehomes-com


text:
fix fail to dail to xds istiod.istio-system.svc:15012

issue ：https://github.com/aeraki-mesh/aeraki/issues/389

@shencurl521 Could you please sign the commits in this PR？
https://github.com/aeraki-mesh/aeraki/pull/402/checks?check_run_id=19555129630

@shencurl521 Could you please sign the commits in this PR？
https://github.com/aeraki-mesh/aeraki/pull/402/checks?check_run_id=19555129630

sorry format incorrect

Pleas fix the go lint issue.

Please fix the go lint issue.
fixed

repo: aeraki-mesh/aeraki